문제
흐에에...
어둠을 틈타 누군가가 시이(swi)의 엄청난 케이크를 또 먹어버렸다!
여느날처럼 케이크를 좋아하는 시이는 근처 가게에서 사온 엄청난 케이크를 식탁 위에 올려놓고 감상하고 있었다. 하지만 기숙사 히터가 너무 따뜻했던 탓에 시이는 잠들고 말았고, 시이가 잠든 사이 케이크가 사라져버렸다!
케이크를 먹은 사람은 사건 당시 기숙사에 있던 시이와 시이를 제외한 $N$명의 사람 중 한 명이다. 시이는 범인을 찾기 위해 자신이 자던 동안 기숙사에 있던 $N$명의 학생을 동시에 추궁했다. 시이는 각 학생이 한 진술을 다음 두 종류의 유형 중 한 가지로 정리했다.
- 명단 $S$에 있는 학생 가운데 범인이 있다.
- 명단 $S$에 있는 학생 가운데 범인이 없다.
만약 $N$명의 학생 중 한 명이 범인이라면 나머지 학생은 모두 범인을 알 것이므로 범인을 제외한 모든 학생은 사실대로 진술할 것이고, 범인은 자신이 케이크를 먹은 사실을 숨기기 위해 거짓으로 진술할 것이다. 그러나 $N$명의 학생 모두가 범인이 아니라면 시이가 케이크를 먹어버린 것이기 때문에 모든 진술의 진위를 알 수 없다.
시이는 $N$개의 진술을 바탕으로 범인일 가능성이 있는 학생을 추려내고자 한다. 어떤 학생이 범인이라 가정했을 때 $N$개의 진술에 모순이 없다면 그 학생을 범인일 가능성이 있는 학생이라고 한다. 만약 $N$명의 학생 가운데 범인일 가능성이 있는 학생이 없다면 소거법에 의해 시이가 범인이므로 swi를 출력한다.
출력
모든 진술을 토대로 범인일 가능성이 있는 모든 학생의 번호를 작은 번호부터 순서대로 공백으로 구분하여 출력한다.
만약 범인일 가능성이 있는 학생이 한 명도 없다면 이번에도 시이가 케이크를 먹어버린 것이므로 swi를 출력한다.
제한
- 1ドル \le N \le 100 ,円 000$
- 1ドル \le M \le N$
- 1ドル \le S_i \le N$
- 명단에 등장하는 학생 수의 합은 200ドル,000円$을 넘지 않는다.
W3sicHJvYmxlbV9pZCI6IjMxNjc2IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkMmI5XHViY2M0XHVkNTVjIFx1Y2YwMFx1Yzc3NFx1ZDA2YyAoaGFyZCkiLCJkZXNjcmlwdGlvbiI6IjxibG9ja3F1b3RlPlxyXG48cD5cdWQ3NTBcdWM1ZDBcdWM1ZDAuLi48XC9wPlxyXG48XC9ibG9ja3F1b3RlPlxyXG5cclxuPHA+XHVjNWI0XHViNDYwXHVjNzQ0IFx1ZDJjOFx1ZDBjMCBcdWIyMDRcdWFkNzBcdWFjMDBcdWFjMDAgXHVjMmRjXHVjNzc0KDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+KVx1Yzc1OCBcdWM1YzRcdWNjYWRcdWIwOWMgXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YjYxMCBcdWJhMzlcdWM1YjRcdWJjODRcdWI4MzhcdWIyZTQhPFwvcD5cclxuXHJcbjxwPlx1YzVlY1x1YjI5MFx1YjBhMFx1Y2M5OFx1YjdmYyBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YzJkY1x1Yzc3NFx1YjI5NCBcdWFkZmNcdWNjOTggXHVhYzAwXHVhYzhjXHVjNWQwXHVjMTFjIFx1YzBhY1x1YzYyOCBcdWM1YzRcdWNjYWRcdWIwOWMgXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YzJkZFx1ZDBjMSBcdWM3MDRcdWM1ZDAgXHVjNjJjXHViODI0XHViMTkzXHVhY2UwIFx1YWMxMFx1YzBjMVx1ZDU1OFx1YWNlMCBcdWM3ODhcdWM1YzhcdWIyZTQuIFx1ZDU1OFx1YzljMFx1YjljYyBcdWFlMzBcdWMyMTlcdWMwYWMgXHVkNzg4XHVkMTMwXHVhYzAwIFx1YjEwOFx1YmIzNCBcdWI1MzBcdWI3M2JcdWQ1ODhcdWIzNTggXHVkMGQzXHVjNWQwIFx1YzJkY1x1Yzc3NFx1YjI5NCBcdWM3YTBcdWI0ZTRcdWFjZTAgXHViOWQwXHVjNTU4XHVhY2UwLCBcdWMyZGNcdWM3NzRcdWFjMDAgXHVjN2EwXHViNGUwIFx1YzBhY1x1Yzc3NCBcdWNmMDBcdWM3NzRcdWQwNmNcdWFjMDAgXHVjMGFjXHViNzdjXHVjODM4XHViYzg0XHViODM4XHViMmU0ITxcL3A+XHJcblxyXG48cD5cdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHViYTM5XHVjNzQwIFx1YzBhY1x1Yjc4Y1x1Yzc0MCBcdWMwYWNcdWFjNzQgXHViMmY5XHVjMmRjIFx1YWUzMFx1YzIxOVx1YzBhY1x1YzVkMCBcdWM3ODhcdWIzNTggPHN0cm9uZz5cdWMyZGNcdWM3NzRcdWM2NDA8XC9zdHJvbmc+IFx1YzJkY1x1Yzc3NFx1Yjk3YyBcdWM4MWNcdWM2NzhcdWQ1NWMgJE4kXHViYTg1XHVjNzU4IFx1YzBhY1x1Yjc4YyBcdWM5MTEgXHVkNTVjIFx1YmE4NVx1Yzc3NFx1YjJlNC4gXHVjMmRjXHVjNzc0XHViMjk0IFx1YmM5NFx1Yzc3OFx1Yzc0NCBcdWNjM2VcdWFlMzAgXHVjNzA0XHVkNTc0IFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWM3OTBcdWIzNTggXHViM2Q5XHVjNTQ4IFx1YWUzMFx1YzIxOVx1YzBhY1x1YzVkMCBcdWM3ODhcdWIzNTggJE4kXHViYTg1XHVjNzU4IFx1ZDU1OVx1YzBkZFx1Yzc0NCBcdWIzZDlcdWMyZGNcdWM1ZDAgXHVjZDk0XHVhZDgxXHVkNTg4XHViMmU0LiBcdWMyZGNcdWM3NzRcdWIyOTQgXHVhYzAxIFx1ZDU1OVx1YzBkZFx1Yzc3NCBcdWQ1NWMgXHVjOWM0XHVjMjIwXHVjNzQ0IFx1YjJlNFx1Yzc0YyBcdWI0NTAgXHVjODg1XHViOTU4XHVjNzU4IFx1YzcyMFx1ZDYxNSBcdWM5MTEgXHVkNTVjIFx1YWMwMFx1YzljMFx1Yjg1YyBcdWM4MTVcdWI5YWNcdWQ1ODhcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHViYTg1XHViMmU4ICRTJFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVkNTU5XHVjMGRkIFx1YWMwMFx1YzZiNFx1YjM3MCBcdWJjOTRcdWM3NzhcdWM3NzQgXHVjNzg4XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWJhODVcdWIyZTggJFMkXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWQ1NTlcdWMwZGQgXHVhYzAwXHVjNmI0XHViMzcwIFx1YmM5NFx1Yzc3OFx1Yzc3NCBcdWM1YzZcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHViOWNjXHVjNTdkICROJFx1YmE4NVx1Yzc1OCBcdWQ1NTlcdWMwZGQgXHVjOTExIFx1ZDU1YyBcdWJhODVcdWM3NzQgXHViYzk0XHVjNzc4XHVjNzc0XHViNzdjXHViYTc0IFx1YjA5OFx1YmEzOFx1YzljMCBcdWQ1NTlcdWMwZGRcdWM3NDAgXHViYWE4XHViNDUwIFx1YmM5NFx1Yzc3OFx1Yzc0NCBcdWM1NGMgXHVhYzgzXHVjNzc0XHViYmMwXHViODVjIFx1YmM5NFx1Yzc3OFx1Yzc0NCBcdWM4MWNcdWM2NzhcdWQ1NWMgXHViYWE4XHViNGUwIFx1ZDU1OVx1YzBkZFx1Yzc0MCBcdWMwYWNcdWMyZTRcdWIzMDBcdWI4NWMgXHVjOWM0XHVjMjIwXHVkNTYwIFx1YWM4M1x1Yzc3NFx1YWNlMCwgXHViYzk0XHVjNzc4XHVjNzQwIFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWNmMDBcdWM3NzRcdWQwNmNcdWI5N2MgXHViYTM5XHVjNzQwIFx1YzBhY1x1YzJlNFx1Yzc0NCBcdWMyMjhcdWFlMzBcdWFlMzAgXHVjNzA0XHVkNTc0IFx1YWM3MFx1YzlkM1x1YzczY1x1Yjg1YyBcdWM5YzRcdWMyMjBcdWQ1NjAgXHVhYzgzXHVjNzc0XHViMmU0LiBcdWFkZjhcdWI3ZWNcdWIwOTggJE4kXHViYTg1XHVjNzU4IFx1ZDU1OVx1YzBkZCBcdWJhYThcdWI0NTBcdWFjMDAgXHViYzk0XHVjNzc4XHVjNzc0IFx1YzU0NFx1YjJjOFx1Yjc3Y1x1YmE3NCBcdWMyZGNcdWM3NzRcdWFjMDAgXHVjZjAwXHVjNzc0XHVkMDZjXHViOTdjIFx1YmEzOVx1YzViNFx1YmM4NFx1YjliMCBcdWFjODNcdWM3NzRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIFx1YmFhOFx1YjRlMCBcdWM5YzRcdWMyMjBcdWM3NTggXHVjOWM0XHVjNzA0XHViOTdjIFx1YzU0YyBcdWMyMTggXHVjNWM2XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMyZGNcdWM3NzRcdWIyOTQgJE4kXHVhYzFjXHVjNzU4IFx1YzljNFx1YzIyMFx1Yzc0NCBcdWJjMTRcdWQwZDVcdWM3M2NcdWI4NWMgXHViYzk0XHVjNzc4XHVjNzdjIFx1YWMwMFx1YjJhNVx1YzEzMVx1Yzc3NCBcdWM3ODhcdWIyOTQgXHVkNTU5XHVjMGRkXHVjNzQ0IFx1Y2Q5NFx1YjgyNFx1YjBiNFx1YWNlMFx1Yzc5MCBcdWQ1NWNcdWIyZTQuIFx1YzViNFx1YjVhNCBcdWQ1NTlcdWMwZGRcdWM3NzQgXHViYzk0XHVjNzc4XHVjNzc0XHViNzdjIFx1YWMwMFx1YzgxNVx1ZDU4OFx1Yzc0NCBcdWI1NGMgJE4kXHVhYzFjXHVjNzU4IFx1YzljNFx1YzIyMFx1YzVkMCBcdWJhYThcdWMyMWNcdWM3NzQgXHVjNWM2XHViMmU0XHViYTc0IFx1YWRmOCBcdWQ1NTlcdWMwZGRcdWM3NDQgPHN0cm9uZz5cdWJjOTRcdWM3NzhcdWM3N2MgXHVhYzAwXHViMmE1XHVjMTMxXHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWQ1NTlcdWMwZGQ8XC9zdHJvbmc+XHVjNzc0XHViNzdjXHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkICROJFx1YmE4NVx1Yzc1OCBcdWQ1NTlcdWMwZGQgXHVhYzAwXHVjNmI0XHViMzcwIFx1YmM5NFx1Yzc3OFx1Yzc3YyBcdWFjMDBcdWIyYTVcdWMxMzFcdWM3NzQgXHVjNzg4XHViMjk0IFx1ZDU1OVx1YzBkZFx1Yzc3NCBcdWM1YzZcdWIyZTRcdWJhNzQgXHVjMThjXHVhYzcwXHViYzk1XHVjNWQwIFx1Yzc1OFx1ZDU3NCBcdWMyZGNcdWM3NzRcdWFjMDAgXHViYzk0XHVjNzc4XHVjNzc0XHViYmMwXHViODVjIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzJkY1x1Yzc3NFx1Yzc1OCBcdWNmMDBcdWM3NzRcdWQwNmNcdWFjMDAgXHVjNWM2XHVjNWI0XHVjODRjXHViMmU0XHViMjk0IFx1YmE1NFx1YzJkY1x1YzljMCAoPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aSYjMzk7cyBjYWtlIGlzIG1pc3NpbmchPFwvY29kZT48XC9zcGFuPilcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiA8XC9wPlxyXG5cclxuPHA+XHViNDUwIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgIFx1YWUzMFx1YzIxOVx1YzBhY1x1YzVkMCBcdWM3ODhcdWM1YzhcdWIzNTggXHVjMmRjXHVjNzc0XHVhYzAwIFx1YzU0NFx1YjJjYyBcdWQ1NTlcdWMwZGRcdWM3NTggXHVjMjE4ICROJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPiROJFx1YmE4NVx1Yzc1OCBcdWQ1NTlcdWMwZGRcdWM3NTggXHVjOTlkXHVjNWI4XHVjNzc0IFx1YWMwMVx1YWMwMSBcdWMxMzggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCAkTiRcdWFjMWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAkaSRcdWJjODhcdWM5ZjggXHVjOTlkXHVjNWI4XHVjNzQ0IFx1ZDU1YyBcdWQ1NTlcdWMwZGRcdWM3NTggXHViYzg4XHVkNjM4XHViMjk0ICRpJFx1Yzc3NFx1YjJlNC4gXHVhYzAxIFx1Yzk5ZFx1YzViOFx1Yzc0MCBcdWM1NDRcdWI3OThcdWM2NDAgXHVhYzE5XHVjNzQwIFx1ZDYxNVx1YzJkZFx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YmE4NVx1YjJlOCAkUyRcdWM1ZDAgXHViNGYxXHVjN2E1XHVkNTU4XHViMjk0IFx1ZDU1OVx1YzBkZFx1Yzc1OCBcdWMyMTggJE0kXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViNDUwIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgXHViYTg1XHViMmU4ICRTJFx1YzVkMCBcdWI0ZjFcdWM3YTVcdWQ1NThcdWIyOTQgXHVkNTU5XHVjMGRkXHVjNzU4IFx1YmM4OFx1ZDYzOCAkU18xLFNfMixcXGNkb3RzLFNfTSRcdWM3NzQgXHVjOTExXHViY2Y1XHVjNWM2XHVjNzc0IFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWMxMzggXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMCBcdWM5YzRcdWMyMjBcdWM3NTggXHVjNzIwXHVkNjE1XHVjNzQ0IFx1YjA5OFx1ZDBjMFx1YjBiNFx1YjI5NCBcdWM4MTVcdWMyMTggJEIkXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViYzk0XHVjNzc4XHVjNzc0IFx1Yzc4OFx1YjJlNFx1YjI5NCBcdWM5YzRcdWMyMjBcdWM3NzRcdWI3N2NcdWJhNzQgJEI9MSQsIFx1YzVjNlx1YjJlNFx1YjI5NCBcdWM5YzRcdWMyMjBcdWM3NzRcdWI3N2NcdWJhNzQgJEI9MCRcdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWJhYThcdWI0ZTAgXHVjOWM0XHVjMjIwXHVjNzQ0IFx1ZDFhMFx1YjMwMFx1Yjg1YyBcdWJjOTRcdWM3NzhcdWM3N2MgXHVhYzAwXHViMmE1XHVjMTMxXHVjNzc0IFx1Yzc4OFx1YjI5NCBcdWJhYThcdWI0ZTAgXHVkNTU5XHVjMGRkXHVjNzU4IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWM3OTFcdWM3NDAgXHViYzg4XHVkNjM4XHViZDgwXHVkMTMwIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHVkNTU4XHVjNWVjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViOWNjXHVjNTdkIFx1YmM5NFx1Yzc3OFx1Yzc3YyBcdWFjMDBcdWIyYTVcdWMxMzFcdWM3NzQgXHVjNzg4XHViMjk0IFx1ZDU1OVx1YzBkZFx1Yzc3NCBcdWQ1NWMgXHViYTg1XHViM2M0IFx1YzVjNlx1YjJlNFx1YmE3NCBcdWM3NzRcdWJjODhcdWM1ZDBcdWIzYzQgXHVjMmRjXHVjNzc0XHVhYzAwIFx1Y2YwMFx1Yzc3NFx1ZDA2Y1x1Yjk3YyBcdWJhMzlcdWM1YjRcdWJjODRcdWI5YjAgXHVhYzgzXHVjNzc0XHViYmMwXHViODVjIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJsaW1pdCI6Ijx1bD5cclxuXHQ8bGk+JDEgXFxsZSBOIFxcbGUgMTAwIFxcLCAwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgTSBcXGxlIE4kPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgU19pIFxcbGUgTiQ8XC9saT5cclxuXHQ8bGk+XHViYTg1XHViMmU4XHVjNWQwIFx1YjRmMVx1YzdhNVx1ZDU1OFx1YjI5NCBcdWQ1NTlcdWMwZGQgXHVjMjE4XHVjNzU4IFx1ZDU2OVx1Yzc0MCAkMjAwXFwsMDAwJFx1Yzc0NCBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMzE2NzYiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJFeGNlcHRpb25hbCBDYWtlIChIYXJkKSIsImRlc2NyaXB0aW9uIjoiPHA+V2hpbGUgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aTxcL2NvZGU+PFwvc3Bhbj4gd2FzIHNsZWVwaW5nLCBzb21lb25lIGF0ZSA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+c3dpPFwvY29kZT48XC9zcGFuPiYjMzk7cyAmcXVvdDtleGNlcHRpb25hbCBjYWtlJnF1b3Q7ITxcL3A+XHJcblxyXG48cD5BcyB1c3VhbCwgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aTxcL2NvZGU+PFwvc3Bhbj4gYm91Z2h0IGhlciAmcXVvdDtleGNlcHRpb25hbCBjYWtlJnF1b3Q7IGZyb20gYSBuZWFyYnkgY2FmZSBhbmQgYnJvdWdodCBpdCBiYWNrIHRvIGhlciBib2FyZGluZyBob3VzZS4gV2hpbGUgc2hlIHdhcyBhZG1pcmluZyBoZXIgY2FrZSBvbiB0aGUgdGFibGUsIHNoZSBmZWxsIGFzbGVlcCBiZWNhdXNlIHRoZSBib2FyZGluZyBob3VzZSYjMzk7cyBoZWF0ZXIgd2FzIHRvbyB3YXJtLiBXaGVuIHNoZSB3b2tlIHVwLCB0aGUgY2FrZSB3YXMgZ29uZSE8XC9wPlxyXG5cclxuPHA+VGhlIGN1bHByaXQgdGhhdCBhdGUgdGhlIGNha2UgaXMgZWl0aGVyIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+LCBvciBvbmUgb2YgdGhlICROJCBzdHVkZW50cyB3aG8gd2VyZSBpbiB0aGUgYm9hcmRpbmcgaG91c2Ugd2hlbiB0aGUgaW5jaWRlbnQgaGFwcGVuZWQuIFRvIGZpbmQgdGhlIGN1bHByaXQsIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+IGludGVycm9nYXRlZCB0aGUgJE4kIHN0dWRlbnRzIHNpbXVsdGFuZW91c2x5LiA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+U3dpPFwvY29kZT48XC9zcGFuPiBjbGFzc2lmaWVkIGVhY2ggc3R1ZGVudCYjMzk7cyZuYnNwO2NsdWUgYXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgdHdvIHR5cGVzOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlRoZSBjdWxwcml0IGlzIGluIHRoZSBsaXN0IG9mIHN0dWRlbnRzICRTJC48XC9saT5cclxuXHQ8bGk+VGhlIGN1bHByaXQgaXMgbm90IGluIHRoZSBsaXN0IG9mIHN0dWRlbnRzICRTJC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5JZiB0aGUgY3VscHJpdCBpcyBvbmUgb2YgdGhlICROJCBzdHVkZW50cywgYWxsIHN0dWRlbnRzIGV4Y2VwdCB0aGUgY3VscHJpdCB3aWxsIGFsd2F5cyB0ZWxsIHRoZSB0cnV0aCBiZWNhdXNlIGFsbCAkTiQgc3R1ZGVudHMga25vdyB3aG8gdGhlIGN1bHByaXQgaXMuIEluIHN1Y2ggY2FzZSwgdGhlIGN1bHByaXQgZG9lcyBub3Qgd2FudCZuYnNwO3RvIGdldCBjYXVnaHQsIHNvIHdpbGwgYWx3YXlzIGxpZS4gSWYgdGhlIGN1bHByaXQgaXMgbm90IGFtb25nIHRoZSAkTiQgc3R1ZGVudHMsIGl0IGlzIGltcG9zc2libGUgdG8ga25vdyB3aG8gaXMgdGVsbGluZyB0aGUgdHJ1dGggb3IgbHlpbmcuPFwvcD5cclxuXHJcbjxwPkJhc2VkIG9uIHRoZSAkTiQgY2x1ZXMsJm5ic3A7PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aTxcL2NvZGU+PFwvc3Bhbj4gd2FudHMgdG8gZmluZCBvdXQgd2hvIGFtb25nIHRoZSAkTiQgc3R1ZGVudHMgY291bGQgcG9zc2libHkgYmUgdGhlIGN1bHByaXQuIEEgc3R1ZGVudCBpcyBjb25zaWRlcmVkIGEgPHN0cm9uZz5wb3RlbnRpYWwgY3VscHJpdDxcL3N0cm9uZz4mbmJzcDtpZiBhc3N1bWluZyB0aGF0IHN0dWRlbnQgYXMgYSBjdWxwcml0IGRvZXMgbm90IHJlc3VsdCBpbiBhIGNvbnRyYWRpY3Rpb24gYW1vbmcgdGhlICROJCBjbHVlcy4gSWYgdGhlcmUgYXJlIG5vIHN0dWRlbnRzIGFtb25nIHRoZSBOIHN0dWRlbnRzJm5ic3A7dGhhdCBjYW4gYmUgdGhlIGN1bHByaXQsIGJ5IHRoZSBwcm9jZXNzIG9mIGVsaW1pbmF0aW9uLCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+c3dpPFwvY29kZT48XC9zcGFuPiBpcyB0aGUgY3VscHJpdC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIHRoZSBtZXNzYWdlJm5ic3A7PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aSYjMzk7cyBjYWtlIGlzIG1pc3NpbmchPFwvY29kZT48XC9zcGFuPi48XC9wPlxyXG5cclxuPHA+VGhlIHNlY29uZCBsaW5lIGNvbnRhaW5zIGEgc2luZ2xlIGludGVnZXIgJE4kJm5ic3A7JC0kJm5ic3A7dGhlIG51bWJlciBvZiBzdHVkZW50cyB3aG8gd2VyZSBpbiB0aGUgYm9hcmRpbmcgaG91c2UgZXhjbHVkaW5nIDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT5zd2k8XC9jb2RlPjxcL3NwYW4+LjxcL3A+XHJcblxyXG48cD5OZXh0Jm5ic3A7bGluZXMgY29udGFpbiB0aGUgJE4kIHRlc3RpbW9uaWVzIGJ5IHRoZSAkTiQgc3R1ZGVudHMuJm5ic3A7VGhlICRpJC10aCBzdHVkZW50IGdpdmVzIHRoZSAkaSQtdGggdGVzdGltb255LCBhbmQmbmJzcDtlYWNoIHRlc3RpbW9ueSBpcyBnaXZlbiBvdmVyIHRocmVlIGxpbmVzLiBUaGUgZm9ybWF0IG9mIGVhY2ggdGVzdGltb255Jm5ic3A7aXMgYXMgZm9sbG93czo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5UaGUgZmlyc3QgbGluZSBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyJm5ic3A7JE0kJm1kYXNoO3RoZSBudW1iZXIgb2Ygc3R1ZGVudHMgaW4gdGhlIGxpc3Qgb2Ygc3R1ZGVudHMmbmJzcDskUyQuPFwvbGk+XHJcblx0PGxpPlRoZSBzZWNvbmQgbGluZSBjb250YWlucyAkTSQgaW50ZWdlcnMmbWRhc2g7dGhlIHN0dWRlbnQgbnVtYmVyIG9mIGVhY2ggc3R1ZGVudCZuYnNwOyRTXzEsIFNfMiwgXFxjZG90cyxTX00kIGluIHRoZSBsaXN0ICRTJC4gQWxsIHN0dWRlbnQgbnVtYmVycyBhcmUgdW5pcXVlLiZuYnNwOzxcL2xpPlxyXG5cdDxsaT5UaGUgdGhpcmQgbGluZSBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyJm5ic3A7JEIkJm1kYXNoO3RoZSB0eXBlIG9mIHRoZSBjbHVlLiBJZiB0aGUgc3R1ZGVudCZuYnNwO3NheXMgdGhhdCB0aGUgY3VscHJpdCBpcyBpbiB0aGUgbGlzdCwgJEI9MSQ7IGlmIHRoZSBzdHVkZW50IHNheXMgdGhhdCB0aGUgY3VscHJpdCBpcyBub3QgaW4gdGhlIGxpc3QsICRCPTAkLjxcL2xpPlxyXG48XC91bD5cclxuIiwib3V0cHV0IjoiPHA+UHJpbnQgdGhlIHN0dWRlbnQgbnVtYmVyIG9mIGFsbCBzdHVkZW50cyB0aGF0IGFyZSZuYnNwOzxzdHJvbmc+cG90ZW50aWFsIGN1bHByaXRzPFwvc3Ryb25nPiZuYnNwO2luIGFuIGFzY2VuZGluZyBvcmRlciwgZWFjaCBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UuPFwvcD5cclxuXHJcbjxwPklmIG5vIHN0dWRlbnRzJm5ic3A7YW1vbmcgdGhlICROJCBzdHVkZW50cyBjYW4gYmUgdGhlIGN1bHByaXQsJm5ic3A7PHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPnN3aTxcL2NvZGU+PFwvc3Bhbj4gaGFzIGVhdGVuIHRoZSBjYWtlIGFnYWluLCBzbyBwcmludCA8c3BhbiBzdHlsZT1cImNvbG9yOiNlNzRjM2M7XCI+PGNvZGU+c3dpPFwvY29kZT48XC9zcGFuPi48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQxIFxcbGUgTiBcXGxlIDEwMFxcLCAwMDAkPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgTSBcXGxlIE4kPFwvbGk+XHJcblx0PGxpPiQxIFxcbGUgU19pIFxcbGUgTiQ8XC9saT5cclxuXHQ8bGk+VGhlIHN1bSBvZiAkTSQgZm9yIGVhY2ggc3R1ZGVudCBkb2VzIG5vdCBleGNlZWQgJDIwMFxcLDAwMCQuPFwvbGk+XHJcbjxcL3VsPlxyXG4ifV0=