시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 (추가 시간 없음) 1536 MB543100.000%

문제

이메이미 교수의 알고리즘 과목을 재수강하게 된 메시는 작년과 같은 실수를 반복하지 않기 위해 중간고사를 철저히 대비하려고 한다. 작년에 가중치 없는 트리의 지름에 관련된 문제가 나왔던 것을 참고하여, 메시는 다음과 같은 문제를 스스로 고안해내었다.

"가중치 없는 트리 $T$에 대해, 두 정점을 잇는 최단경로 중 가장 긴 것들을 $T$의 지름이라고 한다. $T$의 지름들의 모임을 $\mathcal{D}_{T}$라고 하자. $T$의 두 지름 $D, E \in \mathcal{D}_{T}$에 대해 (둘은 같을 수 있다), 둘 모두에 공통으로 속하는 정점의 개수를 $f(D, E)$라 하자. 가능한 모든 $D, E$에 대한 $f(D, E)$의 합 $F(T) = \sum_{D \in \mathcal{D}} \sum_{E \in \mathcal{D}} f(D, E)$를 구하여라."

$N$개의 정점을 가진 트리에는 최대 $O(N^2)$개의 지름이 있기 때문에, 메시는 모든 지름을 구해서 각각이 공통으로 소유하는 정점 개수를 구하는 방식으로 훌륭한 $O(N^5)$ 코드를 구현해냈다. 이 정도라면 아무리 어려운 이메이미 교수의 시험이라도 통과할 수 있을 것만 같았다.

하지만 작년 시험에서 메시를 좌절시켰던 것은 무수한 양의 쿼리였기 때문에, 심기일전한 메시는 쿼리에 대한 대비도 미리 하고자 한다. 간선을 연결하거나 제거하는 쿼리를 추가하기 위해, 맨 처음에 주어지는 그래프를 트리가 아니라 포레스트로 바꿨다. 즉, 그래프에 여러 개의 연결 컴포넌트가 있을 수도 있다.

쿼리는 다음 중 하나로, 총 $Q$개 주어진다.

$1$ $x$ $y$ : 정점 $x$와 $y$를 연결한다. 이 쿼리가 들어올 때 정점 $x$와 $y$는 서로 다른 연결 컴포넌트에 있다.

$2$ $x$ $y$ : 정점 $x$와 $y$를 연결하는 간선을 제거한다. 이 쿼리가 들어오기 전에 정점 $x$와 $y$를 연결하는 간선이 존재한다.

$3$ $x$ : 정점 $x$가 포함되는 트리 $T$에 대해 $F(T)$를 $10^9+7$로 나눈 나머지를 출력한다. 이 쿼리가 들어오기 전에 정점 $x$가 포함된 연결 컴포넌트에는 정점이 2개 이상 존재한다.

메시는 훌륭한 $O(QN^{5})$ 코드를 완성한 뒤 당신에게 검수를 부탁했다. 이 문제를 풀고 큰 데이터를 추가해서 메시가 중간고사를 잘 볼 수 있도록 도와주자.

입력

입력의 첫 줄에 정점의 개수 $N$, 간선의 개수 $M$, 쿼리의 개수 $Q$가 주어진다.

다음 $M$줄에는 초기 상태의 간선이 연결하는 두 정점의 번호 $x, y$가 주어진다. 정점의 번호는 $1$번부터 $N$번까지이다.

다음 $Q$줄에는 각 쿼리를 나타내는 정보가 주어진다.

출력

$3$번 쿼리가 들어올 때마다 $F(T)$를 $10^9+7$로 나눈 나머지를 출력한다.

제한

  • $2 \le N \le 100\,000$
  • $0 \le M \le N - 1$
  • 입력으로 주어지는 그래프는 포레스트이다.
  • $1 \le Q \le 100\,000$
  • $3$번 쿼리가 하나 이상 존재한다.

예제 입력 1

7 5 5
1 2
1 3
2 4
2 5
3 6
3 1
1 3 7
3 1
2 2 1
3 1

예제 출력 1

18
64
21
W3sicHJvYmxlbV9pZCI6IjIxNzI4IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkMmI4XHViOWFjXHVjNjQwIDJcdWFjMWNcdWM3NTggXHVjOWMwXHViOTg0IiwiZGVzY3JpcHRpb24iOiI8cD5cdWM3NzRcdWJhNTRcdWM3NzRcdWJiZjggXHVhZDUwXHVjMjE4XHVjNzU4IFx1YzU0Y1x1YWNlMFx1YjlhY1x1Yzk5OCBcdWFjZmNcdWJhYTlcdWM3NDQgXHVjN2FjXHVjMjE4XHVhYzE1XHVkNTU4XHVhYzhjIFx1YjQxYyBcdWJhNTRcdWMyZGNcdWIyOTQgXHVjNzkxXHViMTQ0XHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWMyZTRcdWMyMThcdWI5N2MgXHViYzE4XHViY2Y1XHVkNTU4XHVjOWMwIFx1YzU0YVx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjOTExXHVhYzA0XHVhY2UwXHVjMGFjXHViOTdjIFx1Y2NhMFx1YzgwMFx1ZDc4OCBcdWIzMDBcdWJlNDRcdWQ1NThcdWI4MjRcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM3OTFcdWIxNDRcdWM1ZDAgXHVhYzAwXHVjOTExXHVjZTU4IFx1YzVjNlx1YjI5NCBcdWQyYjhcdWI5YWNcdWM3NTggXHVjOWMwXHViOTg0XHVjNWQwIFx1YWQwMFx1YjgyOFx1YjQxYyBcdWJiMzhcdWM4MWNcdWFjMDAgXHViMDk4XHVjNjU0XHViMzU4IFx1YWM4M1x1Yzc0NCBcdWNjMzhcdWFjZTBcdWQ1NThcdWM1ZWMsIFx1YmE1NFx1YzJkY1x1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWMyYTRcdWMyYTRcdWI4NWMgXHVhY2UwXHVjNTQ4XHVkNTc0XHViMGI0XHVjNWM4XHViMmU0LjxcL3A+XHJcblxyXG48cD4mcXVvdDtcdWFjMDBcdWM5MTFcdWNlNTggXHVjNWM2XHViMjk0IFx1ZDJiOFx1YjlhYyAkVCRcdWM1ZDAgXHViMzAwXHVkNTc0LCBcdWI0NTAgXHVjODE1XHVjODEwXHVjNzQ0IFx1Yzc4N1x1YjI5NCBcdWNkNWNcdWIyZThcdWFjYmRcdWI4NWMgXHVjOTExIFx1YWMwMFx1YzdhNSBcdWFlMzQgXHVhYzgzXHViNGU0XHVjNzQ0ICRUJFx1Yzc1OCBcdWM5YzBcdWI5ODRcdWM3NzRcdWI3N2NcdWFjZTAgXHVkNTVjXHViMmU0LiAkVCRcdWM3NTggXHVjOWMwXHViOTg0XHViNGU0XHVjNzU4IFx1YmFhOFx1Yzc4NFx1Yzc0NCAkXFxtYXRoY2Fse0R9X3tUfSRcdWI3N2NcdWFjZTAgXHVkNTU4XHVjNzkwLiAkVCRcdWM3NTggXHViNDUwIFx1YzljMFx1Yjk4NCAkRCwgRSBcXGluIFxcbWF0aGNhbHtEfV97VH0kXHVjNWQwIFx1YjMwMFx1ZDU3NCAoXHViNDU4XHVjNzQwIFx1YWMxOVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0KSwgXHViNDU4IFx1YmFhOFx1YjQ1MFx1YzVkMCBcdWFjZjVcdWQxYjVcdWM3M2NcdWI4NWMgXHVjMThkXHVkNTU4XHViMjk0IFx1YzgxNVx1YzgxMFx1Yzc1OCBcdWFjMWNcdWMyMThcdWI5N2MgJGYoRCwgRSkkXHViNzdjIFx1ZDU1OFx1Yzc5MC4gXHVhYzAwXHViMmE1XHVkNTVjIFx1YmFhOFx1YjRlMCAkRCwgRSRcdWM1ZDAgXHViMzAwXHVkNTVjICRmKEQsIEUpJFx1Yzc1OCBcdWQ1NjkgJEYoVCkgPSBcXHN1bV97RCBcXGluIFxcbWF0aGNhbHtEfX0gXFxzdW1fe0UgXFxpbiBcXG1hdGhjYWx7RH19IGYoRCwgRSkkXHViOTdjIFx1YWQ2Y1x1ZDU1OFx1YzVlY1x1Yjc3Yy4mcXVvdDs8XC9wPlxyXG5cclxuPHA+JE4kXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzgxMFx1Yzc0NCBcdWFjMDBcdWM5YzQgXHVkMmI4XHViOWFjXHVjNWQwXHViMjk0IFx1Y2Q1Y1x1YjMwMCAkTyhOXjIpJFx1YWMxY1x1Yzc1OCBcdWM5YzBcdWI5ODRcdWM3NzQgXHVjNzg4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHViYTU0XHVjMmRjXHViMjk0IFx1YmFhOFx1YjRlMCBcdWM5YzBcdWI5ODRcdWM3NDQgXHVhZDZjXHVkNTc0XHVjMTFjIFx1YWMwMVx1YWMwMVx1Yzc3NCBcdWFjZjVcdWQxYjVcdWM3M2NcdWI4NWMgXHVjMThjXHVjNzIwXHVkNTU4XHViMjk0IFx1YzgxNVx1YzgxMCBcdWFjMWNcdWMyMThcdWI5N2MgXHVhZDZjXHVkNTU4XHViMjk0IFx1YmMyOVx1YzJkZFx1YzczY1x1Yjg1YyBcdWQ2Y2NcdWI5NmRcdWQ1NWMgJE8oTl41KSQgXHVjZjU0XHViNGRjXHViOTdjIFx1YWQ2Y1x1ZDYwNFx1ZDU3NFx1YjBjOFx1YjJlNC4gXHVjNzc0IFx1YzgxNVx1YjNjNFx1Yjc3Y1x1YmE3NCBcdWM1NDRcdWJiMzRcdWI5YWMgXHVjNWI0XHViODI0XHVjNmI0IFx1Yzc3NFx1YmE1NFx1Yzc3NFx1YmJmOCBcdWFkNTBcdWMyMThcdWM3NTggXHVjMmRjXHVkNWQ4XHVjNzc0XHViNzdjXHViM2M0IFx1ZDFiNVx1YWNmY1x1ZDU2MCBcdWMyMTggXHVjNzg4XHVjNzQ0IFx1YWM4M1x1YjljYyBcdWFjMTlcdWM1NThcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDU1OFx1YzljMFx1YjljYyBcdWM3OTFcdWIxNDQgXHVjMmRjXHVkNWQ4XHVjNWQwXHVjMTFjIFx1YmE1NFx1YzJkY1x1Yjk3YyBcdWM4OGNcdWM4MDhcdWMyZGNcdWNmMzBcdWIzNTggXHVhYzgzXHVjNzQwIFx1YmIzNFx1YzIxOFx1ZDU1YyBcdWM1OTFcdWM3NTggXHVjZmZjXHViOWFjXHVjNjAwXHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVjMmVjXHVhZTMwXHVjNzdjXHVjODA0XHVkNTVjIFx1YmE1NFx1YzJkY1x1YjI5NCBcdWNmZmNcdWI5YWNcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YjMwMFx1YmU0NFx1YjNjNCBcdWJiZjhcdWI5YWMgXHVkNTU4XHVhY2UwXHVjNzkwIFx1ZDU1Y1x1YjJlNC4gXHVhYzA0XHVjMTIwXHVjNzQ0IFx1YzVmMFx1YWNiMFx1ZDU1OFx1YWM3MFx1YjA5OCBcdWM4MWNcdWFjNzBcdWQ1NThcdWIyOTQgXHVjZmZjXHViOWFjXHViOTdjIFx1Y2Q5NFx1YWMwMFx1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzQsIFx1YjllOCBcdWNjOThcdWM3NGNcdWM1ZDAgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0IFx1YWRmOFx1Yjc5OFx1ZDUwNFx1Yjk3YyZuYnNwO1x1ZDJiOFx1YjlhY1x1YWMwMCBcdWM1NDRcdWIyYzhcdWI3N2MgXHVkM2VjXHViODA4XHVjMmE0XHVkMmI4XHViODVjIFx1YmMxNFx1YWZlOFx1YjJlNC4gXHVjOTg5LCBcdWFkZjhcdWI3OThcdWQ1MDRcdWM1ZDAgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWM1ZjBcdWFjYjAgXHVjZWY0XHVkM2VjXHViMTBjXHVkMmI4XHVhYzAwIFx1Yzc4OFx1Yzc0NCBcdWMyMThcdWIzYzQgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNmZmNcdWI5YWNcdWIyOTQgXHViMmU0XHVjNzRjIFx1YzkxMSBcdWQ1NThcdWIwOThcdWI4NWMsIFx1Y2QxZCAkUSRcdWFjMWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD4kMSQgJHgkICR5JCA6IFx1YzgxNVx1YzgxMCAkeCRcdWM2NDAgJHkkXHViOTdjIFx1YzVmMFx1YWNiMFx1ZDU1Y1x1YjJlNC4gXHVjNzc0IFx1Y2ZmY1x1YjlhY1x1YWMwMCBcdWI0ZTRcdWM1YjRcdWM2MmMgXHViNTRjIFx1YzgxNVx1YzgxMCAkeCRcdWM2NDAgJHkkXHViMjk0IFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHVjNWYwXHVhY2IwIFx1Y2VmNFx1ZDNlY1x1YjEwY1x1ZDJiOFx1YzVkMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPiQyJCAkeCQgJHkkIDogXHVjODE1XHVjODEwICR4JFx1YzY0MCAkeSRcdWI5N2MgXHVjNWYwXHVhY2IwXHVkNTU4XHViMjk0IFx1YWMwNFx1YzEyMFx1Yzc0NCBcdWM4MWNcdWFjNzBcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWNmZmNcdWI5YWNcdWFjMDAgXHViNGU0XHVjNWI0XHVjNjI0XHVhZTMwIFx1YzgwNFx1YzVkMCBcdWM4MTVcdWM4MTAgJHgkXHVjNjQwICR5JFx1Yjk3YyBcdWM1ZjBcdWFjYjBcdWQ1NThcdWIyOTQgXHVhYzA0XHVjMTIwXHVjNzc0IFx1Yzg3NFx1YzdhY1x1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+JDMkICR4JCA6IFx1YzgxNVx1YzgxMCAkeCRcdWFjMDAgXHVkM2VjXHVkNTY4XHViNDE4XHViMjk0IFx1ZDJiOFx1YjlhYyAkVCRcdWM1ZDAgXHViMzAwXHVkNTc0ICRGKFQpJFx1Yjk3YyZuYnNwOyQxMF45KzckXHViODVjIFx1YjA5OFx1YjIwOCBcdWIwOThcdWJhMzhcdWM5YzBcdWI5N2MmbmJzcDtcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWNmZmNcdWI5YWNcdWFjMDAgXHViNGU0XHVjNWI0XHVjNjI0XHVhZTMwIFx1YzgwNFx1YzVkMCBcdWM4MTVcdWM4MTAgJHgkXHVhYzAwIFx1ZDNlY1x1ZDU2OFx1YjQxYyBcdWM1ZjBcdWFjYjAgXHVjZWY0XHVkM2VjXHViMTBjXHVkMmI4XHVjNWQwXHViMjk0IFx1YzgxNVx1YzgxMFx1Yzc3NCAyXHVhYzFjIFx1Yzc3NFx1YzBjMSBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmE1NFx1YzJkY1x1YjI5NCBcdWQ2Y2NcdWI5NmRcdWQ1NWMgJE8oUU5eezV9KSQgXHVjZjU0XHViNGRjXHViOTdjIFx1YzY0NFx1YzEzMVx1ZDU1YyBcdWI0YTQgXHViMmY5XHVjMmUwXHVjNWQwXHVhYzhjIFx1YWM4MFx1YzIxOFx1Yjk3YyBcdWJkODBcdWQwYzFcdWQ1ODhcdWIyZTQuIFx1Yzc3NCBcdWJiMzhcdWM4MWNcdWI5N2MgXHVkNDgwXHVhY2UwIFx1ZDA3MCBcdWIzNzBcdWM3NzRcdWQxMzBcdWI5N2MgXHVjZDk0XHVhYzAwXHVkNTc0XHVjMTFjIFx1YmE1NFx1YzJkY1x1YWMwMCBcdWM5MTFcdWFjMDRcdWFjZTBcdWMwYWNcdWI5N2MgXHVjNzk4IFx1YmNmYyBcdWMyMTggXHVjNzg4XHViM2M0XHViODVkIFx1YjNjNFx1YzY0MFx1YzhmY1x1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWNjYWIgXHVjOTA0XHVjNWQwIFx1YzgxNVx1YzgxMFx1Yzc1OCBcdWFjMWNcdWMyMTggJE4kLCBcdWFjMDRcdWMxMjBcdWM3NTggXHVhYzFjXHVjMjE4ICRNJCwgXHVjZmZjXHViOWFjXHVjNzU4IFx1YWMxY1x1YzIxOCAkUSRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgJE0kXHVjOTA0XHVjNWQwXHViMjk0IFx1Y2QwOFx1YWUzMCBcdWMwYzFcdWQwZGNcdWM3NTggXHVhYzA0XHVjMTIwXHVjNzc0IFx1YzVmMFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWI0NTAgXHVjODE1XHVjODEwXHVjNzU4IFx1YmM4OFx1ZDYzOCAkeCwgeSRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWM4MTVcdWM4MTBcdWM3NTggXHViYzg4XHVkNjM4XHViMjk0ICQxJFx1YmM4OFx1YmQ4MFx1ZDEzMCAkTiRcdWJjODhcdWFlNGNcdWM5YzBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyAkUSRcdWM5MDRcdWM1ZDBcdWIyOTQgXHVhYzAxIFx1Y2ZmY1x1YjlhY1x1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHVjODE1XHViY2Y0XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD4kMyRcdWJjODggXHVjZmZjXHViOWFjXHVhYzAwIFx1YjRlNFx1YzViNFx1YzYyYyBcdWI1NGNcdWI5YzhcdWIyZTQgJEYoVCkkXHViOTdjJm5ic3A7JDEwXjkrNyRcdWI4NWMgXHViMDk4XHViMjA4IFx1YjA5OFx1YmEzOFx1YzljMFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQyIFxcbGUgTiBcXGxlIDEwMFxcLDAwMCQ8XC9saT5cclxuXHQ8bGk+JDAgXFxsZSBNIFxcbGUgTiAtIDEkPFwvbGk+XHJcblx0PGxpPlx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHVhZGY4XHViNzk4XHVkNTA0XHViMjk0IFx1ZDNlY1x1YjgwOFx1YzJhNFx1ZDJiOFx1Yzc3NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+JDEgXFxsZSBRIFxcbGUgMTAwXFwsMDAwJDxcL2xpPlxyXG5cdDxsaT4kMyRcdWJjODggXHVjZmZjXHViOWFjXHVhYzAwIFx1ZDU1OFx1YjA5OCBcdWM3NzRcdWMwYzEgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LjxcL2xpPlxyXG48XC91bD5cclxuIn0seyJwcm9ibGVtX2lkIjoiMjE3MjgiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJEaWFtZXRlciBQYWlyIFN1bSIsImRlc2NyaXB0aW9uIjoiPHA+Rm9yIGFuIHVud2VpZ2h0ZWQgdHJlZSAkVCQsIGEgc2ltcGxlIHBhdGggJFAkIGlzIGEgPGVtPmRpYW1ldGVyPFwvZW0+Jm5ic3A7aWYgdGhlcmUgaXMgbm8gc2ltcGxlIHBhdGggbG9uZ2VyIHRoYW4gaXQuIFR3byBwYXRocyBhcmUgZGlmZmVyZW50IGlmIHNvbWUgdmVydGV4IGlzIGluIG9uZSBwYXRoIGJ1dCBub3QgdGhlIG90aGVyLjxcL3A+XHJcblxyXG48cD5Db25zaWRlciBhIHNldCBvZiBwYXRocyAkRF9UJCB3aGVyZSAkUCBcXGluIERfVCQgaWYgYW5kIG9ubHkgaWYgJFAkIGlzIGEgZGlhbWV0ZXIuIEdpdmVuIHR3byBwYXRocyAkRCQgYW5kICRFJCwgbGV0ICRmKEQsIEUpJCBiZSB0aGUgbnVtYmVyIG9mIHZlcnRpY2VzIHRoYXQgYmVsb25nIHRvIGJvdGggJEQkIGFuZCAkRSQuPFwvcD5cclxuXHJcbjxwPllvdSBhcmUgZ2l2ZW4gYW4gdW5kaXJlY3RlZCBmb3Jlc3QgKGEgZ3JhcGggd2l0aCBubyBjeWNsZXMpIHdpdGggJE4kIHZlcnRpY2VzIGFuZCAkTSQgZWRnZXMuIFByb2Nlc3MgJFEkIHF1ZXJpZXMgb2YgdGhlIGZvbGxvd2luZyBmb3JtOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPiZxdW90OzE8Zm9udCBmYWNlPVwibW9ub3NwYWNlXCI+IDxcL2ZvbnQ+JHgkPGZvbnQgZmFjZT1cIm1vbm9zcGFjZVwiPiA8XC9mb250PiR5JCZxdW90OzogQ29ubmVjdCB0d28gdmVydGljZXMgJHgkIGFuZCAkeSQgd2l0aCBhbiBlZGdlICgkMSBcXGxlIHgsIHkgXFxsZSBOJCkuIEl0IGlzIGd1YXJhbnRlZWQgdGhhdCB0aGVyZSBpcyBubyBwYXRoIGJldHdlZW4gJHgkIGFuZCAkeSQgYXQgdGhlIHRpbWUgb2YgdGhlIHF1ZXJ5LjxcL2xpPlxyXG5cdDxsaT4mcXVvdDsyPGZvbnQgZmFjZT1cIm1vbm9zcGFjZVwiPiA8XC9mb250PiR4JDxmb250IGZhY2U9XCJtb25vc3BhY2VcIj4gPFwvZm9udD4keSQmcXVvdDs6IFJlbW92ZSBhbiBlZGdlIGJldHdlZW4gdHdvIHZlcnRpY2VzICR4JCBhbmQgJHkkICgkMSBcXGxlIHgsIHkgXFxsZSBOJCkuIEl0IGlzIGd1YXJhbnRlZWQgdGhhdCBzdWNoIGFuIGVkZ2UgZXhpc3RzIGF0IHRoZSB0aW1lIG9mIHRoZSBxdWVyeS48XC9saT5cclxuXHQ8bGk+JnF1b3Q7Mzxmb250IGZhY2U9XCJtb25vc3BhY2VcIj4gPFwvZm9udD4keCQmcXVvdDs6IExldCAkRiQgYmUgdGhlIGNvbm5lY3RlZCBjb21wb25lbnQgY29udGFpbmluZyB0aGUgdmVydGV4ICR4JC4gT3V0cHV0IHRoZSB2YWx1ZSAkXFxzdW1cXGxpbWl0c197RCBcXGluIERfRn0gXFxzdW1cXGxpbWl0c197RSBcXGluIERfRn0gZihELCBFKSQgbW9kdWxvICQxMF45ICsgNyQgKCQxIFxcbGUgeCBcXGxlIE4kKS48XC9saT5cclxuPFwvdWw+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0IGNvbnNpc3RzIG9mIHRocmVlIGludGVnZXJzICROJCwgJE0kLCBhbmQgJFEkICgkMiBcXGxlIE4gXFxsZSAxMDBcXCwwMDAkLCAkMCBcXGxlIE0gXFxsZSBOIC0gMSQsICQxIFxcbGUgUSBcXGxlIDEwMFxcLDAwMCQpLjxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBuZXh0ICRNJCBsaW5lcyBjb25zaXN0cyBvZiB0d28gaW50ZWdlcnMgJHgkIGFuZCAkeSQgZGVub3RpbmcgYW4gZWRnZSBjb25uZWN0aW5nIHZlcnRpY2VzICR4JCBhbmQgJHkkICgkMSBcXGxlIHgsIHkgXFxsZSBOJCwgJHggXFxuZXEgeSQpLiBJdCBpcyBndWFyYW50ZWVkIHRoYXQgdGhlcmUgYXJlIG5vIGN5Y2xlcyBpbiB0aGUgZ2l2ZW4gZ3JhcGguPFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIG5leHQgJFEkIGxpbmVzIGNvbnRhaW5zIGEgcXVlcnkgaW4gdGhlIGZvcm0gZGVzY3JpYmVkIGFib3ZlLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHF1ZXJ5IG9mIHR5cGUgMywgb3V0cHV0IHRoZSBhbnN3ZXIgbW9kdWxvICQxMF45ICsgNyQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCJ9XQ==