Q29udHJpYnV0b3JzIHRvIHRoZSBQeXRob24gRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGlzIGZpbGUgbGlzdHMgcGVvcGxlIHdobyBoYXZlIGNvbnRyaWJ1dGVkIGluIHNvbWUgd2F5IHRvIHRoZSBQeXRob24KZG9jdW1lbnRhdGlvbi4gIEl0IGlzIHByb2JhYmx5IG5vdCBjb21wbGV0ZSAtLSBpZiB5b3UgZmVlbCB0aGF0IHlvdSBvcgphbnlvbmUgZWxzZSBzaG91bGQgYmUgb24gdGhpcyBsaXN0LCBwbGVhc2UgbGV0IHVzIGtub3cgKHNlbmQgZW1haWwgdG8KcHl0aG9uLWRvY3NAcHl0aG9uLm9yZyksIGFuZCB3ZSdsbCBiZSBnbGFkIHRvIGNvcnJlY3QgdGhlIHByb2JsZW0uCgpJdCBpcyBvbmx5IHdpdGggdGhlIGlucHV0IGFuZCBjb250cmlidXRpb25zIG9mIHRoZSBQeXRob24gY29tbXVuaXR5CnRoYXQgUHl0aG9uIGhhcyBzdWNoIHdvbmRlcmZ1bCBkb2N1bWVudGF0aW9uIC0tIFRoYW5rIFlvdSEKCkluIHRoZSBvZmZpY2lhbCBzb3VyY2VzLCB0aGlzIGZpbGUgaXMgZW5jb2RlZCBpbiBJU08tODg1OS0xIChMYXRpbi0xKS4KCgogIC1GcmVkCgoKSmltIEFobHN0cm9tCkEuIEFtb3Jvc28KUGVociBBbmRlcnNvbgpPbGl2ZXIgQW5kcmljaApEYW5pZWwgQmFyY2xheQpDaHJpcyBCYXJrZXIKRG9uIEJhc2hmb3JkCkJlbm5ldHQgQmVuc29uCkpvbmF0aGFuIEJsYWNrClJvYmluIEJvZXJkaWprCk1pY2hhbCBCb3pvbgpBYXJvbiBCcmFuY290dGkKS2VpdGggQnJpZ2dzCkxvcmVuem8gTS4gQ2F0dWNjaQpNYXVybyBDaWNvZ25pbmkKU3RldmUgQ2xpZnQKQW5kcmV3IERhbGtlCkJlbiBEYXJuZWxsClJvYmVydCBEb25vaHVlCkZyZWQgTC4gRHJha2UsIEpyLgpNaWNoYWVsIEVybnN0CkJsYW1lIEFuZHkgRXNraWxzc29uCk1hcnRpam4gRmFhc3NlbgpDYXJsIEZleW5tYW4KSGVybmFuIE1hcnRpbmV6IEZvZmZhbmkKU3RlZmFuIEZyYW5rZQpKaW0gRnVsdG9uClBldGVyIEZ1bmsKTGVsZSBHYWlmYXgKTWF0dGhldyBHYWxsYWdoZXIKQmVuIEdlcnR6ZmllbGQKTmFkaW0gR2hhem5hdmkKSm9uYXRoYW4gR2lkZHkKR3JhbnQgR3JpZmZpbgpBbmRlcnMgSGFtbWFycXVpc3QKTWFyayBIYW1tb25kCk1hbnVzIEhhbmQKVHJhdmlzIEIuIEhhcnR3ZWxsCkphbmtvIEhhdXNlcgpCZXJuaGFyZCBIZXJ6b2cKTWFnbnVzIEwuIEhldGxhbmQKS29ucmFkIEhpbnNlbgpTdGVmYW4gSG9mZm1laXN0ZXIKQWxiZXJ0IEhvZmthbXAKR3JlZ29yIEhvZmZsZWl0CkdlcnJpdCBIb2xsClJvYiBIb29mdApCcmlhbiBIb29wZXIKUmFuZGFsbCBIb3BwZXIKTWljaGFlbCBIdWRzb24KSmVyZW15IEh5bHRvbgpSb2dlciBJcndpbgpKYWNrIEphbnNlbgpQaGlsaXAgSC4gSmVuc2VuClBlZHJvIERpYXogSmltZW5legpMdWNhcyBkZSBKb25nZQpBbmRyZWFzIEp1bmcKUm9iZXJ0IEtlcm4KSmltIEtlcnIKSmFuIEtpbQpHcmVnIEtvY2hhbnNraQpHdWlkbyBLb2xsZXJpZQpQZXRlciBBLiBLb3JlbgpEYW5pZWwgS296YW4KQW5kcmV3IE0uIEt1Y2hsaW5nCkVybm8gS3V1c2VsYQpEZXRsZWYgTGFubmVydApQaWVycyBMYXVkZXIKR2x5cGggTGVma293aXR6Ck1hcmMtQW5kcmUgTGVtYnVyZwpVbGYgQS4gTGluZGdyZW4KRXZlcmV0dCBMaXBtYW4KTWlya28gTGlzcwpNYXJ0aW4gdm9uIEz2d2lzCkZyZWRyaWsgTHVuZGgKSmVmZiBNYWNEb25hbGQKSm9obiBNYWNoaW4KQW5kcmV3IE1hY0ludHlyZQpWbGFkaW1pciBNYXJhbmdvem92ClZpbmNlbnQgTWFyY2hldHRpCkFhaHogTWFydWNoCkxhdXJhIE1hdHNvbgpEb3VnIE1lbm5lbGxhClBhb2xvIE1pbGFuaQpTa2lwIE1vbnRhbmFybwpSb3NzIE1vb3JlClNqb2VyZCBNdWxsZW5kZXIKRGFsZSBOYWdhdGEKTmcgUGhlbmcgU2lvbmcKS29yYXkgT25lcgpEZW5pcyBTLiBPdGtpZGFjaApXaWxsaWFtIFBhcmsKVGltIFBldGVycwpDaHJpc3RvcGhlciBQZXRyaWxsaQpKdXN0aW4gRC4gUGV0dGl0CkNocmlzIFBob2VuaXgKRnJhbudvaXMgUGluYXJkClBhdWwgUHJlc2NvZApFcmljIFMuIFJheW1vbmQKRWR3YXJkIEsuIFJlYW0KU2VhbiBSZWlmc2NobmVpZGVyCkJlcm5oYXJkIFJlaXRlcgpCZXJuaGFyZCBSZWl0ZXIKV2VzIFJpc2hlbApKaW0gUm9za2luZApHdWlkbyB2YW4gUm9zc3VtCkRvbmFsZCBXYWxsYWNlIFJvdXNlIElJCk5pY2sgUnVzc28KQ29uc3RhbnRpbmEgUy4KSHVnaCBTYXNzZQpCb2IgU2F2YWdlCk5laWwgU2NoZW1lbmF1ZXIKQmFycnkgU2NvdHQKSm9ha2ltIFNlcm5icmFudApKdXN0aW4gU2hlZWh5Ck1pY2hhZWwgU2ltY2ljaApJb25lbCBTaW1pb25lc2N1ClJveSBTbWl0aApDbGF5IFNwZW5jZQpOaWNob2xhcyBTcGllcwpUYWdlIFN0YWJlbGwtS3VsbwpGcmFuayBTdGFqYW5vCkFudGhvbnkgU3RhcmtzCkdyZWcgU3RlaW4KUGV0ZXIgU3RvZWhyCk1hcmsgU3VtbWVyZmllbGQKTWFydGlqbiBWcmllcwpDaGFybGVzIEcuIFdhbGRtYW4KR3JlZyBXYXJkCkJhcnJ5IFdhcnNhdwpDb3JyYW4gV2Vic3RlcgpHbHluIFdlYnN0ZXIKQm9iIFdlaW5lcgpFZGR5IFdlbGJvdXJuZQpHZXJyeSBXaWVuZXIKVGltb3RoeSBXaWxkCkJsYWtlIFdpbnRvbgpEYW4gV29sZmUKU3RldmVuIFdvcmsKVGhvbWFzIFdvdXRlcnMKS2EtUGluZyBZZWUKTW9zaGUgWmFka2EKQ2hlbmcgWmhhbmcK