Received: from localhost ([::1]:37647 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Ui59I-0001HS-0p; Thu, 30 May 2013 08:52:20 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:42822 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Ui59B-0001HJ-AZ for wikichanges@lojban.org; Thu, 30 May 2013 08:52:17 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 30 May 2013 08:52:12 -0700 From: "Apache" Date: Thu, 30 May 2013 08:52:12 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page Pequena introdução do Lojban was changed by AndreIbaque at 15:52 UTC You can view the page by following this link: http://www.lojban.org/tiki/Pequena%20introdu%C3%A7%C3%A3o%20do%20Lojban [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_Pequena_introdu=C3=A7=C3=A3o_do?= =?utf-8?q?_Lojban_changed_by_AndreIbaque?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 45873 VGhlIHBhZ2UgUGVxdWVuYSBpbnRyb2R1w6fDo28gZG8gTG9qYmFuIHdhcyBjaGFuZ2VkIGJ5IEFu ZHJlSWJhcXVlIGF0IDE1OjUyIFVUQwoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2lu ZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvUGVxdWVuYSUyMGludHJv ZHUlQzMlQTclQzMlQTNvJTIwZG8lMjBMb2piYW4KCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0 byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3 dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1QZXF1ZW5hJTIwaW50 cm9kdSVDMyVBNyVDMyVBM28lMjBkbyUyMExvamJhbiZjb21wYXJlPTEmb2xkdmVyPTImbmV3dmVy PTMKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dl ZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6 IDEtMyBjaGFuZ2VkIHRvICtMaW5lczogMS0zIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCi0gXlRyYW5zbGF0aW9uIG9mIHRoaXMg cGFnZSBpcyBpbmNvbXBsZXRlLl4KKyBeQSB0cmFkdW8gZGVzdGEgcGdpbmEgZXN0IGluY29tcGxl dGEuXgoKIUxvamJhbiAtIEEgTGluZ3VhZ2VtIEzDs2dpY2EKCistKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMjMtNDMg Y2hhbmdlZCB0byArTGluZXM6IDIzLTQ0IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkjDoSBtdWl0YXMgbMOtbmd1YXMgY29uc3Ry dcOtZGFzLCBlbnRyZXRhbnRvIExvZ2xhbi9Mb2piYW4gZm9pIHByb2pldGFkbyBwYXJhIHRvcm5h ci1zZSDDum5pY28gZW0gdsOhcmlvcyBhc3BlY3Rvcy4gQSBzZWd1aXIgZXN0w6NvIGFzIHByaW5j aXBhaXMgY2FyYWN0ZXLDrXN0aWNhcyBkbyBMb2piYW46CgotICogTG9qYmFuICBwcm9qZXRhZG8g cGFyYSBzZXIgdXNhZG8gbmEgX19jb21tdW5pY2FvX18gZW50cmUgcGVzc29hcyBlLCBmdXR1cmFt ZW50ZSwgZW50cmUgcGVzc29hcyBlIGNvbXB1dGFkb3Jlcy4KKyAqIExvamJhbiAgcHJvamV0YWRv IHBhcmEgc2VyIHVzYWRvIG5hIF9fY29tdW5pY2FvX18gZW50cmUgcGVzc29hcyBlLCBmdXR1cmFt ZW50ZSwgZW50cmUgcGVzc29hcyBlIGNvbXB1dGFkb3Jlcy4KKiBMb2piYW4gZm9pIHByb2pldGFk byBwYXJhIHNlciBfX2N1bHR1cmFsbWVudGUgbmV1dHJvX18uCiogQSBncmFtw6F0aWNhIGRlIExv amJhbiDDqSBiYXNlYWRhIG5vcyBfX3ByaW5jw61waW9zIGRhIGzDs2dpY2FfXy4KLSAqIExvamJh biB0ZW0gdW1hIF9fZ3JhbXRpY2Egc2VtIGFtYmlndWlkYWRlc19fLiA8YnIgLz4qIExvamJhbiB0 ZW0gX19lc2NyaXRhIGZvbnRpY2FfXywgZSBzZW0gYW1iaWd1aWRhZGVzIGVudHJlIGFzIGxldHJh cyBlIHNvbnMuIAorICogTG9qYmFuIHBvc3N1aSB1bWEgX19ncmFtdGljYSBzZW0gYW1iaWd1aWRh ZGVzX18uIDxiciAvPiogTG9qYmFuIHBvc3N1aSBfX2VzY3JpdGEgZm9udGljYV9fLCBlIHNlbSBh bWJpZ3VpZGFkZXMgZW50cmUgYXMgbGV0cmFzIGUgc29ucy4gCiogTG9qYmFuIMOpIF9fc2ltcGxl c19fIGNvbXBhcmFkbyDDoHMgbMOtbmd1YXMgbmF0dXJhaXM7IMOpIGbDoWNpbCBkZSBhcHJlbmRl ci4gCi0gKiBMb2piYW4gdGVtIF9fMTMwMCByYWRpY2Fpc19fIHF1ZSBwb2RlbSBzZXIgZmNpbG1l bnRlIGNvbWJpbmFkb3MgcGFyYSBmb3JtYXIgdW0gdm9jYWJ1bHJpbyBkZSBfX21pbGhlcyBkZSBw YWxhdnJhc19fLiAKKyAqIExvamJhbiBkaXNwZSBkZSBfXzEzMDAgcmFkaWNhaXNfXyBxdWUgcG9k ZW0gc2VyIGZhY2lsbWVudGUgY29tYmluYWRvcyBwYXJhIGZvcm1hciB1bSB2b2NhYnVscmlvIGRl IF9fbWlsaGVzIGRlIHBhbGF2cmFzX18uIAoqIExvamJhbiDDqSByZWd1bGFyOyBzdWFzIHJlZ3Jh cyBfX27Do28gdGVtIGV4Y2XDp8O1ZXNfXy4gCiogTG9qYmFuIHRlbnRhIF9fcmVtb3ZlciByZXN0 cmnDp8O1ZXNfXyBuYSBjcmlhdGl2aWRhZGUgZSBuYSBjb211bmljYcOnw6NvLiAKLSAqIExvamJh biB0ZW0gdW1hIF9fdmFyaWVkYWRlIGRlIHVzb3NfXywgcXVlIHZvIGRlc2RlIG8gY3JpYXRpdm8g YW8gY2llbnRmaWNvLCBkbyB0ZXJpY28gcGFyYSBvIHBydGljby4gCisgKiBMb2piYW4gcG9zc3Vp IHVtYSBfX3ZhcmllZGFkZSBkZSB1c29zX18sIHF1ZSB2byBkZXNkZSBvIGNyaWF0aXZvIGFvIGNp ZW50ZmljbywgZG8gdGVyaWNvIHBhcmEgbyBwcnRpY28uIAoKISFQb3IgcXVlIExvamJhbiBmb2kg ZGVzZW52b2x2aWRvP3tBTkFNRSgpfXdoeXtBTkFNRX0KCkxvamJhbiBmb2kgb3JpZ2luYWxtZW50 ZSBwcm9qZXRhZG8gY29tbyB1bSBzdXBvcnRlIHBhcmEgdW1hIHBlc3F1aXNhIHNvYnJlIHVtIGNv bmNlaXRvIGNvbmhlY2lkbyBjb21vIGEgaGlww7N0ZXNlIF9fU2FwaXItV2hvcmZfXzogImEgZXN0 cnV0dXJhIGRlIHVtYSBsw61uZ3VhIHJlc3RyaW5nZSBvIHBlbnNhbWVudG8gZGUgcGVzc29hcyBx dWUgdXRpbGl6YW0gYXF1ZWxhIGzDrW5ndWEiLiBMb2piYW4gcGVybWl0ZSBhIGNvbXBsZXRhIGNh cGFjaWRhZGUgZXhwcmVzc2l2YSBkZSB1bWEgbMOtbmd1YSBuYXR1cmFsLCBtYXMgZGlmZXJlIG5h IGVzdHJ1dHVyYSBkZSBvdXRyb3MgaWRpb21hcyBuYXMgZ3JhbmRlcyBtYW5laXJhcy4gSXNzbyBw ZXJtaXRlIGEgdXRpbGl6YcOnw6NvIGRvIExvamJhbiBjb21vIHZlw61jdWxvIGRlIHRlc3RlIHBh cmEgb3MgY2llbnRpc3RhcyBxdWUgZXN0dWRhbSBhcyByZWxhw6fDtWVzIGVudHJlIGxpbmd1YWdl bSwgcGVuc2FtZW50byBlIGN1bHR1cmEuCi0gISFPdGhlciB1c2VzIGZvciBMb2piYW57QU5BTUUo KX1vdGhlcnVzZXN7QU5BTUV9CgotIExvamJhbiB3YXMgZGVzaWduZWQgYXMgYSBodW1hbiBsYW5n dWFnZSwgYW5kIG5vdCBhcyBhIGNvbXB1dGVyIGxhbmd1YWdlLiBJdCBpcyB0aGVyZWZvcmUgaW50 ZW5kZWQgZm9yIHVzZSBpbiBjb252ZXJzYXRpb24sIHJlYWRpbmcsIHdyaXRpbmcsIGFuZCB0aGlu a2luZy4gSG93ZXZlciwgc2luY2UgTG9qYmFuIGNhbiBiZSBwcm9jZXNzZWQgYnkgYSBjb21wdXRl ciBtdWNoIG1vcmUgZWFzaWx5IHRoYW4gY2FuIGEgbmF0dXJhbCBsYW5ndWFnZSwgTG9qYmFuLWJh c2VkIGNvbXB1dGVyIGFwcGxpY2F0aW9ucyBhcmUgYSBuYXR1cmFsIGV4cGVjdGF0aW9uLiBEdWUg dG8gaXRzIHVuYW1iaWd1b3VzIGdyYW1tYXIgYW5kIHNpbXBsZSBzdHJ1Y3R1cmUsIGl0IGNhbiBi ZSBlYXNpbHkgcGFyc2VkIGJ5IGNvbXB1dGVycywgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBMb2pi YW4gdG8gYmUgdXNlZCBpbiB0aGUgZnV0dXJlIGZvciBjb21wdXRlci1odW1hbiBpbnRlcmFjdGlv biwgYW5kIHBlcmhhcHMgY29udmVyc2F0aW9uLiBMb2piYW4ncyBwcmVkaWNhdGUgc3RydWN0dXJl IGlzIHNpbWlsYXIgdG8gQUksIHN1Z2dlc3RpbmcgaXQgYXMgYSBwb3dlcmZ1bCB0b29sIGluIEFJ IHByb2Nlc3NpbmcsIGVzcGVjaWFsbHkgaW4gdGhlIHN0b3JpbmcgYW5kIHByb2Nlc3Npbmcgb2Yg ZGF0YSBhYm91dCB0aGUgd29ybGQgYW5kIHBlb3BsZSdzIGNvbmNlcHRpb25zIG9mIGl0LiBMaW5n dWlzdHMgYXJlIGludGVyZXN0ZWQgaW4gTG9qYmFuJ3MgcG90ZW50aWFsIGFzIGFuIGludGVybWVk aWF0ZSBsYW5ndWFnZSBpbiBjb21wdXRlci1haWRlZCB0cmFuc2xhdGlvbiBvZiBuYXR1cmFsIGxh bmd1YWdlcy4gT3RoZXIgcGVvcGxlIGFyZSBpbnRlcmVzdGVkIGluIExvamJhbiBhcyBhbiBpbnRl cm5hdGlvbmFsIGxhbmd1YWdlLiAKKyAhIU91dHJvcyB1c29zIHBhcmEgTG9qYmFue0FOQU1FKCl9 b3RoZXJ1c2Vze0FOQU1FfTxiciAvPjxiciAvPkxvamJhbiBmb2kgZGVzZW52b2x2aWRvIHBhcmEg c2VyIHVtYSBsbmd1YSBodW1hbmEsIGUgbm8gdW1hIGxuZ3VhIGRlIGNvbXB1dGFkb3IuICwgcG9y dGFudG8sIGRlc3RpbmFkbyBwYXJhIGNvbnZlcnNhciwgbGVyLCBlc2NyZXZlciBlIHBlbnNhci4g Tm8gZW50YW50bywgdW1hIHZleiBxdWUgYSBsbmd1YSBMb2piYW4gcG9zc2Egc2VyIHByb2Nlc3Nh ZGEgcG9yIHVtIGNvbXB1dGFkb3IgbXVpdG8gbWFpcyBmYWNpbG1lbnRlIGRvIHF1ZSB1bWEgbG5n dWEgbmF0dXJhbCBwb2RlLCBoIGEgZXhwZWN0YXRpdmEgbmF0dXJhbCBxdWUgbyBpZGlvbWEgcG9z c2Egc2VyIHVzYWRvIHBhcmEgYXBsaWNhZXMgY29tcHV0YWNpb25haXMuIERldmlkbyAgc3VhIGVz dHJ1dHVyYSBncmFtYXRpY2FsIGluZXF1dm9jYSBlIHNpbXBsZXMsIHF1ZSBwb2RlIHNlciBmYWNp bG1lbnRlIGFuYWxpc2FkbyBwb3IgY29tcHV0YWRvcmVzLCB0b3JuYS1zZSBwb3NzdmVsIExvamJh biBzZXIgdXRpbGl6YWRvIG5vIGZ1dHVybyBwYXJhIGEgaW50ZXJhbyBlbnRyZSBodW1hbm9zIGUg Y29tcHV0YWRvcmVzLiBBIGVzdHJ1dHVyYSBkbyBwcmVkaWNhZG8gZGUgbG9qYmFuICBzZW1lbGhh bnRlIGFvIEFJLCBzdWdlcmluZG8tbyBjb21vIHVtYSBmZXJyYW1lbnRhIHBvZGVyb3NhIG5hIEFJ IHByb2Nlc3NhbWVudG8sIGVzcGVjaWFsbWVudGUgbm8gYXJtYXplbmFtZW50byBlIHByb2Nlc3Nh bWVudG8gZGUgZGFkb3Mgc29icmUgbyBtdW5kbyBlIGNvbmNlcGVzIGRlIHNldSBwb3ZvLiBPcyBs aW5naXN0YXMgZXN0byBpbnRlcmVzc2Fkb3Mgbm8gcG90ZW5jaWFsIGRvIGxvamJhbiBjb21vIHVt YSBsaW5ndWFnZW0gaW50ZXJtZWRpcmlhIG5hIHRyYWR1byBhc3Npc3RpZGEgcG9yIGNvbXB1dGFk b3IgZGFzIGxuZ3VhcyBuYXR1cmFpcy4gT3V0cmFzIHBlc3NvYXMgZXN0byBpbnRlcmVzc2FkYXMg ZW0gTG9qYmFuIGNvbW8gbG5ndWEgaW50ZXJuYWNpb25hbC4KCiEhVGhlIExvamJhbiBkZXNpZ257 QU5BTUUoKX1kZXNpZ257QU5BTUV9CgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dz IGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgoKXkEgdHJhZHXDp8OjbyBkZXN0YSBww6FnaW5hIGVzdMOhIGluY29tcGxldGEu XgoKCgohTG9qYmFuIC0gQSBMaW5ndWFnZW0gTMOzZ2ljYQoKCgohJydsYSBsb2piYW4uIHBvJ3Ug bGUgbG9namkgYmFuZ3UnJwoKCgoqIHtBTElOSyhhbmFtZT0+aW50cm8pfUludHJvZHXDp8Ojb3tB TElOS30KCioge0FMSU5LKGFuYW1lPT53aHkpfVBvciBxdWUgTG9qYmFuIGZvaSBkZXNlbnZvbHZp ZG8/e0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90aGVydXNlcyl9T3V0cm9zIHVzb3MgcGFyYSBM b2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+ZGVzaWduKX1PIGRlc2lnbiBkZSBMb2piYW57 QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+Y3VycmVudCl9U2l0dWHDp8OjbyBhdHVhbCBlIHVzb3tB TElOS30KCioge0FMSU5LKGFuYW1lPT51bmFtYmlndWl0eSl9QXMgbsOjby1hbWJpZ3VpZGFkZXMg ZGUgTG9qYmFue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PnNhcGlyd2hvcmYpfUxvamJhbiBlIFNh cGlyLVdob3Jme0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pm90aGVybGluZyl9T3V0cmFzIGFwbGlj YcOnw7VlcyBsaW5ndcOtc3RpY2Fze0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PmludGVybmF0aW9u YWwpfUxvamJhbiBjb21vIHVtYSBsw61uZ3VhIGludGVybmFjaW9uYWx7QUxJTkt9CgoqIHtBTElO SyhhbmFtZT0+cmVhc29ucyl9VsOhcmlhcyByYXrDtWVzIHBhcmEgYXByZW5kZXIgTG9qYmFuIEFH T1JBe0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9Pmhvdyl9Q29tbyBhcHJlbmRlciBMb2piYW4/e0FM SU5LfQoKKiAoKENvbnRhY3QgVVN8RmljYW5kbyBlbSBjb250YXRvKSkKCiEhSW50cm9kdcOnw6Nv e0FOQU1FKCl9aW50cm97QU5BTUV9CgoKCl9fTG9qYmFuX18gKC9MT1pILWJhaG4vKSDDqSB1bWEg bMOtbmd1YSBjb25zdHJ1w61kYS4gT3JpZ2luYWxtZW50ZSBjaGFtYWRvIGRlICJfX0xvZ2xhbl9f IiBlICBmdW5kYWRvIHBvciBfX0RyLiBKYW1lcyBDb29rZSBCcm93bl9fLCBxdWUgaW5pY2lvdSBv IGRlc2Vudm9sdmltZW50byBkYSBsw61uZ3VhIGVtIF9fMTk1NV9fLCB0ZXZlIG9zIG9iamV0aXZv cyBkZXNjcml0b3MgcGVsYSBwcmltZWlyYSB2ZXogbm8gYXJ0aWdvICJMb2dsYW4iIG5hICcnU2Np ZW50aWZpYyBBbWVyaWNhbiwgSnVuZSwgMTk2MCcnLiBMb2dsYW4vTG9qYmFuIGZvaSBjb25zdHJ1 w61kbyBhbyBsb25nbyBkZSB0csOqcyBkw6ljYWRhcyBwb3IgZGV6ZW5hcyBkZSBwcm9maXNzaW9u YWlzIGUgY2VudGVuYXMgZGUgYXBvaWFkb3JlcywgbGlkZXJhZGEgZGVzZGUgX18xOTg3X18gcGVs YSBfX1RoZSBMb2dpY2FsIExhbmd1YWdlIEdyb3VwX18uCgoKCkjDoSBtdWl0YXMgbMOtbmd1YXMg Y29uc3RydcOtZGFzLCBlbnRyZXRhbnRvIExvZ2xhbi9Mb2piYW4gZm9pIHByb2pldGFkbyBwYXJh IHRvcm5hci1zZSDDum5pY28gZW0gdsOhcmlvcyBhc3BlY3Rvcy4gQSBzZWd1aXIgZXN0w6NvIGFz IHByaW5jaXBhaXMgY2FyYWN0ZXLDrXN0aWNhcyBkbyBMb2piYW46CgoKCiogTG9qYmFuIMOpIHBy b2pldGFkbyBwYXJhIHNlciB1c2FkbyBuYSBfX2NvbXVuaWNhw6fDo29fXyBlbnRyZSBwZXNzb2Fz IGUsIGZ1dHVyYW1lbnRlLCBlbnRyZSBwZXNzb2FzIGUgY29tcHV0YWRvcmVzLgoKKiBMb2piYW4g Zm9pIHByb2pldGFkbyBwYXJhIHNlciBfX2N1bHR1cmFsbWVudGUgbmV1dHJvX18uCgoqIEEgZ3Jh bcOhdGljYSBkZSBMb2piYW4gw6kgYmFzZWFkYSBub3MgX19wcmluY8OtcGlvcyBkYSBsw7NnaWNh X18uCgoqIExvamJhbiBwb3NzdWkgdW1hIF9fZ3JhbcOhdGljYSBzZW0gYW1iaWd1aWRhZGVzX18u IAoKKiBMb2piYW4gcG9zc3VpIF9fZXNjcml0YSBmb27DqXRpY2FfXywgZSBzZW0gYW1iaWd1aWRh ZGVzIGVudHJlIGFzIGxldHJhcyBlIHNvbnMuIAoKKiBMb2piYW4gw6kgX19zaW1wbGVzX18gY29t cGFyYWRvIMOgcyBsw61uZ3VhcyBuYXR1cmFpczsgw6kgZsOhY2lsIGRlIGFwcmVuZGVyLiAKCiog TG9qYmFuIGRpc3DDtGUgZGUgX18xMzAwIHJhZGljYWlzX18gcXVlIHBvZGVtIHNlciBmYWNpbG1l bnRlIGNvbWJpbmFkb3MgcGFyYSBmb3JtYXIgdW0gdm9jYWJ1bMOhcmlvIGRlIF9fbWlsaMO1ZXMg ZGUgcGFsYXZyYXNfXy4gCgoqIExvamJhbiDDqSByZWd1bGFyOyBzdWFzIHJlZ3JhcyBfX27Do28g dGVtIGV4Y2XDp8O1ZXNfXy4gCgoqIExvamJhbiB0ZW50YSBfX3JlbW92ZXIgcmVzdHJpw6fDtWVz X18gbmEgY3JpYXRpdmlkYWRlIGUgbmEgY29tdW5pY2HDp8Ojby4gCgoqIExvamJhbiBwb3NzdWkg dW1hIF9fdmFyaWVkYWRlIGRlIHVzb3NfXywgcXVlIHbDo28gZGVzZGUgbyBjcmlhdGl2byBhbyBj aWVudMOtZmljbywgZG8gdGXDs3JpY28gcGFyYSBvIHByw6F0aWNvLiAKCgoKISFQb3IgcXVlIExv amJhbiBmb2kgZGVzZW52b2x2aWRvP3tBTkFNRSgpfXdoeXtBTkFNRX0KCgoKTG9qYmFuIGZvaSBv cmlnaW5hbG1lbnRlIHByb2pldGFkbyBjb21vIHVtIHN1cG9ydGUgcGFyYSB1bWEgcGVzcXVpc2Eg c29icmUgdW0gY29uY2VpdG8gY29uaGVjaWRvIGNvbW8gYSBoaXDDs3Rlc2UgX19TYXBpci1XaG9y Zl9fOiAiYSBlc3RydXR1cmEgZGUgdW1hIGzDrW5ndWEgcmVzdHJpbmdlIG8gcGVuc2FtZW50byBk ZSBwZXNzb2FzIHF1ZSB1dGlsaXphbSBhcXVlbGEgbMOtbmd1YSIuIExvamJhbiBwZXJtaXRlIGEg Y29tcGxldGEgY2FwYWNpZGFkZSBleHByZXNzaXZhIGRlIHVtYSBsw61uZ3VhIG5hdHVyYWwsIG1h cyBkaWZlcmUgbmEgZXN0cnV0dXJhIGRlIG91dHJvcyBpZGlvbWFzIG5hcyBncmFuZGVzIG1hbmVp cmFzLiBJc3NvIHBlcm1pdGUgYSB1dGlsaXphw6fDo28gZG8gTG9qYmFuIGNvbW8gdmXDrWN1bG8g ZGUgdGVzdGUgcGFyYSBvcyBjaWVudGlzdGFzIHF1ZSBlc3R1ZGFtIGFzIHJlbGHDp8O1ZXMgZW50 cmUgbGluZ3VhZ2VtLCBwZW5zYW1lbnRvIGUgY3VsdHVyYS4KCgoKISFPdXRyb3MgdXNvcyBwYXJh IExvamJhbntBTkFNRSgpfW90aGVydXNlc3tBTkFNRX0KCgoKTG9qYmFuIGZvaSBkZXNlbnZvbHZp ZG8gcGFyYSBzZXIgdW1hIGzDrW5ndWEgaHVtYW5hLCBlIG7Do28gdW1hIGzDrW5ndWEgZGUgY29t cHV0YWRvci4gw4ksIHBvcnRhbnRvLCBkZXN0aW5hZG8gcGFyYSBjb252ZXJzYXIsIGxlciwgZXNj cmV2ZXIgZSBwZW5zYXIuIE5vIGVudGFudG8sIHVtYSB2ZXogcXVlIGEgbMOtbmd1YSBMb2piYW4g cG9zc2Egc2VyIHByb2Nlc3NhZGEgcG9yIHVtIGNvbXB1dGFkb3IgbXVpdG8gbWFpcyBmYWNpbG1l bnRlIGRvIHF1ZSB1bWEgbMOtbmd1YSBuYXR1cmFsIHBvZGUsIGjDoSBhIGV4cGVjdGF0aXZhIG5h dHVyYWwgcXVlIG8gaWRpb21hIHBvc3NhIHNlciB1c2FkbyBwYXJhIGFwbGljYcOnw7VlcyBjb21w dXRhY2lvbmFpcy4gRGV2aWRvIMOgIHN1YSBlc3RydXR1cmEgZ3JhbWF0aWNhbCBpbmVxdcOtdm9j YSBlIHNpbXBsZXMsIHF1ZSBwb2RlIHNlciBmYWNpbG1lbnRlIGFuYWxpc2FkbyBwb3IgY29tcHV0 YWRvcmVzLCB0b3JuYS1zZSBwb3Nzw612ZWwgTG9qYmFuIHNlciB1dGlsaXphZG8gbm8gZnV0dXJv IHBhcmEgYSBpbnRlcmHDp8OjbyBlbnRyZSBodW1hbm9zIGUgY29tcHV0YWRvcmVzLiBBIGVzdHJ1 dHVyYSBkbyBwcmVkaWNhZG8gZGUgbG9qYmFuIMOpIHNlbWVsaGFudGUgYW8gQUksIHN1Z2VyaW5k by1vIGNvbW8gdW1hIGZlcnJhbWVudGEgcG9kZXJvc2EgbmEgQUkgcHJvY2Vzc2FtZW50bywgZXNw ZWNpYWxtZW50ZSBubyBhcm1hemVuYW1lbnRvIGUgcHJvY2Vzc2FtZW50byBkZSBkYWRvcyBzb2Jy ZSBvIG11bmRvIGUgY29uY2Vww6fDtWVzIGRlIHNldSBwb3ZvLiBPcyBsaW5nw7xpc3RhcyBlc3TD o28gaW50ZXJlc3NhZG9zIOKAi+KAi25vIHBvdGVuY2lhbCBkbyBsb2piYW4gY29tbyB1bWEgbGlu Z3VhZ2VtIGludGVybWVkacOhcmlhIG5hIHRyYWR1w6fDo28gYXNzaXN0aWRhIHBvciBjb21wdXRh ZG9yIGRhcyBsw61uZ3VhcyBuYXR1cmFpcy4gT3V0cmFzIHBlc3NvYXMgZXN0w6NvIGludGVyZXNz YWRhcyBlbSBMb2piYW4gY29tbyBsw61uZ3VhIGludGVybmFjaW9uYWwuCgoKCiEhVGhlIExvamJh biBkZXNpZ257QU5BTUUoKX1kZXNpZ257QU5BTUV9CgoKCkxvamJhbidzIGNoYXJhY3RlciBzZXQg dXNlcyBvbmx5IHN0YW5kYXJkIGtleWJvYXJkIGtleXM7IGNhcGl0YWxpemF0aW9uIGlzIHJhcmU7 IHB1bmN0dWF0aW9uIGlzIHNwb2tlbiBhcyB3b3Jkcy4gV3JpdHRlbiBsYW5ndWFnZSBjb3JyZXNw b25kcyBleGFjdGx5IHRvIHRoZSBzb3VuZHMgb2YgdGhlIHNwb2tlbiBsYW5ndWFnZTsgc3BlbGxp bmcgaXMgcGhvbmV0aWMgYW5kIHVuYW1iaWd1b3VzLCBhbmQgdGhlIGZsb3dpbmcgc291bmRzIG9m IHRoZSBsYW5ndWFnZSBicmVhayBkb3duIHVuaXF1ZWx5IGludG8gd29yZHMuIFRoZXNlIGZlYXR1 cmVzIG1ha2UgY29tcHV0ZXIgc3BlZWNoIHJlY29nbml0aW9uIGFuZCB0cmFuc2NyaXB0aW9uIG1v cmUgcHJhY3RpY2FsLiBMZWFybmluZyB0byB3cml0ZSBhbmQgc3BlbGwgTG9qYmFuIGlzIHRyaXZp YWwuCgoKCkxvamJhbidzIHByZWRpY2F0ZSBncmFtbWFyIHdhcyBkZXJpdmVkIGZyb20gdGhhdCBv ZiBmb3JtYWwgbG9naWMuIExvamJhbiBzZW50ZW5jZXMgYXJlIHN0YXRlZCBhcyBzZXRzIG9mIGFy Z3VtZW50cyB0aWVkIHRvZ2V0aGVyIGJ5IHByZWRpY2F0ZXMuIFRoZXNlIHByZWRpY2F0ZSBzdHJ1 Y3R1cmVzIGNhbiBiZSB1c2VkIHRvIGV4cHJlc3MgJ25vbi1sb2dpY2FsJyB0aG91Z2h0OyBsb2dp Y2lhbnMgYXJlIGFibGUgdG8gYW5hbHl6ZSBhbGwgbWFubmVyIG9mIHZlcmJhbCBleHByZXNzaW9u cyBieSBjb252ZXJ0aW5nIHRoZW0gaW50byBwcmVkaWNhdGUgbm90YXRpb24uIEJ1dCB3aGlsZSBM b2piYW4gd2lsbCBhbHJlYWR5IGJlIGV4cHJlc3NlZCBpbiBhIHByZWRpY2F0ZS1iYXNlZCBzeXN0 ZW0sIGFsbG93aW5nIGVhc3kgbG9naWNhbCBhbmFseXNpcywgaXQgYWxzbyBjb250YWlucyB0aGUg d2lkZSB2YXJpZXR5IG9mIGVsZW1lbnRzIGZvdW5kIGluIG5hdHVyYWwgbGFuZ3VhZ2UgZm9yIGV4 cHJlc3Npb24gb2YgYXR0aXR1ZGVzLAoKZW1vdGlvbnMsIGFuZCByaWNoIG1ldGFwaG9yLgoKCgpM b2piYW4gaGFzIG5vbmUgb2YgdGhlIHN0YW5kYXJkIHBhcnRzIG9mIHNwZWVjaC4gTG9qYmFuJ3Mg J3ByZWRpY2F0ZSB3b3JkcycgY2FuIHNlcnZlIGFzIHRoZSBlcXVpdmFsZW50IG9mIGEgbm91biwg dmVyYiwgYWRqZWN0aXZlLCBvciBhZHZlcmIuIEFjdGlvbiBhbmQgZXhpc3RlbmNlIGFyZSBlcXVh bGx5IGFjY2Vzc2libGUgdG8gYSBzcGVha2VyOyB0aGUgZGlzdGluY3Rpb24gY2FuIGJlIGlnbm9y ZWQsIG9yIGNhbiBiZSBleHBsaWNpdGx5IGV4cHJlc3NlZC4gQSB2YXJpZXR5IG9mIG9wZXJhdG9y cyBkZWFsIHdpdGggYWJzdHJhY3Rpb25zIHN1Y2ggYXMgZXZlbnRzLCBzdGF0ZXMsIHByb3BlcnRp ZXMsIGFtb3VudHMsIGlkZWFzLCBleHBlcmllbmNlLCBhbmQgdHJ1dGgsIGFuZCB3aXRoIGF0IGxl YXN0IGZvdXIgcHJlLWRlZmluZWQgdmFyaWV0aWVzIG9mIGNhdXNhbGl0eS4KCgoKTG9qYmFuIGhh cyBubyBtYW5kYXRvcnkgaW5mbGVjdGlvbnMgYW5kIGRlY2xlbnNpb25zIG9uIG5vdW5zLCB2ZXJi cywgYW5kIGFkamVjdGl2ZXMuIE5hdHVyYWwgbGFuZ3VhZ2VzIGV2b2x2ZWQgc3VjaCB2YXJpYXRp b25zIHRvIHJlZHVjZSBhbWJpZ3VpdHkgYXMgdG8gaG93IHdvcmRzIGFyZSByZWxhdGVkIGluIGEg c2VudGVuY2UuIEV2b2x1dGlvbmFyeSBkZXZlbG9wbWVudCBtYWRlIHRoZXNlIGluZmxlY3Rpb25z IGFuZCBkZWNsZW5zaW9ucyBoaWdobHkgaXJyZWd1bGFyIGFuZCB0aHVzIGRpZmZpY3VsdCB0byBs ZWFybi4gVGhlIHNpbXBsZSBidXQgZmxleGlibGUgcHJlZGljYXRlIHJlbGF0aW9uc2hpcCBlcmFz ZXMgYm90aCB0aGUgaXJyZWd1bGFyaXR5IGFuZCB0aGUgZGVjbGVuc2lvbnMuCgoKClRlbnNlIGFu ZCBsb2NhdGlvbiBtYXJrZXJzIChpbmZsZWN0aW9ucyksIGFkdmVyYnMsIGFuZCBwcmVwb3NpdGlv bnMgYXJlIGNvbWJpbmVkIGludG8gb25lIHBhcnQgb2Ygc3BlZWNoLiBOZXcgcHJlcG9zaXRpb24t bGlrZSBmb3JtcyBjYW4gYmUgYnVpbHQgYXQgd2lsbCBmcm9tIHByZWRpY2F0ZXM7IHRoZXNlIGFs bG93IHRoZSB1c2VyIHRvIGV4cGFuZCB1cG9uIGEgc2VudGVuY2UgYnkgYXR0YWNoaW5nIGFuZCBy ZWxhdGluZyBjbGF1c2VzIG5vdCBub3JtYWxseSBpbXBsaWVkIGluIHRoZSBtZWFuaW5nIG9mIGEg d29yZC4KCgoKTnVtYmVycyBhbmQgcXVhbnRpZmllcnMgYXJlIGNvbmNlcHR1YWxseSBleHBhbmRl ZCBmcm9tIG5hdHVyYWwgbGFuZ3VhZ2VzLiAiTWFueSIsICJlbm91Z2giLCAidG9vIG11Y2giLCAi YSBmZXciLCBhbmQgImF0IGxlYXN0IiBhcmUgYW1vbmcgY29uY2VwdHMgdGhhdCBhcmUgZXhwcmVz c2VkIGFzIG51bWJlcnMgaW4gTG9qYmFuLiBDb3JlIGNvbmNlcHRzIG9mIGxvZ2ljLCBtYXRoZW1h dGljcywgYW5kIHNjaWVuY2UgYXJlIGJ1aWx0IGludG8gdGhlIHJvb3Qgdm9jYWJ1bGFyeS4gT24g dG9wIG9mIHRoZSBjb3JlIGNvbmNlcHRzIG9mIHByZWRpY2F0ZSBsb2dpYywgTG9qYmFuIGFkZHMg aW4gbm9uLWxvZ2ljYWwgY29uc3RydWN0cyB0aGF0IGRvIG5vdCBhZmZlY3Qgb3Igb2JzY3VyZSB0 aGUgbG9naWNhbCBzdHJ1Y3R1cmUsIGFsbG93aW5nIGNvbW11bmljYXRpb25zIHRoYXQgYXJlIG5v dCBhbWVuYWJsZSB0byBsb2dpY2FsIGFuYWx5c2lzLiBGb3IgZXhhbXBsZSwgTG9qYmFuIGhhcyBh IGZ1bGwgc2V0IG9mIGVtb3Rpb25hbCBpbmRpY2F0b3JzLCBzaW1pbGFyIHRvIHN1Y2ggZWphY3Vs YXRpb25zIGluIEVuZ2xpc2ggYXMgIk9oISIsICJBaGEhIiwgYW5kICJXaGVlZSEiLCBleGNlcHQg dGhhdCBlYWNoIGhhcyBhIHNwZWNpZmljIG1lYW5pbmcuIFNpbWlsYXJseSwgTG9qYmFuIGhhcyBp bmRpY2F0b3JzIG9mIHRoZSBzcGVha2VyJ3MgcmVsYXRpb25zaGlwIHRvIHdoYXQgaXMgc2FpZCwg c2ltaWxhciB0byB0aG9zZSBmb3VuZCBpbiBzb21lIEFtZXJpY2FuIEluZGlhbiBsYW5ndWFnZXMu CgoKCkxvamJhbiBzdXBwb3J0cyBtZXRhbGluZ3Vpc3RpYyBkaXNjdXNzaW9uIGFib3V0IHRoZSBz ZW50ZW5jZXMgYmVpbmcgc3Bva2VuIHdoaWxlIHJlbWFpbmluZyB1bmFtYmlndW91cy4gTG9qYmFu IGFsc28gc3VwcG9ydHMgYSAndGVuc2UnIGxvZ2ljIHRoYXQgYWxsb3dzIGV4dHJlbWUgc3BlY2lm aWNpdHkgb2YgdGltZSBhbmQgc3BhY2UgcmVsYXRpb25zaGlwcywgZXZlbiB0aG9zZSBpbXBsaWVk IGJ5IHRpbWUgdHJhdmVsLiBMb2piYW4ncyBncmFtbWFyIGlzIGRlc2lnbmVkIHRvIHN1cHBvcnQg dW5hbWJpZ3VvdXMgc3RhdGVtZW50IG9mIG1hdGhlbWF0aWNhbCBleHByZXNzaW9ucyBhbmQgcmVs YXRpb25zIGluIGEgbWFubmVyIGNvbXBhdGlibGUgYm90aCB3aXRoIGludGVybmF0aW9uYWwgdXNh Z2UgYW5kIExvamJhbidzIG5vbi1tYXRoZW1hdGljYWwgZ3JhbW1hci4KCgoKTG9qYmFuIGlzIG11 Y2ggc2ltcGxlciB0aGFuIG5hdHVyYWwgbGFuZ3VhZ2VzLiBJdHMgZ3JhbW1hciBpcyBjb21wYXJh YmxlIGluIGNvbXBsZXhpdHkgd2l0aCB0aGUgY3VycmVudCBnZW5lcmF0aW9uIG9mIGNvbXB1dGVy IGxhbmd1YWdlcyAoc3VjaCBhcyBBREEpLiBMb2piYW4ncyBwcm9udW5jaWF0aW9uLCBzcGVsbGlu Zywgd29yZCBmb3JtYXRpb24sIGFuZCBncmFtbWFyIHJ1bGVzIGFyZSBmaXhlZCwgYW5kIHRoZSBs YW5ndWFnZSBpcyBmcmVlIG9mIGV4Y2VwdGlvbnMgdG8gdGhlc2UgcnVsZXMuCgoKCiEhQ3VycmVu dCBzdGF0dXMgYW5kIHVzYWdle0FOQU1FKCl9Y3VycmVudHtBTkFNRX0KCgoKVGhlIGxhbmd1YWdl LCB0aGVuIGNhbGxlZCBfX0xvZ2xhbl9fLCB3YXMgZmlyc3QgZGVzY3JpYmVkIGluIHRoZSAxOTUw J3MsIGJ5IERyLiBKYW1lcyBDb29rZSBCcm93bi4gVGhlIDE5NjAgU2NpZW50aWZpYyBBbWVyaWNh biBhcnRpY2xlICJMb2dsYW4iIHdhcyBoaXMgY2FsbCBmb3IgYXNzaXN0YW5jZSBpbiBkZXZlbG9w aW5nIHRoZSBsYW5ndWFnZS4gQSByZXZvbHV0aW9uIGluIGxpbmd1aXN0aWNzIHdhcyBzaW11bHRh bmVvdXNseSB0YWtpbmcgcGxhY2U7IHRoZSByZXN1bHRpbmcgaW5jcmVhc2UgaW4ga25vd2xlZGdl IG9mIHRoZSBuYXR1cmUgb2YgbGFuZ3VhZ2UgY2hhbmdlZCB0aGUgcmVxdWlyZW1lbnRzIGZvciBM b2dsYW4uIFRoZSBmaXJzdCB3aWRlbHkgZGlzdHJpYnV0ZWQgTG9nbGFuIGRpY3Rpb25hcnkgYW5k IGxhbmd1YWdlIGRlc2NyaXB0aW9uIGRpZCBub3QgYXBwZWFyIHVudGlsIDE5NzU7IHRoaXMgZGVz Y3JpcHRpb24gd2FzIGluY29tcGxldGUsIGFuZCBjb250aW51ZWQgZGV2ZWxvcG1lbnQgd29yayBk aXNjb3VyYWdlZCBsZWFybmluZyB0aGUgbGFuZ3VhZ2UuIENvbXB1dGVycyBjYXVnaHQgdXAgd2l0 aCBMb2dsYW4ganVzdCB0aGVuLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gcmVmaW5lIHRoZSBncmFt bWFyLCBlbGltaW5hdGUgYW1iaWd1aXR5IGFuZCBtYXRoZW1hdGljYWxseSBwcm92ZSBpdHMgYWJz ZW5jZTsgdGhpcyB3b3JrIGhhcyBqdXN0IGJlZW4gY29tcGxldGVkLiBGb3Igb3ZlciAzNSB5ZWFy cywgdGhpcyB3b3JrIGhhcyBiZWVuIHBlcmZvcm1lZCBieSB2b2x1bnRlZXJzLCBhbmQgd2l0aG91 dCBmaW5hbmNpYWwgc3VwcG9ydC4gTm93LCBhZnRlciBzZXZlcmFsIHZlcnNpb25zIG9mIHRoZSBs YW5ndWFnZSwgcGVvcGxlIGFyZSBsZWFybmluZyBhbmQgdXNpbmcgdGhlIGN1cnJlbnQgdmVyc2lv biwgd2hpY2ggaXMgdGhlIGZpcnN0IGNhbGxlZCBfX0xvamJhbl9fIChmcm9tIHRoZSByb290cyAi bG9naWNhbC1sYW5ndWFnZSIgaW4gTG9qYmFuKS4KCgoKVGhpcyB2ZXJzaW9uIGlzIHRoZSBmaXJz dCB2ZXJzaW9uIHdpdGggYSBzdGFibGUgdm9jYWJ1bGFyeSwgYW5kIHRoZSBmaXJzdCB0byBoYXZl IGEgc3RhYmxlIGFuZCBjb21wbGV0ZWx5IGRlZmluZWQgZ3JhbW1hciAodGhlIGdyYW1tYXIgb2Yg bWF0aGVtYXRpY2FsIGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZSwgd2FzIG5vdCBkZXZlbG9wZWQg dW50aWwgMTk5MCkuIFRoZSBiYXNpYyBMb2piYW4gdm9jYWJ1bGFyeSB3YXMgYmFzZWxpbmVkIChz dGFiaWxpemVkIGFnYWluc3QgY2hhbmdlKSBpbiB0aGUgbGFzdCBoYWxmIG9mIDE5ODgsIGFuZCB0 aGUgZ3JhbW1hciBzaW1pbGFybHkgc3RhYmlsaXplZCBpbiBsYXRlLTE5OTAsIGFmdGVyIGNvbXBs ZXRpb24gb2YgdGhlIGZpcnN0IExvamJhbiBjb3Vyc2VzLCBhY3R1YWwgdXNhZ2Ugb2YgdGhlIGxh bmd1YWdlLCBhbmQgc2V2ZXJhbCBpdGVyYXRpb25zIG9mIGNhcmVmdWwgYW5hbHlzaXMuIFRoZSBm dWxsIGxhbmd1YWdlIGRlc2lnbiB3YXMgYmFzZWxpbmVkIGluIDE5OTcsIGFuZCBubyBjaGFuZ2Vz IHdpbGwgZXZlbiBiZSBjb25zaWRlcmVkIHVudGlsIDUgeWVhcnMgYWZ0ZXIgdGhlIHNldCBvZiBi b29rcyBkZXNjcmliaW5nIHRoZSBsYW5ndWFnZSBpcyBwdWJsaXNoZWQgKHRodXMgYXQgbGVhc3Qg MjAwNSkuIFRodXMsIHdoaWxlIHRoZSBsYW5ndWFnZSB3YXMgZmlyc3Qgc3RhcnRlZCAzNSB5ZWFy cyBhZ28sIExvZ2xhbi9Mb2piYW4gaXMgYSB2ZXJ5IG5ldyBsYW5ndWFnZS4KCgoKVG8gZW5zdXJl IExvamJhbiByZW1haW5zIHN0YWJsZSB3aGlsZSBwZW9wbGUgbGVhcm4gaXQsIHRoZSBsYW5ndWFn ZSBkZWZpbml0aW9uIGlzIHByZXNjcmliZWQgYW5kIGNsb3NlbHkgY29udHJvbGxlZC4gV2hlbiB0 aGUgbnVtYmVyIG9mIHNwZWFrZXJzIGhhcyBncm93biBzaWduaWZpY2FudGx5LCBhbmQgYSBMb2pi YW4gbGl0ZXJhdHVyZSBoYXMgZGV2ZWxvcGVkLCBMb2piYW4gd2lsbCBiZSB0cmVhdGVkIGxpa2Ug YSBuYXR1cmFsIGxhbmd1YWdlIGFuZCBhbGxvd2VkIHRvIGdyb3cgYW5kIGZsb3VyaXNoIHdpdGhv dXQgY29uc3RyYWludCwgYXMgZG8gb3RoZXIgbmF0dXJhbCBsYW5ndWFnZXMuCgoKCk9yaWdpbmFs IHRleHQgYW5kIHBvZXRyeSBoYXZlIGJlZW4gd3JpdHRlbiBpbiBMb2piYW4sIGFuZCBzb21lIGhh cyBiZWVuIHRyYW5zbGF0ZWQgaW50byB0aGUgbGFuZ3VhZ2UuIExvamJhbidzIHBvd2VyZnVsIG1l dGFwaG9yIHN0cnVjdHVyZSBhbGxvd3MgYnVpbGRpbmcgbmV3IGNvbmNlcHRzIGludG8gd29yZHMg ZWFzaWx5LCBhcyBuZWVkZWQuIEEgTG9qYmFuIHNwZWFrZXIgZG9lc24ndCBuZWVkIGEgZGljdGlv bmFyeSB0byB1c2UgYW5kIHVuZGVyc3RhbmQgbWlsbGlvbnMgb2Ygd29yZHMgdGhhdCBjYW4gcG90 ZW50aWFsbHkgZXhpc3QgaW4gdGhlIGxhbmd1YWdlLgoKCgpBcyBvZiAxOTk3LCB0aGVyZSBhcmUg YWJvdXQgMTIwMCBwZW9wbGUgb24gb3VyIG1haWxpbmcgbGlzdHMsIGluY2x1ZGluZyBhYm91dCAz MDAgbGlzdGVkIGFzIGFjdGl2ZWx5IHRyeWluZyB0byBsZWFybiB0aGUgbGFuZ3VhZ2UuIE92ZXIg MTAwIG9mIHRoZXNlIGhhdmUgZGVtb25zdHJhdGVkIGNvbW11bmljYXRpdmUgYWJpbGl0eSB0byB1 c2UgdGhlIGxhbmd1YWdlIGluIGNvbnZlcnNhdGlvbiwgdHJhbnNsYXRpb24sIG9yIG9yaWdpbmFs IHdyaXRpbmcsIGFuZCBvbmUgcGVyc29uIGlzIHN1ZmZpY2llbnRseSBza2lsbGVkIHRvIGJlIGNv bnNpZGVyZWQgZmx1ZW50IGluIHRoZSBsYW5ndWFnZS4gU2V2ZXJhbCBvZiB0aGVzZSByZWd1bGFy bHkgZ2V0IHRvZ2V0aGVyIGluIHRoZSBXYXNoaW5ndG9uIERDIGFyZWEgZm9yIGNvbnZlcnNhdGlv biwgYW5kIGFuIGFubnVhbCBtZWV0aW5nL21pbmktY29udmVudGlvbiBpcyBoZWxkIHRoZXJlIGV2 ZXJ5IHN1bW1lci4gVGhpcyBwcm9ncmVzcyBpcyByZW1hcmthYmxlIHNpbmNlIHRoZXJlIGlzIG5v IGRpY3Rpb25hcnkgZm9yIHRoZSBjdXJyZW50IGxhbmd1YWdlLCBhbmQgYSB0ZXh0Ym9vayBleGlz dHMgb25seSBpbiBwYXJ0aWFsIGRyYWZ0IGZvcm07IHBlb3BsZSB1c2UgdGhlIGxhbmd1YWdlIHJl ZmVyZW5jZSBtYW51YWwgYXMgYSBsZWFybmluZyBzb3VyY2UsIGFuZCB3ZSd2ZSBldm9sdmVkIG1l dGhvZHMgb2YgdGVhY2hpbmcgdGhlIGxhbmd1YWdlIGF0IGEgZGlzdGFuY2UgdGhhdCBvdmVyY29t ZSB0aGlzIGhhbmRpY2FwLgoKCgohIUxvamJhbidzIHVuYW1iaWd1aXR5e0FOQU1FKCl9dW5hbWJp Z3VpdHl7QU5BTUV9CgoKCkxvamJhbiBoYXMgYW4gdW5hbWJpZ3VvdXMgZ3JhbW1hciAocHJvdmVu IGJ5IGNvbXB1dGVyIGFuYWx5c2lzIG9mIGEgZm9ybWFsIGdyYW1tYXIgd2l0aCBZQUNDKSwgcHJv bnVuY2lhdGlvbiwgYW5kIG1vcnBob2xvZ3kgKHdvcmQgZm9ybXMpLiBUaGUgcGVyc29uIHdobyBy ZWFkcyBvciBoZWFycyBhIExvamJhbiBzZW50ZW5jZSBpcyBuZXZlciBpbiBkb3VidCBhcyB0byB3 aGF0IHdvcmRzIGl0IGNvbnRhaW5zIG9yIHdoYXQgcm9sZXMgdGhleSBwbGF5IGluIHRoZSBzZW50 ZW5jZS4gTG9qYmFuIGhhcyBubyB3b3JkcyB0aGF0IHNvdW5kIGFsaWtlIGJ1dCBoYXZlIGRpZmZl cmVudCBtZWFuaW5ncyAobGlrZSAiaGVyZCIgYW5kICJoZWFyZCIpLCB0aGF0IGhhdmUgbXVsdGlw bGUgdW5yZWxhdGVkIG1lYW5pbmdzICgic2V0IiksIG9yIHRoYXQgZGlmZmVyIG9ubHkgaW4gcHVu Y3R1YXRpb24gYnV0IG5vdCBpbiBzb3VuZCAobGlrZSB0aGUgYWJvbWluYWJsZSAiaXRzIiBhbmQg Iml0J3MiKS4gVGhlcmUgaXMgbmV2ZXIgYW55IGRvdWJ0IGFib3V0IHdoZXJlIHdvcmRzIGJlZ2lu IGFuZCBlbmQgKCJjYXJnbyBzaGlwbWVudCIgY2FuIGJlIGhlYXJkIGFzIDIsIDMsIG9yIDQgd29y ZHMpLiBUaGUgZnVuY3Rpb24gb2YgZWFjaCB3b3JkIGlzIGNsZWFyOyB0aGVyZSBpcyBub3RoaW5n IGxpa2UgdGhlIEVuZ2xpc2ggIlRpbWUgZmxpZXMgbGlrZSBhbiBhcnJvdy4iLCBpbiB3aGljaCBh bnkgb2YgdGhlIGZpcnN0IHRocmVlIHdvcmRzIGNvdWxkIGJlIHRoZSB2ZXJiLiBQcmVjaXNpb24g aW4gbm8gd2F5IGNvbmZpbmVzIHRoZSBtZWFuaW5nIG9mIGEgTG9qYmFuIHNlbnRlbmNlLiBJdCBp cyBwb3NzaWJsZSB0byBzcGVhayBub25zZW5zZSwgdG8gdGVsbCBhIGxpZSwgb3IgdG8gYmUgbWlz dW5kZXJzdG9vZC4gWW91IGNhbiBiZSB2ZXJ5IHNwZWNpZmljLCBvciB5b3UgY2FuIGJlIGludGVu dGlvbmFsbHkgdmFndWUuIFlvdXIgaGVhcmVyIG1heSBub3QgdW5kZXJzdGFuZCB3aGF0IHlvdSBt ZWFudCwgYnV0IHdpbGwgYWx3YXlzIHVuZGVyc3RhbmQgd2hhdCB5b3Ugc2FpZC4KCgoKTG9qYmFu IGlzIE5PVCBlbnRpcmVseSB1bmFtYmlndW91czsgaHVtYW4gYmVpbmdzIG9jY2FzaW9uYWxseSBk ZXNpcmUgdG8gYmUgYW1iaWd1b3VzIGluIHRoZWlyIGV4cHJlc3Npb25zLiBJbiBMb2piYW4sIHRo aXMgYW1iaWd1aXR5IGlzIGxpbWl0ZWQgdG8gc2VtYW50aWNzLCBtZXRhcGhvciwgYW5kIGludGVu dGlvbmFsIG9taXNzaW9uIG9mIGluZm9ybWF0aW9uIChlbGxpcHNpcykuIFNlbWFudGljIGFtYmln dWl0eSBpbiBsYW5ndWFnZSByZXN1bHRzIGJlY2F1c2Ugd29yZHMgaW4gbmF0dXJhbCBsYW5ndWFn ZXMgcmVwcmVzZW50IGZhbWlsaWVzIG9mIGNvbmNlcHRzIHJhdGhlciB0aGFuIGluZGl2aWR1YWwg bWVhbmluZ3MsIG9mdGVuIHdpdGggb25seSB3ZWFrIHNlbWFudGljIHJlbGF0aW9uc2hpcHMgdG8g ZWFjaCBvdGhlci4gSW4gYWRkaXRpb24sIGVhY2ggaW5kaXZpZHVhbCdzIHBlcnNvbmFsIGV4cGVy aWVuY2VzIHByb3ZpZGUgZW1vdGlvbmFsIGNvbm5vdGF0aW9ucyB0byB3b3Jkcy4gQnkgcHJvdmlk aW5nIGEgZnJlc2gsIGN1bHR1cmFsbHktbmV1dHJhbCBzdGFydCwgTG9qYmFuIGF0dGVtcHRzIHRv IG1pbmltaXplIHRoZSB0cmFuc2ZlcmVuY2Ugb2YgdGhlc2UgYXNzb2NpYXRpb25zIGFzIHBlb3Bs ZSBsZWFybiB0aGUgbGFuZ3VhZ2UuIEJ5IGludGVudGlvbiwgbW9zdCBMb2piYW4gd29yZHMgZG8g bm90IGNsb3NlbHkgcmVzZW1ibGUgY29ycmVzcG9uZGluZyB3b3JkcyBpbiBvdGhlciBsYW5ndWFn ZXM7IHRoZSBkaWZmZXJlbmNlcyBhaWQgaW4gbWFraW5nIHRoaXMgZnJlc2ggc3RhcnQgcG9zc2li bGUuIExvamJhbidzIHBvd2VyZnVsIG1ldGFwaG9yIGFuZCB3b3JkLWJ1aWxkaW5nIGZlYXR1cmVz IG1ha2UgaXQgZWFzeSB0byBtYWtlIGZpbmUgZGlzdGluY3Rpb25zIGJldHdlZW4gY29uY2VwdHMs IGRpc2NvdXJhZ2luZyBpbmRpdmlkdWFsIHdvcmRzIGZyb20gaGF2aW5nIGZhbWlsaWVzIG9mIG1l YW5pbmdzLiBMb2piYW4gbWV0YXBob3JzIGFyZSB0aGVtc2VsdmVzIGFtYmlndW91cywgc3BlY2lm eWluZyBhIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGNvbmNlcHRzLCBidXQgbm90IHdoYXQgdGhlIHJl bGF0aW9uc2hpcCBpcy4gVGhhdCByZWxhdGlvbnNoaXAgY2FuIGJlIG1hZGUgZXhwbGljaXQgdXNp bmcgdW5hbWJpZ3VvdXMgbG9naWNhbCBjb25zdHJ1Y3RzIGlmIG5lY2Vzc2FyeSwgb3IgY2FuIGJl IGxlZnQgdmFndWUgYXMgdGhlIHNwZWFrZXIgKHVzdWFsbHkpIGRlc2lyZXMuIFNpbWlsYXJseSwg cG9ydGlvbnMgb2YgdGhlIGxvZ2ljYWwgc3RydWN0dXJlIG9mIGEgTG9qYmFuIGV4cHJlc3Npb24g Y2FuIGJlIG9taXR0ZWQsIGdyZWF0bHkgc2ltcGxpZnlpbmcgdGhlIGV4cHJlc3Npb24gd2hpbGUg Y2F1c2luZyBzb21lIGFtYmlndWl0eS4gVW5saWtlIGluIHRoZSBuYXR1cmFsIGxhbmd1YWdlcywg dGhvdWdoLCB0aGlzIGFtYmlndWl0eSBpcyByZWFkaWx5IGlkZW50aWZpZWQgYnkgYSByZWFkZXIg b3IgbGlzdGVuZXIuIFRodXMgYWxsIGFtYmlndWl0eSBpbiBMb2piYW4gaXMgY29uc3RyYWluZWQg YW5kIHJlY29nbml6YWJsZSwgYW5kIGNhbiBiZSBjbGFyaWZpZWQgYXMgbmVjZXNzYXJ5IGJ5IGZ1 cnRoZXIgaW50ZXJhY3Rpb24uCgoKCiEhTG9qYmFuIGFuZCBTYXBpci1XaG9yZntBTkFNRSgpfXNh cGlyd2hvcmZ7QU5BTUV9CgoKClRoaXMgaHlwb3RoZXNpcyBzdGF0ZXMgdGhhdCB0aGUgc3RydWN0 dXJlIG9mIGEgbGFuZ3VhZ2UgY29uc3RyYWlucyB0aG91Z2h0IGluIHRoYXQgbGFuZ3VhZ2UsIGFu ZCBjb25zdHJhaW5zIGFuZCBpbmZsdWVuY2VzIHRoZSBjdWx0dXJlIHRoYXQgdXNlcyBpdC4gSW4g b3RoZXIgd29yZHMsIGlmIGNvbmNlcHRzIG9yIHN0cnVjdHVyYWwgcGF0dGVybnMgYXJlIGRpZmZp Y3VsdCB0byBleHByZXNzIGluIGEgbGFuZ3VhZ2UsIHRoZSBzb2NpZXR5IGFuZCBjdWx0dXJlIHVz aW5nIHRoZSBsYW5ndWFnZSB3aWxsIHRlbmQgdG8gYXZvaWQgdGhlbS4gSW5kaXZpZHVhbHMgbWln aHQgb3ZlcmNvbWUgdGhpcyBiYXJyaWVyLCBidXQgdGhlIHNvY2lldHkgYXMgYSB3aG9sZSB3aWxs IG5vdC4gVGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgaXMgaW1wb3J0YW50LCBhbmQgY29udHJv dmVyc2lhbDsgaXQgY2FuIGJlIHVzZWQgYXMgYSBzb2Npb2xvZ2ljYWwgYXJndW1lbnQgdG8ganVz dGlmeSBvciB0byBvcHBvc2UgcmFjaXNtIGFuZCBzZXhpc20gKGFuZCBhIHZhcmlldHkgb2Ygb3Ro ZXIgJ2lzbXMnKS4gRm9yIGV4YW1wbGUsIHRoZSBhc3NlcnRpb24gdGhhdCBzaW5jZSBnZW5kZXJs ZXNzIGV4cHJlc3Npb25zIGluIEVuZ2xpc2ggdXNlICdtYXNjdWxpbmUnIGZvcm1zLCBFbmdsaXNo IGlzICdzZXhpc3QnLCBwcmVzdW1lcyB0aGUgU2FwaXItV2hvcmYgaHlwb3RoZXNpcyBpcyB0cnVl LiBVbmRlcnN0YW5kaW5nIHRoZSBwb3RlbnRpYWwgZm9yIFNhcGlyLVdob3JmIGVmZmVjdHMgY291 bGQgbGVhZCB0byBiZXR0ZXIgaW50ZXItY3VsdHVyYWwgdW5kZXJzdGFuZGluZywgcHJvbW90aW5n IGNvbW11bmljYXRpb24gYW5kIHBlYWNlLgoKCgpJdCBpcyBrbm93biB0aGF0IHBlb3BsZSdzIGlk ZWFzIGFuZCB0aG91Z2h0IGNoYW5nZSBzb21ld2hhdCB3aGVuIHRoZXkgbGVhcm4gYSBmb3JlaWdu IGxhbmd1YWdlLiBJdCBpcyBub3Qga25vd24gd2hldGhlciB0aGlzIGNoYW5nZSBpcyBkdWUgdG8g ZXhwb3N1cmUgdG8gYSBkaWZmZXJlbnQgY3VsdHVyZSBvciBldmVuIGp1c3QgZ2V0dGluZyBvdXRz aWRlIG9mIG9uZXMgb3duIGN1bHR1cmUuIEl0IGlzIGFsc28gbm90IGtub3duIGhvdyBtdWNoIChp ZiBhbnkpIG9mIHRoZSBjaGFuZ2UgaXMgZHVlIHRvIHRoZSBuYXR1cmUgb2YgdGhlIGxhbmd1YWdl LCBhcyBvcHBvc2VkIHRvIHRoZSBjdWx0dXJhbCBhc3NvY2lhdGlvbnMuCgoKClRoZSBTYXBpci1X aG9yZiBoeXBvdGhlc2lzIHdhcyBpbXBvcnRhbnQgaW4gbGluZ3Vpc3RpY3MgaW4gdGhlIDE5NTAn cywgYnV0IGludGVyZXN0IGZlbGwgb2ZmIHBhcnRpYWxseSBiZWNhdXNlIHByb3Blcmx5IHRlc3Rp bmcgaXQgd2FzIHNvIGRpZmZpY3VsdC4gTG9nbGFuL0xvamJhbiBpcyBhIG5ldyBhcHByb2FjaCB0 byBzdWNoIHRlc3RpbmcuIE9idmlvdXNseSwgaWYgYSBjdWx0dXJlLWluZGVwZW5kZW50IGxhbmd1 YWdlIGNvdWxkIGJlIHRhdWdodCB0byBncm91cHMgb2YgcGVvcGxlLCB0aGUgZWZmZWN0cyBvZiBs YW5ndWFnZSBjb3VsZCBtb3JlIGVhc2lseSBiZSBzZXBhcmF0ZWQgZnJvbSB0aG9zZSBvZiBjdWx0 dXJlLgoKCgpVbmlxdWUgZmVhdHVyZXMgb2YgTG9qYmFuIHJlbW92ZSBjb25zdHJhaW50cyBvbiBs YW5ndWFnZSBpbiB0aGUgYXJlYXMgb2YgbG9naWMsIGFtYmlndWl0eSwgYW5kIGV4cHJlc3NpdmUg cG93ZXIsIG9wZW5pbmcgdXAgYXJlYXMgb2YgdGhvdWdodCB0aGF0IGhhdmUgbm90IGJlZW4gZWFz aWx5IGFjY2Vzc2libGUgYnkgaHVtYW4gbGFuZ3VhZ2UgYmVmb3JlLiBNZWFud2hpbGUsIHRoZSBm b3JtYWwgcmlnaWRpdHkgb2YgdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gYWxsb3dzIHNwZWFrZXJz IHRvIGNhcmVmdWxseSBjb250cm9sIHRoZWlyIGV4cHJlc3Npb25zIChhbmQgcGVyaGFwcyB0aGVy ZWZvcmUgdGhlaXIgdGhvdWdodCBwcm9jZXNzZXMpLiBUaGlzIGdpdmVzIHNvbWUgbWVhc3VyZSBv ZiBwcmVkaWN0aXZlIHBvd2VyIHRoYXQgY2FuIGJlIHVzZWQgaW4gZGVzaWduaW5nIGFuZCBwcmVw YXJpbmcgZm9yIGFjdHVhbCBTYXBpci1XaG9yZiBleHBlcmltZW50cy4KCgoKT25lIG9mIHRoZSBw cmVyZXF1aXNpdGVzIG9mIGEgU2FwaXItV2hvcmYgZXhwZXJpbWVudCBpcyBhbiBpbnRlcm5hdGlv bmFsIGJvZHkgb2YgTG9qYmFuIHNwZWFrZXJzLiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVhY2gg TG9qYmFuIHRvIHN1YmplY3RzIHdobyBrbm93IG9ubHkgdGhlaXIgbmF0aXZlIChub24tRW5nbGlz aCkgdG9uZ3VlLCBhbmQgd2UgbmVlZCB0byBrbm93IGluIGFkdmFuY2UgdGhlIGRpZmZpY3VsdGll cyB0aGF0IHBlb3BsZSBmcm9tIGVhY2ggbGFuZ3VhZ2UgYW5kIGN1bHR1cmUgd2lsbCBoYXZlIGlu IGxlYXJuaW5nIExvamJhbi4gVGh1cywgdGhlIExvamJhbiBjb21tdW5pdHkgaXMgYWN0aXZlbHkg cmVhY2hpbmcgb3V0IHRvIHNwZWFrZXJzIG9mIGxhbmd1YWdlcyBvdGhlciB0aGFuIEVuZ2xpc2gu CgoKCkxvamJhbiBkb2VzIG5vdCBuZWVkIHRvIHByb3ZlIG9yIGRpc3Byb3ZlIHRoZSBTYXBpci1X aG9yZiBoeXBvdGhlc2lzIGluIG9yZGVyIHRvIGJlIHN1Y2Nlc3NmdWwuIEhvd2V2ZXIsIGlmIGV2 aWRlbmNlIGlzIHByb2R1Y2VkIHN1cHBvcnRpbmcgdGhlIFNhcGlyLVdob3JmIGVmZmVjdCwgTG9q YmFuIHdpbGwgbGlrZWx5IGJlIHBlcmNlaXZlZCBhcyBhbiBvdXRzdGFuZGluZyB0b29sIG9mIGFu YWx5dGljYWwgYW5kIGNyZWF0aXZlIHRob3VnaHQuICgoU2FwaXItV2hvcmYgSHlwb3RoZXNpc3xN b3JlLi4uKSkKCgoKISFPdGhlciBsaW5ndWlzdGljIGFwcGxpY2F0aW9uc3tBTkFNRSgpfW90aGVy bGluZ3tBTkFNRX0KCgoKQW4gYXJ0aWZpY2lhbCBsYW5ndWFnZSAoQUwpIGlzIGEgc2ltcGxlIG1v ZGVsIG9mIGEgbmF0dXJhbCBsYW5ndWFnZS4gSXQgaXMgdXNlZCBmb3IgY29tbXVuaWNhdGlvbiBs aWtlIG5hdHVyYWwgbGFuZ3VhZ2VzLCBzaW1wbGVyLCBtb3JlIHJlZ3VsYXIsIGFuZCByZWxhdGl2 ZWx5IHVuY29udGFtaW5hdGVkIGJ5IGN1bHR1cmUgZWZmZWN0cy4gVW5saWtlIG1vc3QgbmF0dXJh bCBsYW5ndWFnZXMsIGFuIEFMIGhhcyBub3QgZXZvbHZlZCB0aHJvdWdoIG5hdHVyYWwgcHJvY2Vz c2VzIG9mIGludGVybmFsIGNoYW5nZSBvciBjb250YWN0IHdpdGggb3RoZXIgbGFuZ3VhZ2VzLiBJ biBhZGRpdGlvbiwgdG8gdGhlIGV4dGVudCB0byB3aGljaCBkZXRhaWxzIG9mIGFuIEFMIGlzIHBy ZS1kZWZpbmVkLCB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIHRoZSBsYW5ndWFnZSBpcyBmYXIg YmV0dGVyIGtub3duIHRoYW4gdGhhdCBvZiBhbnkgbmF0dXJhbCBsYW5ndWFnZS4KCgoKU3VjaCBh IHByZS1kZWZpbml0aW9uLCBhIGxhbmd1YWdlICdwcmVzY3JpcHRpb24nLCBtYWtlcyBhbiBBTCBh IHVuaXF1ZSB0b29sIGZvciBzdHVkeWluZyB0aGUgbmF0dXJlIG9mIGxhbmd1YWdlLiBBcyBwZW9w bGUgbGVhcm4gdGhlIGxhbmd1YWdlLCB0aGUgd2F5IHRoZXkgJ2FjcXVpcmUnIHVuZGVyc3RhbmRp bmcgb2YgdGhhdCBwcmVzY3JpcHRpb24gY2FuIHRlbGwgc2NpZW50aXN0cyBob3cgJ25hdHVyYWwn IHRoZSBwcmVzY3JpYmVkIGZvcm1zIGFyZS4gQWN0dWFsIHVzYWdlIG9mIHRoZSBsYW5ndWFnZSBj YW4gYmUgY29tcGFyZWQgdG8gdGhlIHByZXNjcmlwdGlvbiBwcm92aWRpbmcgcXVhbnRpdGF0aXZl IGRhdGEgb24gc3BlY2lmaWMgcGF0dGVybnMgb2YgdXNhZ2UuIEFzIHRoZSBsYW5ndWFnZSBldm9s dmVzIGZyb20gaXRzIHJlbGF0aXZlbHkgcHJpc3RpbmUgaW5pdGlhbCBzdGF0ZSwgaXQgbWF5IGRl dmlhdGUgZnJvbSBpdHMgcHJlc2NyaXB0aW9uLiBTdWNoIGRldmlhdGlvbnMgd2lsbCBiZXR0ZXIg aW5mb3JtIHJlc2VhcmNoZXJzIGFzIHRvIHRoZSBwcm9wZXJ0aWVzIG9mIGEgJ25hdHVyYWwnIGxh bmd1YWdlLiBUaGUgcHJvY2VzcyBvZiBsYW5ndWFnZSBjaGFuZ2UgaXRzZWxmIHdpbGwgYmUgb3Bl biB0byBpbnZlc3RpZ2F0aW9uIGluIGEgd2F5IG5ldmVyIGJlZm9yZSBwb3NzaWJsZS4gRmluYWxs eSwgdGhlIGV4aXN0ZW5jZSBvZiBhIHJlbGF0aXZlbHkgY29tcGxldGUgbGFuZ3VhZ2UgcHJlc2Ny aXB0aW9uIGF0IHRoZSBiaXJ0aCBvZiB0aGUgbGFuZ3VhZ2UgbWVhbnMgdGhhdCBhICdkZXNjcmlw dGlvbicgb2YgYWN0dWFsIHVzYWdlIGFmdGVyIHRoYXQgaW5pdGlhbCBzdGF0ZSBjYW4gYmUgbW9y ZSBzaW1wbHkgY3JlYXRlZCwgbWFpbnRhaW5lZCwgYW5kIHN0dWRpZWQuCgoKCkxvamJhbiBpcyB1 bmRvdWJ0ZWRseSB0aGUgbW9zdCBjYXJlZnVsbHkgZGVzaWduZWQgYW5kIGRlZmluZWQgQUwgZXZl ciBjcmVhdGVkLiBBbGwgYXNwZWN0cyBvZiBpdHMgZGVzaWduIGhhdmUgYmVlbiBjYXJlZnVsbHkg ZW5naW5lZXJlZCBieSBzZXZlcmFsIHBlb3BsZSBlbmNvbXBhc3NpbmcgZXhwZXJ0aXNlIGluIGEg dmFyaWV0eSBvZiBkaXNjaXBsaW5lcywgaW5jbHVkaW5nIGxpbmd1aXN0aWNzLiBUaGUgbGFuZ3Vh Z2UgcHJlc2NyaXB0aW9uIGlzIHNpbWlsYXJseSB0aGUgbW9zdCBjb21wbGV0ZSBvZiBhbnkgbGFu Z3VhZ2UuIEFzIHN1Y2gsIGl0IHNlcnZlcyBhcyBhIHVuaXF1ZSBiYXNpcyBmb3IgdGhlIHN0dWR5 IG9mIGxhbmd1YWdlIHVzYWdlIGFuZCBsYW5ndWFnZSBjaGFuZ2UuCgoKCkEgbmV3IGxhbmd1YWdl IGxpa2UgTG9qYmFuLCB3aXRoIG5vIG5hdGl2ZSBzcGVha2VycywgaXMgYSAncGlkZ2luJy4gQXMg dGhlIGxhbmd1YWdlIGV2b2x2ZXMsIG5hdGl2ZSBzcGVha2VycyBvZiBvdGhlciBsYW5ndWFnZXMg d2lsbCBsZWFybiBpdCwgYW5kIHdpbGwgYnJpbmcgaW50byB0aGVpciBMb2piYW4gdXNhZ2UgdGhl IHBlcnNwZWN0aXZlIGFuZCBwYXR0ZXJucyBvZiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFRoaXMg aW50ZXJhY3Rpb24gcHJvY2VzcywgY2FsbGVkICdjcmVvbGl6YXRpb24nLCBhZmZlY3RzIGFsbCBs YW5ndWFnZXMsIGFuZCBtYXkgYmUgdGhlIHByaW5jaXBsZSBjYXVzZSBvZiBsYW5ndWFnZSBjaGFu Z2UuIEFzIExvamJhbiBpcyBsZWFybmVkIGJ5IHNwZWFrZXJzIG9mIGEgdmFyaWV0eSBvZiBuYXR1 cmFsIGxhbmd1YWdlcywgdGhpcyBwcm9jZXNzIGNhbiBiZSBzdHVkaWVkIGRpcmVjdGx5IGluIGEg d2F5IG5ldmVyIGJlZm9yZSBwb3NzaWJsZSwgd2l0aCB0aGUgbGFuZ3VhZ2UgcHJlc2NyaXB0aW9u IHNlcnZpbmcgYXMgYSBzdGFuZGFyZCBieSB3aGljaCBkZXZpYXRpb25zIGFzc29jaWF0ZWQgd2l0 aCBzcGVha2VyIG9yaWdpbiwgYW5kIGV2b2x1dGlvbiBvZiB1c2FnZSwgY2FuIGJlIG1lYXN1cmVk IGFuZCBkZXNjcmliZWQgaW4gZGV0YWlsLgoKCgpBbiBBTCBsaWtlIExvamJhbiBoYXMgbmVpdGhl ciBhbiBhc3NvY2lhdGVkICduYXRpdmUgYWNjZW50JyBub3IgYSBjdWx0dXJlIGJhc2UuIEJlaW5n IG11Y2ggc2ltcGxlciBhbmQgbW9yZSByZWd1bGFyIHRoYW4gYSBuYXR1cmFsIGxhbmd1YWdlLCBh biBhZHVsdCBzcGVha2VyIHNob3VsZCBhY3F1aXJlIGEgZmx1ZW5jeSBzZWxkb20gYWNoaWV2ZWQg d2hlbiBzdHVkeWluZyBhIG5hdHVyYWwgbGFuZ3VhZ2UsIGFuZCBpbiBhIHJlbGF0aXZlbHkgc2hv cnQgdGltZS4gTG9qYmFuIHRodXMgbWFrZXMgcG9zc2libGUgcmVsYXRpdmVseSBzaG9ydC10ZXJt IHN0dWRpZXMgb2YgbGFuZ3VhZ2UgbGVhcm5pbmcgYW5kIGxhbmd1YWdlIGNoYW5nZS4gUHJvY2Vz c2VzIHRoYXQgdGFrZSBnZW5lcmF0aW9ucyBpbiBuYXR1cmFsIGxhbmd1YWdlcyBtYXkgYmUgb2Jz ZXJ2ZWQgaW4gYSBmZXcgeWVhcnMgaW4gTG9qYmFuIHNwZWFrZXJzLgoKCgpXaXRoIHRoZSBsZWFy bmluZyBvZiBvdGhlciBsYW5ndWFnZXMgYWNxdWlyaW5nIGNyaXRpY2FsIGltcG9ydGFuY2UgaW4g dG9kYXkncyBpbnRlcm5hdGlvbmFsIGVjb25vbXksIExvamJhbiBwcm92aWRlcyBhIHRvb2wgZm9y IHJlc2VhcmNoIGluIGxhbmd1YWdlIGFjcXVpc2l0aW9uLiBBZ2FpbiwgTG9qYmFuJ3Mgc2ltcGxp Y2l0eSBhbGxvd3MgdGhlIHJlc3VsdHMgb2Ygc3VjaCByZXNlYXJjaCB0byBiZSBvYnRhaW5lZCBt b3JlIHF1aWNrbHkgdGhhbiBpbiBzaW1pbGFyIHN0dWRpZXMgb2YgbmF0dXJhbCBsYW5ndWFnZSBh Y3F1aXNpdGlvbi4KCgoKTm8gY2xhaW0gaXMgbWFkZSB0aGF0IHN0dWR5aW5nIExvamJhbiB3aWxs IHRlbGwgJ2FsbCcgYWJvdXQgbGFuZ3VhZ2UuIExvamJhbiwgYXQgbGVhc3QgZm9yIHNldmVyYWwg ZGVjYWRlcywgd2lsbCBvbmx5IGJlIGEgJ21vZGVsJyBvZiBhIGxhbmd1YWdlLCB3aG9zZSAnbmF0 dXJhbG5lc3MnIHdpbGwgYmUgc3VzcGVjdC4gSG93ZXZlciwgdG8gdGhlIGV4dGVudCB0aGF0IExv amJhbiBzZXJ2ZXMgdGhlIGNvbW11bmljYXRpdmUgYW5kIGV4cHJlc3NpdmUgZnVuY3Rpb25zIG9m IGh1bWFuIGxhbmd1YWdlLCBhbnkgdGhlb3J5IGFib3V0IHRoZSBuYXR1cmUgb2YgaHVtYW4gbGFu Z3VhZ2UgbXVzdCBhcHBseSB0byBMb2piYW4uIExhbmd1YWdlIGZlYXR1cmVzIGFuZCBwcm9jZXNz ZXMgbW9yZSBlYXNpbHkgaWRlbnRpZmllZCBpbiBzdHVkeWluZyBMb2piYW4gY2FuIHRoZW4gYmUg Y29uZmlybWVkIGluIG5hdHVyYWwgbGFuZ3VhZ2VzLiBTaW1pbGFybHksIHRoZW9yaWVzIG9mIHRo ZSBuYXR1cmUgb2YgbGFuZ3VhZ2UgY2FuIGJlIHRlc3RlZCBhbmQgcmVmaW5lZCBhZ2FpbnN0IHRo aXMgc2ltcGxlciBtb2RlbCBvZiBhIGxhbmd1YWdlIGJlZm9yZSBmYWNpbmcgdGhlIG1vcmUgZGlm ZmljdWx0IGFuZCB0aW1lLWNvbnN1bWluZyB0ZXN0aW5nIGFuZCBhbmFseXNpcyBpbnZvbHZlZCBp biBuYXR1cmFsIGxhbmd1YWdlIHJlc2VhcmNoLgoKCgpCZWNhdXNlIExvamJhbiBpcyByZWxhdGl2 ZWx5IGN1bHR1cmUtZnJlZSwgYW5kIGJlY2F1c2Ugb2YgaXRzIHByZXNjcmliZWQgc3RydWN0dXJl IHRoYXQgaXMgY29uc2lzdGVudCB3aXRoIHByZWRpY2F0ZSBsb2dpYywgTG9qYmFuIGlzIGFuIGlk ZWFsIG1lZGl1bSBmb3IgdGhlIGFuYWx5c2lzIGFuZCBkZXNjcmlwdGlvbiBvZiBvdGhlciBsYW5n dWFnZXMuIEN1cnJlbnRseSwgZmVhdHVyZXMgaW4gbGFuZ3VhZ2UgbXVzdCBiZSBjb21wYXJlZCBh Z2FpbnN0IG90aGVyIG5hdHVyYWwgbGFuZ3VhZ2VzLCBhbmQgYXJlIHVzdWFsbHkgZGVzY3JpYmVk IGluIHNjaWVudGlmaWMgbGl0ZXJhdHVyZSBieSBnbG9zc2VkIHRyYW5zbGF0aW9uIGludG8gRW5n bGlzaC4gTG9qYmFuIGlzIHNpbXBsZSBhbmQgcmVndWxhciBlbm91Z2ggdG8gYmUgYWNxdWlyZWQg YXMgYSBtZXRhbGFuZ3VhZ2UgZm9yIGRlc2NyaWJpbmcgb3RoZXIgbGFuZ3VhZ2VzOyBpdHMgc3Ry dWN0dXJlcyBhbGxvdyBjbGVhcmVyIHJlZmxlY3Rpb24gb2YgdGhlIHBhdHRlcm5zIG9mIHRoZSBs YW5ndWFnZSBiZWluZyBkZXNjcmliZWQsIHdpdGhvdXQgaW50ZXJmZXJlbmNlIGZyb20gdGhlIGNv bXBldGluZyBwYXR0ZXJucyBvZiBFbmdsaXNoLgoKCgpGaW5hbGx5LCBMb2piYW4ncyBwcmVkaWNh dGUgZ3JhbW1hciwgbWFrZXMgaXQgZW1pbmVudGx5IHN1aXRlZCBmb3Igb25nb2luZyBjb21wdXRl ciByZXNlYXJjaCBpbnRvIG5hdHVyYWwgbGFuZ3VhZ2VzLiBMb2piYW4gY2FuIGJlIHVzZWQgZm9y IHBhcnNpbmcgYW5kIGFuYWx5c2lzLCBhcyBhbiBpbnRlcm5hbCBtZWRpdW0gb2YgZGF0YSBzdG9y YWdlLCBvciBhcyBhbiBpbnRlcm1lZGlhdGUgbGFuZ3VhZ2UgZm9yIG1hY2hpbmUgdHJhbnNsYXRp b24uIEhhdmluZyBhIGNvbWJpbmF0aW9uIG9mIGxvZ2ljYWwgYW5kIG5hdHVyYWwgbGFuZ3VhZ2Ug c3RydWN0dXJlcywgTG9qYmFuIGNvbWJpbmVzIHRoZSBiZXN0IG9mIGJvdGggbWFqb3Igc3RydWN0 dXJhbCBhcHByb2FjaGVzIHRvIGxhbmd1YWdlIHByb2Nlc3NpbmcgaW4gY29tcHV0ZXJzLgoKCgpU aGUgZXhlcmNpc2Ugb2YgdHJ5aW5nIHRvIGludmVudCBhIGxhbmd1YWdlIGNhbiB0ZWFjaCB1cyB0 aGluZ3MgYWJvdXQgbGFuZ3VhZ2UgdGhhdCBwcm9iYWJseSBjYW4ndCBiZSBsZWFybmVkIGluIGFu eSBvdGhlciB3YXkuIEV2ZW4gaWYgTG9qYmFuIHNob3VsZCBmYWlsIGFzIGEgbGFuZ3VhZ2UsIHdl IHdpbGwgbGVhcm4uIEhvd2V2ZXIsIHRvIHRoZSBleHRlbnQgTG9qYmFuIHN1Y2NlZWRzLCBpdHMg cG90ZW50aWFsIGFzIGEgYmFzaXMgZm9yIHRlc3RpbmcgaWRlYXMgYWJvdXQgbGFuZ3VhZ2UsIGl0 cyBzdHJ1Y3R1cmUsIGFuZCB1c2FnZSwgaXMgdW5saW1pdGVkLiBUaGUgaW52ZW50aW9uIG9mIExv amJhbiBpcyB0aGUgaW52ZW50aW9uIG9mIHRoZSBzY2llbmNlIG9mIGV4cGVyaW1lbnRhbCBsaW5n dWlzdGljcy4KCgoKISFMb2piYW4gYXMgYW4gaW50ZXJuYXRpb25hbCBsYW5ndWFnZXtBTkFNRSgp fWludGVybmF0aW9uYWx7QU5BTUV9CgoKCkxvamJhbiBtYXkgYmUgdGhlIGZpcnN0IGFydGlmaWNp YWwgbGFuZ3VhZ2UgTk9UIGluIGRpcmVjdCBjb21wZXRpdGlvbiB3aXRoIEVzcGVyYW50bywgaW4g dGhhdCBMb2piYW4ncyBwb3RlbnRpYWwgc3VjY2VzcyBpcyBub3QgZGVwZW5kZW50IG9uIGl0cyBp bW1lZGlhdGUgcHJhY3RpY2FsIHVzZSBhcyBhbiBpbnRlcm5hdGlvbmFsIGxhbmd1YWdlLiBJbmRl ZWQsIHdlIHVzZSBFc3BlcmFudG8gYXMgb25lIG1lYW5zIG9mIHJhcGlkbHkgc3ByZWFkaW5nIGlu Zm9ybWF0aW9uIGFib3V0IExvamJhbiB0byBub24tRW5nbGlzaCBzcGVha2Vycywgc3BlZWRpbmcg YSBwcm9jZXNzIHRoYXQgd291bGQgdGFrZSBkZWNhZGVzIHVzaW5nIGRpcmVjdCB0cmFuc2xhdGlv biB0byBhbGwgdGFyZ2V0IGxhbmd1YWdlcy4gTG9qYmFuIGhhcyBwcm92ZW4gYXR0cmFjdGl2ZSB0 byBFc3BlcmFudGlzdHMgaW50ZXJlc3RlZCBpbiBhY3F1aXJpbmcgYSBuZXcgcGVyc3BlY3RpdmUg b24gdGhlaXIgb3duIGludGVybmF0aW9uYWwgbGFuZ3VhZ2U7IHRoZXNlIGZlZWwgbGVzcyB0aHJl YXRlbmVkIGJlY2F1c2UgTG9qYmFuIGhhcyBkaWZmZXJlbnQgZ29hbHMuIExvamJhbidzIHN1cHBv cnRlcnMgcmVjb2duaXplIHRoYXQgaXQgd2lsbCB0YWtlIGRlY2FkZXMgZm9yIExvamJhbiB0byBh Y3F1aXJlIGJvdGggdGhlIG51bWJlciBhbmQgdmFyaWV0eSBvZiBzcGVha2VycyBhbmQgdGhlIGV4 dGVuc2l2ZSBoaXN0b3J5IG9mIHVzYWdlIHRoYXQgbWFya3MgRXNwZXJhbnRvIGN1bHR1cmUuIE1l YW53aGlsZSwgZWFjaCBsYW5ndWFnZSBjb21tdW5pdHkgaGFzIG11Y2ggdG8gbGVhcm4gZnJvbSBl YWNoIG90aGVyOyB0aGlzIHByb2Nlc3MgaGFzIHN0YXJ0ZWQgYW5kIGlzIG1vc3QgYWN0aXZlLgoK CgohIVNldmVyYWwgcmVhc29ucyBmb3IgbGVhcm5pbmcgTG9qYmFuIE5PV3tBTkFNRSgpfXJlYXNv bnN7QU5BTUV9CgoKClRob3NlIHdvcmtpbmcgd2l0aCB0aGUgbGFuZ3VhZ2Ugbm93IGFyZSBhY3Rp dmVseSBjb25zdWx0ZWQgZm9yIHRoZWlyIG9waW5pb25zIG9uIGhvdyB0byB0ZWFjaCBhbmQgc3By ZWFkIHRoZSBsYW5ndWFnZS4gUGVvcGxlIHdobyB3cml0ZSBpbiB0aGUgbGFuZ3VhZ2UgYXJlIGNv bnRyaWJ1dGluZyB0byB0aGUgZ3Jvd3RoIG9mIHRoZSBsZXhpY29uLCBhbmQgZXN0YWJsaXNoaW5n IHRoZSBjb252ZW50aW9ucyBhbmQgaWRpb21zIHRoYXQgd2lsbCBndWlkZSBsYW5ndWFnZSB1c2Ug aW4gZnV0dXJlIHllYXJzLiBQZW9wbGUgd2hvIGFyZSBlc3BlY2lhbGx5IGFjdGl2ZSBoYXZlIGpv aW5lZCB0aGUgcHJvamVjdCBsZWFkZXJzaGlwIHdpdGhpbiBhIGZldyBtb250aHMgb2YgYmVjb21p bmcgaW52b2x2ZWQuCgoKClRob3NlIHdpdGggYSBjb21wdXRlciBiYWNrZ3JvdW5kIGNhbiBsZWFk IGRldmVsb3BtZW50IG9mIHRoZSBmaXJzdCBjb21wdXRlciBhcHBsaWNhdGlvbnMgZm9yIHRoZSBs YW5ndWFnZS4gRXhwZXJ0aXNlIGluIHRoZSBsYW5ndWFnZSB3aWxsIG5vIGRvdWJ0IGJlIHZhbHVh YmxlIGFzIExvamJhbiBiZWNvbWVzIHJlY29nbml6ZWQgYXMgYSB1c2VmdWwgdG9vbCBmb3IgY29t cHV0ZXIgYXBwbGljYXRpb25zIGJ5IHRoZSBjb21wdXRlciBpbmR1c3RyeS4gQ29tcHV0ZXItb3Jp ZW50ZWQgTG9qYmFuaXN0cyBjYW4gYWxzbyBhaWQgaW4gZGV2ZWxvcGluZyBjb21wdXRlci1haWRl ZCBpbnN0cnVjdGlvbiB0b29scyBvciBjb252ZXJ0aW5nIGV4aXN0aW5nIHNvZnR3YXJlIHRvIHJ1 biBvbiBuZXcgY29tcHV0ZXJzLgoKCgpSZWdhcmRsZXNzIG9mIGJhY2tncm91bmQsIGxlYXJuaW5n IExvamJhbiBpcyBhIG1pbmQtZXhwYW5kaW5nIGV4cGVyaWVuY2UuIExlYXJuaW5nIGFueSBsYW5n dWFnZSBvdGhlciB0aGFuIHlvdXIgbmF0aXZlIHRvbmd1ZSBicm9hZGVucyB5b3VyIHBlcnNwZWN0 aXZlcyBhbmQgYWxsb3dzIHlvdSB0byB0cmFuc2NlbmQgdGhlIGxpbWl0ZWQgdmlld3BvaW50cyBv ZiB5b3VyIG5hdGl2ZSBsYW5ndWFnZSBjdWx0dXJlLiBMb2piYW4sIGJlaW5nIG11Y2ggc2ltcGxl ciB0byBsZWFybiB0aGFuIG5hdHVyYWwgbGFuZ3VhZ2VzLCBwcm92aWRlcyB0aGlzIGJlbmVmaXQg bXVjaCBtb3JlIHF1aWNrbHkgdGhhbiBkb2VzIHRoZSBzdHVkeSBvZiBvdGhlciBsYW5ndWFnZXMu IEJlaW5nIHNvIHN0cm9uZ2x5IGRpZmZlcmVudCwgdGhlIGludGVuc2l0eSBvZiB0aGUgZWZmZWN0 IHNlZW1zIHRvIGJlIGhlaWdodGVuZWQuIFdoZW4gTG9qYmFuaXN0cyB0YWxrIGFib3V0IGxhbmd1 YWdlLCB0aGUgZGlzY3Vzc2lvbiBoYXMgYmVlbiBvYnNlcnZlZCB0byBiZSBtb3JlIHNvcGhpc3Rp Y2F0ZWQgYXMgd2VsbCBhcyBxdWFsaXRhdGl2ZWx5IGRpZmZlcmVudCBmcm9tIHRoZSB0YWxrIG9m IHN0dWRlbnRzIG9mIHNlY29uZCBuYXR1cmFsIGxhbmd1YWdlcy4KCgoKVGhlIGxvZ2ljYWwgb3Jn YW5pemF0aW9uIGVtYmVkZGVkIGluIExvamJhbiBhaWRzIGluIG9yZ2FuaXppbmcgYW5kIGNsYXJp ZnlpbmcgdGhvdWdodHMuIEhhdmluZyBkb25lIHNvLCB5b3VyIG5ldyBwZXJzcGVjdGl2ZSBvbiBs YW5ndWFnZSwgYW1iaWd1aXR5LCBhbmQgY29tbXVuaWNhdGlvbiB3aWxsIGFsbG93IHlvdSB0byBl eHByZXNzIHRob3NlIHRob3VnaHRzIG1vcmUgY2xlYXJseSwgZXZlbiB3aGVuIHlvdSB1c2UgYW4g YW1iaWd1b3VzIG5hdHVyYWwgbGFuZ3VhZ2UuCgoKCkEgcmVsYXRpdmVseSBzaG9ydCBzdHVkeSBv ZiBMb2piYW4gYnkgaGlnaCBzY2hvb2wgKG9yIHlvdW5nZXIpIHN0dWRlbnRzIGhhcyBiZWVuIHBy b3Bvc2VkLCBwcm92aWRpbmcgdGhlIGxpbmd1aXN0aWMgdW5kZXJzdGFuZGluZyB0aGF0IHdhcyBv bmNlIGFzc29jaWF0ZWQgd2l0aCBzdHVkeWluZyBMYXRpbiBhbmQgb3RoZXIgbGFuZ3VhZ2VzIGZv ciBtdWNoIGxvbmdlciBwZXJpb2RzIG9mIHRpbWUuIFN1Y2ggc3R1ZHkgY2FuIGJlIHRpZWQgaW4g d2l0aCBjb25jZXB0cyBvZiBsb2dpYywgYW5kIHBvc3NpYmx5IHdpdGggY29tcHV0ZXItcmVsYXRl ZCBhY3Rpdml0aWVzLCBoZWxwaW5nIHRvIHNob3cgdGhlIGVzc2VudGlhbCBpbnRlcnJlbGF0ZWQg bmF0dXJlIG9mIGxhbmd1YWdlIGFuZCBvdGhlciBodW1hbiBlbmRlYXZvci4KCgoKWW91IG5lZWRu J3QgbGVhcm4gTG9qYmFuIGZvciBhbnkgcHJhY3RpY2FsIHB1cnBvc2UsIGhvd2V2ZXIuIE1hbnkg b2YgdGhvc2UgbGVhcm5pbmcgTG9qYmFuIGFyZSBkb2luZyBzbyBiZWNhdXNlIGl0IGlzIGZ1bi4g TGVhcm5pbmcgTG9qYmFuIGlzIGludGVsbGVjdHVhbGx5IHN0aW11bGF0aW5nLCBhbmQgcHJvdmlk ZXMgaHVtYW4gaW50ZXJhY3Rpb24gYW5kIG1lbnRhbCBjaGFsbGVuZ2UuIExvamJhbiBoYXMgYWxs IHRoZSBiZW5lZml0cyBvZiBnYW1lcyBkZXNpZ25lZCBmb3IgZW50ZXJ0YWlubWVudCwgd2l0aCB0 aGUgYWRkZWQgcHJvc3BlY3Qgb2YgZGV2ZWxvcGluZyB1c2VmdWwgc2tpbGxzIGFzIGEgc2lkZSBi ZW5lZml0LiBMZWFybmluZyBMb2piYW4gYXMgYW4gJ2ludGVsbGVjdHVhbCB0b3knIG1lYW5zIHRo YXQgeW91IGNhbiBnZXQgZW5qb3ltZW50IGZyb20gbGVhcm5pbmcgTG9qYmFuIHdpdGhvdXQgbmVh cmx5IHRoZSBlZmZvcnQgbmVlZGVkIHRvIGJlbmVmaXQgZnJvbSBzdHVkeWluZyBvdGhlciBsYW5n dWFnZXMuIFdoaWxlIGJlY29taW5nIGZsdWVudCBpbiBMb2piYW4gd2lsbCBwcm9iYWJseSB0YWtl IGh1bmRyZWRzIG9mIGhvdXJzIG92ZXIgc2V2ZXJhbCBtb250aHMsIHlvdSBjYW4gZmVlbCBzb21l IHNlbnNlIG9mIGFjY29tcGxpc2htZW50IGluIHRoZSBsYW5ndWFnZSBhZnRlciBqdXN0IGEgZmV3 IGhvdXJzIG9mIHN0dWR5LiBZb3UgY2FuIHVzZSBMb2piYW4gaW1tZWRpYXRlbHkgZm9yIGZ1biwg d2hpbGUgZ2FpbmluZyBza2lsbCB3aXRoIGdyZWF0ZXIgZXhwZXJpZW5jZS4KCgoKISFIb3cgdG8g bGVhcm4gTG9qYmFue0FOQU1FKCl9aG93e0FOQU1FfQoKCgpXcml0ZSB0byBbaHR0cDovL3d3dy5s b2piYW4ub3JnL2xsZy9jb250YWN0Lmh0bWx8VGhlIExvZ2ljYWwgTGFuZ3VhZ2UgR3JvdXAsIElu Yy5dLCBhbmQgd2Ugd2lsbCBiZSBoYXBweSB0byBwcm92aWRlIGluZm9ybWF0aW9uLCB0aG91Z2gg b3VyIGNvbGxlY3RlZCBXZWIgYW5kIGZpbGUgYXJjaGl2ZXMgY29udGFpbiBhbGwgaW5mb3JtYXRp b24gdGhhdCB3ZSBoYXZlIGluIGRpc3RyaWJ1dGFibGUgZm9ybS4gRm9yIHByaW50ZWQgbWF0dGVy LCB3ZSByZXF1ZXN0IGEgY29udHJpYnV0aW9uIG9mICQ1IHRvIGNvdmVyIHRoZSBjb3N0cyBvZiBp bnRyb2R1Y3RvcnkgbWF0ZXJpYWxzIChpbmNsdWRpbmcgYSBjb3B5IG9mIHRoaXMgZXNzYXkpLCBi dXQgd2lsbCBzZW5kIHRoaXMgcGFja2FnZSBvbiBzcGVjdWxhdGlvbi4gQWRkaXRpb25hbCBtYXRl cmlhbHMgYXZhaWxhYmxlIHRvdGFsIGh1bmRyZWRzIG9mIHBhZ2VzLCB3aGljaCBhcmUgcHJpY2Vk IGFwcHJveGltYXRlbHkgYXQgb3VyIGNvc3RzOyB3ZSBhcmUgYSBub24tcHJvZml0IGVkdWNhdGlv bmFsL3NjaWVudGlmaWMgb3JnYW5pemF0aW9uLiAoKENvbnRhY3QgVXMpKSB1cyByZWdhcmRpbmcg aW50ZXJuYXRpb25hbCBwYXltZW50OyB3ZSBvZmZlciBzZXZlcmFsIG9wdGlvbnMuIEEgbGltaXRl ZCBwb2xpY3kgZXhpc3RzIGZvciBwcm92aWRpbmcgbWF0ZXJpYWxzIHRvIHBlb3BsZSB3aG8gY2Fu bm90IGFmZm9yZCBwYXltZW50LgoKCgpXZSBlbmNvdXJhZ2UgbmV3IHBlb3BsZSB0byBjb25jZW50 cmF0ZSBvbiB2b2NhYnVsYXJ5LiBBbG1vc3QgYW55IHVzZSBvZiBMb2piYW4gcmVxdWlyZXMgc29t ZSBtYXN0ZXJ5IG9mIHRoZSBiYXNpYyB2b2NhYnVsYXJ5ICgxMDAwLTIwMDAgd29yZHMpLiBZb3Ug Y2FuIGxlYXJuIGVub3VnaCBMb2piYW4gZ3JhbW1hciB0byBzdXBwb3J0IGNvbnZlcnNhdGlvbiBp biBqdXN0IGEgY291cGxlIG9mIGhvdXJzLCBidXQgZmFjZSBtYW55IGhvdXJzIG9mIHZvY2FidWxh cnkgd29yayBpbiBvcmRlciB0byBlZmZlY3RpdmVseSB1c2UgdGhhdCBncmFtbWFyLiBXZSBkaXN0 cmlidXRlIGZsYXNoIGNhcmRzIGFuZCBoYXZlIGRldmVsb3BlZCBmbGFzaCBjYXJkIHRlY2huaXF1 ZXMgdGhhdCBhcmUgZXh0cmVtZWx5IGVmZmljaWVudCBpbiBsZWFybmluZyB2b2NhYnVsYXJ5LiBU aGVzZSB0ZWNobmlxdWVzIGhhdmUgYmVlbiBhdXRvbWF0ZWQgaW50byBjb21wdXRlci1haWRlZC10 ZWFjaGluZyBwcm9ncmFtcyBzb2xkIGFuZCBkaXN0cmlidXRlZCBhcyBTaGFyZXdhcmUgdW5kZXIg dGhlIG5hbWUgIkxvZ0ZsYXNoIiwgd2l0aCBNUy1ET1MgYW5kIE1hY0ludG9zaCB2ZXJzaW9ucwoK Y3VycmVudGx5IGF2YWlsYWJsZS4KCgoKWW91IGNhbiBsZWFybiB0aGUgTG9qYmFuIGdyYW1tYXIg aW4gc2V2ZXJhbCB3YXlzLCBpbmNsdWRpbmcgc3R1ZHkgb2YgZXhhbXBsZXMgaW4gdGhlIHF1YXJ0 ZXJseSBqb3VybmFsICgoanUnaSBsb2J5cGxpfF9fJydqdSdpIGxvYnlwbGknJ19fKSkgb3IgYnkg aW5zcGVjdGlvbiBhbmQgYW5hbHlzaXMgb2YgWUFDQyBhbmQgRS1CTkYgZm9ybWFsIGdyYW1tYXIg ZGVzY3JpcHRpb25zLiBUaGVyZSBpcyBub3cgYSBwdWJsaXNoZWQgbGFuZ3VhZ2UgcmVmZXJlbmNl IFtodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL2NsbC5odG1sfCBUaGUgQ29tcGxl dGUgTG9qYmFuIExhbmd1YWdlXSwgYnkgSm9obiBDb3dhbi4gRHJhZnQgbGVzc29uIG1hdGVyaWFs cyAoYWJvdXQgMTgwIHBhZ2VzKSBhcmUgdGhlIGJlc3QgbWF0ZXJpYWxzIGF2YWlsYWJsZSBmb3Ig c2VsZi1zdHVkeS4gQSBMb2piYW4gdGV4dC1ib29rIGlzIGJlaW5nIHdyaXR0ZW4gdG8gcmVmbGVj dCB3aGF0IGlzIGxlYXJuZWQgZnJvbSB0aGUgZmlyc3QgbGVhcm5pbmcgZWZmb3J0cywgYW5kIGlz IGJlaW5nIGRlc2lnbmVkIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgZm9yIHNlbGYtaW5zdHJ1Y3Rp b24sIGNsYXNzcm9vbSB0ZWFjaGluZywgb3IgZ3JvdXAgc3R1ZHkuIEEgZm9ybWFsICdMb2piYW4g ZGljdGlvbmFyeScgd2lsbCByZXBsYWNlIG1vc3Qgb2YgdGhlIGV4aXN0aW5nIHdvcmQgbGlzdHMg YW5kIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG1hdGVyaWFscywgYW5kIGlzIGJlaW5nIHdvcmtlZCBv biwgYnV0IHByZXNlbnQgbWF0ZXJpYWxzIGNvbnRhaW4gdGhlIGVxdWl2YWxlbnQgb2YgYSBiYXNp YyBkaWN0aW9uYXJ5LgoKCgpBZnRlciB0aGUgZGljdGlvbmFyeSBhbmQgdGV4dGJvb2sgaGF2ZSBi ZWVuIHB1Ymxpc2hlZCB0aGUgTG9qYmFuIGxhbmd1YWdlIGRlZmluaXRpb24gd2lsbCBiZSBiYXNl bGluZWQgKGZyb3plbikgZm9yIGEgbWluaW11bSBvZiA1IHllYXJzLCBhbmQgTG9qYmFuIHdpbGwg dGhlcmVhZnRlciBiZSBzb2xlbHkgY29udHJvbGxlZCBieSBzcGVha2VycyBvZiB0aGUgbGFuZ3Vh Z2UuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lr aWNoYW5nZXMgbWFpbGluZyBsaXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwu bG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==