T24gNyBTZXB0ZW1iZXIgMjAxNiBhdCAwNjo0NCwgOTlndXNwdXBwZXQgPHllc0Bub3BlOS5jb20+ IHdyb3RlOgoKPiBJIHdvbmRlciB3aGF0IGFuIEFTSSBwZXJzb25hbGl0eSB3aWxsIGJlIGxpa2Ug Pwo+IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1N1cGVyaW50ZWxsaWdlbmNlIDxodHRw czovL2VuLndpa2lwZWRpYS5vcmcvCj4gd2lraS9TdXBlcmludGVsbGlnZW5jZT4KPiBMb29raW5n IGZvcndhcmQgdG8gaXQg4oCm4oCm4oCmIGV2ZW4gaWYgSSBhbSBjb252ZXJ0ZWQgdG8gcmF3IG1h dGVyaWFscy4KPiBHdXMgaW4gRGVudmVyCj4KPgrigItGcm9tIHRoZXJlCgoKVW5pdmVyc2l0eSBv ZiBPeGZvcmQgPGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfT3hm b3JkPgogcGhpbG9zb3BoZXIgTmljayBCb3N0cm9tIDxodHRwczovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9OaWNrX0Jvc3Ryb20+CiBkZWZpbmVzICpzdXBlcmludGVsbGlnZW5jZSogYXMgImFuIGlu dGVsbGVjdCB0aGF0IGlzIG11Y2ggc21hcnRlciB0aGFuIHRoZQpiZXN0IGh1bWFuIGJyYWlucyBp biBwcmFjdGljYWxseSBldmVyeSBmaWVsZCwgaW5jbHVkaW5nIHNjaWVudGlmaWMKY3JlYXRpdml0 eSwgZ2VuZXJhbCB3aXNkb20gYW5kIHNvY2lhbCBza2lsbHMuIlsxXQo8aHR0cHM6Ly9lbi53aWtp cGVkaWEub3JnL3dpa2kvU3VwZXJpbnRlbGxpZ2VuY2UjY2l0ZV9ub3RlLTE+CiYKVGVjaG5vbG9n aWNhbCByZXNlYXJjaGVycyBkaXNhZ3JlZSBhYm91dCBob3cgbGlrZWx5IHByZXNlbnQtZGF5IGh1 bWFuCmludGVsbGlnZW5jZSA8aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSHVtYW5faW50 ZWxsaWdlbmNlPiBpcyB0byBiZQpzdXJwYXNzZWQuIFNvbWUgYXJndWUgdGhhdCBhZHZhbmNlcyBp biBhcnRpZmljaWFsIGludGVsbGlnZW5jZQo8aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv QXJ0aWZpY2lhbF9pbnRlbGxpZ2VuY2U+IChBSSkgd2lsbCBwcm9iYWJseQpyZXN1bHQgaW4gZ2Vu ZXJhbCByZWFzb25pbmcgc3lzdGVtcyB0aGF0IGxhY2sgaHVtYW4gY29nbml0aXZlIGxpbWl0YXRp b25zLgpPdGhlcnMgYmVsaWV2ZSB0aGF0IGh1bWFucyB3aWxsIGV2b2x2ZSBvciBkaXJlY3RseSBt b2RpZnkgdGhlaXIgYmlvbG9neSBzbwphcyB0byBhY2hpZXZlIHJhZGljYWxseSBncmVhdGVyIGlu dGVsbGlnZW5jZS4gQSBudW1iZXIgb2YgZnV0dXJlcyBzdHVkaWVzCjxodHRwczovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9GdXR1cmVzX3N0dWRpZXM+IHNjZW5hcmlvcyBjb21iaW5lIGVsZW1lbnRz CmZyb20gYm90aCBvZiB0aGVzZSBwb3NzaWJpbGl0aWVzLCBzdWdnZXN0aW5nIHRoYXQgaHVtYW5z IGFyZSBsaWtlbHkgdG8KaW50ZXJmYWNlCndpdGggY29tcHV0ZXJzCjxodHRwczovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9CcmFpbiVFMiU4MCU5M2NvbXB1dGVyX2ludGVyZmFjZT4sIG9yIHVwbG9h ZAp0aGVpciBtaW5kcyB0byBjb21wdXRlcnMgPGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L01pbmRfdXBsb2FkaW5nPiwgaW4KYSB3YXkgdGhhdCBlbmFibGVzIHN1YnN0YW50aWFsIGludGVs bGlnZW5jZSBhbXBsaWZpY2F0aW9uLuKAiwoKCgrigItJIHF1ZXJ5IEJvc3Ryb20ncyDigIsKCuKA izNyZCBwb2ludCAtIGFuZCBzdXNwZWN0IGl0IGlzIGhhcmRlciB0byBkZWZpbmUgd2hhdCB0aGUg b3RoZXIgdHdvIGFjdHVhbGx5Cm1lYW4gd2hlbiB5b3UgZG8gbW9yZSB0aGFuIGdsYW5jZSBhdCB0 aGVtLgoKT2YgdGhlIDMgInNvY2lhbCBza2lsbHMiIGFyZSBib3RoIHRoZSBlYXNpZXN0IGFuZCB0 aGUgaGFyZGVzdC4KSW4gZWcgdGhpcyBjbGlwIGh0dHBzOi8veW91dHUuYmUvZzZQRGNCaE9EcW8/ dD0xMDAKdGhlIHNvY2lhbCBza2lsbHMgbWl4IGlzIGFsbCB3cm9uZy4gVGhlIG9sZCBndXkgW3Rt XSBib3RoIGV4ZXJjaXNlZCB0aGUKc29jaWV0YWxseSBiZXN0IFt0bSBhZ2Fpbl0gb25lcyBhbmQs IHdoYXQgd291bGQgaW4gbW9zdCBjYXNlcyBiZSBkZWVtZWQKd29yc3Qgb25lcyAoYWx0aG91Z2gg Y3V0dGluZyBvZmYgYSBkdWRlcyBhcm0gQUZURVIgaGUgaGFzIGJvdGggZHJhd24gQU5ECmZpcmVk IGEgJ2JsYXN0ZXInLCB3aGlsZSBzdGFydGluZyB0byBkcmF3IExTIHdlbGwgYmVmb3JlIHRoYXQg cHJvYmFibHkKZGVtb25zdHJhdGVzIGEgZ29vZCBtaXggb2YgY3JlYXRpdml0eSwgd2lzZG9tIGFu ZCBzb2NpYWwgc2tpbGxzIFsgOi0pIF0uClRoYXQgd2FzIGFzIG11Y2ggYW4gZXhjdXNlIHRvIHBv c3Qgc29tZXRoaW5nIEknZCByZWZvdW5kIHllc3RlcmRheSBpbgpyZXNwb25zZSB0byBhbm90aGVy IHN1YmplY3QgOi0pLiBbUG9vciBzb2NpYWwgc2tpbGxzLCBoYXZlLCBJLCBteSB3aWZlCm1pZ2h0 IHNheV0uCldoYXQgSSB3YXMgcmVhbGx5IG1lYW5pbmcgdG8gc2F5IHdhcyB0aGF0IHBhcnJvdGlu ZyAic2tpbGxzIiB3aGljaCB3b3JrCndpdGggcGVvcGxlIGlzIGhhcmQgZm9yIG1hbnkgcGVvcGxl LCB3aG8gdGVuZCB0byByZWZ1c2UgdG8gYmUgZHJpdmVuIGJ5CmxvZ2ljLCBidXQgbm90IHRvbyBo YXJkIGlmIHRoZSAiYWN0b3IiIGRvZXMgbm90IHJlYWxseSBjYXJlLiAoP0JlaW5nIGNhcmluZwpp cyBlYXNpZXIgaWYgeW91IGRvbid0IGNhcmU/KQoKV2hlcmVhcyAnc2NpZW50aWZpYyBjcmVhdGl2 aXR5JyBpcywgYXJndWFibHksIHJlYWxseSBlbmdpbmVlcmluZyBjcmVhdGl2aXR5CmluIG1vc3Qg Y2FzZXMuIENyZWF0aXZpdHkgaW4gU2NpZW5jZSBpcyBtb3JlIGFib3V0IGZpbmRpbmcgcGViYmxl cyBvbgpiZWFjaGVzIGFuZCB3aGVuIGl0IGdldHMgdG8gdGhlIHN0YWdlIHRoYXQgeW91IGNhbiBt YWtlIGEgZGlmZmVyZW5jZSBieQphbmFseXNpcyB5b3UgYXJlIGF0IHRoZSBzdGFydCBvZiB0aGUg c2xpcHBlcnkgc2xvcGUgdG8gYmVjb21pbmcgLyBiZWluZwpzb21lIHNvcnQgb2YgZW5naW5lZXIg WyA6LSkgXS4KCkFuZCAiZ2VuZXJhbCB3aXNkb20iIGlzIGFib3V0IGFib3V0ICJrbm93aW5nIGV2 ZXJ5dGhpbmciIEFORCBhcHBseWluZyBpdCBpbgp3YXlzIHdoaWNoIGRlbW9uc3RyYXRlIHN1cGVy YiBzb2NpYWwgc2tpbGxzLgplZyAoSSBtYWRlIHRoaXMgdXApOgogICcgIkhlIG1hZGUgdGhlIHRv dWdoIGRlY2lzaW9ucyIqIC0gYnV0IGhlIGtuZXcgaXQgaGFkIHRvIGJlIGRvbmUgLSBzdXJlLAoz IGJpbGxpb24gcGVvcGxlIGRpZWQsIGJ1dCBsb29rIGF0IHRoaW5ncyBub3cgLi4uJy4KICAgICAg ICAgICAgICogWyBNb3N0IHJlZmVyZW5jZXMgdG8gdGhhdCB0ZXJtIGFyZSBub3QgY29tcGxpbWVu dGFyeSA6LSkKPGh0dHBzOi8vd3d3Lmdvb2dsZS5jby5uei9zZWFyY2g/c291cmNlaWQ9Y2hyb21l LXBzeWFwaTImaW9uPTEmZXNwdj0yJmllPVVURi04JnE9JTIyaGUlMjBtYWRlJTIwdGhlJTIwdG91 Z2glMjBkZWNpc2lvbnMlMjImb3E9JTIyaGUlMjBtYWRlJTIwdGhlJTIwdG91Z2glMjBkZWNpc2lv bnMlMjImYXFzPWNocm9tZS4uNjlpNTcuODQ3Mmowajg+CiBdCmllIGdlbmVyYWwgd2lzZG9tIGlz IGdyZWF0IGtub3dsZWRnZSBBTkQgYmVpbmcgZGVlbWVkIGJ5IGEgbWFqb3JpdHkgb2YKJ3Rob3Nl IHdobyBjb3VudCcgdCBvIGhhdiBnb3QgaXQgcmlnaHQuCgoKSSBhbSBhICJjYXN1YWwgc3R1ZGVu dCIgb2Ygc2lyIElzYWFjIE5ld3Rvbi4KaWUgSSBoYXZlIE5PVCBzdHVkaWVkIGhpcyBsaWZlLCBt ZXRob2RzLCBzdHlsZSwgYWNoaWV2ZW1lbnRzLCAuLi4uIGluIGRlcHRoCm9yIGZvcm1hbGx5IGJ1 dCBJIGhhdmUgb2JzZXJ2ZWQgdmFyaW91cyBhc3BlY3RzIG9mIGFsbCB0aGlzIGluIG1vcmUgZGV0 YWlsCnRoYW4gbWFueSBoYXZlLgpJIHRoaW5rIGhlIG1heSBiZSBhIGdvb2QgZXhhbXBsZSBvZiAi YWR2YW5jZWQiIGludGVsbGlnZW5jZSIgb3IgInN1cGVyCmludGVsbGlnZW5jZSIgb3Igd2hhdGV2 ZXIuCkknbSBub3QganVzdCBzYXlpbmcgImhhZCBhIGhpZ2ggSVEiIGJ1dCB0cnlpbmcgKHRyeWlu ZykgdG8gc2VlIGhvdyB0aGF0CnRyYW5zbGF0ZXMgb3IgdHJhbnNsYXRlZCB0byByZWFsIHdvcmxk IGV2ZW50cy9hY3Rpb25zLy4uLiAuCidXaGF0ICAgd291bGQgU2lyIElzYWFjIHNlZS90aGluay9k byAuLi4gIgpJdCdzIGhhcmQgdG8gc2F5LCBvYnZpb3VzbHksIGJ1dCBJIHRoaW5rIHNvbWUgaWRl YSBtYXkgYmUgZm9ybWVkLgpQYXR0ZXJuIHJlY29nbml0aW9uLCByZWxhdGlvbnNoaXBzLCBvdmVy YWxsIGNhdXNlIGFuZCBlZmZlY3QgcGljdHVyZXMgLC4uLgpJbnRlcmVzaW5nbHk6IE92ZXJhbGwg aGUgd2FzIChvciBzZWVtZWQpIGEgcmF0aGVyIHVucGxlYXNhbnQsIGRldmlvdXMsCnNjaGVtaW5n LCBwZXJmaWRpb3VzIGNoYXJhY3Rlci4KU3VycHJpc2luZ2x5LCB0byBtZSwgaGUgc2VlbXMgdG8g aGF2ZSBiZWVuIGNvbnRlbnQgdG8gaGF2ZSBoYWQgc29tZSB0cnVseQpncmVhdCBpZGVhcyBhbmQg dGhlbiB0byBoYXZlIGhpZGRlbiB0aGVtIGF3YXkgZm9yIHllYXJzIHRvIGRlY2FkZXMgdW5zaGFy ZWQuClRoZSBkcml2ZSB0byBzZWxmIHByb21vdGlvbiBieSBkZW1vbnN0cmF0aW5nIGhpcyBwcm93 ZXNzIHNlZW1zIHRvIGhhdmUgYmVlbgpsZXNzIHRoYW4gaGlzIGRlc2lyZSB0byBrZWVwIHRoaW5n cyAiZm9yIGEgcmFpbnkgZGF5Ii4KSGUgImludmVudGVkIGNhbGN1bHVzIiAob25lIG9mIHNldmVy YWwgcGVvcGxlKSBvdmVyIGEgd2Vla2VuZCB0byBzb2x2ZSBhbgppbnRyYWN0YWJsZSBwcm9ibGVt LiBCdXQsIHNlZW1zIGxpa2VseSB0byBoYXZlIGhhZCBkZXZpc2VkIGl0IGFscmVhZHkgYW5kCnRo aXMgd2FzIGEgdXNlIGZvciBpdC4KSGUgJ3NhdCBvbicgaGlzIHRoZW9yeSBvZiBncmF2aXRhdGlv biBmb3Igc29tZXdoZXJlIGluIHRoZSAxMC0yMCB5ZWFyCnJhbmdlLgouLi4KCkxlb25hcmRvIGRh IFZpbmNpIGdpdmVzIG9uZSBob3BlLgpKdWRnZWQgYnkgVEhFIG1vc3QgcG93ZXJmdWwgbWFuIGlu IHRoZSB3b3JsZCBvZiBoaXMgZGF5IGFzIHNvbWVvbmUgd2hvCm5ldmVyIGZpbmlzaGVkIGFueXRo aW5nLiBOZXZlciBnb3QgYW55dGhpbmcgZG9uZSA6LSkuCgoKCiAgICAgICAgIFIKLS0gCmh0dHA6 Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hp dmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4u bWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .