LlRIIFNTIDgKLlNIIE5BTUUKc3MgXC0gYW5vdGhlciB1dGlsaXR5IHRvIGludmVzdGlnYXRlIHNvY2tldHMKLlNIIFNZTk9QU0lTCi5CIHNzCi5SSSBbIG9wdGlvbnMgXSAiIFsgRklMVEVSIF0iCi5TSCBERVNDUklQVElPTgouQiBzcwppcyB1c2VkIHRvIGR1bXAgc29ja2V0IHN0YXRpc3RpY3MuIEl0IGFsbG93cyBzaG93aW5nIGluZm9ybWF0aW9uIHNpbWlsYXIKdG8KLklSIG5ldHN0YXQgLgpJdCBjYW4gZGlzcGxheSBtb3JlIFRDUCBhbmQgc3RhdGUgaW5mb3JtYXRpb25zIHRoYW4gb3RoZXIgdG9vbHMuCgouU0ggT1BUSU9OUwpUaGVzZSBwcm9ncmFtcyBmb2xsb3cgdGhlIHVzdWFsIEdOVSBjb21tYW5kIGxpbmUgc3ludGF4LCB3aXRoIGxvbmcKb3B0aW9ucyBzdGFydGluZyB3aXRoIHR3byBkYXNoZXMgKGAtJykuCkEgc3VtbWFyeSBvZiBvcHRpb25zIGlzIGluY2x1ZGVkIGJlbG93LgouVFAKLkIgXC1oLCBcLVwtaGVscApTaG93IHN1bW1hcnkgb2Ygb3B0aW9ucy4KLlRQCi5CIFwtViwgXC1cLXZlcnNpb24KT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24uCi5UUAouQiBcLW4sIFwtXC1udW1lcmljCkRvIG5vdyB0cnkgdG8gcmVzb2x2ZSBzZXJ2aWNlIG5hbWVzLgouVFAKLkIgXC1yLCBcLVwtcmVzb2x2ZQpUcnkgdG8gcmVzb2x2ZSBudW1lcmljIGFkZHJlc3MvcG9ydHMuCi5UUAouQiBcLWEsIFwtXC1hbGwKRGlzcGxheSBhbGwgc29ja2V0cy4KLlRQCi5CIFwtbCwgXC1cLWxpc3RlbmluZwpEaXNwbGF5IGxpc3RlbmluZyBzb2NrZXRzLgouVFAKLkIgXC1vLCBcLVwtb3B0aW9ucwpTaG93IHRpbWVyIGluZm9ybWF0aW9uLgouVFAKLkIgXC1lLCBcLVwtZXh0ZW5kZWQKU2hvdyBkZXRhaWxlZCBzb2NrZXQgaW5mb3JtYXRpb24KLlRQCi5CIFwtbSwgXC1cLW1lbW9yeQpTaG93IHNvY2tldCBtZW1vcnkgdXNhZ2UuCi5UUAouQiBcLXAsIFwtXC1wcm9jZXNzZXMKU2hvdyBwcm9jZXNzIHVzaW5nIHNvY2tldC4KLlRQCi5CIFwtaSwgXC1cLWluZm8KU2hvdyBpbnRlcm5hbCBUQ1AgaW5mb3JtYXRpb24uCi5UUAouQiBcLXMsIFwtXC1zdW1tYXJ5ClByaW50IHN1bW1hcnkgc3RhdGlzdGljcy4gVGhpcyBvcHRpb24gZG9lcyBub3QgcGFyc2Ugc29ja2V0IGxpc3RzIG9idGFpbmluZwpzdW1tYXJ5IGZyb20gdmFyaW91cyBzb3VyY2VzLiBJdCBpcyB1c2VmdWwgd2hlbiBhbW91bnQgb2Ygc29ja2V0cyBpcyBzbyBodWdlCnRoYXQgcGFyc2luZyAvcHJvYy9uZXQvdGNwIGlzIHBhaW5mdWwuCi5UUAouQiBcLTQsIFwtXC1pcHY0CkRpc3BsYXkgb25seSBJUCB2ZXJzaW9uIDQgc29ja2V0cyAoYWxpYXMgZm9yIC1mIGluZXQpLgouVFAKLkIgXC02LCBcLVwtaXB2NgpEaXNwbGF5IG9ubHkgSVAgdmVyc2lvbiA2IHNvY2tldHMgKGFsaWFzIGZvciAtZiBpbmV0NikuCi5UUAouQiBcLTAsIFwtXC1wYWNrZXQKRGlzcGxheSBQQUNLRVQgc29ja2V0cy4KLlRQCi5CIFwtdCwgXC1cLXRjcApEaXNwbGF5IG9ubHkgVENQIHNvY2tldHMuCi5UUAouQiBcLXUsIFwtXC11ZHAKRGlzcGxheSBvbmx5IFVEUCBzb2NrZXRzLgouVFAKLkIgXC1kLCBcLVwtZGNjcApEaXNwbGF5IG9ubHkgRENDUCBzb2NrZXRzLgouVFAKLkIgXC13LCBcLVwtcmF3CkRpc3BsYXkgb25seSBSQVcgc29ja2V0cy4KLlRQCi5CIFwteCwgXC1cLXVuaXgKRGlzcGxheSBvbmx5IFVuaXggZG9tYWluIHNvY2tldHMuCi5UUAouQiBcLWYgRkFNSUxZLCBcLVwtZmFtaWx5PUZBTUlMWQpEaXNwbGF5IHNvY2tldHMgb2YgdHlwZSBGQU1JTFkuCkN1cnJlbnRseSB0aGUgZm9sbG93aW5nIGZhbWlsaWVzIGFyZSBzdXBwb3J0ZWQ6IHVuaXgsIGluZXQsIGluZXQ2LCBsaW5rLCBuZXRsaW5rLgouVFAKLkIgXC1BIFFVRVJZLCBcLVwtcXVlcnk9UVVFUlkKTGlzdCBvZiBzb2NrZXQgdGFibGVzIHRvIGR1bXAsIHNlcGFyYXRlZCBieSBjb21tYXMuIFRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMKYXJlIHVuZGVyc3Rvb2Q6IGFsbCwgaW5ldCwgdGNwLCB1ZHAsIHJhdywgdW5peCwgcGFja2V0LCBuZXRsaW5rLCB1bml4X2RncmFtLAp1bml4X3N0cmVhbSwgcGFja2V0X3JhdywgcGFja2V0X2RncmFtLgouVFAKLkIgXC1EIEZJTEUKRG8gbm90IGRpc3BsYXkgYW55dGhpbmcsIGp1c3QgZHVtcCByYXcgaW5mb3JtYXRpb24gYWJvdXQgVENQIHNvY2tldHMgdG8gRklMRSBhZnRlciBhcHBseWluZyBmaWx0ZXJzLiBJZiBGSUxFIGlzIC0gc3Rkb3V0IGlzIHVzZWQuCi5UUAouQiBcLUYgRklMRSwgXC1cLWZpbHRlcj1GSUxFClJlYWQgZmlsdGVyIGluZm9ybWF0aW9uIGZyb20gRklMRS4KRWFjaCBsaW5lIG9mIEZJTEUgaXMgaW50ZXJwcmV0ZWQgbGlrZSBzaW5nbGUgY29tbWFuZCBsaW5lIG9wdGlvbi4gSWYgRklMRSBpcyAtIHN0ZGluIGlzIHVzZWQuCi5UUAouQiBGSUxURVIgOj0gWyBzdGF0ZSBUQ1AtU1RBVEUgXSBbIEVYUFJFU1NJT04gXQpQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIG9mZmljaWFsIGRvY3VtZW50YXRpb24gKERlYmlhbiBwYWNrYWdlIGlwcm91dGUtZG9jKSBmb3IgZGV0YWlscyByZWdhcmRpbmcgZmlsdGVycy4KLlNIIFVTQUdFIEVYQU1QTEVTCi5UUAouQiBzcyAtdCAtYQpEaXNwbGF5IGFsbCBUQ1Agc29ja2V0cy4KLlRQCi5CIHNzIC11IC1hCkRpc3BsYXkgYWxsIFVEUCBzb2NrZXRzLgouVFAKLkIgc3MgLW8gc3RhdGUgZXN0YWJsaXNoZWQgJyggZHBvcnQgPSA6c3NoIG9yIHNwb3J0ID0gOnNzaCApJwpEaXNwbGF5IGFsbCBlc3RhYmxpc2hlZCBzc2ggY29ubmVjdGlvbnMuCi5UUAouQiBzcyAteCBzcmMgXCIvdG1wLy5YMTEtdW5peC8qXCIKRmluZCBhbGwgbG9jYWwgcHJvY2Vzc2VzIGNvbm5lY3RlZCB0byBYIHNlcnZlci4KLlRQCi5CIHNzIC1vIHN0YXRlIGZpbi13YWl0LTEgJyggc3BvcnQgPSA6aHR0cCBvciBzcG9ydCA9IDpodHRwcyApJyBkc3QgMTkzLjIzMy43LzI0Ckxpc3QgYWxsIHRoZSB0Y3Agc29ja2V0cyBpbiBzdGF0ZSBGSU4tV0FJVC0xIGZvciBvdXIgYXBhY2hlIHRvIG5ldHdvcmsgMTkzLjIzMy43LzI0IGFuZCBsb29rIGF0IHRoZWlyIHRpbWVycy4KLlNIIFNFRSBBTFNPCi5CUiBpcCAoOCksCi5CUiAvdXNyL3NoYXJlL2RvYy9pcHJvdXRlLWRvYy9zcy5odG1sICIgKHBhY2thZ2UgaXByb3V0Za1kb2MpIgouU0ggQVVUSE9SCi5JIHNzIAp3YXMgd3JpdHRlbiBieSBBbGV4ZXkgS3V6bmV0b3N2LCA8a3V6bmV0QG1zMi5pbnIuYWMucnU+LgouUFAKVGhpcyBtYW51YWwgcGFnZSB3YXMgd3JpdHRlbiBieSBNaWNoYWVsIFByb2tvcCA8bWlrYUBncm1sLm9yZz4KZm9yIHRoZSBEZWJpYW4gcHJvamVjdCAoYnV0IG1heSBiZSB1c2VkIGJ5IG90aGVycykuCg==