From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Envelope-to: publicinbox@libre-riscv.org Delivery-date: Fri, 15 May 2020 23:15:44 +0100 Received: from localhost ([::1] helo=libre-riscv.org) by libre-soc.org with esmtp (Exim 4.89) (envelope-from ) id 1jZicJ-00035D-GH; Fri, 15 May 2020 23:15:43 +0100 Received: from mail-lf1-f51.google.com ([209.85.167.51]) by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1jZicI-000357-P4 for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 23:15:42 +0100 Received: by mail-lf1-f51.google.com with SMTP id 188so3078730lfa.10 for ; Fri, 15 May 2020 15:15:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=9YDMe6z6gKOE7DBnjV33tyoR0+J6cYN5EGl5npQBi4Q=; b=p7GCEFTS76u0PriK3mn6h5o0/jIUaZSQyqWvHLrak+YsiONci3Br+zfYTzHn6HaV62 iSlUlJA/1527mtEVJy/yBjBt+lNKgFS9SH/yKbIVCxnLhy7mML/OEwXATVZmTRxcRbH4 cLh46uRpvh5HzFDU72I1h2VIhPlbq+3eao3+VCL7RfIKNJZ67yo8pF++uxwvulEFzAfr +oiBqTAOhgjmmK4n6clSntmFUG0Ed/25ptVHt5I3ZizKgamWLDfT1vMTFEaWOewTqZjv eTWL3BgHMzL5icgJ8aJepkm5vLQjC3o0XxXpebeSHc6SAcbflKWOqps/G/8f+JpNlNoT eZaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=9YDMe6z6gKOE7DBnjV33tyoR0+J6cYN5EGl5npQBi4Q=; b=XBNMLi6G3xoU3Tu3WU+z42RrLRsUPz3IBup5A0f/4l/4QwNOzhWHs1BZ08O52U4p8y 28sY5+CwO+WgwwkQBWtz0TSNh+7gl4eXTSlhgm9oMrWaYWlydZqUcHnp+xmwk7hSonfo PCbNy/jQ5sz5cUj9V4AToR9SssCd9/WY2eV573aQRQJajICpgv3Qu5I0rztyQWN+XE63 Fbtx/ojRZA+72+jdgXdjvYXsWLUVgaNTi8FncPlXUCtPcqDYwjT3dSisi5HpEuL0ZI9q AgtaMkr9tbayaaP9zQkHf16m1Sy4mcR3WJ/px3nbX3ypybY19+ZT+6ZnXzhiiqpREtXm IIsw== X-Gm-Message-State: AOAM532K9rCZyLOegj1pezl5KUb0yXjHx7tBjJ5/oUx5RL9gtAcnQilC lLuSmrOE/hlpCud9PzpXR0Vk7IMn0DueFnn+B+CcnJdV X-Google-Smtp-Source: ABdhPJx3e6qk071RF2Q2Ztc1rxr2P8nKm+acItUF2k/GjWbG2usVImv7rvQp9Ki3NYJN+/KNJwGySZ6GX34I9HEbEPU= X-Received: by 2002:a19:84b:: with SMTP id 72mr3784534lfi.133.1589580941650; Fri, 15 May 2020 15:15:41 -0700 (PDT) MIME-Version: 1.0 References: <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu> <4BDA96A5-9063-42A6-9548-CAE3CBEBEBAC@gatech.edu> In-Reply-To: From: Jeremy Singher Date: Fri, 15 May 2020 15:15:30 -0700 Message-ID: To: Libre-RISCV General Development Subject: Re: [libre-riscv-dev] Introduction and Questions X-BeenThere: libre-riscv-dev@lists.libre-riscv.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Libre-RISCV General Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Libre-RISCV General Development Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org Sender: "libre-riscv-dev" Archived-At: List-Archive: PiBpdCdzIGJhc2ljYWxseSBhIENyYXkgVmVjdG9yIExvb3AKPiAoVkwpIGV4Y2VwdCB0aGF0IFZM LCB3aGVuIHNldCwgYWN0dWFsbHkgKlBBVVNFUyogdGhlIFByb2dyYW0gQ291bnRlciwKPiBhbmQg aXNzdWVzIE1VTFRJUExFIGluc3RydWN0aW9ucyAtIHVzaW5nIHRoZSBvbmUgYXQgdGhlIFBDIGFz IGEKPiAidGVtcGxhdGUiIC0gYnV0IGluY3JlbWVudGluZyB0aGUgb3BlcmFuZCByZWdpc3RlciBu dW1iZXJzCj4gc2VxdWVudGlhbGx5IG9uIGVhY2ggaXRlcmF0aW9uIG9mIHRoZSBsb29wIGZyb20g MCB0byBWTC0xLgoKU28gaWYgeW91IGRlY29kZSBhIHZhZGQgaW5zdHJ1Y3Rpb24sIHdpdGggVkw9 NCwgYW5kIGEgMS13aWRlIHBpcGVsaW5lLAp0aGUgZGVzaWduIHdvdWxkIHN0YWxsIGluc3RydWN0 aW9uIGZldGNoLCBhbmQgaXNzdWUgNCAic2NhbGFyIiBhZGQKbWljcm8tb3BzIHdpdGggaW5jcmVt ZW50aW5nIHJlZ2lzdGVyIGluZGljZXM/IFRoYXQgc2VlbXMgbGlrZSBpdApzaG91bGQgd29yaywg YWx0aG91Z2ggeW91IHdvdWxkIGxvc2UgdGhlIGFiaWxpdHkgdG8gZXhwbG9pdCB2ZWN0b3IKY2hh aW5pbmcsIHNpbmNlIHBhdXNpbmcgdGhlIFBDIHdvdWxkIHByZXZlbnQgYWRkaXRpb25hbCBpbnN0 cnVjdGlvbnMKYWZ0ZXIgdGhlIHZlY3RvciBpbnN0cnVjdGlvbiBmcm9tIGdldHRpbmcgaXNzdWVk LiBJIGxvb2tlZCBhIFNpbXBsZVYgYQp3aGlsZSBhZ28sIGFuZCB0byBtZSBpdCBzZWVtZWQgbGlr ZSB0aGUgZGlmZmVyZW5jZSB2cyBhIG5vcm1hbCB2ZWN0b3IKYXJjaGl0ZWN0dXJlIHdhcyB0aGF0 IFNpbXBsZVYgbWVyZ2VkIHRoZSB2ZWN0b3IgYW5kIGludGVnZXIgcmVnaXN0ZXIKZmlsZXMuCgo+ IHVuZm9ydHVuYXRlbHksIHdoZW4gdGhlIEktQ2FjaGUgaXMgc2hhcmVkLCB3ZSBkbyBnaXZlIGEg ZGFtbi4KPiB0aGVyZWZvcmUgd2UgbmVlZCB0byByZWR1Y2UgdGhlIGluc3RydWN0aW9uIHNpemUg YW5kIGNhbWUgdXAgd2l0aAo+IFNpbXBsZVYgKGxvb2sgaXQgdXApLgoKWWVwLCB0aGlzIHNlZW1z IGxpa2UgYSByZWFzb25hYmxlIGNvbmNsdXNpb24gdG8gZHJhdy4KCgo+IHRoaXMgaGFzICJpbXBs aWNpdCIKPiByZWdpc3Rlci1yZW5hbWluZyBhdXRvbWF0aWNhbGx5IGJ1aWx0LWluIHRvIHRoZSBk ZXNpZ24uICB0aGVzZSBhcmUgdGhlCj4gRnVuY3Rpb24gVW5pdCBvcGVyYW5kIGxhdGNoZXMuICB0 aGV5IGFyZSBiZXN0IHRlcm1lZCAibmFtZWxlc3MKPiByZWdpc3RlcnMiIHJhdGhlciB0aGFuICJy ZWdpc3Rlci1yZW5hbWluZyIuCgpJIHRoaW5rIEkgdW5kZXJzdGFuZCB3aGF0IHlvdSBhcmUgc2F5 aW5nLCBteSB0ZXJtaW5vbG9neSBmb3IgdGhpcyBpcwp0aGF0IHRoZSBjb3JlIGlzICJyZW5hbWlu ZyIgcmVnaXN0ZXJzIGludG8gd2hhdCB5b3UgY2FsbCBpbmZsaWdodAoibmFtZWxlc3MgcmVnaXN0 ZXJzIi4gQXQgdGhlIGVuZCBvZiB0aGUgZGF5LCB0aGUgcG9pbnQgaXMgdGhhdApyZWdpc3RlciBk YXRhIGlzIHN0b3JlZCBub3QganVzdCBpbiBhIGxvZ2ljYWwgcmVnaXN0ZXIgZmlsZSwgYW5kIHRo YXQKdGhlIHNjaGVkdWxlciBjYW4gYWdncmVzc2l2ZWx5IGV4ZWN1dGUgaW5zdHJ1Y3Rpb25zIE9P TyB3aGVuIHRoZWlyCm9wZXJhbmRzIGFyZSBhdmFpbGFibGUsIGluc3RlYWQgb2YgaW4gc2VyaWFs aXppbmcgZXhlY3V0aW9uIGluIHByb2dyYW0Kb3JkZXIuCkhvdyBkb2VzIHRoZSBzY29yZWJvYXJk IGhhbmRsZSBhIFdBVyBoYXphcmQuLi4gdHdvIGluc3RydWN0aW9ucwp3cml0aW5nIHRoZSBzYW1l IHJlZ2lzdGVyPyBEb2VzIHRoZSBzZWNvbmQgaW5zdHJ1Y3Rpb24gd2FpdCBmb3IgdGhlCmZpcnN0 IHRvIGZpbmlzaD8KCj4gTWl0Y2ggQWxzdXAgaGFkIHRvIHdyaXRlIHR3bwo+IGFkZGl0aW9uYWwg Y2hhcHRlcnMsIGFzIGFuIGFkZGVuZHVtIHRvIEphbWVzIFRob3JudG9uJ3MgYm9vaywgIkRlc2ln bgo+IG9mIGEgQ29tcHV0ZXIiLCBpbiBvcmRlciB0byBjb3JyZWN0IFBhdHRlcnNvbidzIG1pc2lu Zm9ybWF0aW9uLgoKRG8geW91IGhhdmUgYSBsaW5rIHRvIHRoZSBhZGRlbmR1bT8gSSBoYXZlIGEg cGRmIG9mIHRoZSBib29rLCBidXQgaXQKZG9lc24ndCBzZWVtIHRvIGhhdmUgdGhlIGFkZGVuZHVt LgoKCgpPbiBGcmksIE1heSAxNSwgMjAyMCBhdCAyOjU0IFBNIEx1a2UgS2VubmV0aCBDYXNzb24g TGVpZ2h0b24KPGxrY2xAbGtjbC5uZXQ+IHdyb3RlOgo+Cj4gT24gRnJpLCBNYXkgMTUsIDIwMjAg YXQgOTo1MCBQTSBKZXJlbXkgU2luZ2hlciA8dGhlanNpbmdoZXJAZ21haWwuY29tPiB3cm90ZToK PiA+Cj4gPiA+IGEgdGVlbnkgdGlueSBiaXQgb3ZlciB3aGF0IHdlIGluaXRpYWxseSBwbGFubmVk LCB0aGVuIDopCj4gPgo+ID4gVGhhbmtzIEx1a2UsIHRoZXNlIG51bWJlcnMgYXJlIGNsb3NlciB0 byB3aGF0IHNlZW1zIHJlYXNvbmFibGUgdG8gbWUuCj4gPiBBIHNpbXBsZSBzdXBlcnNjYWxhciBj b3JlIHdpdGggMiBGUFUgZnVuY3Rpb25hbCB1bml0cyBzaG91bGQgYmUgYWJsZQo+ID4gdG8gYWNo aWV2ZSA0IEdGTE9QUywgc28gYSB2ZWN0b3IgdW5pdCB3b3VsZCBuZWVkIHRvIGdvIGhpZ2hlciB0 aGFuCj4gPiB0aGF0IHRvIGJlIHdvcnRoIHRoZSBleHRyYSBzaWxpY29uLgo+Cj4gdGhlIGhhcmR3 YXJlIHJlcXVpcmVtZW50cyBhcmUgZGVyaXZlZCBmcm9tIHRoZSBzb2Z0d2FyZSBvbmVzLiAgd2UK PiBkZWNpZGVkIHRob3VnaCB0byBkbyBhIGh5YnJpZCBkZXNpZ24gcmF0aGVyIHRoYW4gYSBzZXBh cmF0ZSBDUFUKPiBzZXBhcmF0ZSBHUFUgYXBwcm9hY2guLi4gYmVjYXVzZS4uLiB3ZWxsLi4uIHVt Li4uIHRoYXQncy4uLi4gdHdvLi4uCj4gcHJvY2Vzc29ycyA6KQo+Cj4gaHlicmlkIGRlc2lnbnMg YXJlIGV4dHJlbWVseSB1bnVzdWFsLiAgdGhlcmUncyBvbmx5IDIgdGhhdCBpIGhhdmUKPiBoZWFy ZCBvZjogdGhlIElDdWJlQ29ycCBJQzMxMjgsIGFuZCB0aGUgQnJvYWRjb20gVmlkZW9Db3JlIElW IChiYXNlZAo+IGFyb3VuZCBhbiBBUkMgY29yZSwgQVJDIC0gbm93IGJvdWdodCBieSBTeW5vcHNp cyAtIGlzIGtub3duIGZvcgo+IHByb3ZpZGluZyBhIHdlYWx0aCBvZiBTSU1EIGFuZCBvdGhlciAi YWRkaXRpb25hbCIgaW5zdHJ1Y3Rpb25zLAo+IHNpbWlsYXIgdG8gaG93IFJJU0MtViBpcyBub3cg c2V0IHVwLCBleGNlcHQgY29tcGxldGVseSBzZWNyZXRpdmUgYW5kCj4gdW5kZXIgdGhlIGZ1bGwg YW5kIHRvdGFsIHByb3ByaWV0YXJ5IGNvbnRyb2wgb2YgU3lub3BzaXMpLgo+Cj4gaSd2ZSBsb29r ZWQgYXQgVmVjdG9yIElTQXMsIGFuZCBTSU1EIElTQXM6IGkgY29uY2x1ZGVkIHRoYXQgdGhlcmUn cyBhCj4gYmV0dGVyIHdheSB0byBkbyBhIFZlY3RvciBJU0EsIGtlZXBpbmcgdGhlICpzZW1hbnRp Y3MqIG91dGxpbmVkIGluIHRoZQo+IGFydGljbGUgIlNJTUQgQ29uc2lkZXJlZCBIYXJtZnVsIi4K Pgo+ID4gPiBieSBvdmVybG9hZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJkd2FyZSBmb3ItbG9v cCBhdCB0aGUgaW5zdHJ1Y3Rpb24KPiA+ID4gZXhlY3V0aW9uIHBoYXNlIHdpbGwgcHVzaCBtdWx0 aXBsZSBzZXF1ZW50aWFsIGluc3RydWN0aW9ucyBpbnRvIHRoZQo+ID4gPiBPb08gZW5naW5lIGZy b20gYSAqc2luZ2xlKiBpbnN0cnVjdGlvbi4KPiA+Cj4gPiBJIHNlZSwgc28gYSBmb3JtIG9mIG1p Y3JvLW9wIGZpc3Npb24sCj4KPiB5ZXMsIGluIGVmZmVjdC4gIHRoaXMgcmVkdWNlcyBJLUNhY2hl IHByZXNzdXJlLCB3aGljaCBpbiBhICpoeWJyaWQqCj4gcHJvY2Vzc29yIGlzIGNyaXRpY2FsbHkg aW1wb3J0YW50LiAgaW4gYSBzZXBhcmF0ZS1DUFUsc2VwYXJhdGUtR1BVCj4gZGVzaWduIHlvdSBo YXZlIHR3byBJLUNhY2hlcywgcnVubmluZyB0d28gc2VwYXJhdGUgZXhlY3V0YWJsZXMsIHlvdQo+ IGRvbid0IF9naXZlXyBhIGRhbW4uCj4KPiBpbiBhIGh5YnJpZCBwcm9jZXNzb3IsIHdoZXJlIEdQ VSBvcGNvZGVzIGFyZSBvZnRlbiA2NC1iaXQgYW5kIGFyZSBtb3JlCj4gdXN1YWxseSAxMjgtYml0 IChGT1VSIGJhbmtzIG9mIDMyLWJpdCBWTElXIGluc3RydWN0aW9ucyksIGJlY2F1c2Ugb25lCj4g NjQtYml0IGluc3RydWN0aW9uIG1heSBiZSBkb2luZyAxNnggRlAgdmVjdG9yIG9wZXJhdGlvbnMg d2hvIF9naXZlc18gYQo+IGRhbW4uCj4KPiB1bmZvcnR1bmF0ZWx5LCB3aGVuIHRoZSBJLUNhY2hl IGlzIHNoYXJlZCwgd2UgZG8gZ2l2ZSBhIGRhbW4uCj4gdGhlcmVmb3JlIHdlIG5lZWQgdG8gcmVk dWNlIHRoZSBpbnN0cnVjdGlvbiBzaXplIGFuZCBjYW1lIHVwIHdpdGgKPiBTaW1wbGVWIChsb29r IGl0IHVwKS4KPgo+ID4gZXNzZW50aWFsbHkgeW91IGFyZSBkZWNvZGluZwo+ID4gY29tcGxleCB2 ZWN0b3IgKG9yICJHUFUiKSBpbnN0cnVjdGlvbnMgaW50byBhIHNlcXVlbnRpYWwgc3RyZWFtIG9m Cj4gPiBzaW1wbGUgbWljcm8tb3BzPyBUaGlzIHNlZW1zIGxpa2UgYSBwcmV0dHkgcmVhc29uYWJs ZSBkZXNpZ24gcG9pbnQuCj4KPiBtbW0gbm90IHF1aXRlLiAgbG9vayB1cCBTaW1wbGVWLiAgaXQn cyBiYXNpY2FsbHkgYSBDcmF5IFZlY3RvciBMb29wCj4gKFZMKSBleGNlcHQgdGhhdCBWTCwgd2hl biBzZXQsIGFjdHVhbGx5ICpQQVVTRVMqIHRoZSBQcm9ncmFtIENvdW50ZXIsCj4gYW5kIGlzc3Vl cyBNVUxUSVBMRSBpbnN0cnVjdGlvbnMgLSB1c2luZyB0aGUgb25lIGF0IHRoZSBQQyBhcyBhCj4g InRlbXBsYXRlIiAtIGJ1dCBpbmNyZW1lbnRpbmcgdGhlIG9wZXJhbmQgcmVnaXN0ZXIgbnVtYmVy cwo+IHNlcXVlbnRpYWxseSBvbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcCBmcm9tIDAgdG8g VkwtMS4KPgo+ID4gPiB0aGUgRElWIHBpcGVsaW5lIHdpbGwgYmUuLi4gOCAobWF5YmUgbW9yZSks IE1VTCB3aWxsIGJlIDIsIEFERCAoZXRjLikgd2lsbCBiZSAxLgo+ID4gPiAqIGZldGNoOiAxLgo+ ID4gPiAqIGRlY29kZTogMS4KPiA+ID4gKiBpc3N1ZSBhbmQgcmVnLXJlYWQ6IDEgKG1pbmltdW0p Lgo+ID4gPiAqIGV4ZWN1dGU6IGJldHdlZW4gMSBhbmQgOCAobWF5YmUgbW9yZSkKPiA+ID4gKiB3 cml0ZTogMSAobWluaW11bSkKPiA+Cj4gPiBTbyB0aGlzIGlzIGp1c3QgZm9yIHRoZSBwcmVsaW1p bmFyeSB0YXBlb3V0Pwo+Cj4geWVzLCBpbiAxODBubS4gIHdoaWNoIGNhbiBvbmx5IGFjaGlldmUg YSBtYXggb2YgYXJvdW5kIDMwMG1oei4gIGlmIHdlCj4gaGFkIGEgUExMLiAgd2hpY2ggd2UgZG8g bm90LiAgYmVjYXVzZSB3ZSBhcmUgbm90IHNpZ25pbmcgRm91bmRyeSBOREFzLgo+IGFuZCB0aGUg Rm91bmRyeSB3aWxsIG9ubHkgZ2l2ZSB1cyB0aGUgUExMIGJsb2NrIHRoZXkgbm9ybWFsbHkgaGFu ZAo+IG91dC4uLi4gdW5kZXIgTkRBLgo+Cj4gPiBJIHdvdWxkIGV4cGVjdCBhbiBPT08KPiA+IGNv cmUgdGFyZ2V0aW5nIDFHSHorIHRvIGhhdmUgbW9yZSBwaXBlbGluZSBzdGFnZXMgdGhhbiB0aGlz ICgxMCspLiBUaGUKPiA+IEE3MiwgU2t5bGFrZSwgWmVuLCBhbmQgQk9PTSBhbGwgc2VlbSB0byB0 YXJnZXQgMTArIHN0YWdlcy4KPgo+IHllcC4gIGFuZCB0aGVzZSBhcmUgYWxsIChleGNlcHQgQk9P TSkgVVNEICQxMDAgbWlsbGlvbiBjdXN0b20gc2lsaWNvbiBkZXNpZ25zLgo+Cj4gPiA+IGJhc2lj YWxseSB0aGlzIGlzIHdoeSB3ZSdyZSBkb2luZyBPb08gYmVjYXVzZSBjb29yZGluYXRpbmcgYWxs IHRoYXQgaW4KPiA+ID4gYW4gaW4tb3JkZXIgc3lzdGVtIHdvdWxkIGJlIGFic29sdXRlIGhlbGwu Cj4gPgo+ID4gSSdtIGEgYml0IGNvbmZ1c2VkIG5vdy4gSW4tb3JkZXIgZXhlY3V0aW9uIHdpdGgg dmFyaWFibGUtbGF0ZW5jeQo+ID4gZnVuY3Rpb25hbCB1bml0cyBjYW4gYmUgYWNoaWV2ZWQgd2l0 aCBhIHNjb3JlYm9hcmQsCj4KPiB3aGljaCB3ZSBoYXZlLiAgdXNpbmcgYW4gYXVnbWVudGVkIHZh cmlhbnQgb2YgdGhlIDY2MDAsIHRoYW5rcyB0byBNaXRjaCBBbHN1cC4KPiBodHRwczovL2xpYnJl LXNvYy5vcmcvM2RfZ3B1L2FyY2hpdGVjdHVyZS82NjAwc2NvcmVib2FyZC8KPgo+ID4gYW5kIHRo ZSBwaXBlbGluZQo+ID4gc3RhZ2VzIHlvdSBkZXNjcmliZSByZW1pbmRzIG1lIG9mIGEgaW4tb3Jk ZXIgY29yZSB3aXRoIE9PTyB3cml0ZS1iYWNrLgo+Cj4gcGlwZWxpbmVzIGNhbiBzdGlsbCBiZSB1 c2VkIGJlaGluZCBGdW5jdGlvbiBVbml0ICJmcm9udC1lbmRzIi4gIE1pdGNoIEFsc3VwCj4gZGVz Y3JpYmVzIHRoZW0gYXMgIkNvbmN1cnJlbnQgQ29tcHV0YXRpb24gVW5pdHMiLiAgYmFzaWNhbGx5 IGlmIHRoZSBwaXBlbGluZQo+IGlzIE4gZGVlcCwgeW91IHB1dCBOLW9yLWdyZWF0ZXIgRnVuY3Rp b24gVW5pdCAiUmVzZXJ2YXRpb24tU3RhdGlvbiIgc3R5bGUKPiBvcGVyYW5kIGxhdGNoZXMgb24g dGhlIGZyb250LCB0aGF0IGdpdmVzIHlvdSB0aGUgYWJpbGl0eSB0byB0cmFjayB0aGUgcGlwZWxp bmUKPiByZXN1bHRzLCBtYXRjaCB0aGVtICpiYWNrKiB1cCB3aXRoIHRoZSBGVSBpbmRleCwgYW5k IHZvaWxhLCB5b3UgaGF2ZQo+IHR1cm5lZCB3aGF0IGlzIG90aGVyd2lzZSBjb25zaWRlcmVkIHRo ZSBleGNsdXNpdmUgZG9tYWluIG9mICJpbi1vcmRlciBwaXBlbGluZSIKPiB0ZXJtaW5vbG9neSBp bnRvIHNvbWV0aGluZyB0aGF0IGZpdHMgaW50byBPb08uCj4KPiA+IElzIHRoaXMgd2hhdCB5b3Ug YXJlIGRvaW5nPwo+Cj4gbm8uCj4KPiA+IE9yIGFyZSB5b3UgcHVyc3VpbmcgdHJ1ZSBPT08gZXhl Y3V0aW9uCj4KPiB5ZXMuCj4KPiA+IHdpdGggcmVnaXN0ZXItcmVuYW1pbmc/Cj4KPiBubyAvIG1p c2xlYWRpbmcgcXVlc3Rpb24uCj4KPiB3ZSBhcmUgdXNpbmcgdGhlIDY2MDAgZGVzaWduLCBmcm9t IDE5NjUuICB0aGlzIGhhcyAiaW1wbGljaXQiCj4gcmVnaXN0ZXItcmVuYW1pbmcgYXV0b21hdGlj YWxseSBidWlsdC1pbiB0byB0aGUgZGVzaWduLiAgdGhlc2UgYXJlIHRoZQo+IEZ1bmN0aW9uIFVu aXQgb3BlcmFuZCBsYXRjaGVzLiAgdGhleSBhcmUgYmVzdCB0ZXJtZWQgIm5hbWVsZXNzCj4gcmVn aXN0ZXJzIiByYXRoZXIgdGhhbiAicmVnaXN0ZXItcmVuYW1pbmciLgo+Cj4gaWYgeW91IGFyZSBm YW1pbGlhciB3aXRoIHRoZSBUb21hc3VsbyBBbGdvcml0aG06IGlmIHlvdSBtYWtlIHRoZQo+IG51 bWJlciBvZiBSZXNlcnZhdGlvbiBTdGF0aW9uIFJvd3MgZXF1YWwgdG8gMSwgdGhlbiB0aGUgUlMg bGF0Y2hlcyBhcmUKPiBkaXJlY3RseSBlcXVhbCBhbmQgZXF1aXZhbGVudCB0byBGdW5jdGlvbiBV bml0IG9wZXJhbmQgbGF0Y2hlcywgYW5kCj4gYm90aCBhcmUgaW4gZWZmZWN0ICJyZWdpc3RlciBy ZW5hbWluZyIuLi4gb25seSB0aGUgYmV0dGVyIHRlcm1pbm9sb2d5Cj4gaXMgIm5hbWVsZXNzIHJl Z2lzdGVycyIgb3IgImluLWZsaWdodCByZWdpc3RlcnMgLyByZXN1bHRzIi4KPgo+IGlmIHlvdSBo YXZlIHJlYWQgaGlzIGJvb2sgYW5kIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBsYXN0IHdvcmQgb24K PiBzY29yZWJvYXJkcywgUGF0dGVyc29uIGhhcyBjb21wbGV0ZWx5IGFuZCB1dHRlcmx5IG1pc2lu Zm9ybWVkIHRoZQo+IGdlbmVyYWwgcHVibGljIGFuZCB0aGUgYWNhZGVtaWMgY29tbXVuaXR5IHdp dGggaGlzIGJvb2ssIHJlZ2FyZGluZyB0aGUKPiA2NjAwIGFuZCBzY29yZWJvYXJkcyBpbiBnZW5l cmFsLiAgTWl0Y2ggQWxzdXAgaGFkIHRvIHdyaXRlIHR3bwo+IGFkZGl0aW9uYWwgY2hhcHRlcnMs IGFzIGFuIGFkZGVuZHVtIHRvIEphbWVzIFRob3JudG9uJ3MgYm9vaywgIkRlc2lnbgo+IG9mIGEg Q29tcHV0ZXIiLCBpbiBvcmRlciB0byBjb3JyZWN0IFBhdHRlcnNvbidzIG1pc2luZm9ybWF0aW9u Lgo+Cj4gPiA+IGl0J3MgZG93biB1bHRpbWF0ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBw YXRocyBhcmUsIGJldHdlZW4gdGhlCj4gPiA+IFJlZ2ZpbGUgYW5kIHRoZSBGdW5jdGlvbiBVbml0 cy4gIGlmIHdlIGhhdmUgbXVsdGlwbGUgUmVnaXN0ZXIgRGF0YQo+ID4gPiBCdXNlcywgYW5kIGNh biBpbXBsZW1lbnQgdGhlIG11bHRpLWlzc3VlIHBhcnQgaW4gdGltZSwgaXQnbGwgYmUgY29kZWQK PiA+ID4gaW4gYSBnZW5lcmFsLXB1cnBvc2UgZW5vdWdoIHdheSB0aGF0IHdlIGNvdWxkIGNvbnNp ZGVyIDQtaXNzdWUuCj4gPiA+IGhvd2V2ZXIuLi4gd2l0aG91dCB0aGUgcmVnaXN0ZXIgZGF0YSBw YXRocywgdGhlcmUncyBubyBwb2ludC4KPgo+ID4KPiA+IEZhaXIgZW5vdWdoLiBCYWxhbmNpbmcg dGhlIHRocm91Z2hwdXQgb2YgYWxsIHRoZSBjb21wb25lbnRzIGluIGEgT09PCj4gPiBjb3JlIGlz IHRyaWNreSwgYW5kIHJlZ2lzdGVyIHJlYWQgY2FuIGNlcnRhaW5seSBiZSBhIGJvdHRsZW5lY2su Cj4KPiB5ZXMuICBzZWUgaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9jb21wLmFyY2gv cWVNc0U3VXh2bEkvQW13c29tRG9BUUFKCj4gaSBjYW4ndCBmaW5kIHRoZSBkaWFncmFtIGkgZHJl dyBhdCB0aGUgbW9tZW50Li4uIHJlZ2ZpbGUgaSB0aGluay4uLgo+IGFoIHllcyBoZXJlIHlvdSBn bzoKPiBodHRwczovL2xpYnJlLXNvYy5vcmcvM2RfZ3B1L2FyY2hpdGVjdHVyZS9yZWdmaWxlLwo+ Cj4gdGhhdCdzIGEgZ2xvYmFsIGN5Y2xpYyBidWZmZXIgYXQgdGhlIHJlZ2ZpbGUgKGFjdHMgYXMg YW4gT3BlcmFuZAo+IEZvcndhcmRpbmcgQnVzKSBhbmQKPiAqbG9jYWwqIGN5Y2xpYyBidWZmZXJz IGF0IHRoZSBGdW5jdGlvbiBVbml0cy4KPgo+ID4gPiBXZSBoYWQgc29tZSB1bmZvcnR1bmF0ZSBy dW4taW5zIHdpdGggQmVya2VsZXkgYW5kIFJJU0NWIC0gYW5kIHdlIGRlY2lkZWQgdG8gZ28gd2l0 aCBQT1dFUiBiZWNhdXNlIHdlIGhhdmUgYWNjZXNzIHRvIHNvbWUgaW1wb3J0YW50IHJlbGF0aW9u cyBhdCBJQk0KPiA+Cj4gPiBIYXZlIHlvdSBsb29rZWQgYXQgdGhlIG9wZW4gUklTQy1WIG1pY3Jv LWFyY2hpdGVjdHVyZXMgdGhvdWdoPwo+Cj4geWVzLiAgdGhleSBhcmUgbm93aGVyZSBuZWFyIHRo ZSBsZXZlbCBvZiBjb21wcmVoZW5zaXZlbmVzcyBuZWVkZWQuCj4gcGx1cywgaXQgd291bGQgYmUg aW5jcmVkaWJseSBpcnJlc3BvbnNpYmxlIG9mIHVzIHRvIGJyaW5nIHRvIG1hcmtldCBhCj4gMTAw IG1pbGxpb24gYW5kIGFib3ZlICpsaWJyZSogZGVzaWduIHdoZXJlIHRoZSBtb2RpZmljYXRpb25z IHRvIHRoZQo+IGNvbXBpbGVyLCB0b29sY2hhaW4sIGV2ZXJ5dGhpbmcsIGFsbCBuZWVkZWQgdG8g YmUgdXBzdHJlYW0uCj4KPgo+ID4gRXZlbiBpZgo+ID4gdGhpcyBjb3JlIHJ1bnMgUE9XRVIsIGl0 IHNob3VsZCBiZSBub3QgdG9vIGRpZmZpY3VsdCB0byBwb3J0IGRlc2lnbgo+ID4gaWRlYXMgZnJv bSBleGlzdGluZyBjb3JlcywgdG8gYXZvaWQgcmVpbnZlbnRpbmcgdGhlIHdoZWVsIGV2ZXJ5d2hl cmUuCj4KPiBiZWNhdXNlIG9mIHRoZSB3YXkgdGhhdCBTaW1wbGVWIHdvcmtzLCBhbmQgYmVjYXVz ZSB3ZSBuZWVkIHRvCj4gZHJhc3RpY2FsbHkgZXh0ZW5kIHRoZSB0YXJnZXQgSVNBIChQT1dFUjkp IHdpdGggb3Bjb2RlcyB0aGF0IGFyZQo+IGV2ZXJ5ZGF5IGNvbW1vbi11c2FnZSBpbiBHUFVzIChU ZXh0dXJlIE9wcywgU0lOLCBDT1MsIFJHQjJZVVYpLCB3aGlsc3QKPiBvbiB0aGUgZmFjZSBvZiBp dCB0aGUgaWRlYSBzb3VuZHMgInBlcmZlY3RseSByZWFzb25hYmxlIiwgdGhlIGNoYW5nZXMKPiBy ZXF1aXJlZCBhcmUgc28gZnVuZGFtZW50YWwgdGhhdCBzdGFydGluZyBmcm9tIHNvbWVvbmUgZWxz ZSdzIGRlc2lnbgo+IHdvdWxkIHByb2R1Y2UgbWFzc2l2ZSBiYXJyaWVycy4KPgo+IGV4YW1wbGU6 IHdlIGhhdmUgY3JlYXRlZCBQYXJ0aXRpb25lZFNpZ25hbCAtIGEgY2xhc3MgdGhhdCBub3QganVz dAo+ICJwZXJmb3JtcyBhZGQgb3BlcmF0aW9ucyIsIGl0IHRha2VzIGFuICphZGRpdGlvbmFsKiAo ZHluYW1pYykKPiBzaWRlLWFyZ3VtZW50IC0gYSBtYXNrIC0gd2hpY2ggKmR5bmFtaWNhbGx5KiBw YXJ0aXRpb25zIHdoYXQgd291bGQKPiBvdGhlcndpc2UgYmUgYSA2NC1iaXQgb3BlcmF0aW9uIGlu dG8gKmFueSogY29tYmluYXRpb24gb2YgOCwgMTYsIDI0LAo+IDMyLCA0MCwgNDggYW5kIDU2IGJp dCBvcGVyYXRpb25zLgo+Cj4gdGhpcyBjbGFzcywgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgcHl0aG9u LCBjYW4gYmUgaGFuZGVkIGluIGFzIGEga2xzIGluCj4gYW4gT2JqZWN0LU9yaWVudGF0ZWQgZmFz aGlvbiwgdG8gKnJlcGxhY2UqIG5taWdlbiBTaWduYWwsIGFuZCB0aHVzIHdlCj4gbWF5IGNvbnN0 cnVjdCBjb2RlIHRoYXQgb24gdGhlIGZpcnN0IHVzYWdlIGlzIGEgc2ltcGxlIHBpcGVsaW5lLAo+ IGhvd2V2ZXIgd2UgbWF5IHRoZW4gY29udmVydCB0aGF0IEVYQUNUIFNBTUUgQ09ERSBpbnRvIGEg ZHluYW1pYyBTSU1ECj4gdmFyaWFudCBwdXJlbHkgd2l0aCBhIG9uZS1saW5lIGNoYW5nZS4KPgo+ IHRoZXNlIGtpbmRzIG9mIHRlY2huaXF1ZXMgYXJlIG5vcm1hbGx5IHRoZSBleGNsdXNpdmUgZG9t YWluIG9mCj4gZXhwZXJpZW5jZWQgU29mdHdhcmUgRW5naW5lZXJpbmcgdGVhbXMuICBmb3IgYSAq aGFyZHdhcmUqIHRlYW0gdG8KPiBkZXBsb3kgdGhlbT8gIHRoaXMgaXMgdW5oZWFyZC1vZiwgYW5k IGlmIGF0dGVtcHRlZCB3aXRoIGV2ZW4gQ2hpc2VsMyAvCj4gU2NhbGEsIHdvdWxkIGhhdmUgdGhl IHRlYW0gcnVubmluZyBhd2F5IHNjcmVhbWluZyB3aXRoaW4gYWJvdXQgNgo+IG1vbnRocy4gIGEg dGVhbSB0aGF0IHdhcyBhc2tlZCB0byBkbyB0aGF0IGluIHZlcmlsb2cgb3IgVkhETCB3b3VsZAo+ IGZsYXQtb3V0IHNheSAibm8iLiAgb3IgYXNrIGZvciA1MCBleHRyYSBlbmdpbmVlcnMuICB3aGlj aCwgZm9yIElCTSBvcgo+IEludGVsIG9yIEFSTSBpcyBub3QgdW5yZWFzb25hYmxlLCBidXQgZm9y IHVzIGl0IGlzIG5vdC4KPgo+IGhlbmNlIHdlIHN0YXJ0ZWQgZnJvbSBzY3JhdGNoLCBpbiBvcmRl ciB0byBiZSBhYmxlIHRvIGRlcGxveSB0aGVzZQo+IGtpbmRzIG9mIFNvZnR3YXJlIEVuZ2luZWVy aW5nIHRlY2huaXF1ZXMuCj4KPiBsLgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0Cj4gbGlicmUt cmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwo+IGh0dHA6Ly9saXN0cy5saWJyZS1yaXNj di5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1kZXYKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxp c3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGli cmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2Cg==