Q29udHJpYnV0b3JzIHRvIHRoZSBQeXRob24gRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGlzIGZpbGUgbGlzdHMgcGVvcGxlIHdobyBoYXZlIGNvbnRyaWJ1dGVkIGluIHNvbWUgd2F5IHRvIHRoZSBQeXRob24KZG9jdW1lbnRhdGlvbi4gIEl0IGlzIHByb2JhYmx5IG5vdCBjb21wbGV0ZSAtLSBpZiB5b3UgZmVlbCB0aGF0IHlvdSBvcgphbnlvbmUgZWxzZSBzaG91bGQgYmUgb24gdGhpcyBsaXN0LCBwbGVhc2UgbGV0IHVzIGtub3cgKHNlbmQgZW1haWwgdG8KcHl0aG9uLWRvY3NAcHl0aG9uLm9yZyksIGFuZCB3ZSdsbCBiZSBnbGFkIHRvIGNvcnJlY3QgdGhlIHByb2JsZW0uCgpJdCBpcyBvbmx5IHdpdGggdGhlIGlucHV0IGFuZCBjb250cmlidXRpb25zIG9mIHRoZSBQeXRob24gY29tbXVuaXR5CnRoYXQgUHl0aG9uIGhhcyBzdWNoIHdvbmRlcmZ1bCBkb2N1bWVudGF0aW9uIC0tIFRoYW5rIFlvdSEKCkluIHRoZSBvZmZpY2lhbCBzb3VyY2VzLCB0aGlzIGZpbGUgaXMgZW5jb2RlZCBpbiBJU08tODg1OS0xIChMYXRpbi0xKS4KCgogIC1GcmVkCgoKQWFoegpNaWNoYWVsIEFiYm90dApKaW0gQWhsc3Ryb20KQS4gQW1vcm9zbwpQZWhyIEFuZGVyc29uCk9saXZlciBBbmRyaWNoCkRhbmllbCBCYXJjbGF5CkNocmlzIEJhcmtlcgpEb24gQmFzaGZvcmQKQW50aG9ueSBCYXh0ZXIKQmVubmV0dCBCZW5zb24KSm9uYXRoYW4gQmxhY2sKUm9iaW4gQm9lcmRpamsKTWljaGFsIEJvem9uCkFhcm9uIEJyYW5jb3R0aQpLZWl0aCBCcmlnZ3MKTGVlIEJ1c2J5CkxvcmVuem8gTS4gQ2F0dWNjaQpNYXVybyBDaWNvZ25pbmkKR2lsbGVzIENpdmFyaW8KU3RldmUgQ2xpZnQKTWF0dGhldyBDb3dsZXMKQW5kcmV3IERhbGtlCkJlbiBEYXJuZWxsClJvYmVydCBEb25vaHVlCkZyZWQgTC4gRHJha2UsIEpyLgpKZWZmIEVwbGVyCk1pY2hhZWwgRXJuc3QKQmxhbWUgQW5keSBFc2tpbHNzb24KQ2FyZXkgRXZhbnMKTWFydGlqbiBGYWFzc2VuCkNhcmwgRmV5bm1hbgpIZXJuYW4gTWFydGluZXogRm9mZmFuaQpTdGVmYW4gRnJhbmtlCkppbSBGdWx0b24KUGV0ZXIgRnVuawpMZWxlIEdhaWZheApNYXR0aGV3IEdhbGxhZ2hlcgpCZW4gR2VydHpmaWVsZApOYWRpbSBHaGF6bmF2aQpKb25hdGhhbiBHaWRkeQpHcmFudCBHcmlmZmluCkFuZGVycyBIYW1tYXJxdWlzdApNYXJrIEhhbW1vbmQKSGFyYWxkIEhhbmNoZS1PbHNlbgpNYW51cyBIYW5kClRyYXZpcyBCLiBIYXJ0d2VsbApKYW5rbyBIYXVzZXIKQmVybmhhcmQgSGVyem9nCk1hZ251cyBMLiBIZXRsYW5kCktvbnJhZCBIaW5zZW4KU3RlZmFuIEhvZmZtZWlzdGVyCkFsYmVydCBIb2ZrYW1wCkdyZWdvciBIb2ZmbGVpdApTdGV2ZSBIb2xkZW4KVGhvbWFzIEhvbGVuc3RlaW4KR2Vycml0IEhvbGwKUm9iIEhvb2Z0CkJyaWFuIEhvb3BlcgpSYW5kYWxsIEhvcHBlcgpNaWNoYWVsIEh1ZHNvbgpKZXJlbXkgSHlsdG9uClJvZ2VyIElyd2luCkphY2sgSmFuc2VuClBoaWxpcCBILiBKZW5zZW4KUGVkcm8gRGlheiBKaW1lbmV6Ckx1Y2FzIGRlIEpvbmdlCkFuZHJlYXMgSnVuZwpSb2JlcnQgS2VybgpKaW0gS2VycgpKYW4gS2ltCkdyZWcgS29jaGFuc2tpCkd1aWRvIEtvbGxlcmllClBldGVyIEEuIEtvcmVuCkRhbmllbCBLb3phbgpBbmRyZXcgTS4gS3VjaGxpbmcKRXJubyBLdXVzZWxhCkRldGxlZiBMYW5uZXJ0ClBpZXJzIExhdWRlcgpHbHlwaCBMZWZrb3dpdHoKTWFyYy1BbmRy6SBMZW1idXJnClVsZiBBLiBMaW5kZ3JlbgpFdmVyZXR0IExpcG1hbgpNaXJrbyBMaXNzCk1hcnRpbiB2b24gTPZ3aXMKRnJlZHJpayBMdW5kaApKZWZmIE1hY0RvbmFsZApKb2huIE1hY2hpbgpBbmRyZXcgTWFjSW50eXJlClZsYWRpbWlyIE1hcmFuZ296b3YKVmluY2VudCBNYXJjaGV0dGkKTGF1cmEgTWF0c29uCkRhbmllbCBNYXkKRG91ZyBNZW5uZWxsYQpQYW9sbyBNaWxhbmkKU2tpcCBNb250YW5hcm8KUm9zcyBNb29yZQpTam9lcmQgTXVsbGVuZGVyCkRhbGUgTmFnYXRhCk5nIFBoZW5nIFNpb25nCktvcmF5IE9uZXIKRGVuaXMgUy4gT3RraWRhY2gKV2lsbGlhbSBQYXJrCkhhcnJpIFBhc2FuZW4KVGltIFBldGVycwpDaHJpc3RvcGhlciBQZXRyaWxsaQpKdXN0aW4gRC4gUGV0dGl0CkNocmlzIFBob2VuaXgKRnJhbudvaXMgUGluYXJkClBhdWwgUHJlc2NvZApFcmljIFMuIFJheW1vbmQKRWR3YXJkIEsuIFJlYW0KU2VhbiBSZWlmc2NobmVpZGVyCkJlcm5oYXJkIFJlaXRlcgpXZXMgUmlzaGVsCkppbSBSb3NraW5kCkd1aWRvIHZhbiBSb3NzdW0KRG9uYWxkIFdhbGxhY2UgUm91c2UgSUkKTmljayBSdXNzbwpDaHJpcyBSeWxhbmQKQ29uc3RhbnRpbmEgUy4KSHVnaCBTYXNzZQpCb2IgU2F2YWdlClNjb3R0IFNjaHJhbQpOZWlsIFNjaGVtZW5hdWVyCkJhcnJ5IFNjb3R0CkpvYWtpbSBTZXJuYnJhbnQKSnVzdGluIFNoZWVoeQpNaWNoYWVsIFNpbWNpY2gKSW9uZWwgU2ltaW9uZXNjdQpSb3kgU21pdGgKQ2xheSBTcGVuY2UKTmljaG9sYXMgU3BpZXMKVGFnZSBTdGFiZWxsLUt1bG8KRnJhbmsgU3RhamFubwpBbnRob255IFN0YXJrcwpHcmVnIFN0ZWluClBldGVyIFN0b2VocgpNYXJrIFN1bW1lcmZpZWxkClJldWJlbiBTdW1uZXIKSmltIFRpdHRzbGVyCk1hcnRpam4gVnJpZXMKQ2hhcmxlcyBHLiBXYWxkbWFuCkdyZWcgV2FyZApCYXJyeSBXYXJzYXcKQ29ycmFuIFdlYnN0ZXIKR2x5biBXZWJzdGVyCkJvYiBXZWluZXIKRWRkeSBXZWxib3VybmUKR2VycnkgV2llbmVyClRpbW90aHkgV2lsZApCbGFrZSBXaW50b24KRGFuIFdvbGZlClN0ZXZlbiBXb3JrClRob21hcyBXb3V0ZXJzCkthLVBpbmcgWWVlCk1vc2hlIFphZGthCk1pbGFuIFphbWF6YWwKQ2hlbmcgWmhhbmcK