LlRIIFNTIDgKLlNIIE5BTUUKc3MgXC0gYW5vdGhlciB1dGlsaXR5IHRvIGludmVzdGlnYXRlIHNvY2tldHMKLlNIIFNZTk9QU0lTCi5CIHNzCi5SSSBbIG9wdGlvbnMgXSAiIFsgRklMVEVSIF0iCi5TSCBERVNDUklQVElPTgouQiBzcwppcyB1c2VkIHRvIGR1bXAgc29ja2V0IHN0YXRpc3RpY3MuIEl0IGFsbG93cyBzaG93aW5nIGluZm9ybWF0aW9uIHNpbWlsYXIKdG8KLklSIG5ldHN0YXQgLgpJdCBjYW4gZGlzcGxheSBtb3JlIFRDUCBhbmQgc3RhdGUgaW5mb3JtYXRpb25zIHRoYW4gb3RoZXIgdG9vbHMuCgouU0ggT1BUSU9OUwpXaGVuIG5vIG9wdGlvbiBpcyB1c2VkIHNzIGRpc3BsYXlzIGEgbGlzdCBvZgpvcGVuIG5vbi1saXN0ZW5pbmcgc29ja2V0cyAoZS5nLiBUQ1AvVU5JWC9VRFApIHRoYXQgaGF2ZSBlc3RhYmxpc2hlZCBjb25uZWN0aW9uLgouVFAKLkIgXC1oLCBcLVwtaGVscApTaG93IHN1bW1hcnkgb2Ygb3B0aW9ucy4KLlRQCi5CIFwtViwgXC1cLXZlcnNpb24KT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24uCi5UUAouQiBcLW4sIFwtXC1udW1lcmljCkRvIG5vdCB0cnkgdG8gcmVzb2x2ZSBzZXJ2aWNlIG5hbWVzLgouVFAKLkIgXC1yLCBcLVwtcmVzb2x2ZQpUcnkgdG8gcmVzb2x2ZSBudW1lcmljIGFkZHJlc3MvcG9ydHMuCi5UUAouQiBcLWEsIFwtXC1hbGwKRGlzcGxheSBib3RoIGxpc3RlbmluZyBhbmQgbm9uLWxpc3RlbmluZyAoZm9yIFRDUCB0aGlzIG1lYW5zIGVzdGFibGlzaGVkIGNvbm5lY3Rpb25zKSBzb2NrZXRzLgouVFAKLkIgXC1sLCBcLVwtbGlzdGVuaW5nCkRpc3BsYXkgb25seSBsaXN0ZW5pbmcgc29ja2V0cyAodGhlc2UgYXJlIG9taXR0ZWQgYnkgZGVmYXVsdCkuCi5UUAouQiBcLW8sIFwtXC1vcHRpb25zClNob3cgdGltZXIgaW5mb3JtYXRpb24uCi5UUAouQiBcLWUsIFwtXC1leHRlbmRlZApTaG93IGRldGFpbGVkIHNvY2tldCBpbmZvcm1hdGlvbgouVFAKLkIgXC1tLCBcLVwtbWVtb3J5ClNob3cgc29ja2V0IG1lbW9yeSB1c2FnZS4KLlRQCi5CIFwtcCwgXC1cLXByb2Nlc3NlcwpTaG93IHByb2Nlc3MgdXNpbmcgc29ja2V0LgouVFAKLkIgXC1pLCBcLVwtaW5mbwpTaG93IGludGVybmFsIFRDUCBpbmZvcm1hdGlvbi4KLlRQCi5CIFwtSywgXC1cLWtpbGwKQXR0ZW1wdHMgdG8gZm9yY2libHkgY2xvc2Ugc29ja2V0cy4gVGhpcyBvcHRpb24gZGlzcGxheXMgc29ja2V0cyB0aGF0IGFyZQpzdWNjZXNzZnVsbHkgY2xvc2VkIGFuZCBzaWxlbnRseSBza2lwcyBzb2NrZXRzIHRoYXQgdGhlIGtlcm5lbCBkb2VzIG5vdCBzdXBwb3J0CmNsb3NpbmcuIEl0IHN1cHBvcnRzIElQdjQgYW5kIElQdjYgc29ja2V0cyBvbmx5LgouVFAKLkIgXC1zLCBcLVwtc3VtbWFyeQpQcmludCBzdW1tYXJ5IHN0YXRpc3RpY3MuIFRoaXMgb3B0aW9uIGRvZXMgbm90IHBhcnNlIHNvY2tldCBsaXN0cyBvYnRhaW5pbmcKc3VtbWFyeSBmcm9tIHZhcmlvdXMgc291cmNlcy4gSXQgaXMgdXNlZnVsIHdoZW4gYW1vdW50IG9mIHNvY2tldHMgaXMgc28gaHVnZQp0aGF0IHBhcnNpbmcgL3Byb2MvbmV0L3RjcCBpcyBwYWluZnVsLgouVFAKLkIgXC1aLCBcLVwtY29udGV4dApBcyB0aGUKLkIgXC1wCm9wdGlvbiBidXQgYWxzbyBzaG93cyBwcm9jZXNzIHNlY3VyaXR5IGNvbnRleHQuCi5zcApGb3IKLkJSIG5ldGxpbmsgKDcpCnNvY2tldHMgdGhlIGluaXRpYXRpbmcgcHJvY2VzcyBjb250ZXh0IGlzIGRpc3BsYXllZCBhcyBmb2xsb3dzOgouUlMKLlJTCi5JUCAiMS4iIDQKSWYgdmFsaWQgcGlkIHNob3cgdGhlIHByb2Nlc3MgY29udGV4dC4KLklQICIyLiIgNApJZiBkZXN0aW5hdGlvbiBpcyBrZXJuZWwgKHBpZCA9IDApIHNob3cga2VybmVsIGluaXRpYWwgY29udGV4dC4KLklQICIzLiIgNApJZiBhIHVuaXF1ZSBpZGVudGlmaWVyIGhhcyBiZWVuIGFsbG9jYXRlZCBieSB0aGUga2VybmVsIG9yIG5ldGxpbmsgdXNlciwKc2hvdyBjb250ZXh0IGFzICJ1bmF2YWlsYWJsZSIuIFRoaXMgd2lsbCBnZW5lcmFsbHkgaW5kaWNhdGUgdGhhdCBhCnByb2Nlc3MgaGFzIG1vcmUgdGhhbiBvbmUgbmV0bGluayBzb2NrZXQgYWN0aXZlLgouUkUKLlJFCi5UUAouQiBcLXosIFwtXC1jb250ZXh0cwpBcyB0aGUKLkIgXC1aCm9wdGlvbiBidXQgYWxzbyBzaG93cyB0aGUgc29ja2V0IGNvbnRleHQuIFRoZSBzb2NrZXQgY29udGV4dCBpcwp0YWtlbiBmcm9tIHRoZSBhc3NvY2lhdGVkIGlub2RlIGFuZCBpcyBub3QgdGhlIGFjdHVhbCBzb2NrZXQKY29udGV4dCBoZWxkIGJ5IHRoZSBrZXJuZWwuIFNvY2tldHMgYXJlIHR5cGljYWxseSBsYWJlbGVkIHdpdGggdGhlCmNvbnRleHQgb2YgdGhlIGNyZWF0aW5nIHByb2Nlc3MsIGhvd2V2ZXIgdGhlIGNvbnRleHQgc2hvd24gd2lsbCByZWZsZWN0CmFueSBwb2xpY3kgcm9sZSwgdHlwZSBhbmQvb3IgcmFuZ2UgdHJhbnNpdGlvbiBydWxlcyBhcHBsaWVkLAphbmQgaXMgdGhlcmVmb3JlIGEgdXNlZnVsIHJlZmVyZW5jZS4KLlRQCi5CIFwtTiBOU05BTUUsIFwtXC1uZXQ9TlNOQU1FClN3aXRjaCB0byB0aGUgc3BlY2lmaWVkIG5ldHdvcmsgbmFtZXNwYWNlIG5hbWUuCi5UUAouQiBcLWIsIFwtXC1icGYKU2hvdyBzb2NrZXQgQlBGIGZpbHRlcnMgKG9ubHkgYWRtaW5pc3RyYXRvcnMgYXJlIGFsbG93ZWQgdG8gZ2V0IHRoZXNlIGluZm9ybWF0aW9uKS4KLlRQCi5CIFwtNCwgXC1cLWlwdjQKRGlzcGxheSBvbmx5IElQIHZlcnNpb24gNCBzb2NrZXRzIChhbGlhcyBmb3IgLWYgaW5ldCkuCi5UUAouQiBcLTYsIFwtXC1pcHY2CkRpc3BsYXkgb25seSBJUCB2ZXJzaW9uIDYgc29ja2V0cyAoYWxpYXMgZm9yIC1mIGluZXQ2KS4KLlRQCi5CIFwtMCwgXC1cLXBhY2tldApEaXNwbGF5IFBBQ0tFVCBzb2NrZXRzIChhbGlhcyBmb3IgLWYgbGluaykuCi5UUAouQiBcLXQsIFwtXC10Y3AKRGlzcGxheSBUQ1Agc29ja2V0cy4KLlRQCi5CIFwtdSwgXC1cLXVkcApEaXNwbGF5IFVEUCBzb2NrZXRzLgouVFAKLkIgXC1kLCBcLVwtZGNjcApEaXNwbGF5IERDQ1Agc29ja2V0cy4KLlRQCi5CIFwtdywgXC1cLXJhdwpEaXNwbGF5IFJBVyBzb2NrZXRzLgouVFAKLkIgXC14LCBcLVwtdW5peApEaXNwbGF5IFVuaXggZG9tYWluIHNvY2tldHMgKGFsaWFzIGZvciAtZiB1bml4KS4KLlRQCi5CIFwtZiBGQU1JTFksIFwtXC1mYW1pbHk9RkFNSUxZCkRpc3BsYXkgc29ja2V0cyBvZiB0eXBlIEZBTUlMWS4KQ3VycmVudGx5IHRoZSBmb2xsb3dpbmcgZmFtaWxpZXMgYXJlIHN1cHBvcnRlZDogdW5peCwgaW5ldCwgaW5ldDYsIGxpbmssIG5ldGxpbmsuCi5UUAouQiBcLUEgUVVFUlksIFwtXC1xdWVyeT1RVUVSWSwgXC1cLXNvY2tldD1RVUVSWQpMaXN0IG9mIHNvY2tldCB0YWJsZXMgdG8gZHVtcCwgc2VwYXJhdGVkIGJ5IGNvbW1hcy4gVGhlIGZvbGxvd2luZyBpZGVudGlmaWVycwphcmUgdW5kZXJzdG9vZDogYWxsLCBpbmV0LCB0Y3AsIHVkcCwgcmF3LCB1bml4LCBwYWNrZXQsIG5ldGxpbmssIHVuaXhfZGdyYW0sCnVuaXhfc3RyZWFtLCB1bml4X3NlcXBhY2tldCwgcGFja2V0X3JhdywgcGFja2V0X2RncmFtLgouVFAKLkIgXC1EIEZJTEUsIFwtXC1kaWFnPUZJTEUKRG8gbm90IGRpc3BsYXkgYW55dGhpbmcsIGp1c3QgZHVtcCByYXcgaW5mb3JtYXRpb24gYWJvdXQgVENQIHNvY2tldHMgdG8gRklMRSBhZnRlciBhcHBseWluZyBmaWx0ZXJzLiBJZiBGSUxFIGlzIC0gc3Rkb3V0IGlzIHVzZWQuCi5UUAouQiBcLUYgRklMRSwgXC1cLWZpbHRlcj1GSUxFClJlYWQgZmlsdGVyIGluZm9ybWF0aW9uIGZyb20gRklMRS4KRWFjaCBsaW5lIG9mIEZJTEUgaXMgaW50ZXJwcmV0ZWQgbGlrZSBzaW5nbGUgY29tbWFuZCBsaW5lIG9wdGlvbi4gSWYgRklMRSBpcyAtIHN0ZGluIGlzIHVzZWQuCi5UUAouQiBGSUxURVIgOj0gWyBzdGF0ZSBTVEFURS1GSUxURVIgXSBbIEVYUFJFU1NJT04gXQpQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIG9mZmljaWFsIGRvY3VtZW50YXRpb24gKERlYmlhbiBwYWNrYWdlIGlwcm91dGUtZG9jKSBmb3IgZGV0YWlscyByZWdhcmRpbmcgZmlsdGVycy4KCi5TSCBTVEFURS1GSUxURVIKCi5CIFNUQVRFLUZJTFRFUgphbGxvd3MgdG8gY29uc3RydWN0IGFyYml0cmFyeSBzZXQgb2Ygc3RhdGVzIHRvIG1hdGNoLiBJdHMgc3ludGF4IGlzIHNlcXVlbmNlIG9mIGtleXdvcmRzIHN0YXRlIGFuZCBleGNsdWRlIGZvbGxvd2VkIGJ5IGlkZW50aWZpZXIgb2Ygc3RhdGUuCi5UUApBdmFpbGFibGUgaWRlbnRpZmllcnMgYXJlOgoKQWxsIHN0YW5kYXJkIFRDUCBzdGF0ZXM6Ci5CUiBlc3RhYmxpc2hlZCAiLCAiIHN5bi1zZW50ICIsICIgc3luLXJlY3YgIiwgIiBmaW4td2FpdC0xICIsICIgZmluLXdhaXQtMiAiLCAiIHRpbWUtd2FpdCAiLCAiIGNsb3NlZCAiLCAiIGNsb3NlLXdhaXQgIiwgIiBsYXN0LWFjayAiLCAiCi5CUiAgbGlzdGVuICIgYW5kICIgY2xvc2luZy4KCi5CIGFsbAotIGZvciBhbGwgdGhlIHN0YXRlcwoKLkIgY29ubmVjdGVkCi0gYWxsIHRoZSBzdGF0ZXMgZXhjZXB0IGZvcgouQlIgbGlzdGVuICIgYW5kICIgY2xvc2VkCgouQiBzeW5jaHJvbml6ZWQKLSBhbGwgdGhlCi5CIGNvbm5lY3RlZApzdGF0ZXMgZXhjZXB0IGZvcgouQiBzeW4tc2VudAoKLkIgYnVja2V0Ci0gc3RhdGVzLCB3aGljaCBhcmUgbWFpbnRhaW5lZCBhcyBtaW5pc29ja2V0cywgaS5lLgouQlIgdGltZS13YWl0ICIgYW5kICIgc3luLXJlY3YKCi5CIGJpZwotIG9wcG9zaXRlIHRvCi5CIGJ1Y2tldAoKLlNIIFVTQUdFIEVYQU1QTEVTCi5UUAouQiBzcyAtdCAtYQpEaXNwbGF5IGFsbCBUQ1Agc29ja2V0cy4KLlRQCi5CIHNzIC10IC1hIC1aCkRpc3BsYXkgYWxsIFRDUCBzb2NrZXRzIHdpdGggcHJvY2VzcyBTRUxpbnV4IHNlY3VyaXR5IGNvbnRleHRzLgouVFAKLkIgc3MgLXUgLWEKRGlzcGxheSBhbGwgVURQIHNvY2tldHMuCi5UUAouQiBzcyAtbyBzdGF0ZSBlc3RhYmxpc2hlZCAnKCBkcG9ydCA9IDpzc2ggb3Igc3BvcnQgPSA6c3NoICknCkRpc3BsYXkgYWxsIGVzdGFibGlzaGVkIHNzaCBjb25uZWN0aW9ucy4KLlRQCi5CIHNzIC14IHNyYyAvdG1wLy5YMTEtdW5peC8qCkZpbmQgYWxsIGxvY2FsIHByb2Nlc3NlcyBjb25uZWN0ZWQgdG8gWCBzZXJ2ZXIuCi5UUAouQiBzcyAtbyBzdGF0ZSBmaW4td2FpdC0xICcoIHNwb3J0ID0gOmh0dHAgb3Igc3BvcnQgPSA6aHR0cHMgKScgZHN0IDE5My4yMzMuNy8yNApMaXN0IGFsbCB0aGUgdGNwIHNvY2tldHMgaW4gc3RhdGUgRklOLVdBSVQtMSBmb3Igb3VyIGFwYWNoZSB0byBuZXR3b3JrIDE5My4yMzMuNy8yNCBhbmQgbG9vayBhdCB0aGVpciB0aW1lcnMuCi5TSCBTRUUgQUxTTwouQlIgaXAgKDgpLAouQlIgL3Vzci9zaGFyZS9kb2MvaXByb3V0ZS1kb2Mvc3MuaHRtbCAiIChwYWNrYWdlIGlwcm91dGWtZG9jKSIsCi5icgouQlIgUkZDICIgNzkzICIKLSBodHRwczovL3Rvb2xzLmlldGYub3JnL3JmYy9yZmM3OTMudHh0IChUQ1Agc3RhdGVzKQoKLlNIIEFVVEhPUgouSSBzcwp3YXMgd3JpdHRlbiBieSBBbGV4ZXkgS3V6bmV0c292LCA8a3V6bmV0QG1zMi5pbnIuYWMucnU+LgouUFAKVGhpcyBtYW51YWwgcGFnZSB3YXMgd3JpdHRlbiBieSBNaWNoYWVsIFByb2tvcCA8bWlrYUBncm1sLm9yZz4KZm9yIHRoZSBEZWJpYW4gcHJvamVjdCAoYnV0IG1heSBiZSB1c2VkIGJ5IG90aGVycykuCg==