VGhlIGZvbGxvd2luZyBwZW9wbGUgKGluIGFscGhhYmV0aWNhbCBvcmRlcikgaGF2ZSBjb250cmlidXRlZCB0byB0aGUKZGV2ZWxvcG1lbnQgYW5kIHBvcnRzIG9mIHRoZSBYTUw0QyBzb3VyY2UgY29kZSwgd2hpY2ggd2FzIHN1Ym1pdHRlZCB0bwp0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgoKTmFkYXYgQWhhcm9uaQpDdXJ0IEFybm9sZApFZHdhcmQgQXZpcwpBbnVwYW0gQmFnY2hpClRvcmJq9nJuIELkY2tzdHL2bQpGcmFuayBCYWxsdWZmaQpNYXR0aGV3IEJha2VyCkRldmluIEJhcm5oYXJ0CkphbWVzIEJlcnJ5CkRhdmlkIEJlcnRvbmkKSm9obiBCZWxsYXJkbwpBcnVuZGhhdGkgQmhvd21pY2sKRWR3YXJkIEJvcnRuZXIKU2VhbiBCcmlnaHQKUGhpbCBCcm93bgpSb2JlcnQgQnVjawpTdW1pdCBDaGF3bGEKTmljayBDaGlhbmcKQ2hpaCBIc2lhbmcgQ2hvdQpSYWRvdmFuIENoeXRyYWNlawpIaXJhbSBDbGF3c29uCkpvaG4gQ2xheXRvbgpUb2RkIENvbGxpbnMKTWljaGFlbCBDcmF3Zm9yZApNdXJyYXkgQ3VtbWluZwpIZWxtdXQgRWlrZW4KTWFyayBFdmVybGluZQpTaW1vbiBGZWxsClBhdWwgRmVyZ3Vzb24KUGllcnBhb2xvIEZ1bWFnYWxsaQpHYXJ5IEdhbGUKTWF4IEdvdGxpYgpQZXRyIEdvdHRoYXJkClN1c2FuIEhhcmRlbmJyb29rCkplZmYgSGFycmVsbApBbmR5IEhlbmluZ2VyCldpbGxpYW0gTC4gSG9wcGVyCk1pY2hhZWwgSHVlZGVwb2hsClJhaHVsIEphaW4KVG9tIEpvcmRhaGwKQ2hyaXN0b3BoZXIgSnVzdApNYXJ0aW4gS2FsZW4KSm9lIEtlc3NlbG1hbgpBcnR1ciBLbGF1c2VyCkJvYiBLbGluZQpSaWNoYXJkIEtvClBhdWwgS3JhbWVyClZvbGtlciBLcmF1c2UKQXJuYXVkIExlSG9ycwpBbmR5IExldmluZQpKZWZmIExld2lzCk1hdHQgTG92ZXR0ClNlYW4gTWFjUm9pYmVhaXJkCkFsYmVydG8gTWFzc2FyaQpEb24gTWFzdHJvdml0bwpEYXZpZCBNY0NyZWVkeQpKb3JkYW4gTmFmdG9saW4KVGlubnkgTmcKRGF2aWQgTmlja2Vyc29uCktoYWxlZCBOb2FtYW4KTWljaGFlbCBPdHRhdGkKS2V2aW4gUGhpbGlwcwpNaWtlIFBvZ3VlCkpvZSBQb2xhc3RyZQpKb2huIFBvbnpvClNoZW5na2FpIFF1CkdhcmV0aCBSZWFrZXMKSmltIFJlaXR6CkRlYW4gUm9kZGV5CkpvaG4gUm9wZXIKU3RldmVuIFJvc2VudGhhbApFcmlrIFJ5ZGdyZW4KQmlsbCBTY2hpbmRsZXIKRXJpayBTY2hyb2VkZXIKQ2hyaXN0aWFuIFNjaHVoZWdnZXIKSm9obiBTbWlybApBbmRyZWkgU21pcm5vdgpHZXJlb24gU3RlZmZlbnMKSmFzb24gU3Rld2FydApSaWNrIEouIFN0ZXZlbnMKUm9tYW4gU3Vsemh5awpMaW5kYSBNLiBTd2FuClBpZXRlciBWYW4tRHljawpDdXJ0aXMgV2Fsa2VyClRvbSBXYXRzb24KSm9obiBXYXJyaWVyCk1hcmsgV2VhdmVyClJvZ2VyIFdlYnN0ZXIKUm9iZXJ0IFdlaXIKQ2Fyb2x5biBXZWlzcwpLYXJpIFdoaXRjb21iCkRpZXRyaWNoIFdvbGYKS2lyayBXeWxpZQpQZXRlciBBLiBWb2xjaGVrCkdyYWNlIFlhbgpQZWlZb25nIFpoYW5nCkhlbnJ5IFpvbmdhcm8K