SWYgdGhlICJhcmNhbmVyeSIgaXMgY29udGFpbmVkIGluIGEgdGhvcm91Z2hseSB0ZXN0ZWQgbW9k dWxlIHdpdGggd2VsbApkb2N1bWVudGVkIGFuZCB1bmFtYmlndW91cyBzcGVjaWZpY2F0aW9uIHRo ZW4gaXQgaXMgbm90ICBwcm9ibGVtLiAgU3VjaCBhCm1vZHVsZSBkb2VzIG5vdCBuZWVkIG1haW50 ZW5hbmNlLiAgIEluZGVlZCB0YW1wZXJpbmcgd2l0aCBsaWJyYXJ5IG1vZHVsZXMKaXMgbm90IHNv IG11Y2ggYSBmaXJpbmcgb2ZmZW5jZSBhcyBhIGhhbmdpbmcgb25lLiAgTGlrZSBzYXVzYWdlcyBz b2Z0d2FyZQpyb3V0aW5lcyBhcmUgYmVzdCBlbmpveWVkIHdob2xlIHJhdGhlciB0aGFuIGRpc3Nl Y3RlZCBpbnRvIHRoZWlyIGNvbXBvbmVudApwYXJ0cyDwn5iJCk9uIDI5IEF1ZyAyMDE2IDQ6NTUg YS5tLiwgIlJ1c3NlbGxNYyIgPGFwcHRlY2huekBnbWFpbC5jb20+IHdyb3RlOgoKPiBPbiAyOSBB dWd1c3QgMjAxNiBhdCAxNDoyNywgSmFtZXMgQ2FtZXJvbiA8cXVvemxAbGFwdG9wLm9yZz4gd3Jv dGU6Cj4KPiA+Cj4gPiA+IElmIGhhbmQgY29kZWQsIGFzIHBlb3BsZSBoYXZlIG5vdGVkIGZvciBv dGhlciBzaW1pbGFyIGV4YW1wbGVzIG9mCj4gPiA+IGNsZXZlcm5lc3MgLSAiVGhhdCdzIGFtYXpp bmdseSBjbGV2ZXIgLSBJJ2QgaW1tZWRpYXRlbHkgZmlyZSBhbnlvbmUKPiA+ID4gd2hvIGRpZCB0 aGF0LiIgOi0pLgo+ID4KPiA+IFRodXMgaXMgaW5ub3ZhdGlvbiBkaXNwYXJhZ2VkLiAgOy0pCj4g Pgo+ID4gPiBNYWludGFpbmFiaWxpdHksIGV2ZW4gaWYgZG9jdW1lbnRlZCBhbmQgd2VsbCB1bmRl cnN0b29kLCB3b3VsZCBiZQo+ID4gPiBjbG9zZSB0byB6ZXJvLgo+ID4KPiA+IEkgZGlzYWdyZWUu ICBJdCdzIGFuIGlzc3VlIG9mIHN0eWxlLgo+ID4KPiA+Cj4g4oCLV2Ugd291bGQgbmVlZCB0byBh Z3JlZSB3aGF0IHdlIHdlcmUgZGlzYWdyZWVpbmcgb24gOi0pLgo+IElmIGEgY29tcGlsZXIgZG9l cyBpdCwgbm8gcHJvYmxlbSwgaXQgbWFyY2hlcyDigIt0byB0aGUgYmVhdCBvZiBpdHMgb3duIGRy dW0uCj4KPiBJZiBhIHBlcnNvbiBkb2VzIHdoYXQgSSBnYXZlIGFuIGV4YW1wbGUgb2YgKGhvcC1z a2lwLSAuLi4pICwKPiBlZwo+Cj4gICAgIEJORSBHb3RjaGErMSAgOyA8LSBkZXN0aW5hdGlvbiBp cyAxIGFkZHJlc3MgbG9jYXRpb24gcGFzdCBHb3RjaGEKPiAgICAgLi4uCj4gICAgIEdvdGNoYTog ICBTVEIgJDIwMzMKPiAgICAgLi4uLgo+ICAgICBSZWFsVGFyZ2V0Ogo+Cj4gVGhlIEJORSBpcyAi cmVhbGx5IiB0YXJnZXRpbmcgJ1JlYWxUYXJnZXQnCj4KPiBUaGVuIHRvIG1haW50YWluIG9yIG1v ZGlmeSB0aGUgY29kZSB3b3VsZCByZXF1aXJlLgo+Cj4gLSAgUmVsYXRpdmUgbG9jYXRpb25zIG9m IHNraXBwaW5nIHBvaW50IGFuZCB0YXJnZXQgd291bGQgbmVlZCB0byBiZSBrZXB0Cj4gY29uc3Rh bnQuCj4gLSAgUmVsYXRpdmUgbG9jYXRpb24gb2YgaG9wcGluZyBwb2ludCBhbmQgdGFyZ2V0IHdv dWxkIG5lZWQgdG8gYmUga2VwdAo+IGNvbnN0YW50IE9SIGFzc2VtYmxlciB3b3VsZCBuZWVkIHRv IGJlIGFibGUgdG8gdGFyZ2V0IGEgcG9pbnQgMSBhZGRyZXNzCj4gbG9jYXRpb24gcGFzdCBhIGxh YmVsLgo+IC0gIERhdGEgYWRkcmVzcyBmb3IgaW5zdHJ1Y3Rpb24gYXQgJ0dvdGNoYScgTVVTVCBy ZW1haW4gYXMgMjBYWCBhbmQgaWYgWFgKPiBjaGFuZ2VzIHRoZW4gcmVsYXRpdmUgbG9jYXRpb25z IG9mIHNraXAgYW5kIHRhcmdldCBtdXN0IGNoYW5nZSBhY2NvcmRpbmdseS4KPiAtICBBZGVxdWF0 ZSBsZXZlbCBvZiBkb2N1bWVudGF0aW9uIGZvciBhbnkgd2hvIE1JR0hUIGJlIHJlcXVpcmVkIHRv Cj4gbWFpbnRhaW4gdGhpcyBjb2RlLgo+Cj4gRm9yIGEgW3dvXW1hbiAtd2hvLWNvbWVzLWFmdGVy IHRvIG1haW50YWluIG9yIGFsdGVyIHRoZSBjb2RlLgo+Cj4gLSBUaGV5IG11c3Qga25vdyB0aGF0 IGFyY2FuZXJ5IHdoaWNoIHJlcXVpcmVzIGFib3ZlLXN0YW5kYXJkIGtub3dsZWRnZSBpcwo+IGlu IHVzZS4gSWYgdGhpcyB3YXMgZG9uZSBoZXJlIHRoZW4gaXQncyBhbG1vc3QgY2VydGFpbiBvdGhl ciAnY2xldmVyJwo+IHRoaW5ncyBoYXZlIGJlZW4gZG9uZSBhcyB3ZWxsLgo+IC0gVGhleSBtdXN0 IHVuZGVyc3RhbmQgdGhlIHNwZWNpZmljIGFyY2FuZXJ5IGhlcmUuCj4gLSBUaGV5IG11c3QgdW5k ZXJzdGFuZCB0aGUgdXNlIG9mICQyMCBhcyBhZGRyZXNzIE1TQiBhbmQgYXMgIkJSQSIgb3Bjb2Rl Lgo+IFRoaXMgcmVxdWlyZXMga25vd2luZyB0aGVpciBvcGNvZGVzIChhbmQgbW9yZSkuIFdoaWxl IHRob3NlIGNvbXBldGVudCBpbgo+IHRoZSBhcnQgZG8sIGl0IGlzIG5vdCBhIHJlcXVpcmVtZW50 IHRvIHdyaXRlIGF0IGFzc2VtYmxlciBsZXZlbC4gW0kgc3RhcnRlZAo+IHVQIGRldmVsb3BtZW50 IGxpZmUgd2l0aCBubyBhc3NlbWJsZXIgYXZhaWxhYmxlIHNvIHdyb3RlIGkgYXNzZW1ibGVyIGFu ZAo+IGJyYWluIGNvbXBpbGVkIHRvIG1hY2hpbmUgbGFuZ3VhZ2UsIHNvIHRoZSBhYm92ZSBpcy93 YXMgbm90IGFuIGlzc3VlIGZvcgo+IG1lLiBGb3IgbWFueSBpdCB3b3VsZCBiZSwgdG8gdmFyaW91 cyBleHRlbnRzLgo+Cj4gWW91IGNvdWxkIGFkZCB0byB0aGF0IGxpc3QsIGJ1dCBpdCBpcyBsaWtl bHkgdGhhdCBhbnlvbmUgd2hvIHdhcyAnY2xldmVyCj4gZW5vdWdoJyB0byB3cml0ZSBzdWNoIGNv ZGUgd291bGQgYmUgJ3JvZ3VlIGVub3VnaCcgdG8gZmFpbCB0aGUgYWJvdmUKPiBtZW50aW9uZWQg Jy0gIEFkZXF1YXRlIGxldmVsIG9mIGRvY3VtZW50YXRpb24gZm9yIGFueSB3aG8gTUlHSFQgYmUg cmVxdWlyZWQKPiB0byBtYWludGFpbiB0aGlzIGNvZGUuJyB0ZXN0Lgo+Cj4gV2hpbGUgdGhlcmUg bWF5IGV4aXN0IHBlb3BsZSB3aG8gd2VyZSBvcmRlcmVkLCB0aWR5IGFuZCBzdWl0YWJseSB3aWxs ZWQgdG8KPiBib3RoIHdyaXRlIHN1Y2ggY29zZSBBTkQgdG8gZG9jdW1lbnQgaXQgc3VwZXJibHkg YW5kIHdlbGwgZW5vdWdoLCBJIGRvIG5vdAo+IHJlY2FsbCBldmVyIGhhdmluZyBtZXQgYW55IDst KS4KPgo+IFNvLCBoYXZpbmcgd2lsbGZ1bGx5IGZhaWxlZCB0aGUgIOKAiyJtdXN0IHdyaXRlIGFk ZXF1YXRlbHkgbWFpbnRhaW5hYmxlIGNvZGUnCj4gcGFydCBvZiB0aGUgam9iIHNwZWMgKG5vdCB0 aGF0IGFueW9uZSBmdWxseSBwYXNzZXMgOi0pICkuIHlvdSBmaXJlIHRoZW0sCj4gaWRlYWxseSBi ZWZvcmUgdGhleSBhcmUgZW1wbG95ZWQuCj4g4oCLQW5kIHllcywgdGhlcmVieSBtaXNzIG91dCBv biBncmVhdCBpbm5vdmF0aW9uLCBza2lsbCwgY2FwYWJpbGl0eSwgZ2VuaXVzCj4gLi4uIC4KPiBX aGljaCBpcyBmaW5lIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyBmYXIgZ3JlYXRlciB0aGFuIGhh dmluZyB0aGVtIHdyaXRlCj4gY29kZSB3aGljaCBzdG9wcyB3b3JraW5nIGNvbXBsZXRlbHkgYWx3 YXlzIG9yIHNvbWV0aW1lcyB3aGVuIHNvbWVib2R5IGVsc2UKPiBjaGFuZ2VzIGEgc2luZ2xlIGlu bm9jdW91cyBsaW5lIGFueXdoZXJlIGluIHRoZSBjb2RlLgo+Cj4gVGhlcmUgYXJlIGluZGVlZCBz dWNoIHBlb3BsZSB3aG9zZSB2YWx1ZSBvYnZpb3VzbHkgbWVyaXRzIGVtcGxveW1lbnQuIEJ1dAo+ IHlvdSBkb24ndCB1c2UgdGhlbiB0byB3cml0ZSBjb2RlIHRoYXQgbXVzdCBiZSBtYWludGFpbmVk IDotKS4KPgo+Cj4gICAgICBSdXNzZWxsCj4KPgo+IOKAiwo+IC0tCj4gaHR0cDovL3d3dy5waWNs aXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVk dS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90 ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlz dGluZm8vcGljbGlzdAo= .