시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 62 12 8 18.605%

문제

매우(거의 무한할 정도로) 큰 공장이 하나 있다. 이 공장은 벽으로 둘러싸인 사각형 모양을 하고 있다. 이 공장에는 N(1≤N≤100)개의 굴뚝이 있는데, 각각의 굴뚝들은 어떤 특정한 모양을 하고 있다. 몇 개의 굴뚝들은 서로 같은 모양을 하고 있기도 하다.

이 공장에서는 최신 기술을 이용한 개발이 진행되고 있는데, 이 기술의 보안을 유지하기 위해서 한 대의 감시 로봇을 사용하고 있다. 감시 로봇은 x축을 따라서 움직이게 되는데, 로봇의 위치가 어디인지를 알아야 할 필요가 있다. 그런데 로봇 안에 들어있는 위치 센서가 좋지 않을뿐더러, 건물의 크기가 매우 크기 때문에, 위치를 직접 알려주지는 못하고, 로봇이 굴뚝을 관찰한 순서가 주어지게 된다.

로봇은 우선 x축 위에서, 왼쪽(x좌표가 음의 무한대인 쪽)을 바라보고 서 있다. 그리고 로봇은 시계방향으로 오른쪽(x좌표가 양의 무한대인 쪽)까지 돌게 된다. 로봇은 돌면서 자신이 보게 되는 굴뚝의 모양을 차례대로 알려주게 된다. 모든 굴뚝들의 높이는 같기 때문에, 로봇이 보고 있는 방향에 여러 굴뚝이 있다면 제일 앞에 있는 굴뚝만을 보게 된다.

공장 측에서는 이와 같은 방법을 이용하면 로봇의 위치를 구해낼 수 있을 거라 생각했지만, 답이 유일하게 나오는 것이 아니라 여러 구간의 형태로 나옴을 알게 되었다. 따라서 공장 측에서는, 이와 같은 구간들을 구하려고 한다.

로봇이 굴뚝을 관찰한 순서와 각 굴뚝의 위치가 주어졌을 때, 로봇이 있을 수 있는 위치를 구해내는 프로그램을 작성하시오.

입력

첫째 줄에 굴뚝의 개수 N이 주어진다. 다음 줄에는 로봇이 굴뚝을 관찰한 순서대로 굴뚝의 모양이 주어진다. 건물에 없는 굴뚝을 본 경우나, 굴뚝을 N개 미만으로 본 경우는 입력으로 주어지지 않는다. 다음 N개의 줄에는 각 굴뚝의 모양을 나타내는 문자와, 굴뚝의 x(-100≤x≤100), y(0<y≤100)좌표가 주어진다. 굴뚝의 모양은 알파벳 대문자로 표현되며, 모든 좌표는 정수이다.

출력

첫째 줄에 구간의 개수 K가 주어진다. 다음 K개의 줄에는 두 개의 실수로 구간의 왼쪽, 오른쪽 끝점을 출력한다. 건물의 크기는 매우 크다고(무한하다고) 가정하며, 건물의 양 끝점의 경우에는 좌표 대신에 *을 출력한다. 좌표를 출력할 때에는 소수점 아래 넷째 자리까지 출력한다(다섯째 자리에서 반올림)

예제 입력 1

4
CDDC
C 0 7
D 4 5
C -2 1
D -2 3

예제 출력 1

3
* -11.0000
-11.0000 -3.5000
14.0000 *
W3sicHJvYmxlbV9pZCI6IjIxMDAiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFjMTBcdWMyZGMgXHViODVjXHViZDA3IiwiZGVzY3JpcHRpb24iOiI8cD5cdWI5ZTRcdWM2YjAoXHVhYzcwXHVjNzU4IFx1YmIzNFx1ZDU1Y1x1ZDU2MCBcdWM4MTVcdWIzYzRcdWI4NWMpIFx1ZDA3MCBcdWFjZjVcdWM3YTVcdWM3NzQgXHVkNTU4XHViMDk4IFx1Yzc4OFx1YjJlNC4gXHVjNzc0IFx1YWNmNVx1YzdhNVx1Yzc0MCBcdWJjYmRcdWM3M2NcdWI4NWMgXHViNDU4XHViN2VjXHVjMmY4XHVjNzc4IFx1YzBhY1x1YWMwMVx1ZDYxNSBcdWJhYThcdWM1OTFcdWM3NDQgXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHVjNzc0IFx1YWNmNVx1YzdhNVx1YzVkMFx1YjI5NCBOKDEmbGU7TiZsZTsxMDApXHVhYzFjXHVjNzU4IFx1YWQ3NFx1YjY5ZFx1Yzc3NCBcdWM3ODhcdWIyOTRcdWIzNzAsIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWFkNzRcdWI2OWRcdWI0ZTRcdWM3NDAgXHVjNWI0XHViNWE0IFx1ZDJiOVx1YzgxNVx1ZDU1YyBcdWJhYThcdWM1OTFcdWM3NDQgXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHViYTg3IFx1YWMxY1x1Yzc1OCBcdWFkNzRcdWI2OWRcdWI0ZTRcdWM3NDAgXHVjMTFjXHViODVjIFx1YWMxOVx1Yzc0MCBcdWJhYThcdWM1OTFcdWM3NDQgXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YWUzMFx1YjNjNCBcdWQ1NThcdWIyZTQuPFwvcD5cclxuPHA+XHVjNzc0IFx1YWNmNVx1YzdhNVx1YzVkMFx1YzExY1x1YjI5NCBcdWNkNWNcdWMyZTAgXHVhZTMwXHVjMjIwXHVjNzQ0IFx1Yzc3NFx1YzZhOVx1ZDU1YyBcdWFjMWNcdWJjMWNcdWM3NzQgXHVjOWM0XHVkNTg5XHViNDE4XHVhY2UwIFx1Yzc4OFx1YjI5NFx1YjM3MCwgXHVjNzc0IFx1YWUzMFx1YzIyMFx1Yzc1OCBcdWJjZjRcdWM1NDhcdWM3NDQgXHVjNzIwXHVjOWMwXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExYyBcdWQ1NWMgXHViMzAwXHVjNzU4IFx1YWMxMFx1YzJkYyBcdWI4NWNcdWJkMDdcdWM3NDQgXHVjMGFjXHVjNmE5XHVkNTU4XHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHVhYzEwXHVjMmRjIFx1Yjg1Y1x1YmQwN1x1Yzc0MCB4XHVjZDk1XHVjNzQ0IFx1YjUzMFx1Yjc3Y1x1YzExYyBcdWM2YzBcdWM5YzFcdWM3NzRcdWFjOGMgXHViNDE4XHViMjk0XHViMzcwLCBcdWI4NWNcdWJkMDdcdWM3NTggXHVjNzA0XHVjZTU4XHVhYzAwIFx1YzViNFx1YjUxNFx1Yzc3OFx1YzljMFx1Yjk3YyBcdWM1NGNcdWM1NDRcdWM1N2MgXHVkNTYwIFx1ZDU0NFx1YzY5NFx1YWMwMCBcdWM3ODhcdWIyZTQuIFx1YWRmOFx1YjdmMFx1YjM3MCBcdWI4NWNcdWJkMDcgXHVjNTQ4XHVjNWQwIFx1YjRlNFx1YzViNFx1Yzc4OFx1YjI5NCBcdWM3MDRcdWNlNTggXHVjMTNjXHVjMTFjXHVhYzAwIFx1Yzg4Ylx1YzljMCBcdWM1NGFcdWM3NDRcdWJmZDBcdWIzNTRcdWI3ZWMsIFx1YWM3NFx1YmIzY1x1Yzc1OCBcdWQwNmNcdWFlMzBcdWFjMDAgXHViOWU0XHVjNmIwIFx1ZDA2Y1x1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWM5YzFcdWM4MTEgXHVjNTRjXHViODI0XHVjOGZjXHVjOWMwXHViMjk0IFx1YmFiYlx1ZDU1OFx1YWNlMCwgXHViODVjXHViZDA3XHVjNzc0IFx1YWQ3NFx1YjY5ZFx1Yzc0NCBcdWFkMDBcdWNjMzBcdWQ1NWMgXHVjMjFjXHVjMTFjXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljMFx1YWM4YyBcdWI0MWNcdWIyZTQuPFwvcD5cclxuPHA+XHViODVjXHViZDA3XHVjNzQwIFx1YzZiMFx1YzEyMCB4XHVjZDk1IFx1YzcwNFx1YzVkMFx1YzExYywgXHVjNjdjXHVjYWJkKHhcdWM4OGNcdWQ0NWNcdWFjMDAgXHVjNzRjXHVjNzU4IFx1YmIzNFx1ZDU1Y1x1YjMwMFx1Yzc3OCBcdWNhYmQpXHVjNzQ0IFx1YmMxNFx1Yjc3Y1x1YmNmNFx1YWNlMCBcdWMxMWMgXHVjNzg4XHViMmU0LiBcdWFkZjhcdWI5YWNcdWFjZTAgXHViODVjXHViZDA3XHVjNzQwIFx1YzJkY1x1YWNjNFx1YmMyOVx1ZDVhNVx1YzczY1x1Yjg1YyBcdWM2MjRcdWI5NzhcdWNhYmQoeFx1Yzg4Y1x1ZDQ1Y1x1YWMwMCBcdWM1OTFcdWM3NTggXHViYjM0XHVkNTVjXHViMzAwXHVjNzc4IFx1Y2FiZClcdWFlNGNcdWM5YzAgXHViM2NjXHVhYzhjIFx1YjQxY1x1YjJlNC4gXHViODVjXHViZDA3XHVjNzQwIFx1YjNjY1x1YmE3NFx1YzExYyBcdWM3OTBcdWMyZTBcdWM3NzQgXHViY2Y0XHVhYzhjIFx1YjQxOFx1YjI5NCBcdWFkNzRcdWI2OWRcdWM3NTggXHViYWE4XHVjNTkxXHVjNzQ0IFx1Y2MyOFx1Yjg0MFx1YjMwMFx1Yjg1YyBcdWM1NGNcdWI4MjRcdWM4ZmNcdWFjOGMgXHViNDFjXHViMmU0LiBcdWJhYThcdWI0ZTAgXHVhZDc0XHViNjlkXHViNGU0XHVjNzU4IFx1YjE5Mlx1Yzc3NFx1YjI5NCBcdWFjMTlcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWI4NWNcdWJkMDdcdWM3NzQgXHViY2Y0XHVhY2UwIFx1Yzc4OFx1YjI5NCBcdWJjMjlcdWQ1YTVcdWM1ZDAgXHVjNWVjXHViN2VjIFx1YWQ3NFx1YjY5ZFx1Yzc3NCBcdWM3ODhcdWIyZTRcdWJhNzQgXHVjODFjXHVjNzdjIFx1YzU1ZVx1YzVkMCBcdWM3ODhcdWIyOTQgXHVhZDc0XHViNjlkXHViOWNjXHVjNzQ0IFx1YmNmNFx1YWM4YyBcdWI0MWNcdWIyZTQuPFwvcD5cclxuPHA+XHVhY2Y1XHVjN2E1IFx1Y2UyMVx1YzVkMFx1YzExY1x1YjI5NCBcdWM3NzRcdWM2NDAgXHVhYzE5XHVjNzQwIFx1YmMyOVx1YmM5NVx1Yzc0NCBcdWM3NzRcdWM2YTlcdWQ1NThcdWJhNzQgXHViODVjXHViZDA3XHVjNzU4IFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWFkNmNcdWQ1NzRcdWIwYmMgXHVjMjE4IFx1Yzc4OFx1Yzc0NCBcdWFjNzBcdWI3N2MgXHVjMGRkXHVhYzAxXHVkNTg4XHVjOWMwXHViOWNjLCBcdWIyZjVcdWM3NzQgXHVjNzIwXHVjNzdjXHVkNTU4XHVhYzhjIFx1YjA5OFx1YzYyNFx1YjI5NCBcdWFjODNcdWM3NzQgXHVjNTQ0XHViMmM4XHViNzdjIFx1YzVlY1x1YjdlYyBcdWFkNmNcdWFjMDRcdWM3NTggXHVkNjE1XHVkMGRjXHViODVjIFx1YjA5OFx1YzYzNFx1Yzc0NCBcdWM1NGNcdWFjOGMgXHViNDE4XHVjNWM4XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMgXHVhY2Y1XHVjN2E1IFx1Y2UyMVx1YzVkMFx1YzExY1x1YjI5NCwgXHVjNzc0XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWFkNmNcdWFjMDRcdWI0ZTRcdWM3NDQgXHVhZDZjXHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG48cD5cdWI4NWNcdWJkMDdcdWM3NzQgXHVhZDc0XHViNjlkXHVjNzQ0IFx1YWQwMFx1Y2MzMFx1ZDU1YyBcdWMyMWNcdWMxMWNcdWM2NDAgXHVhYzAxIFx1YWQ3NFx1YjY5ZFx1Yzc1OCBcdWM3MDRcdWNlNThcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHViODVjXHViZDA3XHVjNzc0IFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YzcwNFx1Y2U1OFx1Yjk3YyBcdWFkNmNcdWQ1NzRcdWIwYjRcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWFkNzRcdWI2OWRcdWM3NTggXHVhYzFjXHVjMjE4IE5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1Yjg1Y1x1YmQwN1x1Yzc3NCBcdWFkNzRcdWI2OWRcdWM3NDQgXHVhZDAwXHVjYzMwXHVkNTVjIFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWFkNzRcdWI2OWRcdWM3NTggXHViYWE4XHVjNTkxXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVhYzc0XHViYjNjXHVjNWQwIFx1YzVjNlx1YjI5NCBcdWFkNzRcdWI2OWRcdWM3NDQgXHViY2Y4IFx1YWNiZFx1YzZiMFx1YjA5OCwgXHVhZDc0XHViNjlkXHVjNzQ0IE5cdWFjMWMgXHViYmY4XHViOWNjXHVjNzNjXHViODVjIFx1YmNmOCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuIFx1YjJlNFx1Yzc0YyBOXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFjMDEgXHVhZDc0XHViNjlkXHVjNzU4IFx1YmFhOFx1YzU5MVx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHViYjM4XHVjNzkwXHVjNjQwLCBcdWFkNzRcdWI2OWRcdWM3NTggeCgtMTAwJmxlO3gmbGU7MTAwKSwgeSgwJmx0O3kmbGU7MTAwKVx1Yzg4Y1x1ZDQ1Y1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWQ3NFx1YjY5ZFx1Yzc1OCBcdWJhYThcdWM1OTFcdWM3NDAgXHVjNTRjXHVkMzBjXHViY2IzIFx1YjMwMFx1YmIzOFx1Yzc5MFx1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWI0MThcdWJhNzAsIFx1YmFhOFx1YjRlMCBcdWM4OGNcdWQ0NWNcdWIyOTQgXHVjODE1XHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+Iiwib3V0cHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWFkNmNcdWFjMDRcdWM3NTggXHVhYzFjXHVjMjE4IEtcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWIyZTRcdWM3NGMgS1x1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWMyZTRcdWMyMThcdWI4NWMgXHVhZDZjXHVhYzA0XHVjNzU4IFx1YzY3Y1x1Y2FiZCwgXHVjNjI0XHViOTc4XHVjYWJkIFx1YjA1ZFx1YzgxMFx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YWM3NFx1YmIzY1x1Yzc1OCBcdWQwNmNcdWFlMzBcdWIyOTQgXHViOWU0XHVjNmIwIFx1ZDA2Y1x1YjJlNFx1YWNlMChcdWJiMzRcdWQ1NWNcdWQ1NThcdWIyZTRcdWFjZTApIFx1YWMwMFx1YzgxNVx1ZDU1OFx1YmE3MCwgXHVhYzc0XHViYjNjXHVjNzU4IFx1YzU5MSBcdWIwNWRcdWM4MTBcdWM3NTggXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IFx1Yzg4Y1x1ZDQ1YyBcdWIzMDBcdWMyZTBcdWM1ZDAgKlx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1Yzg4Y1x1ZDQ1Y1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NjAgXHViNTRjXHVjNWQwXHViMjk0IFx1YzE4Y1x1YzIxOFx1YzgxMCBcdWM1NDRcdWI3OTggXHViMTM3XHVjOWY4IFx1Yzc5MFx1YjlhY1x1YWU0Y1x1YzljMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQoXHViMmU0XHVjMTJmXHVjOWY4IFx1Yzc5MFx1YjlhY1x1YzVkMFx1YzExYyBcdWJjMThcdWM2MmNcdWI5YmMpPFwvcD4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIyMTAwIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQXJlYSA1MSIsImRlc2NyaXB0aW9uIjoiPHA+TWljaGFlbCBhbmQgTmljayBhcmUgbGl2aW5nIG5lYXIgdGhlIGZhbW91cyB0b3Atc2VjcmV0ICZsZHF1bztBcmVhIDUxJnJkcXVvOyBmYWNpbGl0eS4gVGhlIGZhY2lsaXR5IGlzIGVuY2xvc2VkIGJ5IGEgZmVuY2UgYW5kIGlzIHNvIGxhcmdlIHRoYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHRoaXMgcHJvYmxlbSB3ZSBjb25zaWRlciB0aGUgZmVuY2UgYmVpbmcgYSBsaW5lIHRoYXQgc3RyZXRjaGVzIGluZmluaXRlbHkgaW50byBib3RoIGRpcmVjdGlvbnMuPFwvcD5cclxuXHJcbjxwPk9ubHkgZXh0cmVtZWx5IGJyYXZlIGJveXMgYXJlIG5vdCBzY2FyZWQgdG8gZ28gdG8gdGhlIGZlbmNlIGFuZCBwZWVrIGF0IHRoZSBmYWNpbGl0eS4gTmljayBpcyBhbW9uZyB0aGUgYnJhdmUgb25lcy4gSGUgb25jZSBjYW1lIHRvIHRoZSBmZW5jZSBhbmQgc2F3IGEgbnVtYmVyIG9mIGNoaW1uZXlzIHdpdGggZGlzdGluY3Qgc2hhcGVzLiBBcyBhIHByb29mIG9mIGhpcyBicmF2ZXJ5IGhlIHRlbGxzIGV2ZXJ5Ym9keSB3aGF0IGNoaW1uZXlzIGhlIHNhdyBmcm9tIGhpcyBsZWZ0IHRvIGhpcyByaWdodC48XC9wPlxyXG5cclxuPHA+TWljaGFlbCZyc3F1bztzIGZhdGhlciBpcyB3b3JraW5nIGF0ICZsZHF1bztBcmVhIDUxJnJkcXVvOyBhbmQgaGFzIGEgZmFjaWxpdHkmcnNxdW87cyBtYXAgYXQgaGlzIGhvbWUuIE1pY2hhZWwgZm91bmQgdGhpcyBtYXAgYW5kIGhlIGNhbiBub3cgdmVyaWZ5IE5pY2smcnNxdW87cyBjbGFpbSBvZiBiZWluZyBuZWFyIHRoZSBmYWNpbGl0eSZyc3F1bztzIGZlbmNlLiBIb3dldmVyLCBpdCB0dXJucyBvdXQgdG8gYmUgY29tcGxpY2F0ZWQsIGFuZCB5b3VyIHRhc2sgaXMgdG8gd3JpdGUgYSBwcm9ncmFtIHRvIHBlcmZvcm0gdGhpcyB2ZXJpZmljYXRpb24uPFwvcD5cclxuXHJcbjxwPk9uIGEgbWFwIGRpc3RpbmN0bHkgc2hhcGVkIGNoaW1uZXlzIGFyZSBkZW5vdGVkIGJ5IGNhcGl0YWwgbGV0dGVycyBmcm9tIEEgdG8gWi4gRWFjaCBsZXR0ZXIgZGVub3RlcyBhIGRpc3RpbmN0IHNoYXBlLCBidXQgY2hpbW5leXMgd2l0aCB0aGlzIHNoYXBlIGNhbiBhcHBlYXIgbW9yZSB0aGFuIG9uY2Ugb24gYSBtYXAuIFRoZSBtYXAgdXNlcyBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0ZW0gb3JpZW50ZWQgc28gdGhhdCB0aGUgZmVuY2UgaXMgT3ggYXhpcyBhbmQgYWxsIGNoaW1uZXlzIGFyZSBsb2NhdGVkIG9uIGEgaGFsZi1wbGFuZSB3aXRoIGEgcG9zaXRpdmUgeSBjb29yZGluYXRlLiBBbGwgY2hpbW5leXMgYXJlIGNvbnNpZGVyZWQgdG8gYmUgcG9pbnRzICh0aGVpciBzaXplcyBhbmQgYWN0dWFsIGdlb21ldHJpY2FsIHNoYXBlcyBhcmUgaWdub3JlZCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGhpcyBwcm9ibGVtKS48XC9wPlxyXG5cclxuPHA+TmljayBjbGFpbXMgdGhhdCBoZSBsb29rZWQgZnJvbSBhIHBvaW50IG9uIHRoZSBmZW5jZSB3aGVyZSBubyB0d28gY2hpbW5leXMgd2VyZSBvbiB0aGUgc2FtZSBsaW5lIG9mIGhpcyBzaWdodCAoYSBsaW5lIHRoYXQgb3JpZ2luYXRlcyBmcm9tIGhpcyBwb2ludCBvZiB2aWV3KS4gSXQgbWVhbnMgdGhhdCBhdCB0aGUgcG9pbnQgaGUgbG9va2VkIGZyb20sIGFsbCB0aGUgY2hpbW5leXMgaGUgc2F3IGhhZCBhIHdlbGwtZGVmaW5lZCBvcmRlciBmcm9tIGxlZnQgdG8gcmlnaHQuPFwvcD5cclxuXHJcbjxwPk1pY2hhZWwgaGF2ZSBhbHJlYWR5IG1hZGUgYSBwcmVsaW1pbmFyeSB2ZXJpZmljYXRpb24gb2YgTmljayZyc3F1bztzIGNsYWltLiBIZSBtYWRlIHN1cmUgdGhhdCB0aGUgbnVtYmVyIG9mIGRpc3RpbmN0bHkgc2hhcGVkIGNoaW1uZXlzIG1hdGNoZXMgdGhlaXIgbnVtYmVyIG9uIHRoZSBtYXAuIE5vdyBNaWNoYWVsIG5lZWRzIHRvIHBlcmZvcm0gYSBmaW5hbCB2ZXJpZmljYXRpb24gJm1kYXNoOyB0byBnZXQgYSBsaXN0IG9mIHggY29vcmRpbmF0ZXMgb24gYSBmZW5jZSAoaWYgYW55KSB3aGVyZSB0aGUgY29ycmVzcG9uZGluZyBhcnJhbmdlbWVudCBvZiBjaGltbmV5cyBjb3VsZCBiZSBzZWVuIGZyb20uIFRoaXMgaW5mb3JtYXRpb24gc2hhbGwgYmUgcHJlc2VudGVkIGFzIGFuIG9yZGVyZWQgbGlzdCBvZiBvcGVuIGludGVydmFscyAoYTxzdWI+MTxcL3N1Yj4sIGI8c3ViPjE8XC9zdWI+KSwgKGE8c3ViPjI8XC9zdWI+LCBiPHN1Yj4yPFwvc3ViPiksIC4uLiwgKGE8c3ViPm48XC9zdWI+LCBiPHN1Yj5uPFwvc3ViPiksIHNvIHRoYXQgYTxzdWI+MTxcL3N1Yj4gJmx0OyBiPHN1Yj4xPFwvc3ViPiAmbGU7IGE8c3ViPjI8XC9zdWI+ICZsdDsgYjxzdWI+MjxcL3N1Yj4gJmxlOyAuLi4gJmxlOyBhPHN1Yj5uPFwvc3ViPiAmbHQ7IGI8c3ViPm48XC9zdWI+LiBBc3RlcmlzayBzeW1ib2wgKCZsZHF1bzsmbG93YXN0OyZyZHF1bzspIGlzIHVzZWQgaW4gcGxhY2Ugb2YgYTxzdWI+MTxcL3N1Yj4gYW5kXC9vciBibiB0byBkZW5vdGUgaW50ZXJ2YWwgdGhhdCBleHRlbmRzIHRvIGluZmluaXR5IG9uIHRoZSBsZWZ0IG9yIG9uIHRoZSByaWdodCBjb3JyZXNwb25kaW5nbHkuPFwvcD5cclxuXHJcbjxwPk5vdGUsIHRoYXQgYjxzdWI+aTxcL3N1Yj4gPSBhPHN1Yj5pPFwvc3ViPisxID0geCBpbiBjYXNlIHdoZXJlIE5pY2sgY291bGQgbm90IGhhdmUgYmVlbiBhdCB0aGUgcG9pbnQgeCBvbiBhIGZlbmNlLCBiZWNhdXNlIGhlIHdvdWxkIGhhdmUgc2VlbiBtb3JlIHRoYW4gb25lIGNoaW1uZXkgb24gYSBzaW5nbGUgbGluZSBvZiBoaXMgc2lnaHQsIGJ1dCBiZWluZyB0byB0aGUgbGVmdCBvciB0byB0aGUgcmlnaHQgb2YgeCB5aWVsZHMgdGhlIG9yZGVyIG9mIGNoaW1uZXlzIHRoYXQgaGUgc2F3LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIFx1ZmIwMXJzdCBsaW5lIG9mIHRoZSBpbnB1dCBcdWZiMDFsZSBjb250YWlucyBhbiBpbnRlZ2VyIG51bWJlciBtICZtZGFzaDsgdGhlIG51bWJlciBvZiBjaGltbmV5cyBhdCB0aGUgJmxkcXVvO0FyZWEgNTEmcmRxdW87IGZhY2lsaXR5ICgxICZsZTsgbSAmbGU7IDEwMCkuIFRoZSBzZWNvbmQgbGluZSBvZiB0aGUgaW5wdXQgXHVmYjAxbGUgY29udGFpbnMgYSBzdHJpbmcgb2YgbSBsZXR0ZXJzIGZyb20gQSB0byBaIHRoYXQgZGVzY3JpYmUgdGhlIGNoaW1uZXlzIHRoYXQgTmljayBzYXcgZnJvbSBoaXMgbGVmdCB0byBoaXMgcmlnaHQuIEEgc2luZ2xlIGxldHRlciBjYW4gYmUgdXNlZCBtb3JlIHRoYW4gb25jZSAoaWYgTmljayBzYXcgdGhlIHNhbWUgc2hhcGUgbW9yZSB0aGFuIG9uY2UpLiBUaGVuIGZvbGxvdyBtIGxpbmVzIHRoYXQgZGVzY3JpYmUgY2hpbW5leXMgb24gdGhlIG1hcC4gRWFjaCBsaW5lIGNvbnRhaW5zIHRocmVlIHRva2VucyBzZXBhcmF0ZWQgYnkgc3BhY2VzICZtZGFzaDsgY2hpbW5leSBzaGFwZSBsZXR0ZXIgKGZyb20gQSB0byBaKSwgYW5kIHR3byBpbnRlZ2VycyB4PHN1Yj5pPFwvc3ViPiBhbmQgeTxzdWI+aTxcL3N1Yj4gJm1kYXNoOyBjaGltbmV5IGNvb3JkaW5hdGVzICgmbWludXM7MTAwICZsZTsgeDxzdWI+aTxcL3N1Yj4gJmxlOyAxMDAsIDAgJmx0OyB5PHN1Yj5pPFwvc3ViPiAmbGU7IDEwMCkuIE9uIHRoZXNlIG0gbGluZXMgbGV0dGVycyBhcHBlYXIgaW4gYXJiaXRyYXJ5IG9yZGVyLCBidXQgZWFjaCBsZXR0ZXIgZnJvbSBBIHRvIFogYXBwZWFycyB0aGUgc2FtZSBudW1iZXIgb2YgdGltZXMgYXMgb24gdGhlIHNlY29uZCBsaW5lIG9mIHRoZSBpbnB1dCBcdWZiMDFsZS4gTm8gdHdvIGNoaW1uZXlzIGhhdmUgdGhlIHNhbWUgY29vcmRpbmF0ZXMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+V3JpdGUgdG8gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIG91dHB1dCBmaWxlIGEgc2luZ2xlIGludGVnZXIgbnVtYmVyIG4gJm1kYXNoOyB0aGUgbnVtYmVyIG9mIGludGVydmFscyB0aGF0IGRlc2NyaWJlIHggY29vcmRpbmF0ZXMgb24gYSBmZW5jZSB3aGVyZSBOaWNrIGNvdWxkIGhhdmUgc2VlbiB0aGUgY29ycmVzcG9uZGluZyBhcnJhbmdlbWVudCBvZiBjaGltbmV5cyBmcm9tLiBXcml0ZSB0byB0aGUgc2Vjb25kIGxpbmUgb2YgdGhlIG91dHB1dCBmaWxlIDJuIG51bWJlcnMgYTxzdWI+MTxcL3N1Yj4sIGI8c3ViPjE8XC9zdWI+LCAuLi4gLCBhPHN1Yj5uPFwvc3ViPiwgYjxzdWI+bjxcL3N1Yj4gdXNpbmcgJmxkcXVvOyZsb3dhc3Q7JnJkcXVvOyBpbnN0ZWFkIG9mIGEgbnVtYmVyIGE8c3ViPjE8XC9zdWI+IGFuZFwvb3IgYjxzdWI+bjxcL3N1Yj4gdG8gZGVub3RlIGluZmluaXR5LiBOdW1iZXJzIG11c3QgYmUgcHJlY2lzZSB1cCB0byAxMDxzdXA+Jm1pbnVzOzY8XC9zdXA+LjxcL3A+XHJcbiIsImhpbnQiOiI8cD5UaGUgcGljdHVyZSBiZWxvdyBzaG93cyB0aGF0IGlmIHRoZSBib3kgbG9va3MgZnJvbSB0aGUgcG9pbnQgeCA9ICZtaW51czs3IGhlIHNlZXMgdGhlIGNoaW1uZXlzIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IEMsIEQsIEQsIEMuIEl0IGlzIHNvIGZvciBhbnkgcG9pbnQgZnJvbSB0aGUgc2V0ICgmbWludXM7JmluZmluOywgJm1pbnVzOzExKSAmY3VwOyAoJm1pbnVzOzExLCAmbWludXM7My41KSAmY3VwOyAoMTQsICsmaW5maW47KSAmbWRhc2g7IHRoZSBmaXJzdCBleGFtcGxlIGZyb20gdGhlIHByb2JsZW0gc3RhdGVtZW50LjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2FyZWE1MS5wbmdcIiBzdHlsZT1cImhlaWdodDoyNDRweDsgd2lkdGg6NTI5cHhcIiBcLz48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==