[libre-riscv-dev] microwatt tlb
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 27 Mar 2020 02:15:03 +0000 (02:15 +0000)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Fri, 27 Mar 2020 02:15:28 +0000 (02:15 +0000)
e3/e5fd532687ef914da015849b39680d5ddcd341 [new file with mode: 0644]

diff --git a/e3/e5fd532687ef914da015849b39680d5ddcd341 b/e3/e5fd532687ef914da015849b39680d5ddcd341
new file mode 100644 (file)
index 0000000..f5725e1
--- /dev/null
@@ -0,0 +1,181 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Fri, 27 Mar 2020 02:15:29 +0000
+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 1jHeWu-00086h-Dh; Fri, 27 Mar 2020 02:15:28 +0000
+Received: from lkcl.net ([217.147.94.29])
+ by libre-riscv.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.89) (envelope-from <lkcl@lkcl.net>) id 1jHeWs-00086b-JZ
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 27 Mar 2020 02:15:26 +0000
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
+ s=201607131; 
+ h=Content-Type:Cc:To:Subject:Message-ID:Date:From:MIME-Version;
+ bh=ruTwrgq9UEvaVN7FD1O6dXhgS0hWAExF0LnSr4dzP4I=; 
+ b=MFg96cPIaGDxPTPH4qXxwPVkeNdLe7FASqnGNZHWb4wlGAACXLZnn1m4xZWO4firxWq6LCQHGpitxp535fM8DYy0G109mSdw0vfsErJdY40iIr/ieza25C3RIROp5XQ52ouv0HZiS2PV9S0F4O2FYqSUi/Ajy0Wap0x/1b05xqs=;
+Received: from mail-lf1-f53.google.com ([209.85.167.53])
+ by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jHeWs-0001rs-4E
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 27 Mar 2020 02:15:26 +0000
+Received: by mail-lf1-f53.google.com with SMTP id c5so6602244lfp.5
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Thu, 26 Mar 2020 19:15:09 -0700 (PDT)
+X-Gm-Message-State: AGi0PubQ+T+vZV9iPUBmSug0/TpyMxghb5Agx7DkLtOZSFFXM6E3jpoY
+ CPUYEx34I7o8mSE4TuwulvLC4cH3NORL0uUzIt0=
+X-Google-Smtp-Source: APiQypLYivLUMse20b+aeHtvuMsknJlrvcZDCtCuY+pzIRk5LKzeZf1zarEt4Om3T8YUh+65w8rt/DnkApWOIl4oTbE=
+X-Received: by 2002:ac2:5e70:: with SMTP id a16mr3744672lfr.152.1585275304135; 
+ Thu, 26 Mar 2020 19:15:04 -0700 (PDT)
+MIME-Version: 1.0
+Received: by 2002:ab3:5808:0:0:0:0:0 with HTTP; Thu, 26 Mar 2020 19:15:03
+ -0700 (PDT)
+From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Date: Fri, 27 Mar 2020 02:15:03 +0000
+X-Gmail-Original-Message-ID: <CAPweEDzGri9hXAk5JPhQnLhqNoKD_M3v1yhasNDEtO8=xpz7Cw@mail.gmail.com>
+Message-ID: <CAPweEDzGri9hXAk5JPhQnLhqNoKD_M3v1yhasNDEtO8=xpz7Cw@mail.gmail.com>
+To: openpower-hdl-cores@mailinglist.openpowerfoundation.org
+X-Content-Filtered-By: Mailman/MimeDel 2.1.23
+Subject: [libre-riscv-dev] 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: 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>
+
+aGkgdGhpcyBpcyBmb3IgcGF1bCBtYWNrZXJyYXMgd2hlbiB5b3Ugc2VlIGl0LgoKZ3JlYXQgdG8g
+a25vdyB5b3UncmUgd29ya2luZyBvbiBtaWNyb3dhdHQuIGJlZW4gc3VjaCBhIGxvbmcgdGltZSwg
+YW5kCnJlYWxseSBnb29kIHRvIGVuY291bnRlciB5b3Ugb3ZlciB0aGUgdmlydHVhbCBjb2ZmZWUg
+Y2hhdCBlYXJsaWVyIHRvZGF5LgoKaGVyZSdzIHRoZSBsaW5rIHRvIHRoZSByYWRpeCB3YWxrIGRv
+YyBpIHdhcyB0YWxraW5nIGFib3V0OgpodHRwczovL2dpdGh1Yi5jb20vcG93ZXItZ2VtNS9nZW01
+L2Jsb2IvZ2VtNS1leHBlcmltZW50YWwvc3JjL2FyY2gvcG93ZXIvcmFkaXhfd2Fsa19leGFtcGxl
+LnR4dAoKaXQgaXMgcmVhbGx5IGdvb2QuICBpbXBsZW1lbnRhdGlvbnMgYWxzbyBleGlzdCBpbiB0
+aGUgc2FtZSBjb2RlYmFzZSwgdGhlCmVhc2llc3Qgd2F5IHRvIHRyYWNrIHRoZW0gZG93biBpcyB2
+aWEgdGhlIGNvbW1pdCBsb2dzIGluIHRoZQpnZW01LWV4cGVyaW1lbnRhbCBicmFuY2guCgpmb3Ig
+bGlicmVzb2Mgd2UgcmVhbGx5IHJlYWxseSBuZWVkIGNsZWFyIEhETCB0byAidHJhY2siIGlmIHlv
+dSBrbm93IHdoYXQgaQptZWFuLCBiZWNhdXNlIHNvbWUgb2YgdGhlc2UgYWxnb3JpdGhtcyBhcmUg
+dmVyeSB0aW1lY29uc3VtaW5nIHRvIGltcGxlbWVudApmcm9tIHNjcmF0Y2guCgpwYXVsLCBjb250
+aW51aW5nIHRoZSAoYnJpZWYpIGRpc2N1c3Npb24gc29tZXdoYXQsIGluIGEgcmVsYXRlZCB3YXks
+IGkKcmVhbGx5IHdhbnRlZCB0byBtYWtlIHlvdSBhd2FyZSBvZiB0aGUgaW1wbGljYXRpb25zIGZv
+ciBtaWNyb3dhdHQgb2YgdHJ5aW5nCnRvIG1ha2UgaXQgbXVsdGlzdGFnZSBwaXBlbGluZWQuCgpp
+ZiB5b3UgbG9vayB1cCBqb24gZGF3c29uJ3MgSUVFNzU0IEZQVSBjb2RlIHlvdSBmaW5kIHRoYXQg
+aXQgaXMgZW50aXJlbHkKRlNNIGJhc2VkLiAgYXMgc3VjaCBpdCBpcyBzdXBlcmIgZm9yIGZpdHRp
+bmcgaW4gc21hbGwgRlBHQXMuCgpvdmVyIGEgNiBtb250aCBwZXJpb2QgaSBtb3JwaGVkIGl0IGZy
+b20gaXRzIGh1bWJsZSBiZWdpbm5pbmdzIGludG8gYW4KYWJzb2x1dGUgYmVhc3Qgb2YgYSBmbGV4
+aWJseSByZXByb2dyYW1tYWJsZSBPYmplY3QgT3JpZW50YXRlZCBJRUVFNzU0IEZQCnRvb2xraXQs
+IGNhcGFibGUgb2YgMTYsIDMyIG9yIDY0IGJpdCAoYW5kIGFueXRoaW5nIGVsc2UgeW91IGNhcmUg
+dG8gYWRkKSwKYXJiaXRyYXJ5IHBpcGVsaW5lIGRlcHRoICpvciogRlNNIHN0eWxlIGVuZ2luZXMs
+IFNJTUQgY2FwYWJpbGl0eSwgKmR5bmFtaWMqCnBpcGVsaW5lcywgdGhlIHdvcmtzLiAgSmFjb2Ig
+aGVscGVkIGFkZCBhIGZhbnRhc3RpYyBoeWJyaWQgZnBkaXYsIHNxcnQKKmFuZCogcnNxcnQgZW5n
+aW5lIGFsbCBpbiB0aGUgc2FtZSBwaXBlbGluZS4gIGl0J3Mgbm93IHdlbGwgbm9ydGggb2YgMTAs
+MDAwCmxpbmVzIG9mIHB5dGhvbiBjb2RlIGFuZCB0YWtlcyBhIHdlZWsgdG8gcnVuIGFsbCB0aGUg
+dW5pdCB0ZXN0cy4KCndoYXQgaSBsZWFybmVkIGFsb25nIHRoZSB3YXkgd2FzIHRoYXQgdGhlIEZT
+TSBiYXNlZCBzeXN0ZW1zIHZzIHBpcGVsaW5lCnN5c3RlbXMgdHJhZGUgbG93IGdhdGUgY291bnQg
+YW5kIHNpbXBsaWNpdHkgYW5kIGNvZGUgcmVhZGFiaWxpdHkgZm9yIHNwZWVkLAptdWNoIGhpZ2hl
+ciBnYXRlIGNvdW50LCBhbmQsIHVubGVzcyAqYW5kIGV2ZW4qIGlmIE9PIGRlc2lnbiBpcyB1c2Vk
+LCB0dXJuCmludG8gdGhlIG1vc3QgYXdmdWwgdW5yZWFkYWJsZSB1bm1haW50YWluYWJsZSB0b3Rh
+bCB0cmFzaC4KCnJvY2tldGNoaXAgdW5mb3J0dW5hdGVseSwgZm9yIGFsbCB0aGUgY29tcGFjdG5l
+c3MgYW5kIG90aGVyIGFkdmFudGFnZXMsIGlzCnBhcnRpY3VsYXJseSBiYWQsICpiZWNhdXNlKiBv
+ZiB0aGUgT08gKGFuZCB0b3RhbCBsYWNrIG9mIGNvZGUgY29tbWVudHMpLgp0aGUgT08gaGllcmFy
+Y2h5IG1ha2VzIGl0IGZsYXQtb3V0IGltcG9zc2libGUgZm9yIGFueW9uZSBidXQgaXRzIG9yaWdp
+bmFsCmNyZWF0b3JzIHRvIHdvcmsgd2l0aC4gIChzb21ldGhpbmcgdG8gYWxlcnQgdGhlIGNoaXNl
+bHdhdHQgdGVhbSBvbiwgdGhlcmUsCmFsdGhvdWdoIGZyb20gd2hhdCBpIGhhdmUgc2VlbiwgdGhl
+IGNvZGUgY29tbWVudHMgaW4gY2hpc2Vsd2F0dCBhcmUgZGFtbgpnb29kKS4KCmFuZCB5ZXQgaWYg
+eW91IGV2ZW4gcmVtb3RlbHkgdHJ5IGFueXRoaW5nIGxpa2UgbW9kZXJuIE9PIHByb2dyYW1taW5n
+IGRlc2lnbgpzdHJhdGVnaWVzIGFuZCB0ZWN1bmlxdWVzIHdpdGggdGhlc2UgMTk4MHMgZXJhIGxh
+bmd1YWdlcyAoSERMLCBWZXJpbG9nKSB5b3UKaW1tZWRpYXRlbHkgYWxzbyBydW4gaW50byBzZXJp
+b3VzIGRpZmZpY3VsdGllcyBvZiBhIGRpZmZlcmVudCBraW5kLCB3aGljaCBpCndvbid0IGdvIGlu
+dG8sIHJpZ2h0IG5vdy4KCnRoZSBib3R0b20gbGluZSBpczogYWRkaW5nIGV4dHJhIHBpcGVsaW5l
+IHN0YWdlcyB0byBtaWNyb3dhdHQgbm90IG9ubHkKY29tcGxpY2F0ZXMgaXQgYW5kIG1ha2VzIGl0
+IHVucmVhZGFibGUgYW5kIHVubWFpbnRhaW5hYmxlLCBpdCBpbmNyZWFzZXMgdGhlCm51bWJlciBv
+ZiBMVVRzIHJlcXVpcmVkIHRvIHRoZSBwb250IHdoZXJlIHlvdSB3aWxsIG5lZWQgdG8gY2FsbCBp
+dCAid2F0dCIKb3IgIm1lZ2F3YXR0IgoKOikKCnJlZ2FyZGluZyBleGNlcHRpb25zIGFuZCB0cmFw
+czogZm9yIGluLW9yZGVyIHBpcGVsaW5lZCBzeXN0ZW1zIHRoZXNlIGFyZSBhCmRhbW4gbnVpc2Fu
+Y2UuCgpldmVyeSBzb2x1dGlvbiB0byBldmVyeSBwcm9ibGVtIGluIGFuIGlub3JkZXIgc3lzdGVt
+IGlzOgoKc3RhbGwuCgp0aGF0J3MgaXQuCgphZnRlciBsZWFybmluZyBhYm91dCB0aGUgQ0RDNjYw
+MCwgd2hpY2ggaXMgYSBkZWVwbHkgaW1wcmVzc2l2ZSBkZXNpZ24gdGhhdAp0YWtlcyBsaXRlcmFs
+bHkgbW9udGhzIHRvIGJlZ2luIHRvIGNvbXByZWhlbmQsIGkgZGlzbGlrZSBpbm9yZGVyIHN5c3Rl
+bXMKaW50ZW5zZWx5LgoKdGhlIGtleSB0aGluZyB0aGF0IGkgbGVhcm5lZCBmcm9tIE1pdGNoIEFs
+c3VwIGFib3V0IGhvdyB0byBoYW5kbGUKZXhjZXB0aW9ucyBpczogeW91ICptdXN0KiBwcmV2ZW50
+IHRoZSBBTFUgKG9yIHdoYXRldmVyKSBmcm9tICJjb21taXR0aW5nIgppdHMgcmVzdWx0IHVudGls
+IGl0IGlzIEdVQVJBTlRFRUQga25vd24gdGhhdCB0aGUgZXhjZXB0aW9uIHdpbGwgbm90IG9jY3Vy
+LgoKdGhhdCBpcyB0aGUgYWJzb2x1dGUgY29yZSBjb25jZXB0IG9mIGV4Y2VwdGlvbnMgKGFrYSBp
+bnRlcnJ1cHRzKSwgeW91IE1VU1QKYWNoaWV2ZSwgaW4gc29tZSBmdW5kYW1lbnRhbCB3YXkuCgp0
+aGlzIGlzIGRvbmUgaW4gYW4gT29PIGRlc2lnbiBieSBtYXJraW5nIGFuZCB0cmFja2luZyB0aGUg
+b3BlcmF0aW9uIC0gYWxsCnRoZSB3YXkgZG93biB0aGUgcGlwZWxpbmUgLSB3aXRoICJjYW5jZWxs
+YXRpb24gbWFza3MiIChhIGdsb2JhbCBJRCB3aGljaAp0cmF2ZWxzICp3aXRoKiB0aGUgcGFydGlh
+bCByZXN1bHQgZGF0YSwgZG93biBhIGdpdmVuIHBpcGVsaW5lKQoKdGhpcyBpcyBrbm93biBhcyAi
+c2hhZG93aW5nIiwgYW5kIGl0IGlzIG5vdCBvbmx5IHRoZSBvcGVyYXRpb24gdGhhdCAqbWlnaHQq
+CmJlIGNhbmNlbGxlZCB0aGF0IGhhcyB0byBiZSAic2hhZG93bWFya2VkIiwgaXQgaXMgKmFsbCBm
+b2xsb3dpbmcKaW5zdHJ1Y3Rpb25zIGFzIHdlbGwqIChoZW5jZSB0aGUgdGVybSAic2hhZG93Iiku
+CgpzaGFkb3dlZCBvcGVyYXRpb25zIGFyZSByZWFsIGVhc3kgdG8gY2FuY2VsOiBwdWxsIHRoZSAi
+Y2FuY2VsIiB3aXJlIHVwLCBhbmUKZXZlcnl0aGluZyB3aXRoIHRoZSByZXF1aXNpdGUgbWFzayBJ
+RCBnZXRzIGEgZ2xvYmFsIHNpZ25hbCAid2hvb3BzIHdlIG5vCmxvbmdlciBuZWVkIHRvIHBhc3Mg
+dGhpcyBkb3duIHRoZSBwaXBlbGluZSwgZHJvcCBpdCBvbiB0aGUgZmxvb3IiLgoKd2l0aCBhbGwg
+ImZ1dHVyZSIgcGFydGlhbCAoYW5kIGNvbXBsZXRlZCBidXQgbm9uY29tbWl0dGVkKSByZXN1bHRz
+IG5vdwpraWxsZWQsIHRoZSBQQyBjYW4gc2FmZWx5IGJlIHJlZGlyZWN0ZWQgYXQgdGhlIGV4Y2Vw
+dGlvbiwgaW50ZXJydXB0LCBvciB0aGUKYWx0ZXJuYXRpdmUgYnJhbmNoLCBvciB3aGF0ZXZlcjog
+dGhlc2UgYWxsIHVzZSAqZXhhY3RseSogdGhlIHNhbWUgc2hhZG93aW5nCnRlY2huaXF1ZS4KCnlv
+dSBzdGFydCB0byBzZWUgd2h5IHRoZSBtYWpvcml0eSBvZiBpbm9yZGVyIHN5c3RlbXMgdXNlICJz
+dGFsbCBzdGFsbCBzdGFsbApzdGFsbCBzdGFsbCIgYXMgdGhlIGJlLWFsbCBhbmQgZW5kLWFsbCAi
+b25ubmUgYW5kIG9ubHkgdHJ1ZSBzb2x1dGlvbiIsCmhlcmU/IFsgaGFsbGVsdWphaCwgcHJhaXNl
+IHRoZSBzdGFsbC4uLiBdIDopCgpiYXNpY2FsbHkgaWYgaSBoYXZlIGRpc2NvdXJhZ2VkIHlvdSBm
+cm9tIHB1cnN1aW5nIHRoZSBwYXRoIG9mIGFkZGluZwptdWx0aXBsZSBwaXBlbGluZSBzdGFnZXMg
+dG8gbWljcm93YXR0LCB0aGVuIGkgaGF2ZSBzdWNjZWVkZWQgaW4gd2hhdCBpIHNldApvdXQgdG8g
+ZXhwbGFpbi4gIGJlY2F1c2UgbWljcm93YXR0J3MgdmFsdWUgaXMgbm90IGp1c3QgaXRzIHNtYWxs
+IGNvZGUgc2l6ZSwKaXRzIHJlYWRhYmlsaXR5IGFuZCBjb21wYWN0bmVzcyBtYWtlcyBpdCBhbiBp
+ZGVhbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24KKmFuZCosIGZ1cnRoZXJtb3JlLCBpdHMgY29t
+cGxldGUgbGFjayBvZiBvcHRpbWlzYXRpb24gbm9ybWFsbHkgc2VlbiBpbgoic2ltcGxlIiBwaXBl
+bGluZWQgZGVzaWducyBhY3R1YWxseSBzYXZlcyBvbiBnYXRlcyAvIEZQR0EgcmVzb3VyY2VzLgoK
+dGhlIG1vbWVudCB5b3UgYWRkIGV4dHJhIHN0YWdlcywgYWxsIHRoYXQgZ29lcyBvdXQgdGhlIHdp
+bmRvdy4KCmFuIGFzc29jaWF0ZSBhbmQgY29udHJpYnV0b3Igb24gb3VyIGxpc3QsIFNhbXVlbCBG
+YWx2bywgdGF1Z2h0IG1lIHNvbWUKYXdlc29tZSB0cmlja3MuCgpoaXMgQ1BVcyBhcmUgaW5jcmVk
+aWJsZSwgZGVzaWduZWQgaW4gdGhlIG1vc3QgYW1hemluZyBlbGVnYW50IGFuZCB1bnVzdWFsCndh
+eXMuICBoZSB3cm90ZSBoaXMgb3duIFBMQSBzdHlsZSAibGFuZ3VhZ2UiICh3cml0dGVuIGluIGxp
+c3ApIHdoaWNoIHRha2VzCnNwZWNpZmljYXRpb25zIChpbiBsaXNwIGxpc3RzKSBmb3IgZnVuY3Rp
+b25hbGl0eSBhbmQgKmdlbmVyYXRlcyogVkhETApjb21iaW5hdG9yaWFsIGJsb2Nrcy4KCmhlIHVz
+ZWQgdGhpcyB0b29sIHRvIGNyZWF0ZSBhIDY1MDItbGlrZSBwcm9jZXNzb3Igd2l0aCB2aXJ0dWFs
+bHkgbm8KbWFudWFsbHkgd3JpdHRlbiBnbHVlIGxvZ2ljIChldmVuIHRoZSBkZWNvZGVyIHdhcyB3
+cml0dGVuIGluIHRoaXMgc2ltcGxlCnNwZWNpZmljYXRpb24pLCB0aGF0IGVhc2lseSBmaXRzIGlu
+dG8gYW4gdWx0cmEgbG93IGNvc3QgSUNFNDAgeWV0IGhhcwptYXNzaXZlIGFtb3VudHMgb2Ygcm9v
+bSB0byBzcGFyZSBmb3IgcGVyaXBoZXJhbHMuCgp0aGUga2V5IHRvIHRoZSBzdWNjZXNzIG9mIHRo
+aXMgYXBwcm9hY2ggd2FzIHRoZSBoZWF2eSB0cmFkZW9mZiBvZiAqbm90Kgp1c2luZyBwaXBlbGlu
+ZSBzdGFnZXMsIGJ1dCBlZmZlY3RpdmVseSBkb2luZyBhIEZTTSBzdHlsZSBlbnRpcmUgZXhlY3V0
+aW9uCmRlc2lnbi4gIGFjdHVhbGx5IGl0IHdhc24ndCBldmVuIGEgRlNNLCBpIHRoaW5rIGhlIHVz
+ZWQgdGhlIHRlcm0gIlBMQSIuICBpCmFtIGdhcmJsaW5nIGl0LCBpdCB3YXMgYSB5ZWFyIGFnbywg
+dGhlcmUgYXJlIHNvbWUga2V5d29yZHMgaSBoYXZlIG1pc3NlZApvdXQsIHlvdSBnZXQgdGhlIGlk
+ZWEgdGhvdWdoLgoKd2hhdCBpIGFtIHJlYWxseSBzYXlpbmcgaXM6IHBsZWFzZSBkbyBzZXJpb3Vz
+bHkgY29uc2lkZXIgc2ltcGx5IHN0YWxsaW5nIG9uCmFueXRoaW5nIHRoYXQgY291bGQgaGF2ZSBh
+biBleGNlcHRpb24gdGhyb3duLiAgYXJyYW5nZSBmb3IgdGhlIGVudGlyZQpwaXBlbGluZSB0byBz
+aW1wbHkgZ3JpbmQgdG8gYSBoYWx0LCAqZ2xvYmFsbHkqIGZyZWV6aW5nIHJpZ2h0IHRoZSB3YXkg
+YmFjawp0byB0aGUgZGVjb2RlIHBoYXNlLCBvbmx5IHByb2NlZWRpbmcgd2hlbiBpdCBpcyBndWFy
+YW50ZWVkIGtub3duLCAxMDAlLAp0aGF0IHRoZSBleGNlcHRpb24gd2lsbCBOT1Qgb2NjdXIuCgp0
+aGlzIGlzLCBiZWxpZXZlIGl0IG9yIG5vdCwgYW4gaW5kdXN0cnktd2lkZSAiYWNjZXB0YWJsZSIg
+dGVjaG5pcXVlIGluIEFMTAppbi1vcmRlciBkZXNpZ25zLgoKbG9vayB1cCAibWluZXJ2YSBydjMy
+IiBvbiBnaXRodWIgKGl0IGlzIHZlcnkgcmVhZGFibGUgY29kZSkgYW5kIGdyZXAgaXRzCnNvdXJj
+ZSBmb3IgdGhlIHdvcmQgInN0YWxsIi4KCnlvdSB3aWxsIGZpbmQgYSAqY29tYmluYXRvcmlhbCog
+Z2xvYmFsIHNpZ25hbCBwcm9wYWdhdGVzIHRocm91Z2hvdXQgKmV2ZXJ5KgpwaXBlbGluZSBzdGFn
+ZSwgaW1wbGVtZW50aW5nIHRoaXMgInN0b3AgdGhlIHdvcmxkIGkgd2FudCB0byBnZXQgb2ZmISIK
+aW5kdXN0cnktd2lkZSAic29sdXRpb24iLgoKbGl0ZXJhbGx5IGV2ZXJ5IGVmZm9ydCB0aGF0IGkg
+aGF2ZSBzZWVuIHRoYXQgYXR0ZW1wdHMgKm5vdCogdG8gZm9sbG93IHRoYXQKInNvbHV0aW9uIiBm
+b3IgaW5vcmRlciBkZXNpZ25zIGludm9sdmVzIHRoZSB3b3JkICJidXQiIGFuZCBpdCBnb2VzIGRv
+d25oaWxsCmZyb20gdGhlcmUuCgpzdXJwcmlzaW5nLCBlaG4/IDopCgpsLgoKCgotLSAKLS0tCmNy
+b3dkLWZ1bmRlZCBlY28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93ZHN1cHBs
+eS5jb20vZW9tYTY4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+X19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxp
+YnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGlu
+Zm8vbGlicmUtcmlzY3YtZGV2Cg==
+