LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0gCkZyb206IE9saW4gTGF0aHJvcApTZW50OiBTdW5k YXksIE1heSAyMiwgMjAxMSAxODozNgpUbzogTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlz dCAtIFB1YmxpYy4KU3ViamVjdDogUmU6IFtURUNIXSBCaWN5Y2xlIHBvd2VyIG91dHB1dCBjYWxj dWxhdGlvbgoKPkpvaG4gR2FyZG5lciB3cm90ZToKPj4gSXQncyBwb3NzaWJsZSB0byBtZWFzdXJl IHBvd2VyIHdpdGggYWNjZWxlcm9tZXRlcnMuCj4KPk5vdCBmb3IgdmVyeSBsb25nLCBhbmQgY2Vy dGFpbmx5IG5vdCBpbiBhbnkgcHJhY3RpY2FsIHdheSBmb3IgYSBiaWN5Y2xlIAo+dHJpcAo+bG9n Z2VyLgo+SW4gYWRkaXRpb24sIHlvdXIgZXF1YXRpb25zIGhhdmUgdHdvIG1ham9yIHByb2JsZW1z LiAgRmlyc3QgeW91IGFzc3VtZSBtYXNzCj5pcyBrbm93bi4gIFRoYXQncyBwb3NzaWJsZSBidXQg bm90IGFsbCB0aGF0IHByYWN0aWNhbC4gIFRoZSB3b3JzdCBwcm9ibGVtCj5ob3dldmVyIGlzIHRo YXQgZGVyaXZpbmcgdmVsb2NpdHkgaXMgaGlnaGx5IGVycm9yIHByb25lLiAgSWYgeW91IGhhZCBz aG93bgo+dGhlIGNhbGN1bGF0aW9uIG9mIHZlbG9jaXR5IGZyb20gdGhlIGFjY2VsbGVyYXRpb24g eW91IG1pZ2h0IGhhdmUgc2VlbiAKPnRoaXMuCj4KPlZlbG9jaXR5IGlzIHByb3BvcnRpb25hbCB0 byB0aGUgaW50ZWdyYWwgb2YgYWNjZWxsZXJhdGlvbi4gIFRoaXMgCj5pbW1lZGlhdGVseQo+YnJp bmdzIHVwIHR3byBwcm9ibGVtcy4gIEZpcnN0LCB0aGUgc3RhcnRpbmcgY29uZGl0aW9uIG5lZWRz IHRvIGJlIGtub3duLgo+WW91IGNvdWxkIG1ha2UgdGhlIHJpZGVyIHByb3ZpZGUgYSBpbmRpY2F0 aW9uIG9mIHN0b3BwZWQgb3IgbWF5YmUgZGV0ZWN0Cj5vdmVyYWxsIGxhY2sgb2YgdmlicmF0aW9u IGFuZCBhc3N1bWUgdGhhdCBpbXBsaWVzIHN0b3BwZWQuICBIb3dldmVyLCBieSBmYXIKPnRoZSB3 b3JzdCBwcm9ibGVtIGlzIHRoYXQgYW55IGFjY2VsbGVyYXRpb24gZXJyb3Igd2lsbCBhY2N1bXVs YXRlIG92ZXIgdGltZQo+aW50byB2ZWxvY2l0eS4gIEFueSBhZmZvcmRhYmxlIGFjY2VsbGVyb21l dGVyIHdpbGwgcHJvZHVjZSB1bnVzYWJseSB3cm9uZwo+dmVsb2NpdHkgd2l0aGluIG9ubHkgYSBm ZXcgc2Vjb25kcyBvZiByZXNldC4KSXNu4oCZdCBoZXJlIGFuIGV2ZW4gYmlnZ2VyIHByb2JsZW06 ICBpbiBvcmRlciB0byBtZWFzdXJlIHBvd2VyIHdpdGggCmFjY2VsZXJvbWV0ZXJzICB5b3UgbXVz dCBub3QgaGF2ZSBmcmljdGlvbiAob3IgeW91IG11c3Qga25vdyB0aGUgZnJpY3Rpb24gYXQgCmFu eSBzcGVlZCkuCldoZW4gY3ljbGluZyBhdCBhIGNvbnN0YW50IHNwZWVkIHRoZSBhY2NlbGVyYXRp b24gaXMgemVyby4gIEFzIHBlciBTaXIgSXNhYWMgCnRoZSBmb3JjZSBiZWNvbWVzIHplcm8uCkJ1 dCBhbnkgY3ljbGlzdCBjYW4gYXNzdXJlIHlvdSB0aGF0IGN5Y2xpbmcgYXQgYSBjb25zdGFudCBz cGVlZCB3aXRoIHRoZSAKd2luZCBob3dsaW5nIGFyb3VuZCB5b3VyIGhlYWQgbmVlZHMgbm9uLXpl cm8gZm9yY2UgYW5kIHRodXMgbm9uLXplcm8gcG93ZXLigKYgCkoKClJlZ2FyZHMsCk1pbnRvIFdp dHRldmVlbi4KCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFy Y2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .