시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 128 MB137413431.776%

문제

용인시는 버스 정류장이 N개 있는 버스 노선을 짜려고 한다. 각 버스 정류장은 거리의 모퉁이에 있다. 용인시는 현대적으로 설계된 도시이기 때문에 지리 구조가 정사각형 격자 모양으로 짜여 있다. 우리는 이 버스 정류장들 가운데 두 곳을, 중심지로서 H1, H2라는 이름으로 선택하려고 한다. 중심지를 선택하고 나면, 두 중심지 사이에는 버스가 가는 길이 생기며, 중심지를 제외한 나머지 N-2개의 버스 정류장들은 H1 아니면 H2 중 한 곳(두 중심지 모두와 연결되는 것은 아님.)과 직통하게 될 것이다. 이렇게 버스 노선이 결정된다.

이 문제에서 임의의 두 지점 사이의 거리는, 두 곳을 수평 수직 방향으로만 통행하는 가장 가까운 거리이다. 다시 말해, 위치를 (x, y) 좌표로 표현했을 때, 두 지점 (x1, y1)과 (x2, y2)의 거리는 |x1 - x2| + |y1 - y2|로 정의된다는 뜻이다. 한편, 버스 정류장 A와 B가 같은 중심지 H1과 연결돼 있으면 두 정류장 사이의 거리는 A와 H1 사이의 거리와 H1과 B 사이의 거리의 합이 된다. 그리고 A와 B가 각각 다른 중심지인 H1, H2와 연결돼 있으면 두 정류장 사이의 거리는 A와 H1, H1과 H2, H2와 B 사이의 거리들의 합이 된다.

용인시의 도시 계획부는, 모든 시민이 도시의 모든 구역에 최대한 빨리 도착할 수 있게 하길 원한다. 따라서 도시 계획자들은 버스 정거장들 중, 서로 가장 멀리 떨어져 있는 두 곳 사이의 거리를 최소화할 수 있게끔 중심지 두 곳을 고르려고 한다. 이 거리를 최소화하게 중심지를 고른 뒤, 서로 거리가 가장 먼 두 정류장 사이의 거리를 계산하는 프로그램을 작성하시오.

입력

첫째 줄에는 버스 정류장의 개수인 정수 N(2 ≤ N ≤ 500)이 있다. 그리고 다음 N 개의 줄에는 버스 정류장의 x, y좌표가 있다. (가로 먼저, 다음 세로) 각 좌표들은 5000과 같거나 작은 자연수이다. 정류장들은 모두 서로 다른 위치에 있으며, 겹치는 경우가 없다.

출력

거리가 가장 먼 두 정류장 사이의 거리의 최솟값을 나타내는 자연수 하나를 한 줄에다 출력한다.

예제 입력 1

6
1 7
16 6
12 4
4 4
1 1
11 1

예제 출력 1

20

3번과 4번 정류장을 중심지로 선택하면, 2번과 1번 정류장 사이, 그리고 2번과 5번 정류장 사이가 거리가 가장 멀게 되고 이 때 거리는 20이다. 중심지를 어떤 것을 골라도 가장 먼 정거장 사이의 거리를 20보다 짧게 할 수는 없기 때문에 20이 정답이다.

예제 입력 2

7
7 9
10 9
5 3
1 1
7 2
15 6
17 7

예제 출력 2

25

5번과 6번 정류장을 중심지로 선택하면, 가장 먼 정류장의 쌍은 2번과 7번 정류장이 된다. 그 거리는 25이다. 중심지를 어떤 것을 골라도 가장 먼 정거장 사이의 거리를 25보다 짧게 할 수는 없기 때문에 25가 정답이다.

W3sicHJvYmxlbV9pZCI6IjIyMDkiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJjODRcdWMyYTQgXHVkMTMwXHViYmY4XHViMTEwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWM2YTlcdWM3NzhcdWMyZGNcdWIyOTQgXHViYzg0XHVjMmE0IFx1YzgxNVx1Yjk1OFx1YzdhNVx1Yzc3NCBOXHVhYzFjIFx1Yzc4OFx1YjI5NCBcdWJjODRcdWMyYTQgXHViMTc4XHVjMTIwXHVjNzQ0IFx1YzlkY1x1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YWMwMSBcdWJjODRcdWMyYTQgXHVjODE1XHViOTU4XHVjN2E1XHVjNzQwIFx1YWM3MFx1YjlhY1x1Yzc1OCBcdWJhYThcdWQyNDFcdWM3NzRcdWM1ZDAgXHVjNzg4XHViMmU0LiBcdWM2YTlcdWM3NzhcdWMyZGNcdWIyOTQgXHVkNjA0XHViMzAwXHVjODAxXHVjNzNjXHViODVjIFx1YzEyNFx1YWNjNFx1YjQxYyBcdWIzYzRcdWMyZGNcdWM3NzRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIFx1YzljMFx1YjlhYyBcdWFkNmNcdWM4NzBcdWFjMDAgXHVjODE1XHVjMGFjXHVhYzAxXHVkNjE1IFx1YWNhOVx1Yzc5MCBcdWJhYThcdWM1OTFcdWM3M2NcdWI4NWMgXHVjOWRjXHVjNWVjIFx1Yzc4OFx1YjJlNC4gXHVjNmIwXHViOWFjXHViMjk0IFx1Yzc3NCBcdWJjODRcdWMyYTQgXHVjODE1XHViOTU4XHVjN2E1XHViNGU0IFx1YWMwMFx1YzZiNFx1YjM3MCBcdWI0NTAgXHVhY2YzXHVjNzQ0LCBcdWM5MTFcdWMyZWNcdWM5YzBcdWI4NWNcdWMxMWMgSDxzdWI+MTxcL3N1Yj4sIEg8c3ViPjI8XC9zdWI+XHViNzdjXHViMjk0IFx1Yzc3NFx1Yjk4NFx1YzczY1x1Yjg1YyBcdWMxMjBcdWQwZGRcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM5MTFcdWMyZWNcdWM5YzBcdWI5N2MgXHVjMTIwXHVkMGRkXHVkNTU4XHVhY2UwIFx1YjA5OFx1YmE3NCwgXHViNDUwIFx1YzkxMVx1YzJlY1x1YzljMCBcdWMwYWNcdWM3NzRcdWM1ZDBcdWIyOTQgXHViYzg0XHVjMmE0XHVhYzAwIFx1YWMwMFx1YjI5NCBcdWFlMzhcdWM3NzQgXHVjMGRkXHVhZTMwXHViYTcwLCBcdWM5MTFcdWMyZWNcdWM5YzBcdWI5N2MgXHVjODFjXHVjNjc4XHVkNTVjIFx1YjA5OFx1YmEzOFx1YzljMCBOLTJcdWFjMWNcdWM3NTggXHViYzg0XHVjMmE0IFx1YzgxNVx1Yjk1OFx1YzdhNVx1YjRlNFx1Yzc0MCBIPHN1Yj4xPFwvc3ViPiBcdWM1NDRcdWIyYzhcdWJhNzQgSDxzdWI+MjxcL3N1Yj4gXHVjOTExIFx1ZDU1YyBcdWFjZjMoXHViNDUwIFx1YzkxMVx1YzJlY1x1YzljMCBcdWJhYThcdWI0NTBcdWM2NDAgXHVjNWYwXHVhY2IwXHViNDE4XHViMjk0IFx1YWM4M1x1Yzc0MCBcdWM1NDRcdWIyZDguKVx1YWNmYyBcdWM5YzFcdWQxYjVcdWQ1NThcdWFjOGMgXHViNDIwIFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHVjNzc0XHViODA3XHVhYzhjIFx1YmM4NFx1YzJhNCBcdWIxNzhcdWMxMjBcdWM3NzQgXHVhY2IwXHVjODE1XHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM3NzQgXHViYjM4XHVjODFjXHVjNWQwXHVjMTFjIFx1Yzc4NFx1Yzc1OFx1Yzc1OCBcdWI0NTAgXHVjOWMwXHVjODEwIFx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWFjNzBcdWI5YWNcdWIyOTQsIFx1YjQ1MCBcdWFjZjNcdWM3NDQgXHVjMjE4XHVkM2M5IFx1YzIxOFx1YzljMSBcdWJjMjlcdWQ1YTVcdWM3M2NcdWI4NWNcdWI5Y2MgXHVkMWI1XHVkNTg5XHVkNTU4XHViMjk0IFx1YWMwMFx1YzdhNSBcdWFjMDBcdWFlNGNcdWM2YjQgXHVhYzcwXHViOWFjXHVjNzc0XHViMmU0LiBcdWIyZTRcdWMyZGMgXHViOWQwXHVkNTc0LCBcdWM3MDRcdWNlNThcdWI5N2MgKHgsIHkpIFx1Yzg4Y1x1ZDQ1Y1x1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWQ1ODhcdWM3NDQgXHViNTRjLCBcdWI0NTAgXHVjOWMwXHVjODEwICh4PHN1Yj4xPFwvc3ViPiwgeTxzdWI+MTxcL3N1Yj4pXHVhY2ZjICh4PHN1Yj4yPFwvc3ViPiwgeTxzdWI+MjxcL3N1Yj4pXHVjNzU4IFx1YWM3MFx1YjlhY1x1YjI5NCB8eDxzdWI+MTxcL3N1Yj4gLSB4PHN1Yj4yPFwvc3ViPnwgKyB8eTxzdWI+MTxcL3N1Yj4mbmJzcDstIHk8c3ViPjI8XC9zdWI+fFx1Yjg1YyBcdWM4MTVcdWM3NThcdWI0MWNcdWIyZTRcdWIyOTQgXHViNzNiXHVjNzc0XHViMmU0LiBcdWQ1NWNcdWQzYjgsIFx1YmM4NFx1YzJhNCBcdWM4MTVcdWI5NThcdWM3YTUgQVx1YzY0MCBCXHVhYzAwIFx1YWMxOVx1Yzc0MCBcdWM5MTFcdWMyZWNcdWM5YzAgSDxzdWI+MTxcL3N1Yj5cdWFjZmMgXHVjNWYwXHVhY2IwXHViM2ZjIFx1Yzc4OFx1YzczY1x1YmE3NCBcdWI0NTAgXHVjODE1XHViOTU4XHVjN2E1IFx1YzBhY1x1Yzc3NFx1Yzc1OCBcdWFjNzBcdWI5YWNcdWIyOTQgQVx1YzY0MCBIPHN1Yj4xPFwvc3ViPiBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHVjNjQwIEg8c3ViPjE8XC9zdWI+XHVhY2ZjIEIgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1Yzc1OCBcdWQ1NjlcdWM3NzQgXHViNDFjXHViMmU0LiBcdWFkZjhcdWI5YWNcdWFjZTAgQVx1YzY0MCBCXHVhYzAwIFx1YWMwMVx1YWMwMSBcdWIyZTRcdWI5NzggXHVjOTExXHVjMmVjXHVjOWMwXHVjNzc4IEg8c3ViPjE8XC9zdWI+LCBIPHN1Yj4yPFwvc3ViPlx1YzY0MCBcdWM1ZjBcdWFjYjBcdWIzZmMgXHVjNzg4XHVjNzNjXHViYTc0IFx1YjQ1MCBcdWM4MTVcdWI5NThcdWM3YTUgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1YjI5NCBBXHVjNjQwIEg8c3ViPjE8XC9zdWI+LCBIPHN1Yj4xPFwvc3ViPlx1YWNmYyBIPHN1Yj4yPFwvc3ViPiwgSDxzdWI+MjxcL3N1Yj5cdWM2NDAgQiBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViNGU0XHVjNzU4IFx1ZDU2OVx1Yzc3NCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzZhOVx1Yzc3OFx1YzJkY1x1Yzc1OCBcdWIzYzRcdWMyZGMgXHVhY2M0XHVkNjhkXHViZDgwXHViMjk0LCBcdWJhYThcdWI0ZTAgXHVjMmRjXHViYmZjXHVjNzc0IFx1YjNjNFx1YzJkY1x1Yzc1OCBcdWJhYThcdWI0ZTAgXHVhZDZjXHVjNWVkXHVjNWQwIFx1Y2Q1Y1x1YjMwMFx1ZDU1YyBcdWJlNjhcdWI5YWMgXHViM2M0XHVjYzI5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWFjOGMgXHVkNTU4XHVhZTM4IFx1YzZkMFx1ZDU1Y1x1YjJlNC4gXHViNTMwXHViNzdjXHVjMTFjIFx1YjNjNFx1YzJkYyBcdWFjYzRcdWQ2OGRcdWM3OTBcdWI0ZTRcdWM3NDAgXHViYzg0XHVjMmE0IFx1YzgxNVx1YWM3MFx1YzdhNVx1YjRlNCBcdWM5MTEsIFx1YzExY1x1Yjg1YyBcdWFjMDBcdWM3YTUgXHViYTQwXHViOWFjIFx1YjVhOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyOTQgXHViNDUwIFx1YWNmMyBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViOTdjIFx1Y2Q1Y1x1YzE4Y1x1ZDY1NFx1ZDU2MCBcdWMyMTggXHVjNzg4XHVhYzhjXHViMDU0IFx1YzkxMVx1YzJlY1x1YzljMCBcdWI0NTAgXHVhY2YzXHVjNzQ0IFx1YWNlMFx1Yjk3NFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWFjNzBcdWI5YWNcdWI5N2MgXHVjZDVjXHVjMThjXHVkNjU0XHVkNTU4XHVhYzhjIFx1YzkxMVx1YzJlY1x1YzljMFx1Yjk3YyBcdWFjZTBcdWI5NzggXHViNGE0LCBcdWMxMWNcdWI4NWMgXHVhYzcwXHViOWFjXHVhYzAwIFx1YWMwMFx1YzdhNSBcdWJhM2MgXHViNDUwIFx1YzgxNVx1Yjk1OFx1YzdhNSBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJjODRcdWMyYTQgXHVjODE1XHViOTU4XHVjN2E1XHVjNzU4IFx1YWMxY1x1YzIxOFx1Yzc3OCBcdWM4MTVcdWMyMTggTigyICZsZTsgTiAmbGU7IDUwMClcdWM3NzQgXHVjNzg4XHViMmU0LiBcdWFkZjhcdWI5YWNcdWFjZTAgXHViMmU0XHVjNzRjIE4gXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJjODRcdWMyYTQgXHVjODE1XHViOTU4XHVjN2E1XHVjNzU4IHgsIHlcdWM4OGNcdWQ0NWNcdWFjMDAgXHVjNzg4XHViMmU0LiAoXHVhYzAwXHViODVjIFx1YmEzY1x1YzgwMCwgXHViMmU0XHVjNzRjIFx1YzEzOFx1Yjg1YykgXHVhYzAxIFx1Yzg4Y1x1ZDQ1Y1x1YjRlNFx1Yzc0MCA1MDAwXHVhY2ZjIFx1YWMxOVx1YWM3MFx1YjA5OCBcdWM3OTFcdWM3NDAgXHVjNzkwXHVjNWYwXHVjMjE4XHVjNzc0XHViMmU0LiBcdWM4MTVcdWI5NThcdWM3YTVcdWI0ZTRcdWM3NDAgXHViYWE4XHViNDUwIFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHVjNzA0XHVjZTU4XHVjNWQwIFx1Yzc4OFx1YzczY1x1YmE3MCwgXHVhY2I5XHVjZTU4XHViMjk0IFx1YWNiZFx1YzZiMFx1YWMwMCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzcwXHViOWFjXHVhYzAwIFx1YWMwMFx1YzdhNSBcdWJhM2MgXHViNDUwIFx1YzgxNVx1Yjk1OFx1YzdhNSBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHVjNzU4IFx1Y2Q1Y1x1YzE5Zlx1YWMxMlx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHVjNzkwXHVjNWYwXHVjMjE4IFx1ZDU1OFx1YjA5OFx1Yjk3YyBcdWQ1NWMgXHVjOTA0XHVjNWQwXHViMmU0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4iLCJzYW1wbGVfZXhwbGFpbl8xIjoiPHAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvdXBsb2FkLmFjbWljcGMubmV0XC9lOThhOWVjOC0yM2M0LTRmYTUtYmRkZS0zY2ZkNGMwMTA2NWVcLy1cL2Nyb3BcLzc4NXg1MjhcLzAsMFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMjk3cHg7IGhlaWdodDogMjAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPjNcdWJjODhcdWFjZmMgNFx1YmM4OCBcdWM4MTVcdWI5NThcdWM3YTVcdWM3NDQgXHVjOTExXHVjMmVjXHVjOWMwXHViODVjIFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YmE3NCwgMlx1YmM4OFx1YWNmYyAxXHViYzg4IFx1YzgxNVx1Yjk1OFx1YzdhNSBcdWMwYWNcdWM3NzQsIFx1YWRmOFx1YjlhY1x1YWNlMCAyXHViYzg4XHVhY2ZjIDVcdWJjODggXHVjODE1XHViOTU4XHVjN2E1IFx1YzBhY1x1Yzc3NFx1YWMwMCBcdWFjNzBcdWI5YWNcdWFjMDAgXHVhYzAwXHVjN2E1IFx1YmE0MFx1YWM4YyBcdWI0MThcdWFjZTAgXHVjNzc0IFx1YjU0YyBcdWFjNzBcdWI5YWNcdWIyOTQgMjBcdWM3NzRcdWIyZTQuIFx1YzkxMVx1YzJlY1x1YzljMFx1Yjk3YyBcdWM1YjRcdWI1YTQgXHVhYzgzXHVjNzQ0IFx1YWNlOFx1Yjc3Y1x1YjNjNCBcdWFjMDBcdWM3YTUgXHViYTNjIFx1YzgxNVx1YWM3MFx1YzdhNSBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHViOTdjIDIwXHViY2Y0XHViMmU0IFx1YzllN1x1YWM4YyBcdWQ1NjAgXHVjMjE4XHViMjk0IFx1YzVjNlx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgMjBcdWM3NzQmbmJzcDtcdWM4MTVcdWIyZjVcdWM3NzRcdWIyZTQuPFwvcD5cclxuIiwic2FtcGxlX2V4cGxhaW5fMiI6IjxwIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL3VwbG9hZC5hY21pY3BjLm5ldFwvZTk4YTllYzgtMjNjNC00ZmE1LWJkZGUtM2NmZDRjMDEwNjVlXC8tXC9jcm9wXC84OTl4NTI4XC83ODUsMFwvLVwvcHJldmlld1wvXCIgc3R5bGU9XCJ3aWR0aDogMzQxcHg7IGhlaWdodDogMjAwcHg7XCIgXC8+PFwvcD5cclxuXHJcbjxwPjVcdWJjODhcdWFjZmMgNlx1YmM4OCBcdWM4MTVcdWI5NThcdWM3YTVcdWM3NDQgXHVjOTExXHVjMmVjXHVjOWMwXHViODVjIFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YmE3NCwgXHVhYzAwXHVjN2E1IFx1YmEzYyBcdWM4MTVcdWI5NThcdWM3YTVcdWM3NTggXHVjMzBkXHVjNzQwIDJcdWJjODhcdWFjZmMgN1x1YmM4OCBcdWM4MTVcdWI5NThcdWM3YTVcdWM3NzQgXHViNDFjXHViMmU0LiBcdWFkZjggXHVhYzcwXHViOWFjXHViMjk0IDI1XHVjNzc0XHViMmU0LiBcdWM5MTFcdWMyZWNcdWM5YzBcdWI5N2MgXHVjNWI0XHViNWE0IFx1YWM4M1x1Yzc0NCBcdWFjZThcdWI3N2NcdWIzYzQgXHVhYzAwXHVjN2E1IFx1YmEzYyBcdWM4MTVcdWFjNzBcdWM3YTUgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1Yjk3YyAyNVx1YmNmNFx1YjJlNCBcdWM5ZTdcdWFjOGMgXHVkNTYwIFx1YzIxOFx1YjI5NCBcdWM1YzZcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIDI1XHVhYzAwIFx1YzgxNVx1YjJmNVx1Yzc3NFx1YjJlNC48XC9wPlxyXG4ifSx7InByb2JsZW1faWQiOiIyMjA5IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQnVzIFRlcm1pbmFscyIsImRlc2NyaXB0aW9uIjoiPHA+WW9uZy1JbiBjaXR5IHBsYW5zIHRvIGJ1aWxkIGEgYnVzIG5ldHdvcmsgd2l0aCBOIGJ1cyBzdG9wcy4gRWFjaCBidXMgc3RvcCBpcyBhdCBhIHN0cmVldCBjb3JuZXIuIFlvbmctSW4gaXMgYSBtb2Rlcm4gY2l0eSwgc28gaXRzIG1hcCBpcyBhIGdyaWQgb2Ygc3F1YXJlIGJsb2NrcyBvZiBlcXVhbCBzaXplLiBUd28gb2YgdGhlc2UgYnVzIHN0b3BzIGFyZSB0byBiZSBzZWxlY3RlZCBhcyBodWJzIEgxIGFuZCBIMi4gVGhlIGh1YnMgd2lsbCBiZSBjb25uZWN0ZWQgdG8gZWFjaCBvdGhlciBieSBhIGRpcmVjdCBidXMgbGluZSBhbmQgZWFjaCBvZiB0aGUgcmVtYWluaW5nIE4gJm1pbnVzOyAyIGJ1cyBzdG9wcyB3aWxsIGJlIGNvbm5lY3RlZCBkaXJlY3RseSB0byBlaXRoZXIgSDEgb3IgSDIgJm5ic3A7KGJ1dCBub3QgdG8gYm90aCksIGJ1dCBub3QgdG8gYW55IG90aGVyIGJ1cyBzdG9wLjxcL3A+XHJcblxyXG48cD5UaGUgZGlzdGFuY2UgYmV0d2VlbiBhbnkgdHdvIGJ1cyBzdG9wcyBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSByb3V0ZSBmb2xsb3dpbmcgdGhlIHN0cmVldHMuIFRoYXQgaXMsIGlmIGEgYnVzIHN0b3AgaXMgcmVwcmVzZW50ZWQgYXMgKHgsIHkpIHdpdGggeC1jb29yZGluYXRlIHggYW5kIHktY29vcmRpbmF0ZSB5LCB0aGVuIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBidXMgc3RvcHMgKHgxLCB5MSkgYW5kICh4MiwgeTIpIGlzIHx4MS14MnwgKyB8eTEteTJ8IC4gSWYgYnVzIHN0b3BzIEEgYW5kIEIgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBodWIgSDEsIHRoZW4gdGhlIGxlbmd0aCBvZiB0aGUgcm91dGUgZnJvbSBBIHRvIEIgaXMgdGhlIHN1bSBvZiB0aGUgZGlzdGFuY2VzIGZyb20gQSB0byBIMSBhbmQgZnJvbSBIMSB0byBCLiBJZiBidXMgc3RvcHMgQSBhbmQgQiBhcmUgY29ubmVjdGVkIHRvIGRpZmZlcmVudCBodWJzLCBlLmcuLCBBIHRvIEgxIGFuZCBCIHRvIEgyLCB0aGVuIHRoZSBsZW5ndGggb2YgdGhlIHJvdXRlIGZyb20gQSB0byBCIGlzIHRoZSBzdW0gb2YgdGhlIGRpc3RhbmNlcyBmcm9tIEEgdG8gSDEsIGZyb20gSDEgdG8gSDIsIGFuZCBmcm9tIEgyIHRvIEIuPFwvcD5cclxuXHJcbjxwPlRoZSBwbGFubmluZyBhdXRob3JpdHkgb2YgWW9uZy1JbiBjaXR5IHdvdWxkIGxpa2UgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnkgY2l0aXplbiBjYW4gcmVhY2ggZXZlcnkgcG9pbnQgd2l0aGluIHRoZSBjaXR5IGFzIHF1aWNrbHkgYXMgcG9zc2libGUuIFRoZXJlZm9yZSwgY2l0eSBwbGFubmVycyB3YW50IHRvIGNob29zZSB0d28gYnVzIHN0b3BzIHRvIGJlIGh1YnMgaW4gc3VjaCBhIHdheSB0aGF0IGluIHRoZSByZXN1bHRpbmcgYnVzIG5ldHdvcmsgdGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCByb3V0ZSBiZXR3ZWVuIGFueSB0d28gYnVzIHN0b3BzIGlzIGFzIHNob3J0IGFzIHBvc3NpYmxlLiZuYnNwOzxcL3A+XHJcblxyXG48cD5PbmUgY2hvaWNlIFAgb2YgdHdvIGh1YnMgYW5kIGFzc2lnbm1lbnRzIG9mIGJ1cyBzdG9wcyB0byB0aG9zZSBodWJzIGlzIGJldHRlciB0aGFuIGFub3RoZXIgY2hvaWNlIFEgaWYgdGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBidXMgcm91dGUgaXMgc2hvcnRlciBpbiBQIHRoYW4gaW4gUS4gJm5ic3A7WW91ciB0YXNrIGlzIHRvIHdyaXRlIGEgcHJvZ3JhbSB0byBjb21wdXRlIHRoZSBsZW5ndGggb2YgdGhpcyBsb25nZXN0IHJvdXRlIGZvciB0aGUgYmVzdCBjaG9pY2UgUC4gJm5ic3A7PFwvcD5cclxuIiwiaW5wdXQiOiI8cD5Zb3VyIHByb2dyYW0gaXMgdG8gcmVhZCBmcm9tIHN0YW5kYXJkIGlucHV0LiBUaGUgZmlyc3QgbGluZSBjb250YWlucyBvbmUgcG9zaXRpdmUgaW50ZWdlciBOLCAyICZsZTsgTiAmbGU7IDUwMCwgdGhlIG51bWJlciBvZiBidXMgc3RvcHMuIEVhY2ggb2YgdGhlIHJlbWFpbmluZyBOIGxpbmVzIGNvbnRhaW5zIHRoZSB4LWNvb3JkaW5hdGUgZm9sbG93ZWQgYnkgdGhlIHktY29vcmRpbmF0ZSBvZiBhIGJ1cyBzdG9wLiBUaGUgeC0gYW5kIHktY29vcmRpbmF0ZXMgYXJlIHBvc2l0aXZlIGludGVnZXJzICZsZTsgNTAwMC4gJm5ic3A7Tm8gdHdvIGJ1cyBzdG9wcyBhcmUgYXQgdGhlIHNhbWUgbG9jYXRpb24uPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+WW91ciBwcm9ncmFtIGlzIHRvIHdyaXRlIHRvIHN0YW5kYXJkIG91dHB1dC4gVGhlIG91dHB1dCBjb250YWlucyBvbmUgbGluZSB3aXRoIGEgc2luZ2xlIHBvc2l0aXZlIGludGVnZXIsIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBidXMgcm91dGUgZm9yIHRoZSBpbnB1dC48XC9wPlxyXG4iLCJoaW50IjoiPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJcL3VwbG9hZFwvaW1hZ2VzXC90ZXJtaW5hbC5wbmdcIiBzdHlsZT1cImhlaWdodDoxOTRweDsgb3BhY2l0eTowLjk7IHdpZHRoOjI4NnB4XCIgXC8+PFwvcD5cclxuIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d