Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] microwatt tlb
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 30 Mar 2020 03:30:02 +0000 (14:30 +1100)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Mon, 30 Mar 2020 09:35:51 +0000 (10:35 +0100)
5c/469eae634a871e7d88a35dbaa8f50210e864d4 [new file with mode: 0644]

diff --git a/5c/469eae634a871e7d88a35dbaa8f50210e864d4 b/5c/469eae634a871e7d88a35dbaa8f50210e864d4
new file mode 100644 (file)
index 0000000..eb41e97
--- /dev/null
@@ -0,0 +1,190 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Mon, 30 Mar 2020 10:35:51 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+       by libre-riscv.org with esmtp (Exim 4.89)
+       (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+       id 1jIqpj-00024t-Fc; Mon, 30 Mar 2020 10:35:51 +0100
+Received: from ozlabs.org ([203.11.71.1])
+ by libre-riscv.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
+ (Exim 4.89) (envelope-from <paulus@ozlabs.org>) id 1jIl7t-0004yT-NN
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 30 Mar 2020 04:30:14 +0100
+Received: by ozlabs.org (Postfix, from userid 1003)
+ id 48rHym3S9Wz9sPF; Mon, 30 Mar 2020 14:30:08 +1100 (AEDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707;
+ t=1585539008; bh=SZ0YO1M/NlaQGcfd9YC7FG87YOvxu3p0mTzS7u5x4vw=;
+ h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
+ b=DmW88xn4ZGXzxEyP3FId8fpkZLgW6hluNxqHboOgVDphprooYj0S0LiLqv8qPz+gx
+ 0X3MGYZymeZneCR+VbHI8obcgzS9G3RrZ4jmPSGy2U1HoenIMagUwt/R74FGdEdJ09
+ rWJtWkIKX6x4IidQYZE+hP3Uzs+BztwXd4JiqMYCg0ULd8Wpsqv660fPCvcjCR2bXn
+ CGY11V44W58QeZBnqzkrgu+83OG4HPXR+CSjyTpb1bpTwHPjWCNLVbrmV5FNFgUWYr
+ ADpg/emSSUoVHt5Wu99wWo7i06iaSRFW6HtxwBQCI8WW0P2tfea2YFUh7w6N1yQRIA
+ IhbFGIr5ZrKmw==
+Date: Mon, 30 Mar 2020 14:30:02 +1100
+From: Paul Mackerras <paulus@ozlabs.org>
+To: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Message-ID: <20200330033002.GB15134@blackberry>
+References: <CAPweEDzGri9hXAk5JPhQnLhqNoKD_M3v1yhasNDEtO8=xpz7Cw@mail.gmail.com>
+MIME-Version: 1.0
+Content-Disposition: inline
+In-Reply-To: <CAPweEDzGri9hXAk5JPhQnLhqNoKD_M3v1yhasNDEtO8=xpz7Cw@mail.gmail.com>
+User-Agent: Mutt/1.5.24 (2015-08-30)
+X-Mailman-Approved-At: Mon, 30 Mar 2020 10:35:49 +0100
+Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] microwatt tlb
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Cc: openpower-hdl-cores@mailinglist.openpowerfoundation.org,
+ Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+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" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+T24gRnJpLCBNYXIgMjcsIDIwMjAgYXQgMDI6MTU6MDNBTSArMDAwMCwgTHVrZSBLZW5uZXRoIENh
+c3NvbiBMZWlnaHRvbiB3cm90ZToKPiBoaSB0aGlzIGlzIGZvciBwYXVsIG1hY2tlcnJhcyB3aGVu
+IHlvdSBzZWUgaXQuCj4gCj4gZ3JlYXQgdG8ga25vdyB5b3UncmUgd29ya2luZyBvbiBtaWNyb3dh
+dHQuIGJlZW4gc3VjaCBhIGxvbmcgdGltZSwgYW5kCj4gcmVhbGx5IGdvb2QgdG8gZW5jb3VudGVy
+IHlvdSBvdmVyIHRoZSB2aXJ0dWFsIGNvZmZlZSBjaGF0IGVhcmxpZXIgdG9kYXkuCj4gCj4gaGVy
+ZSdzIHRoZSBsaW5rIHRvIHRoZSByYWRpeCB3YWxrIGRvYyBpIHdhcyB0YWxraW5nIGFib3V0Ogo+
+IGh0dHBzOi8vZ2l0aHViLmNvbS9wb3dlci1nZW01L2dlbTUvYmxvYi9nZW01LWV4cGVyaW1lbnRh
+bC9zcmMvYXJjaC9wb3dlci9yYWRpeF93YWxrX2V4YW1wbGUudHh0Cj4gCj4gaXQgaXMgcmVhbGx5
+IGdvb2QuICBpbXBsZW1lbnRhdGlvbnMgYWxzbyBleGlzdCBpbiB0aGUgc2FtZSBjb2RlYmFzZSwg
+dGhlCj4gZWFzaWVzdCB3YXkgdG8gdHJhY2sgdGhlbSBkb3duIGlzIHZpYSB0aGUgY29tbWl0IGxv
+Z3MgaW4gdGhlCj4gZ2VtNS1leHBlcmltZW50YWwgYnJhbmNoLgo+IAo+IGZvciBsaWJyZXNvYyB3
+ZSByZWFsbHkgcmVhbGx5IG5lZWQgY2xlYXIgSERMIHRvICJ0cmFjayIgaWYgeW91IGtub3cgd2hh
+dCBpCj4gbWVhbiwgYmVjYXVzZSBzb21lIG9mIHRoZXNlIGFsZ29yaXRobXMgYXJlIHZlcnkgdGlt
+ZWNvbnN1bWluZyB0byBpbXBsZW1lbnQKPiBmcm9tIHNjcmF0Y2guCj4gCj4gcGF1bCwgY29udGlu
+dWluZyB0aGUgKGJyaWVmKSBkaXNjdXNzaW9uIHNvbWV3aGF0LCBpbiBhIHJlbGF0ZWQgd2F5LCBp
+Cj4gcmVhbGx5IHdhbnRlZCB0byBtYWtlIHlvdSBhd2FyZSBvZiB0aGUgaW1wbGljYXRpb25zIGZv
+ciBtaWNyb3dhdHQgb2YgdHJ5aW5nCj4gdG8gbWFrZSBpdCBtdWx0aXN0YWdlIHBpcGVsaW5lZC4K
+PiAKPiBpZiB5b3UgbG9vayB1cCBqb24gZGF3c29uJ3MgSUVFNzU0IEZQVSBjb2RlIHlvdSBmaW5k
+IHRoYXQgaXQgaXMgZW50aXJlbHkKPiBGU00gYmFzZWQuICBhcyBzdWNoIGl0IGlzIHN1cGVyYiBm
+b3IgZml0dGluZyBpbiBzbWFsbCBGUEdBcy4KPiAKPiBvdmVyIGEgNiBtb250aCBwZXJpb2QgaSBt
+b3JwaGVkIGl0IGZyb20gaXRzIGh1bWJsZSBiZWdpbm5pbmdzIGludG8gYW4KPiBhYnNvbHV0ZSBi
+ZWFzdCBvZiBhIGZsZXhpYmx5IHJlcHJvZ3JhbW1hYmxlIE9iamVjdCBPcmllbnRhdGVkIElFRUU3
+NTQgRlAKPiB0b29sa2l0LCBjYXBhYmxlIG9mIDE2LCAzMiBvciA2NCBiaXQgKGFuZCBhbnl0aGlu
+ZyBlbHNlIHlvdSBjYXJlIHRvIGFkZCksCj4gYXJiaXRyYXJ5IHBpcGVsaW5lIGRlcHRoICpvciog
+RlNNIHN0eWxlIGVuZ2luZXMsIFNJTUQgY2FwYWJpbGl0eSwgKmR5bmFtaWMqCj4gcGlwZWxpbmVz
+LCB0aGUgd29ya3MuICBKYWNvYiBoZWxwZWQgYWRkIGEgZmFudGFzdGljIGh5YnJpZCBmcGRpdiwg
+c3FydAo+ICphbmQqIHJzcXJ0IGVuZ2luZSBhbGwgaW4gdGhlIHNhbWUgcGlwZWxpbmUuICBpdCdz
+IG5vdyB3ZWxsIG5vcnRoIG9mIDEwLDAwMAo+IGxpbmVzIG9mIHB5dGhvbiBjb2RlIGFuZCB0YWtl
+cyBhIHdlZWsgdG8gcnVuIGFsbCB0aGUgdW5pdCB0ZXN0cy4KPiAKPiB3aGF0IGkgbGVhcm5lZCBh
+bG9uZyB0aGUgd2F5IHdhcyB0aGF0IHRoZSBGU00gYmFzZWQgc3lzdGVtcyB2cyBwaXBlbGluZQo+
+IHN5c3RlbXMgdHJhZGUgbG93IGdhdGUgY291bnQgYW5kIHNpbXBsaWNpdHkgYW5kIGNvZGUgcmVh
+ZGFiaWxpdHkgZm9yIHNwZWVkLAo+IG11Y2ggaGlnaGVyIGdhdGUgY291bnQsIGFuZCwgdW5sZXNz
+ICphbmQgZXZlbiogaWYgT08gZGVzaWduIGlzIHVzZWQsIHR1cm4KPiBpbnRvIHRoZSBtb3N0IGF3
+ZnVsIHVucmVhZGFibGUgdW5tYWludGFpbmFibGUgdG90YWwgdHJhc2guCj4gCj4gcm9ja2V0Y2hp
+cCB1bmZvcnR1bmF0ZWx5LCBmb3IgYWxsIHRoZSBjb21wYWN0bmVzcyBhbmQgb3RoZXIgYWR2YW50
+YWdlcywgaXMKPiBwYXJ0aWN1bGFybHkgYmFkLCAqYmVjYXVzZSogb2YgdGhlIE9PIChhbmQgdG90
+YWwgbGFjayBvZiBjb2RlIGNvbW1lbnRzKS4KPiB0aGUgT08gaGllcmFyY2h5IG1ha2VzIGl0IGZs
+YXQtb3V0IGltcG9zc2libGUgZm9yIGFueW9uZSBidXQgaXRzIG9yaWdpbmFsCj4gY3JlYXRvcnMg
+dG8gd29yayB3aXRoLiAgKHNvbWV0aGluZyB0byBhbGVydCB0aGUgY2hpc2Vsd2F0dCB0ZWFtIG9u
+LCB0aGVyZSwKPiBhbHRob3VnaCBmcm9tIHdoYXQgaSBoYXZlIHNlZW4sIHRoZSBjb2RlIGNvbW1l
+bnRzIGluIGNoaXNlbHdhdHQgYXJlIGRhbW4KPiBnb29kKS4KPiAKPiBhbmQgeWV0IGlmIHlvdSBl
+dmVuIHJlbW90ZWx5IHRyeSBhbnl0aGluZyBsaWtlIG1vZGVybiBPTyBwcm9ncmFtbWluZyBkZXNp
+Z24KPiBzdHJhdGVnaWVzIGFuZCB0ZWN1bmlxdWVzIHdpdGggdGhlc2UgMTk4MHMgZXJhIGxhbmd1
+YWdlcyAoSERMLCBWZXJpbG9nKSB5b3UKPiBpbW1lZGlhdGVseSBhbHNvIHJ1biBpbnRvIHNlcmlv
+dXMgZGlmZmljdWx0aWVzIG9mIGEgZGlmZmVyZW50IGtpbmQsIHdoaWNoIGkKPiB3b24ndCBnbyBp
+bnRvLCByaWdodCBub3cuCj4gCj4gdGhlIGJvdHRvbSBsaW5lIGlzOiBhZGRpbmcgZXh0cmEgcGlw
+ZWxpbmUgc3RhZ2VzIHRvIG1pY3Jvd2F0dCBub3Qgb25seQo+IGNvbXBsaWNhdGVzIGl0IGFuZCBt
+YWtlcyBpdCB1bnJlYWRhYmxlIGFuZCB1bm1haW50YWluYWJsZSwgaXQgaW5jcmVhc2VzIHRoZQo+
+IG51bWJlciBvZiBMVVRzIHJlcXVpcmVkIHRvIHRoZSBwb250IHdoZXJlIHlvdSB3aWxsIG5lZWQg
+dG8gY2FsbCBpdCAid2F0dCIKPiBvciAibWVnYXdhdHQiCj4gCj4gOikKPiAKPiByZWdhcmRpbmcg
+ZXhjZXB0aW9ucyBhbmQgdHJhcHM6IGZvciBpbi1vcmRlciBwaXBlbGluZWQgc3lzdGVtcyB0aGVz
+ZSBhcmUgYQo+IGRhbW4gbnVpc2FuY2UuCj4gCj4gZXZlcnkgc29sdXRpb24gdG8gZXZlcnkgcHJv
+YmxlbSBpbiBhbiBpbm9yZGVyIHN5c3RlbSBpczoKPiAKPiBzdGFsbC4KPiAKPiB0aGF0J3MgaXQu
+Cj4gCj4gYWZ0ZXIgbGVhcm5pbmcgYWJvdXQgdGhlIENEQzY2MDAsIHdoaWNoIGlzIGEgZGVlcGx5
+IGltcHJlc3NpdmUgZGVzaWduIHRoYXQKPiB0YWtlcyBsaXRlcmFsbHkgbW9udGhzIHRvIGJlZ2lu
+IHRvIGNvbXByZWhlbmQsIGkgZGlzbGlrZSBpbm9yZGVyIHN5c3RlbXMKPiBpbnRlbnNlbHkuCj4g
+Cj4gdGhlIGtleSB0aGluZyB0aGF0IGkgbGVhcm5lZCBmcm9tIE1pdGNoIEFsc3VwIGFib3V0IGhv
+dyB0byBoYW5kbGUKPiBleGNlcHRpb25zIGlzOiB5b3UgKm11c3QqIHByZXZlbnQgdGhlIEFMVSAo
+b3Igd2hhdGV2ZXIpIGZyb20gImNvbW1pdHRpbmciCj4gaXRzIHJlc3VsdCB1bnRpbCBpdCBpcyBH
+VUFSQU5URUVEIGtub3duIHRoYXQgdGhlIGV4Y2VwdGlvbiB3aWxsIG5vdCBvY2N1ci4KPiAKPiB0
+aGF0IGlzIHRoZSBhYnNvbHV0ZSBjb3JlIGNvbmNlcHQgb2YgZXhjZXB0aW9ucyAoYWthIGludGVy
+cnVwdHMpLCB5b3UgTVVTVAo+IGFjaGlldmUsIGluIHNvbWUgZnVuZGFtZW50YWwgd2F5Lgo+IAo+
+IHRoaXMgaXMgZG9uZSBpbiBhbiBPb08gZGVzaWduIGJ5IG1hcmtpbmcgYW5kIHRyYWNraW5nIHRo
+ZSBvcGVyYXRpb24gLSBhbGwKPiB0aGUgd2F5IGRvd24gdGhlIHBpcGVsaW5lIC0gd2l0aCAiY2Fu
+Y2VsbGF0aW9uIG1hc2tzIiAoYSBnbG9iYWwgSUQgd2hpY2gKPiB0cmF2ZWxzICp3aXRoKiB0aGUg
+cGFydGlhbCByZXN1bHQgZGF0YSwgZG93biBhIGdpdmVuIHBpcGVsaW5lKQo+IAo+IHRoaXMgaXMg
+a25vd24gYXMgInNoYWRvd2luZyIsIGFuZCBpdCBpcyBub3Qgb25seSB0aGUgb3BlcmF0aW9uIHRo
+YXQgKm1pZ2h0Kgo+IGJlIGNhbmNlbGxlZCB0aGF0IGhhcyB0byBiZSAic2hhZG93bWFya2VkIiwg
+aXQgaXMgKmFsbCBmb2xsb3dpbmcKPiBpbnN0cnVjdGlvbnMgYXMgd2VsbCogKGhlbmNlIHRoZSB0
+ZXJtICJzaGFkb3ciKS4KPiAKPiBzaGFkb3dlZCBvcGVyYXRpb25zIGFyZSByZWFsIGVhc3kgdG8g
+Y2FuY2VsOiBwdWxsIHRoZSAiY2FuY2VsIiB3aXJlIHVwLCBhbmUKPiBldmVyeXRoaW5nIHdpdGgg
+dGhlIHJlcXVpc2l0ZSBtYXNrIElEIGdldHMgYSBnbG9iYWwgc2lnbmFsICJ3aG9vcHMgd2Ugbm8K
+PiBsb25nZXIgbmVlZCB0byBwYXNzIHRoaXMgZG93biB0aGUgcGlwZWxpbmUsIGRyb3AgaXQgb24g
+dGhlIGZsb29yIi4KPiAKPiB3aXRoIGFsbCAiZnV0dXJlIiBwYXJ0aWFsIChhbmQgY29tcGxldGVk
+IGJ1dCBub25jb21taXR0ZWQpIHJlc3VsdHMgbm93Cj4ga2lsbGVkLCB0aGUgUEMgY2FuIHNhZmVs
+eSBiZSByZWRpcmVjdGVkIGF0IHRoZSBleGNlcHRpb24sIGludGVycnVwdCwgb3IgdGhlCj4gYWx0
+ZXJuYXRpdmUgYnJhbmNoLCBvciB3aGF0ZXZlcjogdGhlc2UgYWxsIHVzZSAqZXhhY3RseSogdGhl
+IHNhbWUgc2hhZG93aW5nCj4gdGVjaG5pcXVlLgo+IAo+IHlvdSBzdGFydCB0byBzZWUgd2h5IHRo
+ZSBtYWpvcml0eSBvZiBpbm9yZGVyIHN5c3RlbXMgdXNlICJzdGFsbCBzdGFsbCBzdGFsbAo+IHN0
+YWxsIHN0YWxsIiBhcyB0aGUgYmUtYWxsIGFuZCBlbmQtYWxsICJvbm5uZSBhbmQgb25seSB0cnVl
+IHNvbHV0aW9uIiwKPiBoZXJlPyBbIGhhbGxlbHVqYWgsIHByYWlzZSB0aGUgc3RhbGwuLi4gXSA6
+KQo+IAo+IGJhc2ljYWxseSBpZiBpIGhhdmUgZGlzY291cmFnZWQgeW91IGZyb20gcHVyc3Vpbmcg
+dGhlIHBhdGggb2YgYWRkaW5nCj4gbXVsdGlwbGUgcGlwZWxpbmUgc3RhZ2VzIHRvIG1pY3Jvd2F0
+dCwgdGhlbiBpIGhhdmUgc3VjY2VlZGVkIGluIHdoYXQgaSBzZXQKPiBvdXQgdG8gZXhwbGFpbi4g
+IGJlY2F1c2UgbWljcm93YXR0J3MgdmFsdWUgaXMgbm90IGp1c3QgaXRzIHNtYWxsIGNvZGUgc2l6
+ZSwKPiBpdHMgcmVhZGFiaWxpdHkgYW5kIGNvbXBhY3RuZXNzIG1ha2VzIGl0IGFuIGlkZWFsIHJl
+ZmVyZW5jZSBpbXBsZW1lbnRhdGlvbgo+ICphbmQqLCBmdXJ0aGVybW9yZSwgaXRzIGNvbXBsZXRl
+IGxhY2sgb2Ygb3B0aW1pc2F0aW9uIG5vcm1hbGx5IHNlZW4gaW4KPiAic2ltcGxlIiBwaXBlbGlu
+ZWQgZGVzaWducyBhY3R1YWxseSBzYXZlcyBvbiBnYXRlcyAvIEZQR0EgcmVzb3VyY2VzLgo+IAo+
+IHRoZSBtb21lbnQgeW91IGFkZCBleHRyYSBzdGFnZXMsIGFsbCB0aGF0IGdvZXMgb3V0IHRoZSB3
+aW5kb3cuCj4gCj4gYW4gYXNzb2NpYXRlIGFuZCBjb250cmlidXRvciBvbiBvdXIgbGlzdCwgU2Ft
+dWVsIEZhbHZvLCB0YXVnaHQgbWUgc29tZQo+IGF3ZXNvbWUgdHJpY2tzLgo+IAo+IGhpcyBDUFVz
+IGFyZSBpbmNyZWRpYmxlLCBkZXNpZ25lZCBpbiB0aGUgbW9zdCBhbWF6aW5nIGVsZWdhbnQgYW5k
+IHVudXN1YWwKPiB3YXlzLiAgaGUgd3JvdGUgaGlzIG93biBQTEEgc3R5bGUgImxhbmd1YWdlIiAo
+d3JpdHRlbiBpbiBsaXNwKSB3aGljaCB0YWtlcwo+IHNwZWNpZmljYXRpb25zIChpbiBsaXNwIGxp
+c3RzKSBmb3IgZnVuY3Rpb25hbGl0eSBhbmQgKmdlbmVyYXRlcyogVkhETAo+IGNvbWJpbmF0b3Jp
+YWwgYmxvY2tzLgo+IAo+IGhlIHVzZWQgdGhpcyB0b29sIHRvIGNyZWF0ZSBhIDY1MDItbGlrZSBw
+cm9jZXNzb3Igd2l0aCB2aXJ0dWFsbHkgbm8KPiBtYW51YWxseSB3cml0dGVuIGdsdWUgbG9naWMg
+KGV2ZW4gdGhlIGRlY29kZXIgd2FzIHdyaXR0ZW4gaW4gdGhpcyBzaW1wbGUKPiBzcGVjaWZpY2F0
+aW9uKSwgdGhhdCBlYXNpbHkgZml0cyBpbnRvIGFuIHVsdHJhIGxvdyBjb3N0IElDRTQwIHlldCBo
+YXMKPiBtYXNzaXZlIGFtb3VudHMgb2Ygcm9vbSB0byBzcGFyZSBmb3IgcGVyaXBoZXJhbHMuCj4g
+Cj4gdGhlIGtleSB0byB0aGUgc3VjY2VzcyBvZiB0aGlzIGFwcHJvYWNoIHdhcyB0aGUgaGVhdnkg
+dHJhZGVvZmYgb2YgKm5vdCoKPiB1c2luZyBwaXBlbGluZSBzdGFnZXMsIGJ1dCBlZmZlY3RpdmVs
+eSBkb2luZyBhIEZTTSBzdHlsZSBlbnRpcmUgZXhlY3V0aW9uCj4gZGVzaWduLiAgYWN0dWFsbHkg
+aXQgd2Fzbid0IGV2ZW4gYSBGU00sIGkgdGhpbmsgaGUgdXNlZCB0aGUgdGVybSAiUExBIi4gIGkK
+PiBhbSBnYXJibGluZyBpdCwgaXQgd2FzIGEgeWVhciBhZ28sIHRoZXJlIGFyZSBzb21lIGtleXdv
+cmRzIGkgaGF2ZSBtaXNzZWQKPiBvdXQsIHlvdSBnZXQgdGhlIGlkZWEgdGhvdWdoLgo+IAo+IHdo
+YXQgaSBhbSByZWFsbHkgc2F5aW5nIGlzOiBwbGVhc2UgZG8gc2VyaW91c2x5IGNvbnNpZGVyIHNp
+bXBseSBzdGFsbGluZyBvbgo+IGFueXRoaW5nIHRoYXQgY291bGQgaGF2ZSBhbiBleGNlcHRpb24g
+dGhyb3duLiAgYXJyYW5nZSBmb3IgdGhlIGVudGlyZQo+IHBpcGVsaW5lIHRvIHNpbXBseSBncmlu
+ZCB0byBhIGhhbHQsICpnbG9iYWxseSogZnJlZXppbmcgcmlnaHQgdGhlIHdheSBiYWNrCj4gdG8g
+dGhlIGRlY29kZSBwaGFzZSwgb25seSBwcm9jZWVkaW5nIHdoZW4gaXQgaXMgZ3VhcmFudGVlZCBr
+bm93biwgMTAwJSwKPiB0aGF0IHRoZSBleGNlcHRpb24gd2lsbCBOT1Qgb2NjdXIuCj4gCj4gdGhp
+cyBpcywgYmVsaWV2ZSBpdCBvciBub3QsIGFuIGluZHVzdHJ5LXdpZGUgImFjY2VwdGFibGUiIHRl
+Y2huaXF1ZSBpbiBBTEwKPiBpbi1vcmRlciBkZXNpZ25zLgo+IAo+IGxvb2sgdXAgIm1pbmVydmEg
+cnYzMiIgb24gZ2l0aHViIChpdCBpcyB2ZXJ5IHJlYWRhYmxlIGNvZGUpIGFuZCBncmVwIGl0cwo+
+IHNvdXJjZSBmb3IgdGhlIHdvcmQgInN0YWxsIi4KPiAKPiB5b3Ugd2lsbCBmaW5kIGEgKmNvbWJp
+bmF0b3JpYWwqIGdsb2JhbCBzaWduYWwgcHJvcGFnYXRlcyB0aHJvdWdob3V0ICpldmVyeSoKPiBw
+aXBlbGluZSBzdGFnZSwgaW1wbGVtZW50aW5nIHRoaXMgInN0b3AgdGhlIHdvcmxkIGkgd2FudCB0
+byBnZXQgb2ZmISIKPiBpbmR1c3RyeS13aWRlICJzb2x1dGlvbiIuCj4gCj4gbGl0ZXJhbGx5IGV2
+ZXJ5IGVmZm9ydCB0aGF0IGkgaGF2ZSBzZWVuIHRoYXQgYXR0ZW1wdHMgKm5vdCogdG8gZm9sbG93
+IHRoYXQKPiAic29sdXRpb24iIGZvciBpbm9yZGVyIGRlc2lnbnMgaW52b2x2ZXMgdGhlIHdvcmQg
+ImJ1dCIgYW5kIGl0IGdvZXMgZG93bmhpbGwKPiBmcm9tIHRoZXJlLgo+IAo+IHN1cnByaXNpbmcs
+IGVobj8gOikKClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzIGFuZCB0aGUgcG9pbnRlcnMuICBXZSBk
+byBhbHJlYWR5IGhhdmUgc3RhbGwKc2lnbmFscyBpbiBtaWNyb3dhdHQsIGJ1dCB0aGUgd2F5IGl0
+IHdvcmtzIGlzIHByZXR0eSBzaW1wbGUgc28gZmFyLgpUaGUgcGlwZWxpbmVkLCBpbi1vcmRlciBl
+eGVjdXRpb24gc3RydWN0dXJlIGJhc2ljYWxseSBjb21lcyBmcm9tCkFudG9uJ3MgaW5pdGlhbCB3
+b3JrLCBzbyBJIGRvbid0IHRoaW5rIHdlJ2xsIGJlIHRocm93aW5nIHRoYXQgb3V0LgpXZSB3aWxs
+IGNvbnRpbnVlIHRvIG1ha2UgcmVhZGFiaWxpdHkgYW5kIHVuZGVyc3RhbmRhYmlsaXR5IGEgZm9j
+dXMsCmFuZCBJIGZvciBvbmUgd2lsbCB0cnkgdG8gYWRkIG1vcmUgY29kZSBjb21tZW50cyBhcyBJ
+IHdvcmsgb24gaXQgdG8KbWFrZSBpdCBlYXNpZXIgdG8gZm9sbG93LgoKVGhhbmtzLApQYXVsLgoK
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlz
+Y3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3Jn
+Cmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNj
+di1kZXYK
+