VGhhbmtzIFJ1c3NlbCB5b3UgYXJlIG91dGRvaW5nIHlvdXJzZWxmIGFnYWluIHdpdGggdGhlIHRo b3JvdWdobmVzcyBvZiB5b3VyCnJlc2VhcmNoIGFuZCByZXBvcnRpbmchCkkgYW0gc3RpbGwgYSBi aXQgc3RpY2tlciBzaG9ja2VkLCBidXQgSSB0aGluayBJIGNhbiBoYW5kbGUgaXQgc2luY2UgSSBz ZWUKbm8gZXZpZGVuY2UgYW55d2F5IHRoYXQgYW55Ym9keSB1c2VzIHNpbGljb24gZW5jYXBzdWxh bnRzIGZvciB2YWN1dW0KaW5mdXNpb24gYW55d2F5LiBUaGUgbGF5dXAgYW5kIHBvcmluZyBvZiBl bmNhcHN1bGFudCBmcm9tIHRoZSBiYWNrIGZyb20gdGhlCnZpZGVvIHlvdSBsaW5rZWQgaXMgcmF0 aGVyIGZ1bm55IGluIG15IG9waW5pb24sIGFzIHRoZXJlIGlzIG5vIGNoYW5jZSB0aGUKYnViYmxl cyB3aWxsIGdldCBvdXQgYnkgdGhlbXNlbHZlcyEgSSBhbHNvIGZvbmQgYSBjaGVhcGVyIGNsb25l IGxpbmtlZCBvbgplYmF5IGxpc3RpbmdzOiBDZWxsIEd1YXJkClNvIEkgZXZvbHZlIG15IHByb3Bv c2FsIHRvICdwYWludCcgdGhlIFBDIHNoZWV0IHdpdGggYSB0aGluIGxheWVyIG9mIHRoYXQKdHlw ZSBvZiB0cmFuc3BhcmVudCBzaWxpY29uIGJlZm9yZSBsYXlpbmcgZG93biB0aGUgTWF4ZW9uIHN0 cmluZ3MuIHRoZW4gSQpwcm9jZWVkIHRvIGxheSB0aGUgZmliZXJnbGFzcyBzdHJpbmdzIG9ubHkg YmVoaW5kIChpbiB0aGUgc2hhZGUgb2YpIHRoZQpjZWxscywgZmluYWxseSBJIGxheSB0aGUgTEVE IHN0cmlwcyBhbmQgb24gdG9wIHRoZSBVViByZXNpc3RhbnQgZ3JlZW5ob3VzZQpmb2lsIHByZXBl ZCBmb3IgdmFjdXVtIGV4dHJhY3Rpb24uCkknbGwgZ2l2ZSBpdCBzb21lIHRpbWUgIHVuZGVyIGV2 YWN1YXRpb24gc28gdGhlIGNlbGxzIHNldHRsZSBpbnRvIHRoZQpzaWxpY29uIGFuZCBidWJibGVz IGRpc2FwcGVhciBhbmQgZmluYWxseSBldmVuIG11Y2ggbGF0ZXIgSSBpbmZ1c2Ugc29tZQpraW5k IG9mIChldmVuIGhhcmRlbmluZykgZXBveHkgdG8gZmlsbCB0aGUgZmliZXJnbGFzcywgdG8gZ2l2 ZSB0aGUgY2VsbHMKc29tZSBraW5kIG9mIGJhY2tib25lIGFuZCBzdHJ1Y3R1cmFsIGludGVncml0 eSBhbmQgaG9wZWZ1bGx5IGdsdWUgYmFja3NoZWV0CmFuZCBMRURzIGFuZCBhbGwgaW50byBvbmUg ZmxhdCB1bml0Li4uCkF0IHRoZSBlbmQgYWZ0ZXIgdHJpbW1pbmcgdGhlIHBhbmVsIGlzIG1vdW50 ZWQgd2l0aCBhIHNsaWdodCBjdXJ2YXR1cmUgb250bwp0aGUgYWx1bWludW0gc29sZGVyZWQgZnJh bWUgYW5kIG9uIHRvcCBvZiB0aGUgdmVoaWNsZS4uLgoKV2hhdCBkbyB5b3UgdGhpbms/CgpPbiBT YXQsIERlYyAxOSwgMjAxNSBhdCAxMDowMSBBTSwgUnVzc2VsbE1jIDxhcHB0ZWNobnpAZ21haWwu Y29tPiB3cm90ZToKCj4gT24gMTkgRGVjZW1iZXIgMjAxNSBhdCAwNjozNCwgVG9iaWFzIEdvZ29s aW4gPHVzZXJ0b2dvQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPgo+ID4gQW5kIHRoYW5rIFJ1c3NlbCBm b3IgdGhlIHdhcm5pbmdzIGFib3V0IEV4cG94eS4uLgo+ID4KPgo+IOKAi1N0aWxsIGJyaWVmIHZl cnNpb27igIsuCj4gU2VlIGJlbG93Cj4KPiBNb3JlIGFub24KPgo+Cj4gICAgICBSdXNzZWxsCj4K Pgo+IEVwb3h5Ogo+Cj4gRG9uJ3QhCj4KPiBFcG94eSBpbiB0aGUgbGlnaHQgcGF0aCB3aWxsIGJl IGZhdGFsIGlmIHlvdSB3YW50IGFueSBzb3J0IG9mIGxvbmdldml0eS4gSXQKPiBpcyBhdHRhY2tl ZCBieSBVViBhbmQgbGl0ZXJhbGx5IGRpc2ludGVncmF0ZXMgYXMgdGhlIGJvbmRzIGFyZSBicm9r ZW4uIEl0Cj4gZGFya2Vucywgc3BsaXRzIHdoaXRlbnMgYW5kIGNydW1ibGVzLiAgQSB0aGluIGxh eWVyIHdpbGwgYmVoYXZlIHRoZSBzYW1lLgo+IFdoaWxlIHlvdSBjYW4gIGFkZCBVViBmaWx0ZXJz IGFuZCBmcmVlIHJhZGljYWwgc2NhdmVuZ2VycyBpdHMgYmV0dGVyIHRvIG5vdAo+IHVzZSBlcG94 eS4KPgo+ICpTUiBmbyBzb2xhciBlbmNhcHN1bGF0aXVvbioKPgo+IFRoZSBsb25nIHVzZWQgc2ls aWNvbmUgcnViYmVyIGJ5IHRoZSBESVkgUFYgY29tbXVuaXR5IGlzICpTWUxHQVJEIDE4NC4qCj4g WW91IHNob3VsZCBiZSBhYmxlIHRvIGZpbmQgYSBsb3dlciBjb3N0IHNvdXJjZSB0aGFuIGViYXkg b3IgQW1hem9uIGluCj4gbW9kZXN0IHZvbHVtZS4KPgo+IERJWS4gQ2F2ZWF0IGVtcHRvci4KPiBF VkEgT1IgT1IgU1lMR0FSRCAxODQgRk9SIERJWSBTT0xBUiBQQU5FTFMgRU5DQVBTVUxBVElPTgo+ Cj4gaHR0cDovL3d3dy5jZWRhcndvcmtzaG9wLm5ldC8yMDEzLzAyLzE5L2V2YS1vci1vci1zeWxn YXJkLTE4NC1mb3Itc29sYXItcGFuZWxzLWVuY2Fwc3VsYXRpb24vCj4KPiBCdXkgb24gQW1hem9u Cj4KPiBodHRwOi8vd3d3LmFtYXpvbi5jb20vU3lsZ2FyZC1Tb2xhci1FbmNhcHN1bGF0aW9uLU1h a2luZy1QYW5lbHMvZHAvQjAwNElKRU5CRwo+Cj4KPiBCdXkgb24gZWJheQo+Cj4gaHR0cDovL3d3 dy5lYmF5LmNvbS9pdG0vRG93LUNvcm5pbmctU3lsZ2FyZC0xODQtU29sYXItQ2VsbC1Tb2xhci1Q YW5lbC1FbmNhcHN1bGF0aW9uLUtpdC1GcmVzaC1Qcm9kdWN0LS8xODA1MTg5NTQ1ODQKPgo+IEJ1 eSBmcm9tIHJlc2VsbGVyCj4KPiBodHRwOi8vd3d3LmV2ZXJicmlnaHRzb2xhci5uZXQvc3lsZ2Fy ZC0xODQtc2lsaWNvbmUtZWxhc3RvbWVyLWtpdC1lbmNhcHN1bGF0aW9uLTE4NC5odG1sCj4KPiBB bGlib29ib28KPgo+IGh0dHA6Ly93d3cuYWxpYmFiYS5jb20vc2hvd3Jvb20vc3lsZ2FyZC0xODQt c29sYXItY2VsbC1zb2xhci1wYW5lbC1lbmNhcHN1bGF0aW9uLmh0bWwKPgo+IFNvbGFyUGFuZWxU YWxrCj4gU2V2ZXJhbCBhbHRlcm5hdGl2ZSBlbmNhcHN1bGFudHMgbWVudGlvbmVkCj4KPiBodHRw czovL3d3dy5zb2xhcnBhbmVsdGFsay5jb20vZm9ydW0vZGl5LXNvbGFyLXBhbmVscy9kaXktc29s YXItcGFuZWxzLWFhLzE0NTEtdGhlLXJlYWwtcG9zdC1zb2xhci1wYW5lbC1lbmNhcHN1bGF0aW9u Cj4KPgo+IERJWSBhZHZpY2UgZWJheQo+IGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9 TXV3Y2x3NW9ZZDgKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPgo+Cj4gVGhp cyBwYXBlciBzaG93cyBob3cgaGFyZCBpdCBpcyB0byBtYWtlIHNvbWV0aGluZyB0aGF0IHdvcmtz IHdlbGw6Cj4KPiBUaGUgMjAwOCBwYXBlciBsaW5rZWQgYmVsb3cgYW5ub3VuY2VkIGF0IGEgc29s YXIgY29uZmVyZW5jZSB0aGUgZGV2ZWxvcG1lbnQKPiBvZiBhIG5ldyBQViBlbmNhcHN1bGF0aW9u IHNpbGljb25lIHJ1YmJlciBQVjYxMDAuICBEQyB3ZXJlIHRvIHN1cHBseSBjdXN0b20KPiBtYWNo aW5lcnkgdG8gZmFicmljcWF0ZSBTaWxpY29uZSBSdWJiZXIgYm9uZGVkIHBhbmVscyBhdCBhIGNv c3QgYW5kCj4gcGVyZm9ybWFuY2UgbGV2ZWwgdGhhdCB3b3VsZCBvdXRjb21wZXRlIHRyYWRpdGlv biBnbGFzcy1FVkEtaVNpbGljb25lCj4gcGFuZWxzLgo+Cj4gQWZ0ZXIgYSBmZXcgeWVhcnMgb2Yg aG9vcGxhIGFuZCBwcm9taXNlIGl0IGRpc2FwcGVhcmVkIGZyb20gdGhlIG1ya2V0IGFuZAo+IGNh bm5vdCBiZSBwdXJjaGFzZWQuCj4KPiAqVGhlIHBhcGVyIGlzLCBob3dldmVyLCBhIHN1cGVyYiB0 dXRvcmlhbCBvbiB3aGF0IGlzIHJlcXVpcmVkLioKPgo+ICpBdCBhZGRyZXNzOiAgICAgICAgICAg ICAgaHR0cDovL2JpdC5seS9SVVNMVEVDSDAxCj4gPGh0dHA6Ly9iaXQubHkvUlVTTFRFQ0gwMT4q Cj4KPiAqSW4gZm9sZGVyIFBWKgo+Cj4gKDEpIFNlZSBwYXBlciAiX1FWIF9QViAtIFNpbGljb25l cyBmb3JQaG90b3ZvbHRhaWMgZW5jYXBzdWxhdGlvbiAtIERvdwo+IENvcm5pbmcgJiBBTlUgMjAw OCBQViBzb2xhciBlbmVyZ3kgY29uZmVyZW5jZSBQVjYxMDAgaW50cm8gIF9xOTQKPiB3d3cuZG93 Y29ybmluZy5jb21fY29udGVudF9wdWJsaXNoZWRsaXRfMDYtMTAyMy0wMS5wZGYiCj4KPgo+IEp1 c3QgZm91bmQgb3JpZ2luYWwKPiBodHRwOi8vd3d3LmRvd2Nvcm5pbmcuY29tL2NvbnRlbnQvcHVi bGlzaGVkbGl0LzA2LTEwMjMtMDEucGRmCj4KPiAoMikgVGhlIHBhcGVyIG9uIEF1dG90ZXggZmls bSBkZXNjcmliZXMgYSBmcm9udCBzaGVldCBwcm9kdWN0IHRoYXQgTUFZIHN1aXQKPiB5b3UuCj4K PiAgICAgICAgICAgICAgICAgQXV0b3RleC1YRSBQb2x5ZXN0ZXIgZmlsbSBEYXRhIFNoZWV0LnBk Zgo+IF9fX19fX19fX19fX19fX18KPgo+IEJvbmRpbmcgU2kgb24gUEMgaXMgbGlrZWx5IHRvIGhh dmUgZGlmZmVyZW50aWFsIGV4cGFuc2lvbiAgaXNzdWVzCj4KPiBJIGhhdmUgc29tZXdoZXJlIGEg cGFwZXIgYnkgcGVvcGxlIGluID9HdWF0YW1hbGE/IHdobyBkZXZlbG9wZWQgYSBzdXBlcmlvcgo+ IHRlY2huaXF1ZSB0byBTUiBib25kaW5nIGhpZ2ggZnJhZ2lsaXR5eSBQViBjZWxscy4KPgo+Cj4g 4oCLUgo+IC0tCj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NY IEZBUSAmIGxpc3QgYXJjaGl2ZQo+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25z IGF0Cj4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKPgoK CgotLSAK4oCeSmV0enQgd2FyIGRlciBBdWdlbmJsaWNrIGdla29tbWVuIHdvIHdpciBkZW5rZW4g bXVzc3Rlbi4gRGVyIEF1Z2VuYmxpY2sgd28Kd2lyIGF1ZnNwcmluZ2VuIHVuZCBlbnRzY2hlaWRl biBtdcOfdGVuLCB3ZW5uIHdpciBuaWNodCBhbGxtw6RobGljaCBzbwp2ZXJnaWZ0ZXQgd2VyZGVu IHdvbGx0ZW4sIGRhw58gd2lyIGJsaW5kIGRpZSBQbMOkdHplIGVpbm5haG1lbiwgZGllIHVucyBp bQpmw7xocmVybG9zZW4gWnVnIGRlciDDhGx0ZXJlbiBhbmdlYm90ZW4gd3VyZGVuLuKAnApBdXMg ZGVtIGVyc3RlbiBLYXBpdGVsIHZvbiAnRmF0dSBIaXZhIC0gWnVyw7xjayB6dXIgTmF0dXInIHZv biBUaG9yIEhleWVyZGFobAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpU b2JpYXMgR29nb2xpbgpUZWwuIEQxICg0OSkgMDE1MSA1MTg3IDUyMTAKVGVsLiBEMiAoNDkpIDAx NTIgMDgzOSA1MDYwCnNreXBlOiBtb29udG9nbwoKWW91IGRldmVsb3AgU3VzdGFpbmFibGUgUmFu Y2ggVGVjaG5vbG9neSBhdApodHRwOi8vdGVjaC5ncm91cHMueWFob28uY29tL2dyb3VwL1NVUkEt VEVDSAphbiBPcGVuIFNvdXJjZSBFbGVjdHJpYyBNb3Rvci9BbHRlcm5hdG9yIGF0Cmh0dHA6Ly9n cm91cHMueWFob28uY29tL2dyb3VwL1BlcmZvcm1hbmNlX0F4aWFsX0ZsdXgKYW5kIGFuIE9wZW4g U291cmNlIE1vdG9yIENvbnRyb2xsZXIgYXQgaHR0cDovL2dyb3Vwcy55YWhvby5jb20vZ3JvdXAv R29Cb3gKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQK aHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .