IyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiMqILDmyKjL+dPQIChDKTIwMTUsINbQ0MvNqNG2ucm33dPQz965q8u+oaMNCiMqIA0KIyogzsS8/sP7s8Y6ICAgICBwcm9qZWN0Lm1rDQojKiDOxLz+serKtjogICAgIHByb2plY3QubWsNCiMqIMTayN3VqtKqOiAgICAguaSzzMXk1sPOxLz+DQojKiDKudPDt723qDogICAgIGluY2x1ZGUgcHJvamVjdC5taw0KIyogDQojKiDQ3rjEyNXG2iAgICAgICAgsOaxvrrFICAgICAg0N64xLHqvMcgICAgICAgINDeuMTIyyAgICAgICAgICDQ3rjExNrI3Q0KIyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMqIDIwMTUvMDUvMDggICAgICBWMS4wICAgICAgICBDcmVhdGUgICAgICAgICAgwfXRx8TPICAgICAgICAgILS0vagNCiMqIA0KIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEluY2x1ZGUgcGF0aA0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmV4cG9ydCBDUFVfUFVCX0lOQ0xVREUgICAgICAgICAgPSAkKENQVV9QVUJfUk9PVCkvaW5jbHVkZQ0KZXhwb3J0IENQVV9QVUJfSU5GUkFfSU5DTFVERSAgICA9ICQoQ1BVX1BVQl9ST09UKS9pbmNsdWRlL2luZnJhDQpleHBvcnQgQ1BVX1BVQl9QU19JTkNMVURFICAgICAgID0gJChDUFVfUFVCX1JPT1QpL2luY2x1ZGUvcHNfcGh5DQpleHBvcnQgQ1BVX1BVQl9EUlZfSU5DTFVERSAgICAgID0gJChDUFVfUFVCX1JPT1QpL2luY2x1ZGUvZHJ2DQpleHBvcnQgQ1BVX1BVQl9UT09MU19JTkNMVURFICAgID0gJChDUFVfUFVCX1JPT1QpL2luY2x1ZGUvdG9vbHMNCmV4cG9ydCBDUFVfUFVCX1BTTV9JTkNMVURFICAgICAgPSAkKENQVV9QVUJfUk9PVCkvaW5jbHVkZS9wc20NCmV4cG9ydCBDUFVfUFVCX0FNVF9JTkNMVURFICAgICAgPSAkKENQVV9QVUJfUk9PVCkvaW5jbHVkZS9hbXQNCg0KZXhwb3J0IENQVV9QVUJfUFJKX0lOQ0xVREUgICAgICAgICAgPSAkKENQVV9QVUJfUk9PVCkvcHJvamVjdC8kKFBSSl9OQU1FKS9pbmNsdWRlDQpleHBvcnQgQ1BVX1BVQl9QUkpfSU5GUkFfSU5DTFVERSAgICA9ICQoQ1BVX1BVQl9ST09UKS9wcm9qZWN0LyQoUFJKX05BTUUpL2luY2x1ZGUvaW5mcmENCmV4cG9ydCBDUFVfUFVCX1BSSl9QU19JTkNMVURFICAgICAgID0gJChDUFVfUFVCX1JPT1QpL3Byb2plY3QvJChQUkpfTkFNRSkvaW5jbHVkZS9wc19waHkNCmV4cG9ydCBDUFVfUFVCX1BSSl9EUlZfSU5DTFVERSAgICAgID0gJChDUFVfUFVCX1JPT1QpL3Byb2plY3QvJChQUkpfTkFNRSkvaW5jbHVkZS9kcnYNCmV4cG9ydCBDUFVfUFVCX1BSSl9UT09MU19JTkNMVURFICAgID0gJChDUFVfUFVCX1JPT1QpL3Byb2plY3QvJChQUkpfTkFNRSkvaW5jbHVkZS90b29scw0KZXhwb3J0IENQVV9QVUJfUFJKX1BTTV9JTkNMVURFICAgICAgPSAkKENQVV9QVUJfUk9PVCkvcHJvamVjdC8kKFBSSl9OQU1FKS9pbmNsdWRlL3BzbQ0KZXhwb3J0IENQVV9QVUJfUFJKX0FNVF9JTkNMVURFICAgICAgPSAkKENQVV9QVUJfUk9PVCkvcHJvamVjdC8kKFBSSl9OQU1FKS9pbmNsdWRlL2FtdA0KZXhwb3J0IENQVV9QVUJfUFJKX05WX0lOQ0xVREUgICAgICAgPSAkKENQVV9QVUJfUk9PVCkvcHJvamVjdC8kKFBSSl9OQU1FKS9pbmNsdWRlL252DQoNCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIENQVSBhcmNoIGRlZmluZQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmlmZXEgKCQoQ1BVX1BVQl9BUkNIKSxBUk0pDQpDUFVfUFVCX0RFRklORSArPSAtRF9DUFVfQVJNDQpDUFVfUFVCX0RFRklORSArPSAtRENQVV9TSElGVD0wDQplbmRpZg0KDQppZmVxICgkKENQVV9QVUJfQVJDSCksWlNQKQ0KQ1BVX1BVQl9ERUZJTkUgKz0gLURfQ1BVX1pTUA0KQ1BVX1BVQl9ERUZJTkUgKz0gLURDUFVfU0hJRlQ9MQ0KZW5kaWYNCg0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgQ2hpcCBtYWNybyBkZWZpbmUNCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQppZmVxICgkKFBSSl9OQU1FKSx6eDI4MDQpDQpDUFVfUFVCX0RFRklORSArPSAtRF9DSElQX1pYMjgwNA0KZW5kaWYNCg0KaWZlcSAoJChQUkpfTkFNRSksengyOTc1MTApDQpDUFVfUFVCX0RFRklORSArPSAtRF9DSElQX1pYMjk3NTEwDQplbmRpZg0KDQppZmVxICgkKFBSSl9OQU1FKSx6eDI5NzUyMCkNCkNQVV9QVUJfREVGSU5FICs9IC1EX0NISVBfWlgyOTc1MjANCmVuZGlmDQoNCmlmZXEgKCQoUFJKX05BTUUpLHp4Mjk3NTIwdjFfMSkNCkNQVV9QVUJfREVGSU5FICs9IC1EX0NISVBfWlgyOTc1MjBWMV8xDQplbmRpZg0KDQppZmVxICgkKFBSSl9OQU1FKSx6eDI5NzUyMHYyKQ0KQ1BVX1BVQl9ERUZJTkUgKz0gLURfQ0hJUF9aWDI5NzUyMFYyDQplbmRpZg0KDQppZmVxICgkKFBSSl9OQU1FKSx6eDI5NzUyMHYzKQ0KQ1BVX1BVQl9ERUZJTkUgKz0gLURfQ0hJUF9aWDI5NzUyMFYzDQplbmRpZg0KDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBQcm9qZWN0IG1ha2VmaWxlDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KaW5jbHVkZSAkKENQVV9QVUJfUk9PVCkvcHJvamVjdC8kKFBSSl9OQU1FKS9jb25maWcvcHJvamVjdC5taw0KDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBQcm9qZWN0IG1hY3JvIGRlZmluZQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmluY2x1ZGUgJChDUFVfUFVCX1JPT1QpL2NvbmZpZy9pbmZyYV9jZmcubWsNCmluY2x1ZGUgJChDUFVfUFVCX1JPT1QpL2NvbmZpZy9wc19waHlfY2ZnLm1rDQppbmNsdWRlICQoQ1BVX1BVQl9ST09UKS9jb25maWcvZHJ2X2NmZy5taw0KaW5jbHVkZSAkKENQVV9QVUJfUk9PVCkvY29uZmlnL3Rvb2xzX2NmZy5taw0KaW5jbHVkZSAkKENQVV9QVUJfUk9PVCkvY29uZmlnL3BzbV9jZmcubWsNCmluY2x1ZGUgJChDUFVfUFVCX1JPT1QpL2NvbmZpZy9hbXRfY2ZnLm1rDQoNCg==