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

문제

칼리가 살던 곳의 문명은 우리의 문명과는 다르지만 그 곳도 정부, 기업, 기술을 가지고 있었다. 가장 큰 차이는 세율이 어떻게 결정되는지였는데, 그들은 흥정하는 것을 좋아했기 때문에 세율도 흥정으로 결정하였다. 

세금 계약을 작성할 때, 정부 관료들과 흥정하기 위해 수도로 가야한다. 계약에는 시작일, 만기일, 세율에 관한 내용이 있다. (부기 때문에 만기일은 항상 마지막달의 15일이다.) 계약 마지막 달과 새 계약이 시작하기 전 동안의 짧은 세금이 없는 기간을 즐기는 것은 칼리 가족의 전통이다. 이 기간 역시 흥정을 할 때이기도 하다.

칼리가 살던 곳은 매우 번영하고 인구가 많아서 정부 관료들은 업무가 매우 많았다. 세금 흥정 거래가 성사되면 관료들은 속기로 써서 일이 진행될 수 있도록 전달한다. 이 속기 노트를 컴퓨터로 입력하려면 XML 형식으로 전환되야 한다. 때때로 노트가 완성된 게 아니라 세금 계약을 하러 다시 수도로 사람이 불려오기도 했다. 이 일련의 과정은 굉장히 비효율적이지만 이 방식은 이 곳 사람들이 하던 방식이고, 그 방법을 바꿀 생각이 없다.

노트를 XML 형식으로 바꾸는 프로그램을 작성하시오.

입력

입력은 여러개의 데이터 세트로 구성되어 있으며, 각 세트는 한 줄로 구성되어 있다.

각 줄은 3개의 정보로 구성되어 있다.

1. 세율

- 세율은 숫자 뒤에 %가 붙어있다. (예 5%)

- 소수점이 없다.

- 세율은 분수가 될 수 있지만 분모는 2,4,8 중에 하나이다.

- 세율은 분자가 분모보다 작다.

2. 계약 종료 날짜

- 계약이 끝나는 달과 연도의 두자리로 들어온다. 두 숫자는 붙어서 들어오거나 하이픈으로 연결되어 있다.

(예 12-05 또는 1205는 05년 12월 15일을 뜻한다.)

3. 계약 시작 날짜

- 종료 날짜와 마찬가지 형식이며, 현재 날짜보다 이후로 간주한다.

3개의 정보는 0개 이상의 공백으로 구분되어 있다.

달력은 우리와 같이 12개의 달로 구성되어 있지만, 모든 달은 31일까지 있다.

최고 세율은 99.875%이다.

출력

각 데이터 세트에 대해 들여쓰기를 올바르게 한 XML을 출력한다. (들여쓰기 하나는 4개의 공백)

<Kalii Index=N>

<startdate><start date)</startdate>

<rate>(tax rate)</rate>

<enddate>(end date)</enddate>

</Kalii>

N은 데이터 세트 번호이며, (start date)는 시작일, (tax rate)는 세율, (end date)는 종료일을 뜻한다.

데이터가 잘못되었거나 모호하여 출력할 수 없으면

<Kalii Index=N>BAD INPUT</Kalii> 라고 출력한다. (N은 데이터 세트 번호)

시작일은 DDMMMYY 형태이며, 종료일은 15MMMYY이다.

DD는 01-31, MMM은 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC로 구성되어 있다. YY는 00-99로 구성되어 있다.

세율은 소수점 3자리까지 정확해야 한다.

예제 입력 1

25/850812-31
6%     02110122
6.75% 2-11 4-23

예제 출력 1

<Kalii Index=1>
    <startdate>31DEC03</startdate>
    <rate>2.625</rate>
    <enddate>15MAY08</enddate>
</Kalii>
<Kalii Index=2>
    <startdate>22JAN04</startdate>
    <rate>6.000</rate>
    <enddate>15FEB11</enddate>
</Kalii>
<Kalii Index=3>BAD DATA</Kalii>

힌트

W3sicHJvYmxlbV9pZCI6IjI3NjgiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWMxMzhcdWFlMDggXHVhY2M0XHVjMGIwIiwiZGVzY3JpcHRpb24iOiI8cD5cclxuXHRcdWNlN2NcdWI5YWNcdWFjMDAgXHVjMGI0XHViMzU4IFx1YWNmM1x1Yzc1OCBcdWJiMzhcdWJhODVcdWM3NDAgXHVjNmIwXHViOWFjXHVjNzU4IFx1YmIzOFx1YmE4NVx1YWNmY1x1YjI5NCBcdWIyZTRcdWI5NzRcdWM5YzBcdWI5Y2MgXHVhZGY4IFx1YWNmM1x1YjNjNCBcdWM4MTVcdWJkODAsIFx1YWUzMFx1YzVjNSwgXHVhZTMwXHVjMjIwXHVjNzQ0IFx1YWMwMFx1YzljMFx1YWNlMCBcdWM3ODhcdWM1YzhcdWIyZTQuIFx1YWMwMFx1YzdhNSBcdWQwNzAgXHVjYzI4XHVjNzc0XHViMjk0IFx1YzEzOFx1YzcyOFx1Yzc3NCBcdWM1YjRcdWI1YmJcdWFjOGMgXHVhY2IwXHVjODE1XHViNDE4XHViMjk0XHVjOWMwXHVjNjAwXHViMjk0XHViMzcwLCBcdWFkZjhcdWI0ZTRcdWM3NDAgXHVkNzY1XHVjODE1XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc0NCBcdWM4OGJcdWM1NDRcdWQ1ODhcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwIFx1YzEzOFx1YzcyOFx1YjNjNCBcdWQ3NjVcdWM4MTVcdWM3M2NcdWI4NWMgXHVhY2IwXHVjODE1XHVkNTU4XHVjNjAwXHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cclxuXHRcdWMxMzhcdWFlMDggXHVhY2M0XHVjNTdkXHVjNzQ0IFx1Yzc5MVx1YzEzMVx1ZDU2MCBcdWI1NGMsIFx1YzgxNVx1YmQ4MCBcdWFkMDBcdWI4Y2NcdWI0ZTRcdWFjZmMgXHVkNzY1XHVjODE1XHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWMyMThcdWIzYzRcdWI4NWMgXHVhYzAwXHVjNTdjXHVkNTVjXHViMmU0LiBcdWFjYzRcdWM1N2RcdWM1ZDBcdWIyOTQgXHVjMmRjXHVjNzkxXHVjNzdjLCBcdWI5Y2NcdWFlMzBcdWM3N2MsIFx1YzEzOFx1YzcyOFx1YzVkMCBcdWFkMDBcdWQ1NWMgXHViMGI0XHVjNmE5XHVjNzc0IFx1Yzc4OFx1YjJlNC4gKFx1YmQ4MFx1YWUzMCBcdWI1NGNcdWJiMzhcdWM1ZDAgXHViOWNjXHVhZTMwXHVjNzdjXHVjNzQwIFx1ZDU2ZFx1YzBjMSBcdWI5YzhcdWM5YzBcdWI5YzlcdWIyZWNcdWM3NTggMTVcdWM3N2NcdWM3NzRcdWIyZTQuKSBcdWFjYzRcdWM1N2QgXHViOWM4XHVjOWMwXHViOWM5IFx1YjJlY1x1YWNmYyBcdWMwYzggXHVhY2M0XHVjNTdkXHVjNzc0IFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YWUzMCBcdWM4MDQgXHViM2Q5XHVjNTQ4XHVjNzU4IFx1YzllN1x1Yzc0MCBcdWMxMzhcdWFlMDhcdWM3NzQgXHVjNWM2XHViMjk0IFx1YWUzMFx1YWMwNFx1Yzc0NCBcdWM5OTBcdWFlMzBcdWIyOTQgXHVhYzgzXHVjNzQwIFx1Y2U3Y1x1YjlhYyBcdWFjMDBcdWM4NzFcdWM3NTggXHVjODA0XHVkMWI1XHVjNzc0XHViMmU0LiBcdWM3NzQgXHVhZTMwXHVhYzA0IFx1YzVlZFx1YzJkYyBcdWQ3NjVcdWM4MTVcdWM3NDQgXHVkNTYwIFx1YjU0Y1x1Yzc3NFx1YWUzMFx1YjNjNCBcdWQ1NThcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1Y2U3Y1x1YjlhY1x1YWMwMCBcdWMwYjRcdWIzNTggXHVhY2YzXHVjNzQwIFx1YjllNFx1YzZiMCBcdWJjODhcdWM2MDFcdWQ1NThcdWFjZTAgXHVjNzc4XHVhZDZjXHVhYzAwIFx1YjljZVx1YzU0NFx1YzExYyBcdWM4MTVcdWJkODAgXHVhZDAwXHViOGNjXHViNGU0XHVjNzQwIFx1YzVjNVx1YmIzNFx1YWMwMCBcdWI5ZTRcdWM2YjAgXHViOWNlXHVjNTU4XHViMmU0LiBcdWMxMzhcdWFlMDggXHVkNzY1XHVjODE1IFx1YWM3MFx1Yjc5OFx1YWMwMCBcdWMxMzFcdWMwYWNcdWI0MThcdWJhNzQgXHVhZDAwXHViOGNjXHViNGU0XHVjNzQwIFx1YzE4ZFx1YWUzMFx1Yjg1YyBcdWMzNjhcdWMxMWMgXHVjNzdjXHVjNzc0IFx1YzljNFx1ZDU4OVx1YjQyMCBcdWMyMTggXHVjNzg4XHViM2M0XHViODVkIFx1YzgwNFx1YjJlY1x1ZDU1Y1x1YjJlNC4gXHVjNzc0IFx1YzE4ZFx1YWUzMCBcdWIxNzhcdWQyYjhcdWI5N2MgXHVjZWY0XHVkNGU4XHVkMTMwXHViODVjIFx1Yzc4NVx1YjgyNVx1ZDU1OFx1YjgyNFx1YmE3NCBYTUwgXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1YzgwNFx1ZDY1OFx1YjQxOFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1YjU0Y1x1YjU0Y1x1Yjg1YyBcdWIxNzhcdWQyYjhcdWFjMDAgXHVjNjQ0XHVjMTMxXHViNDFjIFx1YWM4YyBcdWM1NDRcdWIyYzhcdWI3N2MgXHVjMTM4XHVhZTA4IFx1YWNjNFx1YzU3ZFx1Yzc0NCBcdWQ1NThcdWI3ZWMgXHViMmU0XHVjMmRjIFx1YzIxOFx1YjNjNFx1Yjg1YyBcdWMwYWNcdWI3OGNcdWM3NzQgXHViZDg4XHViODI0XHVjNjI0XHVhZTMwXHViM2M0IFx1ZDU4OFx1YjJlNC4gXHVjNzc0IFx1Yzc3Y1x1YjgyOFx1Yzc1OCBcdWFjZmNcdWM4MTVcdWM3NDAgXHVhZDQ5XHVjN2E1XHVkNzg4IFx1YmU0NFx1ZDZhOFx1YzcyOFx1YzgwMVx1Yzc3NFx1YzljMFx1YjljYyBcdWM3NzQgXHViYzI5XHVjMmRkXHVjNzQwIFx1Yzc3NCBcdWFjZjMgXHVjMGFjXHViNzhjXHViNGU0XHVjNzc0IFx1ZDU1OFx1YjM1OCBcdWJjMjlcdWMyZGRcdWM3NzRcdWFjZTAsIFx1YWRmOCBcdWJjMjlcdWJjOTVcdWM3NDQgXHViYzE0XHVhZmMwIFx1YzBkZFx1YWMwMVx1Yzc3NCBcdWM1YzZcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdFx1YjE3OFx1ZDJiOFx1Yjk3YyBYTUwgXHVkNjE1XHVjMmRkXHVjNzNjXHViODVjIFx1YmMxNFx1YWZiOFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG4iLCJpbnB1dCI6IjxwPlxyXG5cdFx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWNcdWFjMWNcdWM3NTggXHViMzcwXHVjNzc0XHVkMTMwIFx1YzEzOFx1ZDJiOFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MThcdWM1YjQgXHVjNzg4XHVjNzNjXHViYTcwLCBcdWFjMDEgXHVjMTM4XHVkMmI4XHViMjk0IFx1ZDU1YyBcdWM5MDRcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHJcblx0XHVhYzAxIFx1YzkwNFx1Yzc0MCAzXHVhYzFjXHVjNzU4IFx1YzgxNVx1YmNmNFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHQxLiBcdWMxMzhcdWM3Mjg8XC9wPlxyXG48cD5cclxuXHQtIFx1YzEzOFx1YzcyOFx1Yzc0MCBcdWMyMmJcdWM3OTAgXHViNGE0XHVjNWQwICVcdWFjMDAgXHViZDk5XHVjNWI0XHVjNzg4XHViMmU0LiAoXHVjNjA4IDUlKTxcL3A+XHJcbjxwPlxyXG5cdC0gXHVjMThjXHVjMjE4XHVjODEwXHVjNzc0IFx1YzVjNlx1YjJlNC48XC9wPlxyXG48cD5cclxuXHQtIFx1YzEzOFx1YzcyOFx1Yzc0MCBcdWJkODRcdWMyMThcdWFjMDAgXHViNDIwIFx1YzIxOCBcdWM3ODhcdWM5YzBcdWI5Y2MgXHViZDg0XHViYWE4XHViMjk0IDIsNCw4IFx1YzkxMVx1YzVkMCBcdWQ1NThcdWIwOThcdWM3NzRcdWIyZTQuPFwvcD5cclxuPHA+XHJcblx0LSBcdWMxMzhcdWM3MjhcdWM3NDAgXHViZDg0XHVjNzkwXHVhYzAwIFx1YmQ4NFx1YmFhOFx1YmNmNFx1YjJlNCBcdWM3OTFcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlxyXG5cdDIuIFx1YWNjNFx1YzU3ZCBcdWM4ODVcdWI4Y2MgXHViMGEwXHVjOWRjPFwvcD5cclxuPHA+XHJcblx0LSBcdWFjYzRcdWM1N2RcdWM3NzQgXHViMDVkXHViMDk4XHViMjk0IFx1YjJlY1x1YWNmYyBcdWM1ZjBcdWIzYzRcdWM3NTggXHViNDUwXHVjNzkwXHViOWFjXHViODVjIFx1YjRlNFx1YzViNFx1YzYyOFx1YjJlNC4gXHViNDUwIFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWJkOTlcdWM1YjRcdWMxMWMgXHViNGU0XHVjNWI0XHVjNjI0XHVhYzcwXHViMDk4IFx1ZDU1OFx1Yzc3NFx1ZDUwOFx1YzczY1x1Yjg1YyBcdWM1ZjBcdWFjYjBcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0LjxcL3A+XHJcbjxwPlxyXG5cdChcdWM2MDggMTItMDUgXHViNjEwXHViMjk0IDEyMDVcdWIyOTQgMDVcdWIxNDQgMTJcdWM2ZDQgMTVcdWM3N2NcdWM3NDQgXHViNzNiXHVkNTVjXHViMmU0Lik8XC9wPlxyXG5cclxuPHA+XHJcblx0My4gXHVhY2M0XHVjNTdkIFx1YzJkY1x1Yzc5MSBcdWIwYTBcdWM5ZGM8XC9wPlxyXG48cD5cclxuXHQtIFx1Yzg4NVx1YjhjYyBcdWIwYTBcdWM5ZGNcdWM2NDAgXHViOWM4XHVjYzJjXHVhYzAwXHVjOWMwIFx1ZDYxNVx1YzJkZFx1Yzc3NFx1YmE3MCwgXHVkNjA0XHVjN2FjIFx1YjBhMFx1YzlkY1x1YmNmNFx1YjJlNCBcdWM3NzRcdWQ2YzRcdWI4NWMgXHVhYzA0XHVjOGZjXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cclxuXHQzXHVhYzFjXHVjNzU4IFx1YzgxNVx1YmNmNFx1YjI5NCAwXHVhYzFjIFx1Yzc3NFx1YzBjMVx1Yzc1OCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG48cD5cclxuXHRcdWIyZWNcdWI4MjVcdWM3NDAgXHVjNmIwXHViOWFjXHVjNjQwIFx1YWMxOVx1Yzc3NCAxMlx1YWMxY1x1Yzc1OCBcdWIyZWNcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YzljMFx1YjljYywgXHViYWE4XHViNGUwIFx1YjJlY1x1Yzc0MCAzMVx1Yzc3Y1x1YWU0Y1x1YzljMCBcdWM3ODhcdWIyZTQuPFwvcD5cclxuPHA+XHJcblx0XHVjZDVjXHVhY2UwIFx1YzEzOFx1YzcyOFx1Yzc0MCA5OS44NzUlXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IlxyXG48cD5cclxuXHRcdWFjMDEgXHViMzcwXHVjNzc0XHVkMTMwIFx1YzEzOFx1ZDJiOFx1YzVkMCBcdWIzMDBcdWQ1NzQgXHViNGU0XHVjNWVjXHVjNGYwXHVhZTMwXHViOTdjIFx1YzYyY1x1YmMxNFx1Yjk3NFx1YWM4YyBcdWQ1NWMgWE1MXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gKFx1YjRlNFx1YzVlY1x1YzRmMFx1YWUzMCBcdWQ1NThcdWIwOThcdWIyOTQgNFx1YWMxY1x1Yzc1OCBcdWFjZjVcdWJjMzEpPFwvcD5cclxuXHJcbjxwPlxyXG5cdCZsdDtLYWxpaSBJbmRleD1OJmd0OzxcL3A+XHJcbjxwPiAmbHQ7c3RhcnRkYXRlJmd0OyZsdDtzdGFydCBkYXRlKSZsdDtcL3N0YXJ0ZGF0ZSZndDs8XC9wPlxyXG48cD4gJmx0O3JhdGUmZ3Q7KHRheCByYXRlKSZsdDtcL3JhdGUmZ3Q7PFwvcD5cclxuPHA+ICZsdDtlbmRkYXRlJmd0OyhlbmQgZGF0ZSkmbHQ7XC9lbmRkYXRlJmd0OzxcL3A+XHJcbjxwPlxyXG5cdCZsdDtcL0thbGlpJmd0OzxcL3A+XHJcblxyXG48cD5cclxuXHROXHVjNzQwIFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxMzhcdWQyYjggXHViYzg4XHVkNjM4XHVjNzc0XHViYTcwLCAoc3RhcnQgZGF0ZSlcdWIyOTQgXHVjMmRjXHVjNzkxXHVjNzdjLCAodGF4IHJhdGUpXHViMjk0IFx1YzEzOFx1YzcyOCwgKGVuZCBkYXRlKVx1YjI5NCBcdWM4ODVcdWI4Y2NcdWM3N2NcdWM3NDQgXHViNzNiXHVkNTVjXHViMmU0LjxcL3A+XHJcbjxwPlxyXG5cdFx1YjM3MFx1Yzc3NFx1ZDEzMFx1YWMwMCBcdWM3OThcdWJhYmJcdWI0MThcdWM1YzhcdWFjNzBcdWIwOTggXHViYWE4XHVkNjM4XHVkNTU4XHVjNWVjIFx1Y2Q5Y1x1YjgyNVx1ZDU2MCBcdWMyMTggXHVjNWM2XHVjNzNjXHViYTc0PFwvcD5cclxuPHA+XHJcblx0Jmx0O0thbGlpIEluZGV4PU4mZ3Q7QkFEIElOUFVUJmx0O1wvS2FsaWkmZ3Q7IFx1Yjc3Y1x1YWNlMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIChOXHVjNzQwIFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxMzhcdWQyYjggXHViYzg4XHVkNjM4KTxcL3A+XHJcblxyXG48cD5cclxuXHRcdWMyZGNcdWM3OTFcdWM3N2NcdWM3NDAgRERNTU1ZWSBcdWQ2MTVcdWQwZGNcdWM3NzRcdWJhNzAsIFx1Yzg4NVx1YjhjY1x1Yzc3Y1x1Yzc0MCAxNU1NTVlZXHVjNzc0XHViMmU0LjxcL3A+XHJcbjxwPlxyXG5cdEREXHViMjk0IDAxLTMxLCBNTU1cdWM3NDAgSkFOLEZFQixNQVIsQVBSLE1BWSxKVU4sSlVMLEFVRyxTRVAsT0NULE5PVixERUNcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC4gWVlcdWIyOTQgMDAtOTlcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG48cD5cclxuXHRcdWMxMzhcdWM3MjhcdWM3NDAgXHVjMThjXHVjMjE4XHVjODEwIDNcdWM3OTBcdWI5YWNcdWFlNGNcdWM5YzAgXHVjODE1XHVkNjU1XHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIyNzY4IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiVGF4YXRpb24gV2l0aCBSZXByZXNlbnRhdGlvbiBPdmVyZG9uZSIsImRlc2NyaXB0aW9uIjoiPHA+SW4gdGhlIGxhbmQgb2YgS2FsaWkgbGl2ZWQgYSBjaXZpbGl6YXRpb24gbm90IHVubGlrZSBvdXIgb3duLiBUaGV5IGhhZCBnb3Zlcm5tZW50LCBidXNpbmVzcywgYW5kIHRlY2hub2xvZ3kuIFRoZSBvbmx5IG1ham9yIGRpZmZlcmVuY2Ugd2FzIGhvdyB0YXggcmF0ZXMgd2VyZSBkZWNpZGVkLiBZb3Ugc2VlLCB0aGUgcGVvcGxlIG9mIEthbGlpIGxvdmVkIHRvIGhhZ2dsZS4gVGhleSBoYWdnbGVkIG92ZXIgZXZlcnl0aGluZyBpbmNsdWRpbmcgd2hhdCBwZXJjZW50YWdlIG9mIHRoZWlyIGluY29tZSB3ZW50IHRvIHRoZSBnb3Zlcm5tZW50IGNvZmZlcnMuIFdoZW4gYSBLYWxpaSBmYW1pbHkmcnNxdW87cyB0YXggY29udHJhY3Qgd2FzIHVwIHRoZXkgaGFkIHRvIHRyYXZlbCB0byB0aGUgY2FwaXRhbCB0byBoYWdnbGUgd2l0aCBnb3Zlcm5tZW50IG9mZmljYWxzIGFuZCBoYW1tZXIgb3V0IGEgbmV3IGRlYWwuIFRoZSBjb250cmFjdCB3b3VsZCBoYXZlIGEgc3RhcnQgZGF0ZSwgYW4gZW5kIGRhdGUgKGZvciBib29ra2VlcGluZyBwdXJwb3NlcyB0aGUgZW5kIGRheSB3YXMgYWx3YXlzIHRoZSAxNXRoIG9mIHRoZSBlbmQgbW9udGgpLCBhbmQgYSB0YXggcmF0ZS4gSXQgd2FzIGFsc28gdHJhZGl0aW9uYWwgZm9yIGEgS2FsaWkgZmFtaWx5IHRvIGVuam95IGEgc2hvcnQgdGltZSBwZXJpb2Qgb2YgdGF4IGZyZWUgbGl2aW5nIGJldHdlZW4gdGhlIGVuZCBvZiB0aGVpciBsYXN0IGNvbnRyYWN0IGFuZCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBvbmUuIFRoaXMgdGltZSBwZXJpb2Qgd2FzIGEgcG9pbnQgdG8gaGFnZ2xlIG92ZXIgYXMgd2VsbC48XC9wPlxyXG5cclxuPHA+VGhlIGxhbmQgb2YgS2FsaWkgd2FzIHByb3NwZXJvdXMgYW5kIHZlcnkgcG9wdWxvdXMgYW5kLCBhcyBhIGNvbnNlcXVlbmNlLCBnb3Zlcm5tZW50IG9mZmljaWFscyB3ZXJlIG9mdGVuIG92ZXJ3aGVsbWVkIHdpdGggd29yay4gV2hlbiBhIGRlYWwgd2FzIGFncmVlZCB1cG9uIHdpdGggYSBmYW1pbHksIHRoZSBvZmZpY2lhbHMgd291bGQgcXVpY2tseSB3cml0ZSBpdCBkb3duIGluIHNob3J0aGFuZCBhbmQgc2VuZCBpdCBvZmYgdG8gYmUgcHJvY2Vzc2VkLiBUaGVzZSBzY3JpYmJsZWQgbm90ZXMgaGFkIHRvIGJlIGNvbnZlcnRlZCB0byBYTUwgZm9ybWF0IHRvIGJlIGVudGVyZWQgaW50byB0aGVpciBjb21wdXRlciBzeXN0ZW0uIFNvbWV0aW1lcyB0aGUgc2NyaWJibGUgd2FzIGluY29uY2x1c2l2ZSBhbmQgdGhlIGZhbWlseSB3b3VsZCBoYXZlIHRvIGJlIHJlY2FsbGVkIHRvIHRoZSBjYXBpdGFsIGZvciBhbm90aGVyIHJvdW5kIG9mIGhhZ2dsaW5nLiBUaGlzIGVudGlyZSBwcm9jZXNzIHdhcyB2ZXJ5IGluZWZmaWNpZW50IGJ1dCBpdCB3YXMgdGhlIHdheSB0aGUgcGVvcGxlIG9mIEthbGlpIGhhZCBhbHdheXMgZG9uZSBpdCBhbmQgdGhleSB3ZXJlIG5vdCBhYm91dCB0byBjaGFuZ2UgYW55dGltZSBzb29uLjxcL3A+XHJcblxyXG48cD5Zb3VyIGpvYiBpcyB0byBjb252ZXJ0IHRoZSBzY3JpYmJsaW5ncyBvZiB0aGUgb2ZmaWNpYWxzIGludG8gWE1MIGZvcm1hdC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPklucHV0IGNvbnNpc3RzIG9mIG11bHRpcGxlIGRhdGFzZXRzLCBvbmUgcGVyIGxpbmUuIEVhY2ggY29ycmVjdCBsaW5lIGNvbnRhaW5zIHRocmVlIHBpZWNlcyBvZiBpbmZvcm1hdGlvbjo8XC9wPlxyXG5cclxuPG9sPlxyXG5cdDxsaT5UYXggcmF0ZVxyXG5cdDx1bD5cclxuXHRcdDxsaT5BIHRheCByYXRlIGFsd2F5cyBoYXMgYSAmbHNxdW87JSZyc3F1bzsgYWZ0ZXIgaXQgaWYgaXQgaXMgYSB3aG9sZSBudW1iZXIgKGkuZS4gNSUpLjxcL2xpPlxyXG5cdFx0PGxpPkEgdGF4IHJhdGUgbmV2ZXIgaGFzIGEgZGVjaW1hbCBwb2ludCBpbiBpdC48XC9saT5cclxuXHRcdDxsaT5BIHRheCByYXRlIG1heSBjb250YWluIGEgZnJhY3Rpb24gYnV0IGl0cyBkZW5vbWluYXRvciBtdXN0IG9ubHkgYmUgYSAyLCA0LCBvciA4LjxcL2xpPlxyXG5cdFx0PGxpPkEgdGF4IHJhdGUgbXVzdCBoYXZlIGEgbnVtZXJhdG9yIHRoYXQgaXMgbGVzcyB0aGFuIGl0cyBkZW5vbWluYXRvci48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuXHQ8bGk+Q29udHJhY3QgRW5kIERhdGVcclxuXHQ8dWw+XHJcblx0XHQ8bGk+QSBjb250cmFjdCBlbmQgZGF0ZSBpcyBhIG51bWVyaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbW9udGggKG9uZSBvciB0d28gZGlnaXRzKSBhbmQgdGhlIGxhc3QgdHdvIGRpZ2l0cyBvZiB0aGUgeWVhci4gVGhlIG1vbnRoIGFuZCB5ZWFyIG1heSBiZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgaHlwaGVuIChpLmUuIDEyLTA1IG9yIDEyMDUgd291bGQgcmVmZXIgdG8gMTVERUMwNSkuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcblx0PGxpPkNvbnRyYWN0IFN0YXJ0IERhdGVcclxuXHQ8dWw+XHJcblx0XHQ8bGk+QSBjb250cmFjdCBzdGFydCBkYXRlIGlzIGEgbnVtZXJpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb250aCAob25lIG9yIHR3byBkaWdpdHMpIGFuZCBhIHR3by1kaWdpdCBkYXkgb2YgdGhlIG1vbnRoLiBUaGUgbW9udGggYW5kIGRheSBtYXkgYmUgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIGh5cGhlbiAoaS5lLiAxMi0wNSBvciAxMjA1IHdvdWxkIHJlZmVyIHRvIDA1REVDMDMpLjxcL2xpPlxyXG5cdFx0PGxpPkEgY29udHJhY3Qgc3RhcnQgZGF0ZSBtdXN0IHN0YXJ0IG9uIG9yIGFmdGVyIHRoZSBjdXJyZW50IGRhdGUuIEZvciBleGFtcGxlLCB0aGUgY3VycmVudCB5ZWFyIGlzIDIwMDMuIElmIHRoZSBzdGFydCBkYXRlIGlzIDMwNSBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHllYXIgdGhlIGNvbnRyYWN0IHN0YXJ0cyB3aWxsIGJlIDIwMDQuXHJcblx0XHQ8dWw+XHJcblx0XHQ8XC91bD5cclxuXHRcdDxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPk5vdGU6IFRoZXJlIG1heSBiZSAwIG9yIG1vcmUgc3BhY2VzIGJldHdlZW4gZWFjaCBvZiB0aGUgdGhyZWUgZmllbGRzLjxiciBcLz5cclxuTm90ZTogVGhlIEthbGlpIGNhbGVuZGFyIGNvbnNpc3RzIG9mIHRoZSB0d2VsdmUgbW9udGhzIGZhbWlsaWFyIHRvIHlvdSwgYnV0IGFsbCBtb250aHMgaGF2ZSAzMSBkYXlzLjxiciBcLz5cclxuTm90ZTogVGhlIG1heGltdW0gdGF4IHJhdGUgaXMgOTkuODc1JTxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIGRhdGEgc2V0LCBwcmludCB0aGUgY29ycmVjdGx5IGluZGVudGVkIFhNTCAoNCBzcGFjZXMgcGVyIGluZGVudCBsZXZlbCk6PFwvcD5cclxuXHJcbjxwcmU+XHJcbiZsdDtLYWxpaSBJbmRleD1OJmd0O1xyXG4mbmJzcDsgJm5ic3A7ICZsdDtzdGFydGRhdGUmZ3Q7KHN0YXJ0IGRhdGUpJmx0O1wvc3RhcnRkYXRlJmd0O1xyXG4mbmJzcDsgJm5ic3A7ICZsdDtyYXRlJmd0Oyh0YXggcmF0ZSkmbHQ7XC9yYXRlJmd0O1xyXG4mbmJzcDsgJm5ic3A7ICZsdDtlbmRkYXRlJmd0OyhlbmQgZGF0ZSkmbHQ7XC9lbmRkYXRlJmd0O1xyXG4mbHQ7XC9LYWxpaSZndDs8XC9wcmU+XHJcblxyXG48cD5OIHNob3VsZCBiZSByZXBsYWNlZCBieSB0aGUgZGF0YSBzZXQgbnVtYmVyLCAoc3RhcnQgZGF0ZSkgYnkgdGhlIHN0YXJ0IGRhdGUsICh0YXggcmF0ZSkgYnkgdGhlIHRheCByYXRlLCBhbmQgKGVuZCBkYXRlKSBieSB0aGUgZW5kIGRhdGUuIElmIG5vIG91dHB1dCBjb3VsZCBiZSBjb21wdXRlZCBiZWNhdXNlIG9mIGVpdGhlciBiYWQgb3IgYW1iaWd1b3VzIGRhdGEsIHNpbXBseSBwcmludCAmbHQ7S2FsaWkgSW5kZXg9TiAmZ3Q7QkFEIElOUFVUJmx0O1wvS2FsaWkmZ3Q7LCB3aGVyZSBOIHNob3VsZCBiZSByZXBsYWNlZCBieSB0aGUgZGF0YSBzZXQgbnVtYmVyLjxcL3A+XHJcblxyXG48cD5Ob3RlOiBUaGUgZm9ybWF0IGZvciB0aGUgc3RhcnQgZGF0ZSBpcyBERE1NTVlZLiBUaGUgZm9ybWF0IGZvciB0aGUgZW5kIGRhdGUgaXMgMTVNTU1ZWS4gV2hlcmUgREQgaXMgdGhlIHplcm8tcGFkZGVkIGRheSBvZiBtb250aCAoMDEtMzEpLCBNTU0gaXMgdGhlIG1vbnRoIGluIHVwcGVyLWNhc2UgbGV0dGVycyAoSkFOLCBGRUIsIE1BUiwgQVBSLCBNQVksIEpVTiwgSlVMLCBBVUcsIFNFUCwgT0NULCBOT1YsIERFQyksIGFuZCBZWSBpcyB0aGUgemVyby1wYWRkZWQgbGFzdCAyIGRpZ2l0cyBvZiB0aGUgeWVhciAoMDAtOTkpLjxcL3A+XHJcblxyXG48cD5Ob3RlOiBUaGUgdGF4IHJhdGUgc2hvdWxkIGJlIGFjY3VyYXRlIHRvIDMgZGVjaW1hbCBwbGFjZXMuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d