시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 14 6 5 38.462%

문제

보섭이는 컴퓨터 구조와 논리 숙제로 작은 프로세서를 디자인했다. 이 프로세서는 총 N개의 레지스터를 가지고 있고, 1번부터 N번까지 번호가 매겨져 있다. 각 레지스터는 unsigned 32비트 정수를 일반적인 이진수 형태로 저장하고 있다. (0 ~ 232-1) 프로세서는 다음과 같은 두 가지 명령을 수행할 수 있다.

명령어 설명 예제
1 K M 레지스터 K에 저장되어 있는 비트를 M만큼 오른쪽으로 회전시킨다음 다시 K에 저장한다. 00000000000000000010001111111011 → (M = 1010) → 11111110110000000000000000001000
(10진법: 9211 → (M = 10) → 4273995784)
2 K L 레지스터 KL에 저장되어 있는 값을 XOR시킨 다음, 시스템 버스로 결과를 출력한다. 00000000000000000000001111000111 XOR 00000000000001111100000000000111 = 00000000000001111100001111000000
(10진법: 967 XOR 507911 = 508864)

보섭이는 이미 프로세서를 만들었다. 하지만, 가장 중요한 연산인 레지스터에 저장된 값을 읽는 명령을 만들지 않았다는 사실을 알게 되었다. 특정 레지스터에 저장된 값을 알기 위해서는 1번과 2번 연산을 적절히 수행해서 알아내는 방법밖에 없다. 보섭이가 명령을 수행시킨 순서와 2번 연산의 출력값이 주어졌을 때, 처음에 레지스터에 저장되어 있는 값을 구하는 프로그램을 작성하시오.

만약, 레지스터의 초기값이 여러 가지가 있다면, 사전순으로 가장 작은 것을 구한다.

입력

첫째 줄에 레지스터의 수 N과 프로세서가 수행한 명령의 수 E가 주어진다. (2 ≤ N ≤ 100,000, 1 ≤ E ≤ 100,000)

다음 줄에는 프로세서가 수행한 연산이 하나씩 주어진다. 모든 명령은 올바른 명령이고 1 ≤ K, L ≤ N, 0 ≤ M < 32를 만족한다. 2번 명령이 주어진 경우에 다음 줄에는 시스템 버스가 출력한 결과가 10진수로 주어진다.

출력

첫째 줄에 N개 레지스터의 초기값을 공백으로 구분하여 1번 레지스터부터 출력한다.

만약, 그러한 결과를 출력하는 레지스터의 초기값이 없는 경우에는 -1을 출력한다.

예제 입력 1

3 3
2 1 2
1
2 1 3
2
2 2 3
3

예제 출력 1

0 1 2
W3sicHJvYmxlbV9pZCI6IjMwODEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ1MDRcdWI4NWNcdWMxMzhcdWMxMWMgXHViNTE0XHVjNzkwXHVjNzc4IiwiZGVzY3JpcHRpb24iOiI8cD5cdWJjZjRcdWMxMmRcdWM3NzRcdWIyOTQgXHVjZWY0XHVkNGU4XHVkMTMwIFx1YWQ2Y1x1Yzg3MFx1YzY0MCBcdWIxN2NcdWI5YWMgXHVjMjE5XHVjODFjXHViODVjIFx1Yzc5MVx1Yzc0MCBcdWQ1MDRcdWI4NWNcdWMxMzhcdWMxMWNcdWI5N2MgXHViNTE0XHVjNzkwXHVjNzc4XHVkNTg4XHViMmU0LiBcdWM3NzQgXHVkNTA0XHViODVjXHVjMTM4XHVjMTFjXHViMjk0IFx1Y2QxZCBOXHVhYzFjXHVjNzU4IFx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMFx1Yjk3YyBcdWFjMDBcdWM5YzBcdWFjZTAgXHVjNzg4XHVhY2UwLCAxXHViYzg4XHViZDgwXHVkMTMwIE5cdWJjODhcdWFlNGNcdWM5YzAgXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1YWMwMSBcdWI4MDhcdWM5YzBcdWMyYTRcdWQxMzBcdWIyOTQgdW5zaWduZWQgMzJcdWJlNDRcdWQyYjggXHVjODE1XHVjMjE4XHViOTdjIFx1Yzc3Y1x1YmMxOFx1YzgwMVx1Yzc3OCBcdWM3NzRcdWM5YzRcdWMyMTggXHVkNjE1XHVkMGRjXHViODVjIFx1YzgwMFx1YzdhNVx1ZDU1OFx1YWNlMCBcdWM3ODhcdWIyZTQuICgwIH4gMjxzdXA+MzI8XC9zdXA+LTEpIFx1ZDUwNFx1Yjg1Y1x1YzEzOFx1YzExY1x1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YjQ1MCBcdWFjMDBcdWM5YzAgXHViYTg1XHViODM5XHVjNzQ0IFx1YzIxOFx1ZDU4OVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgY2xhc3MgPSBcInRhYmxlIHRhYmxlLWJvcmRlcmVkXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGggc3R5bGU9XCJ3aWR0aDoxMCVcIj5cdWJhODVcdWI4MzlcdWM1YjQ8XC90aD5cclxuXHRcdFx0PHRoIHN0eWxlPVwid2lkdGg6MjUlXCI+XHVjMTI0XHViYTg1PFwvdGg+XHJcblx0XHRcdDx0aCBzdHlsZT1cIndpZHRoOjY1JVwiPlx1YzYwOFx1YzgxYzxcL3RoPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGhlYWQ+XHJcblx0PHRib2R5PlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MSA8c3Ryb25nPksgTTxcL3N0cm9uZz48XC90ZD5cclxuXHRcdFx0PHRkPlx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMCA8c3Ryb25nPks8XC9zdHJvbmc+XHVjNWQwIFx1YzgwMFx1YzdhNVx1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTQgXHViZTQ0XHVkMmI4XHViOTdjIDxzdHJvbmc+TTxcL3N0cm9uZz5cdWI5Y2NcdWQwN2MgXHVjNjI0XHViOTc4XHVjYWJkXHVjNzNjXHViODVjIFx1ZDY4Y1x1YzgwNFx1YzJkY1x1ZDBhOFx1YjJlNFx1Yzc0YyBcdWIyZTRcdWMyZGMgPHN0cm9uZz5LPFwvc3Ryb25nPlx1YzVkMCBcdWM4MDBcdWM3YTVcdWQ1NWNcdWIyZTQuPFwvdGQ+XHJcblx0XHRcdDx0ZD4wMDAwMDAwMDAwMDAwMDAwMDAxMDAwMTExMTExMTAxMSAmcmFycjsgKDxzdHJvbmc+TTxcL3N0cm9uZz4gPSAxMDEwKSAmcmFycjsgMTExMTExMTAxMTAwMDAwMDAwMDAwMDAwMDAwMDEwMDA8YnIgXC8+XHJcblx0XHRcdCgxMFx1YzljNFx1YmM5NTogOTIxMSAmcmFycjsgKDxzdHJvbmc+TTxcL3N0cm9uZz4gPSAxMCkgJnJhcnI7IDQyNzM5OTU3ODQpPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjIgPHN0cm9uZz4gSyBMPFwvc3Ryb25nPjxcL3RkPlxyXG5cdFx0XHQ8dGQ+XHViODA4XHVjOWMwXHVjMmE0XHVkMTMwIDxzdHJvbmc+SzxcL3N0cm9uZz5cdWM2NDAgPHN0cm9uZz5MPFwvc3Ryb25nPlx1YzVkMCBcdWM4MDBcdWM3YTVcdWI0MThcdWM1YjQgXHVjNzg4XHViMjk0IFx1YWMxMlx1Yzc0NCBYT1JcdWMyZGNcdWQwYTggXHViMmU0XHVjNzRjLCBcdWMyZGNcdWMyYTRcdWQxNWMgXHViYzg0XHVjMmE0XHViODVjIFx1YWNiMFx1YWNmY1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvdGQ+XHJcblx0XHRcdDx0ZD4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExMTAwMDExMSBYT1IgMDAwMDAwMDAwMDAwMDExMTExMDAwMDAwMDAwMDAxMTEgPSAwMDAwMDAwMDAwMDAwMTExMTEwMDAwMTExMTAwMDAwMDxiciBcLz5cclxuXHRcdFx0KDEwXHVjOWM0XHViYzk1OiA5NjcgWE9SIDUwNzkxMSA9IDUwODg2NCk8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPlx1YmNmNFx1YzEyZFx1Yzc3NFx1YjI5NCBcdWM3NzRcdWJiZjggXHVkNTA0XHViODVjXHVjMTM4XHVjMTFjXHViOTdjIFx1YjljY1x1YjRlNFx1YzVjOFx1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjLCBcdWFjMDBcdWM3YTUgXHVjOTExXHVjNjk0XHVkNTVjIFx1YzVmMFx1YzBiMFx1Yzc3OCBcdWI4MDhcdWM5YzBcdWMyYTRcdWQxMzBcdWM1ZDAgXHVjODAwXHVjN2E1XHViNDFjIFx1YWMxMlx1Yzc0NCBcdWM3N2RcdWIyOTQgXHViYTg1XHViODM5XHVjNzQ0IFx1YjljY1x1YjRlNFx1YzljMCBcdWM1NGFcdWM1NThcdWIyZTRcdWIyOTQgXHVjMGFjXHVjMmU0XHVjNzQ0IFx1YzU0Y1x1YWM4YyBcdWI0MThcdWM1YzhcdWIyZTQuIFx1ZDJiOVx1YzgxNSBcdWI4MDhcdWM5YzBcdWMyYTRcdWQxMzBcdWM1ZDAgXHVjODAwXHVjN2E1XHViNDFjIFx1YWMxMlx1Yzc0NCBcdWM1NGNcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjXHViMjk0IDFcdWJjODhcdWFjZmMgMlx1YmM4OCBcdWM1ZjBcdWMwYjBcdWM3NDQgXHVjODAxXHVjODA4XHVkNzg4IFx1YzIxOFx1ZDU4OVx1ZDU3NFx1YzExYyBcdWM1NGNcdWM1NDRcdWIwYjRcdWIyOTQgXHViYzI5XHViYzk1XHViYzE2XHVjNWQwIFx1YzVjNlx1YjJlNC4gXHViY2Y0XHVjMTJkXHVjNzc0XHVhYzAwIFx1YmE4NVx1YjgzOVx1Yzc0NCBcdWMyMThcdWQ1ODlcdWMyZGNcdWQwYTggXHVjMjFjXHVjMTFjXHVjNjQwIDJcdWJjODggXHVjNWYwXHVjMGIwXHVjNzU4IFx1Y2Q5Y1x1YjgyNVx1YWMxMlx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWNjOThcdWM3NGNcdWM1ZDAgXHViODA4XHVjOWMwXHVjMmE0XHVkMTMwXHVjNWQwIFx1YzgwMFx1YzdhNVx1YjQxOFx1YzViNCBcdWM3ODhcdWIyOTQgXHVhYzEyXHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG48cD5cdWI5Y2NcdWM1N2QsIFx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMFx1Yzc1OCBcdWNkMDhcdWFlMzBcdWFjMTJcdWM3NzQgXHVjNWVjXHViN2VjIFx1YWMwMFx1YzljMFx1YWMwMCBcdWM3ODhcdWIyZTRcdWJhNzQsIFx1YzBhY1x1YzgwNFx1YzIxY1x1YzczY1x1Yjg1YyBcdWFjMDBcdWM3YTUgXHVjNzkxXHVjNzQwIFx1YWM4M1x1Yzc0NCBcdWFkNmNcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMFx1Yzc1OCBcdWMyMTggTlx1YWNmYyBcdWQ1MDRcdWI4NWNcdWMxMzhcdWMxMWNcdWFjMDAgXHVjMjE4XHVkNTg5XHVkNTVjIFx1YmE4NVx1YjgzOVx1Yzc1OCBcdWMyMTggRVx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgyICZsZTsgTiAmbGU7IDEwMCwwMDAsIDEgJmxlOyBFICZsZTsgMTAwLDAwMCk8XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWMxMzhcdWMxMWNcdWFjMDAgXHVjMjE4XHVkNTg5XHVkNTVjIFx1YzVmMFx1YzBiMFx1Yzc3NCBcdWQ1NThcdWIwOThcdWM1MjkgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWJhYThcdWI0ZTAgXHViYTg1XHViODM5XHVjNzQwIFx1YzYyY1x1YmMxNFx1Yjk3OCBcdWJhODVcdWI4MzlcdWM3NzRcdWFjZTAgMSAmbGU7IEssIEwgJmxlOyBOLCAwICZsZTsgTSAmbHQ7IDMyXHViOTdjIFx1YjljY1x1Yzg3MVx1ZDU1Y1x1YjJlNC4gMlx1YmM4OCBcdWJhODVcdWI4MzlcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YWNiZFx1YzZiMFx1YzVkMCBcdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwXHViMjk0IFx1YzJkY1x1YzJhNFx1ZDE1YyBcdWJjODRcdWMyYTRcdWFjMDAgXHVjZDljXHViODI1XHVkNTVjIFx1YWNiMFx1YWNmY1x1YWMwMCAxMFx1YzljNFx1YzIxOFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBOXHVhYzFjIFx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMFx1Yzc1OCBcdWNkMDhcdWFlMzBcdWFjMTJcdWM3NDQgXHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1YWQ2Y1x1YmQ4NFx1ZDU1OFx1YzVlYyAxXHViYzg4IFx1YjgwOFx1YzljMFx1YzJhNFx1ZDEzMFx1YmQ4MFx1ZDEzMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjljY1x1YzU3ZCwgXHVhZGY4XHViN2VjXHVkNTVjIFx1YWNiMFx1YWNmY1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NThcdWIyOTQgXHViODA4XHVjOWMwXHVjMmE0XHVkMTMwXHVjNzU4IFx1Y2QwOFx1YWUzMFx1YWMxMlx1Yzc3NCBcdWM1YzZcdWIyOTQgXHVhY2JkXHVjNmIwXHVjNWQwXHViMjk0IC0xXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIzMDgxIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUFJPQ0VTT1IiLCJkZXNjcmlwdGlvbiI6IjxwPk1pcmtvIGhhcyByZWNlaXZlZCBhbiBpbnRlcmVzdGluZyBob21ld29yayBhc3NpZ25tZW50OiB0byBkZXNpZ24gaGlzIG93biBsaXR0bGUgcHJvY2Vzc29yIChNaXJrb3Byb2Nlc3NvcikuIFRoZSBwcm9jZXNzb3IgaGFzIE4gcmVnaXN0ZXJzIHdpdGggaW5kaWNlcyBmcm9tIDEgdG8gTiwgYW5kIGVhY2ggcmVnaXN0ZXIgaG9sZHMgb25lIHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGluIHRoZSB1c3VhbCBiaW5hcnkgZm9ybWF0ICh0aGUgcG9zc2libGUgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAyPHN1cD4zMjxcL3N1cD4gLSAxKS48XC9wPlxyXG5cclxuPHA+VGhlIHByb2Nlc3NvciBpcyBjYXBhYmxlIG9mIGV4ZWN1dGluZyB0aGUgZm9sbG93aW5nIGluc3RydWN0aW9uIHR5cGVzOjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoIHN0eWxlPVwid2lkdGg6MTAlXCI+SW5zdHJ1Y3Rpb24gdHlwZTxcL3RoPlxyXG5cdFx0XHQ8dGggc3R5bGU9XCJ3aWR0aDoyNSVcIj5EZXNjcmlwdGlvbjxcL3RoPlxyXG5cdFx0XHQ8dGggc3R5bGU9XCJ3aWR0aDo2NSVcIj5FeGFtcGxlPFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xIDxzdHJvbmc+SyBNPFwvc3Ryb25nPjxcL3RkPlxyXG5cdFx0XHQ8dGQ+Um90YXRlIHRoZSBiaXRzIG9mIHJlZ2lzdGVyIEsgYnkgTSBwb3NpdGlvbnMgdG8gdGhlIHJpZ2h0OyB3cml0ZSB0aGUgcmVzdWx0IGJhY2sgdG8gcmVnaXN0ZXIgSy48XC90ZD5cclxuXHRcdFx0PHRkPjAwMDAwMDAwMDAwMDAwMDAwMDEwMDAxMTExMTExMDExICZyYXJyOyAoPHN0cm9uZz5NPFwvc3Ryb25nPiA9IDEwMTApICZyYXJyOyAxMTExMTExMDExMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDxiciBcLz5cclxuXHRcdFx0KGluIGJhc2UgMTA6IDkyMTEgJnJhcnI7ICg8c3Ryb25nPk08XC9zdHJvbmc+ID0gMTApICZyYXJyOyA0MjczOTk1Nzg0KTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yIDxzdHJvbmc+IEsgTDxcL3N0cm9uZz48XC90ZD5cclxuXHRcdFx0PHRkPkNvbXB1dGUgdGhlIGJpdHdpc2UgWE9SIG9mIHJlZ2lzdGVycyBLIGFuZCBMOyBvdXRwdXQgdGhlIHJlc3VsdCB0byB0aGUgc3lzdGVtIGJ1cy48XC90ZD5cclxuXHRcdFx0PHRkPjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMDAwMTExIFhPUiAwMDAwMDAwMDAwMDAwMTExMTEwMDAwMDAwMDAwMDExMSA9IDAwMDAwMDAwMDAwMDAxMTExMTAwMDAxMTExMDAwMDAwPGJyIFwvPlxyXG5cdFx0XHQoaW4gYmFzZSAxMDogOTY3IFhPUiA1MDc5MTEgPSA1MDg4NjQpPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90Ym9keT5cclxuPFwvdGFibGU+XHJcblxyXG48cD5NaXJrbyBoYXMgYWxyZWFkeSBidWlsdCBhIG1vZGVsIG9mIHRoZSBwcm9jZXNzb3IsIGFuZCBvbmx5IHRoZW4gcmVhbGl6ZWQgdGhhdCBoZSYjMzk7ZCBmb3Jnb3R0ZW4gdG8gaW5jbHVkZSBhbiBvcGVyYXRpb24gdG8gcmVhZCB0aGUgY29udGVudHMgb2YgYSByZWdpc3Rlci4gTm93LCBoaXMgb25seSBvcHRpb24gaXMgdG8gZXhlY3V0ZSBhIGxhcmdlIG51bWJlciBvZiB0eXBlIDEgYW5kIHR5cGUgMiBpbnN0cnVjdGlvbnMgYW5kIGluZmVyIHRoZSByZWdpc3RlciBjb250ZW50cyBmcm9tIHRoZSByZXN1bHRzLiBIYXZpbmcgZXhlY3V0ZWQgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcywgaGUgaGFzIGFza2VkIHlvdSB0byBoZWxwIGhpbSBkZXJpdmUgdGhlIGluaXRpYWwgcmVnaXN0ZXIgY29udGVudHMgY29uc2lzdGVudCB3aXRoIHRoZSBvYnRhaW5lZCByZXN1bHRzLjxcL3A+XHJcblxyXG48cD5JZiB0aGVyZSBhcmUgbXVsdGlwbGUgcG9zc2liaWxpdGllcyBmb3IgdGhlIGluaXRpYWwgcmVnaXN0ZXIgc3RhdGUgY29tYmluYXRpb24sIGZpbmQgdGhlIGxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXN0IG9uZS4gKElmIHR3byBjb21iaW5hdGlvbnMgaGF2ZSBlcXVhbCB2YWx1ZXMgaW4gdGhlIGZpcnN0IEsgJm5kYXNoOyAxIHJlZ2lzdGVycyBhbmQgZGlmZmVyZW50IHZhbHVlcyBpbiByZWdpc3RlciBLLCB0aGUgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciBjb21iaW5hdGlvbiBpcyB0aGUgb25lIHdpdGggdGhlIHNtYWxsZXIgdmFsdWUgaW4gcmVnaXN0ZXIgSy4pPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBvZiBpbnB1dCBjb250YWlucyB0d28gcG9zaXRpdmUgaW50ZWdlcnM6IE4gKDIgJmxlOyBOICZsZTsgMTAwIDAwMCksIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXJzLCBhbmQgRSAoMSAmbGU7IEUgJmxlOyAxMDAgMDAwKSwgdGhlIG51bWJlciBvZiBleGVjdXRlZCBpbnN0cnVjdGlvbnMuPFwvcD5cclxuXHJcbjxwPlRoZSByZW1haW5pbmcgaW5wdXQgbGluZXMgZGVzY3JpYmUgdGhlIGluc3RydWN0aW9ucyBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IHdlcmUgZXhlY3V0ZWQgYnkgTWlya29wcm9jZXNzb3IsIGZvcm1hdHRlZCBhcyBkZXNjcmliZWQgaW4gdGhlIHRhYmxlIGFib3ZlLCBvbmUgcGVyIGxpbmUuIEFsbCBpbnN0cnVjdGlvbnMgYXJlIGxlZ2FsICh0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgaG9sZDogMSAmbGU7IEssIEwgJmxlOyBOLCAwICZsZTsgTSAmbHQ7IDMyKS4gRWFjaCBpbnN0cnVjdGlvbiBvZiB0eXBlIDIgaXMgZm9sbG93ZWQgYnkgYW5vdGhlciBsaW5lIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMjxzdXA+MzI8XC9zdXA+ICZuZGFzaDsgMSwgaW5jbHVzaXZlICZuZGFzaDsgdGhlIHJlc3VsdCBvZiB0aGF0IG9wZXJhdGlvbiAodGhlIGJpdHdpc2UgWE9SIHZhbHVlKSBpbiBiYXNlIDEwLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlRoZSBmaXJzdCBhbmQgb25seSBsaW5lIG9mIG91dHB1dCBtdXN0IGNvbnRhaW4gdGhlIHJlcXVpcmVkIE4gcmVnaXN0ZXIgdmFsdWVzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLjxcL3A+XHJcblxyXG48cD5JZiB0aGVyZSBpcyBubyBwb3NzaWJsZSBjb21iaW5hdGlvbiBvZiBpbml0aWFsIHZhbHVlcyBjb25zaXN0ZW50IHdpdGggaW5wdXQsIG91dHB1dCBvbmx5IHRoZSBudW1iZXIgLTEsIHRvIG5vdGlmeSBNaXJrbyB0aGF0IGhpcyBwcm9jZXNzb3IgaGFzIGEgYnVnLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==