VGhlIG9ubHkgcmVhc29uIEkgd2FzIHR5aW5nIHRvIHVzZSBhIE1PU0ZFVCBhcyBvcHBvc2VkIHRv IEpGRVQgaXMgdGhhdCB0aGUKdm9sdGFnZXMgbmVlZGVkIHRvIGRpdmUgaXQgYXJlIHJlYXNvbmFi bGUuIElmIEkgd2VyZSB0byB1c2UgYSBKRkVULCB3aGljaCBJCnN1c3BlY3Qgd291bGQgYmUgbXVj aCBtb3JlIHN1aXRlZCBkdWUgdG8gbG93IGxlYWthZ2UsIEkgd291bGQgbmVlZCB0bwpnZW5lcmF0 ZSBhYm91dCAtMTBWIHdydCBncm91bmQuIElmIEkgd2VyZSB0byBnbyB0aGF0IHJvdXRlIHRoZW4g SSB3b3VsZApoYXZlIHRvIGFkZCBhIGNoYXJnZSBwdW1wIHRvIHRoZSBkZXNpZ24uIEkgYW0gc2lt cGx5IGludmVzdGlnYXRpbmcgd2hldGhlcgp0aGVyZSBpcyBhbiBlYXNpZXIgd2F5IHRoYXQgSSBj YW4gZ2V0IGF3YXkgd2l0aCBmb3IgdGhpcyBjaXJjdWl0LgoKCk9uIE1vbiwgQXByIDI1LCAyMDE2 IGF0IDM6NDQgQU0sIFJ1c3NlbGxNYyA8YXBwdGVjaG56QGdtYWlsLmNvbT4gd3JvdGU6Cgo+IE9u IDI1IEFwcmlsIDIwMTYgYXQgMDU6MzIsIEphc29uIFdoaXRlIDx3aGl0ZXdhdGVyc3NvZnR3YXJl aW5mb0BnbWFpbC5jb20+Cj4gd3JvdGU6Cj4KPiA+IEhlbGxvLCBJIGFtIHBsYW5uaW5nIG9uIHVz aW5nIGEgMk43MDAyIGFzIHBhcnQgb2YgdGhlIHJlc2V0IGNpcmN1aXQgaW4gYW4KPiA+IG9wLWFt cCBpbnRlZ3JhdG9yLiBUaGUgY2lyY3VpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHZhcmlhYmxlIHNw ZWVkIHZvbHRhZ2UKPiA+IHJhbXBzIGZvciBhIERvcHBsZXIgcmFkYXIgdHJhbnNjZWl2ZXIuIElu IHRoZSBpbnRlZ3JhdG9yLCBJIGNhbm5vdCBlYXNpbHkKPiA+IGluY3JlYXNlIHRoZSBpbnRlZ3Jh dGluZyBjdXJyZW50IHRvIHRoZSBwb2ludCB0aGF0IGxlYWthZ2UgYmVjb21lcwo+ID4gbmVnbGln aWJsZSBzbyBJIG11c3QgZGVhbCB3aXRoIGl0IHNvbWUgb3RoZXIgd2F5Lgo+ID4g4oCLCj4gPgo+ Cj4g4oCLVGhlcmUgbWF5IGJlIGdvb2QgcmVhc29ucyDigItidXQgc28gd2Uga25vdzoKPgo+IFdo eSB1c2UgYSBNT1NGRVQ/Cj4gPgo+IOKAi1doeSB1c2UgdGhhdCBNT1NGRVQ/Cj4KPiBIYXZlbid0 IHRob3VnaHQgdG9vIGhhcmQgb24gaXQgLCBidXQgY2FzY29kZSBkZXZpY2VzIG1heSBoZWxwLgo+ Cj4gKEFzIG9wcG9zZWQgdG8gY2FzY2FkZSBhbHRob3VnaCBhcmd1YWJseSB0aGV5IGFyZSBjYXNj YWRlZCA6LSkgKQo+Cj4KPgo+Cj4KPiAgICBSdXNzZWxsCj4gLS0KPiBodHRwOi8vd3d3LnBpY2xp c3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1 L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+CgoKCi0tIApKYXNvbiBXaGl0ZQotLSAKaHR0cDov L3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2 ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5t aXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .