시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 45 2 2 16.667%

문제

마법사 이재환은 V개의 방과 V-1개의 문으로 이루어진 미로에 갇혀있다. 문은 방을 양방향으로 연결하고 있고, 한 방에서 다른 방으로 가는 경로는 항상 존재한다. 또, C개의 서로 다른 색상으로 이루어진 C개의 자물쇠와 C개의 열쇠가 있다. 문은 최대 한 개의 자물쇠로 잠겨있을 수 있고, 방에는 최대 한 개의 열쇠가 놓여져 있다.

재환이는 마법사이기 때문에, 자물쇠를 마법으로 풀면 된다. 하지만, 주문책을 놓고 왔기 때문에, 마법을 전혀 할 수 없다. 

재환이는 현재 방 X에 있고, 방 Y에 있는 주문북을 찾으러 가려고 한다. 재환이는 현재 있는 방과 인접한 방으로 문을 통해 한 번에 이동할 수 있다. 문이 잠겨있는 경우에는 자물쇠의 색상과 같은 색상의 열쇠가 있어야 문을 열 수 있다.

재환이는 한 번에 열쇠 하나만 들고 있을 수 있다. 또, 열쇠를 집은 이후에 나중에 다시 사용하기 위해서 열쇠를 다른 방에 내려 놓을 수 없다. 자물쇠로 잠겨있는 문을 열게 되면, 열쇠는 사라지게 된다.

미로와 열쇠 C개와 자물쇠 C개의 위치가 주어진다. 이때, X에서 Y로 이동하는 것이 가능한지 알아내는 프로그램을 작성하시오. 경로의 길이는 4·(C+1)·V를 넘을 수 없다.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

첫째 줄에는 네 정수가 주어진다. 방의 개수 V (1 ≤ V ≤ 1500), 자물쇠의 수 (0 ≤ C < V), 방 번호 X와 Y가 주어진다. 방 번호는 0번부터 V-1가지 번호가 매겨져 있다. 다음 C개 줄에는 색의 번호가 증가하는 순서대로 키가 들어있는 방의 번호가 주어진다. 그 다음 V-1개 줄에는 미로의 정보 A B L이 주어진다. 0 ≤ L < C인 경우에는 방 A와 B를 연결하는 문을 잠구는 자물쇠의 색은 L이라는 뜻이고, -1인 경우에는 잠겨있지 않다는 뜻이다.

입력의 마지막 줄은 V,C,X,Y = 0,0,0,0 이다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. 답이 없는 경우에는 Impossible을 출력한다. 그렇지 않으면 L: V0 ... VL 형식으로 경로를 출력한다. L ≤ 4(C+1)V 은 X에서 Y로 가는 경로이고, X=V0,V1,...,VL-1,VL = Y는 X에서 Y로 가기 위해 지나가야 하는 방의 번호 L+1개이다. 각 정점을 출력하기 전에 공백을 하나 출력해야 한다.

예제 입력 1

1 0 0 0

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

3 2 0 2
1 2
0 1 1
0 2 0

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

0 0 0 0

예제 출력 1

0: 0
3: 0 1 0 2
Impossible
10: 0 2 0 1 0 1 3 1 0 2 4
W3sicHJvYmxlbV9pZCI6IjM4NTMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWM3OTBcdWJiM2NcdWMxZTBcdWM2NDAgXHVjNWY0XHVjMWUwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWI5YzhcdWJjOTVcdWMwYWMgXHVjNzc0XHVjN2FjXHVkNjU4XHVjNzQwIFZcdWFjMWNcdWM3NTggXHViYzI5XHVhY2ZjIFYtMVx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3M2NcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YmJmOFx1Yjg1Y1x1YzVkMCBcdWFjMDdcdWQ2MDBcdWM3ODhcdWIyZTQuIFx1YmIzOFx1Yzc0MCBcdWJjMjlcdWM3NDQgXHVjNTkxXHViYzI5XHVkNWE1XHVjNzNjXHViODVjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YWNlMCBcdWM3ODhcdWFjZTAsIFx1ZDU1YyBcdWJjMjlcdWM1ZDBcdWMxMWMgXHViMmU0XHViOTc4IFx1YmMyOVx1YzczY1x1Yjg1YyBcdWFjMDBcdWIyOTQgXHVhY2JkXHViODVjXHViMjk0IFx1ZDU2ZFx1YzBjMSBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTQuIFx1YjYxMCwgQ1x1YWMxY1x1Yzc1OCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YzBjOVx1YzBjMVx1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgQ1x1YWMxY1x1Yzc1OCBcdWM3OTBcdWJiM2NcdWMxZTBcdWM2NDAgQ1x1YWMxY1x1Yzc1OCBcdWM1ZjRcdWMxZTBcdWFjMDAgXHVjNzg4XHViMmU0LiBcdWJiMzhcdWM3NDAgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNzkwXHViYjNjXHVjMWUwXHViODVjIFx1YzdhMFx1YWNhOFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHVhY2UwLCBcdWJjMjlcdWM1ZDBcdWIyOTQgXHVjZDVjXHViMzAwIFx1ZDU1YyBcdWFjMWNcdWM3NTggXHVjNWY0XHVjMWUwXHVhYzAwIFx1YjE5M1x1YzVlY1x1YzgzOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDY1OFx1Yzc3NFx1YjI5NCBcdWI5YzhcdWJjOTVcdWMwYWNcdWM3NzRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWM3OTBcdWJiM2NcdWMxZTBcdWI5N2MgXHViOWM4XHViYzk1XHVjNzNjXHViODVjIFx1ZDQ4MFx1YmE3NCBcdWI0MWNcdWIyZTQuIFx1ZDU1OFx1YzljMFx1YjljYywgXHVjOGZjXHViYjM4XHVjYzQ1XHVjNzQ0IFx1YjE5M1x1YWNlMCBcdWM2NTRcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWI5YzhcdWJjOTVcdWM3NDQgXHVjODA0XHVkNjAwIFx1ZDU2MCBcdWMyMTggXHVjNWM2XHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cdWM3YWNcdWQ2NThcdWM3NzRcdWIyOTQgXHVkNjA0XHVjN2FjIFx1YmMyOSBYXHVjNWQwIFx1Yzc4OFx1YWNlMCwgXHViYzI5IFlcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzhmY1x1YmIzOFx1YmQ4MVx1Yzc0NCBcdWNjM2VcdWM3M2NcdWI3ZWMgXHVhYzAwXHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjN2FjXHVkNjU4XHVjNzc0XHViMjk0IFx1ZDYwNFx1YzdhYyBcdWM3ODhcdWIyOTQgXHViYzI5XHVhY2ZjIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWJjMjlcdWM3M2NcdWI4NWMgXHViYjM4XHVjNzQ0IFx1ZDFiNVx1ZDU3NCBcdWQ1NWMgXHViYzg4XHVjNWQwIFx1Yzc3NFx1YjNkOVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWJiMzhcdWM3NzQgXHVjN2EwXHVhY2E4XHVjNzg4XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWM3OTBcdWJiM2NcdWMxZTBcdWM3NTggXHVjMGM5XHVjMGMxXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWMwYzlcdWMwYzFcdWM3NTggXHVjNWY0XHVjMWUwXHVhYzAwIFx1Yzc4OFx1YzViNFx1YzU3YyBcdWJiMzhcdWM3NDQgXHVjNWY0IFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzdhY1x1ZDY1OFx1Yzc3NFx1YjI5NCBcdWQ1NWMgXHViYzg4XHVjNWQwIFx1YzVmNFx1YzFlMCBcdWQ1NThcdWIwOThcdWI5Y2MgXHViNGU0XHVhY2UwIFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWI2MTAsIFx1YzVmNFx1YzFlMFx1Yjk3YyBcdWM5ZDFcdWM3NDAgXHVjNzc0XHVkNmM0XHVjNWQwIFx1YjA5OFx1YzkxMVx1YzVkMCBcdWIyZTRcdWMyZGMgXHVjMGFjXHVjNmE5XHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NFx1YzExYyBcdWM1ZjRcdWMxZTBcdWI5N2MgXHViMmU0XHViOTc4IFx1YmMyOVx1YzVkMCBcdWIwYjRcdWI4MjQgXHViMTkzXHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWIyZTQuIFx1Yzc5MFx1YmIzY1x1YzFlMFx1Yjg1YyBcdWM3YTBcdWFjYThcdWM3ODhcdWIyOTQgXHViYjM4XHVjNzQ0IFx1YzVmNFx1YWM4YyBcdWI0MThcdWJhNzQsIFx1YzVmNFx1YzFlMFx1YjI5NCBcdWMwYWNcdWI3N2NcdWM5YzBcdWFjOGMgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWJiZjhcdWI4NWNcdWM2NDAgXHVjNWY0XHVjMWUwIENcdWFjMWNcdWM2NDAgXHVjNzkwXHViYjNjXHVjMWUwIENcdWFjMWNcdWM3NTggXHVjNzA0XHVjZTU4XHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjNzc0XHViNTRjLCBYXHVjNWQwXHVjMTFjIFlcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWFjMDBcdWIyYTVcdWQ1NWNcdWM5YzAgXHVjNTRjXHVjNTQ0XHViMGI0XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuIFx1YWNiZFx1Yjg1Y1x1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgNCZtaWRkb3Q7KEMrMSkmbWlkZG90O1ZcdWI5N2MgXHViMTE4XHVjNzQ0IFx1YzIxOCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVjNWVjXHViN2VjIFx1YWMxY1x1Yzc1OCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHViMTI0IFx1YzgxNVx1YzIxOFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YmMyOVx1Yzc1OCBcdWFjMWNcdWMyMTggViAoMSAmbGU7IFYgJmxlOyAxNTAwKSwgXHVjNzkwXHViYjNjXHVjMWUwXHVjNzU4IFx1YzIxOCAoMCAmbGU7IEMgJmx0OyBWKSwgXHViYzI5IFx1YmM4OFx1ZDYzOCBYXHVjNjQwIFlcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWJjMjkgXHViYzg4XHVkNjM4XHViMjk0IDBcdWJjODhcdWJkODBcdWQxMzAgVi0xXHVhYzAwXHVjOWMwIFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMmU0LiBcdWIyZTRcdWM3NGMgQ1x1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjMGM5XHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWM5OWRcdWFjMDBcdWQ1NThcdWIyOTQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1ZDBhNFx1YWMwMCBcdWI0ZTRcdWM1YjRcdWM3ODhcdWIyOTQgXHViYzI5XHVjNzU4IFx1YmM4OFx1ZDYzOFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YWRmOCBcdWIyZTRcdWM3NGMgVi0xXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWJiZjhcdWI4NWNcdWM3NTggXHVjODE1XHViY2Y0IEEgQiBMXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gMCAmbGU7IEwgJmx0OyBDXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWJjMjkgQVx1YzY0MCBCXHViOTdjIFx1YzVmMFx1YWNiMFx1ZDU1OFx1YjI5NCBcdWJiMzhcdWM3NDQgXHVjN2EwXHVhZDZjXHViMjk0IFx1Yzc5MFx1YmIzY1x1YzFlMFx1Yzc1OCBcdWMwYzlcdWM3NDAgTFx1Yzc3NFx1Yjc3Y1x1YjI5NCBcdWI3M2JcdWM3NzRcdWFjZTAsIC0xXHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWM3YTBcdWFjYThcdWM3ODhcdWM5YzAgXHVjNTRhXHViMmU0XHViMjk0IFx1YjczYlx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1YjljOFx1YzljMFx1YjljOSBcdWM5MDRcdWM3NDAgVixDLFgsWSA9IDAsMCwwLDAgXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHViOWM4XHViMmU0IFx1ZDU1YyBcdWM5MDRcdWM1MjkgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWIyZjVcdWM3NzQgXHVjNWM2XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBJbXBvc3NpYmxlXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViODA3XHVjOWMwIFx1YzU0YVx1YzczY1x1YmE3NCBMOiBWPHN1Yj4wPFwvc3ViPiAuLi4gVjxzdWI+TDxcL3N1Yj4gXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1YWNiZFx1Yjg1Y1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIEwgJmxlOyA0KEMrMSlWIFx1Yzc0MCBYXHVjNWQwXHVjMTFjIFlcdWI4NWMgXHVhYzAwXHViMjk0IFx1YWNiZFx1Yjg1Y1x1Yzc3NFx1YWNlMCwgWD1WPHN1Yj4wPFwvc3ViPixWPHN1Yj4xPFwvc3ViPiwuLi4sVjxzdWI+TC0xPFwvc3ViPixWPHN1Yj5MPFwvc3ViPiA9IFlcdWIyOTQgWFx1YzVkMFx1YzExYyBZXHViODVjIFx1YWMwMFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjOWMwXHViMDk4XHVhYzAwXHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWJjMjlcdWM3NTggXHViYzg4XHVkNjM4IEwrMVx1YWMxY1x1Yzc3NFx1YjJlNC4gXHVhYzAxIFx1YzgxNVx1YzgxMFx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NThcdWFlMzAgXHVjODA0XHVjNWQwIFx1YWNmNVx1YmMzMVx1Yzc0NCBcdWQ1NThcdWIwOTggXHVjZDljXHViODI1XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIzODUzIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiTG9ja3MgYW5kIGtleXMiLCJkZXNjcmlwdGlvbiI6IjxwPkEgd2l6YXJkIGlzIGluIGEgbGFieXJpbnRoIHdoZXJlIHRoZXJlIGFyZSBWIHJvb21zIGFuZCBWIC0gMSBkb29ycyBjb25uZWN0aW5nIHNvbWUgcGFpcnMgb2Ygcm9vbXMgaW4gYm90aCBkaXJlY3Rpb25zLCBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlcmUgaXMgYWx3YXlzIGEgc2VxdWVuY2Ugb2YgZG9vcnMgb25lIGNhbiB0cmF2ZXJzZSB0byBnbyBmcm9tIGEgcm9vbSB0byBhbnkgb3RoZXIgcm9vbS4gQWRkaXRpb25hbGx5LCB0aGVyZSBhcmUgQyBsb2NrcyBhbmQgQyBrZXlzIG9mIEMgZGkgZXJlbnQgY29sb3VycyAob25lIG9mIGVhY2gpIGluIHNvbWUgb2YgdGhlIGRvb3JzIGFuZCByb29tcyBvZiB0aGUgbWF6ZSwgcmVzcGVjdGl2ZWx5OyBlYWNoIGRvb3IgaGFzIGF0IG1vc3Qgb25lIGxvY2ssIGFuZCB0aGVyZSBpcyBhdCBtb3N0IG9uZSBrZXkgcGxhY2VkIGluIGVhY2ggcm9vbS4gSXQgc2hvdWxkIGJlIGFuIGVhc3kgbWF0dGVyIGZvciB0aGUgd2l6YXJkIHRvIGJ5cGFzcyB0aGUgbG9jayBzeXN0ZW0sIHdlcmUgaXQgbm90IGZvciB0aGUgZmFjdCB0aGF0IGhlIGZvcmdvdCBoaXMgc3BlbGwgYm9vaywgd2l0aG91dCB3aGljaCBoaXMgd2l6YXJkcnkgaXMgdXR0ZXJseSB1c2VsZXNzLiBUaGUgd2l6YXJkIGlzIGN1cnJlbnRseSBpbiByb29tIFgsIGFuZCBoZSB3YW50cyB0byBnZXQgaGlzIHNwZWxsIGJvb2ssIGxvY2F0ZWQgaW4gcm9vbSBZICwgd2l0aG91dCB0YWtpbmcgdG9vIGxvbmcuIEF0IGV2ZXJ5IHN0ZXAgaGUgbWF5IGdvIHRvIGFuIGFkamFjZW50IHJvb20gdGhyb3VnaCBvbmUgb2YgdGhlIGRvb3JzLiBPZiBjb3Vyc2UsIGlmIHRoZSBkb29yIGlzIGxvY2tlZCwgaGUgbmVlZHMgdG8gYmUgY2FycnlpbmcgdGhlIGtleSBvZiB0aGUgc2FtZSBjb2xvdXIgYXMgdGhlIGxvY2sgKHVubGVzcywgb2YgY291cnNlLCB0aGF0IGRvb3IgaGFzIGFscmVhZHkgYmVlbiB1bmxvY2tlZCkuIFRoZSB3aXphcmQgY2FuIGNhcnJ5IG9ubHkgb25lIGtleSBhdCBhIHRpbWUgYW5kIGFmdGVyIHBpY2tpbmcgdXAgYSBrZXkgaXQgaXMgbm90IHBvc3NpYmxlIGZvciBoaW0gdG8gZHJvcCBpdCBzb21ld2hlcmUgaW4gdGhlIG1hemUgaW4gb3JkZXIgdG8gdGFrZSBpdCBhZ2FpbiBhZnRlcndhcmRzLiBPbmNlIGEgZG9vciBoYXMgYmVlbiB1bmxvY2tlZCwgdGhlIGtleSBpcyB0aHJvd24gYXdheSBzaW5jZSBpdCBpcyBubyBsb25nZXIgYW55IHVzZS48XC9wPlxyXG5cclxuPHA+R2l2ZW4gdGhlIG1hemUgYW5kIHRoZSBwb3NpdGlvbnMgb2YgdGhlIEMga2V5cyBhbmQgQyBsb2NrcywgZGV0ZXJtaW5lIGhvdyB0byByZWFjaCBZIGZyb20gWCwgaWYgcG9zc2libGUuIEFueSBwYXRoIHdob3NlIGxlbmd0aCBkb2VzIG5vdCBleGNlZWQgNCAmbWlkZG90OyAoQyArIDEpICZtaWRkb3Q7IFYgaXMgYWNjZXB0YWJsZS48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggY2FzZSBjb250YWlucyBmb3VyIGludGVnZXJzOiB0aGUgbnVtYmVyIFYgb2Ygcm9vbXMgaW4gdGhlIG1hemUgKDEgJmxlOyBWICZsZTsgMSA1MDApLCB0aGUgbnVtYmVyIEMgb2YgbG9ja3MgKDAgJmxlOyBDICZsdDsgViApLCBhbmQgcm9vbXMgWCBhbmQgWSBudW1iZXJlZCAwLDEsIC4uLiwgViAtIDEuIFRoZW4gY29tZXMgYSAocG9zc2libHkgZW1wdHkpIGxpbmUgd2l0aCBDIGludGVnZXJzIGluZGljYXRpbmcgdGhlIGxvY2F0aW9uIG9mIGVhY2ggb2YgdGhlIGtleXMsIGluIG9yZGVyIG9mIGluY3JlYXNpbmcgY29sb3VyLiBUaGUgbmV4dCBWIC0gMSBsaW5lcyBkZXNjcmliZSB0aGUgbWF6ZTogZWFjaCBjb250YWlucyB0aHJlZSBpbnRlZ2VycyBBIEIgTCwgbWVhbmluZyB0aGF0IHRoZXJlIGlzIGEgZG9vciBiZXR3ZWVuIHJvb21zIEEgYW5kIEIgd2hpY2ggY2FuIGJlIHVubG9ja2VkIHdpdGggdGhlIGtleSBvZiBjb2xvdXIgTCwgaWYgMCAmbGU7IEwgJmx0OyBDLCBhIHZhbHVlIG9mIDEgZm9yIEwgaW5kaWNhdGVzIHRoYXQgbm8gbG9jayBpcyBuZWVkZWQuPFwvcD5cclxuXHJcbjxwPlRoZSBsYXN0IGxpbmUgaGFzIFYsIEMsIFgsIFkgPSAwLDAsMCwwLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlRoZXJlIGlzIG9uZSBsaW5lIG9mIG91dHB1dCBwZXIgdGVzdCBjYXNlLiBJZiB0aGVyZSBpcyBubyBzb2x1dGlvbiwgb3V0cHV0IEltcG9zc2libGUuIE90aGVyd2lzZSBwcmludCB0aGUgZnVsbCBwYXRoIGNvcnJlc3BvbmRpbmcgdG8geW91ciBzb2x1dGlvbiBpbiB0aGUgZm9ybWF0IEw6IFY8c3ViPjA8XC9zdWI+IC4uLiBWPHN1Yj5MPFwvc3ViPiwgd2hlcmUgTCAmbGU7IDQoQyArIDEpViBpcyB0aGUgbGVuZ3RoIG9mIGEgcGF0aCBmcm9tIFggdG8gWSwgYW5kIFggPSBWPHN1Yj4wPFwvc3ViPiwgVjxzdWI+MTxcL3N1Yj4sIC4uLiwgVjxzdWI+TC0xPFwvc3ViPiwgVkwgPSBZIGlzIHRoZSBzZXF1ZW5jZSBvZiBMICsgMSB2ZXJ0aWNlcyB2aXNpdGVkIGluIHRoZSByaWdodCBvcmRlci4gQSBzaW5nbGUgc3BhY2UgbXVzdCBwcmVjZWRlIGVhY2ggdmVydGV4IGluIHRoZSBwYXRoOyBzZWUgc2FtcGxlIG91dHB1dCBmb3IgY2xhcmkgY2F0aW9uLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==