From: Luke Kenneth Casson Leighton Date: Wed, 13 May 2020 09:11:44 +0000 (+0100) Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] little-endian only power cores and spec... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c36a3ec6aa8f4168b4c2bc5998bc2327b02873f7;p=libre-riscv-dev.git Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] little-endian only power cores and spec compliance --- diff --git a/d6/c7e949db5a5830349da1f80af5ae5b2399eb13 b/d6/c7e949db5a5830349da1f80af5ae5b2399eb13 new file mode 100644 index 0000000..3887cb0 --- /dev/null +++ b/d6/c7e949db5a5830349da1f80af5ae5b2399eb13 @@ -0,0 +1,187 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Wed, 13 May 2020 10:12:20 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.89) + (envelope-from ) + id 1jYnR5-0006ZW-NN; Wed, 13 May 2020 10:12:19 +0100 +Received: from lkcl.net ([217.147.94.29]) + by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.89) (envelope-from ) id 1jYnR3-0006ZL-Tc + for libre-riscv-dev@lists.libre-riscv.org; Wed, 13 May 2020 10:12:17 +0100 +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:In-Reply-To:References:MIME-Version; + bh=asmlH9bYOyuBeNI3WTQESEGGOM+N6vt4F8m6RZyMLEo=; + b=ipgakK3eOKBl45zdc21Y7K4wtAqRSVyIEHq1cO5Sgu6Petvh2LsJYzt6qP8T612/fCDCtW6I5Wf4rjUUD07s3m0GrCiJfjt1crbKtQXV0AcTM/Ewc7SVgEN2IEA9u4YqDjbqsdFPIsW1Nz2Vpq7qCFqpRIAJCbdD0sOY/2dCaBo=; +Received: from mail-lf1-f42.google.com ([209.85.167.42]) + by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.84_2) (envelope-from ) id 1jYnR3-00075L-AA + for libre-riscv-dev@lists.libre-riscv.org; Wed, 13 May 2020 09:12:17 +0000 +Received: by mail-lf1-f42.google.com with SMTP id v5so8892659lfp.13 + for ; + Wed, 13 May 2020 02:12:02 -0700 (PDT) +X-Gm-Message-State: AOAM530U+FHkW2yKM+LLPjUp62TwKo61E+++tp5ENARi1JBtU7t/qqwX + s9Eo8oLx6uSiDpDZrXEXljZqf1yyzQvA/x0MDRc= +X-Google-Smtp-Source: ABdhPJxoYcOvgZ1IrZ6HHeXmQnJnZwjqp/Q+UjYwYMuMWies5kTmZKp/XxW0Y42d3AbdOBI9oYbQue8MAFBT3eMUy50= +X-Received: by 2002:a19:e52:: with SMTP id 79mr17557689lfo.32.1589361116391; + Wed, 13 May 2020 02:11:56 -0700 (PDT) +MIME-Version: 1.0 +References: + + +In-Reply-To: +From: Luke Kenneth Casson Leighton +Date: Wed, 13 May 2020 10:11:44 +0100 +X-Gmail-Original-Message-ID: +Message-ID: +To: Benjamin Herrenschmidt +Subject: Re: [libre-riscv-dev] [OpenPOWER-HDL-Cores] little-endian only + power cores and spec compliance +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 + +Cc: openpower-hdl-cores@mailinglist.openpowerfoundation.org, + 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" + +LS0tCmNyb3dkLWZ1bmRlZCBlY28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93 +ZHN1cHBseS5jb20vZW9tYTY4CgpPbiBXZWQsIE1heSAxMywgMjAyMCBhdCA3OjAxIEFNIEJlbmph +bWluIEhlcnJlbnNjaG1pZHQgPGJlbmhAb3psYWJzLm9yZz4gd3JvdGU6Cj4KPiBPbiBXZWQsIDIw +MjAtMDUtMTMgYXQgMTE6MjIgKzEwMDAsIEh1Z2ggQmxlbWluZ3Mgd3JvdGU6Cj4gPiBIaSBBbGws +Cj4gPiBJJ20gYmFyZWx5IHF1YWxpZmllZCB0byBhZGQgbXVjaCBtb3JlIHRoYW4gJDAuMjAgdG8g +dGhpcyB0aHJlYWQsIGJ1dAo+ID4gd2lsbCBnaXZlIGl0IGEgd2hpcmwuLi4KPiA+IEkndmUgbm90 +IGhhZCBhIGNoYW5jZSB0byBkaWcgaW50byB0aGUgdjMuMSBzcGVjIGFzIHlldCBidXQgY2FuIG9m +ZmVyCj4gPiB0aGUgb2JzZXJ2YXRpb24gdGhhdCB0aGUgaW50ZW50IChhcyBkZW1vbnN0cmF0ZWQg +aW4gdGhlIE1pY3Jvd2F0dAo+ID4gaW1wbGVtZW50YXRpb24gZm9yIGV4YW1wbGUpIHdhcyB0aGF0 +IHRoZSBzaW1wbGVyL3NpbXBsZXN0Cj4gPiBpbXBsZW1lbnRhdGlvbnMgd291bGQgYmUgTEUgd2l0 +aCBCRSBvcHRpb25hbC4KCnllcy4gIHRoaXMgd2FzIHRoZSB0YWtlLWF3YXkgaSBnb3QgZnJvbSBy +ZWFkaW5nIGl0LiAgdGhlIHN1bW1hcmllcwp3ZXJlIGFzIGZvbGxvd3M6CgoqIEFJWCBQbGF0Zm9y +bSAtIFBPV0VSOSBhbmQgYWJvdmUKCiAgIG11c3Qgc3VwcG9ydCA2NCBhbmQgMzIgYml0CiAgIG11 +c3Qgc3VwcG9ydCBMRSBhbmQgQkUKCiogVU5JWCBQbGF0Zm9ybSAtIChpIGNhbGwgaXQgVU5JWCBi +ZWNhdXNlIFJUT1NlcyBhbmQgTDRLYSBhcmUgbm90CiJMaW51eCIpIC0gKmFsc28gUE9XRVI5IGFu +ZCBhYm92ZSoKCiAgIG11c3Qgc3VwcG9ydCA2NCBiaXQgKDMyLWJpdCBwcm9iYWJseSBvcHRpb25h +bCwgbm90IGV4cGxpY2l0eSBzdGF0ZWQpCiAgIG11c3Qgc3VwcG9ydCBMRSAoQkUgZXhwbGljaXR5 +IHN0YXRlZCBhcyBvcHRpb25hbCkKCiogU0ZGUyAtIGJhc2ljYWxseSB0aGlzIHJlY29nbmlzZXMg +YW5kIGdpdmVzIHNwYWNlIHRvIHRoZSBOWFAgUXVvcmxRCnNlcmllcyAod2hpY2ggaXMgVjIuMDdC +KD8pIGNvbXBsaWFudCkKCiAgbXVzdCBzdXBwb3J0IDMyLWJpdCAoNjQtYml0IG9wdGlvbmFsLCBl +eHBsaWNpdGx5IHN0YXRlZCkKICBtdXN0IHN1cHBvcnQgQkUgKExFIGV4cGxpY2l0eSBzdGF0ZWQg +YXMgb3B0aW9uYWwpCgoqIFNGUyAtIGJhc2ljYWxseSB0aGlzIHJlY29nbmlzZXMgYW5kIGdpdmVz +IHNwYWNlIHRvIHRoZSBOWFAgTUM1eHh4CjMyLWJpdCBlbWJlZGRlZCBzZXJpZXMKCiAgbXVzdCBz +dXBwb3J0IDMyLWJpdCAoNjQtYml0IG9wdGlvbmFsLCBleHBsaWNpdGx5IHN0YXRlZCkKICBtdXN0 +IHN1cHBvcnQgQkUgKExFIGV4cGxpY2l0eSBzdGF0ZWQgYXMgb3B0aW9uYWwpCgoKbm90ZSB0aGF0 +ICpvbmx5IFBPV0VSOSogbWVldHMgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgQUlYIGFuZCBVTklY +CnBsYXRmb3Jtcy4gIG1pY3Jvd2F0dCwgYnkgYmVpbmcgYSBMRS1vbmx5IGFuZCBub24tVk1YL1ZT +WCBwcm9jZXNzb3IsCmRvZXMgbm90IGZhbGwgaW50byAqYW55KiBDb21wbGlhbmNlIENhdGVnb3J5 +LgoKdGhpcyBwdXRzIG1pY3Jvd2F0dCBmaXJtbHkgaW50byAiY3VzdG9tLWJ1aWx0IGRpc3RybyIg +dGVycml0b3J5LiAgb3VyCmRlc2lnbiBsaWtld2lzZSAtIGV2ZW4gdGhvdWdoIGl0IHdpbGwgaGF2 +ZSAzRCBhbmQgVlBVIFZlY3RvcgpjYXBhYmlsaXR5IC0gd2lsbCAqc3RpbGwqIGJlIGluICJjdXN0 +b20gZGlzdHJvIiB0ZXJyaXRvcnksIHdoaWNoIGlzIGEKbWFzc2l2ZSBidXJkZW4gb24gY3VzdG9t +ZXJzIGFuZCBlbmQtdXNlcnMuCgp3aXRoIHRoZSBwcm9kdWN0IGludGVuZGVkIGZvciBtYXNzLXBy +b2R1Y3Rpb24sIHRoYXQgbWVhbnMgaXQnbGwgZW5kIHVwCndpdGggIlJhc2JpYW4iIGNvbW11bml0 +eS1kcml2ZW4gZGlzdHJvcyBiZWluZyBjcmVhdGVkLiAoUmFzYmlhbiB3YXMgLQphbmQgaXMgLSBh +IGRhbW4gbnVpc2FuY2UuICB0aGUgb3JpZ2luYWwgQnJvYWRjb20gcHJvY2Vzc29yIHVzZWQgaW4g +dGhlClBpIHYxIHdhcyBuZWl0aGVyIGFybWVsIG5vciBhcm12NzogY29uc2VxdWVudGx5IGl0IGhh +ZCB0byBoYXZlIGl0cyBvd24KY29tcGxldGUgYW5kIHRvdGFsIHJlY29tcGlsZWQgRGViaWFuIGRp +c3RybywgYW5ub3lpbmcgdGhlIGhlbGwgb3V0IG9mCnRoZSBEZWJpYW4gQ29tbXVuaXR5IGR1ZSB0 +byB0aGUgbWlzLWZpbGVkIGJ1Z3JlcG9ydHMgYW5kCm1pc2NhdGVnb3Jpc2VkIC0gdW5wYWlkIC0g +ZW5kLXVzZXIgc3VwcG9ydCByZXF1ZXN0cykKCm5vdywgZm9yIEFuZHJvaWQtYmFzZWQgcHJvZHVj +dHMgYW5kIENocm9tZWJvb2stYmFzZWQgcHJvZHVjdHMgKnRoaXMgaXMKbm90IGEgcHJvYmxlbSou +ICBBbmRyb2lkIGFuZCBjaHJvbWVib29rIHByb2R1Y3RzIGFsd2F5cwpjdXN0b20tcmVjb21waWxl +IHRoZSBlbnRpcmUgYmluYXJpZXMgZnJvbSBzb3VyY2UgYW55d2F5LgoKYnV0IGZvciBkaXN0cm9z +PyBkZWJpYW4/IGZlZG9yYT8gIGFzIHRoaW5ncyBzdGFuZCwgd2UncmUgZXhjbHVkZWQgLQphbmQg +c28gaXMgbWljcm93YXR0LiAgbWljcm93YXR0IGFzIGl0IHN0YW5kcyBjYW5ub3QgcnVuICplaXRo +ZXIqIHRoZQpwcGMzMiBkZWJpYW4gZGlzdHJvICpvciogcHBjNjRsZSBkaXN0cm8gYmluYXJpZXMu +Cgp0aGF0IGV4Y2x1c2lvbiAtIGJlaW5nIHVuYWJsZSB0byBydW4gc3RhbmRhcmQgZGViaWFuIG9y +IGZlZG9yYSBkaXN0cm9zCi0gaW4gdHVybiBtYWtlcyBjb21tdW5pdHkgZ3Jhc3Mtcm9vdHMgZGV2 +ZWxvcG1lbnQgYWxtb3N0IGltcG9zc2libGUgdG8Ka2ljay1zdGFydCBhIHRocml2aW5nIGNvbW11 +bml0eSBhbmQga25vd2xlZGdlYWJsZSB1c2VyLWJhc2UuCgoKPiA+ICBTSU1EIGFsc28gb3B0aW9u +YWwgaW4gdGhlc2UgYXMgd2VsbC4KCnVuZm9ydHVuYXRlbHkgdGhhdCB3YXMgbGVmdCBvdXQ6IG9u +bHkgdGhlIFNGRlMgYW5kIFNGUyBzdWJzZXRzCihpbnRlbmRlZCBwcmltYXJpbHkgdG8gYmUgMzIt +Yml0IEJFKSBhcmUgcGVybWl0dGVkIHRvIGhhdmUgU0lNRCAoVk1YCmFuZCBWU1gpIG9wdGlvbmFs +LgoKaXQgbWVhbnMgdGhhdCB3ZSAoYW5kIG1pY3Jvd2F0dCwgYW5kIGFueSBvdGhlciBuZXcgcHJv +Y2Vzc29yIGRlc2lnbmVyKQpoYXZlIGEgd2hvcHBpbmcgNjAwIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rp +b25zIHRvIGFkZCAoaW4gYWRkaXRpb24gdG8gdGhlCmFwcHgtMzgwKSwgd2l0aCBhIGZ1bGwgVmVj +dG9yIEVuZ2luZSBpZiB0aGV5ICh3ZSkgd291bGQgbGlrZSB0aGVpcgpwcm9kdWN0IHRvIHRha2Ug +YWR2YW50YWdlIG9mIHRoZSB0aW1lIGFuZCBlZmZvcnQgc2F2ZWQgYnkgYXZhaWxhYmlsaXR5Cm9m +IGRpc3RybyBwcmUtY29tcGlsZWQgYmluYXJpZXMgKEZlZG9yYSwgRGViaWFuKS4KCnRoaXMgaXMg +YSB2ZXJ5IGhpZ2ggdGhyZXNob2xkLCB3aGljaCwgd29ya2luZyB0aHJvdWdoIHRoZQppbXBsaWNh +dGlvbnMsIHdvdWxkIHNpbXBseSBoYXZlIHF1aXRlIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mCm90 +aGVyd2lzZSBpbnRlcmVzdGVkIHBhcnRpZXMgaW4gUE9XRVIgZnJvbSBwdXJzdWluZyBvdGhlciBv +cHRpb25zLgp0aGUgZXh0cmEgcmVnaXN0ZXIgZmlsZSAoVmVjdG9yIFJlZ2ZpbGUgaXMgc2VwYXJh +dGUpIGFsb25lIHdpbGwgYmUKZW5vdWdoIHRvIG1ha2UgdGhlbSB0aGluayB0d2ljZS4KCmlmIHlv +dSBhbHJlYWR5ICpoYXZlKiBWU1ggYW5kIFZNWCBpbXBsZW1lbnRlZCwgaXQgaXMgcGVyZmVjdGx5 +CnJlYXNvbmFibGUgdG8gaGF2ZSBpdCBvbiB0aGUgQUlYIGFuZCBVTklYIFBsYXRmb3Jtcy4gIGhv +d2V2ZXIgZm9yIGEKbmV3IGVudHJhbnQ/CgoKPiBUaGUgbWFpbiBkaWZmaWN1bHR5IGlzIHRoYXQg +aW4gcHJhY3RpY2UsIGEgcG93ZXJwYzY0bGUgdG9vbGNoYWluIHdpbGwKPiBnZW5lcmF0ZSBjb2Rl +IHdpdGggYm90aCBGUCBhbmQgU0lNRCBpbnN0cnVjdGlvbnMuIEkgZG9uJ3QgdGhpbmsgaXQncwo+ +IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgZnVsbHkgc29mdC1mbG9hdCBvbmUgYW5kIGV2ZW4gaWYg +eW91IG1hbmFnZWQKPiB3aXRoIGdjYywgZ2xpYmMgc29tZXdoYXQgYXNzdW1lcyBpdCB0b28uIEF0 +IGxlYXN0IGZyb20gbWVtb3J5LgoKYSBzb2x1dGlvbiBleGlzdHMgKGl0IGludm9sdmVzIG1vZGlm +aWNhdGlvbnMgdG8gZ2NjLCBiaW51dGlscyBhbmQgZ2xpYmMpLgoKdGhlIFJJU0MtViBGb3VuZGF0 +aW9uIG1lbWJlcnMgaGF2ZSBiZWVuIHdvcmtpbmcgb24gc3VwcG9ydCBmb3IKbXVsdGlwbGUtY29t +cGlsYXRpb25zIG9mIGZ1bmN0aW9ucyAtIHRoZSBleGFjdCBzYW1lIGZ1bmN0aW9uIC0KY29tcGls +ZWQgbXVsdGlwbGUgdGltZXMgYW5kIHRoZSByZXN1bHRhbnQgYXNzZW1ibHkgY29kZSBpbnNlcnRl +ZCB1bmRlcgp0aGUgKnNhbWUgZnVuY3Rpb24gbmFtZSogaW50byB0aGUgb2JqZWN0IGZpbGUsIHdp +dGggc3VmZmljaWVudAptZXRhZGF0YSB0byBiZSBhYmxlIHRvIGRpc2Nlcm4gaXQgZnJvbSAiZnVu +Y3Rpb25zLXdpdGgtdGhlLXNhbWUtbmFtZSIuCgoodGhpcyBpIHNwZWNpZmljYWxseSBtZW50aW9u +IGJlY2F1c2UgaXQgaXMgbm90IGEgbmV3IGZvcm0gb2YgYysrCm5hbWUtbWFuZ2xpbmcgYmVpbmcg +ZGVwbG95ZWQsIGhlcmUpCgp3aGF0IHRoZW4gaGFwcGVucyBhdCBkeW5hbWljIGxpbmsgdGltZSBp +cyB0aGlzOgoKKiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBwcm9jZXNzb3IgYXJlIGRldGVjdGVk +CiogdGhlIGV4aXN0ZW5jZSBvZiB0d28gKG9yIG1vcmUpIHZlcnNpb25zIG9mIHRoZSBzYW1lIGR5 +bmFtaWMtbGlua2VkCmZ1bmN0aW9uIGlzIG5vdGVkCiogdGhlICpDT1JSRUNUIEFORCBSRVFVSVJF +RCogdmVyc2lvbiBvZiB0aGF0IGZ1bmN0aW9uIGFjY29yZGluZyB0byB0aGUKKmhhcmR3YXJlKiBj +YXBhYmlsaXRpZXMgaXMgc2VsZWN0ZWQgKmR5bmFtaWNhbGx5Ki4KCnRoaXMgaW5jbHVkZXMgZGVm +aW5pbmcgKm5ldyBBQklzKiBzdWl0YWJsZSBmb3IgZWFjaCB0eXBlIG9mICJoYXJkd2FyZQpjYXBh +YmlsaXR5Ii4gIHNvIGZvciBleGFtcGxlIGZvciBSSVNDLVYgVmVjdG9ycywgdGhleSBhcmUgZGVm +aW5pbmcgYQpuZXcgZ2xpYmM2IEFCSSBmb3IgdmVjdG9ycy4uLgoKLi4uICphbmQgY29tcGlsaW5n +IGZ1bmN0aW9ucyB0d2ljZSAtIG9uY2UgdG8gY29uZm9ybSB0byB0aGUgVmVjdG9yIEFCSQphbmQg +b25jZSB0byBjb25mb3JtIHRvIHRoZSBzdGFuZGFyZCBzY2FsYXIgQUJJKi4KCnRodXMgd2hlbiBp +dCBjb21lcyB0byAid2hvIG11c3Qgd2luIiB0aGlzIGlzIG5vdyBlbnRpcmVseSBtb290OgpldmVy +eW9uZSBjYW4gYmUgaGFwcHkuCgpRdWVzdGlvbnM6CgoxKSBkb2VzIHRoZSBleGVjdXRhYmxlIHNp +emUgaW5jcmVhc2U/ICB5ZXMgb2YgY291cnNlLgoKMikgaXMgaXQgdGhlIHNhbWUgYXMgbXVsdGls +aWI/ICBob25lc3RseSBpIGFtIG5vdCBzdXJlIHRoYXQgaXQgaXMuCm9yLCBpZiBpdCBpcywgaXQn +cyB0aGUgbWVjaGFuaXNtICpiZWhpbmQqIG11bHRpbGliLgoKCj4gSWYgT3BlblBvd2VyIHdhbnRz +IHRvIGdvIGRvd24gYSBwYXRoIG1vcmUgc2ltaWxhciB0byBSaXNjViBoZXJlIGFuZAo+IHN1cHBv +cnQgc21hbGwoZXIpIGltcGxlbWVudGF0aW9ucywgaXQncyBuZWNlc3NhcnkgdG8gc3RvcCBoYXZp +bmcgdGhlCj4gdG9vbGNoYWluIGVuZ2luZWVycyBwdXNoIGZvciBvbmx5IHN1cHBvcnRpbmcgdGhl +IGxhdGVzdC9ncmVhdGVzdCBJQk0KPiBzZXJ2ZXIgQ1BVcyA6LSkKCmkgY2FuIHVuZGVyc3RhbmQg +d2h5IHRoZXkgd291bGQgd2FudCB0byBhZHZvY2F0ZSB0aGF0IDopCnVuZm9ydHVuYXRlbHksIGFz +IHlvdSBwb2ludCBvdXQsIGl0IGV4Y2x1ZGVzICJzaW1wbGVyIiBlbnRyYW50cywgYW5kLAp3b3Jz +ZSwgZXhjbHVkZXMgZW50cmFudHMgdG8gbWFya2V0cyB0aGF0ICpQT1dFUjkgaXMgbmV2ZXIgZ29p +bmcgdG8gYmUKYWJsZSB0byBlbnRlciBhbnl3YXkqIGR1ZSB0byBpdHMgbWFzc2l2ZSBzaXplIGFu +ZCBodWdlIHBvd2VyCnJlcXVpcmVtZW50cy4KCmhvd2V2ZXIgd2l0aCB0aGUgYWJvdmUgc2NoZW1l +LCByZWNlbnRseSBpbnRyb2R1Y2VkIHNvbWV3aGVyZSBpbi4uLiB0aGUKcGFzdCAxOCsgbW9udGhz +KD8pIGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZmlnaHQgb3ZlciB0aGUgc3BhY2UuCgpv +ZiBjb3Vyc2UsIEpJVC1jb21waWxhdGlvbiBieSB1c2luZyBMTFZNLUlSICphbHNvKiBzb2x2ZXMg +dGhpcyBwcm9ibGVtCm5pY2VseS4gIGhvd2V2ZXIsIExMVk0gaXMgbm90IHRoZSBkZWZhdWx0LCBk +ZS1mYWN0byBhbmQgc29sZSBleGNsdXNpdmUKY29tcGlsZXIgdXNlZCBpbiB0aGUgd29ybGQuCgoK +PiBUaGUgTWljcm93YXR0IGNvcmUgaXMgbm93IHN0YXJ0aW5nIHRvIGJvb3QgTGludXggYXMgd2Vs +bCAobm90IG1lcmdlZAo+IHlldCkKCndlIHNhdyB0aGUgcHBjZGV2IHBhdGNoZXMuICBuaWNlIHdv +cmsgOikKCj4gYnV0IGF0IHRoZSBtb21lbnQgdGhpcyByZXF1aXJlcyBzb21lIGtlcm5lbCBoYWNr +cyB0byB3b3JrIGFyb3VuZAo+IHRoZSBhYm92ZSwgc3VjaCBhcyBwbHVtYmluZyBpbiBGUFUgZW11 +bGF0aW9uLCBhbmQgSSBrbm93IFBhdWwgaGFzCj4gaXNzdWVzIGdlbmVyYXRpbmcgYSB1c2FibGUg +dXNlcnNwYWNlLi4uCgp0aGUgcG93ZXJwYyBnZW01IGV4cGVyaW1lbnQgYWxyZWFkeSBoYXMgb25l +IHByZS1jb21waWxlZCAoYW4KaW5pdHJhbWZzKSB3aXRoIGEgImhlbGxvIHdvcmxkIiBidWlsZHJv +b3Qgb2Ygc29tZSBraW5kIChidXN5Ym94KS4gIGFuZAphc3NvY2lhdGVkIG1vZGlmaWNhdGlvbnMg +dG8gc2tpYm9vdD8KCmh0dHBzOi8vZ2l0aHViLmNvbS9wb3dlci1nZW01L2dlbTUKW2JyYW5jaCAi +Z2VtNS1leHBlcmltZW50YWwiXQoKYW5kIHRoZSBvdGhlciBzdXBwb3J0IHJlcG9zIGFyZSBhdApo +dHRwczovL2dpdGh1Yi5jb20vcG93ZXItZ2VtNS8KCmwuCgpfX19fX19fX19fX19fX19fX19fX19f +X19fX19fX19fX19fX19fX19fX19fX19fXwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0Cmxp +YnJlLXJpc2N2LWRldkBsaXN0cy5saWJyZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJp +c2N2Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgo= +