SSBzdXNwZWN0IHRoYXQgdGhlIEJyaXRpc2ggc2F1c2FnZSwgbGUgc2F1c2FnZSBhbmdsYWlzIGFz IFNpciBIdW1waHkgZHViYmVkCml0LCBkaWZmZXJzIHN1YnN0YW50aWFsbHkgZnJvbSB5b3VyIHNh dXNhZ2UgYXMgaXQgZG9lcyBmcm9tIEdlcm1hbiB3dXJzdAoKQml0IG15IGNvbW1lbnQgd2FzIHBs YXkgb24gImlmIHlvdSBsaWtlIGxhdyBvciB5b3UgbGlrZSBzYXVzYWdlcywgZG9uJ3QKd2F0Y2gg dGhlbSBiZWluZyBtYWRlLgpPbiAyOSBBdWcgMjAxNiA3OjE3IGEubS4sICJKYW1lcyBDYW1lcm9u IiA8cXVvemxAbGFwdG9wLm9yZz4gd3JvdGU6Cgo+IE9uIE1vbiwgQXVnIDI5LCAyMDE2IGF0IDA2 OjQ3OjE0QU0gKzAxMDAsIERhdmlkIEMgQnJvd24gd3JvdGU6Cj4gPiBJZiB0aGUgImFyY2FuZXJ5 IiBpcyBjb250YWluZWQgaW4gYSB0aG9yb3VnaGx5IHRlc3RlZCBtb2R1bGUgd2l0aAo+ID4gd2Vs bCBkb2N1bWVudGVkIGFuZCB1bmFtYmlndW91cyBzcGVjaWZpY2F0aW9uIHRoZW4gaXQgaXMgbm90 Cj4gPiBwcm9ibGVtLiAgU3VjaCBhIG1vZHVsZSBkb2VzIG5vdCBuZWVkIG1haW50ZW5hbmNlLgo+ Cj4gQWdyZWVkLiAgVGhhdCdzIHdoZXJlIEkndmUgc2VlbiBpdCBkb25lOyBvciBpbiB3ZWxsIGRv Y3VtZW50ZWQgbWFjcm9zLgo+Cj4gPiBJbmRlZWQgdGFtcGVyaW5nIHdpdGggbGlicmFyeSBtb2R1 bGVzIGlzIG5vdCBzbyBtdWNoIGEgZmlyaW5nCj4gPiBvZmZlbmNlIGFzIGEgaGFuZ2luZyBvbmUu Cj4KPiBPbiB0aGUgb3RoZXIgaGFuZCwgc29tZSBsYW5ndWFnZXMgZW5jb3VyYWdlIHN1YmNsYXNz aW5nIGZyb20gbGlicmFyeQo+IG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSB0YW1wZXJpbmcuCj4KPiA+ IExpa2Ugc2F1c2FnZXMgc29mdHdhcmUgcm91dGluZXMgYXJlIGJlc3QgZW5qb3llZCB3aG9sZSBy YXRoZXIgdGhhbgo+ID4gZGlzc2VjdGVkIGludG8gdGhlaXIgY29tcG9uZW50IHBhcnRzIPCfmIkK Pgo+IEhhdmUgdHJvdWJsZSBmaXR0aW5nIHRoZW0gaW4gd2l0aG91dCBkaXNzZWN0aW9uIG9mIHNv bWUgc29ydDsgdGVldGggb3IKPiBjdXRsZXJ5Lgo+Cj4gTGVhcm5lZCBhIG5ldyBtZXRob2QgdGhl IG90aGVyIGRheTsgdGVuIG1pbnV0ZXMgaW4gd2F0ZXIgYXQgYWJvdXQKPiAxMDDCsEMsIGZvbGxv d2VkIGJ5IGEgY29udGFjdCB0cmVhdG1lbnQgYXQgYWJvdXQgMjUwwrBDLiAgUGxlYXNpbmcKPiBy ZXN1bHRzOyBidXQgaXQgYWxzbyBleHRyYWN0ZWQgZmF0cyBhbmQgb2lscy4gIE1pbGRseSBjaGVh dGVkLgo+Cj4gLS0KPiBKYW1lcyBDYW1lcm9uCj4gaHR0cDovL3F1b3psLm5ldHJlay5vcmcvCj4g LS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYg bGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBo dHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Ci0tIApodHRw Oi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNo aXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .