T24gVHVlc2RheSwgRmVicnVhcnkgMTgsIDIwMTQgMjI6NTk6NTcgw4BsZXggRmllc3RhcyB3cm90 ZToKPiBPbiBUdWVzZGF5IDE4IEZlYnJ1YXJ5IDIwMTQgMjE6MDk6MjEgSm9zIFBvb3J0dmxpZXQg d3JvdGU6Cj4gPiBUbyBtZSwgaXQgc291bmRzIGxpa2UgYSAnaGF2ZSB5b3VyIGNha2UgYW5kIGVh dCBpdCB0b28nIHNvbHV0aW9uLiBJIGFsd2F5cwo+ID4gbGlrZSB0aG9zZS4gVGhlIGFydGljbGUg YWxyZWFkeSBtZW50aW9ucyB0aGF0IHRoZSBBUEkncyBhbmQgd2lkZ2V0cyBhcmUKPiA+IHNpbXBs eSB0YWtlbiBmcm9tIE5lcG9tdWsuIEZvciBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIGFuZCBtYW55 IHVzZXJzIHRoZXkKPiA+IGFyZSB0aGUgRkFDRSBvZiBOZXBvbXVrLiBTbywgd2Uga2VwdCBOZXBv bXVrLiBUaGUgYmFja2VuZCBpcyBjaGFuZ2VkIC0KPiA+IGZyb20KPiA+IFZpcnR1b3NvIHRvIGFu IGFic3RyYWN0aW9uIGxheWVyIGNhbGxlZCBCYWxvby4KPiA+IAo+ID4gU291bmRzIGxpa2UgZ29v ZCBzcGluIGlmIHlvdSBhc2sgbWUgOy0pCj4gCj4gVGVjaG5pY2FsbHkgdGhpcyBpcyBhIGxpZSwg dGhlaXIgYXBpIGhhcyBiZWVuIGNoYW5nZWQgMTAwJSAobm90IGEgc2luZ2xlCj4gbGluZSBjb21w YXRpYmxlKSwgdmlydHVvc28gYW5kIEJhbG9vIGFyZSBub3RoaW5nIGFsaWtlLiAKClllcywgdGhl IEFQSSBoYXMgY2hhbmdlZC4gVGhpcyBoYXBwZW5zIHNvbWV0aW1lcyBpbiBwcm9qZWN0cy4KCklm IEJhbG9vIGlzIG1lYW50IHRvIGRpc3BsYWNlIE5lcG9tdWsgKGl0IGlzKSB0aGVuIGl0IGlzIG5v dCBzaW1wbHkgYW5vdGhlciAKcHJvZHVjdCBidXQgYSBzdWNjZXNzb3IgLi4gYW5kIGtlZXBpbmcg bmFtaW5nIGFuZCBzb21lIGxldmVsIG9mIHZpc3VhbCBkZXNpZ24gCmNvbnRpbnVpdHkgKGUuZy4g bm90IGNoYW5naW5nIHRoZSBpY29uIC8gbG9nbyBwZW9wbGUgaGF2ZSBjb21lIHRvIHJlY29nbml6 ZSkgCmNhbiBoZWxwIHVzIGNvbW11bmljYXRlIHRoYXQuCgpUaGUgd2lkZ2V0IGFuZCB0aGVpciBB UEkgaGFzIHJlbWFpbmVkIHRoZSBzYW1lLCBhbmQgdGhlIHVzZXItZmFjaW5nIApmdW5jdGlvbmFs aXR5IGlzIGVzc2VudGlhbGx5IHVuY2hhbmdlZC4gVGhlIHVuZGVybHlpbmcgc3RvcmFnZS9yZXRy aWV2YWwgQVBJIApoYXMgY2hhbmdlZCwgaG93ZXZlcjsgdGhpcyBpcywgYXMgdGhlIGFydGljbGUg YWxyZWFkeSBub3RlcywgdG8gYWRkcmVzcyB0aGUgCmRlc2lyZSBmb3IgYSBtb3JlIHN0cmVhbWxp bmVkIEFQSSBpbiB0aGF0IGFyZWEuIChOZXBvbXVrIHdhcyBpbmRlZWQgdmVyeSAKY29tcGxleCBm b3IgcXVlcnlpbmcsIGUuZy4pLgoKU28gdGhlIHF1ZXN0aW9uIGlzIGhvdyB0byBiZXN0IGNvbW11 bmljYXRlIHRoYXQgc2V0IG9mIGltcHJvdmVtZW50cywgd2hpY2ggbWF5IApub3QgYmUg4oCcY2hh bmdlIHRoZSBuYW1l4oCdIHNpbmNlIGFsbCB0aGUgd29yayBpcyBzdGlsbCBhaGVhZCBvZiB1cyBm cm9tIHRoYXQgCnBvaW50LiBUaGUgaWRlYSB0aGF0IGNoYW5naW5nIHRoZSBuYW1lIHdpbGwgY29t bXVuaWNhdGUg4oCcc3R1ZmYgdGhhdCBuZWVkZWQgdG8gCmJlIGNoYW5nZWQgaGFzIGNoYW5nZWQg aW4gYSBwb3NpdGl2ZSBtYW5uZXLigJ0gaXMgbm90IHRydWU7IGl0IHJlcXVpcmVzIHB1dHRpbmcg CmVmZm9ydCBpbnRvIHN0dWZmaW5nIG1lYW5pbmcgaW50byB0aGF0IG5ldyBuYW1lIHdpdGggbW9u dGhzIChvciwgbW9yZSAKcmVhbGlzdGljYWxseSwgeWVhcnMpIG9mIGNvbW11bmljYXRpb24gZWZm b3J0LiBXaXRob3V0IGEgbmFtZSBjaGFuZ2UsIHdlIHN0aWxsIApoYXZlIHdvcmsgYWhlYWQgb2Yg dXMsIGJ1dCB0aGUgY29tbXVuaWNhdGlvbiBwYXRoIGNhbiBiZSBhIGxvdCBlYXNpZXI6CgrigJxU aGlzIGlzIHRoZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBOZXBvbXVrLiBJdCBmaWxscyB0aGUg c2FtZSBuZWVkcyBOZXBvbXVrIApoYXMgYmVlbiBzZXJ2aWNpbmcuIFRoZSB3aWRnZXRzIGFuZCB0 aGVpciBBUEkgaGF2ZSBiZWVuIHJldGFpbmVkLiBUaGUgCnVuZGVybHlpbmcgc3RvcmUvcmV0cmll dmUgQVBJIGhhcyBjaGFuZ2VkLCBob3dldmVyLCBhbmQgZm9yIHRoZSBiZXR0ZXIgLi4gCmhlcmXi gJlzIGhvdzogPC4uLj7igJ0KCldpdGgganVzdCBhIGNvdXBsZSBzZW50ZW5jZXMsIHdlIGFyZSBh YmxlIHRvIHNraXAgdGhlIGVudGlyZSDigJx3aGF0IGlzIGJhbG9vP+KAnSAKdGhpbmcgYW5kIGdl dCByaWdodCBpbnRvIHRoZSBoZWFydCBvZiB0aGluZ3MuIEl0IGFsc28gYWxsb3dzIEtERSB0byBz YXZlIHNvbWUgCmZhY2U7IFBob3Jvbml4IHdhcyBub3QgZW50aXJlbHkgd3JvbmcgaW4gY3JpdGlj aXppbmcgS0RFIGZvciB0b3NzaW5nIG91dCBhIAptYWpvciBwdWJsaWMgUiZEIGludmVzdG1lbnQu Cgo+IEJhbG9vIGlzIG5vdCBldmVuIHNlbWFudGljIGluIHRoZSB3YXkgTmVwb211ayBpcy4KClRo aXMgaXMgcmVsZXZhbnQgdG8gbm9ib2R5IHRoYXQgdXNlcyBpdC4gSWYgTmVwb211a+KAmXMgcGFy dGljdWxhciBzZW1hbnRpYyAKZmVhdHVyZXMgaGFkIGNhdWdodCBvbiB3aWxkbHkgYW5kIHRoZXJl IHdlcmUgdG9ucyBvZiBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlbSAKZGVlcGx5LCB0aGlzIHdvdWxk IGJlIGEgdmFsaWQgY29uY2Vybi4gVGhhdCBkaWRu4oCZdCBoYXBwZW4sIGhvd2V2ZXIuIAoKRm9y IGVuZCB1c2VycywgbW9zdCBvZiB0aGVtIHNlZSDigJxOZXBvbXVr4oCdIGFuZCB0aGluayDigJxk ZXNrdG9wIHNlYXJjaOKAnSBvciDigJxmaWxlIAppbmRleGluZ+KAnS4gfm5vYm9keSBrbm93cyB0 aGF0IHdlIHVzZShkKSBOZXBvbXVrIGluIFBsYXNtYeKAmXMgQWN0aXZpdGllcywgZm9yIAppbnN0 YW5jZS4KCj4gQmVzaWRlcyB5b3Ugd2lsbCBiZSBhYmxlIHRvIGhhdmUgYm90aCwgbmVwb211ayBh bmQgYmFsb28gcnVubmluZyAoZm9yCj4gY29tcGF0aWJpbGl0eSByZWFzb25zKS4KCuKAnHlvdSB3 aWxsIGJlIGFibGUgdG8gaGF2ZSBib3RoIE5lcG9tdWsgMSBhbmQgTmVwb211ayAyIHJ1bm5pbmcs IGZvciAKY29tcGF0aWJpbGl0eSByZWFzb25z4oCdIDwtLSBpdCB3b3JrcyBqdXN0IGFzIHdlbGwK Cj4gQWxzbywgdGFrZSBpbnRvIGFjY291bnQgdGhhdCBQaG9yb25peCAodGhhdCBtaWdodCBvciBt aWdodCBub3QgaGF2ZSBtb3JlCj4gbWVkaWEgb3V0cmVhY2ggdGhhbiB0aGUgZG90KSBoYXMgYWxy ZWFkeSBwdWJsaXNoZWQgYSBsaW5rIHRvIGFuIGVtYWlsIHdoZXJlCj4gd2UgZXhwbGFpbiB0aGUg ZmFjdHMsIGNyZWF0aW5nIG5vdyBhICJnb29kIHByb21vIGFydGljbGUiIGluIHRoZSBkb3QgbWln aHQKPiBiZSB0b28gbGl0dGxlIHRvbyBsYXRlLgoKUGhvcm9uaXggaXMgbm90ICp0aGF0KiBpbmZs dWVudGlhbCAodGhhbmtmdWxseSkuIEEgRG90IGFydGljbGUgd291bGQgYmUgYSBnb29kIApzdGFy dCBpbiBhZGRyZXNzaW5nIGlzc3VlcywgYnV0IGl0IHdvdWxkIGFsc28gbmVlZCBzZXZlcmFsIGZv bGxvdyB1cHMgb3ZlciB0aGUgCmNvdXJzZSBvZiB0aGUgeWVhciBpbiB0aGUgZm9ybSBvZiB3aWRl bHkgc3ByZWFkIGJsb2cgZW50cmllcywgYXJ0aWNsZXMgZnJvbSAKb3RoZXJzIGluIHRoZSBwcmVz cywgZXRjLiBNdWt0d2FyZSBoYXMgYWxyZWFkeSBzdGVwcGVkIHVwIGluIHRoaXMgYXJlYS4gCkdl dHRpbmcgYSBtZXNzYWdlIGFjcm9zcyB0YWtlcyByZXBldGl0aW9uIGFuZCB0aW1lIChpbiBhZGRp dGlvbiB0byBhIGdvb2QgCm1lc3NhZ2UpOyBhbmQgdW5sZXNzIFBob3Jvbml4IGRlY2lkZXMgdG8g cmUtcHVibGlzaCB0aGF0IGFydGljbGUgZXZlcnkgd2VlayAKd2XigJl2ZSBnb3QgdGhlIHVwcGVy IGhhbmQgdGhlcmUuCgotLSAKQWFyb24gSi4gU2VpZ28KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClRoaXMgbWVzc2FnZSBpcyBmcm9tIHRoZSBrZGUtcHJv bW8gbWFpbGluZyBsaXN0LgoKVmlzaXQgaHR0cHM6Ly9tYWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0 aW5mby9rZGUtcHJvbW8gdG8gdW5zdWJzY3JpYmUsIHNldCBkaWdlc3Qgb24gb3IgdGVtcG9yYXJp bHkgc3RvcCB5b3VyIHN1YnNjcmlwdGlvbi4=