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

문제

컴퓨터 프로그램에서는 논리식(logic expression)이 자주 나온다. 논리식의 요소들은 다음과 같다.

  • true 또는 false의 값을 가지고 있는 변수
  • 단항(unary), 이항(binary) 논리 연산자
  • 연산이 수행되는 순서에 영향을 주는 괄호

단항 연산자(Unary operators)는 하나의 변수에서 동작한다. 그에 반해 이항 연산자(Binary operators)는 두 개의 변수에서 동작한다. 일반적인 단항 논리 연산자에는 NOT이 있고, 이항 연산자에는 AND, OR, XOR, NAND, NOR 등이 있다.

하나의 논리 연산자는 ‘진리표(truth table)‘로 정의 될 수 있다. (단항 연산자는 1차원, 이항 연산자에는 2차원) 예를 들어, 아래의 그림을 보자.

논리식의 두 가지 예 :

  1. (x AND (NOT(y NAND z)))
  2. (x OR ((NOT y) XOR z))

이 프로그램의 목적을 위해, 하나의 논리식의 정확한 구조가 문법적으로 정의되어 있다:

<expression> = <variable> | ( <expression> <operator> <expression> ) | ( <operator> <expression>)
<variable> = <lowercase_letter>
<operator> = <uppercase_letter> | <operator> <uppercase_letter>

(여기에서 수직 막대 ‘|’는 ‘or’로 발음되고 문법적으로 정의되어 있다; 이는 실제 표현에서는 표시되지 않는다.) <lowercase_letter>와 <uppercase_letter>은 각각 소문자, 대문자를 의미한다.

일부 경우에서는 모든 변수의 값이 정해지지 않더라도 논리식의 값을 구하는 것이 가능하다. 위의 예시 (1)에서 y = false 이고 x, z의 값은 모른다고 가정해 보아라. 그러면 변수 x, z의 값에 관계없이 주어진 논리식은 false가 되는 것을 확인할 수 있다. 다른 한 편으로는, 예시 (1)에서 x = true, y = true, z는 모른다고 가정해보자. 이 때는 z의 값을 알지 못하면 논리식의 값을 정할 수 없다.

입력

입력은 하나 또는 그보다 많은 test cases를 포함한다. 각각의 test case에서, 입력의 첫 번째 줄에서는 두 개의 양의 정수(100을 초과하지 않음)를 입력 받는다. 하나는 그 case에서 사용될 단항 연산자의 개수이고, 다른 하나는 이항 연산자의 개수이다.

첫 째 줄 다음에는(아래의 두 단락에 설명 되어있는 것처럼) 연산자의 이름과 진리표 형태의 연산자 정의를 입력 받기 위한 여러 줄(several lines)이 따라올 것이다. 연산자의 이름은 20문자를 넘지 않도록 한다. 그리고 다른 연산자의 이름과 중복되지 않도록 한다.

첫째, 각각의 단항 연산자는 두 줄 안에 정의 되도록 한다. : 두 줄 중, 첫 번째 줄에는 연산자의 이름을 입력 받는다; 두 번 째 줄에는 true/false 항목을 두 번 입력 받는다. 이는 진리표를 정의하는 것이다.

단항 연산자의 정의를 마친 이후에, 각각의 이항 연산자는 세 줄 안에 정의 되도록 한다. : 세 줄 중 첫 번째 줄에는 연산자의 이름을 입력받는다; 두 번째, 세 번째 줄에는 true/false 항목을 각각 두 번 씩 입력 받는다. 이 두 줄은 이항 연산자의 진리표를 정의 하는 것이다.

연산자 표 이후에는 위의 문법을 만족하는 유효한 논리식을 입력 받는다. 변수들은 하나 이상의 공백으로 인접한 논리 연산자로부터 구분 될 수 있다. 괄호는 인접한 식의 원소들로부터 공백문자를 이용해 분리될 수도 있고 아닐 수도 있다. 당신은 하나의 식 안에서 한번 이상 나오는 변수가 없다고 가정할지도 모른다. 그 식은 최소 1에서 500을 넘지 않는 문자들로 구성되어 있다.

식 이후의 줄(lines, 0개 이상의 줄)에서는 변수의 값을 표로 입력 받는다. 각각의 줄은 두 가지 형태 중 하나를 갖는다. :

<variable> true
<variable> false

그 표에서 변수는 하나 이상 나타나지 않는다.

각 test case의 끝은 ‘*’로 표시된다. 두 개의 음의 정수를 입력하는 것으로 입력의 끝을 표시할 수 있다.

출력

각 test case의 출력을 한 줄씩 표시한다. case 번호를 표시한다. 그 이후에 문자 true, false, unknown 중 하나를 출력한다.; 위의 설명대로 주어진 식에 적합한 것이 출력됨.

출력 포맷은 예제 출력을 통해 확인할 수 있다.

예제 입력 1

1 2
NOT
true false
AND
false false
false true
TWEEK
true false
true false
(x AND (NOT(y TWEEK z)))
x true
y true
*
1 1
MOCK
true true
NAND
true true
true false
(x NAND (MOCK (y NAND z)))
x false
y false
*
0 2
XOR
false true
true false
FAKE
true true
false false
((p XOR q) FAKE r)
p true
q false
*
-1 -1

예제 출력 1

Case 1: unknown
Case 2: true
Case 3: false

힌트

W3sicHJvYmxlbV9pZCI6IjE5MDEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIxN2NcdWI5YWNcdWMyZGQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1Y2VmNFx1ZDRlOFx1ZDEzMCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM1ZDBcdWMxMWNcdWIyOTQgXHViMTdjXHViOWFjXHVjMmRkKGxvZ2ljIGV4cHJlc3Npb24pXHVjNzc0IFx1Yzc5MFx1YzhmYyBcdWIwOThcdWM2MjhcdWIyZTQuIFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWM2OTRcdWMxOGNcdWI0ZTRcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT50cnVlIFx1YjYxMFx1YjI5NCBmYWxzZVx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YjI5NDxzdHJvbmc+IFx1YmNjMFx1YzIxODxcL3N0cm9uZz48XC9saT5cclxuXHQ8bGk+XHViMmU4XHVkNTZkKHVuYXJ5KSwgXHVjNzc0XHVkNTZkKGJpbmFyeSkgPHN0cm9uZz5cdWIxN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVjNzkwPFwvc3Ryb25nPjxcL2xpPlxyXG5cdDxsaT5cdWM1ZjBcdWMwYjBcdWM3NzQgXHVjMjE4XHVkNTg5XHViNDE4XHViMjk0IFx1YzIxY1x1YzExY1x1YzVkMCBcdWM2MDFcdWQ1YTVcdWM3NDQgXHVjOGZjXHViMjk0IDxzdHJvbmc+XHVhZDA0XHVkNjM4PFwvc3Ryb25nPjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTAoVW5hcnkgb3BlcmF0b3JzKVx1YjI5NCBcdWQ1NThcdWIwOThcdWM3NTggXHViY2MwXHVjMjE4XHVjNWQwXHVjMTFjIFx1YjNkOVx1Yzc5MVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHVjNWQwIFx1YmMxOFx1ZDU3NCBcdWM3NzRcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwKEJpbmFyeSBvcGVyYXRvcnMpXHViMjk0IFx1YjQ1MCBcdWFjMWNcdWM3NTggXHViY2MwXHVjMjE4XHVjNWQwXHVjMTFjIFx1YjNkOVx1Yzc5MVx1ZDU1Y1x1YjJlNC4gXHVjNzdjXHViYzE4XHVjODAxXHVjNzc4IFx1YjJlOFx1ZDU2ZCBcdWIxN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVjNzkwXHVjNWQwXHViMjk0IE5PVFx1Yzc3NCBcdWM3ODhcdWFjZTAsIFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM1ZDBcdWIyOTQgQU5ELCBPUiwgWE9SLCBOQU5ELCBOT1IgXHViNGYxXHVjNzc0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNTU4XHViMDk4XHVjNzU4IFx1YjE3Y1x1YjlhYyBcdWM1ZjBcdWMwYjBcdWM3OTBcdWIyOTQgJmxzcXVvOzxzdHJvbmc+XHVjOWM0XHViOWFjXHVkNDVjKHRydXRoIHRhYmxlKTxcL3N0cm9uZz4mbHNxdW87XHViODVjIFx1YzgxNVx1Yzc1OCBcdWI0MjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gKFx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWIyOTQgMVx1Y2MyOFx1YzZkMCwgXHVjNzc0XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1YzVkMFx1YjI5NCAyXHVjYzI4XHVjNmQwKSBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCBcdWM1NDRcdWI3OThcdWM3NTggXHVhZGY4XHViOWJjXHVjNzQ0IFx1YmNmNFx1Yzc5MC48XC9wPlxyXG5cclxuPHA+PGltZyBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvdXNlcnVwbG9hZFwvb2RhXC8yMDE2MTEwM1wvNTFjMzI0ZmFlMzY4ZWI1NTJmN2U2MDY4ZDE1NmJjMDgucG5nXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1YzYwOCA6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+KHggQU5EIChOT1QoeSBOQU5EIHopKSk8XC9saT5cclxuXHQ8bGk+KHggT1IgKChOT1QgeSkgWE9SIHopKTxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1Yzc3NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NTggXHViYWE5XHVjODAxXHVjNzQ0IFx1YzcwNFx1ZDU3NCwgXHVkNTU4XHViMDk4XHVjNzU4IFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWM4MTVcdWQ2NTVcdWQ1NWMgXHVhZDZjXHVjODcwXHVhYzAwIFx1YmIzOFx1YmM5NVx1YzgwMVx1YzczY1x1Yjg1YyBcdWM4MTVcdWM3NThcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0OjxcL3A+XHJcblxyXG48cHJlPlxyXG4mbHQ7ZXhwcmVzc2lvbiZndDsgPSAmbHQ7dmFyaWFibGUmZ3Q7IHwgKCAmbHQ7ZXhwcmVzc2lvbiZndDsgJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDsgKSB8ICggJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDspXHJcbiZsdDt2YXJpYWJsZSZndDsgPSAmbHQ7bG93ZXJjYXNlX2xldHRlciZndDtcclxuJmx0O29wZXJhdG9yJmd0OyA9ICZsdDt1cHBlcmNhc2VfbGV0dGVyJmd0OyB8ICZsdDtvcGVyYXRvciZndDsgJmx0O3VwcGVyY2FzZV9sZXR0ZXImZ3Q7PFwvcHJlPlxyXG5cclxuPHA+KFx1YzVlY1x1YWUzMFx1YzVkMFx1YzExYyBcdWMyMThcdWM5YzEgXHViOWM5XHViMzAwICZsc3F1bzt8JnJzcXVvO1x1YjI5NCAmbHNxdW87b3ImcnNxdW87XHViODVjIFx1YmMxY1x1Yzc0Y1x1YjQxOFx1YWNlMCBcdWJiMzhcdWJjOTVcdWM4MDFcdWM3M2NcdWI4NWMgXHVjODE1XHVjNzU4XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNDsgXHVjNzc0XHViMjk0IFx1YzJlNFx1YzgxYyBcdWQ0NWNcdWQ2MDRcdWM1ZDBcdWMxMWNcdWIyOTQgXHVkNDVjXHVjMmRjXHViNDE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4pICZsdDtsb3dlcmNhc2VfbGV0dGVyJmd0O1x1YzY0MCAmbHQ7dXBwZXJjYXNlX2xldHRlciZndDtcdWM3NDAgXHVhYzAxXHVhYzAxIFx1YzE4Y1x1YmIzOFx1Yzc5MCwgXHViMzAwXHViYjM4XHVjNzkwXHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzdjXHViZDgwIFx1YWNiZFx1YzZiMFx1YzVkMFx1YzExY1x1YjI5NCBcdWJhYThcdWI0ZTAgXHViY2MwXHVjMjE4XHVjNzU4IFx1YWMxMlx1Yzc3NCBcdWM4MTVcdWQ1NzRcdWM5YzBcdWM5YzAgXHVjNTRhXHViMzU0XHViNzdjXHViM2M0IFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVhZDZjXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTQuIFx1YzcwNFx1Yzc1OCBcdWM2MDhcdWMyZGMgKDEpXHVjNWQwXHVjMTFjIHkgPSBmYWxzZSBcdWM3NzRcdWFjZTAgeCwgelx1Yzc1OCBcdWFjMTJcdWM3NDAgXHViYWE4XHViOTc4XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU3NCBcdWJjZjRcdWM1NDRcdWI3N2MuIFx1YWRmOFx1YjdlY1x1YmE3NCBcdWJjYzBcdWMyMTggeCwgelx1Yzc1OCBcdWFjMTJcdWM1ZDAgXHVhZDAwXHVhY2M0XHVjNWM2XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNCBcdWIxN2NcdWI5YWNcdWMyZGRcdWM3NDAmbmJzcDtmYWxzZVx1YWMwMCBcdWI0MThcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1ZDY1NVx1Yzc3OFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWIyZTRcdWI5NzggXHVkNTVjIFx1ZDNiOFx1YzczY1x1Yjg1Y1x1YjI5NCwgXHVjNjA4XHVjMmRjICgxKVx1YzVkMFx1YzExYyB4ID0gdHJ1ZSwgeSA9IHRydWUsIHpcdWIyOTQgXHViYWE4XHViOTc4XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU3NFx1YmNmNFx1Yzc5MC4gXHVjNzc0IFx1YjU0Y1x1YjI5NCB6XHVjNzU4IFx1YWMxMlx1Yzc0NCBcdWM1NGNcdWM5YzAgXHViYWJiXHVkNTU4XHViYTc0IFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVjODE1XHVkNTYwIFx1YzIxOCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3NDAgXHVkNTU4XHViMDk4IFx1YjYxMFx1YjI5NCBcdWFkZjhcdWJjZjRcdWIyZTQgXHViOWNlXHVjNzQwIHRlc3QgY2FzZXNcdWI5N2MgXHVkM2VjXHVkNTY4XHVkNTVjXHViMmU0LiBcdWFjMDFcdWFjMDFcdWM3NTggdGVzdCBjYXNlXHVjNWQwXHVjMTFjLCBcdWM3ODVcdWI4MjVcdWM3NTggXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWMxMWNcdWIyOTQgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWM1OTFcdWM3NTggXHVjODE1XHVjMjE4KDEwMFx1Yzc0NCBcdWNkMDhcdWFjZmNcdWQ1NThcdWM5YzAgXHVjNTRhXHVjNzRjKVx1Yjk3YyBcdWM3ODVcdWI4MjUgXHViYzFiXHViMjk0XHViMmU0LiBcdWQ1NThcdWIwOThcdWIyOTQgXHVhZGY4IGNhc2VcdWM1ZDBcdWMxMWMgXHVjMGFjXHVjNmE5XHViNDIwIFx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVhYzFjXHVjMjE4XHVjNzc0XHVhY2UwLCBcdWIyZTRcdWI5NzggXHVkNTU4XHViMDk4XHViMjk0IFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVhYzFjXHVjMjE4XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjYWIgXHVjOWY4IFx1YzkwNCBcdWIyZTRcdWM3NGNcdWM1ZDBcdWIyOTQoXHVjNTQ0XHViNzk4XHVjNzU4IFx1YjQ1MCBcdWIyZThcdWI3N2RcdWM1ZDAgXHVjMTI0XHViYTg1IFx1YjQxOFx1YzViNFx1Yzc4OFx1YjI5NCBcdWFjODNcdWNjOThcdWI3ZmMpJm5ic3A7PHN0cm9uZz5cdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjNzc0XHViOTg0PFwvc3Ryb25nPlx1YWNmYyBcdWM5YzRcdWI5YWNcdWQ0NWMgXHVkNjE1XHVkMGRjXHVjNzU4IDxzdHJvbmc+XHVjNWYwXHVjMGIwXHVjNzkwIFx1YzgxNVx1Yzc1ODxcL3N0cm9uZz5cdWI5N2MgXHVjNzg1XHViODI1IFx1YmMxYlx1YWUzMCBcdWM3MDRcdWQ1NWMgXHVjNWVjXHViN2VjIFx1YzkwNChzZXZlcmFsIGxpbmVzKVx1Yzc3NCBcdWI1MzBcdWI3N2NcdWM2MmMmbmJzcDtcdWFjODNcdWM3NzRcdWIyZTQuIFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yzc1OCBcdWM3NzRcdWI5ODRcdWM3NDAgMjBcdWJiMzhcdWM3OTBcdWI5N2MgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjNjNFx1Yjg1ZCBcdWQ1NWNcdWIyZTQuIFx1YWRmOFx1YjlhY1x1YWNlMCBcdWIyZTRcdWI5NzggXHVjNWYwXHVjMGIwXHVjNzkwXHVjNzU4IFx1Yzc3NFx1Yjk4NFx1YWNmYyBcdWM5MTFcdWJjZjVcdWI0MThcdWM5YzAgXHVjNTRhXHViM2M0XHViODVkIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjY2FiXHVjOWY4LCBcdWFjMDFcdWFjMDFcdWM3NTggXHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1YjI5NCZuYnNwO1x1YjQ1MCBcdWM5MDQmbmJzcDtcdWM1NDhcdWM1ZDAgXHVjODE1XHVjNzU4IFx1YjQxOFx1YjNjNFx1Yjg1ZCBcdWQ1NWNcdWIyZTQuIDombmJzcDtcdWI0NTAgXHVjOTA0IFx1YzkxMSwgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjNWYwXHVjMGIwXHVjNzkwXHVjNzU4IFx1Yzc3NFx1Yjk4NFx1Yzc0NCBcdWM3ODVcdWI4MjUgXHViYzFiXHViMjk0XHViMmU0OyZuYnNwO1x1YjQ1MCBcdWJjODggXHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCB0cnVlXC9mYWxzZSBcdWQ1NmRcdWJhYTlcdWM3NDQgXHViNDUwIFx1YmM4OCBcdWM3ODVcdWI4MjUgXHViYzFiXHViMjk0XHViMmU0LiBcdWM3NzRcdWIyOTQgXHVjOWM0XHViOWFjXHVkNDVjXHViOTdjIFx1YzgxNVx1Yzc1OFx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjODE1XHVjNzU4XHViOTdjIFx1YjljOFx1Y2U1YyBcdWM3NzRcdWQ2YzRcdWM1ZDAsIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWM3NzRcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwXHViMjk0IFx1YzEzOCBcdWM5MDQgXHVjNTQ4XHVjNWQwIFx1YzgxNVx1Yzc1OCBcdWI0MThcdWIzYzRcdWI4NWQgXHVkNTVjXHViMmU0LiA6Jm5ic3A7XHVjMTM4IFx1YzkwNCBcdWM5MTEgXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVjNWYwXHVjMGIwXHVjNzkwXHVjNzU4IFx1Yzc3NFx1Yjk4NFx1Yzc0NCBcdWM3ODVcdWI4MjVcdWJjMWJcdWIyOTRcdWIyZTQ7Jm5ic3A7XHViNDUwIFx1YmM4OFx1YzlmOCwgXHVjMTM4IFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDBcdWIyOTQgdHJ1ZVwvZmFsc2UgXHVkNTZkXHViYWE5XHVjNzQ0IFx1YWMwMVx1YWMwMSBcdWI0NTAgXHViYzg4IFx1YzUyOSBcdWM3ODVcdWI4MjUgXHViYzFiXHViMjk0XHViMmU0LiBcdWM3NzQgXHViNDUwIFx1YzkwNFx1Yzc0MCBcdWM3NzRcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwXHVjNzU4IFx1YzljNFx1YjlhY1x1ZDQ1Y1x1Yjk3YyBcdWM4MTVcdWM3NTggXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNWYwXHVjMGIwXHVjNzkwIFx1ZDQ1YyBcdWM3NzRcdWQ2YzRcdWM1ZDBcdWIyOTQgXHVjNzA0XHVjNzU4IFx1YmIzOFx1YmM5NVx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHVjNzIwXHVkNmE4XHVkNTVjIFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc0NCBcdWM3ODVcdWI4MjUgXHViYzFiXHViMjk0XHViMmU0LiBcdWJjYzBcdWMyMThcdWI0ZTRcdWM3NDAgXHVkNTU4XHViMDk4IFx1Yzc3NFx1YzBjMVx1Yzc1OCZuYnNwO1x1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHViMTdjXHViOWFjIFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yjg1Y1x1YmQ4MFx1ZDEzMCBcdWFkNmNcdWJkODQmbmJzcDtcdWI0MjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHVhZDA0XHVkNjM4XHViMjk0IFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWMyZGRcdWM3NTggXHVjNmQwXHVjMThjXHViNGU0XHViODVjXHViZDgwXHVkMTMwIFx1YWNmNVx1YmMzMVx1YmIzOFx1Yzc5MFx1Yjk3YyBcdWM3NzRcdWM2YTlcdWQ1NzQgXHViZDg0XHViOWFjXHViNDIwIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWFjZTAgXHVjNTQ0XHViMmQwIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWIyZTQuIFx1YjJmOVx1YzJlMFx1Yzc0MCBcdWQ1NThcdWIwOThcdWM3NTggXHVjMmRkIFx1YzU0OFx1YzVkMFx1YzExYyBcdWQ1NWNcdWJjODggXHVjNzc0XHVjMGMxIFx1YjA5OFx1YzYyNFx1YjI5NCBcdWJjYzBcdWMyMThcdWFjMDAgXHVjNWM2XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU2MFx1YzljMFx1YjNjNCBcdWJhYThcdWI5NzhcdWIyZTQuIFx1YWRmOCBcdWMyZGRcdWM3NDAgXHVjZDVjXHVjMThjIDFcdWM1ZDBcdWMxMWMgNTAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTQgXHViYjM4XHVjNzkwXHViNGU0XHViODVjIFx1YWQ2Y1x1YzEzMVx1YjQxOFx1YzViNCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzJkZCBcdWM3NzRcdWQ2YzRcdWM3NTggXHVjOTA0KGxpbmVzLCAwXHVhYzFjIFx1Yzc3NFx1YzBjMVx1Yzc1OCBcdWM5MDQpXHVjNWQwXHVjMTFjXHViMjk0IFx1YmNjMFx1YzIxOFx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVkNDVjXHViODVjIFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWM5MDRcdWM3NDAgXHViNDUwIFx1YWMwMFx1YzljMCBcdWQ2MTVcdWQwZGMgXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yjk3YyBcdWFjMTZcdWIyOTRcdWIyZTQuIDo8XC9wPlxyXG5cclxuPHByZT5cclxuJmx0O3ZhcmlhYmxlJmd0OyB0cnVlXHJcbiZsdDt2YXJpYWJsZSZndDsgZmFsc2U8XC9wcmU+XHJcblxyXG48cD5cdWFkZjggXHVkNDVjXHVjNWQwXHVjMTFjIFx1YmNjMFx1YzIxOFx1YjI5NCBcdWQ1NThcdWIwOTggXHVjNzc0XHVjMGMxIFx1YjA5OFx1ZDBjMFx1YjA5OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMSB0ZXN0IGNhc2VcdWM3NTggXHViMDVkXHVjNzQwICZsc3F1bzsqJnJzcXVvO1x1Yjg1YyBcdWQ0NWNcdWMyZGNcdWI0MWNcdWIyZTQuIFx1YjQ1MCBcdWFjMWNcdWM3NTggXHVjNzRjXHVjNzU4IFx1YzgxNVx1YzIxOFx1Yjk3YyBcdWM3ODVcdWI4MjVcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzNjXHViODVjIFx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWIwNWRcdWM3NDQgXHVkNDVjXHVjMmRjXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVhYzAxIHRlc3QgY2FzZVx1Yzc1OCBcdWNkOWNcdWI4MjVcdWM3NDQgXHVkNTVjIFx1YzkwNFx1YzUyOSBcdWQ0NWNcdWMyZGNcdWQ1NWNcdWIyZTQuIGNhc2UgXHViYzg4XHVkNjM4XHViOTdjIFx1ZDQ1Y1x1YzJkY1x1ZDU1Y1x1YjJlNC4gXHVhZGY4IFx1Yzc3NFx1ZDZjNFx1YzVkMCBcdWJiMzhcdWM3OTAgPHN0cm9uZz50cnVlLCBmYWxzZSwgdW5rbm93bjxcL3N0cm9uZz4mbmJzcDtcdWM5MTEgXHVkNTU4XHViMDk4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC47IFx1YzcwNFx1Yzc1OCBcdWMxMjRcdWJhODVcdWIzMDBcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YzJkZFx1YzVkMCBcdWM4MDFcdWQ1NjlcdWQ1NWMgXHVhYzgzXHVjNzc0IFx1Y2Q5Y1x1YjgyNVx1YjQyOC48XC9wPlxyXG5cclxuPHA+XHVjZDljXHViODI1IFx1ZDNlY1x1YjlmN1x1Yzc0MCBcdWM2MDhcdWM4MWMgXHVjZDljXHViODI1XHVjNzQ0IFx1ZDFiNVx1ZDU3NCBcdWQ2NTVcdWM3NzhcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIxOTAxIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiRXZhbHVhdGluZyBMb2dpYyBFeHByZXNzaW9ucyIsImRlc2NyaXB0aW9uIjoiPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvcHJvYmxlbVwvMTkwMVwvMS5naWZcIiBzdHlsZT1cImZsb2F0OnJpZ2h0OyBoZWlnaHQ6MTIycHg7IHdpZHRoOjI0N3B4XCIgXC8+TG9naWMgZXhwcmVzc2lvbnMgb2NjdXIgZnJlcXVlbnRseSBpbiBjb21wdXRlciBwcm9ncmFtcy4gVGhlIGVsZW1lbnRzIG9mIGxvZ2ljIGV4cHJlc3Npb25zIGFyZTo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT52YXJpYWJsZXMsIHdoaWNoIG1heSBoYXZlIHRoZSB2YWx1ZXMgdHJ1ZSBvciBmYWxzZTxcL2xpPlxyXG5cdDxsaT51bmFyeSBhbmQgYmluYXJ5IGxvZ2ljIG9wZXJhdG9yczxcL2xpPlxyXG5cdDxsaT5wYXJlbnRoZXNlcyB3aGljaCBtYXkgYWZmZWN0IHRoZSBvcmRlciBpbiB3aGljaCB0aGUgb3BlcmF0aW9ucyBhcmUgY2FycmllZCBvdXQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5VbmFyeSBvcGVyYXRvcnMgb3BlcmF0ZSBvbiBvbmUgdmFyaWFibGUsIHdoZXJlYXMgYmluYXJ5IG9wZXJhdG9ycyBvcGVyYXRlIG9uIHR3byB2YXJpYWJsZXMuIEEgY29tbW9uIHVuYXJ5IGxvZ2ljIG9wZXJhdG9yIGlzIE5PVDsgc29tZSBjb21tb24gYmluYXJ5IGxvZ2ljIG9wZXJhdG9ycyBhcmUgQU5ELCBPUiwgWE9SLCBOQU5EIGFuZCBOT1IuPFwvcD5cclxuXHJcbjxwPkEgbG9naWMgb3BlcmF0b3IgY2FuIGJlIGRlZmluZWQgYnkgYSAmIzM5O3RydXRoIHRhYmxlJiMzOTsgKG9uZS1kaW1lbnNpb25hbCBmb3IgdW5hcnkgb3BlcmF0b3JzLCB0d28tZGltZW5zaW9uYWwgZm9yIGJpbmFyeSBvcGVyYXRvcnMpLiBGb3IgZXhhbXBsZXMsIHNlZSB0aGUgZGlhZ3JhbS48XC9wPlxyXG5cclxuPHA+PGltZyBhbHQ9XCJcIiBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvcHJvYmxlbVwvMTkwMVwvMi5qcGdcIiBcLz48XC9wPlxyXG5cclxuPHA+Tm90ZSB0aGF0IGZhbHNlIGNvbWVzIGJlZm9yZSB0cnVlIGluIHRoZSBoZWFkZXIgYWNyb3NzIHRoZSB0b3AgKGZvciB1bmFyeSBvciB0aGUgcmlnaHQgb3BlcmFuZCBvZiBiaW5hcnkgb3BlcmF0b3JzKSwgYXMgd2VsbCBhcyBvbiB0aGUgbGVmdCBtYXJnaW4gKGZvciB0aGUgbGVmdCBvcGVyYW5kIG9mIGJpbmFyeSBvcGVyYXRvcnMpLjxcL3A+XHJcblxyXG48cD5Ud28gZXhhbXBsZXMgb2YgbG9naWMgZXhwcmVzc2lvbnMgYXJlOjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPih4IEFORCAoTk9UKHkgTkFORCB6KSkpPFwvbGk+XHJcblx0PGxpPih4IE9SICgoTk9UIHkpIFhPUiB6KSk8XC9saT5cclxuPFwvb2w+XHJcblxyXG48cD5Gb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgcHJvYmxlbSwgdGhlIHByZWNpc2Ugc3RydWN0dXJlIG9mIGEgbG9naWMgZXhwcmVzc2lvbiBpcyBkZWZpbmVkIGJ5IHRoZSBncmFtbWFyOjxcL3A+XHJcblxyXG48cHJlPlxyXG4mbHQ7ZXhwcmVzc2lvbiZndDsgPSAmbHQ7dmFyaWFibGUmZ3Q7IHwgKCAmbHQ7ZXhwcmVzc2lvbiZndDsgJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDsgKSB8ICggJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDspXHJcbiZsdDt2YXJpYWJsZSZndDsgPSAmbHQ7bG93ZXJjYXNlX2xldHRlciZndDtcclxuJmx0O29wZXJhdG9yJmd0OyA9ICZsdDt1cHBlcmNhc2VfbGV0dGVyJmd0OyB8ICZsdDtvcGVyYXRvciZndDsgJmx0O3VwcGVyY2FzZV9sZXR0ZXImZ3Q7PFwvcHJlPlxyXG5cclxuPHA+KEhlcmUgdGhlIHZlcnRpY2FsIGJhciAmIzM5O3wmIzM5OyBpcyBwcm9ub3VuY2VkICYjMzk7b3ImIzM5OyBhbmQgaXMgdXNlZCB0byBkZWZpbmUgdGhlIGdyYW1tYXI7IGl0IGRvZXMgbm90IGFjdHVhbGx5IHNob3cgdXAgaW4gdGhlIGV4cHJlc3Npb24uKSAmbHQ7bG93ZXJjYXNlX2xldHRlciZndDsgYW5kICZsdDt1cHBlcmNhc2VfbGV0dGVyJmd0OyBoYXZlIHRoZWlyIHVzdWFsIG1lYW5pbmdzLjxcL3A+XHJcblxyXG48cD5JbiBzb21lIGNhc2VzLCBpdCBpcyBwb3NzaWJsZSB0byBldmFsdWF0ZSBhIGxvZ2ljIGV4cHJlc3Npb24gZXZlbiB3aGVuIG5vdCBhbGwgb2YgdGhlIHZhcmlhYmxlcyBoYXZlIGJlZW4gYXNzaWduZWQgdmFsdWVzLiBDb25zaWRlciBFeGFtcGxlICgxKSBhYm92ZSwgYW5kIHN1cHBvc2UgdGhhdCB5ID0gZmFsc2UsIGJ1dCB0aGUgdmFsdWVzIG9mIHggYW5kIHogYXJlIG5vdCBrbm93bi4gSXQgY2FuIGJlIHNlZW4gdGhhdCB0aGUgZ2l2ZW4gZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gZmFsc2UgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWVzIG9mIHRoZSB1bmFzc2lnbmVkIHZhcmlhYmxlcy4gT24gdGhlIG90aGVyIGhhbmQsIHN1cHBvc2UgdGhhdCwgaW4gdGhlIHNhbWUgRXhhbXBsZSAoMSksIHggPSB0cnVlLCB5ID0gdHJ1ZSwgYW5kIHogaXMgdW5rbm93bi4gaXQgaXMgbm90IHBvc3NpYmxlIHRvIGRldGVybWluZSB0aGUgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24gd2l0aG91dCBrbm93aW5nIHRoZSB2YWx1ZSBvZiB6LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGlucHV0IHdpbGwgY29udGFpbiBkYXRhIGZvciBvbmUgb3IgbW9yZSB0ZXN0IGNhc2VzLiBGb3IgZWFjaCB0ZXN0IGNhc2UsIHRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IHdpbGwgY29udGFpbiB0d28gbm9uLW5lZ2F0aXZlIGludGVnZXJzIChub3QgZXhjZWVkaW5nIDEwMCksIHRoZSBudW1iZXIgb2YgdW5hcnkgb3BlcmF0b3JzIGFuZCB0aGUgbnVtYmVyIG9mIGJpbmFyeSBvcGVyYXRvcnMgdG8gYmUgY29uc2lkZXJlZCBmb3IgdGhhdCBjYXNlLiBUaGUgZmlyc3QgbGluZSB3aWxsIGJlIGZvbGxvd2VkIGJ5IHNldmVyYWwgbGluZXMgdGhhdCB3aWxsIG5hbWUgZWFjaCBvcGVyYXRvciBhbmQgZGVmaW5lIGl0IGluIHRoZSBmb3JtIG9mIGEgdHJ1dGggdGFibGUsIGFzIGRlc2NyaWJlZCBpbiB0aGUgbmV4dCB0d28gcGFyYWdyYXBocy4gVGhlIG5hbWVzIG9mIHRoZSBvcGVyYXRvcnMgZG8gbm90IGV4Y2VlZCAyMCBjaGFyYWN0ZXJzIGFuZCBhcmUgdW5pcXVlIGZvciBlYWNoIG9wZXJhdG9yLjxcL3A+XHJcblxyXG48cD5GaXJzdCwgZWFjaCB1bmFyeSBvcGVyYXRvciB3aWxsIGJlIGRlZmluZWQgaW4gdHdvIGxpbmVzIG9mIGlucHV0OiB0aGUgZmlyc3Qgb2YgdGhlc2UgdHdvIGxpbmVzIHdpbGwgY29udGFpbiB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0b3I7IHRoZSBzZWNvbmQgbGluZSB3aWxsIGNvbnRhaW4gdHdvIHRydWUgXC8gZmFsc2UgZW50cmllcyB0aGF0IGRlZmluZSB0aGUgdGFibGUgZm9yIHRoZSB1bmFyeSBvcGVyYXRvciwgd2l0aG91dCB0aGUgaW1wbGllZCBjb2x1bW4gaGVhZGVycyBhY3Jvc3MgdGhlIHRvcC48XC9wPlxyXG5cclxuPHA+QWZ0ZXIgdGhlIHVuYXJ5IG9wZXJhdG9ycyBoYXZlIGJlZW4gZGVmaW5lZCwgZWFjaCBiaW5hcnkgb3BlcmF0b3Igd2lsbCBiZSBkZWZpbmVkIGluIHRocmVlIGxpbmVzIG9mIGlucHV0OiB0aGUgZmlyc3Qgb2YgdGhlc2UgdGhyZWUgbGluZXMgd2lsbCBjb250YWluIHRoZSBuYW1lIG9mIHRoZSBvcGVyYXRvcjsgdGhlIHNlY29uZCBhbmQgdGhpcmQgbGluZXMgd2lsbCBlYWNoIGNvbnRhaW4gdHdvIHRydWUgXC8gZmFsc2UgZW50cmllcy4gVGhlc2UgdHdvIGxpbmVzIGRlZmluZSB0aGUgdGFibGUgZm9yIHRoZSBiaW5hcnkgb3BlcmF0b3IsIHdpdGhvdXQgdGhlIGltcGxpZWQgY29sdW1uIGhlYWRlcnMgYWNyb3NzIHRoZSB0b3AgYW5kIHJvdyBoZWFkZXJzIG9uIHRoZSBsZWZ0IG1hcmdpbi48XC9wPlxyXG5cclxuPHA+VGhlIG9wZXJhdG9yIHRhYmxlcyB3aWxsIGJlIGZvbGxvd2VkIGJ5IGEgbGluZSBjb250YWluaW5nIGEgdmFsaWQgbG9naWMgZXhwcmVzc2lvbiBzYXRpc2Z5aW5nIHRoZSBhYm92ZSBncmFtbWFyLiBWYXJpYWJsZXMgd2lsbCBiZSBzZXBhcmF0ZWQgZnJvbSBhZGphY2VudCBsb2dpYyBvcGVyYXRvcnMgYnkgb25lIG9yIG1vcmUgYmxhbmsgc3BhY2VzLiBQYXJlbnRoZXNlcyBtYXkgb3IgbWF5IG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBhZGphY2VudCBlbGVtZW50cyBvZiB0aGUgZXhwcmVzc2lvbiBieSBibGFuayBzcGFjZXMuIFlvdSBtYXkgYXNzdW1lIHRoYXQgbm8gdmFyaWFibGUgd2lsbCBvY2N1ciBtb3JlIHRoYW4gb25jZSBpbiBhbiBleHByZXNzaW9uLiBUaGUgZXhwcmVzc2lvbiB3aWxsIGNvbnNpc3Qgb2YgYXQgbGVhc3QgMSBidXQgbm90IG1vcmUgdGhhbiA1MDAgY2hhcmFjdGVycy48XC9wPlxyXG5cclxuPHA+VGhlIGV4cHJlc3Npb24gd2lsbCBiZSBmb2xsb3dlZCBieSB6ZXJvIG9yIG1vcmUgbGluZXMgdGhhdCBjb21wcmlzZSBhIHRhYmxlIG9mIHZhbHVlcy4gRWFjaCBvZiB0aGVzZSBsaW5lcyB3aWxsIGhhdmUgb25lIG9mIHRoZSB0d28gZm9ybXM6PFwvcD5cclxuXHJcbjxwcmU+XHJcbiZsdDt2YXJpYWJsZSZndDsgdHJ1ZVxyXG4mbHQ7dmFyaWFibGUmZ3Q7IGZhbHNlPFwvcHJlPlxyXG5cclxuPHA+Tm8gdmFyaWFibGUgd2lsbCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHRhYmxlLjxcL3A+XHJcblxyXG48cD5UaGUgZW5kIG9mIGVhY2ggdGVzdCBjYXNlIHdpbGwgYmUgbWFya2VkIGJ5IGEgbGluZSBjb250YWluaW5nIGEgc2luZ2xlIGFzdGVyaXNrLiBFbmQgb2YgaW5wdXQgd2lsbCBiZSBtYXJrZWQgYnkgYSBsaW5lIGNvbnRhaW5pbmcgdHdvIG5lZ2F0aXZlIGludGVnZXJzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHRlc3QgY2FzZSB0aGVyZSB3aWxsIGJlIG9uZSBsaW5lIG9mIG91dHB1dC4gVGhlIGNhc2UgbnVtYmVyIHdpbGwgYmUgcHJpbnRlZCBpbiB0aGUgZm9ybWF0IG9mIHRoZSBzYW1wbGUgb3V0cHV0LjxcL3A+XHJcblxyXG48cD5JdCB3aWxsIGJlIGZvbGxvd2VkIGJ5IG9uZSBvZiB0aGUgd29yZHM6IHRydWUsIGZhbHNlLCBvciB1bmtub3duOyB3aGljaGV2ZXIgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBnaXZlbiBleHByZXNzaW9uLCBhcyBleHBsYWluZWQgYWJvdmUuPFwvcD5cclxuXHJcbjxwPlRoZSBvdXRwdXQgZm9ybWF0IGlzIGlsbHVzdHJhdGVkIGluIHRoZSBzYW1wbGUgb3V0cHV0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==