TGl0dGxlIGVub3VnaCB0byBkbyB3aXRoIGZhc3QgY291bnRpbmcsIEkgc3VwcG9zZSwgYWx0aG91 Z2ggdGhlIHVzdWFsIApwdXJwb3NlIG9mIHN1Y2ggZW5jb2RlcnMgZG9lc24ndCByZWFsbHkgcmVx dWlyZSBhIHJhcGlkIHJlc3BvbnNlLiAgSSdtIApqdXN0IHRyeWluZyB0byBtYWtlIHN1cmUgd2Ug YXJlIGFsbCB0YWxraW5nIGFib3V0IHRoZSBzYW1lIHRoaW5nLiAgQm90aCAKZW5jb2RlcnMgdHlw ZXMgaGF2ZSBxdWFkcmF0dXJlIG91dHB1dHMsIGJ1dCBjb2RlIHRoYXQgd29ya3MgZ3JlYXQgZm9y IApvbmUgbWlnaHQgbm90IGJlIHRoYXQgZ3JlYXQgZm9yIHRoZSBvdGhlci4gIEkgdGhpbmsgeW91 ciBjb2RlIGlzIGdyZWF0IApmb3IgbWVjaGFuaWNhbCB0eXBlIGVuY29kZXJzIGxpa2UgSSBkZXNj cmliZWQsIGFuZCB3aGVuIEkgZ2V0IGEgY2hhbmNlIAp0byBnZXQgYmFjayB0byBteSBtZWNoYW5p Y2FsIGVuY29kZXJzIEknbSBnb2luZyB0byB0cnkgaXQuCgpLZXJyeQoKCmppbUBqcGVzLmNvbSB3 cm90ZToKPiAgb2suICBidXQgaG93IGRvZXMgdGhhdCBlcXVhdGUgdG8gY291bnRpbmcgcmFwaWRs eT8gIGp1c3QgY3VyaW91cy4KPgo+Cj4gUmVnYXJkcywKPgo+IEppbQo+Cj4gICAKPj4gLS0tLS0t LS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLS0tLQo+PiBTdWJqZWN0OiBSZTogW0VFXSBSb3Rhcnkg RW5jb2RlciBJbXBsZW1lbnRhdGlvbgo+PiBGcm9tOiBLZXJyeSBXZW50d29ydGggPGt3ZW50d29y dGhAc2t1bmt3b3Jrc25oLmNvbT4KPj4gRGF0ZTogVHVlLCBPY3RvYmVyIDExLCAyMDExIDEwOjQ1 IHBtCj4+IFRvOiAiTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAtIFB1YmxpYy4iIDxw aWNsaXN0QG1pdC5lZHU+Cj4+Cj4+Cj4+IENvcnJlY3QgbWUgaWYgSSdtIHdyb25nLCBidXQgdGhp cyBlbmNvZGVyIGlzIG1lY2hhbmljYWwsIG5vdCBvcHRpY2FsLCAKPj4gYW5kIGl0IGhhcyBkZXRl bnRzLCBhbmQgbW92aW5nIGZyb20gMSBkZXRlbnQgdG8gdGhlIG5leHQgZXF1YWxzIDM2MCAKPj4g ZGVncmVlcyBvZiBlbGVjdHJpY2FsIHRyYXZlbC4gIEkgaGF2ZSB0cmllZCB0byB1c2UgbXkgbm9y bWFsIG9wdGljYWwgCj4+IGVuY29kZXIgc29mdHdhcmUgd2l0aCBzdWNoIGVuY29kZXJzIHdpdGgg cG9vciByZXN1bHRzLgo+Pgo+PiBVc2luZyA0WCBvciBldmVuIDJYIGFsZ29yaXRobXMgd291bGQg aGF2ZSBubyBhZHZhbnRhZ2Ugd2l0aCBzdWNoIAo+PiBlbmNvZGVycy4gICBBbHNvLCB0aGV5IHdp bGwgbmV2ZXIgc2l0IG9uIHRoZSBlZGdlIG9mICBBIG9yIEIgY2hhbmdpbmcgCj4+IHdpdGggc21h bGwgdmlicmF0aW9ucy4gVGhleSB3aWxsIHNpdCBpbiBhIGRldGVudCBoYWxmd2F5IGJldHdlZW4g QSAKPj4gY2hhbmdlIGFuZCBCIGNoYW5nZS4KPj4KPj4gS2VycnkKPj4KPj4KPj4KPj4gamltIHdy b3RlOgo+PiAgICAgCj4+PiBObyBpdCB3b24ndCAiY291bnQgcmFwaWRseSIuICBCZWNhdXNlIEkg d2FpdCBmb3IgdGhlIG91dHB1dHMgdG8gZ28gdG8gCj4+PiB0aGUgbm9ybWFsIHJlc3Rpbmcgc3Rh dGUgYmVmb3JlIEkgZXhpdCB0aGUgcm91dGluZSB3aGVyZSBpdCBhZGRzIHRvIHRoZQo+Pj4gY291 bnQgdmFyaWFibGUuICBJIGhhdmUgYmVlbiBwbGF5aW5nIHdpdGggdGhlIGVuY29kZXIgdG8gZ2V0 IGl0IHRvIG1lc3MgCj4+PiB1cCwgYnV0IEkgaGF2ZW4ndCBiZWVuIGFibGUgdG8gc28gZmFyLiAg SXQgd29ya3MgZm9yIG1lIGFzIGl0IGlzLiBZTU1WLgo+Pj4gSSBkb24ndCBjbGFpbSBpdCB0byBi ZSBidWxsZXRwcm9vZi4gIEFsbCBJIGNsYWltIGlzIHRoYXQgSSB3cm90ZSBpdCB1c2luZwo+Pj4g SW5mb3JtYXRpb24gZ2xlYW5lZCBmcm9tIG9ic2VydmF0aW9uIG9mIHRoZSBlbmNvZGVyIGF0IHdv cmsgdXNpbmcgYSBETU0sCj4+PiBBbmQgZnJvbSBvdGhlcnMgY29kZSBwb3N0ZWQgb24gdGhlIGlu dGVybmV0Lgo+Pj4KPj4+IFJlZ2FyZHMsCj4+Pgo+Pj4gSmltCj4+Pgo+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPj4+IEZyb206IHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1IFttYWlsdG86 cGljbGlzdC1ib3VuY2VzQG1pdC5lZHVdIE9uIEJlaGFsZiBPZiBDaHJpc3RvcGhlciBIZWFkCj4+ PiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDExIDU6NDggUE0KPj4+IFRvOiBwaWNsaXN0 QG1pdC5lZHUKPj4+IFN1YmplY3Q6IFJlOiBbRUVdIFJvdGFyeSBFbmNvZGVyIEltcGxlbWVudGF0 aW9uCj4+Pgo+Pj4gICAKPj4+ICAgICAgIAo+Pj4+IGppbUBqcGVzLmNvbSB3cm90ZToKPj4+PiAg ICAgCj4+Pj4gICAgICAgICAKPj4+Pj4gIEFsbCwKPj4+Pj4KPj4+Pj4gIEkgaGF2ZSBiZWVuIHdv cmtpbmcgd2l0aCBhIHJvdGFyeSBlbmNvZGVyIHRoYXQgSSBhbSBwbGFubmluZyB0bwo+Pj4+PiB1 c2UgYXMgYSBjb250cm9sIGZvciBhIHBpZWNlIG9mIHRlc3QgCj4+Pj4+ICBlcXVpcG1lbnQgYXQg d29yay4gIEkgaGF2ZSBsb29rZWQgb24gdGhlIHdlYiBmb3IgYWxnb3JpdGhtcyB0bwo+Pj4+PiBk ZWNvZGUgdGhlIG91dHB1dHMgb2Ygc2FpZCBlbmNvZGVyLCAKPj4+Pj4gIGFuZCBoYXZlIGZvdW5k IHNldmVyYWwuICBNb3N0IG9mIHRoZW0gd29yayBhcyBhZHZlcnRpc2VkIGluIG15Cj4+Pj4+IGFw cGxpY2F0aW9uLCBidXQgSSBoYXZlIGNvbWUgdXAgd2l0aCBhIAo+Pj4+PiAgdmVyc2lvbiB0aGF0 IHdvcmtzIHZlcnkgd2VsbCBpbiBteSBvcGluaW9uLgo+Pj4+Pgo+Pj4+PiAgSSBkb24ndCBrbm93 IHdoZXRoZXIgaXQgaXMgbmV3IG9yIG5vdmVsLCBidXQgYWxsIEkgaGF2ZSBkb25lIGlzCj4+Pj4+ IHdhdGNoIGZvciB0aGUgIkEiIG91dHB1dCB0byBnbyBoaWdoLgo+Pj4+PiAgV2hlbiBpdCBkb2Vz LCBJIHRoZW4gcmVhZCB0aGUgcG9ydCB0aGF0IHRoZSBlbmNvZGVyIGlzIGF0dGFjaGVkCj4+Pj4+ IHRvLiAgSSBtYXNrIG9mIHRoZSBiaXRzIEkgYW0gaW50ZXJlc3RlZCAKPj4+Pj4gIGluLCBhbmQg dXNlIHRoaXMgYXMgYW4gaW5kZXggaW50byBhIHRhYmxlLiAgSWYgdGhlIHZhbHVlIGlzICIwMSIg SQo+Pj4+PiBhZGQgIjEiIHRvIG15IHZhcmlhYmxlLiAgSWYgdGhlIHZhbHVlIAo+Pj4+PiAgaXMg IjEwIiwgSSBzdWJ0cmFjdCAiMSIgYnkgYWRkaW5nIDI1NS4gIEFueSBvdGhlciBjb21iaW5hdGlv biAiMDAiCj4+Pj4+IG9yICIxMSIgYWRkcyBhIHplcm8gZm9yIG5vIGNoYW5nZS4KPj4+Pj4KPj4+ Pj4gIEkgaGF2ZSB0cmllZCB0aGlzIG91dCBzcGlubmluZyB0aGUga25vYiBvbiB0aGUgZW5jb2Rl ciBhcyBmYXN0IGFzIEkKPj4+Pj4gY2FuLCBhbmQgSSBjYW4ndCBzZWUgYW55IG1pc3NlZCAKPj4+ Pj4gIGNvdW50cy4gIEkgYW0gdXNpbmcgYSBkZWxheSBvZiAyLjUgbVMgaW4gbXkgcm91dGluZSBm b3IKPj4+Pj4gZGVib3VuY2luZy4gIAo+Pj4+PiAgICAgICAKPj4+Pj4gICAgICAgICAgIAo+Pj4g SSBhc3N1bWUgd2UncmUgdGFsa2luZyBhYm91dCBhIHF1YWRyYXR1cmUtb3V0cHV0IHJvdGF0aW9u YWwgZW5jb2Rlcgo+Pj4gaGVyZTsgaWdub3JlIGlmIG5vdC4KPj4+Cj4+PiBUaGlzIHdpbGwgcHJv YmFibHkgd29yayBmaW5lIHdoZW4gc3Bpbm5pbmcgdGhlIGtub2IsIGJ1dCBpdCBjb3VsZCBmYWls Cj4+PiBpZiB0aGUgaW5wdXQgaXMgbW9zdGx5IHN0aWxsIGJ1dCBqaXR0ZXJpbmcgc2xpZ2h0bHku IFRoZSBvdXRwdXRzIG9mIGEKPj4+IHJvdGFyeSBlbmNvZGVyIGFyZSBpbiBxdWFkcmF0dXJlLCBz byBhY3Jvc3MgYSBmdWxsIG91dHB1dCBjeWNsZSwgQSB3aWxsCj4+PiByaXNlLCB0aGVuIEIgd2ls bCByaXNlLCB0aGVuIEEgd2lsbCBmYWxsLCB0aGVuIEIgd2lsbCBmYWxsLiBJbWFnaW5lIGlmCj4+ PiB0aGUga25vYiBpcyBzaXR0aW5nIHJpZ2h0IGJ5IHRoZSBwb3NpdGlvbiB3aGVyZSBBIHJpc2Vz LCBhbmQgaXMKPj4+IGppdHRlcmluZyBzbGlnaHRseS4gWW91J2xsIHNlZSB0aGUgQSBvdXRwdXQg b3NjaWxsYXRpbmcgd2hpbGUgQiByZW1haW5zCj4+PiBzdGFibGUuIFlvdXIgZXhhbXBsZSBhbGdv cml0aG0gd2lsbCBjb3VudCByYXBpZGx5LiBBIGZ1bGwKPj4+IHF1YWRyYXR1cmUtZGVjb2RlIHdp bGwgc2ltcGx5IGFkZCBhbmQgc3VidHJhY3Qgb25lIHJlcGVhdGVkbHkgaW4gdGhpcwo+Pj4gc2l0 dWF0aW9uLCBhY2N1cmF0ZWx5IHJlZmxlY3RpbmcgdGhlIHBoeXNpY2FsIHJlYWxpdHkuIEFsc28s IGRvaW5nCj4+PiBwcm9wZXIgcXVhZHJhdHVyZSBkZWNvZGluZyBlbGltaW5hdGVzIHRoZSBuZWVk IHRvIGRvIGRlYm91bmNpbmcKPj4+IGFsdG9nZXRoZXIsIHNpbmNlIGFueSBwb3NzaWJsZSBqaXR0 ZXIgb2NjdXJzIG9uIG9ubHkgb25lIG91dHB1dCBhdCBhCj4+PiB0aW1lIGFuZCBoZW5jZSBjYW4g b25seSBjaGFuZ2UgdGhlIGNvdW50ZXIgdmFsdWUgYnkgwrExLiBBbmQgaXQgZ2l2ZXMKPj4+IHlv dSA0w5cgdGhlIHJlc29sdXRpb24uCj4+Pgo+Pj4gQ2hyaXMKPj4+ICAgCj4+PiAgICAgICAKPj4g LS0gCj4+IGh0dHA6Ly93d3cucGljbGlzdC5jb20gUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+PiBodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+PiAgICAgCj4KPgo+ICAgCgotLSAK aHR0cDovL3d3dy5waWNsaXN0LmNvbSBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hh bmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFp bG1hbi9saXN0aW5mby9waWNsaXN0Cg== .