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

문제

선영이는 블로그에 음식점 리뷰를 올리는 파워 블로거이다. 음식점 리뷰를 몇 년동안 하루에 몇 개씩 하다보니, 이제 지구에 있는 모든 음식점의 리뷰를 작성했다.

이제, 기내식 리뷰를 작성할 차례이다. 선영이는 사람들이 자신의 기내식 리뷰를 보고 항공편을 고르는 효과를 기대하고 있다.

이번 기내식 리뷰는 코스모폴리탄 다음 호에도 올라갈 예정이다. 코스모폴리탄의 편집장인 상근이는 선영이에게 기내식 리뷰를 해야하는 항공편 리스트를 주었다. 선영이는 출발과 도착 도시가 같은 각 항공편은 같은 기내식을 제공한다는 사실을 알고 있다. 따라서, 한 번만 타면 된다.

상근이가 준 리스트에 있는 항공편만 이용해서는 모든 리뷰를 할 수 없다. 따라서, 선영이는 비행기를 조금 더 예매하려고 한다. 이렇게 예매를 한 비행기의 기내식은 리뷰를 하지 않고, 리스트에 있는 기내식만 리뷰를 한다.

선영이는 모든 리뷰를 작성하면서 드는 비행기 티켓에 쓰는 돈을 최소로 하려고 한다. 선영이의 사무실은 스톡홀롬에 있고, 이 곳에서 여행이 시작되고 끝이 난다. 두 도시를 운항하는 비행기 티켓의 가격은 고정되어 있으며, 양방향 모두 같다. 항상 모든 리뷰를 완료하는 것이 가능하다.

선영이가 이용하는 호텔의 비용, 비행기의 출발과 도착 시간은 무시할 수 있고, 비행기는 매우 자주 운항하며 비행 시간은 매우 작다고 가정한다. 따라서, 비행기 티켓의 가격만 생각하고 문제를 풀면 된다.

입력

첫째 줄에 N과 R이 주어진다. N은 공항의 수, R은 리뷰를 작성해야 하는 항공편의 수이다. 공항은 1부터 N까지 번호가 매겨져 있고, 스톡홀롬의 번호는 1이다. (2 ≤ N ≤ 13, 0 ≤ R ≤ 78)

다음 R개 줄에는 리뷰를 작성해야 하는 항공편의 정보이다. 각 줄은 3개의 정수 a, b, c로 이루어져 있으며, a와 b는 서로 다른 두 공항을, c는 비행기 티켓 가격이다. (1 ≤ a, b ≤ N, 1 ≤ c ≤ 10,000) 두 도시를 운항하는 비행기의 수는 한 개를 넘지 않는다.

다음 줄에는 선영이가 추가적으로 이용할 수 있는 항공편의 수 F가 주어진다. (0 ≤ F ≤ 200) 다음 F개 줄에는 위와 같은 형식으로 정보가 주어진다. 두 도시를 운항하는 비행기의 수가 여러 개일 수도 있다.

항상 리뷰를 모두 작성할 수 있는 경우만 입력으로 주어진다.

출력

선영이가 모든 리뷰를 작성하고 스톡홀롬으로 돌아오는데 드는 비행기 티켓의 값의 최소값을 출력한다.

예제 입력 1

5 3
1 2 1000
2 3 1000
4 5 500
2
1 4 300
3 5 300

예제 출력 1

3100

예제 입력 2

6 5
1 2 1000
2 3 1000
1 3 1000
2 4 1000
5 6 500
2
2 5 300
4 6 300

예제 출력 2

5100
W3sicHJvYmxlbV9pZCI6IjUwMDQiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQzMGNcdWM2Y2MgXHViZTE0XHViODVjXHVhYzcwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWMxMjBcdWM2MDFcdWM3NzRcdWIyOTQgXHViZTE0XHViODVjXHVhZGY4XHVjNWQwIFx1Yzc0Y1x1YzJkZFx1YzgxMCBcdWI5YWNcdWJkZjBcdWI5N2MgXHVjNjJjXHViOWFjXHViMjk0IFx1ZDMwY1x1YzZjYyBcdWJlMTRcdWI4NWNcdWFjNzBcdWM3NzRcdWIyZTQuIFx1Yzc0Y1x1YzJkZFx1YzgxMCBcdWI5YWNcdWJkZjBcdWI5N2MgXHViYTg3IFx1YjE0NFx1YjNkOVx1YzU0OCBcdWQ1NThcdWI4ZThcdWM1ZDAgXHViYTg3IFx1YWMxY1x1YzUyOSBcdWQ1NThcdWIyZTRcdWJjZjRcdWIyYzgsIFx1Yzc3NFx1YzgxYyBcdWM5YzBcdWFkNmNcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWM3NGNcdWMyZGRcdWM4MTBcdWM3NTggXHViOWFjXHViZGYwXHViOTdjIFx1Yzc5MVx1YzEzMVx1ZDU4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjODFjLCBcdWFlMzBcdWIwYjRcdWMyZGQgXHViOWFjXHViZGYwXHViOTdjIFx1Yzc5MVx1YzEzMVx1ZDU2MCBcdWNjMjhcdWI4NDBcdWM3NzRcdWIyZTQuIFx1YzEyMFx1YzYwMVx1Yzc3NFx1YjI5NCBcdWMwYWNcdWI3OGNcdWI0ZTRcdWM3NzQgXHVjNzkwXHVjMmUwXHVjNzU4IFx1YWUzMFx1YjBiNFx1YzJkZCBcdWI5YWNcdWJkZjBcdWI5N2MgXHViY2Y0XHVhY2UwIFx1ZDU2ZFx1YWNmNVx1ZDNiOFx1Yzc0NCBcdWFjZTBcdWI5NzRcdWIyOTQgXHVkNmE4XHVhY2ZjXHViOTdjIFx1YWUzMFx1YjMwMFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NFx1YmM4OCBcdWFlMzBcdWIwYjRcdWMyZGQgXHViOWFjXHViZGYwXHViMjk0IFx1Y2Y1NFx1YzJhNFx1YmFhOFx1ZDNmNFx1YjlhY1x1ZDBjNCBcdWIyZTRcdWM3NGMgXHVkNjM4XHVjNWQwXHViM2M0IFx1YzYyY1x1Yjc3Y1x1YWMwOCBcdWM2MDhcdWM4MTVcdWM3NzRcdWIyZTQuIFx1Y2Y1NFx1YzJhNFx1YmFhOFx1ZDNmNFx1YjlhY1x1ZDBjNFx1Yzc1OCBcdWQzYjhcdWM5ZDFcdWM3YTVcdWM3NzggXHVjMGMxXHVhZGZjXHVjNzc0XHViMjk0IFx1YzEyMFx1YzYwMVx1Yzc3NFx1YzVkMFx1YWM4YyBcdWFlMzBcdWIwYjRcdWMyZGQgXHViOWFjXHViZGYwXHViOTdjIFx1ZDU3NFx1YzU3Y1x1ZDU1OFx1YjI5NCBcdWQ1NmRcdWFjZjVcdWQzYjggXHViOWFjXHVjMmE0XHVkMmI4XHViOTdjIFx1YzhmY1x1YzVjOFx1YjJlNC4gXHVjMTIwXHVjNjAxXHVjNzc0XHViMjk0IFx1Y2Q5Y1x1YmMxY1x1YWNmYyBcdWIzYzRcdWNjMjkgXHViM2M0XHVjMmRjXHVhYzAwIFx1YWMxOVx1Yzc0MCBcdWFjMDEgXHVkNTZkXHVhY2Y1XHVkM2I4XHVjNzQwIFx1YWMxOVx1Yzc0MCBcdWFlMzBcdWIwYjRcdWMyZGRcdWM3NDQgXHVjODFjXHVhY2Y1XHVkNTVjXHViMmU0XHViMjk0IFx1YzBhY1x1YzJlNFx1Yzc0NCBcdWM1NGNcdWFjZTAgXHVjNzg4XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1ZDU1YyBcdWJjODhcdWI5Y2MgXHVkMGMwXHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMGMxXHVhZGZjXHVjNzc0XHVhYzAwIFx1YzkwMCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM1ZDAgXHVjNzg4XHViMjk0IFx1ZDU2ZFx1YWNmNVx1ZDNiOFx1YjljYyBcdWM3NzRcdWM2YTlcdWQ1NzRcdWMxMWNcdWIyOTQgXHViYWE4XHViNGUwIFx1YjlhY1x1YmRmMFx1Yjk3YyBcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjJlNC4gXHViNTMwXHViNzdjXHVjMTFjLCBcdWMxMjBcdWM2MDFcdWM3NzRcdWIyOTQgXHViZTQ0XHVkNTg5XHVhZTMwXHViOTdjIFx1Yzg3MFx1YWUwOCBcdWIzNTQgXHVjNjA4XHViOWU0XHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjNzc0XHViODA3XHVhYzhjIFx1YzYwOFx1YjllNFx1Yjk3YyBcdWQ1NWMgXHViZTQ0XHVkNTg5XHVhZTMwXHVjNzU4IFx1YWUzMFx1YjBiNFx1YzJkZFx1Yzc0MCBcdWI5YWNcdWJkZjBcdWI5N2MgXHVkNTU4XHVjOWMwIFx1YzU0YVx1YWNlMCwgXHViOWFjXHVjMmE0XHVkMmI4XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWFlMzBcdWIwYjRcdWMyZGRcdWI5Y2MgXHViOWFjXHViZGYwXHViOTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMTIwXHVjNjAxXHVjNzc0XHViMjk0IFx1YmFhOFx1YjRlMCBcdWI5YWNcdWJkZjBcdWI5N2MgXHVjNzkxXHVjMTMxXHVkNTU4XHViYTc0XHVjMTFjIFx1YjRkY1x1YjI5NCBcdWJlNDRcdWQ1ODlcdWFlMzAgXHVkMmYwXHVjZjEzXHVjNWQwIFx1YzRmMFx1YjI5NCBcdWIzYzhcdWM3NDQgXHVjZDVjXHVjMThjXHViODVjIFx1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YzEyMFx1YzYwMVx1Yzc3NFx1Yzc1OCBcdWMwYWNcdWJiMzRcdWMyZTRcdWM3NDAgXHVjMmE0XHVkMWExXHVkNjQwXHViODZjXHVjNWQwIFx1Yzc4OFx1YWNlMCwgXHVjNzc0IFx1YWNmM1x1YzVkMFx1YzExYyBcdWM1ZWNcdWQ1ODlcdWM3NzQgXHVjMmRjXHVjNzkxXHViNDE4XHVhY2UwIFx1YjA1ZFx1Yzc3NCBcdWIwOWNcdWIyZTQuIFx1YjQ1MCBcdWIzYzRcdWMyZGNcdWI5N2MgXHVjNmI0XHVkNTZkXHVkNTU4XHViMjk0IFx1YmU0NFx1ZDU4OVx1YWUzMCBcdWQyZjBcdWNmMTNcdWM3NTggXHVhYzAwXHVhY2E5XHVjNzQwIFx1YWNlMFx1YzgxNVx1YjQxOFx1YzViNCBcdWM3ODhcdWM3M2NcdWJhNzAsIFx1YzU5MVx1YmMyOVx1ZDVhNSBcdWJhYThcdWI0NTAgXHVhYzE5XHViMmU0LiBcdWQ1NmRcdWMwYzEgXHViYWE4XHViNGUwIFx1YjlhY1x1YmRmMFx1Yjk3YyBcdWM2NDRcdWI4Y2NcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzc0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMTIwXHVjNjAxXHVjNzc0XHVhYzAwIFx1Yzc3NFx1YzZhOVx1ZDU1OFx1YjI5NCBcdWQ2MzhcdWQxNTRcdWM3NTggXHViZTQ0XHVjNmE5LCBcdWJlNDRcdWQ1ODlcdWFlMzBcdWM3NTggXHVjZDljXHViYzFjXHVhY2ZjIFx1YjNjNFx1Y2MyOSBcdWMyZGNcdWFjMDRcdWM3NDAgXHViYjM0XHVjMmRjXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWFjZTAsIFx1YmU0NFx1ZDU4OVx1YWUzMFx1YjI5NCBcdWI5ZTRcdWM2YjAgXHVjNzkwXHVjOGZjIFx1YzZiNFx1ZDU2ZFx1ZDU1OFx1YmE3MCBcdWJlNDRcdWQ1ODkgXHVjMmRjXHVhYzA0XHVjNzQwIFx1YjllNFx1YzZiMCBcdWM3OTFcdWIyZTRcdWFjZTAgXHVhYzAwXHVjODE1XHVkNTVjXHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMsIFx1YmU0NFx1ZDU4OVx1YWUzMCBcdWQyZjBcdWNmMTNcdWM3NTggXHVhYzAwXHVhY2E5XHViOWNjIFx1YzBkZFx1YWMwMVx1ZDU1OFx1YWNlMCBcdWJiMzhcdWM4MWNcdWI5N2MgXHVkNDgwXHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgTlx1YWNmYyBSXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gTlx1Yzc0MCBcdWFjZjVcdWQ1NmRcdWM3NTggXHVjMjE4LCBSXHVjNzQwIFx1YjlhY1x1YmRmMFx1Yjk3YyBcdWM3OTFcdWMxMzFcdWQ1NzRcdWM1N2MgXHVkNTU4XHViMjk0IFx1ZDU2ZFx1YWNmNVx1ZDNiOFx1Yzc1OCBcdWMyMThcdWM3NzRcdWIyZTQuIFx1YWNmNVx1ZDU2ZFx1Yzc0MCAxXHViZDgwXHVkMTMwIE5cdWFlNGNcdWM5YzAgXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzgzOCBcdWM3ODhcdWFjZTAsIFx1YzJhNFx1ZDFhMVx1ZDY0MFx1Yjg2Y1x1Yzc1OCBcdWJjODhcdWQ2MzhcdWIyOTQgMVx1Yzc3NFx1YjJlNC4gKDIgJmxlOyBOICZsZTsgMTMsIDAgJmxlOyBSICZsZTsgNzgpPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBSXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWI5YWNcdWJkZjBcdWI5N2MgXHVjNzkxXHVjMTMxXHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWQ1NmRcdWFjZjVcdWQzYjhcdWM3NTggXHVjODE1XHViY2Y0XHVjNzc0XHViMmU0LiBcdWFjMDEgXHVjOTA0XHVjNzQwIDNcdWFjMWNcdWM3NTggXHVjODE1XHVjMjE4IGEsIGIsIGNcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YzczY1x1YmE3MCwgYVx1YzY0MCBiXHViMjk0IFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHViNDUwIFx1YWNmNVx1ZDU2ZFx1Yzc0NCwgY1x1YjI5NCBcdWJlNDRcdWQ1ODlcdWFlMzAgXHVkMmYwXHVjZjEzIFx1YWMwMFx1YWNhOVx1Yzc3NFx1YjJlNC4gKDEgJmxlOyBhLCBiICZsZTsgTiwgMSAmbGU7IGMgJmxlOyAxMCwwMDApIFx1YjQ1MCBcdWIzYzRcdWMyZGNcdWI5N2MgXHVjNmI0XHVkNTZkXHVkNTU4XHViMjk0IFx1YmU0NFx1ZDU4OVx1YWUzMFx1Yzc1OCBcdWMyMThcdWIyOTQgXHVkNTVjIFx1YWMxY1x1Yjk3YyBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1YzEyMFx1YzYwMVx1Yzc3NFx1YWMwMCBcdWNkOTRcdWFjMDBcdWM4MDFcdWM3M2NcdWI4NWMgXHVjNzc0XHVjNmE5XHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVkNTZkXHVhY2Y1XHVkM2I4XHVjNzU4IFx1YzIxOCBGXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDAgJmxlOyBGICZsZTsgMjAwKSBcdWIyZTRcdWM3NGMgRlx1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjNzA0XHVjNjQwIFx1YWMxOVx1Yzc0MCBcdWQ2MTVcdWMyZGRcdWM3M2NcdWI4NWMgXHVjODE1XHViY2Y0XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViNDUwIFx1YjNjNFx1YzJkY1x1Yjk3YyBcdWM2YjRcdWQ1NmRcdWQ1NThcdWIyOTQgXHViZTQ0XHVkNTg5XHVhZTMwXHVjNzU4IFx1YzIxOFx1YWMwMCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHVjNzdjIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDU2ZFx1YzBjMSBcdWI5YWNcdWJkZjBcdWI5N2MgXHViYWE4XHViNDUwIFx1Yzc5MVx1YzEzMVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YWNiZFx1YzZiMFx1YjljYyBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YzEyMFx1YzYwMVx1Yzc3NFx1YWMwMCBcdWJhYThcdWI0ZTAgXHViOWFjXHViZGYwXHViOTdjIFx1Yzc5MVx1YzEzMVx1ZDU1OFx1YWNlMCBcdWMyYTRcdWQxYTFcdWQ2NDBcdWI4NmNcdWM3M2NcdWI4NWMgXHViM2NjXHVjNTQ0XHVjNjI0XHViMjk0XHViMzcwIFx1YjRkY1x1YjI5NCBcdWJlNDRcdWQ1ODlcdWFlMzAgXHVkMmYwXHVjZjEzXHVjNzU4IFx1YWMxMlx1Yzc1OCBcdWNkNWNcdWMxOGNcdWFjMTJcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjUwMDQiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJGb29kIFJldmlldyIsImRlc2NyaXB0aW9uIjoiPHA+RnJpZGEgaXMgYSB3cml0ZXIgZm9yIENvc21vcG9saXRhbiB3aG8gd3JpdGVzIHJlc3RhdXJhbnQgcmV2aWV3cy4gU2hlIGVuam95cyBpdCBhIGxvdCwgYnV0IGl0IHNlZW1zIHRoYXQsIHRocm91Z2hvdXQgdGhlIHllYXJzLCBzaGUgaGFzIHJldmlld2VkIGFsbCB0aGUgcmVzdGF1cmFudHMgb24gRWFydGguIEl0JnJzcXVvO3Mgbm93IHRpbWUgdG8gbW92ZSBvbmUgbGV2ZWwgdXA7IHNoZSBpcyBnb2luZyB0byByZXZpZXcgdGhlIGZvb2Qgc2VydmVkIGJ5IHRoZSBhaXJsaW5lcywgc28gdGhhdCB0aGUgcmVhZGVycyBjYW4gbWFrZSBiZXR0ZXIgZGVjaXNpb25zIG9uIHdoaWNoIGZsaWdodHMgdG8gdGFrZS48XC9wPlxyXG5cclxuPHA+SGVyIGJvc3MgZ2F2ZSBoZXIgYSBsaXN0IG9mIGZsaWdodCBjb25uZWN0aW9ucyB0aGF0IHNoZSBuZWVkcyB0byByZXZpZXcgZm9yIHRoZSB1cGNvbWluZyBpc3N1ZSBvZiBDb3Ntb3BvbGl0YW4uIFNoZSBrbm93cyB0aGF0IHRoZXkgc2VydmUgdGhlIHNhbWUgZm9vZCBpbiBib3RoIGRpcmVjdGlvbnMgb2YgZXZlcnkgZmxpZ2h0LCBzbyBzaGUgb25seSBuZWVkcyB0byB0YWtlIGl0IG9uY2UuIFNoZSByZWFsaXplZCB0aGF0IHNoZSB3aWxsIG5lZWQgdG8gdGFrZSBzb21lIGFkZGl0aW9uYWwgZmxpZ2h0cywgYmVjYXVzZSBzaGUgY2FuIG5vdCBtYWtlIGFsbCByZXZpZXdzIHVzaW5nIG9ubHkgZmxpZ2h0cyBpbiB0aGUgbGlzdCBmcm9tIGhlciBib3NzLiBUaGVyZWZvcmUgc2hlIGRpZCBzb21lIHF1aWNrIHJlc2VhcmNoIGFuZCBtYWRlIGEgbGlzdCBvZiBhZGRpdGlvbmFsIGZsaWdodHMgd2hpY2ggc2hlIG1pZ2h0IHRha2UuIFNoZSB3aWxsIG5vdCByZXZpZXcgdGhlIGZvb2Qgb24gdGhlc2UgZmxpZ2h0czsgdGhleSB3aWxsIG9ubHkgYmUgdXNlZCBzbyB0aGF0IHNoZSBjYW4gbWFrZSBhbGwgdGhlIHJldmlld3MuPFwvcD5cclxuXHJcbjxwPkZyaWRhJnJzcXVvO3MgZ29hbCBpcyB0byBtYWtlIGFsbCB0aGUgcmV2aWV3cyB3aGlsZSBzcGVuZGluZyB0aGUgbGVhc3QgbW9uZXkgb24gZmxpZ2h0IHRpY2tldHMuIEhlciBvZmZpY2UgaXMgaW4gU3RvY2tob2xtLCBzbyBzaGUgc3RhcnRzIGFuZCBlbmRzIGhlciBqb3VybmV5IHRoZXJlLiBFYWNoIGZsaWdodCBpcyBib3RoIHdheXMgYmV0d2VlbiB0d28gY2l0aWVzIGFuZCBoYXMgYSBmaXhlZCBwcmljZSBpbiBib3RoIGRpcmVjdGlvbnMuIFlvdSBjYW4gYXNzdW1lIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gZmluaXNoIGFsbCB0aGUgcmV2aWV3cyB1c2luZyBzb21lIG9mIHRoZSBhZGRpdGlvbmFsIGZsaWdodHMuPFwvcD5cclxuXHJcbjxwPkZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBwcm9ibGVtIHdlIGlnbm9yZSB0aGUgcHJpY2UgRnJpZGEgaGFzIHRvIHBheSBmb3IgYWNjb21tb2RhdGlvbiBhbmQgd2UgYWxzbyBpZ25vcmUgdGhlIGRlcGFydHVyZSBhbmQgYXJyaXZhbCB0aW1lcyBvZiBmbGlnaHRzIGJ5IGFzc3VtaW5nIHRoYXQgZXZlcnkgZmxpZ2h0IGlzIHZlcnkgb2Z0ZW4gYW5kIHJlYXNvbmFibHkgc2hvcnQuIFdlIG9ubHkgZm9jdXMgb24gdGhlIHRvdGFsIHByaWNlIG9mIHRoZSBmbGlnaHRzLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgY29udGFpbnMgMiBzcGFjZSBzZXBhcmF0ZWQgaW50ZWdlcnMgTiwgUiwoMiAmbGU7IE4gJmxlOyAxMywwICZsZTsgUiAmbGU7IDc4KSwgd2hlcmUgTiBpcyB0aGUgbnVtYmVyIG9mIGFpcnBvcnRzIG1lbnRpb25lZCBpbiB0aGUgaW5wdXQgYW5kIFIgaXMgdGhlIG51bWJlciBvZiBmbGlnaHRzIHRvIHJldmlldy4gVGhlIGFpcnBvcnRzIGFyZSBudW1iZXJlZCAxLCAuLi4gLCBOIGFuZCBTdG9ja2hvbG0gaGFzIG51bWJlciAxLjxcL3A+XHJcblxyXG48cD5UaGUgbmV4dCBSIGxpbmVzIGRlc2NyaWJlIHRoZSBSIGZsaWdodHMgdG8gcmV2aWV3LiBFYWNoIGxpbmUgY29udGFpbnMgMyBzcGFjZSBzZXBhcmF0ZWQgaW50ZWdlcnMgYSwgYiwgYywoMSAmbGU7IGEsIGIgJmxlOyBOLDEgJmxlOyBjICZsZTsgMTAgMDAwKSwgd2hlcmUgYSwgYiBkZW5vdGUgMiBkaXN0aW5jdCBhaXJwb3J0cyBhbmQgYyBpcyB0aGUgY29zdCBvZiB0aGUgZmxpZ2h0IGluIFN3ZWRpc2gga3Jvbm9yIGluIGJvdGggZGlyZWN0aW9ucy4gTm8gcGFpciBvZiAyIGNpdGllcyBpcyBsaXN0ZWQgdHdpY2UuPFwvcD5cclxuXHJcbjxwPlRoZSBuZXh0IGxpbmUgY29udGFpbnMgYW4gaW50ZWdlciBGLCAoMCAmbGU7IEYgJmxlOyAyMDApLCB0aGUgbnVtYmVyIG9mIGFkZGl0aW9uYWwgZmxpZ2h0cyBhdmFpbGFibGUuIFRoZSBuZXh0IEYgbGluZXMgY29udGFpbiBkZXNjcmlwdGlvbnMgb2YgZmxpZ2h0cyBpbiB0aGUgc2FtZSBmb3JtYXQgYXMgYWJvdmUgYW5kIHRoZXJlIG1heSBiZSBtb3JlIGZsaWdodHMgYmV0d2VlbiBhIHBhaXIgb2YgY2l0aWVzLiBZb3UgbWF5IGFzc3VtZSB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIG1ha2UgYWxsIHRoZSByZXZpZXdzIHVzaW5nIHNvbWUgb2YgdGhlc2UgYWRkaXRpb25hbCBmbGlnaHRzPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IG9uZSBsaW5lIHdpdGggb25lIGludGVnZXIgJm5kYXNoOyB0aGUgbG93ZXN0IHRvdGFsIGNvc3Qgb2YgZmxpZ2h0IHRpY2tldHMsIHN1Y2ggdGhhdCBGcmlkYSBjYW4gbWFrZSBhbGwgdGhlIHJldmlld3MgYW5kIHJldHVybiBiYWNrIHRvIFN0b2NraG9sbS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=