시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB63328721446.022%

문제

N(1≤N≤26)명의 사람이 테니스 시합을 하려 한다. 테니스 게임은 두 명이 하는 것이 일반적이지만, 이 문제에서는 테니스 규칙을 조금 변경하여 N명이 함께 플레이하는 형태가 된다. 즉, N명의 선수들이 모두 하나의 코트에 올라 게임을 진행하는 형식이다.

기본적으로 하나의 시합은 여러 개의 세트로 이루어진다. 각각의 세트는 다시 여러 개의 게임으로 이루어진다. 각각의 게임은 다시 여러 개의 턴으로 이루어진다. 즉 게임에서 이기기 위해서는 먼저 턴을 이기고, 이를 통해 게임을 이긴 뒤, 다시 이를 통해 세트를 이기면 된다.

시합을 하다 보면 서브를 하는 사람이 중요한데, 서브는 각 턴에서 순서대로 하고, 각 게임에서는 이전 게임에서 제일 먼저 서브를 했던 사람의 다음 사람부터 서브를 하고, 각 세트의 첫 번째 게임의 첫 턴에서는 이전 세트의 첫 게임에서 처음 서브를 한 사람의 다음 사람이 서브를 하게 된다. 예를 들어 N=3일 때 서브를 하는 순서는 다음과 같다. 각각의 사람은 알파벳 대문자로 A부터 차례로 표현된다.

  • [1 세트]
    • 게임 1 : A, B, C, A, …
    • 게임 2 : B, C, A, …
    • 게임 3 : C, A, B, …
    • 게임 4 : A, B, C, …
  • [2 세트]
    • 게임 1 : B, C, A, B, …
    • 게임 2 : C, A, B, …
    • 게임 3 : A, B, C, A, …

각 게임의 승자를 가리는 규칙은 다음과 같다. 먼저 각각의 선수들은 0점에서 각 게임을 시작하게 된다. 각 선수들이 하나의 턴에서 이길 경우, 그 선수의 점수의 변화 및 게임의 승자에 대한 규칙은 다음과 같다. 규칙의 우선순위는 (1) > (2) > (3) > (4) 순서이다.

  1. 만약 x의 현재 점수가 3점이고 다른 선수들이 모두 2점을 넘지 못했으면 x가 그 게임을 이기게 된다.
  2. 만약 x의 현재 점수가 4점이면 x가 그 게임을 이기게 된다.
  3. 만약 x가 아닌 선수의 현재 점수가 4점이면 그 선수는 1점을 잃게 된다.
  4. 위의 경우가 아닌 경우 x가 단순히 1점을 얻게 된다.

하나의 세트의 승자는 최소 6개의 게임을 이겼으며, 다른 모든 선수들보다 최소 두 게임을 더 이긴 선수가 된다. 또한 시합의 승자는 최소 3개의 세트를 이긴 선수가 된다. 단, 어떤 세트에서 하나의 선수가 모든 게임을 이긴 경우에는 두 개의 세트를 이긴 것으로 친다.

테니스 시합이 진행될 때, 각 게임의 승자가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N와 스트링 S가 주어진다. S는 각 게임에서의 승자를 차례대로 나열한 스트링이다. 단순히 각 게임의 승자만을 나열한 것이기 때문에, 어디까지가 어떤 세트이고 어떤 게임인지를 알기 위해서는 이 스트링을 위의 규칙대로 분석하여야 한다. 스트링의 길이는 100,000을 넘지 않는다. 주어지는 입력이 잘못된 경우는 없다고 가정한다.

출력

첫째 줄에 승자를 출력한다.

예제 입력 1

3 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

예제 출력 1

B
W3sicHJvYmxlbV9pZCI6IjIxODMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQxNGNcdWIyYzhcdWMyYTQgXHVjMmRjXHVkNTY5IiwiZGVzY3JpcHRpb24iOiI8cD5OKDEmbGU7TiZsZTsyNilcdWJhODVcdWM3NTggXHVjMGFjXHViNzhjXHVjNzc0IFx1ZDE0Y1x1YjJjOFx1YzJhNCBcdWMyZGNcdWQ1NjlcdWM3NDQgXHVkNTU4XHViODI0IFx1ZDU1Y1x1YjJlNC4gXHVkMTRjXHViMmM4XHVjMmE0IFx1YWM4Y1x1Yzc4NFx1Yzc0MCBcdWI0NTAgXHViYTg1XHVjNzc0IFx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzQgXHVjNzdjXHViYzE4XHVjODAxXHVjNzc0XHVjOWMwXHViOWNjLCBcdWM3NzQgXHViYjM4XHVjODFjXHVjNWQwXHVjMTFjXHViMjk0IFx1ZDE0Y1x1YjJjOFx1YzJhNCBcdWFkZGNcdWNlNTlcdWM3NDQgXHVjODcwXHVhZTA4IFx1YmNjMFx1YWNiZFx1ZDU1OFx1YzVlYyBOXHViYTg1XHVjNzc0IFx1ZDU2OFx1YWVkOCBcdWQ1MGNcdWI4MDhcdWM3NzRcdWQ1NThcdWIyOTQgXHVkNjE1XHVkMGRjXHVhYzAwIFx1YjQxY1x1YjJlNC4gXHVjOTg5LCBOXHViYTg1XHVjNzU4IFx1YzEyMFx1YzIxOFx1YjRlNFx1Yzc3NCBcdWJhYThcdWI0NTAgXHVkNTU4XHViMDk4XHVjNzU4IFx1Y2Y1NFx1ZDJiOFx1YzVkMCBcdWM2MmNcdWI3N2MgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1YzljNFx1ZDU4OVx1ZDU1OFx1YjI5NCBcdWQ2MTVcdWMyZGRcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWUzMFx1YmNmOFx1YzgwMVx1YzczY1x1Yjg1YyBcdWQ1NThcdWIwOThcdWM3NTggXHVjMmRjXHVkNTY5XHVjNzQwIFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3NTggXHVjMTM4XHVkMmI4XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNFx1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzEzOFx1ZDJiOFx1YjI5NCBcdWIyZTRcdWMyZGMgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWFjOGNcdWM3ODRcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDFcdWFjMDFcdWM3NTggXHVhYzhjXHVjNzg0XHVjNzQwIFx1YjJlNFx1YzJkYyBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1ZDEzNFx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzRcdWIyZTQuIFx1Yzk4OSBcdWFjOGNcdWM3ODRcdWM1ZDBcdWMxMWMgXHVjNzc0XHVhZTMwXHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExY1x1YjI5NCBcdWJhM2NcdWM4MDAgXHVkMTM0XHVjNzQ0IFx1Yzc3NFx1YWUzMFx1YWNlMCwgXHVjNzc0XHViOTdjIFx1ZDFiNVx1ZDU3NCBcdWFjOGNcdWM3ODRcdWM3NDQgXHVjNzc0XHVhZTM0IFx1YjRhNCwgXHViMmU0XHVjMmRjIFx1Yzc3NFx1Yjk3YyBcdWQxYjVcdWQ1NzQgXHVjMTM4XHVkMmI4XHViOTdjIFx1Yzc3NFx1YWUzMFx1YmE3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzJkY1x1ZDU2OVx1Yzc0NCBcdWQ1NThcdWIyZTQgXHViY2Y0XHViYTc0IFx1YzExY1x1YmUwY1x1Yjk3YyBcdWQ1NThcdWIyOTQgXHVjMGFjXHViNzhjXHVjNzc0IFx1YzkxMVx1YzY5NFx1ZDU1Y1x1YjM3MCwgXHVjMTFjXHViZTBjXHViMjk0IFx1YWMwMSBcdWQxMzRcdWM1ZDBcdWMxMWMgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1ZDU1OFx1YWNlMCwgXHVhYzAxIFx1YWM4Y1x1Yzc4NFx1YzVkMFx1YzExY1x1YjI5NCBcdWM3NzRcdWM4MDQgXHVhYzhjXHVjNzg0XHVjNWQwXHVjMTFjIFx1YzgxY1x1Yzc3YyBcdWJhM2NcdWM4MDAgXHVjMTFjXHViZTBjXHViOTdjIFx1ZDU4OFx1YjM1OCBcdWMwYWNcdWI3OGNcdWM3NTggXHViMmU0XHVjNzRjIFx1YzBhY1x1Yjc4Y1x1YmQ4MFx1ZDEzMCBcdWMxMWNcdWJlMGNcdWI5N2MgXHVkNTU4XHVhY2UwLCBcdWFjMDEgXHVjMTM4XHVkMmI4XHVjNzU4IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVhYzhjXHVjNzg0XHVjNzU4IFx1Y2NhYiBcdWQxMzRcdWM1ZDBcdWMxMWNcdWIyOTQgXHVjNzc0XHVjODA0IFx1YzEzOFx1ZDJiOFx1Yzc1OCBcdWNjYWIgXHVhYzhjXHVjNzg0XHVjNWQwXHVjMTFjIFx1Y2M5OFx1Yzc0YyBcdWMxMWNcdWJlMGNcdWI5N2MgXHVkNTVjIFx1YzBhY1x1Yjc4Y1x1Yzc1OCBcdWIyZTRcdWM3NGMgXHVjMGFjXHViNzhjXHVjNzc0IFx1YzExY1x1YmUwY1x1Yjk3YyBcdWQ1NThcdWFjOGMgXHViNDFjXHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0IE49M1x1Yzc3YyBcdWI1NGMgXHVjMTFjXHViZTBjXHViOTdjIFx1ZDU1OFx1YjI5NCBcdWMyMWNcdWMxMWNcdWIyOTQgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzBhY1x1Yjc4Y1x1Yzc0MCBcdWM1NGNcdWQzMGNcdWJjYjMgXHViMzAwXHViYjM4XHVjNzkwXHViODVjIEFcdWJkODBcdWQxMzAgXHVjYzI4XHViODQwXHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5bMSBcdWMxMzhcdWQyYjhdXHJcblx0PHVsPlxyXG5cdFx0PGxpPlx1YWM4Y1x1Yzc4NCAxIDogQSwgQiwgQywgQSwgJmhlbGxpcDs8XC9saT5cclxuXHRcdDxsaT5cdWFjOGNcdWM3ODQgMiA6IEIsIEMsIEEsICZoZWxsaXA7PFwvbGk+XHJcblx0XHQ8bGk+XHVhYzhjXHVjNzg0IDMgOiBDLCBBLCBCLCAmaGVsbGlwOzxcL2xpPlxyXG5cdFx0PGxpPlx1YWM4Y1x1Yzc4NCA0IDogQSwgQiwgQywgJmhlbGxpcDs8XC9saT5cclxuXHRcdDxsaT4maGVsbGlwOzxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5bMiBcdWMxMzhcdWQyYjhdXHJcblx0PHVsPlxyXG5cdFx0PGxpPlx1YWM4Y1x1Yzc4NCAxIDogQiwgQywgQSwgQiwgJmhlbGxpcDs8XC9saT5cclxuXHRcdDxsaT5cdWFjOGNcdWM3ODQgMiA6IEMsIEEsIEIsICZoZWxsaXA7PFwvbGk+XHJcblx0XHQ8bGk+XHVhYzhjXHVjNzg0IDMgOiBBLCBCLCBDLCBBLCAmaGVsbGlwOzxcL2xpPlxyXG5cdFx0PGxpPiZoZWxsaXA7PFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPiZoZWxsaXA7PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVhYzAxIFx1YWM4Y1x1Yzc4NFx1Yzc1OCBcdWMyYjlcdWM3OTBcdWI5N2MgXHVhYzAwXHViOWFjXHViMjk0IFx1YWRkY1x1Y2U1OVx1Yzc0MCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LiBcdWJhM2NcdWM4MDAgXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzEyMFx1YzIxOFx1YjRlNFx1Yzc0MCAwXHVjODEwXHVjNWQwXHVjMTFjIFx1YWMwMSBcdWFjOGNcdWM3ODRcdWM3NDQgXHVjMmRjXHVjNzkxXHVkNTU4XHVhYzhjIFx1YjQxY1x1YjJlNC4gXHVhYzAxIFx1YzEyMFx1YzIxOFx1YjRlNFx1Yzc3NCBcdWQ1NThcdWIwOThcdWM3NTggXHVkMTM0XHVjNWQwXHVjMTFjIFx1Yzc3NFx1YWUzOCBcdWFjYmRcdWM2YjAsIFx1YWRmOCBcdWMxMjBcdWMyMThcdWM3NTggXHVjODEwXHVjMjE4XHVjNzU4IFx1YmNjMFx1ZDY1NCBcdWJjMGYgXHVhYzhjXHVjNzg0XHVjNzU4IFx1YzJiOVx1Yzc5MFx1YzVkMCBcdWIzMDBcdWQ1NWMgXHVhZGRjXHVjZTU5XHVjNzQwIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWIyZTQuIFx1YWRkY1x1Y2U1OVx1Yzc1OCBcdWM2YjBcdWMxMjBcdWMyMWNcdWM3MDRcdWIyOTQgKDEpICZndDsgKDIpICZndDsgKDMpICZndDsgKDQpIFx1YzIxY1x1YzExY1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT5cdWI5Y2NcdWM1N2QgeFx1Yzc1OCBcdWQ2MDRcdWM3YWMgXHVjODEwXHVjMjE4XHVhYzAwIDNcdWM4MTBcdWM3NzRcdWFjZTAgXHViMmU0XHViOTc4IFx1YzEyMFx1YzIxOFx1YjRlNFx1Yzc3NCBcdWJhYThcdWI0NTAgMlx1YzgxMFx1Yzc0NCBcdWIxMThcdWM5YzAgXHViYWJiXHVkNTg4XHVjNzNjXHViYTc0IHhcdWFjMDAgXHVhZGY4IFx1YWM4Y1x1Yzc4NFx1Yzc0NCBcdWM3NzRcdWFlMzBcdWFjOGMgXHViNDFjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWI5Y2NcdWM1N2QgeFx1Yzc1OCBcdWQ2MDRcdWM3YWMgXHVjODEwXHVjMjE4XHVhYzAwIDRcdWM4MTBcdWM3NzRcdWJhNzQgeFx1YWMwMCBcdWFkZjggXHVhYzhjXHVjNzg0XHVjNzQ0IFx1Yzc3NFx1YWUzMFx1YWM4YyBcdWI0MWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjljY1x1YzU3ZCB4XHVhYzAwIFx1YzU0NFx1YjJjYyBcdWMxMjBcdWMyMThcdWM3NTggXHVkNjA0XHVjN2FjIFx1YzgxMFx1YzIxOFx1YWMwMCA0XHVjODEwXHVjNzc0XHViYTc0IFx1YWRmOCBcdWMxMjBcdWMyMThcdWIyOTQgMVx1YzgxMFx1Yzc0NCBcdWM3ODNcdWFjOGMgXHViNDFjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWM3MDRcdWM3NTggXHVhY2JkXHVjNmIwXHVhYzAwIFx1YzU0NFx1YjJjYyBcdWFjYmRcdWM2YjAgeFx1YWMwMCBcdWIyZThcdWMyMWNcdWQ3ODggMVx1YzgxMFx1Yzc0NCBcdWM1YmJcdWFjOGMgXHViNDFjXHViMmU0LjxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWMxMzhcdWQyYjhcdWM3NTggXHVjMmI5XHVjNzkwXHViMjk0IFx1Y2Q1Y1x1YzE4YyA2XHVhYzFjXHVjNzU4IFx1YWM4Y1x1Yzc4NFx1Yzc0NCBcdWM3NzRcdWFjYmNcdWM3M2NcdWJhNzAsIFx1YjJlNFx1Yjk3OCBcdWJhYThcdWI0ZTAgXHVjMTIwXHVjMjE4XHViNGU0XHViY2Y0XHViMmU0IFx1Y2Q1Y1x1YzE4YyBcdWI0NTAgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1YjM1NCBcdWM3NzRcdWFlMzQgXHVjMTIwXHVjMjE4XHVhYzAwIFx1YjQxY1x1YjJlNC4gXHViNjEwXHVkNTVjIFx1YzJkY1x1ZDU2OVx1Yzc1OCBcdWMyYjlcdWM3OTBcdWIyOTQgXHVjZDVjXHVjMThjIDNcdWFjMWNcdWM3NTggXHVjMTM4XHVkMmI4XHViOTdjIFx1Yzc3NFx1YWUzNCBcdWMxMjBcdWMyMThcdWFjMDAgXHViNDFjXHViMmU0LiBcdWIyZTgsIFx1YzViNFx1YjVhNCBcdWMxMzhcdWQyYjhcdWM1ZDBcdWMxMWMgXHVkNTU4XHViMDk4XHVjNzU4IFx1YzEyMFx1YzIxOFx1YWMwMCBcdWJhYThcdWI0ZTAgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1Yzc3NFx1YWUzNCBcdWFjYmRcdWM2YjBcdWM1ZDBcdWIyOTQgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWMxMzhcdWQyYjhcdWI5N2MgXHVjNzc0XHVhZTM0IFx1YWM4M1x1YzczY1x1Yjg1YyBcdWNlNWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDE0Y1x1YjJjOFx1YzJhNCBcdWMyZGNcdWQ1NjlcdWM3NzQgXHVjOWM0XHVkNTg5XHViNDIwIFx1YjU0YywgXHVhYzAxIFx1YWM4Y1x1Yzc4NFx1Yzc1OCBcdWMyYjlcdWM3OTBcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHVjZDVjXHVjODg1IFx1YzJiOVx1Yzc5MFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjODE1XHVjMjE4IE5cdWM2NDAgXHVjMmE0XHVkMmI4XHViOWMxIFNcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBTXHViMjk0IFx1YWMwMSBcdWFjOGNcdWM3ODRcdWM1ZDBcdWMxMWNcdWM3NTggXHVjMmI5XHVjNzkwXHViOTdjIFx1Y2MyOFx1Yjg0MFx1YjMwMFx1Yjg1YyBcdWIwOThcdWM1ZjRcdWQ1NWMgXHVjMmE0XHVkMmI4XHViOWMxXHVjNzc0XHViMmU0LiBcdWIyZThcdWMyMWNcdWQ3ODggXHVhYzAxIFx1YWM4Y1x1Yzc4NFx1Yzc1OCBcdWMyYjlcdWM3OTBcdWI5Y2NcdWM3NDQgXHViMDk4XHVjNWY0XHVkNTVjIFx1YWM4M1x1Yzc3NFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAsIFx1YzViNFx1YjUxNFx1YWU0Y1x1YzljMFx1YWMwMCBcdWM1YjRcdWI1YTQgXHVjMTM4XHVkMmI4XHVjNzc0XHVhY2UwIFx1YzViNFx1YjVhNCBcdWFjOGNcdWM3ODRcdWM3NzhcdWM5YzBcdWI5N2MgXHVjNTRjXHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExY1x1YjI5NCBcdWM3NzQgXHVjMmE0XHVkMmI4XHViOWMxXHVjNzQ0IFx1YzcwNFx1Yzc1OCBcdWFkZGNcdWNlNTlcdWIzMDBcdWI4NWMgXHViZDg0XHVjMTFkXHVkNTU4XHVjNWVjXHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVjMmE0XHVkMmI4XHViOWMxXHVjNzU4IFx1YWUzOFx1Yzc3NFx1YjI5NCAxMDAsMDAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuIFx1YzhmY1x1YzViNFx1YzljMFx1YjI5NCBcdWM3ODVcdWI4MjVcdWM3NzQgXHVjNzk4XHViYWJiXHViNDFjIFx1YWNiZFx1YzZiMFx1YjI5NCBcdWM1YzZcdWIyZTRcdWFjZTAgXHVhYzAwXHVjODE1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjMmI5XHVjNzkwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyMTgzIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQWxwaGEgQ2VudGF1cmkgVGVubmlzIiwiZGVzY3JpcHRpb24iOiI8cD5BcyB5b3UgbWF5IGtub3csIHBsYW5ldHMgb2YgQWxwaGEgQ2VudGF1cmkgKGlmIHRoZXkgaW5kZWVkIGRvIGV4aXN0KSB3b3VsZCBwcm92aWRlIGV4Y2VsbGVudCBjb25kaXRpb25zIGZvciBpbnRlbGxpZ2VudCBsaWZlIGZvcm1zLjxcL3A+XHJcblxyXG48cD5JdCBpcyBpbmRlZWQgdHJ1ZSB0aGF0IHRoZXJlIGlzIGEgc21hbGwgRWFydGhsaWtlIHBsYW5ldCBuZWFyIEFscGhhIENlbnRhdXJpLCBpbmhhYml0ZWQgYnkgYSBwb3B1bGF0aW9uIG9mIG5vIHBhcnRpY3VsYXIgc2lnbmlmaWNhbmNlLiBUaGVzZSBodW1hbmxpa2UgY3JlYXR1cmVzIGhhdmUgbXVjaCBpbiBjb21tb24gd2l0aCB1cy4gTGl2aW5nIGluIHNpbWlsYXIgY29tdW5pdGllcyBhbmQgaGF2aW5nIHNpbWlsYXIgYm9keSBzdHJ1Y3R1cmUgYW5kIGJlaGF2aW9yYWwgcGF0dGVybnMsIHRoZXkgdW5zdXJwcmlzaW5nbHkgYXBwcmVjaWF0ZSAoYXBwcm94aW1hdGVseSkgdGhlIHNhbWUgdGltZS1raWxsaW5nIGFjdGl2aXRpZXMgYXMgd2UgZG8uIE9uZSBvZiB0aGVzZSwgdGhlIHNlY29uZCBtb3N0IHBvcHVsYXIgYWZ0ZXIgQWxwaGEgQ2VudGF1cmkgQ3JvcXVldCwgaXMgdGhlIEFscGhhIENlbnRhdXJpIFRlbm5pcy48XC9wPlxyXG5cclxuPHA+QWx0aG91Z2ggaXRzIHJ1bGVzIGRpZmZlciBmcm9tIEVhcnRoIFRlbm5pcywgdGhlIHR3byBwbGF5ZXIgdmVyc2lvbiBvZiBBbHBoYSBDZW50YXVyaSBUZW5uaXMgcmVzZW1ibGVzIGl0IGluIG1hbnkgd2F5cy4gU2FtZSBhcyBFYXJ0aCBUZW5uaXMsIGl0IGlzIHBsYXllZCBvbiBhIHJlY3Rhbmd1bGFyIGNvdXJ0IGRpdmlkZWQgaW50byB0d28gcGFydHMgYnkgYSBuZXQuIFR3byBwbGF5ZXJzLCBzdGFuZGluZyBvbiBvcHBvc2l0ZSBzaWRlcyBvZiBpdCwgdXNlIGEgc3RyaW5nZWQgcmFja2V0IHRvIGhpdCBhIGJhbGwgYmFjayBhbmQgZm9ydGggdG8gZWFjaCBvdGhlci4gVGhlcmUgYXJlIGNlcnRhaW4gcnVsZXMgaG93IHRvIGhpdCB0aGUgYmFsbC4gVGhlIHBsYXllciB3aG8gZm9yY2VzIGhpcyBvcHBvbmVudCB0byB2aW9sYXRlIG9uZSBvZiB0aGVzZSBydWxlcyB3aW5zIHRoZSBjdXJyZW50IGJhbGwuIFRoZSBhaW0gb2YgYm90aCBwbGF5ZXJzIGlzIHRvIHdpbiBlbm91Z2ggYmFsbHMgdG8gd2luIGEgZ2FtZSwgZW5vdWdoIGdhbWVzIHRvIHdpbiBhIHNldCBhbmQgZW5vdWdoIHNldHMgdG8gd2luIHRoZSB3aG9sZSBtYXRjaC4gSW4gdGhlIE4gcGxheWVyIHZlcnNpb24gb2YgdGhlIEFscGhhIENlbnRhdXJpIFRlbm5pcyBhIGJhbGwgY2FuIGJlIHdvbiBieSBhbnkgb25lIG9mIHRoZSBOIHBsYXllcnMuIEFsdGhvdWdoIHRlY2huaWNhbCBkZXRhaWxzIG9mIHRoaXMgY2FuIGJlIGRpZmZpY3VsdCB0byBpbWFnaW5lLCBBbHBoYSBDZW50YXVyaWFucyBhcmUgZXh0cmVtZWx5IGludmVudGl2ZS48XC9wPlxyXG5cclxuPHA+SW4gdGhlIGdlbmVyYWwgTi1wbGF5ZXIgdmVyc2lvbiwgcGxheWVycyBzZXJ2ZSBpbiB0dXJucywgZm9sbG93aW5nIG9yZGVyIGRldGVybWluZWQgYmVmb3JlIHRoZSBtYXRjaC4gTW9yZW92ZXIsIHRoZXkgc2hpZnQgd2hlbiBzdGFydGluZyBpbmRpdmlkdWFsIGdhbWVzIGFuZCBzZXRzLiBGb3IgZXhhbXBsZSwgdGhlIHBsYXllcnMgYXJlIEEsIEIgYW5kIEMuIFRoZXkgYXJlIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuIFBsYXllciBBIHNlcnZlcyB0aGUgZmlyc3QgYmFsbCBvZiB0aGUgZmlyc3QgZ2FtZS4gV2hlbiB0aGUgYmFsbCBpcyB3b24gYnkgb25lIG9mIHRoZSBwbGF5ZXJzLCBpdHMgQiYjMzk7cyB0dXJuIHRvIHNlcnZlLiBBZnRlciB0aGUgZ2FtZSBpcyB3b24gYnkgb25lIG9mIHRoZSBwbGF5ZXJzLCBwbGF5ZXIgQiBzdGFydHMgdGhlIHNlY29uZCBnYW1lLiBGaW5hbGx5LCB3aGVuIHRoZSBmaXJzdCBzZXQgaXMgd29uIGJ5IHNvbWVvbmUsIHBsYXllciBCIHN0YXJ0cyB0aGUgc2Vjb25kIHNldC4gVGhpcyByZXBlYXRzLCBhbHdheXMgc2hpZnRlZCBieSBvbmUgcGxheWVyLCB1bnRpbCB0aGUgbWF0Y2ggZW5kcy48XC9wPlxyXG5cclxuPHA+Rm9yIHRocmVlIHBsYXllcnMgdGhlIHNlcnZpbmcgb3JkZXIgbG9va3MgYXMgZm9sbG93czombmJzcDs8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5TZXQgMTombmJzcDtcclxuXHQ8dWw+XHJcblx0XHQ8bGk+R2FtZSAxOiBBLEIsQyxBLEIsQy4uLiZuYnNwOzxcL2xpPlxyXG5cdFx0PGxpPkdhbWUgMjogQixDLEEsLi4uLiZuYnNwOzxcL2xpPlxyXG5cdFx0PGxpPkdhbWUgMzogQyxBLEIsLi4uLiZuYnNwOzxcL2xpPlxyXG5cdFx0PGxpPkdhbWUgNDogQSxCLEMsLi4uLiZuYnNwOzxcL2xpPlxyXG5cdFx0PGxpPi4uLiZuYnNwOzxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG5cdDxsaT5TZXQgMjombmJzcDtcclxuXHQ8dWw+XHJcblx0XHQ8bGk+R2FtZSAxOiBCLEMsQSxCLC4uLi4mbmJzcDs8XC9saT5cclxuXHRcdDxsaT5HYW1lIDI6IEMsQSxCLC4uLi4mbmJzcDs8XC9saT5cclxuXHRcdDxsaT5HYW1lIDM6IEEsQixDLEEsLi4uJm5ic3A7PFwvbGk+XHJcblx0XHQ8bGk+Li4uPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+VGhlcmUgYXJlIGV4YWN0IHJ1bGVzIGZvciBjb3VudGluZyB0aGUgbnVtYmVyIG9mIGJhbGxzXC9nYW1lc1wvc2V0cyB3b24gYnkgYSBwbGF5ZXIuPFwvcD5cclxuXHJcbjxwPlJVTEVTIEZPUiBXSU5OSU5HIEEgR0FNRTxcL3A+XHJcblxyXG48cD5UaGUgc3RhdGUgb2YgYSBnYW1lIGNhbiBiZSBkZXNjcmliZWQgYnkgYXNzaWduaW5nIGEgbm9uLW5lZ2F0aXZlIG51bWJlciBvZiBwb2ludHMgdG8gZWFjaCBvZiB0aGUgcGxheWVycy4gQXQgdGhlIGJlZ2lubmluZyBvZiBhIGdhbWUsIHRoZSBzY29yZSBvZiBlYWNoIHBsYXllciBpcyB6ZXJvLjxcL3A+XHJcblxyXG48cD5Ob3RlOiBJbiBFYXJ0aCB0ZXJtaW5vbG9neSwgMCBwb2ludHMgaXMgY2FsbGVkICZxdW90O2xvdmUmcXVvdDssIDEgcG9pbnQgaXMgYSAmcXVvdDtmaWZ0ZWVuJnF1b3Q7LCAyIHBvaW50cyBpcyBhICZxdW90O3RoaXJ0eSZxdW90OywgMyBwb2ludHMgaXMgYSAmcXVvdDtmb3J0eSZxdW90OyBhbmQgNCBwb2ludHMgaXMgYW4gJnF1b3Q7YWR2YW50YWdlJnF1b3Q7LiBCZSBnbGFkIHRoYXQgeW91IGRvbiYjMzk7dCBoYXZlIHRvIGxlYXJuIHRoZSBDZW50YXVyaWFuIHRlcm1pbm9sb2d5IDopPFwvcD5cclxuXHJcbjxwPldoZW4gYSBwbGF5ZXIgUCBqdXN0IHdvbiBhIGJhbGwsIHRoZSBuZXcgc2NvcmUgaXMgZGV0ZXJtaW5lZCBieSB1c2luZyB0aGUgZmlyc3QgcnVsZSBmcm9tIHRoZSBsaXN0IHRoYXQgYXBwbGllcyB0byB0aGUgc2l0dWF0aW9uLjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPklmIFAgY3VycmVudGx5IGhhcyAzIHBvaW50cyBhbmQgbm8gb3RoZXIgcGxheWVyIGhhcyBtb3JlIHRoYW4gMiBwb2ludHMsIFAgd2lucyB0aGUgY3VycmVudCBnYW1lLjxcL2xpPlxyXG5cdDxsaT5JZiBQIGN1cnJlbnRseSBoYXMgNCBwb2ludHMsIGhlIHdpbnMgdGhlIGdhbWUuPFwvbGk+XHJcblx0PGxpPklmIGFueSBvdGhlciBwbGF5ZXIgY3VycmVudGx5IGhhcyA0IHBvaW50cywgdGhhdCBwbGF5ZXIgbG9zZXMgb25lIHBvaW50LjxcL2xpPlxyXG5cdDxsaT5QIGdhaW5zIGEgcG9pbnQuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+UlVMRVMgRk9SIFdJTk5JTkcgQSBTRVQ8XC9wPlxyXG5cclxuPHA+VGhlIHNldCBpcyB3b24gYnkgdGhlIGZpcnN0IHBsYXllciB0aGF0IGF0IHRoZSBzYW1lIHRpbWU6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+d29uIGF0IGxlYXN0IDYgZ2FtZXMgaW4gdGhpcyBzZXQ8XC9saT5cclxuXHQ8bGk+d29uIGF0IGxlYXN0IDIgZ2FtZXMgbW9yZSB0aGFuIGFueSBvdGhlciBwbGF5ZXI8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5SVUxFUyBGT1IgV0lOTklORyBBIE1BVENIPFwvcD5cclxuXHJcbjxwPlRoZSB3aW5uZXIgaXMgdGhlIGZpcnN0IHBsYXllciB0byB3aW4gYXQgbGVhc3QgdGhyZWUgc2V0cy4gQSBzZXQgaW4gd2hpY2ggbm8gb3RoZXIgcGxheWVyIHdvbiBhIGdhbWUgY291bnRzIGFzIHR3byB3b24gc2V0cy48XC9wPlxyXG5cclxuPHA+QW4gb2JzZXJ2ZXIgZnJvbSB0aGUgSW50ZXJnYWxhY3RpYyBUZW5uaXMgRmVkZXJhdGlvbiB3YXMgd2F0Y2hpbmcgYSB0b3VybmFtZW50IGluIEFscGhhIENlbnRhdXJpIFRlbm5pcy4gQmVpbmcgdW5hYmxlIHRvIHVuZGVyc3RhbmQgQWxwaGEgQ2VudGF1cmlhbiBsYW5ndWFnZSwgaGUgb25seSBtYW5hZ2VkIHRvIHdyaXRlIGRvd24gdGhlIHdpbm5lciBvZiBlYWNoIGJhbGwuIE5vdywgZm9yIGVhY2ggbWF0Y2gsIGtub3dpbmcgdGhlIHNlcXVlbmNlIGluIHdoaWNoIHRoZSBwbGF5ZXJzIHdlcmUgd2lubmluZyB0aGUgYmFsbHMsIGhlIHdvdWxkIGxpa2UgdG8gc29tZWhvdyBkZXRlcm1pbmUgaXRzIHdpbm5lci48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZXJlIGFyZSBzZXZlcmFsIGxpbmVzIGluIHRoZSBpbnB1dCwgZWFjaCBjb3JyZXNwb25kaW5nIHRvIG9uZSBtYXRjaC4gRWFjaCBsaW5lIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YgcGxheWVycyBOIGFuZCBhIHN0cmluZyBTIGNvbnNpc3Rpbmcgb2YgdXBwZXJjYXNlIGxldHRlcnMuIFRoZSBwbGF5ZXJzIGFyZSByZXByZXNlbnRlZCBieSB0aGUgZmlyc3QgTiBsZXR0ZXJzIG9mIHRoZSBFbmdsaXNoIGFscGhhYmV0LiBJZiB0aGUgaS10aCBsZXR0ZXIgb2YgUyBpcyBYLCBpdCBtZWFucyB0aGUgcGxheWVyIFggd29uIHRoZSBpLXRoIGJhbGwgZnJvbSB0aGUgYmVnZ2luaW5nIG9mIHRoZSBtYXRjaC4gWW91IG1heSBhc3N1bWUgdGhhdCB0aGUgbWF0Y2ggdHJhbnNjcmlwdHMgYXJlIGNvcnJlY3QgYW5kIGNvbXBsZXRlLjxcL3A+XHJcblxyXG48cD5UaGUgb3JkZXIgaW4gd2hpY2ggdGhlIHBsYXllcnMgc2VydmUgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIG9mIHRoZWlyIGxldHRlcnMgaW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggbGluZSwgb3V0cHV0IGEgc2luZ2xlIGNoYXJhY3RlciwgYmVpbmcgdGhlIGxldHRlciBvZiB0aGUgcGxheWVyIHdobyB3b24gdGhlIGNvcnJlc3BvbmRpbmcgbWF0Y2guPFwvcD5cclxuIiwiaGludCI6IjxwPkIgaGFzIHdvbiB0d28gc2V0cywgZWFjaCBvZiB0aGVtIGJ5IHdpbm5pbmcgNiBnYW1lcywgd2hpbGUgQSBhbmQgQyB3b24gbm9uZS4gVGh1cyBlYWNoIG9mIHRoZXNlIHNldHMgY291bnRzIGFzIHR3byBhbmQgQiBoYXMgd29uIHRoZSBtYXRjaC48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=