시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 256 MB51252145.652%

문제

NSA가 아주 짱짱 큰 정수를 소인수분해하는 알고리즘을 발견했다! 그들은 조직 내의 spy network에서 암호화된 메시지를 주고받는 데 이 알고리즘을 적극 활용하기로 하였다. 그들의 spy network는 방향 그래프 G = (V, E)의 형태로 표현될 수 있으며, 각 정점은 NSA의 직원을 의미하고 각 간선 (u, v)는 u가 v에게 비밀스럽게 정보를 보낼 수 있음을 의미하며, 이는 v가 u의 연락망에 속해 있다고도 표현할 수 있다. u가 v에게 정보를 보낼 수 있다고 해서 v가 u에게 정보를 보낼 수 있지는 않다는 것에 주의하라.

NSA의 직원들은 항상 알려진 테러 조직들의 테러 조짐을 관찰하고 있으며 몇 달의 기한마다 동료들에게 어떤 테러 조직이 테러를 일으킬 조짐이 보이는지를 보고한다.

정보 전달 방식은 이렇다.

  1. 모든 직원들은 자신이 모은 정보를 자신의 연락망에 속한 다른 직원들에게 보낸다.
  2. 만약 어떤 직원이 정보 ireceived를 받았다면, 자신이 지금까지 가지고 있던 정보 iold와 결합하여 새로운 정보 inew를 생성하고, 그것을 자신의 최신 정보로 대체한다.
  3. 이때, inew는 ireceived와 iold에 모두 포함되어 있던 정보만으로 생성된다. 이는 워낙에 NSA에 거짓 정보가 많이 흘러들어오기에, 여러 직원이 발견하지 못했다면 진실이라는 당위성이 떨어진다고 판단하기로 했기 때문이다.
  4. 그 다음부터 해당 직원이 다른 직원에게 보낼 정보는 inew이다.

모든 직원들은 정보를 전달할 때 이런 과정을 따른다.

만약 직원들이 정보를 계속해서 주고받으면, 어느 순간부터 아무리 정보를 보내도 그 어떤 정보도 갱신되지 않는 일이 발생한다. 이때 모든 직원들은 정보 송신을 그만둔다. Spy network 전체가 연결되어 있지 않을 수도 있고, 싸이클이 존재할 수도 있음에 유의하라.

NSA는 이러한 정보의 형태를 큰 소수의 곱으로 나타내기로 했다. 모든 테러 조직마다 대응하는 큰 소수값을 부여한 후(다른 조직은 다른 값을 부여받는다), 여러 조직을 표현하는 정보는 그 소수들의 곱으로 나타낸다. 만약 어떤 사원이 ireceived를 받았다면, inew는 ireceived와 iold의 최대공약수(greatest common divisor)가 될 것이다. 왜냐하면 두 정보의 최대공약수가 두 정보에 모두 포함되어 있는 소수들만의 곱이기 때문이다. 이렇게 정보를 전달하다가 정보 송신이 중단된 경우, 어떤 직원은 중요한 상황에 소인수분해 알고리즘을 사용하여 조직의 정보를 파악할 수 있다.

NSA는 최근에 자신들의 정보가 외부로 유출되었음을 확인했다! 모든 정보는 암호화되어 있고 잃어버린 정보 또한 없지만, NSA는 정보 유출자를 찾아내기로 결정했다. 이에 당신의 도움이 필요하다. 정확히 누가 정보를 유출했는지는 알 수 없지만, NSA는 유출된 정보의 값을 알고 있었다. 만약 spy network가 더 이상의 어떠한 정보 갱신도 이루어지지 않는 상태가 되었을 때, 유출된 정보의 값을 가지고 있던 직원들이 누구인지를 아는 것부터 시작하기로 했다. 그렇게 한다면 수색망을 좁힐 수 있기 때문이다.

최종 상태에서 누출된 정보값을 가지고 있는 직원의 수를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 첫 번째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스의 개수는 100개를 넘지 않는다.

각 테스트 케이스의 첫 번째 줄에는 세 정수 N, M, L이 주어진다. (1 ≤ n ≤ 10 000, 0 ≤ m ≤ 10 000, 1 ≤ l < 263) N은 직원의 수, M은 간선의 수, L은 누출된 정보값을 의미한다.

이어지는 M개의 줄에 간선의 정보가 하나씩 주어진다. 한 줄에 두 정수 a, b가 주어지는데, 이는 b가 a의 연락망에 속해 있음을 의미한다. (1 ≤ a, b ≤ n, a ≠ b)

이어지는 N개의 줄에 각 직원이 처음에 가지고 있던 정보값 i가 주어진다. (1 ≤ i < 263)

출력

각 테스트 케이스마다 한 줄에 걸쳐서 최종 상태에서 누출된 정보값을 가지고 있던 직원의 수를 출력한다.

예제 입력 1

3
4 3 7
1 3
2 3
3 4
35
77
385
385
4 4 159
1 2
2 3
3 1
4 1
159
159
159
2014
5 5 9
2 1
2 3
3 2
3 4
5 4
27
54
90
315
135

예제 출력 1

2
0
2

힌트

첫 번째 테스트 케이스의 spy network이다.

W3sicHJvYmxlbV9pZCI6IjEwMjg3IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiU3B5IE5ldHdvcmsiLCJkZXNjcmlwdGlvbiI6IjxwPk5TQVx1YWMwMCBcdWM1NDRcdWM4ZmMgXHVjOWYxXHVjOWYxIFx1ZDA3MCBcdWM4MTVcdWMyMThcdWI5N2MgXHVjMThjXHVjNzc4XHVjMjE4XHViZDg0XHVkNTc0XHVkNTU4XHViMjk0IFx1YzU0Y1x1YWNlMFx1YjlhY1x1Yzk5OFx1Yzc0NCBcdWJjMWNcdWFjYWNcdWQ1ODhcdWIyZTQhIFx1YWRmOFx1YjRlNFx1Yzc0MCBcdWM4NzBcdWM5YzEgXHViMGI0XHVjNzU4IHNweSBuZXR3b3JrXHVjNWQwXHVjMTFjIFx1YzU1NFx1ZDYzOFx1ZDY1NFx1YjQxYyBcdWJhNTRcdWMyZGNcdWM5YzBcdWI5N2MgXHVjOGZjXHVhY2UwXHViYzFiXHViMjk0IFx1YjM3MCBcdWM3NzQgXHVjNTRjXHVhY2UwXHViOWFjXHVjOTk4XHVjNzQ0IFx1YzgwMVx1YWRmOSBcdWQ2NWNcdWM2YTlcdWQ1NThcdWFlMzBcdWI4NWMgXHVkNTU4XHVjNjAwXHViMmU0LiBcdWFkZjhcdWI0ZTRcdWM3NTggc3B5IG5ldHdvcmtcdWIyOTQgXHViYzI5XHVkNWE1Jm5ic3A7XHVhZGY4XHViNzk4XHVkNTA0IEcgPSAoViwgRSlcdWM3NTggXHVkNjE1XHVkMGRjXHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQyMCBcdWMyMTggXHVjNzg4XHVjNzNjXHViYTcwLCBcdWFjMDEgXHVjODE1XHVjODEwXHVjNzQwIE5TQVx1Yzc1OCBcdWM5YzFcdWM2ZDBcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTU4XHVhY2UwIFx1YWMwMSZuYnNwO1x1YWMwNFx1YzEyMCAodSwgdilcdWIyOTQgdVx1YWMwMCB2XHVjNWQwXHVhYzhjIFx1YmU0NFx1YmMwMFx1YzJhNFx1YjdmZFx1YWM4YyZuYnNwO1x1YzgxNVx1YmNmNFx1Yjk3YyBcdWJjZjRcdWIwYmMgXHVjMjE4IFx1Yzc4OFx1Yzc0Y1x1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NThcdWJhNzAsIFx1Yzc3NFx1YjI5NCB2XHVhYzAwIHVcdWM3NTggXHVjNWYwXHViNzdkXHViOWRkXHVjNWQwIFx1YzE4ZFx1ZDU3NCBcdWM3ODhcdWIyZTRcdWFjZTBcdWIzYzQgXHVkNDVjXHVkNjA0XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuIHVcdWFjMDAgdlx1YzVkMFx1YWM4YyBcdWM4MTVcdWJjZjRcdWI5N2MgXHViY2Y0XHViMGJjIFx1YzIxOCBcdWM3ODhcdWIyZTRcdWFjZTAgXHVkNTc0XHVjMTFjIHZcdWFjMDAgdVx1YzVkMFx1YWM4YyBcdWM4MTVcdWJjZjRcdWI5N2MgXHViY2Y0XHViMGJjIFx1YzIxOCBcdWM3ODhcdWM5YzBcdWIyOTQgXHVjNTRhXHViMmU0XHViMjk0IFx1YWM4M1x1YzVkMCBcdWM4ZmNcdWM3NThcdWQ1NThcdWI3N2MuPFwvcD5cclxuXHJcbjxwPk5TQVx1Yzc1OCBcdWM5YzFcdWM2ZDBcdWI0ZTRcdWM3NDAgXHVkNTZkXHVjMGMxIFx1YzU0Y1x1YjgyNFx1YzljNCBcdWQxNGNcdWI3ZWMgXHVjODcwXHVjOWMxXHViNGU0XHVjNzU4IFx1ZDE0Y1x1YjdlYyBcdWM4NzBcdWM5ZDBcdWM3NDQgXHVhZDAwXHVjYzMwXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YzczY1x1YmE3MCBcdWJhODcgXHViMmVjXHVjNzU4IFx1YWUzMFx1ZDU1Y1x1YjljOFx1YjJlNCZuYnNwO1x1YjNkOVx1YjhjY1x1YjRlNFx1YzVkMFx1YWM4YyZuYnNwO1x1YzViNFx1YjVhNCBcdWQxNGNcdWI3ZWMgXHVjODcwXHVjOWMxXHVjNzc0IFx1ZDE0Y1x1YjdlY1x1Yjk3YyBcdWM3N2NcdWM3M2NcdWQwYWMgXHVjODcwXHVjOWQwXHVjNzc0IFx1YmNmNFx1Yzc3NFx1YjI5NFx1YzljMFx1Yjk3YyBcdWJjZjRcdWFjZTBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzgxNVx1YmNmNCBcdWM4MDRcdWIyZWMgXHViYzI5XHVjMmRkXHVjNzQwIFx1Yzc3NFx1YjgwN1x1YjJlNC48XC9wPlxyXG5cclxuPGJsb2NrcXVvdGU+XHJcbjxvbD5cclxuXHQ8bGk+XHViYWE4XHViNGUwIFx1YzljMVx1YzZkMFx1YjRlNFx1Yzc0MCBcdWM3OTBcdWMyZTBcdWM3NzQgXHViYWE4XHVjNzQwIFx1YzgxNVx1YmNmNFx1Yjk3YyBcdWM3OTBcdWMyZTBcdWM3NTggXHVjNWYwXHViNzdkXHViOWRkXHVjNWQwIFx1YzE4ZFx1ZDU1YyBcdWIyZTRcdWI5NzggXHVjOWMxXHVjNmQwXHViNGU0XHVjNWQwXHVhYzhjIFx1YmNmNFx1YjBiOFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViOWNjXHVjNTdkIFx1YzViNFx1YjVhNCBcdWM5YzFcdWM2ZDBcdWM3NzQgXHVjODE1XHViY2Y0IGk8c3ViPnJlY2VpdmVkPFwvc3ViPlx1Yjk3YyBcdWJjMWJcdWM1NThcdWIyZTRcdWJhNzQsIFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWM5YzBcdWFlMDhcdWFlNGNcdWM5YzAmbmJzcDtcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHViMzU4IFx1YzgxNVx1YmNmNCBpPHN1Yj5vbGQ8XC9zdWI+XHVjNjQwIFx1YWNiMFx1ZDU2OVx1ZDU1OFx1YzVlYyBcdWMwYzhcdWI4NWNcdWM2YjQgXHVjODE1XHViY2Y0IGk8c3ViPm5ldzxcL3N1Yj5cdWI5N2MgXHVjMGRkXHVjMTMxXHVkNTU4XHVhY2UwLCBcdWFkZjhcdWFjODNcdWM3NDQgXHVjNzkwXHVjMmUwXHVjNzU4IFx1Y2Q1Y1x1YzJlMCZuYnNwO1x1YzgxNVx1YmNmNFx1Yjg1YyBcdWIzMDBcdWNjYjRcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1Yzc3NFx1YjU0YywgaTxzdWI+bmV3PFwvc3ViPlx1YjI5NCBpPHN1Yj5yZWNlaXZlZDxcL3N1Yj5cdWM2NDAgaTxzdWI+b2xkPFwvc3ViPlx1YzVkMCBcdWJhYThcdWI0NTAgXHVkM2VjXHVkNTY4XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjM1OCBcdWM4MTVcdWJjZjRcdWI5Y2NcdWM3M2NcdWI4NWMgXHVjMGRkXHVjMTMxXHViNDFjXHViMmU0LiZuYnNwO1x1Yzc3NFx1YjI5NCZuYnNwO1x1YzZjY1x1YjA5OVx1YzVkMCBOU0FcdWM1ZDAmbmJzcDtcdWFjNzBcdWM5ZDMgXHVjODE1XHViY2Y0XHVhYzAwIFx1YjljZVx1Yzc3NCBcdWQ3NThcdWI3ZWNcdWI0ZTRcdWM1YjRcdWM2MjRcdWFlMzBcdWM1ZDAsJm5ic3A7XHVjNWVjXHViN2VjIFx1YzljMVx1YzZkMFx1Yzc3NCBcdWJjMWNcdWFjYWNcdWQ1NThcdWM5YzAgXHViYWJiXHVkNTg4XHViMmU0XHViYTc0IFx1YzljNFx1YzJlNFx1Yzc3NFx1Yjc3Y1x1YjI5NCBcdWIyZjlcdWM3MDRcdWMxMzFcdWM3NzQgXHViNWE4XHVjNWI0XHVjOWM0XHViMmU0XHVhY2UwIFx1ZDMxMFx1YjJlOFx1ZDU1OFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWFlMzAgXHViNTRjXHViYjM4XHVjNzc0XHViMmU0LjxcL2xpPlxyXG5cdDxsaT5cdWFkZjggXHViMmU0XHVjNzRjXHViZDgwXHVkMTMwIFx1ZDU3NFx1YjJmOSBcdWM5YzFcdWM2ZDBcdWM3NzQgXHViMmU0XHViOTc4IFx1YzljMVx1YzZkMFx1YzVkMFx1YWM4YyBcdWJjZjRcdWIwYmMgXHVjODE1XHViY2Y0XHViMjk0IGk8c3ViPm5ldzxcL3N1Yj5cdWM3NzRcdWIyZTQuPFwvbGk+XHJcbjxcL29sPlxyXG48XC9ibG9ja3F1b3RlPlxyXG5cclxuPHA+XHViYWE4XHViNGUwIFx1YzljMVx1YzZkMFx1YjRlNFx1Yzc0MCBcdWM4MTVcdWJjZjRcdWI5N2MgXHVjODA0XHViMmVjXHVkNTYwIFx1YjU0YyBcdWM3NzRcdWI3ZjAgXHVhY2ZjXHVjODE1XHVjNzQ0IFx1YjUzMFx1Yjk3OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViOWNjXHVjNTdkIFx1YzljMVx1YzZkMFx1YjRlNFx1Yzc3NCBcdWM4MTVcdWJjZjRcdWI5N2MgXHVhY2M0XHVjMThkXHVkNTc0XHVjMTFjIFx1YzhmY1x1YWNlMFx1YmMxYlx1YzczY1x1YmE3NCwgXHVjNWI0XHViMjkwIFx1YzIxY1x1YWMwNFx1YmQ4MFx1ZDEzMCBcdWM1NDRcdWJiMzRcdWI5YWMgXHVjODE1XHViY2Y0XHViOTdjIFx1YmNmNFx1YjBiNFx1YjNjNCBcdWFkZjggXHVjNWI0XHViNWE0IFx1YzgxNVx1YmNmNFx1YjNjNCBcdWFjMzFcdWMyZTBcdWI0MThcdWM5YzAgXHVjNTRhXHViMjk0IFx1Yzc3Y1x1Yzc3NCBcdWJjMWNcdWMwZGRcdWQ1NWNcdWIyZTQuIFx1Yzc3NFx1YjU0YyBcdWJhYThcdWI0ZTAgXHVjOWMxXHVjNmQwXHViNGU0XHVjNzQwIFx1YzgxNVx1YmNmNCBcdWMxYTFcdWMyZTBcdWM3NDQgXHVhZGY4XHViOWNjXHViNDU0XHViMmU0LiBTcHkgbmV0d29yayZuYnNwO1x1YzgwNFx1Y2NiNFx1YWMwMCBcdWM1ZjBcdWFjYjBcdWI0MThcdWM1YjQgXHVjNzg4XHVjOWMwIFx1YzU0YVx1Yzc0NCBcdWMyMThcdWIzYzQgXHVjNzg4XHVhY2UwLCBcdWMyZjhcdWM3NzRcdWQwNzRcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTYwIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWM3NGNcdWM1ZDAgXHVjNzIwXHVjNzU4XHVkNTU4XHViNzdjLjxcL3A+XHJcblxyXG48cD5OU0FcdWIyOTQgXHVjNzc0XHViN2VjXHVkNTVjIFx1YzgxNVx1YmNmNFx1Yzc1OCBcdWQ2MTVcdWQwZGNcdWI5N2MgXHVkMDcwIFx1YzE4Y1x1YzIxOFx1Yzc1OCBcdWFjZjFcdWM3M2NcdWI4NWMgXHViMDk4XHVkMGMwXHViMGI0XHVhZTMwXHViODVjIFx1ZDU4OFx1YjJlNC4gXHViYWE4XHViNGUwIFx1ZDE0Y1x1YjdlYyBcdWM4NzBcdWM5YzFcdWI5YzhcdWIyZTQgXHViMzAwXHVjNzUxXHVkNTU4XHViMjk0Jm5ic3A7XHVkMDcwIFx1YzE4Y1x1YzIxOFx1YWMxMlx1Yzc0NCBcdWJkODBcdWM1ZWNcdWQ1NWMgXHVkNmM0KFx1YjJlNFx1Yjk3OCBcdWM4NzBcdWM5YzFcdWM3NDAgXHViMmU0XHViOTc4IFx1YWMxMlx1Yzc0NCBcdWJkODBcdWM1ZWNcdWJjMWJcdWIyOTRcdWIyZTQpLCBcdWM1ZWNcdWI3ZWMgXHVjODcwXHVjOWMxXHVjNzQ0IFx1ZDQ1Y1x1ZDYwNFx1ZDU1OFx1YjI5NCBcdWM4MTVcdWJjZjRcdWIyOTQgXHVhZGY4IFx1YzE4Y1x1YzIxOFx1YjRlNFx1Yzc1OCBcdWFjZjFcdWM3M2NcdWI4NWMgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LiBcdWI5Y2NcdWM1N2QgXHVjNWI0XHViNWE0IFx1YzBhY1x1YzZkMFx1Yzc3NCBpPHN1Yj5yZWNlaXZlZDxcL3N1Yj5cdWI5N2MgXHViYzFiXHVjNTU4XHViMmU0XHViYTc0LCBpPHN1Yj5uZXc8XC9zdWI+XHViMjk0IGk8c3ViPnJlY2VpdmVkPFwvc3ViPlx1YzY0MCBpPHN1Yj5vbGQ8XC9zdWI+XHVjNzU4IFx1Y2Q1Y1x1YjMwMFx1YWNmNVx1YzU3ZFx1YzIxOChncmVhdGVzdCBjb21tb24gZGl2aXNvcilcdWFjMDAgXHViNDIwIFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHVjNjVjXHViMGQwXHVkNTU4XHViYTc0IFx1YjQ1MCBcdWM4MTVcdWJjZjRcdWM3NTggXHVjZDVjXHViMzAwXHVhY2Y1XHVjNTdkXHVjMjE4XHVhYzAwIFx1YjQ1MCBcdWM4MTVcdWJjZjRcdWM1ZDAgXHViYWE4XHViNDUwIFx1ZDNlY1x1ZDU2OFx1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTQgXHVjMThjXHVjMjE4XHViNGU0XHViOWNjXHVjNzU4IFx1YWNmMVx1Yzc3NFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM3NzRcdWIyZTQuIFx1Yzc3NFx1YjgwN1x1YWM4YyBcdWM4MTVcdWJjZjRcdWI5N2MgXHVjODA0XHViMmVjXHVkNTU4XHViMmU0XHVhYzAwIFx1YzgxNVx1YmNmNCBcdWMxYTFcdWMyZTBcdWM3NzQgXHVjOTExXHViMmU4XHViNDFjIFx1YWNiZFx1YzZiMCwgXHVjNWI0XHViNWE0IFx1YzljMVx1YzZkMFx1Yzc0MCBcdWM5MTFcdWM2OTRcdWQ1NWMgXHVjMGMxXHVkNjY5XHVjNWQwIFx1YzE4Y1x1Yzc3OFx1YzIxOFx1YmQ4NFx1ZDU3NCBcdWM1NGNcdWFjZTBcdWI5YWNcdWM5OThcdWM3NDQgXHVjMGFjXHVjNmE5XHVkNTU4XHVjNWVjIFx1Yzg3MFx1YzljMVx1Yzc1OCBcdWM4MTVcdWJjZjRcdWI5N2MgXHVkMzBjXHVjNTQ1XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPk5TQVx1YjI5NCBcdWNkNWNcdWFkZmNcdWM1ZDAgXHVjNzkwXHVjMmUwXHViNGU0XHVjNzU4IFx1YzgxNVx1YmNmNFx1YWMwMCBcdWM2NzhcdWJkODBcdWI4NWMgXHVjNzIwXHVjZDljXHViNDE4XHVjNWM4XHVjNzRjXHVjNzQ0IFx1ZDY1NVx1Yzc3OFx1ZDU4OFx1YjJlNCEgXHViYWE4XHViNGUwIFx1YzgxNVx1YmNmNFx1YjI5NCBcdWM1NTRcdWQ2MzhcdWQ2NTRcdWI0MThcdWM1YjQgXHVjNzg4XHVhY2UwIFx1Yzc4M1x1YzViNFx1YmM4NFx1YjliMCBcdWM4MTVcdWJjZjQgXHViNjEwXHVkNTVjIFx1YzVjNlx1YzljMFx1YjljYywgTlNBXHViMjk0IFx1YzgxNVx1YmNmNCBcdWM3MjBcdWNkOWNcdWM3OTBcdWI5N2MgXHVjYzNlXHVjNTQ0XHViMGI0XHVhZTMwXHViODVjIFx1YWNiMFx1YzgxNVx1ZDU4OFx1YjJlNC4gXHVjNzc0XHVjNWQwIFx1YjJmOVx1YzJlMFx1Yzc1OCBcdWIzYzRcdWM2YzBcdWM3NzQgXHVkNTQ0XHVjNjk0XHVkNTU4XHViMmU0LiBcdWM4MTVcdWQ2NTVcdWQ3ODggXHViMjA0XHVhYzAwIFx1YzgxNVx1YmNmNFx1Yjk3YyBcdWM3MjBcdWNkOWNcdWQ1ODhcdWIyOTRcdWM5YzBcdWIyOTQgXHVjNTRjIFx1YzIxOCBcdWM1YzZcdWM5YzBcdWI5Y2MsIE5TQVx1YjI5NCBcdWM3MjBcdWNkOWNcdWI0MWMgXHVjODE1XHViY2Y0XHVjNzU4IFx1YWMxMlx1Yzc0NCBcdWM1NGNcdWFjZTAgXHVjNzg4XHVjNWM4XHViMmU0LiBcdWI5Y2NcdWM1N2Qgc3B5IG5ldHdvcmtcdWFjMDAmbmJzcDtcdWIzNTQgXHVjNzc0XHVjMGMxXHVjNzU4IFx1YzViNFx1YjVhMFx1ZDU1YyBcdWM4MTVcdWJjZjQgXHVhYzMxXHVjMmUwXHViM2M0IFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljMFx1YzljMCBcdWM1NGFcdWIyOTQgXHVjMGMxXHVkMGRjXHVhYzAwIFx1YjQxOFx1YzVjOFx1Yzc0NCBcdWI1NGMsIFx1YzcyMFx1Y2Q5Y1x1YjQxYyBcdWM4MTVcdWJjZjRcdWM3NTggXHVhYzEyXHVjNzQ0IFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWIzNTggXHVjOWMxXHVjNmQwXHViNGU0XHVjNzc0IFx1YjIwNFx1YWQ2Y1x1Yzc3OFx1YzljMFx1Yjk3YyBcdWM1NDRcdWIyOTQgXHVhYzgzXHViZDgwXHVkMTMwIFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuIFx1YWRmOFx1YjgwN1x1YWM4YyBcdWQ1NWNcdWIyZTRcdWJhNzQgXHVjMjE4XHVjMGM5XHViOWRkXHVjNzQ0IFx1Yzg4MVx1ZDc5MCBcdWMyMTggXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjZDVjXHVjODg1IFx1YzBjMVx1ZDBkY1x1YzVkMFx1YzExYyBcdWIyMDRcdWNkOWNcdWI0MWMgXHVjODE1XHViY2Y0XHVhYzEyXHVjNzQ0IFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWIyOTQgXHVjOWMxXHVjNmQwXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWFkNmNcdWQ1NThcdWIyOTQgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YzJkY1x1YzYyNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzU4IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YzczY1x1YmE3MCwgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWFjMWNcdWMyMThcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YWMxY1x1YzIxOFx1YjI5NCAxMDBcdWFjMWNcdWI5N2MgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMTM4Jm5ic3A7XHVjODE1XHVjMjE4IE4sIE0sIExcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiZuYnNwOygxICZsZTsgbiZuYnNwOyZsZTsgMTAgMDAwLCZuYnNwOzAgJmxlOyBtICZsZTsgMTAgMDAwLCZuYnNwOzEgJmxlOyBsICZsdDsgMjxzdXA+NjM8XC9zdXA+KSBOXHVjNzQwIFx1YzljMVx1YzZkMFx1Yzc1OCBcdWMyMTgsIE1cdWM3NDAgXHVhYzA0XHVjMTIwXHVjNzU4IFx1YzIxOCwgTFx1Yzc0MCBcdWIyMDRcdWNkOWNcdWI0MWMgXHVjODE1XHViY2Y0XHVhYzEyXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjNWI0XHVjOWMwXHViMjk0IE1cdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWMwNFx1YzEyMFx1Yzc1OCBcdWM4MTVcdWJjZjRcdWFjMDAgXHVkNTU4XHViMDk4XHVjNTI5IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVkNTVjIFx1YzkwNFx1YzVkMCBcdWI0NTAgXHVjODE1XHVjMjE4IGEsIGJcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0XHViMzcwLCBcdWM3NzRcdWIyOTQgYlx1YWMwMCBhXHVjNzU4IFx1YzVmMFx1Yjc3ZFx1YjlkZFx1YzVkMCBcdWMxOGRcdWQ1NzQgXHVjNzg4XHVjNzRjXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4mbmJzcDsoMSAmbGU7IGEsIGIgJmxlOyBuLCZuYnNwO2EgJm5lOyBiKTxcL3A+XHJcblxyXG48cD5cdWM3NzRcdWM1YjRcdWM5YzBcdWIyOTQgTlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhYzAxIFx1YzljMVx1YzZkMFx1Yzc3NCBcdWNjOThcdWM3NGNcdWM1ZDAgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YjM1OCBcdWM4MTVcdWJjZjRcdWFjMTIgaVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuJm5ic3A7KDEgJmxlOyBpICZsdDsgMjxzdXA+NjM8XC9zdXA+KTxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViOWM4XHViMmU0IFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwXHVjMTFjIFx1Y2Q1Y1x1Yzg4NSBcdWMwYzFcdWQwZGNcdWM1ZDBcdWMxMWMgXHViMjA0XHVjZDljXHViNDFjIFx1YzgxNVx1YmNmNFx1YWMxMlx1Yzc0NCBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHViMzU4IFx1YzljMVx1YzZkMFx1Yzc1OCBcdWMyMThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiI8cD48aW1nIHNyYz1cImh0dHBzOlwvXC9vbmxpbmVqdWRnZWltYWdlcy5zMy1hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tXC91c2VydXBsb2FkXC9ra3MyMjdcLzIwMTYwNDI4XC9hMzBmYjBiNGZkYmNiMTY0NGM4MTFjZjdiMjIzNjM2MC5wbmdcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IHNweSBuZXR3b3JrXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMTAyODciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJTcHkgTmV0d29yayIsImRlc2NyaXB0aW9uIjoiPHA+VGhlIE5TQSBoYXMgZm91bmQgYSB3YXkgdG8gZmFjdG9yIGxhcmdlIGludGVnZXJzISBUaGV5IGFyZSB1c2luZyBpdCB0byBzZW5kIGVuY3J5cHRlZCBtZXNzYWdlcyBvdmVyIHRoZWlyIHNweSBuZXR3b3Jrcy4gVGhlaXIgc3B5IG5ldHdvcmsgY2FuIGJlIG1vZGVsbGVkIGFzIGEgZGlyZWN0ZWQgZ3JhcGggRyA9IChWLCBFKSwgd2hlcmUgdmVydGljZXMgYXJlIGFnZW50cyBvZiB0aGUgTlNBIGFuZCBhbiBlZGdlIGZyb20gdSB0byB2IG1vZGVscyB0aGF0IHUgY2FuIGluY29uc3BpY3VvdXNseSB0ZWxsIGl0cyBpbmZvcm1hdGlvbiB0byB2ICgmcnNxdW87diBpcyBhIGNvbnRhY3Qgb2YgdSZyc3F1bzspLiBOb3RlIHRoYXQgdiBtaWdodCBub3QgYmUgYWJsZSB0byBzZW5kIGluZm9ybWF0aW9uIGJhY2sgdG8gdSE8XC9wPlxyXG5cclxuPHA+VGhlIE5TQSBpcyBjb25zdGFudGx5IGxvb2tpbmcgb3V0IGZvciBzaWducyBvZiB2YXJpb3VzIGtub3duIHRlcnJvcmlzdCBvcmdhbmlzYXRpb25zLiBFdmVyeSBmZXcgbW9udGhzIGl0cyBhZ2VudHMgcmVwb3J0IHRvIHRoZWlyIGNvbGxlYWd1ZXMgd2hhdCBvcmdhbmlzYXRpb25zIHRoZXkgaGF2ZSBoZWFyZCBydW1vdXJzIGFib3V0IGR1cmluZyB0aGVpciBzdXJ2ZWlsbGFuY2UuIFRoZSBwcm90b2NvbCBmb3IgdGhpcyBpcyBhcyBmb2xsb3dzLiBPbiB0aGUgc3BlY2lmaWVkIGRhdGUsIGFsbCBhZ2VudHMgd2lsbCBzZW5kIHRoZSBpbmZvcm1hdGlvbiB0aGV5IGhhdmUgZ2F0aGVyZWQgdG8gdGhlaXIgY29udGFjdHMuIElmIGFuIGFnZW50IHJlY2VpdmVzIGluZm9ybWF0aW9uIGk8c3ViPnJlY2VpdmVkPFwvc3ViPiBmcm9tIGFueSBzb3VyY2UsIGl0IGxvb2tzIGF0IHRoZSBpbmZvcm1hdGlvbiBpPHN1Yj5vbGQ8XC9zdWI+IGl0IGhhcyBmb3VuZCBzbyBmYXIsIGFuZCBnZW5lcmF0ZXMgZnJvbSB0aGlzIGEgbmV3IHJlcG9ydCBpPHN1Yj5uZXc8XC9zdWI+LCBpbiB3aGljaCBpdCBzdG9yZXMgZGF0YSBvbiB0ZXJyb3Jpc3Qgb3JnYW5pc2F0aW9ucyB0aGF0IHdlcmUgcHJlc2VudCBpbiBib3RoIGk8c3ViPnJlY2VpdmVkPFwvc3ViPiBhbmQgaTxzdWI+b2xkPFwvc3ViPiAodGhpcyBpcyBiZWNhdXNlIHRoZSBOU0EgZ2V0cyB0b28gbWFueSBmYWxzZSBhbGVydHMsIHNvIHRoZXkgYmVsaWV2ZSBhIG1lc3NhZ2UgaWYgQUxMIHNvdXJjZXMgYWdyZWUgb24gc29tZXRoaW5nKS4gVGhlIGFnZW50IHRoZW4gc3RvcmVzIGk8c3ViPm5ldzxcL3N1Yj4gYXMgdGhlIG5ldyAmbHNxdW87ZGF0YSBpdCBjdXJyZW50bHkga25vd3MgYWJvdXQmcnNxdW87LCBhbmQgdGhlbiBzZW5kcyB0aGlzIGluZm9ybWF0aW9uIHRvIGFsbCBpdHMgb3duIGNvbnRhY3RzLCB3aG8gdGhlbiBhY3QgaW4gdGhlIHNhbWUgbWFubmVyLCBhbmQgc28gb24uIEFmdGVyIGEgd2hpbGUsIGFnZW50cyBvbmx5IHJlY2VpdmUgbWVzc2FnZXMgdGhhdCBkbyBub3QgY2hhbmdlIHRoZWlyIHN0b3JlZCBkYXRhLiBBdCB0aGUgZW5kIG9mIHRoZSBkYXksIGFnZW50cyBzdG9wIHNlbmRpbmcgbWVzc2FnZXMsIHdoaWNoIGlzIGFsd2F5cyBlbm91Z2ggZm9yIHRoZSBhZm9yZW1lbnRpb25lZCBzdGF0ZSB0byBiZSByZWFjaGVkLiBOb3RlIHRoYXQgdGhlIGdyYXBoIG1heSBub3QgYmUgY29ubmVjdGVkIGFuZCB0aGF0IGl0IG1heSBjb250YWluIGN5Y2xlcyBmb3IgcmVkdW5kYW5jeS48XC9wPlxyXG5cclxuPHA+VGhlIE5TQSB1c2VzIHRoZSBmb2xsb3dpbmcgZW5jcnlwdGlvbiBmb3IgdGhpcyBwcm90b2NvbC4gRm9yIGV2ZXJ5IGxhcmdlIHRlcnJvcmlzdCBvcmdhbmlzYXRpb24sIHRoZXkgcGljayBhIGxhcmdlIHByaW1lIG51bWJlciBhbmQgdGhleSBkaXN0cmlidXRlIHRoaXMgbWFwcGluZyB0byBhbGwgdGhlaXIgYWdlbnRzLiBJZiBhIG1lbWJlciBnZW5lcmF0ZXMgaGlzIHJlcG9ydCwgaGUgbXVsdGlwbGllcyB0aGUgbGFyZ2UgcHJpbWUgbnVtYmVycyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIG9yZ2FuaXNhdGlvbnMgaGUgaGFzIGhlYXJkIGFib3V0LCBhbmQgdGhlbiB0aGUgcmVzdWx0aW5nIG51bWJlciB3aWxsIGJlIGhpcyAmbHNxdW87cmVwb3J0JnJzcXVvOyB0aGF0IGhlIHNlbmRzIHRvIGhpcyBjb250YWN0cy4gV2hlbiBhbiBhZ2VudCByZWNlaXZlcyBpPHN1Yj5yZWNlaXZlZDxcL3N1Yj4sIGhlIHRha2VzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBpPHN1Yj5yZWNlaXZlZDxcL3N1Yj4gYW5kIGk8c3ViPm9sZDxcL3N1Yj4uIFRoZSByZXN1bHRpbmcgbnVtYmVyIGlzIHByZWNpc2VseSB0aGUgbnVtYmVyIHlvdSB3b3VsZCBnZXQgaWYgeW91IG11bHRpcGx5IHRoZSBsYXJnZSBwcmltZSBudW1iZXJzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHRlcnJvcmlzdCBvcmdhbmlzYXRpb25zIHRoYXQgYm90aCBtZW1iZXJzIG9mIHRoZSBOU0EgdGhhdCBnZW5lcmF0ZWQgdGhlIHJlcG9ydHMgaGF2ZSBoZWFyZCBydW1vdXJzIGFib3V0LCBhbmQgc28gZXhhY3RseSBmb3JtcyBpPHN1Yj5uZXc8XC9zdWI+LiBJZiBhbiBhZ2VudCBpcyBpbXBvcnRhbnQgZW5vdWdoLCBoZSBnZXRzIGFjY2VzcyB0byB0aGUgZmFjdG9yaW5nIGFsZ29yaXRobSBhbmQgaXMgYWJsZSB0byByZWFkIHRoZSBtZXNzYWdlcyBzZW50IGJ5IGhpcyBjb250YWN0cy4gTW9zdCBhZ2VudHMganVzdCBwcm9wYWdhdGUgdGhlIG1lc3NhZ2VzIHRob3VnaCwgYW5kIHVzaW5nIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBhbGdvcml0aG0sIHRoZXkgY2FuIGRvIHNvIHdpdGhvdXQgaGF2aW5nIHRvIGZhY3RvciB0aGUgbnVtYmVyLjxcL3A+XHJcblxyXG48cD5UaGUgTlNBIGhhcyByZWNlbnRseSBsZWFybmVkIHRoYXQgYW4gZW5jcnlwdGVkIHJlcG9ydCB0aGF0IHdhcyBnZW5lcmF0ZWQgYWZ0ZXIgc3VjaCBhIGRheSBoYXMgYmVlbiBsZWFrZWQhIEFsdGhvdWdoIHRoZSBtZXNzYWdlIHdhcyBlbmNyeXB0ZWQgYW5kIHNvIG5vIGluZm9ybWF0aW9uIHdhcyBsb3N0LCB0aGUgTlNBIHN0aWxsIHdhbnRzIHRvIGtub3cgd2hpY2ggb2YgaXRzIG1lbWJlcnMgaGFzIGxlYWtlZCB0aGUgbWVzc2FnZSBhbmQgaGFzIGFza2VkIGZvciB5b3VyIGhlbHAuIE9mIGNvdXJzZSwgeW91IG11c3Qgd3JpdGUgYSBwcm9ncmFtIHRvIGRvIHRoZSB3b3JrIGZvciB0aGVtIC0geW91IGFyZSBub3QgYWxsb3dlZCB0byBrbm93IHRoZSBkYXRhIHlvdXJzZWxmLiBZb3VyIHByb2dyYW0gd2lsbCBnZXQgdGhlIHN0cnVjdHVyZSBvZiB0aGVpciBzcHkgbmV0d29yaywgYWxvbmcgd2l0aCB0aGUgaW5pdGlhbCByZXBvcnRzIGZvciBldmVyeSBtZW1iZXIgYW5kIHRoZSBsZWFrZWQgcmVwb3J0LiBZb3UgYXJlIHRvIHByaW50IG91dCB0aGUgbnVtYmVyIG9mIG1lbWJlcnMgdGhhdCBoYWQgdGhpcyBsZWFrZWQgcmVwb3J0IGFzIGEgZmluYWwgcmVwb3J0LCBzbyB0aGF0IHRoZSBOU0Ega25vd3MgaG93IGZhciB0aGV5IGNhbiBuYXJyb3cgZG93biB0aGVpciBpbnZlc3RpZ2F0aW9uLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+T24gdGhlIGZpcnN0IGxpbmUgb25lIHBvc2l0aXZlIG51bWJlcjogdGhlIG51bWJlciBvZiB0ZXN0IGNhc2VzLCBhdCBtb3N0IDEwMC4gQWZ0ZXIgdGhhdCBwZXIgdGVzdCBjYXNlOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPm9uZSBsaW5lIHdpdGggdGhyZWUgc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzIG4sIG0gYW5kIGwgKDEgJmxlOyBuICZsZTsgMTAgMDAwIGFuZCAwICZsZTsgbSAmbGU7IDEwIDAwMCBhbmQgMSAmbGU7IGwgJmx0OyAyPHN1cD42MzxcL3N1cD4pOiB0aGUgbnVtYmVyIG9mIGFnZW50cywgY29udGFjdCBlZGdlcyBhbmQgdGhlIGxlYWtlZCByZXBvcnQuPFwvbGk+XHJcblx0PGxpPm0gbGluZXMsIGVhY2ggd2l0aCB0d28gc3BhY2Utc2VwYXJhdGVkIGludGVnZXJzIGEgYW5kIGIgKDEgJmxlOyBhLCBiICZsZTsgbiBhbmQgYSAmbmU7IGIpLCBpbmRpY2F0aW5nIHRoYXQgYWdlbnQgYiBpcyBhIGNvbnRhY3Qgb2YgYWdlbnQgYS48XC9saT5cclxuXHQ8bGk+biBsaW5lcywgZWFjaCB3aXRoIGEgc2luZ2xlIGludGVnZXIgaSAoMSAmbGU7IGkgJmx0OyAyPHN1cD42MzxcL3N1cD4pOiB0aGUgaW5pdGlhbCBpbmZvcm1hdGlvbiBvZiBlYWNoIGFnZW50LjxcL2xpPlxyXG48XC91bD5cclxuIiwib3V0cHV0IjoiPHA+UGVyIHRlc3QgY2FzZTo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5vbmUgbGluZSB3aXRoIGEgc2luZ2xlIGludGVnZXI6IHRoZSBudW1iZXIgb2YgYWdlbnRzIHdpdGggbCBhcyBpdHMgc3RvcmVkIG1lc3NhZ2UgYXQgdGhlIGVuZCBvZiB0aGUgbWVzc2FnZSBzZW5kaW5nIGRheS48XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiI8cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXMyXC9zcHkucG5nXCIgc3R5bGU9XCJoZWlnaHQ6MTM5cHg7IHdpZHRoOjEyN3B4XCIgXC8+PFwvcD5cclxuXHJcbjxwPlNweSBuZXR3b3JrIG9mIGZpcnN0IHNhbXBsZSBpbnB1dC48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=