Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
[libre-riscv-dev.git] / 69 / 18b5c9ba79670c9ad74535318bcec937a10f6a
1 Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
2 Envelope-to: publicinbox@libre-riscv.org
3 Delivery-date: Fri, 24 Jul 2020 17:53:38 +0100
4 Received: from localhost ([::1] helo=libre-riscv.org)
5 by libre-soc.org with esmtp (Exim 4.92)
6 (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
7 id 1jz0wz-0002vs-7s; Fri, 24 Jul 2020 17:53:37 +0100
8 Received: from lkcl.net ([217.147.94.29])
9 by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
10 (Exim 4.92) (envelope-from <lkcl@lkcl.net>) id 1jz0wx-0002vZ-E5
11 for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 17:53:35 +0100
12 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
13 s=201607131;
14 h=Content-Type:Cc:To:Subject:Message-ID:Date:From:References:In-Reply-To:MIME-Version;
15 bh=9sIIeYutOk4Nz8v6gDsb/j/L3SKHfzUvwLN6jUoHMuc=;
16 b=QnrxLbrsaxNBv9s7DGYnZ3AbOsen6I/PrskmpbAZnR40TXNJYCEFnOGAc6YtPiovBewdqDvE/tbvUovdHEwOGFdtbbEe2vZb49/jcVdikBMCb/M6s5qqm2h0uc+8iZ/QG69fA8KpM/wN0aY1amLXqjmsEf/+qTp4iox8N36RqG0=;
17 Received: from mail-lf1-f44.google.com ([209.85.167.44])
18 by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
19 (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jz0ww-0004oA-Qb
20 for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 16:53:35 +0000
21 Received: by mail-lf1-f44.google.com with SMTP id 140so5546343lfi.5
22 for <libre-riscv-dev@lists.libre-riscv.org>;
23 Fri, 24 Jul 2020 09:53:19 -0700 (PDT)
24 X-Gm-Message-State: AOAM532wj+vNUU8adwrjavfjoggkRyxuZsXFC1DzPpTEiUjSpVBZ892d
25 dU+Ad/ZiVYYXNhwgAF0DGQxNXJuipktK8b01YMg=
26 X-Google-Smtp-Source: ABdhPJxlSom0FpkcQehqN0BT+PuLPopTT3gtjUDdvnecfkAFW3fuyo4uTSeIrkVepjbxNpBHKD4yzWbgE0rkL7Klv00=
27 X-Received: by 2002:a19:c206:: with SMTP id l6mr5456150lfc.152.1595609593593;
28 Fri, 24 Jul 2020 09:53:13 -0700 (PDT)
29 MIME-Version: 1.0
30 Received: by 2002:a05:6504:702:0:0:0:0 with HTTP; Fri, 24 Jul 2020 09:53:12
31 -0700 (PDT)
32 In-Reply-To: <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
33 References: <CAPweEDzJpX8mDE1QJO6=rPEQfz0jCt+Yi9sS48cE4bXcu8AwcQ@mail.gmail.com>
34 <20200722224713.GA213782@thinks.paulus.ozlabs.org>
35 <CAPweEDxxJqcy4kAcL0+wDYQh9A0KtW3dSi9kMdQ-_YotuRSsQw@mail.gmail.com>
36 <bc0527a82b8a777486388ab6084ce364db4c278c.camel@kernel.crashing.org>
37 <CAPweEDx_gUy8KoQUrfE+Xn-URqFQsMiiT8A9WcLsK67E5bY8Jg@mail.gmail.com>
38 <b3a6d1be404b96594d69d9b59701c574957c8d2a.camel@kernel.crashing.org>
39 From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
40 Date: Fri, 24 Jul 2020 17:53:12 +0100
41 X-Gmail-Original-Message-ID: <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
42 Message-ID: <CAPweEDws3LZYJuYmMuDd89Q5RWjHPYX3tWbQp9VjPZC_AFSDWg@mail.gmail.com>
43 To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
44 X-Content-Filtered-By: Mailman/MimeDel 2.1.23
45 Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field"
46 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
47 X-Mailman-Version: 2.1.23
48 Precedence: list
49 List-Id: Libre-RISCV General Development
50 <libre-riscv-dev.lists.libre-riscv.org>
51 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
52 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
53 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
54 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
55 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
56 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
57 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
58 Reply-To: Libre-RISCV General Development
59 <libre-riscv-dev@lists.libre-riscv.org>
60 Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org"
61 <openpower-hdl-cores@mailinglist.openpowerfoundation.org>,
62 Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
63 Content-Type: text/plain; charset="utf-8"
64 Content-Transfer-Encoding: base64
65 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
66 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
67
68 T24gVGh1cnNkYXksIEp1bHkgMjMsIDIwMjAsIEJlbmphbWluIEhlcnJlbnNjaG1pZHQgPGJlbmhA
69 a2VybmVsLmNyYXNoaW5nLm9yZz4Kd3JvdGU6Cgo+IE9uIFRodSwgMjAyMC0wNy0yMyBhdCAwNTox
70 NiArMDEwMCwgTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiB3cm90ZToKPiA+Cj4gPiB3aGF0
71 IGkgaGF2ZSBvYnNlcnZlZCAoYWdhaW4gdGhpcyBpcyBmcm9tIFJJU0NWKSwgZm9yIGluc3RydWN0
72 aW9ucwo+ID4gdGhhdCBjYW4gYmUgInNhZmVseSBpZ25vcmVkIiBhcmUgb2YgYSAiaGludCIgdHlw
73 ZS4KPgo+IFNlZSB3aGF0IFBhdWwgc2FpZC4uLiB0aGUgaWRlYSBpcyB0aGF0IGFueSBjaGFuZ2Ug
74 dG8gYW4gZXhpc3RpbmcKPiBpbnN0cnVjdGlvbiB0aGF0IG1ha2VzIHVzZSBvZiBmb3JtZXJseSBy
75 ZXNlcnZlZCBiaXRzIG5lZWRzIHRvIGJlIGRvbmUKPiBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGln
76 bm9yaW5nIHRoZSBiaXRzIGlzIGEgY29ycmVjdCBpbXBsZW1lbnRhdGlvbi4KCgp0aGlzIHdvcmtz
77 IHdlbGwgaWYgZXh0cmVtZWx5IGNhcmVmdWxseSBtYW5hZ2VkLCBhbmQgcGxhbm5lZCB3ZWxsIGlu
78 IGFkdmFuY2UuCgphdCBubyB0aW1lIGNhbiB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkgc3RlcCAqdXAq
79 IG9yIG90aGVyd2lzZSBiZSBhbnl0aGluZwpvdGhlciB0aGFuIGFuIG9wdGltaXNhdGlvbi4KCklu
80 IHByYWN0aWNlIHRoYXQgb2Z0ZW4gbWVhbnMgdGhlIG5ldyBiaXRzIGFyZSBpbmRlZWQgaGludHMs
81 CgoKdGhpcyBpcyBhbiBhY2NpZGVudGFsIGRpc2NvdmVyeSEgIGkgaGFkIG5vdCBtZWFudCB0aGVt
82 IHRvIGJlIGNvbnNpZGVyZWQKImhpbnRzIiBob3dldmVyIG5vdyB0aGF0IHlvdSBtZW50aW9uIGl0
83 LCBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KCmx3c3luYyB3b3VsZCBmYWxsIGludG8gdGhpcyBj
84 YXRlZ29yeS4KCiBidXQgbm90Cj4gYWx3YXlzLCBzZWUgUGF1bCBleGFtcGxlIGFib3V0IG1mb2Ny
85 Zi4KCgppbmRlZWQuICBhbHRob3VnaCBpdCBtYWtlcyBtZSBuZXJ2b3VzLCB0aGF0IDIvMiBjYXNl
86 cyBxdW90ZWQgaGF2ZSBrbm93bgppc3N1ZSB3aGVyZSB0aGV5IGRpZCBub3QgZ28gYXMgcGxhbm5l
87 ZC4KCmkgYW0gZ3Vlc3NpbmcgdGhhdCBtdG1zciBMPTAvMSBtYXkgYWxzbyBoYXZlIGJlZW4gZXh0
88 ZW5kZWQgYXQgc29tZSBwb2ludD8KdGhhdCBpbiBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHNw
89 ZWMgaXQgd2FzIG9ubHkgTD0wPwoKCgo+ID4gaS5lLiBvbGQgc3luYyBpcyBhICJzdXBlcnNldCIg
90 b2YgbHdzeW5jPwo+Cj4gc3luYyBpcyBhIG1lbW9yeSBiYXJyaWVyLiBsd3N5bmMgaXMgYSBsaWdo
91 dGVyIHdlaWdodCB2ZXJzaW9uIG9mIGl0LCBzbwo+IHllcywgc3luYyBpcyBhIHN1cGVyc2V0IG9m
92 IGx3c3luYy4KCgpvaywgZ29vZC4gIHNvIGl0IGlzIGFuIG9wdGltaXNhdGlvbi4gIGFzIGEgImhp
93 bnQiIHR5cGUgaXQgd291bGQgYmUgInNhZmUiCgpoaW50cyBhcmUgb25seSBzYWZlIHRvIGFkZCBw
94 cmVjaXNlbHkgYmVjYXVzZSB0aGV5IGFyZSBkZWNsYXJlZCBpbiBhZHZhbmNlIC0KbG9uZyBiZWZv
95 cmUgYW55b25lIGV2ZW4gaW1wbGVtZW50cyB0aGUgdmVyeSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBv
96 ZiB0aGUKdmVyeSBmaXJzdCBjb3JlIC0gdG8gaGF2ZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0
97 eSwgbWVyZWx5IGFuIG9wcG9ydHVuaXR5CmZvciBwZXJmb3JtYW5jZSBvcHRpbWlzYXRpb24uCgoK
98 PiA+IGJpdCBkaWQgbm90IG1hdHRlciwgdGhlIHRyYXAgd291bGQgY2FsbCB0aGUgYWx0ZXJuYXRp
99 dmUgc3luYwo+ID4gaW5zdHJ1Y3Rpb24sIGFuZCByZXR1cm4gZnJvbSB0aGUgdHJhcC4KPgo+IFRo
100 ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgdGhpcyB3b3VsZCBtYWtlIGl0IGVudGlyZWx5IHVudXNh
101 YmxlIGhvd2V2ZXIuCgoKaW4gdGhhdCBleGFtcGxlLCB5ZXMuICBtb3N0IHVuZm9ydHVuYXRlLgoK
102 Cgo+Cj4gPiBpIGRvIG5vdCBrbm93IHRoZSBmdWxsIHN0b3J5IGFib3V0IHdoYXQgRlNMIGlzOiB3
103 aXRob3V0IGtub3dpbmcgdGhlCj4gPiBkZXRhaWxzIGkgc3VzcGVjdCB0aGF0IGEgdHJhcCAqY291
104 bGQqIGhhdmUgc29ydGVkIHRoaW5ncyBvdXQsIHRoZXJlLAo+ID4gKmlmKiB0aGUgb2xkZXIgcHJv
105 Y2Vzc29yIHdhcyByZXF1aXJlZCB0byByYWlzZSAiaWxsZWdhbCBpbnN0cnVjdGlvbiIKPgo+IEZT
106 TCBpcyBGcmVlc2NhbGUuCgoKYWhoIG9rLgoKCj4KPgoKU29tZSB2YXJpYW50cyBvZiB0aGVpciBl
107 bWJlZGRlZCBjb3JlcyBkaWQgdHJhcCwgd2hpY2gKPiBmb3JjZWQgdGhlIGtlcm5lbCB0byBkbyBz
108 b21lIG5hc3R5IGR5bmFtaWMgcGF0Y2hpbmcgYXQgcnVudGltZSB0byBnZXQKPiByaWQgb2YgbHdz
109 eW5jJ3Mgb24gdGhlc2UuCgoKYSBsb3ctZ3JhZGUgdmVyc2lvbiBvZiBKSVQgdHJhbnNsYXRpb24s
110 IHdoaWNoIGlzIG9uZSBzb2x1dGlvbi4gIGV4cGVuc2l2ZSwKYnV0IGEgc29sdXRpb24uCgphbHRo
111 b3VnaCBpIGhhdmUgdG8gYXNrIHdoeSwgZm9yIEVtYmVkZGVkLCB0aGV5IGRpZCBub3QganVzdCBy
112 ZWNvbXBpbGUgdGhlCnNvdXJjZSBjb2RlLCBjdXN0b21pc2VkIGZvciB0aGF0IGVuZHVzZXIgYXBw
113 bGljYXRpb24uCgpob3dldmVyIHRoaXMgYWxzbyBhY3R1YWxseSBpbGx1c3RyYXRlcyBwcmVjaXNl
114 bHkgd2h5IGkgbWVudGlvbmVkIHRoYXQgZm9yCmJlc3QgcmVzdWx0cywgYSBzcGVjIGhhcyB0byBo
115 YXZlIGRpZmZlcmVudCBwbGF0Zm9ybSBiZWhhdmlvdXIgZm9yIEVtYmVkZGVkCmFzIGNvbXBsZXRl
116 bHkgc2VwYXJhdGUgYW5kIGRpc3RpbmN0IGZyb20gVU5JWC4KCnRoZSBydWxlcyBmb3IgRW1iZWRk
117 ZWQgaW4gUklTQ1Ygc3RhdGUgdGhhdCB0cmFwcyBhcmUgKm5vdCogbmVlZGVkIGZvcgppbGxlZ2Fs
118 IGluc3RydWN0aW9ucyAoaXQgaXMgdXAgdG8gYW4gaW1wbGVtZW50b3IgdG8gZGVjaWRlIGlmIHRo
119 ZXkgd2lzaCB0bwphZGQgdGhlbSkuICB0aGUgQ29uZm9ybWFuY2UgVGVzdCBTdWl0ZSBkb2VzICpu
120 b3QqIHRlc3QgZm9yIGlsbGVnYWwKaW5zdHJ1Y3Rpb25zLgoKdGhpcyBvbiB0aGUgYmFzaXMgdGhh
121 dCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25lLW9mZiBkZXBsb3ltZW50LAp3aGVy
122 ZSB0aGUgdG9vbGNoYWluIGFuZCBhbGwgYnVpbGQgc291cmNlIGlzICJzbmFwc2hvdHRlZCIgYXQg
123 cHJvZHVjdApyZWxlYXNlIHRpbWUsIHVzZWQgaW50ZXJuYWxseSBhbmQgdGhlIHNvdXJjZSBjb2Rl
124 IGFuZCB0b29sY2hhaW4gYWxtb3N0Cm5ldmVyIHNlZSB0aGUgbGlnaHQgb2YgZGF5LiAgbWFpbmxp
125 bmUgdXBncmFkZXMgYXJlIGV4Y2VwdGlvbmFsbHkgcmFyZS4KCmV4YW1wbGVzIGluY2x1ZGUgVHJp
126 bmFtaWMgU3RlcHBlciBBU0lDcywgd2hpY2ggYWN0dWFsbHkgaGl0IHRoZSBzaGVsdmVzCmV2ZW4g
127 YmVmb3JlIFJJU0NWIFN0YW5kYXJkaXNhdGlvbiB3YXMgcmF0aWZpZWQuCgp0aGUgYmluYXJpZXMg
128 YXJlIGluIFJPTS4gIHdoYXRldmVyIHRyYXAgc3BlYyBpbmNvbXBhdGliaWxpdHkgd2l0aCAiTGF0
129 ZXN0CmFuZCBHcmVhdGVzdCIgYXJlIHV0dGVybHkgaXJyZWxldmFudCBmb3IgdGhlbSBhbmQgdGhl
130 aXIgY3VzdG9tZXJzLgoKCnNvIGluIHRoYXQgY29udGV4dCwgaSBhbSBzbGlnaHRseSBjb25mdXNl
131 ZCB0byBoZWFyIHRoYXQgZm9yIEZyZWVzY2FsZQoqRW1iZWRkZWQqIHByb2Nlc3NvcnMgdGhhdCB0
132 aGVyZSBpcyBldmVuIGEgYmluYXJ5IGluY29tcGF0aWJpbGl0eSBwcm9ibGVtCndpdGggbHdzeW5j
133 ICphdCBhbGwqLgoKaWYgeW91IGhhdmUgdGltZSBpJ2QgbG92ZSB0byBoZWFyIG1vcmUsIHdoYXQn
134 cyB0aGUgc3RvcnkgdGhlcmU/CgoKCgo+ID4gYnV0IGJlY2F1c2UgdGhlIGJpdCBpcyBpZ25vcmVk
135 LCB0aGVyZSBpcyBubyB3YXkgdGhhdCBjYW4gYmUgZG9uZS4KPgo+IEJ1dCB0aGF0J3MgZmluZSBi
136 ZWNhdXNlICJzeW5jIiBpcyBhIHN0cmljdCBzdXBlcnNldCBzbyBpZ25vcmluZyB0aGUgYml0Cj4g
137 d29ya3MganVzdCBmaW5lLgoKCmluIHRoaXMgY2FzZSwgeWVzLgoKCgo+Cj4gPiBzbyB3aGlsc3Qg
138 b24gdGhlIGZhY2Ugb2YgaXQsIGx3c3luYyAqc291bmRzKiBsaWtlIGEgY291bnRlcmV4YW1wbGUs
139 Cj4gPiBpbnN0ZWFkIChjYXZlYXQsIGkgZG8gbm90IGtub3cgd2hhdCBGU0wgaXMpLCBpdCBzZWVt
140 cyBtb3JlIHRvIHN1cHBvcnQKPiA+IHRoZSBjYXNlICpmb3IqIHVzZSBvZiByZXNlcnZlZCBiaXRz
141 IHJhaXNpbmcgaWxsZWdhbCBpbnN0cnVjdGlvbnMgW29uCj4gPiBVTklYIHBsYXRmb3Jtc10KPgo+
142 IEkgZmFpbCB0byBmb2xsb3cgeW91ciBsb2dpYy4gVGhlIHRyYXAgY2FzZSBpcyBhIGNvbXBsZXRl
143 IG5vbi1zdGFydGVyCj4gZm9yIGFuIGluc3RydWN0aW9uIG1lYW50IHRvIGJlIGEgbGlnaHR3ZWln
144 aHQgbWVtb3J5IGJhcnJpZXIuCgoKb2sgZ2l2ZW4gdGhhdCBpdCBpcyBhICJoaW50IiB0eXBlIGFu
145 ZCBub3QgcXVpdGUgc3VpdGVkIHRvICJyZXNlcnZlZCIgd2UgYXJlCm5vdyBhdCBjcm9zcyBwdXJw
146 b3Nlcy4KCmFuZCwgYWxzbywgaXQgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBoYXBwZW5zIHRvIGdh
147 dmUsIGFzIG9uZSBvZiBpdHMKcmVxdWlyZW1lbnRzLCB0byBiZSAibGlnaHR3ZWlnaHQiIGluIG9y
148 ZGVyIHRvIGJlIHVzZWZ1bC4KClRoZQo+IHRyYW5zcGFyZW50ICJmYWxsYmFjayIgdG8gYSBmdWxs
149 IG1lbW9yeSBiYXJyaWVyIG9uIHRoZSBjb250cmFyeSB3b3Jrcwo+IGZpbmUuIFRoZXJlIGlzIG5l
150 dmVyIGFueSBjYXNlIHdoZXJlICJ0cmFwcGluZyBhbiBlbXVsYXRpbmciIGlzIHRoZQo+IGRlc2ly
151 ZWQgYmVoYXZpb3VyLgoKCmluZGVlZC4uLiBpbiB0aGlzIHZlcnkgc3BlY2lhbCBjYXNlIHRoYXQg
152 d2UgaGF2ZSBlc3RhYmxpc2hlZCwgYnkgaXQKZWZmZWN0aXZlbHkgYmVpbmcgYSAiaGludCIsIGZh
153 bGxzIGNvbXBsZXRlbHkgb3V0c2lkZSBvZiB3aGF0IGkgYW0gY29uY2VybmVkCmFib3V0CgoKPgo+
154 ID4KPiA+ID4gPiBpZiBob3dldmVyIHJlc2VydmVkIGJpdHMgYmVpbmcgc2V0IGNhdXNlIGFuIGV4
155 Y2VwdGlvbiwgdGhlICJvbGQiCj4gPiA+ID4gcHJvY2Vzc29yIHN0YW5kcyBhIGNoYW5jZSBvZiBl
156 bXVsYXRpbmcgdGhlIG5ldyBiZWhhdmlvdXIgKGluCj4gPiA+ID4gc29mdHdhcmUsIGV2ZW4gaWYg
157 dGhhdCdzIHNsb3cpLCBnaXZpbmcgaXQgYSBjaGFuY2Ugb2Yga2VlcGluZyBvdXQKPiA+ID4gb2YK
158 PiA+ID4gPiBsYW5kZmlsbCBmb3Igc2xpZ2h0bHkgbG9uZ2VyLgo+ID4gPgo+ID4gPiBXaGljaCBp
159 cyB3aHkgcG93ZXJwYyB0ZW5kcyBub3QgdG8gImFkZCBiaXRzIiB0byBpbnN0cnVjdGlvbnMgdW5s
160 ZXNzCj4gPiA+IGlnbm9yaW5nIHRoZW0gaXMgYSBzYWZlIGZhbGxiYWNrLgo+ID4KPiA+IGFzIHdl
161 IGNhbiBzZWUgYWJvdmUsIHRoZSBleGFtcGxlIHRoYXQgd2FzIGdpdmVuICBzaG93cyB0aGF0IHRo
162 aXMgaXMgYQo+ID4gcHJvYmxlbWF0aWMgYXBwcm9hY2guCj4KPiBJIGZhaWwgdG8gdW5kZXJzdGFu
163 ZCB0aGUgInByb2JsZW0iIGluIHlvdXIgZXhhbXBsZSwgbWF5YmUgeW91IGNhbgo+IHJlcGhyYXNl
164 IGl0ID8KCgp3ZSd2ZSBpZGVudGlmaWVkIHRoYXQgbHdzeW5jIGlzIGEgImhpbnQiIHNvIGNhbiBk
165 aXNjb3VudCBpdC4KCmknbGwgbmVlZCB0byB0YWtlIHNvbWUgbW9yZSB0aW1lIHRvIHRoaW5rIGFi
166 b3V0IGl0LiAgYWxzbywgaXQgcmVxdWlyZXMKZXhwbGFpbmluZyB0aGUgY29udGV4dC4KCk9wZW5Q
167 T1dFUiBpcywgdW5kZXIgdGhlIGF1c3BpY2VzIG9mIHRoZSBGb3VuZGF0aW9uLCBpIGdhdGhlciBh
168 aW1pbmcgZm9yCm11Y2ggd2lkZXIgYWRvcHRpb24gd2hpbHN0IGFsc28gcmV0YWluaW5nIHRoZSBy
169 ZXB1dGF0aW9uIGZvciBwZXJmb3JtYW5jZQphbmQgc3RhYmlsaXR5LCAqYW5kKiBhbGxvd2luZyBm
170 b3IgZXh0ZW5zaW9ucyBhbmQgY3VzdG9taXNhdGlvbiB1bmRlciB0aGUKc3Rld2FyZHNoaXAgb2Yg
171 dGhlIEZvdW5kYXRpb24uCgp3aXRoIHNvIGZldyBtZW1iZXJzIHVzaW5nIFBPV0VSIHVwIHRvIHRo
172 aXMgcG9pbnQsIHRoZXJlIGhhcyBiZWVuIGxpdHRsZSBpbgp0aGUgd2F5IG9mIGNvbmZsaWN0IGJl
173 Y2F1c2UgdGhlcmUgaXMgbm8gInB1bGxpbmcgaW4gZGlmZmVyZW50IGRpcmVjdGlvbnMiCmFuZCwg
174 YXMgUGF1bCBwb2ludGVkIG91dCwgYSBsb3Qgb2YgY2FyZSBhbmQgdGhvdWdodCBoYXMgZ29uZSBp
175 bnRvIGFueQp1cGdyYWRlcy4KCmxvb2tpbmcgZm9yIGNvbXBhcmlzb25zIC0gZXhhbXBsZXMgZnJv
176 bSB0aGUgcGFzdCAtIGlzIHRoZXJlZm9yZSBhY3R1YWxseQpnb2luZyB0byBiZSBkaWZmaWN1bHQu
177 CgoKPiA+IGkgaGF2ZSBub3Qgc3BlbGxlZCBpdCBvdXQgZXhwbGljaXRseSwgc2Vla2luZyBpbnN0
178 ZWFkIHRvIHVzZSBsb2dpY2FsCj4gPiByZWFzb25pbmcgcmF0aGVyIHRoYW4gbWFrZSBjYXRlZ29y
179 aWNhbCBzdGF0ZW1lbnRzLCBidXQgdGhpcyBpcwo+ID4gYWN0dWFsbHkgYSByZWFsbHkgc2VyaW91
180 cyBwcm9ibGVtLgo+Cj4gQWdhaW4sIGV4cGVyaWVuY2Ugc2VlbXMgdG8gaW5kaWNhdGUgdGhpcyBp
181 cyBub3QgYXMgbG9uZyBhcyB0aGUKPiBkZWZpbml0aW9uIG9mIHRoZSBhcmNoaXRlY3R1cmUgaXMg
182 Y2FyZWZ1bCBpbiBob3cgdGhlIHJlc2VydmVkIGJpdHMgZ2V0Cj4gYWxsb2NhdGVkIGluIHRoZSBm
183 dXR1cmUuCgoKaWYgdGhleSBhcmUgZ2VudWluZWx5IHN5bm9ueW1vdXMgd2l0aCAoZWZmZWN0aXZl
184 bHkpIGEgImhpbnQiIHRoZW4gdGhlcmUgaXMKYWJzb2x1dGVseSBubyBwcm9ibGVtIGF0IGFsbC4u
185 LiAqYXMgbG9uZyBhcyogdGhlIGVudGlyZSBhcmVhIGhhcyBiZWVuCmRlY2xhcmVkIGZ1bGx5IGFu
186 ZCB3ZWxsIGluIGFkdmFuY2UgdGhhdCBpdCBpcyBvZiB0eXBlICJoaW50Ii4KCmZvciBleGFtcGxl
187 IG10bXNyIEw9MSAod2hpY2ggaSBhbSBhc3N1bWluZyBwZXJoYXBzIGluY29ycmVjdGx5IHdhcyBh
188 ZGRlZApsb25nIGFmdGVyIEw9MCwgaXMgdGhhdCBjb3JyZWN0PyBpZiBub3QgbGV0IHVzIGFzc3Vt
189 ZSBoeXBvdGhldGljYWxseSB0aGF0Cml0IHdhcykgYWJzb2x1dGVseSBpbiBubyB3YXkgZmFsbHMg
190 aW50byB0aGUgInNhZmUiIGNhdGVnb3J5IGJlY2F1c2UgaXQKZGFtYWdlcyBiaXRzIG9mIE1TUiB1
191 bmV4cGVjdGVkbHkuICBvciBvbmx5IHVwZGF0ZXMgc29tZSBvZiB0aGVtLgoKaW4gdGhpcyAoaHlw
192 b3RoZXRpY2FsPykgY2FzZSwgbW9kZXJuIHNvZnR3YXJlIHJ1bm5pbmcgb24gYW4gb2xkZXIgVU5J
193 WApQbGF0Zm9ybSBwcm9jZXNzb3IgdGhhdCBvbmx5IHN1cHBvcnRlZCBMPTEgY291bGQgKm9ubHkq
194 IHNvcnQgdGhpbmdzIG91dAoqaWYqIGEgdHJhcCB3YXMgdGFrZW4uCgphbmQgeWV0IHRoZSBzcGVj
195 IGV4cGxpY2l0bHkgc2F5cywgImRvbid0IGJvdGhlciIsIHdoaWNoIGlzICpndWFyYW50ZWVkKiB0
196 bwpjYXVzZSBwcm9ibGVtcy4KCgpTQyBoYXZpbmcgTEVWID4gMSBpbiB0aGUgZnV0dXJlIGlzIGFs
197 c28gYSBzcGVjaWFsIGNhc2UgYmVjYXVzZSBpdCBpcwoqYWxyZWFkeSogcmFpc2luZyBhIHRyYXAu
198 ICBubyBleHRyYSBjb3N0LCB0aGVyZS4gIHRoaW5ncyBjYW4gYmUgc29ydGVkCm91dC4uLi4gaW4g
199 dGhlIHRyYXAuCgoKCj4gPiBpbiBvdGhlciB3b3JkcyB0aGUgYXBwcm9hY2ggb2YgaWdub3Jpbmcg
200 cmVzZXJ2ZWQgYml0cyBoYXMgb25seSB3b3JrZWQKPiA+IChmb3IgdGhlIHBhc3QgMjAgeWVhcnM/
201 KSBiZWNhdXNlIElCTSwgcmVhbGlzdGljYWxseSwgaXMgdGhlIG9ubHkKPiA+IChub24tRW1iZWRk
202 ZWQpIGltcGxlbWVudG9yIG9mIFVOSVggUGxhdGZvcm0gcHJvY2Vzc29ycy4KPgo+IFRoYXQgd2Fz
203 bid0IGFsd2F5cyB0cnVlIGFuZCBzdGlsbCBkaWRuJ3QgYmVjb21lIGEgcHJvYmxlbS4KPgo+IEFn
204 YWluLCBJIHJlYWxseSBmYWlsIHRvIHNlZSB0aGUgc21va2luZyBndW4geW91IHNlZW0gdG8gYmUg
205 aW1wbHlpbmcKPiB0aGVyZSBpcy4KCgpubyBndW4uCgppdCBpcyB0aGF0IHRoaW5ncyBoYXZlIGNo
206 YW5nZWQsIG5vdy4KCndoZXJlIGJlZm9yZSB0aGUgc3BlY2lmaWNhdGlvbiBjb3VsZCBiZSBtYW5h
207 Z2VkIGJ5IGEgZmV3IHZlbmRvcnMsIGZvciBhIGZldwp2ZW5kb3JzIChtYW5hZ2VkIGV4dHJlbWVs
208 eSB3ZWxsKSB0aGUgaW50ZW50aW9uIGFzIGkgdW5kZXJzdGFuZCBpdCBpcyB0bwpleHBhbmQgdGhl
209 IHJlYWNoIG9mIE9wZW5QT1dFUiwgYW5kIGFsbG93IGRvemVucyBpZiBub3QgaHVuZHJlZHMgb2YK
210 aW1wbGVtZW50b3JzIHRvIHBhcnRpY2lwYXRlIGluIGl0cyBvbmdvaW5nIGV2b2x1dGlvbiwganVz
211 dCBhcyBpcyBkb25lIHdpdGgKUklTQ1YuCgp1bmRlciBzdWNoIGNoYW5nZWQgY2lyY3Vtc3RhbmNl
212 IGl0IGlzIHdlbGwga25vd24gYW5kIHdlbGwgZXN0YWJsaXNoZWQgdGhhdAppdCBpcyAqbm90IHNh
213 ZmUqIHRvIGhhdmUgcmVzZXJ2ZWQgYml0cyAqbm90KiB0aHJvdyBleGNlcHRpb25zIG9uIHRoZSBV
214 TklYClBsYXRmb3JtLgoKYmVhciBpbiBtaW5kIHRoYXQgd2UgZXN0YWJsaXNoZWQgdGhhdCBsd3N5
215 bmMgaXMgYSAiaGludCIsIGFuZCB0aGF0IGhpbnRzCiphcmUqIHNhZmUgdG8gYWRkIChhcyBsb25n
216 IGFzIHRoZSBhdmFpbGFibGUgcmFuZ2UgaXMgcmVzZXJ2ZWQgZnVsbHksIGluCmFkdmFuY2UpIGFu
217 ZCBkbyBub3QgYW5kIHNob3VsZCBub3QgcmFpc2UgZXhjZXB0aW9ucyBiZWNhdXNlIHRoZXkgYXJl
218 CnBlcmZvcm1hbmNlIG9wdGltaXNhdGlvbnMuCgpsLgoKCgotLSAKLS0tCmNyb3dkLWZ1bmRlZCBl
219 Y28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93ZHN1cHBseS5jb20vZW9tYTY4
220 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJlLXJp
221 c2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9y
222 ZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlz
223 Y3YtZGV2Cg==
224