시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)127645866.667%

문제

덕인 교수는 알고리즘 과목을 강의하는 교수다. 덕인 교수는 다가오는 중간고사 시험 문제를 준비하면서, 얼마 전 학생들에게 가르친 최대 부분합 문제를 추가하기로 했다. 최대 부분합 문제는 다음과 같다.

  • 배열 $A=[a_1, a_2, \dots , a_n]$가 주어질 때, $max_{1 \leq i \leq j \leq n}(\sum_{k=i}^{j}a_k)$를 구하여라.

덕인 교수는 수열 하나를 주고, 해당 수열에서 최대 부분합을 구하도록 할 심산이다. 덕인 교수는 수열 제작의 대가로, 다음과 같은 과정으로 수열을 만든다고 알려져 있다.

  • 정수만으로 구성된 $N \times N$ 크기의 이차원 배열을 준비한다.
  • $(1, 1)$에서 출발해 아래 혹은 오른쪽으로 이동하는 것을 반복하여 $(N, N)$에 도착한다. 참고로 $(i, j)$에서 아래로 이동하면 $(i+1, j)$에 도달하고, 오른쪽으로 이동하면 $(i, j+1)$에 도달한다.
  • 지나온 칸에 적힌 정수를 지나온 순서대로 나열하여 길이 $2N-1$의 수열을 완성한다.

덕인 교수는 '답이 $K$인 문제는 아름다운 문제'라는 신념을 가지고 있어서, 최대 부분합이 $K$인 수열을 만들려고 한다. 여기에 더해서, 최대 부분합이 $K$인 수열을 최대한 많은 방법으로 만들려고 한다. 덕인 교수의 조교인 당신은 $N \times N$ 크기의 이차원 배열이 주어지면, 최대 부분합이 $K$인 수열을 만드는 서로 다른 방법의 수를 구해야 한다. 어떤 두 방법이 서로 다르다는 것은 두 수열을 구성하는 이차원 배열상의 경로가 서로 다르다는 것을 의미한다.

입력

첫 번째 줄에는 이차원 배열의 크기 $N$과 만들고자 하는 최대 부분합 $K$가 주어진다. $(1 \leq N \leq 20, -4 \times 10^{10} \leq K \leq $ $4 \times 10^{10})$

그 다음 $N$개의 줄에 걸쳐 각 줄에 $N$개의 정수가 공백으로 구분되어 주어진다. 구체적으로, $i$번째 줄의 $j$번째 정수는 이차원 배열 $A$의 $(i, j)$에 위치하는 $A_{i,j}$를 의미한다. $(-10^9 \leq A_{i,j} \leq 10^9)$

출력

주어진 배열에서 최대 부분합이 $K$인 수열을 만드는 서로 다른 방법의 수를 출력한다.

예제 입력 1

3 3
1 2 -5
-2 3 0
-1 -1 1

예제 출력 1

2

예제 입력 2

4 3
1 -1 1 1
1 1 1 1
1 1 1 1
1 1 -1 1

예제 출력 2

4

노트

첫 번째 예제에서 만들 수 있는 수열들은 다음과 같다.

  • $[1, 2, -5, 0, 1]$
  • $[1, 2, 3, 0, 1]$
  • $[1, 2, 3, -1, 1]$
  • $[1, -2, 3, 0, 1]$
  • $[1, -2, 3, -1, 1]$
  • $[1, -2, -1, -1, 1]$

이 중에서 최대 부분합이 3인 수열은 1번째와 5번째 수열뿐이므로 답으로 2를 출력한다.

두 번째 예제에서는 만들 수 있는 수열들 중 $[1, -1, 1, 1, 1, -1, 1]$만이 최대 부분합이 3이고, 이러한 수열을 만들기 위해서는 $(1, 2)$와 $(4, 3)$을 반드시 지나야 하므로 경우의 수는 4가 된다.

W3sicHJvYmxlbV9pZCI6IjIyODgyIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjMmRjXHVkNWQ4IFx1YmIzOFx1YzgxYyBcdWNkOWNcdWM4MWMiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YjM1NVx1Yzc3OCBcdWFkNTBcdWMyMThcdWIyOTQgXHVjNTRjXHVhY2UwXHViOWFjXHVjOTk4IFx1YWNmY1x1YmFhOVx1Yzc0NCBcdWFjMTVcdWM3NThcdWQ1NThcdWIyOTQgXHVhZDUwXHVjMjE4XHViMmU0LiBcdWIzNTVcdWM3NzggXHVhZDUwXHVjMjE4XHViMjk0IFx1YjJlNFx1YWMwMFx1YzYyNFx1YjI5NCBcdWM5MTFcdWFjMDRcdWFjZTBcdWMwYWMgXHVjMmRjXHVkNWQ4IFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWM5MDBcdWJlNDRcdWQ1NThcdWJhNzRcdWMxMWMsIFx1YzViY1x1YjljOCBcdWM4MDQgXHVkNTU5XHVjMGRkXHViNGU0XHVjNWQwXHVhYzhjIFx1YWMwMFx1Yjk3NFx1Y2U1YyBcdWNkNWNcdWIzMDAgXHViZDgwXHViZDg0XHVkNTY5IFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWNkOTRcdWFjMDBcdWQ1NThcdWFlMzBcdWI4NWMgXHVkNTg4XHViMmU0LiBcdWNkNWNcdWIzMDAgXHViZDgwXHViZDg0XHVkNTY5IFx1YmIzOFx1YzgxY1x1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YmMzMFx1YzVmNCAkQT1bYV8xLCBhXzIsIFxcZG90cyAsIGFfbl0kXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljOCBcdWI1NGMsICRtYXhfezEgXFxsZXEgaSBcXGxlcSBqIFxcbGVxIG59KFxcc3VtX3trPWl9XntqfWFfaykkXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YzVlY1x1Yjc3Yy48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWIzNTVcdWM3NzggXHVhZDUwXHVjMjE4XHViMjk0IFx1YzIxOFx1YzVmNCBcdWQ1NThcdWIwOThcdWI5N2MgXHVjOGZjXHVhY2UwLCBcdWQ1NzRcdWIyZjkgXHVjMjE4XHVjNWY0XHVjNWQwXHVjMTFjIFx1Y2Q1Y1x1YjMwMCBcdWJkODBcdWJkODRcdWQ1NjlcdWM3NDQgXHVhZDZjXHVkNTU4XHViM2M0XHViODVkIFx1ZDU2MCBcdWMyZWNcdWMwYjBcdWM3NzRcdWIyZTQuIFx1YjM1NVx1Yzc3OCBcdWFkNTBcdWMyMThcdWIyOTQgXHVjMjE4XHVjNWY0IFx1YzgxY1x1Yzc5MVx1Yzc1OCBcdWIzMDBcdWFjMDBcdWI4NWMsIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWM3NDAgXHVhY2ZjXHVjODE1XHVjNzNjXHViODVjIFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWI5Y2NcdWI0ZTBcdWIyZTRcdWFjZTAgXHVjNTRjXHViODI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWM4MTVcdWMyMThcdWI5Y2NcdWM3M2NcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDFjICROIFxcdGltZXMgTiQgXHVkMDZjXHVhZTMwXHVjNzU4IFx1Yzc3NFx1Y2MyOFx1YzZkMCBcdWJjMzBcdWM1ZjRcdWM3NDQgXHVjOTAwXHViZTQ0XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT4kKDEsIDEpJFx1YzVkMFx1YzExYyBcdWNkOWNcdWJjMWNcdWQ1NzQgXHVjNTQ0XHViNzk4IFx1ZDYzOVx1Yzc0MCBcdWM2MjRcdWI5NzhcdWNhYmRcdWM3M2NcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWJjMThcdWJjZjVcdWQ1NThcdWM1ZWMgJChOLCBOKSRcdWM1ZDAgXHViM2M0XHVjYzI5XHVkNTVjXHViMmU0LiBcdWNjMzhcdWFjZTBcdWI4NWMgJChpLCBqKSRcdWM1ZDBcdWMxMWMgXHVjNTQ0XHViNzk4XHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YmE3NCAkKGkrMSwgaikkXHVjNWQwIFx1YjNjNFx1YjJlY1x1ZDU1OFx1YWNlMCwgXHVjNjI0XHViOTc4XHVjYWJkXHVjNzNjXHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YmE3NCAkKGksIGorMSkkXHVjNWQwIFx1YjNjNFx1YjJlY1x1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjOWMwXHViMDk4XHVjNjI4IFx1Y2U3OFx1YzVkMCBcdWM4MDFcdWQ3OGMgXHVjODE1XHVjMjE4XHViOTdjIFx1YzljMFx1YjA5OFx1YzYyOCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHViMDk4XHVjNWY0XHVkNTU4XHVjNWVjIFx1YWUzOFx1Yzc3NCAkMk4tMSRcdWM3NTggXHVjMjE4XHVjNWY0XHVjNzQ0IFx1YzY0NFx1YzEzMVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWIzNTVcdWM3NzggXHVhZDUwXHVjMjE4XHViMjk0ICYjMzk7XHViMmY1XHVjNzc0ICRLJFx1Yzc3OCBcdWJiMzhcdWM4MWNcdWIyOTQgXHVjNTQ0XHViOTg0XHViMmU0XHVjNmI0IFx1YmIzOFx1YzgxYyYjMzk7XHViNzdjXHViMjk0IFx1YzJlMFx1YjE1MFx1Yzc0NCBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHVjNWI0XHVjMTFjLCBcdWNkNWNcdWIzMDAgXHViZDgwXHViZDg0XHVkNTY5XHVjNzc0ICRLJFx1Yzc3OCBcdWMyMThcdWM1ZjRcdWM3NDQgXHViOWNjXHViNGU0XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjNWVjXHVhZTMwXHVjNWQwIFx1YjM1NFx1ZDU3NFx1YzExYywgXHVjZDVjXHViMzAwIFx1YmQ4MFx1YmQ4NFx1ZDU2OVx1Yzc3NCAkSyRcdWM3NzggXHVjMjE4XHVjNWY0XHVjNzQ0IFx1Y2Q1Y1x1YjMwMFx1ZDU1YyBcdWI5Y2VcdWM3NDAgXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1YjljY1x1YjRlNFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YjM1NVx1Yzc3OCBcdWFkNTBcdWMyMThcdWM3NTggXHVjODcwXHVhZDUwXHVjNzc4IFx1YjJmOVx1YzJlMFx1Yzc0MCAkTiBcXHRpbWVzIE4kIFx1ZDA2Y1x1YWUzMFx1Yzc1OCBcdWM3NzRcdWNjMjhcdWM2ZDAgXHViYzMwXHVjNWY0XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljMFx1YmE3NCwgXHVjZDVjXHViMzAwIFx1YmQ4MFx1YmQ4NFx1ZDU2OVx1Yzc3NCAkSyRcdWM3NzggXHVjMjE4XHVjNWY0XHVjNzQ0IFx1YjljY1x1YjRkY1x1YjI5NCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmMyOVx1YmM5NVx1Yzc1OCBcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHVjNWI0XHViNWE0IFx1YjQ1MCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3NFx1YjJlNFx1YjI5NCBcdWFjODNcdWM3NDAgXHViNDUwIFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWFkNmNcdWMxMzFcdWQ1NThcdWIyOTQgXHVjNzc0XHVjYzI4XHVjNmQwIFx1YmMzMFx1YzVmNFx1YzBjMVx1Yzc1OCBcdWFjYmRcdWI4NWNcdWFjMDAgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3NFx1YjJlNFx1YjI5NCBcdWFjODNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjNzc0XHVjYzI4XHVjNmQwIFx1YmMzMFx1YzVmNFx1Yzc1OCBcdWQwNmNcdWFlMzAgJE4kXHVhY2ZjIFx1YjljY1x1YjRlNFx1YWNlMFx1Yzc5MCBcdWQ1NThcdWIyOTQgXHVjZDVjXHViMzAwIFx1YmQ4MFx1YmQ4NFx1ZDU2OSAkSyRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAkKDEgXFxsZXEgTiBcXGxlcSAyMCwgLTQgXFx0aW1lcyAxMF57MTB9IFxcbGVxIEsgXFxsZXEgJCAkNCBcXHRpbWVzIDEwXnsxMH0pJDxcL3A+XHJcblxyXG48cD5cdWFkZjggXHViMmU0XHVjNzRjICROJFx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwIFx1YWMwMSBcdWM5MDRcdWM1ZDAgJE4kXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVhZDZjXHVjY2I0XHVjODAxXHVjNzNjXHViODVjLCAkaSRcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzU4ICRqJFx1YmM4OFx1YzlmOCBcdWM4MTVcdWMyMThcdWIyOTQgXHVjNzc0XHVjYzI4XHVjNmQwIFx1YmMzMFx1YzVmNCAkQSRcdWM3NTggJChpLCBqKSRcdWM1ZDAgXHVjNzA0XHVjZTU4XHVkNTU4XHViMjk0ICRBX3tpLGp9JFx1Yjk3YyBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuICQoLTEwXjkgXFxsZXEgQV97aSxqfSBcXGxlcSAxMF45KSQ8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM4ZmNcdWM1YjRcdWM5YzQgXHViYzMwXHVjNWY0XHVjNWQwXHVjMTFjIFx1Y2Q1Y1x1YjMwMCBcdWJkODBcdWJkODRcdWQ1NjlcdWM3NzQgJEskXHVjNzc4IFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWI5Y2NcdWI0ZGNcdWIyOTQgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCBcdWJjMjlcdWJjOTVcdWM3NTggXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM2MDhcdWM4MWNcdWM1ZDBcdWMxMWMgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjMjE4XHVjNWY0XHViNGU0XHVjNzQwIFx1YjJlNFx1Yzc0Y1x1YWNmYyBcdWFjMTlcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+JFsxLCAyLCAtNSwgMCwgMV0kPFwvbGk+XHJcblx0PGxpPiRbMSwgMiwgMywgMCwgMV0kPFwvbGk+XHJcblx0PGxpPiRbMSwgMiwgMywgLTEsIDFdJDxcL2xpPlxyXG5cdDxsaT4kWzEsIC0yLCAzLCAwLCAxXSQ8XC9saT5cclxuXHQ8bGk+JFsxLCAtMiwgMywgLTEsIDFdJDxcL2xpPlxyXG5cdDxsaT4kWzEsIC0yLCAtMSwgLTEsIDFdJDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1Yzc3NCBcdWM5MTFcdWM1ZDBcdWMxMWMgXHVjZDVjXHViMzAwIFx1YmQ4MFx1YmQ4NFx1ZDU2OVx1Yzc3NCAzXHVjNzc4IFx1YzIxOFx1YzVmNFx1Yzc0MCAxXHViYzg4XHVjOWY4XHVjNjQwIDVcdWJjODhcdWM5ZjggXHVjMjE4XHVjNWY0XHViZmQwXHVjNzc0XHViYmMwXHViODVjIFx1YjJmNVx1YzczY1x1Yjg1YyAyXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViNDUwIFx1YmM4OFx1YzlmOCBcdWM2MDhcdWM4MWNcdWM1ZDBcdWMxMWNcdWIyOTQgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjMjE4XHVjNWY0XHViNGU0IFx1YzkxMSAkWzEsIC0xLCAxLCAxLCAxLCAtMSwgMV0kXHViOWNjXHVjNzc0IFx1Y2Q1Y1x1YjMwMCBcdWJkODBcdWJkODRcdWQ1NjlcdWM3NzQgM1x1Yzc3NFx1YWNlMCwgXHVjNzc0XHViN2VjXHVkNTVjIFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWI5Y2NcdWI0ZTRcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjXHViMjk0ICQoMSwgMikkXHVjNjQwICQoNCwgMykkXHVjNzQ0IFx1YmMxOFx1YjRkY1x1YzJkYyBcdWM5YzBcdWIwOThcdWM1N2MgXHVkNTU4XHViYmMwXHViODVjIFx1YWNiZFx1YzZiMFx1Yzc1OCBcdWMyMThcdWIyOTQgNFx1YWMwMCBcdWI0MWNcdWIyZTQuPFwvcD5cclxuIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIyMjg4MiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IkV4YW0iLCJkZXNjcmlwdGlvbiI6IjxwPlByb2Zlc3NvciBEZW9raW4gbGVjdHVyZXMgb24gYWxnb3JpdGhtcy4gRm9yIHRoZSB1cGNvbWluZyBtaWR0ZXJtIGV4YW0sIGhlIGRlY2lkZWQgdG8gYWRkIHRoZSBtYXhpbXVtIHN1YmFycmF5IHN1bSBwcm9ibGVtIHRhdWdodCBpbiBoaXMgbGVjdHVyZSwgd2hpY2ggaXMgdGhlIGZvbGxvd2luZyBwcm9ibGVtOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPkdpdmVuIHRoZSBhcnJheSZuYnNwOyRBPVthXzEsIGFfMiwgXFxsZG90cyAsIGFfbl0kLCBjb21wdXRlIHRoZSB2YWx1ZSZuYnNwOyRNU1MoQSkgPSBcXG1heF97MSBcXGxlcSBpIFxcbGVxIGogXFxsZXEgbn0oXFxzdW1fe2s9aX1ee2p9YV9rKSQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5EZW9raW4gd2FudHMgdG8gZm9yY2UgdGhlIHN0dWRlbnRzIHRvIHNvbHZlIHRoZSBtYXhpbXVtIHN1YmFycmF5IHN1bSBwcm9ibGVtIGJ5IGhhbmQuIEZvciB0aGlzLCBoZSB1c2VzIHRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlLjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlByZXBhcmUgYSB0d28tZGltZW5zaW9uYWwgYXJyYXkgb2YgaW50ZWdlcnMgb2Ygc2l6ZSZuYnNwOyROIFxcdGltZXMgTiQuPFwvbGk+XHJcblx0PGxpPlN0YXJ0IGZyb20gdGhlIGNlbGwmbmJzcDskKDEsIDEpJCwgYW5kIHJlcGVhdGVkbHkgbW92ZSBlaXRoZXIgcmlnaHQgb3IgZG93biB0byByZWFjaCB0aGUgY2VsbCZuYnNwOyQoTiwgTikkLiBJZiB0aGUgY3VycmVudCBjZWxsIGlzJm5ic3A7JChpLCBqKSQsIGhlIGNhbiBtb3ZlIHJpZ2h0IHRvIHRoZSBjZWxsJm5ic3A7JChpLCBqKzEpJCZuYnNwO2lmJm5ic3A7JGogJmx0OyBOJCwgb3IgbW92ZSBkb3duIHRvIHRoZSBjZWxsJm5ic3A7JChpKzEsIGopJCZuYnNwO2lmJm5ic3A7JGkgJmx0OyBOJC48XC9saT5cclxuXHQ8bGk+V3JpdGUgYSBzZXF1ZW5jZSBvZiBsZW5ndGgmbmJzcDskMk4tMSQmbmJzcDt3aGljaCBjb250YWlucyB0aGUgZWxlbWVudHMgb2YgdGhlIGNlbGxzIGluIHRoZSBvcmRlciB0aGF0IHRoZSBjZWxscyB3ZXJlIHZpc2l0ZWQuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+UHJvZmVzc29yIERlb2tpbiB3YW50cyB0byBhZGQgYW4gaW5zaWRlIGpva2UgdG8gdGhlIHByb2JsZW0gc28gdGhhdCB0aGUgc3R1ZGVudHMgd2hvIHBhaWQgYXR0ZW50aW9uIHRvIGhpcyBsZWN0dXJlcyBjYW4gaGF2ZSBjb25maWRlbmNlIGluIHRoZWlyIGFuc3dlcnMuIEhlIHdhbnRzIHRvIGNyZWF0ZSBhIHNlcXVlbmNlIHdoZXJlIHRoZSB2YWx1ZSBvZiZuYnNwOyRNU1MoQSkkJm5ic3A7aXMgZXhhY3RseSZuYnNwOyRLJC4gR2l2ZW4gYSB0d28tZGltZW5zaW9uYWwgYXJyYXkgb2Ygc2l6ZSZuYnNwOyROIFxcdGltZXMgTiQsIHlvdSBuZWVkIHRvIGZpbmQgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgcGF0aHMgaW4gdGhlIGdyaWQgd2hpY2ggeWllbGQgc2VxdWVuY2VzIHRoYXQgaGF2ZSBhIG1heGltdW0gc3ViYXJyYXkgc3VtIHZhbHVlIG9mIGV4YWN0bHkmbmJzcDskSyQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBjb250YWlucyB0d28gaW50ZWdlcnMmbmJzcDskTiQmbmJzcDtkZW5vdGluZyB0aGUgc2l6ZSBvZiB0aGUgdHdvLWRpbWVuc2lvbmFsIGFycmF5LCBhbmQmbmJzcDskSyQmbmJzcDtkZW5vdGluZyB0aGUgZGVzaXJlZCB2YWx1ZSZuYnNwOyQoMSBcXGxlcSBOIFxcbGVxIDIwLCAtNCBcXHRpbWVzIDEwXnsxMH0gXFxsZXEgSyBcXGxlcSA0IFxcdGltZXMgMTBeezEwfSkkLjxcL3A+XHJcblxyXG48cD5UaGUgbmV4dCZuYnNwOyROJCZuYnNwO2xpbmVzIGNvbnRhaW4mbmJzcDskTiQmbmJzcDtpbnRlZ2VycyBkZW5vdGluZyB0aGUgdmFsdWVzIGluIHRoZSB0d28tZGltZW5zaW9uYWwgYXJyYXkuIFRoZSZuYnNwOyRqJC10aCBpbnRlZ2VyIGluIHRoZSZuYnNwOyRpJC10aCBsaW5lIGRlbm90ZXMgdGhlIHZhbHVlJm5ic3A7JEFfe2ksIGp9JC4gQWxsIGluZGljZXMgdXNlZCBpbiB0aGUgYXJyYXkgYXJlIDEtaW5kZXhlZCZuYnNwOyQoLTEwXjkgXFxsZXEgQV97aSxqfSBcXGxlcSAxMF45KSQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IGEgc2luZ2xlIGludGVnZXIgZGVub3RpbmcgdGhlIG51bWJlciBvZiBkaWZmZXJlbnQgcGF0aHMgaW4gYSBncmlkIHdoaWNoIHlpZWxkIGEgc2VxdWVuY2Ugd2l0aCBhIG1heGltdW0gc3ViYXJyYXkgc3VtIHZhbHVlIG9mIGV4YWN0bHkmbmJzcDskSyQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==