From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.tangents Subject: Re: Including AI into Emacs Date: Wed, 11 Dec 2024 03:11:35 +0300 Message-ID: References: <61ffb7417fcfe6fc0c1291aa53d1398b.support1@rcdrun.com> <87msh8ctag.fsf@librehacker.com> <87o71jmpzw.fsf@librehacker.com> <87frmvmmlj.fsf@librehacker.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30515"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.12 (2023-09-09) Cc: Basile Starynkevitch , emacs-tangents@gnu.org To: Christopher Howard Original-X-From: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Wed Dec 11 01:12:50 2024 Return-path: Envelope-to: get-emacs-tangents@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tLALR-0007jA-BL for get-emacs-tangents@m.gmane-mx.org; Wed, 11 Dec 2024 01:12:49 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tLAL0-0007S0-0W; Tue, 10 Dec 2024 19:12:22 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tLAKz-0007Rr-B7 for emacs-tangents@gnu.org; Tue, 10 Dec 2024 19:12:21 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tLAKt-00061w-P8 for emacs-tangents@gnu.org; Tue, 10 Dec 2024 19:12:21 -0500 Original-Received: from localhost ([::ffff:41.75.176.172]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000081FDF.000000006758D8B9.00036EF9; Tue, 10 Dec 2024 17:11:37 -0700 Content-Disposition: inline In-Reply-To: <87frmvmmlj.fsf@librehacker.com> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-tangents@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Original-Sender: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.tangents:1276 Archived-At: KiBDaHJpc3RvcGhlciBIb3dhcmQgPGNocmlzdG9waGVyQGxpYnJlaGFja2VyLmNvbT4gWzIwMjQt MTItMTAgMjE6MTVdOgo+IEplYW4gTG91aXMgPGJ1Z3NAZ251LnN1cHBvcnQ+IHdyaXRlczoKPiAK PiA+IEludGVncmF0aW9uLCBpZiB0aGF0IGlzIHRoZSByaWdodCB3b3JrLCBpcyBlbmhhbmNpbmcg dGhlIGh1bWFuCj4gPiB3b3JrZmxvdyB0byBtaW5pbWl6ZSBlZmZvcnRzIGFuZCBwcm92aWRlIG9w dGltdW0gcmVzdWx0cy4gVGhhdCBpcwo+ID4gd2hhdCBJIG1lYW4uCj4gCj4gVGhhdCBpcyBub3Qg aW50ZWdyYXRpb24sIHRoYXQgaXMgb3B0aW1pemF0aW9uIG9yCj4gZWZmaWNpZW5jeS4gSW50ZWdy YXRpb24gbWF5IGxlYWQgdG8gYmV0dGVyIG9wdGltaXphdGlvbiBvcgo+IGVmZmljaWVuY3kgYnV0 IGl0IG1pZ2h0IGhhdmUgdGhlIG9wcG9zaXRlIGVmZmVjdC4KClN1cmUgb3B0aW1pemF0aW9uLiBU aG91Z2ggSSBkaWRuJ3QgZXhwcmVzcyBtZSB3ZWxsIGVub3VnaC4gSSBtZWFuCmNvbm5lY3Rpbmcg aHVtYW4gbWV0aG9kcyBvZiBpbnRlcmFjdGlvbnMgd2l0aCBjb21wdXRlciBtZXRob2RzLgoKSW50 ZWdyYXRpbmcgbWVhbnMgbWFraW5nIHBhcnQgb2YgdGhlIHdob2xlLiBJdCBpcyBvZiBjb3Vyc2UK b3B0aW1pemF0aW9uIGFzIHdlbGwuCgpFeGFtcGxlcyBvZiBpbnRlZ3JhdGlvbjoKCi0gcHJvZ3Jh bSBtb25pdG9yaW5nIGFuZCBtYWtpbmcgc3RhdGlzdGljcyBvZiBldmVudHMgaW4gdGhlIGhvdXNl LAogIGFjdGluZyB1cG9uIGV2ZW50cyBsb2dpY2FsbHk7IGlmIGh1bWFuIHR1cm5lZCBvbiBsaWdo dHMgYXQgc3BlY2lmaWMKICB0aW1lLCBsaWdodHMgd2lsbCBiZSB0dXJuZWQgb24gaW4gZnV0dXJl IGF1dG9tYXRpY2FsbHk7IGxlYXJuaW5nCiAgcGF0dGVybnM7IGFjdGluZyB1cG9uIHRyaWdnZXJz OyBzZW5zb3JzIGRldGVjdGluZyBldmVudHMgc3VjaCBhcwogIG1vdmVtZW50cywgY2xlYW5pbmcg dG9pbGV0LCBtb3BwaW5nIHRoZSBmbG9vciB3aGVuIG5vYm9keSBpcyBhdAogIGhvbWUsIGZlZWRp bmcgcGV0cywgY3V0dGluZyBncmFzcywgcmVjb2duaXppbmcgc3RyYW5nZXJzIGF0IHRoZQogIGdh dGU7CgotIGxlYXJuaW5nIHBhdHRlcm5zIG9mIGNvbW11bmljYXRpb24sIHJlamVjdGluZyBuaWNl bHkgcGF0dGVybnMgbm90CiAgcmVsZXZhbnQsIGFjY2VwdGluZyByZWxldmFudCAoaGlnaGVyIGxl dmVsIHNwYW0gZGV0ZWN0aW9uKTsKICBhbnN3ZXJpbmcgY29tbW9uIHF1ZXN0aW9uczsKCi0gdW5k ZXJzdGFuZGluZyB0aGUgYWdlbmRhLCB0aGUgcGxhbiwgcmV2aWV3aW5nIGF1dG9tYXRpY2FsbHkg d2hhdCB3YXMKICBkb25lLCB3aGF0IG5vdCwgbWFraW5nIG5ldyBhZ2VuZGEgYW5kIHBsYW4gYmFz ZWQgb24gcHJldmlvdXMgb25lOwogIHByaW50aW5nIGl0IG1vcm5pbmcgZWFybHkgaW4gZmV3IGNv cGllcywgbWFraW5nIGl0IHJlYWR5IGZvciBodW1hbjsKCj4gPiBQcm9ncmFtbWVycyBhcmUgbm90 IG5lY2Vzc2FyaWx5IHNjaWVudGlzdHMsIGFuZCBzbyB0aGV5IHRoaW5rIGluIHRlcm1zCj4gPiBv ZiB0eXBpbmcuIEJ1dCBpdCBpcyBwb3NzaWJsZSB0byBjb250cm9sIGxpZ2h0IHdpdGggYnJhaW53 YXZlcywgd2l0aAo+ID4gc3BlY2lhbCBoYXQsIG9yIHR5cGluZyBvbiBjb21wdXRlciB3aXRoIHRo ZSBleWViYWxsIG1vdmVtZW50cy4KPiAKPiBOb25lIG9mIHRob3NlIGludGVyZmFjZSBoYXZlIGFu eSBhcHBlYWwgdG8gbWUgYXQgYWxsLiBXZWxsLCBva2F5LAo+IGNvbnRyb2xsaW5nIGxpZ2h0IHdp dGggYnJhaW53YXZlcyBzb3VuZHMgaW50ZXJlc3RpbmcsIGF0IGxlYXN0LiBCdXQKPiBldmVuIHNv IEkgZG9uJ3Qgc2VlIGhvdyB0aGUgaW5wdXQgaW50ZXJmYWNlIGhhcyBhbnl0aGluZyB0byBkbyB3 aXRoCj4gd2hldGhlciBvciBub3QgTExNcyAob3Igb3RoZXIgQUkgYXBwcm9hY2hlcykgc2hvdWxk IGJlIGludGVncmF0ZWQgaXQKPiBvdXIgd29ya2Zsb3cuIFVubGVzcyBhbiBpbnB1dCBpbnRlcmZh Y2UgaXMgc28gY29tcHV0ZSBpbnRlbnNpdmUgdGhhdAo+IGl0IHJlcXVpcmVzIHNvbWUga2luZCBv ZiBjbHVzdGVyLWJhc2VkIG5ldXJhbCBuZXR3b3JrIGp1c3QgdG8gd29yawo+IGF0IGFsbC4KCldl IGFyZSBhbHJlYWR5IGludGVncmF0aW5nLCBqdXN0IGl0IG1vdmVzIHNsb3cuIFRoZSBuZXcgTExN IHJldm9sdXRpb24KaXMgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBjb21tb24gbWFuIHRvIGNyZWF0 ZSBpdCBlYXNpZXIsIGluIG11Y2ggbW9yZQplYXNpZXIgd2F5IHRoYW4gcHJvZ3JhbW1pbmcsIGl0 IGlzIGhpZ2hlciBsZXZlbCBwcm9ncmFtbWluZywgdGhlIGdvYWwKd2Ugd2FudGVkIHRvIGFjaGll dmUgYmFjayBpbiB0aW1lLgoKTG9vayBoZXJlIHdoYXQgcGVvcGxlIGFyZSBkb2luZzogaHR0cHM6 Ly93ZWJzaW0uYWkvCgpDb21wdXRlciBkZXZlbG9wbWVudCBub3cgbW92ZXMgaW5ldml0YWJseSBp bnRvIGRpcmVjdGlvbiBvZiBjb21wbGV4CmludGVncmF0aW9ucy4KCj4gPiBNYWtlcnMgb2YgTExN cyBub3cgcHJvdmlkZWQgInRyYWluZWQiIG1vZGVscyAgdGhhdAo+ID4gY2FuIHR5cGUgdGV4dCwg dHJhbnNsYXRlIHRleHQgbW9yZSBhY2N1cmF0ZWx5IHRoZW4gY29tbW9uIHRyYW5zbGF0b3JzLiAK PiAKPiBUaGlzIHNvdW5kcyBsaWtlIGFuIGFyZ3VtZW50IGZvciB1c2luZyBMTE1zIHRvIGRvIGxh bmd1YWdlCj4gdHJhbnNsYXRpb24sIHdoaWNoIEkgc3VwcG9zZSBtdXN0IGJlIGFja25vd2xlZGdl ZC4gUmVnYXJkaW5nIHByb3NlOgo+IEkndmUgcmVhZCB0aGUgbWluZC1udW1iaW5nLCBnZW5lcmlj IHByb3NlIG91dHB1dCBvbiB0aGUgSW50ZXJuZXQKPiB0aGF0IGlzIG5vdyBiZWluZyBzcGl0IG91 dCBieSBMTE1zLCBhbmQgSSBob3BlIHRoYXQgZ29lcyBhd2F5LiBUaGUKPiBhcnR3b3JrIGdlbmVy YXRlZCBpcyBhbHNvIHRlcnJpYmxlLCB3aGljaCBoYXMgYmVlbiBzaG93aW5nIHVwIG9uCj4gc29t ZSBvZiB0aGUgY2hlYXAgZnVybmlzaGluZyBwcm9kdWN0cyB3ZSBidXkgZnJvbSBDaGluYS4KClll cywgaXQgd29ya3MgdmVyeSB3ZWxsIGZvciB0cmFuc2xhdGlvbnMuCgotICoqU3BhbmlzaDoqKiBT w60sIGZ1bmNpb25hIG11eSBiaWVuIHBhcmEgdHJhZHVjY2lvbmVzLgotICoqRnJlbmNoOioqIE91 aSwgY2VsYSBmb25jdGlvbm5lIHRyw6hzIGJpZW4gcG91ciBsZXMgdHJhZHVjdGlvbnMuCi0gKipH ZXJtYW46KiogSmEsIGVzIGZ1bmt0aW9uaWVydCBzZWhyIGd1dCBmw7xyIMOcYmVyc2V0enVuZ2Vu LgotICoqQ2hpbmVzZSAoU2ltcGxpZmllZCk6Kiog5piv55qE77yM5a6D5Zyo57+76K+R5pa56Z2i 5pWI5p6c6Z2e5bi45aW944CCCi0gKipBcmFiaWM6Kiog2YbYudmF2Iwg2KXZhtmHINmK2LnZhdmE INio2LTZg9mEINis2YrYryDYrNiv2YvYpyDZhNmE2KrYsdis2YXYp9iqLgotICoqUnVzc2lhbjoq KiDQlNCwLCDRjdGC0L4g0L7Rh9C10L3RjCDRhdC+0YDQvtGI0L4g0YDQsNCx0L7RgtCw0LXRgiDQ tNC70Y8g0L/QtdGA0LXQstC+0LTQvtCyLgotICoqSmFwYW5lc2U6Kiog44Gv44GE44CB57+76Kiz 44Gr44Go44Gm44KC44KI44GP5qmf6IO944GX44G+44GZ44CCCi0gKipQb3J0dWd1ZXNlOioqIFNp bSwgZnVuY2lvbmEgbXVpdG8gYmVtIHBhcmEgdHJhZHXDp8O1ZXMuCi0gKipIaW5kaToqKiDgpLng pL7gpIIsIOCkr+CkuSDgpIXgpKjgpYHgpLXgpL7gpKYg4KSV4KWHIOCksuCkv+CkjyDgpKzgpLng pYHgpKQg4KSF4KSa4KWN4KSb4KS+IOCkleCkvuCkriDgpJXgpLDgpKTgpL4g4KS54KWI4KWkCi0g KipJdGFsaWFuOioqIFPDrCwgZnVuemlvbmEgbW9sdG8gYmVuZSBwZXIgbGUgdHJhZHV6aW9uaS4K CkltYWdpbmUuIEFuZCBJIGp1c3Qgc2FpZDogdHJhbnNsYXRlIGluIGJ1bGxldCBsaXN0IGluIDEw IGRpZmZlcmVudApsYW5ndWFnZXMuCgpZb3UgY2FuIGFsc28gc2F5OiBtYWtlIEVtYWNzIExpc3Ag c3RydWN0dXJlIG91dCBvZiBpdDoKClN1cmUhIEhlcmUgaXMgdGhlIHRyYW5zbGF0aW9uIG9mICJZ ZXMsIGl0IHdvcmtzIHZlcnkgd2VsbCBmb3IgdHJhbnNsYXRpb25zLiIgaW4gMTAgZGlmZmVyZW50 IGxhbmd1YWdlcywgZm9ybWF0dGVkIGFzIGFuIEVtYWNzIExpc3Agc3RydWN0dXJlOgoKYGBgZW1h Y3MtbGlzcAonKCgiU3BhbmlzaCIgLiAiU8OtLCBmdW5jaW9uYSBtdXkgYmllbiBwYXJhIHRyYWR1 Y2Npb25lcy4iKQogICgiRnJlbmNoIiAuICJPdWksIGNlbGEgZm9uY3Rpb25uZSB0csOocyBiaWVu IHBvdXIgbGVzIHRyYWR1Y3Rpb25zLiIpCiAgKCJHZXJtYW4iIC4gIkphLCBlcyBmdW5rdGlvbmll cnQgc2VociBndXQgZsO8ciDDnGJlcnNldHp1bmdlbi4iKQogICgiQ2hpbmVzZSAoU2ltcGxpZmll ZCkiIC4gIuaYr+eahO+8jOWug+WcqOe/u+ivkeaWuemdouaViOaenOmdnuW4uOWlveOAgiIpCiAg KCJBcmFiaWMiIC4gItmG2LnZhdiMINil2YbZhyDZiti52YXZhCDYqNi02YPZhCDYrNmK2K8g2KzY r9mL2Kcg2YTZhNiq2LHYrNmF2KfYqi4iKQogICgiUnVzc2lhbiIgLiAi0JTQsCwg0Y3RgtC+INC+ 0YfQtdC90Ywg0YXQvtGA0L7RiNC+INGA0LDQsdC+0YLQsNC10YIg0LTQu9GPINC/0LXRgNC10LLQ vtC00L7Qsi4iKQogICgiSmFwYW5lc2UiIC4gIuOBr+OBhOOAgee/u+ios+OBq+OBqOOBpuOCguOC iOOBj+apn+iDveOBl+OBvuOBmeOAgiIpCiAgKCJQb3J0dWd1ZXNlIiAuICJTaW0sIGZ1bmNpb25h IG11aXRvIGJlbSBwYXJhIHRyYWR1w6fDtWVzLiIpCiAgKCJIaW5kaSIgLiAi4KS54KS+4KSCLCDg pK/gpLkg4KSF4KSo4KWB4KS14KS+4KSmIOCkleClhyDgpLLgpL/gpI8g4KSs4KS54KWB4KSkIOCk heCkmuCljeCkm+CkviDgpJXgpL7gpK4g4KSV4KSw4KSk4KS+IOCkueCliOClpCIpCiAgKCJJdGFs aWFuIiAuICJTw6wsIGZ1bnppb25hIG1vbHRvIGJlbmUgcGVyIGxlIHRyYWR1emlvbmkuIikpCmBg YAoKSXNuJ3QgdGhhdCBncmVhdD8gCgpJIGhhdmUgYmVlbiB3YXN0aW5nIGhvdXJzIGFuZCBob3Vy cyBsb29raW5nIGludG8gdmFyaW91cyBzdHJ1Y3R1cmVzCmFuZCBtYWtpbmcgbmV3IExpc3Agc3Ry dWN0dXJlcyB0byBpbXBvcnQgZGF0YSBmcm9tIG90aGVyIHByb2dyYW1zLCBub3cKSSBqdXN0IGlu c2VydCBzYW1wbGUgZGF0YSBhbmQgZ2V0IHRoZSBFbWFjcyBMaXNwIHByb2dyYW0gcmVhZHksIG9m dGVuCmFsbW9zdCByZWFkeSBmb3IgcHJvZHVjdGlvbi4KCj4gPj4gRm9yIGFjdGl2aXR5ICgzKSwg ZXZlbiBJIGNhbiBkbyBpdCB3aXRob3V0IHRoZSBoZWxwIG9mIHJlbW90ZQo+ID4+IGNvbXB1dGUg Y2x1c3RlciwgaXQgaXMgZ29pbmcgdG8gcmVxdWlyZSBhIGxhcmdlIG1vZGVsIGRhdGFiYXNlLCBw bHVzCj4gPj4gaW50ZW5zZSBjb21wdXRpbmcgcmVzb3VyY2VzLCBsaWtlIGEgc2VwYXJhdGUgY29t cHV0ZXIsIG9yIGFuIGV4cGVuc2l2ZQo+ID4+IEdQVSByZXF1aXJpbmcgcHJvcHJpZXRhcnkgZHJp dmVycy4KPiA+Cj4gPiBIZXJlIGlzIGV4YW1wbGUgdGhhdCB3b3JrcyB3aXRob3V0IEdQVToKPiA+ IGh0dHBzOi8vZ2l0aHViLmNvbS9Nb3ppbGxhLU9jaG8vbGxhbWFmaWxlLwo+ID4KPiA+IGFuZCBv dGhlciBleGFtcGxlcyBvbiBzYW1lIHBhZ2UuIAo+IAo+IEkgZG9uJ3Qgc2VlIGhvdyBhIGxsYW1h IGRyaXZlbiBjaGF0IGludGVyZmFjZSBvciBhbiBpbWFnZSBnZW5lcmF0b3IKPiBpcyBnb2luZyB0 byBiZSB1c2VmdWwgdG8gbWUsIG9yIHdvcnRoIHRoZSBjb21wdXRpbmcgY29zdHMuIEJ1dCBJCj4g c3VwcG9zZSBpZiBzb21ldGhpbmcgbGlrZSB0aGF0IGNvdWxkIGJlIHNwZWNpYWxpemVkIHRvIGhh dmUgZXhwZXJ0Cj4ga25vd2xlZGdlIG9mIHRoZSBsaWJyYXJpZXMgb24gbXkgY29tcHV0ZXIgb3Ig bXkgd29yayBmbG93LCBpdCBtaWdodAo+IGJlIHdvcnRoIHBsYXlpbmcgYXJvdW5kIHdpdGguCgot IFdlYnNpdGUgUmV2aXNpb24gU3lzdGVtLCBzYWxlcyBhbmQgbWFya2V0aW5nOgogCiAgLSBPcGVu IEdyYXBoIGltYWdlIHJlbGF0ZWQgdG8gcGFnZSBjYW4gYmUgYXV0b21hdGljYWxseSBnZW5lcmF0 ZWQsCiAgICB2ZXJ5IHVzZWZ1bCBpbiBJbnRlcm5ldCBtYXJrZXRpbmc7CgogIC0gQ29ycmVjdCB0 aXRsZXMsIG1ha2UgdGhlbSBtb3JlIGFwcGVhbGluZywgZGVzY3JpYmUgdGhlIGFydGljbGUsCiAg ICBnZW5lcmF0ZSBzbHVnczsKCiAgLSBCeSB1c2luZyBsaXN0IG9mIGxpbmtzIGFzIG1lbW9yeSwg YXV0b21hdGljYWxseSBsaW5rIHdvcmRzIGluIHRoZQogICAgYXJ0aWNsZSB3aXRoIHJlbGV2YW50 IGxpbmtzOwoKICAtIEFuc3dlciBjdXN0b21lcnMnIHF1ZXN0aW9ucywgcG9pbnQgb3V0IHRvIGFy dGljbGVzLCBwcm9kdWN0cywKICAgIHByb3ZpZGUgc3VwcG9ydDsKCi0gRmFtaWx5OgoKICAtIEdl bmVyYXRlIGRhaWx5IHJvdXRpbmVzIGZvciBjaGlsZHJlbjsgCgogIC0gR2VuZXJhdGUgcGxhbm5p bmcsIGZ1biwgZW50ZXJ0YWlubWVudDsKCi0gUHJvZ3JhbW1pbmc6CgogIC0gQ3JlYXRlIHRlbXBs YXRlcywgaW1wcm92ZSBDU1MsIHByb2dyYW1taW5nIGNvZGU7CgogIC0gUXVpY2tseSBmaW5kIGFu c3dlcnMsIGRlYnVnOyBiZWNvbWluZyByYXBpZDsKClRoZXJlIGlzIGluZmluaXRlIGxpc3Qgb2Yg dXNlcy4KCj4gPiBKdXN0IGFzIHVzdWFsLCB5b3UgaGF2ZSBnb3QgdGhlIGNvbXB1dGluZyBjb3N0 LCBlbGVjdHJpY2l0eSBhbmQKPiA+IGNvbXB1dGVyIHdlYXJpbmcgY29zdC4KPiAKPiBNeSB1bmRl cnN0YW5kaW5nIHdhcywgZm9yIExMTXMsIHRoZSBkaWZmZXJlbmNlIGludm9sdmVzIG9yZGVycyBv Zgo+IG1hZ25pdHVkZS4gVGhhdCBpcyB3aGF0IEkgaGVhciBvdGhlcnMgc2F5aW5nLCBhdCBsZWFz dC4KCkFzIEkgc2FpZCwgdGhlcmUgYXJlIExMTXMgd29ya2luZyBvbiBjb21wdXRlciB3aXRob3V0 IEdQVToKCkdpdEh1YiAtIE1vemlsbGEtT2Noby9sbGFtYWZpbGU6IERpc3RyaWJ1dGUgYW5kIHJ1 biBMTE1zIHdpdGggYSBzaW5nbGUgZmlsZS46Cmh0dHBzOi8vZ2l0aHViLmNvbS9Nb3ppbGxhLU9j aG8vbGxhbWFmaWxlCgpJdCB3b3JrcyBvbiBtaW5lIGk1IENQVSwgdGhvdWdoIHNsb3cuIFdlIHdp bGwgc2VlIHNvb24gd2hlbiBJIGluc2VydApOdmlkaWEgR1BVIGhvdyBpdCB3aWxsIHdvcmsuIEkg YW0gdmVyeSBzYXRpc2ZpZWQgd2l0aCByZXN1bHRzLgoKSXQgY2FuIGRlc2NyaWJlIHRoZSBwaWN0 dXJlIG9uIG15IGNvbXB1dGVyLCB3aGljaCBpcyBhIGZhbnRhc3RpYwpmZWF0dXJlISDwn5O4IEkg Y2FuIGFscmVhZHkgZW52aXNpb24gaW5kZXhpbmcgYWxsIG15IGltYWdlcy4gSXQncyBub3QKanVz dCBhYm91dCBteSBwZXJzb25hbCBsaWZlOyBJIGFsc28gaGF2ZSBudW1lcm91cyBwaWN0dXJlcyBy ZWxhdGVkIHRvCmNvdXJzZXMgYW5kIHRlYWNoaW5nIG90aGVycy4KCj4gUmVnYXJkaW5nIGluZmVy ZW5jZSBlbmdpbmVzLCBJIHJlY2FsbCB3aXRoIFByb2xvZyB0aGVyZSBpcyBhIGxvdCBvZgo+IGJh Y2t0cmFja2luZyBnb2luZyBvbiwgc28gdGhlIGVzc2VuY2Ugb2YgZmlndXJpbmcgb3V0IGEgd29y a2FibHkKPiBlZmZpY2llbnQgcHJvZ3JhbSB3YXMgKDEpIGNvbWluZyB1cCB3aXRoIGludGVsbGln ZW50IHJ1bGVzLCBhbmQgKDIpCj4gZmlndXJpbmcgb3V0IHdoZW4gdG8gY3V0IG9mZiB0aGUgYmFj a3RyYWNraW5nLiBJIGhhdmUgYSBvbGQgUHJvbG9nCj4gYm9vayBvbiBteSBib29rIHNoZWxmLCBi dXQgSSBoYXZlbid0IHBsYXllZCBhcm91bmQgd2l0aCBQcm9sb2cgYXQKPiBhbGwgZm9yIHllYXJz CgpTV0ktUHJvbG9nOgpodHRwczovL3d3dy5zd2ktcHJvbG9nLm9yZy8KCi0tIApKZWFuIExvdWlz CgotLS0KdmlhIGVtYWNzLXRhbmdlbnRzIG1haWxpbmcgbGlzdCAoaHR0cHM6Ly9saXN0cy5nbnUu b3JnL21haWxtYW4vbGlzdGluZm8vZW1hY3MtdGFuZ2VudHMpCg==