시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 17 6 6 35.294%

문제

민혁이가 심시티 게임에서 플레이하고 있는 도시는 교통 정체가 상당히 심하다. 교통 정체는 게임을 플레이 할 수 없을 정도로 심해졌고, 민혁이는 엄청난 짜증을 느꼈다. 따라서, 민혁이는 새 도시를 시작하기로 결심했다.

이전 도시에서 교통 정체의 가장 큰 원인은 교차로였다. 교차로를 아무리 잘 설계해도, 게임 상의 AI 문제로 교통 정체는 피할 수 없는 선택이다. 교통 정체를 피하기 위해서는 교차로가 없는 도로를 만들면 된다. 

어떻게 교차로 없이 도시의 모든 곳을 방문할 수 있을까? 민혁이는 인터넷에서 열심히 살펴보다가 힐베르트 곡선을 찾았다. 힐베르트 곡선을 이용하면, 교차로 없이 도시를 만들 수 있을 것이다.

첫 번째 힐베르트 곡선을 컵(왼쪽 그림에 나와있는 ㄷ자) 하나로 이루어져 있다. 두 번째 힐베르트 곡선은 네 개의 작은 정사각형으로 나누어서, 거기에 작은 컵을 채운 다음에 세 컵을 직선으로 연결하면 된다.

힐베르트 곡선에 대한 설명은 4645번에 잘 나와 있기 때문에, 이 문제를 참고하면 된다.

모든 모퉁이에는 집이 하나씩 있고, 순서대로 번호가 매겨져 있다. 가장 왼쪽 위에 있는 집이 1번이고, 인접한 두 집 사이의 거리는 10이다.

몇 번째 힐베르특 곡선인지와 두 집의 번호가 주어졌을 때, 두 집 사이의 거리를 구하는 프로그램을 작성하시오. 모든 주민은 헬리콥터를 가지고 있어서, 도로를 이용하지 않고 하늘을 날아서 이동한다. 헬리콥터의 이륙과 착륙하는데 필요한 거리는 무시하며, 항상 최단거리를 이용한다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 세 정수 n, h, o 가 주어진다. 마을의 도로가 n은 몇 번째 힐베르트 곡선인지를 나타내며, h와 o는 거리를 구해야 하는 두 집의 번호이다. (n < 16, h,o < 231)

출력

각 테스트 케이스에 대해서, 입력으로 주어진 두 집의 거리를 가까운 정수로 반올림해서 출력한다.

예제 입력 1

3
1 1 2
2 16 1
3 4 33

예제 출력 1

10
30
50
W3sicHJvYmxlbV9pZCI6IjU0MDUiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ1MDRcdWI3OTlcdWQwYzggXHVhYzcwXHViOWFjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWJiZmNcdWQ2MDFcdWM3NzRcdWFjMDAgXHVjMmVjXHVjMmRjXHVkMmYwIFx1YWM4Y1x1Yzc4NFx1YzVkMFx1YzExYyBcdWQ1MGNcdWI4MDhcdWM3NzRcdWQ1NThcdWFjZTAgXHVjNzg4XHViMjk0IFx1YjNjNFx1YzJkY1x1YjI5NCBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHVhYzAwIFx1YzBjMVx1YjJmOVx1ZDc4OCBcdWMyZWNcdWQ1NThcdWIyZTQuIFx1YWQ1MFx1ZDFiNSBcdWM4MTVcdWNjYjRcdWIyOTQgXHVhYzhjXHVjNzg0XHVjNzQ0IFx1ZDUwY1x1YjgwOFx1Yzc3NCBcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1Yzc0NCBcdWM4MTVcdWIzYzRcdWI4NWMgXHVjMmVjXHVkNTc0XHVjODRjXHVhY2UwLCBcdWJiZmNcdWQ2MDFcdWM3NzRcdWIyOTQgXHVjNWM0XHVjY2FkXHViMDljIFx1YzlkY1x1Yzk5ZFx1Yzc0NCBcdWIyOTBcdWFmMDhcdWIyZTQuIFx1YjUzMFx1Yjc3Y1x1YzExYywgXHViYmZjXHVkNjAxXHVjNzc0XHViMjk0IFx1YzBjOCBcdWIzYzRcdWMyZGNcdWI5N2MgXHVjMmRjXHVjNzkxXHVkNTU4XHVhZTMwXHViODVjIFx1YWNiMFx1YzJlY1x1ZDU4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjODA0IFx1YjNjNFx1YzJkY1x1YzVkMFx1YzExYyBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHVjNzU4IFx1YWMwMFx1YzdhNSBcdWQwNzAgXHVjNmQwXHVjNzc4XHVjNzQwIFx1YWQ1MFx1Y2MyOFx1Yjg1Y1x1YzYwMFx1YjJlNC4gXHVhZDUwXHVjYzI4XHViODVjXHViOTdjIFx1YzU0NFx1YmIzNFx1YjlhYyBcdWM3OTggXHVjMTI0XHVhY2M0XHVkNTc0XHViM2M0LCBcdWFjOGNcdWM3ODQgXHVjMGMxXHVjNzU4IEFJIFx1YmIzOFx1YzgxY1x1Yjg1YyBcdWFkNTBcdWQxYjUgXHVjODE1XHVjY2I0XHViMjk0IFx1ZDUzY1x1ZDU2MCBcdWMyMTggXHVjNWM2XHViMjk0IFx1YzEyMFx1ZDBkZFx1Yzc3NFx1YjJlNC4gXHVhZDUwXHVkMWI1IFx1YzgxNVx1Y2NiNFx1Yjk3YyBcdWQ1M2NcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjXHViMjk0IFx1YWQ1MFx1Y2MyOFx1Yjg1Y1x1YWMwMCBcdWM1YzZcdWIyOTQgXHViM2M0XHViODVjXHViOTdjIFx1YjljY1x1YjRlNFx1YmE3NCBcdWI0MWNcdWIyZTQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1YzViNFx1YjViYlx1YWM4YyBcdWFkNTBcdWNjMjhcdWI4NWMgXHVjNWM2XHVjNzc0IFx1YjNjNFx1YzJkY1x1Yzc1OCBcdWJhYThcdWI0ZTAgXHVhY2YzXHVjNzQ0IFx1YmMyOVx1YmIzOFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVjNzQ0XHVhZTRjPyBcdWJiZmNcdWQ2MDFcdWM3NzRcdWIyOTQgXHVjNzc4XHVkMTMwXHViMTM3XHVjNWQwXHVjMTFjIFx1YzVmNFx1YzJlY1x1ZDc4OCBcdWMwYjRcdWQzYjRcdWJjZjRcdWIyZTRcdWFjMDAgXHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1Yzc0NCBcdWNjM2VcdWM1NThcdWIyZTQuIFx1ZDc5MFx1YmNhMFx1Yjk3NFx1ZDJiOCBcdWFjZTFcdWMxMjBcdWM3NDQgXHVjNzc0XHVjNmE5XHVkNTU4XHViYTc0LCBcdWFkNTBcdWNjMjhcdWI4NWMgXHVjNWM2XHVjNzc0IFx1YjNjNFx1YzJkY1x1Yjk3YyBcdWI5Y2NcdWI0ZTQgXHVjMjE4IFx1Yzc4OFx1Yzc0NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1Yzc0NCBcdWNlZjUoXHVjNjdjXHVjYWJkIFx1YWRmOFx1YjliY1x1YzVkMCBcdWIwOThcdWM2NDBcdWM3ODhcdWIyOTQgXHUzMTM3XHVjNzkwKSBcdWQ1NThcdWIwOThcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHViNDUwIFx1YmM4OFx1YzlmOCBcdWQ3OTBcdWJjYTBcdWI5NzRcdWQyYjggXHVhY2UxXHVjMTIwXHVjNzQwIFx1YjEyNCBcdWFjMWNcdWM3NTggXHVjNzkxXHVjNzQwIFx1YzgxNVx1YzBhY1x1YWMwMVx1ZDYxNVx1YzczY1x1Yjg1YyBcdWIwOThcdWIyMDRcdWM1YjRcdWMxMWMsIFx1YWM3MFx1YWUzMFx1YzVkMCBcdWM3OTFcdWM3NDAgXHVjZWY1XHVjNzQ0IFx1Y2M0NFx1YzZiNCBcdWIyZTRcdWM3NGNcdWM1ZDAgXHVjMTM4IFx1Y2VmNVx1Yzc0NCBcdWM5YzFcdWMxMjBcdWM3M2NcdWI4NWMgXHVjNWYwXHVhY2IwXHVkNTU4XHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC9ob3VzZS5wbmdcIiBzdHlsZT1cImhlaWdodDoyMDZweDsgd2lkdGg6NTgwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVkNzkwXHViY2EwXHViOTc0XHVkMmI4IFx1YWNlMVx1YzEyMFx1YzVkMCBcdWIzMDBcdWQ1NWMgXHVjMTI0XHViYTg1XHVjNzQwIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmFjbWljcGMubmV0XC9wcm9ibGVtXC80NjQ1XCI+NDY0NVx1YmM4ODxcL2E+XHVjNWQwIFx1Yzc5OCBcdWIwOThcdWM2NDAgXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVjNzc0IFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWNjMzhcdWFjZTBcdWQ1NThcdWJhNzQgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJhYThcdWI0ZTAgXHViYWE4XHVkMjQxXHVjNzc0XHVjNWQwXHViMjk0IFx1YzlkMVx1Yzc3NCBcdWQ1NThcdWIwOThcdWM1MjkgXHVjNzg4XHVhY2UwLCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1YWMwMFx1YzdhNSBcdWM2N2NcdWNhYmQgXHVjNzA0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWM5ZDFcdWM3NzQgMVx1YmM4OFx1Yzc3NFx1YWNlMCwgXHVjNzc4XHVjODExXHVkNTVjIFx1YjQ1MCBcdWM5ZDEgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1YjI5NCAxMFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYTg3IFx1YmM4OFx1YzlmOCBcdWQ3OTBcdWJjYTBcdWI5NzRcdWQyYjkgXHVhY2UxXHVjMTIwXHVjNzc4XHVjOWMwXHVjNjQwIFx1YjQ1MCBcdWM5ZDFcdWM3NTggXHViYzg4XHVkNjM4XHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YjQ1MCBcdWM5ZDEgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC4gXHViYWE4XHViNGUwIFx1YzhmY1x1YmJmY1x1Yzc0MCBcdWQ1ZWNcdWI5YWNcdWNmNjVcdWQxMzBcdWI5N2MgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YzViNFx1YzExYywgXHViM2M0XHViODVjXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU1OFx1YzljMCBcdWM1NGFcdWFjZTAgXHVkNTU4XHViMjk4XHVjNzQ0IFx1YjBhMFx1YzU0NFx1YzExYyBcdWM3NzRcdWIzZDlcdWQ1NWNcdWIyZTQuIFx1ZDVlY1x1YjlhY1x1Y2Y2NVx1ZDEzMFx1Yzc1OCBcdWM3NzRcdWI5NTlcdWFjZmMgXHVjYzI5XHViOTU5XHVkNTU4XHViMjk0XHViMzcwIFx1ZDU0NFx1YzY5NFx1ZDU1YyBcdWFjNzBcdWI5YWNcdWIyOTQgXHViYjM0XHVjMmRjXHVkNTU4XHViYTcwLCBcdWQ1NmRcdWMwYzEgXHVjZDVjXHViMmU4XHVhYzcwXHViOWFjXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWFjMWNcdWMyMTggVFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViMjk0IFx1ZDU1YyBcdWM5MDRcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YWNlMCwgXHVjMTM4IFx1YzgxNVx1YzIxOCBuLCBoLCBvIFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjljOFx1Yzc0NFx1Yzc1OCBcdWIzYzRcdWI4NWNcdWFjMDAgblx1Yzc0MCBcdWJhODcgXHViYzg4XHVjOWY4IFx1ZDc5MFx1YmNhMFx1Yjk3NFx1ZDJiOCBcdWFjZTFcdWMxMjBcdWM3NzhcdWM5YzBcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViYTcwLCBoXHVjNjQwIG9cdWIyOTQgXHVhYzcwXHViOWFjXHViOTdjIFx1YWQ2Y1x1ZDU3NFx1YzU3YyBcdWQ1NThcdWIyOTQgXHViNDUwIFx1YzlkMVx1Yzc1OCBcdWJjODhcdWQ2MzhcdWM3NzRcdWIyZTQuIChuICZsdDsgMTYsIGgsbyAmbHQ7IDI8c3VwPjMxPFwvc3VwPik8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMCBcdWIzMDBcdWQ1NzRcdWMxMWMsIFx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzQgXHViNDUwIFx1YzlkMVx1Yzc1OCBcdWFjNzBcdWI5YWNcdWI5N2MgXHVhYzAwXHVhZTRjXHVjNmI0IFx1YzgxNVx1YzIxOFx1Yjg1YyBcdWJjMThcdWM2MmNcdWI5YmNcdWQ1NzRcdWMxMWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjU0MDUiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJGcmFjdGFsIFN0cmVldHMiLCJkZXNjcmlwdGlvbiI6IjxwPldpdGggYSBncm93aW5nIGRlc2lyZSBmb3IgbW9kZXJuaXphdGlvbiBpbiBvdXIgaW5jcmVhc2luZ2x5IGxhcmdlciBjaXRpZXMgY29tZXMgYSBuZWVkIGZvciBuZXcgc3RyZWV0IGRlc2lnbnMuIENocmlzIGlzIG9uZSBvZiB0aGUgdW5mb3J0dW5hdGUgY2l0eSBwbGFubmVycyByZXNwb25zaWJsZSBmb3IgdGhlc2UgZGVzaWducy4gRWFjaCB5ZWFyIHRoZSBkZW1hbmRzIGtlZXAgaW5jcmVhc2luZywgYW5kIHRoaXMgeWVhciBoZSBoYXMgZXZlbiBiZWVuIGFza2VkIHRvIGRlc2lnbiBhIGNvbXBsZXRlbHkgbmV3IGNpdHkuPFwvcD5cclxuXHJcbjxwPk1vcmUgd29yayBpcyBub3Qgc29tZXRoaW5nIENocmlzIG5lZWRzIHJpZ2h0IG5vdywgc2luY2UgbGlrZSBhbnkgZ29vZCBidXJlYXVjcmF0LCBoZSBpcyBleHRyZW1lbHkgbGF6eS4gR2l2ZW4gdGhhdCB0aGlzIGlzIGEgY2hhcmFjdGVyIHRyYWl0IGhlIGhhcyBpbiBjb21tb24gd2l0aCBtb3N0IGNvbXB1dGVyIHNjaWVudGlzdHMgaXQgc2hvdWxkIGNvbWUgYXMgbm8gc3VycHJpc2UgdGhhdCBvbmUgb2YgaGlzIGNsb3Nlc3QgZnJpZW5kcywgUGF1bCwgaXMgaW4gZmFjdCBhIGNvbXB1dGVyIHNjaWVudGlzdC4gQW5kIGl0IHdhcyBQYXVsIHdobyBzdWdnZXN0ZWQgdGhlIGJyaWxsaWFudCBpZGVhIHRoYXQgaGFzIG1hZGUgQ2hyaXMgYSBoZXJvIGFtb25nIGhpcyBwZWVyczogRnJhY3RhbCBTdHJlZXRzISBCeSB1c2luZyBhIEhpbGJlcnQgY3VydmUsIGhlIGNhbiBlYXNpbHkgZmkgbGwgaW4gcmVjdGFuZ3VsYXIgcGxvdHMgb2YgYXJiaXRyYXJ5IHNpemUgd2l0aCB2ZXJ5IGxpdHRsZSB3b3JrLjxcL3A+XHJcblxyXG48cD5BIEhpbGJlcnQgY3VydmUgb2Ygb3JkZXIgMSBjb25zaXN0cyBvZiBvbmUgJnF1b3Q7Y3VwJnF1b3Q7LiBJbiBhIEhpbGJlcnQgY3VydmUgb2Ygb3JkZXIgMiB0aGF0IGN1cCBpcyByZXBsYWNlZCBieSBmb3VyIHNtYWxsZXIgYnV0IGlkZW50aWNhbCBjdXBzIGFuZCB0aHJlZSBjb25uZWN0aW5nIHJvYWRzLiBJbiBhIEhpbGJlcnQgY3VydmUgb2Ygb3JkZXIgMyB0aG9zZSBmb3VyIGN1cHMgYXJlIGluIHR1cm4gcmVwbGFjZWQgYnkgZm91ciBpZGVudGljYWwgYnV0IHN0aWxsIHNtYWxsZXIgY3VwcyBhbmQgdGhyZWUgY29ubmVjdGluZyByb2FkcywgZXRjLiBBdCBlYWNoIGNvcm5lciBvZiBhIGN1cCBhIGRyaXZld2F5ICh3aXRoIG1haWxib3gpIGlzIHBsYWNlZCBmb3IgYSBob3VzZSwgd2l0aCBhIHNpbXBsZSBzdWNjZXNzaXZlIG51bWJlcmluZy4gVGhlIGhvdXNlIGluIHRoZSB0b3AgbGVmdCBjb3JuZXIgaGFzIG51bWJlciAxLCBhbmQgdGhlIGRpc3RhbmNlIGJldHdlZW4gdHdvIGFkamFjZW50IGhvdXNlcyBpcyAxMCBtLjxcL3A+XHJcblxyXG48cD5UaGUgc2l0dWF0aW9uIGlzIHNob3duIGdyYXBoaWNhbGx5IGluIGd1cmUgMi4gQXMgeW91IGNhbiBzZWUgdGhlIEZyYWN0YWwgU3RyZWV0cyBjb25jZXB0IHN1Y2Nlc3NmdWxseSBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciBib3Jpbmcgc3RyZWV0IGdyaWRzLCB3aGlsZSBzdGlsbCByZXF1aXJpbmcgdmVyeSBsaXR0bGUgZWZmb3J0IGZyb20gb3VyIGJ1cmVhdWNyYXRzLjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2hiLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjIyN3B4OyB3aWR0aDo1ODdweFwiIFwvPjxcL3A+XHJcblxyXG48cD5GaWd1cmUgMjogSGlsYmVydCBjdXJ2ZXMgb2Ygb3JkZXIgMSwgMiBhbmQgMywgd2l0aCB0aGUgbG9jYXRpb24gb2YgdGhlIGhvdXNlcyBpbmRpY2F0ZWQuPFwvcD5cclxuXHJcbjxwPkFzIGEgdG9rZW4gb2YgdGhlaXIgZ3JhdGl0dWRlLCBzZXZlcmFsIG1heW9ycyBoYXZlIG9mZmVyZWQgQ2hyaXMgYSBob3VzZSBpbiBvbmUgb2YgdGhlIG1hbnkgbmV3IG5laWdoYm9yaG9vZHMgYnVpbHQgd2l0aCBoaXMgb3duIG5ldyBzY2hlbWUuIENocmlzIHdvdWxkIG5vdyBsaWtlIHRvIGtub3cgd2hpY2ggb2YgdGhlc2Ugb2ZmZXJpbmdzIHdpbGwgZ2V0IGhpbSBhIGhvdXNlIGNsb3Nlc3QgdG8gdGhlIGxvY2FsIGNpdHkgcGxhbm5pbmcgb1x1MDAwZWNlIChvZiBjb3Vyc2UgZWFjaCBvZiB0aGVzZSBuZXcgbmVpZ2hib3Job29kcyBoYXMgb25lKS4gTHVja2lseSBoZSB3aWxsIG5vdCBoYXZlIHRvIGFjdHVhbGx5IGRyaXZlIGFsb25nIHRoZSBzdHJlZXQsIGJlY2F1c2UgaGlzIG5ldyBjb21wYW55ICZxdW90O2NhciZxdW90OyBpcyBvbmUgb2YgdGhvc2UgbmV3IGZseWluZyBjYXJzLiBUaGlzIGhpZ2gtdGVjaCB2ZWhpY2xlIGFsbG93cyBoaW0gdG8gdHJhdmVsIGluIGEgc3RyYWlnaHQgbGluZSBmcm9tIGhpcyBkcml2ZXdheSB0byB0aGUgZHJpdmV3YXkgb2YgaGlzIG5ldyBvXHUwMDBlY2UuIENhbiB5b3Ugd3JpdGUgYSBwcm9ncmFtIHRvIGRldGVybWluZSB0aGUgZGlzdGFuY2UgaGUgd2lsbCBoYXZlIHRvIHkgZm9yIGVhY2ggb2ZmZXIgKGV4Y2x1ZGluZyB0aGUgdmVydGljYWwgZGlzdGFuY2UgYXQgdGFrZW9mZiBhbmQgbGFuZGluZyk/PFwvcD5cclxuIiwiaW5wdXQiOiI8cD5PbiB0aGUgZmkgcnN0IGxpbmUgb2YgdGhlIGlucHV0IGlzIGEgcG9zaXRpdmUgaW50ZWdlciwgdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzLiBUaGVuIGZvciBlYWNoIHRlc3RjYXNlOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkEgbGluZSBjb250YWluaW5nIGEgdGhyZWUgcG9zaXRpdmUgaW50ZWdlcnMsIG4gJmx0OyAxNiBhbmQgaCwgbyAmbHQ7IDI8c3VwPjMxPFwvc3VwPiwgc3BlY2lmeWluZyB0aGUgb3JkZXIgb2YgdGhlIEhpbGJlcnQgY3VydmUsIGFuZCB0aGUgaG91c2UgbnVtYmVycyBvZiB0aGUgb2ZmZXJlZCBob3VzZSBhbmQgdGhlIGxvY2FsIGNpdHkgcGxhbm5pbmcgb2ZmaWNlLjxcL2xpPlxyXG48XC91bD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPk9uZSBsaW5lIGNvbnRhaW5pbmcgdGhlIGRpc3RhbmNlIENocmlzIHdpbGwgaGF2ZSB0byB5IHRvIGhpcyB3b3JrIGluIG1ldGVycywgcm91bmRlZCB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLjxcL2xpPlxyXG48XC91bD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d