summaryrefslogtreecommitdiff
path: root/7f/bad0d8e5c57374de345bad68ac20b8cca4681b
blob: 5a34f016fbe1b69fa0d127401eb7670234755b78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <Goss.Brian@mayo.edu>) id 1VepLN-0004Xj-NK
	for bitcoin-development@lists.sourceforge.net;
	Fri, 08 Nov 2013 16:55:37 +0000
X-ACL-Warn: 
Received: from mail10.mayo.edu ([129.176.212.47])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76)
	id 1VepLM-0004KV-Kb for bitcoin-development@lists.sourceforge.net;
	Fri, 08 Nov 2013 16:55:37 +0000
Received: from roedlp005a.mayo.edu (HELO mail10.mayo.edu) ([129.176.158.0])
	by ironport10-dlp.mayo.edu with ESMTP; 08 Nov 2013 10:21:37 -0600
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhcFAMAOfVKBsNQ1/2dsb2JhbABagwc4U78UgTAWdIIlAQEBAwEBAiRXDQEZAwECCwsbJgodCQEEEwgGEIddBgUImyqYPokUji4BgQcWCh4EgxaBEAOQMIEwgk6BEoN+kFyDJoFxOQ
Received: from mhro1a.mayo.edu ([129.176.212.53])
	by ironport10.mayo.edu with ESMTP; 08 Nov 2013 10:21:36 -0600
Received: from MSGPEXCHA28B.mfad.mfroot.org (msgpexcha28b.mayo.edu
	[129.176.249.247]) by mhro1a.mayo.edu with ESMTP id
	BT-MMP-3020859 for bitcoin-development@lists.sourceforge.net;
	Fri, 8 Nov 2013 10:21:36 -0600
Received: from MSGPEXCEI32B.mfad.mfroot.org ([169.254.7.247]) by
	MSGPEXCHA28B.mfad.mfroot.org ([169.254.11.104]) with mapi id
	14.03.0158.001; Fri, 8 Nov 2013 10:21:35 -0600
From: "Goss, Brian C., M.D." <Goss.Brian@mayo.edu>
To: "'bitcoin-development@lists.sourceforge.net'"
	<bitcoin-development@lists.sourceforge.net>
Thread-Topic: 1. Re: On the optimal block size and why transaction fees are 8
Thread-Index: Ac7cnpAI+5kHW1e2SMGF2vSMQBcUlw==
Date: Fri, 8 Nov 2013 16:21:35 +0000
Message-ID: <FFE335820B1BFF4F8E8619F446F2D87F4C20067D@MSGPEXCEI32B.mfad.mfroot.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.128.209.32]
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
	micalg=SHA1; boundary="----=_NextPart_000_0000_01CEDC6C.4C7C8250"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Spam-Score: 0.0 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	0.0 CTYPE_001C_B           CTYPE_001C_B
	-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay
	domain
	0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked.
	See
	http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
	for more information. [URIs: petertodd.org]
X-Headers-End: 1VepLM-0004KV-Kb
Subject: [Bitcoin-development] 1. Re: On the optimal block size and why
	transaction fees are 8
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Fri, 08 Nov 2013 16:55:37 -0000

------=_NextPart_000_0000_01CEDC6C.4C7C8250
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Peter,

What is the propagation time within a pool?  If my pool is made up of a ton
of fancy ASICs connected by 300 baud modems, how does that affect your
analysis (ie, Q for a mining pool is effectively a function of time as
well)?  

Brian
 P.S. I hope these are not ignorant questions; if they are, please feel free
to disregard!


Message: 1
Date: Thu, 7 Nov 2013 15:31:23 -0500
From: Peter Todd <pete@petertodd.org>
Subject: Re: [Bitcoin-development] On the optimal block size and why
	transaction fees are 8 times too low (or transactions 8 times too
big)
To: Michael Gronager <gronager@ceptacle.com>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Message-ID: <20131107203123.GB3805@petertodd.org>
Content-Type: text/plain; charset="us-ascii"

> Final conclusions is that the fee currently is too small and that 
> there is no need to keep a maximum block size, the fork probability 
> will automatically provide an incentive to not let block grows into
infinity.

Your definition of P_fork is inaccurate for a miner with non-negligable
hashing power - a miner will never fork themselves. Taking that into account
we have three outcomes:

1) The block propagates without any other miner finding a block.
2) During propagation another miner finds a block. (tie)
2.1) You win the tie by finding another block.
2.2) You lose the tie because someone else finds a block.

We will define t_prop as the time it takes for a block to propagate from you
to 100% of the hashing power, and as a simplifying assumption we will assume
that until t_prop has elapsed, 0% of the hashing power has the block, and
immedately after, 100% has the block. We will also define t_int, the average
interval between blocks. (600 seconds for Bitcoin) Finally, we will define Q
as the probability that you will find the next block.

The probabilities of the various outcomes:

1) 1 - (t_prop/t_int * (1-Q))
2) t_prop/t_int * (1-Q)
2.1) Q
2.2) 1-Q

Note that to simplify the equations we have not taking into account
propagation in our calculations for outcomes 2.1 or 2.2

Thus we can define P_fork taking into account Q:

P_fork(Q) = (t_prop/t_int * (1-Q))(1-Q) = t_pop/t_int * (1-Q)^2

Over the range 0 < Q < 0.5 the probability of a fork decreases approximately
linearly as your hashing power increases:

d/dq P_fork(Q) = 2(Q-1)

Q=0   -> d/dq P_fork(Q) = -2
Q=1/2 -> d/dq P_fork(Q) = -1

With our new, more accurate, P_fork(Q) function lets re-calculate the
break-even fee/KB using your original approach:

t_prop = t_0 + \alpha*S
E_fee = f*S

E(Q) = Q*(1 - P_fork(Q))*(E_bounty + E_fee)
E(Q) = Q*[1 - (t_0 + k*S)/t_int * (1-Q)^2]*(E_B + f*S)

d/dS E(Q) = Q*[ -2fSk/t_int*(1-Q)^2 - f*t_0/t_int*(1-Q)^2 + f -
E_b*k/t_int*(1-Q)^2 ]

Again, we want to choose the fee so that the more transactions we include
the more we earn, dE/dS > 0 We find the minimum fee to include a transaction
at all by setting S=0, thus we get:

d/dS E(Q, S=0) = Q*[ f - f*t_0/t_int*(1-Q)^2 - E_b*k/t_int*(1-Q)^2 ] > 0

f(1 - t_0/t_int*(1-Q)^2) > E_b*k/t_int*(1-Q)^2

f > [E_b*k/t_int(1-Q)^2] / [1 - t_0/t_int*(1-Q)^2]

f > [E_b*k*(1-Q)^2] / [t_int - t_0*(1-Q)^2]

With Q=0:

f > E_b*k / (t_int - t_0) ~ E_b*k/t_int

This is the same result you derived. However lets look at Q != 0:

df/dQ = 2*E_b*k * [t_int*(q-1)] / [t_int - t_0(q-1)^2]^2

With negligible latency we get:

df/dQ, t_0=0 = 2*E_b*k*(q-1)/t_int

So what does that mean? Well in the region 0 < q < 1/2, df/dQ is always
negative. In other words, as you get more hashing power, the fee/KB you can
charge and still break even decreases linearly because you will never orphan
yourself. Lets trythe same assumptions as your first analysis, based on the
work by Decker et al

Based on the work by Decker et al, lets try to calculate break-even fee/KB
for negligible, 10%, 25% and 40% hashing power:

t_0 = 10s
t_int = 600s
k = 80ms/kB
E_b = 25BTC

Q=0    -> f = 0.0033 BTC/kB
Q=0.1  -> f = 0.0027 BTC/kB
Q=0.25 -> f = 0.0018 BTC/kB
Q=0.40 -> f = 0.0012 BTC/kB

Let's assume every miner is directly peered with every other miner, each of
those connections is 1MB/s, and somehow there's no latency at all:

k = 1mS/kB

Q=0    -> f = 0.000042 BTC/kB
Q=0.1  -> f = 0.000034 BTC/kB
Q=0.25 -> f = 0.000023 BTC/kB
Q=0.40 -> f = 0.000015 BTC/kB

Regardless of how you play around with the parameters, being a larger miner
has a significant advantage because you can charge lower fees for your
transactions and therefor earn more money. But it gets even more ugly when
you take into account that maybe a guy with 0.1% hashing power can't afford
the high bandwidth, low-latency, internet connection that the larger pool
has:

k = 10mS/kB, t_0=5s, Q=0.01 -> 0.000411 BTC/KB k =  1mS/kB, t_0=1s, Q=0.15
-> 0.000030 BTC/KB

So the 1% pool has an internet connection capable of 100kB/s to each peer,
taking 5s to reach all the hashing power. The 15% pool can do 1MB/s to each
peer, taking 1s to reach all the hashing power. This small different means
that the 1% pool needs to charge 13.7x more per KB for their transactions to
break even! It's a disaster for decentralization.
Businesses live and die on percentage points, let alone orders of magnitude
differences in cost, and I haven't even taken into account second-order
effects like the perverse incentives to publish your blocks to only a
minority of hashing power.(1)

This problem is inherent to the fundemental design of Bitcoin:
regardless of what the blocksize is, or how fast the network is, the current
Bitcoin consensus protocol rewards larger mining pools with lower costs per
KB to include transactions. It's a fundemental issue. An unlimited blocksize
will make the problem even worse by increasing fixed costs, but keeping the
blocksize at 1MB forever doesn't solve the underlying problem either as the
inflation subsidy becomes less important and fees more important.

1)
http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg032
00.html

--
'peter'[:-1]@petertodd.org
00000000000000054eeccf3ac454892457bf4919d78efb275efd2ddd1a920c99
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature

------------------------------


------=_NextPart_000_0000_01CEDC6C.4C7C8250
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIVSzCCBjQw
ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn
BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX
DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw
KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy
dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK
75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC
+y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD
z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr
/+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w
ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc
fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa
MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh
aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j
b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG
XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt
UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R
HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv
sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s
sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq
+n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT
zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq
Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1
9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHQjCCBiqg
AwIBAgIDB1pmMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN
MTMwODE5MTczNDI5WhcNMTQwODIxMTEwMDAwWjBdMRkwFwYDVQQNExBWZWtHNU9qOVl5WmNodDNr
MRwwGgYDVQQDDBNnb3NzLmJyaWFuQG1heW8uZWR1MSIwIAYJKoZIhvcNAQkBFhNnb3NzLmJyaWFu
QG1heW8uZWR1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtZmwzEjho1Ufz/EayoBC
pvkyK09sIfFWFqd5rsmRawpsLujB2PyzfItneLiEceOxjugTJx2LPf0KFVAUFfsQspT0MUjaLmxA
2y25UanyNnXxZYSrvdZxWvzRMjGUiucWbMJid2rrs1Sw/NX7Nb5q3myQFzpN3LMfx59i8GtrfydH
UHjidy3QtVvQPKopSl4gV3cDXE0t0IZziTt6eAvzmpcvTs+y8+wDgwtHgMWbKT+hzkUjzroOGblH
Eo9wSb+U8lqGigVZoXjMExziur64h6EnycuXDzUUd8l9HNxoaRGvrIIi0OsbC0y+oQgGscE4jKG6
p/Hfm6yAgjCs0pNZH22j9vBTnVAS8QiVnPChD6xJoXK4EZobhjklJ4Xub6hzOeJOnVv55aANGZfo
Taqn85AeQVNXTsGW4InzAwfs3FIDvVkVIfoZ76bl2b4E4aAjUzySGF0Fge1niyXqfEUo5AsyXXT7
3/e32Ps48jBEibC3DXGi8HsAt3sitVmgy9tFiTkZssEH6Ww3gJgOX99NvKa622HBwcoiPrWTuGqj
IcbydCU7+TD+DGp0Ba/wn4su4zWyTxw2+6ScB8EGBqq7ZBnezTEBCYEJozvplWeiTb33447pV0QB
Zy7CZ7EnrkVWPvIYCoCkur5/cFkdtqhGFMKJeoaYyainn09NBAefEh0CAwEAAaOCAtkwggLVMAkG
A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNV
HQ4EFgQUYMAsXmllo2/4ITvdZCTjS1j4rIIwHwYDVR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4
UYIwHgYDVR0RBBcwFYETZ29zcy5icmlhbkBtYXlvLmVkdTCCAUwGA1UdIASCAUMwggE/MIIBOwYL
KwYBBAGBtTcBAgMwggEqMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xp
Y3kucGRmMIH3BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
eTADAgEBGoG+VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNzdWVkIGFjY29yZGluZyB0byB0aGUgQ2xh
c3MgMSBWYWxpZGF0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LCBy
ZWxpYW5jZSBvbmx5IGZvciB0aGUgaW50ZW5kZWQgcHVycG9zZSBpbiBjb21wbGlhbmNlIG9mIHRo
ZSByZWx5aW5nIHBhcnR5IG9ibGlnYXRpb25zLjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3Js
LnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzAB
hi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2EwQgYIKwYBBQUH
MAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xpZW50LmNhLmNy
dDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQEFBQADggEB
AHOU0uPSE7hU0EaF+CeC86/0UdkTc5cwC9cH4IvLaBKEWpSQ1Ej+WVr6E8tbMwFWfBeEvyh2UatO
eWScMtSTl/756Xh3A8i8uqbEFxk4/GofCOVS5yLZiHWUG4FmbHiBELo7OpkpaH5r2yNRr/Gbh5jD
rOFLGoTf0Ob5JbnNv0drB8mIVUkoHED59/cDyYkllNFA7OkqUV3KPI8vk8s3m9HpstjXAAdrc//c
r+3v6Uv5VsSl7KrGuxJ+kkrKb0xcz6mckVa3fauWat8FhOmuUUlyXw9vDC/hf5yxy9F2/hBDKWUn
fmNvNt8z4JYlccXpBPGKYYdSlQNEL3t+nMRe1QIwggfJMIIFsaADAgECAgEBMA0GCSqGSIb3DQEB
BQUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1
cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eTAeFw0wNjA5MTcxOTQ2MzZaFw0zNjA5MTcxOTQ2MzZaMH0xCzAJBgNV
BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBD
ZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMGI2wm8bEZ8eJ+Ve7UzkPJyYtbB
NiAiJF7O6XfyQwqiBmSkzI42+DjmI/BubbE83XKjhRyh0z20MyvTL6/+6rBBWWe2xAZ9Cp50hdZ5
TIA3et85BVJZ9/QbRkOk0oWF0sNx83ViNLosin8ej+7tNNARx5bNUj26M9bdTd4LO0pLn8ImL/q1
FhxyNXfKPF3myuEmixo2dlwB23QUJf7ttaCID914yi0fB5cwAS1yefpG1hMqqLmmq4NJHeXy793k
AY4YCo9jUxaFYqkOGTrMtWamwmt0B+Qr4XY+tG3Y9kThc2IfO8S+oFNWJWxRCfeqq8q/dv1tm/Od
2789ZrwMVqqvmEiVOkvfp1hQ2Th1qVvqQwwC/5nr6GxNcFspZZzdql3MrwEx7Azr0o3o6px75m73
J2YMGkjXbkLjP94hPnvhDXD7Y6qobBpUtFwlesmiyYsWprssfhdeBU1YbhIdAe4SEA3GMn8Y//z0
+s1ukeg2Sb4aSGmLwpZNGhKyaRfBCpDW+nkiSL+6e2n4cMf6ejfY2A3Sdk9X/5C345HS3e/CYLdn
Ot3+qpzw1It/ciLOxp+XtviviqAQqNn7GMa2tVxSPIm2GSpzAQoPA7MSYPJ6L4Hbo27/JjCX9Yvd
iVe2rT2zryvFt3YC8KXWK5qGFCpy9uMzjF0JSxPfu4x0E1JLAgMBAAGjggJSMIICTjAMBgNVHRME
BTADAQH/MAsGA1UdDwQEAwIBrjAdBgNVHQ4EFgQUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZAYDVR0f
BF0wWzAsoCqgKIYmaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3Nmc2NhLWNybC5jcmwwK6ApoCeG
JWh0dHA6Ly9jcmwuc3RhcnRjb20ub3JnL3Nmc2NhLWNybC5jcmwwggFdBgNVHSAEggFUMIIBUDCC
AUwGCysGAQQBgbU3AQEBMIIBOzAvBggrBgEFBQcCARYjaHR0cDovL2NlcnQuc3RhcnRjb20ub3Jn
L3BvbGljeS5wZGYwNQYIKwYBBQUHAgEWKWh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9pbnRlcm1l
ZGlhdGUucGRmMIHQBggrBgEFBQcCAjCBwzAnFiBTdGFydCBDb21tZXJjaWFsIChTdGFydENvbSkg
THRkLjADAgEBGoGXTGltaXRlZCBMaWFiaWxpdHksIHJlYWQgdGhlIHNlY3Rpb24gKkxlZ2FsIExp
bWl0YXRpb25zKiBvZiB0aGUgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUG9saWN5
IGF2YWlsYWJsZSBhdCBodHRwOi8vY2VydC5zdGFydGNvbS5vcmcvcG9saWN5LnBkZjARBglghkgB
hvhCAQEEBAMCAAcwOAYJYIZIAYb4QgENBCsWKVN0YXJ0Q29tIEZyZWUgU1NMIENlcnRpZmljYXRp
b24gQXV0aG9yaXR5MA0GCSqGSIb3DQEBBQUAA4ICAQAWbJn0Zgw09dCFXn0K7NoQTjgcXt+mJQVL
kTLB6DvxPd1ECVsHSYopy2YCt7Ga9yWYCTyOG+HdNocrS7to0zlmPaAmx/I5kR1Rq4J7ftXOWuTi
A1dwaZcI+V5YpgrfjAaaRRYWOApeV/Zix3oCBea8HrXynvSpKYP4shTjbiiHRMOQGt44qTysQ01k
Rc7dKKlc8nN7BPgX6Kux8y5cZG5zMToSuLyzEeR9j4FRmjuNifRNk2Z7PAPt05odmvNlUPWg0HWf
L6/w6oJDmPhpnIl5xEOORnLjZDYSr/clHjiJkHd+w2tqucPLREuseJCL58csHksRRMg0UifNCl2f
hcGJ1Rp48pUQUzLdgIRmddm1aCj7YS6+hKg4wJkShqUeZ2StBi4vqXCFx5YPfIll9Y5DVA6r3aWA
OZRgwDTJlnAsoxL1H0h7vRx+a7edkPQiO674/CrK+oJSoO+vS1WT68G18CKLrDROJiIEoYcsdUq3
5X0T17gMZMA20skvhhKMIwnBG4I7c0mjaleHlOXWeMWZQ2PjTeB3LeFlmXJpBBpHCeYPAVYk+x+/
DnmpWC65xAkBfpW6bQAGPrLqShA52NAr9b/sdb+XAsUJGwjcVTfigfs3hENiIMrnVktl6v5swSST
JKE06wX/miKum30/8WVRCqYwarP0iByADfxyiuiDXjGCBR0wggUZAgEBMIGUMIGMMQswCQYDVQQG
EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2Vy
dGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVy
bWVkaWF0ZSBDbGllbnQgQ0ECAwdaZjAJBgUrDgMCGgUAoIICXTAYBgkqhkiG9w0BCQMxCwYJKoZI
hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMzExMDgxNjIxMzNaMCMGCSqGSIb3DQEJBDEWBBQn0jBl
pNOFYFbik/bcxG2uhra4BTCBpQYJKwYBBAGCNxAEMYGXMIGUMIGMMQswCQYDVQQGEwJJTDEWMBQG
A1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg
U2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD
bGllbnQgQ0ECAwdaZjCBpwYLKoZIhvcNAQkQAgsxgZeggZQwgYwxCzAJBgNVBAYTAklMMRYwFAYD
VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT
aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs
aWVudCBDQQIDB1pmMIGrBgkqhkiG9w0BCQ8xgZ0wgZowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQB
FjAKBggqhkiG9w0DBzALBglghkgBZQMEAQIwDgYIKoZIhvcNAwICAgCAMAcGBSsOAwIHMA0GCCqG
SIb3DQMCAgFAMA0GCCqGSIb3DQMCAgEoMAcGBSsOAwIaMAsGCWCGSAFlAwQCAzALBglghkgBZQME
AgIwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIICAA5/KTzEKPWC/VeTMAW4tik5AabERW1l
vR5/hJp5Y26y0qfp5XPNmEvOoRexXAiRGBftQgDOIuwE3moARlE9l+7eGpSmVP+FpRDWOFxXM5Xs
dXYDbVimgQG2rukJW7xnFouxXXknCngjQRhdrbxBrQ05aROJfuwYe5UNuLJeI3eLy+kNxyLDi0/s
Vs03CZawejZc/dt6LaKpgv9A+vlMCFIQppa0In+20giuoltowyo9S3mlYcPtC3tXjW8abafb82Eh
WKrc0K//eZUi7Gi9WYfEeJJU0NSbIEFiEmZnJG2Cs+IjIFZgYC6yt6RlI2c/4XaPo4YUabVRPZae
LiLDhX5iIc/vEObKfU8x6ZgiriUOgShbSYW/xHmHR8crB1SAEdxN53HKk+AKc4RqZj0nU3x7uaHo
YI+THia5oGATfxfRu5KBGyRb40ddDTt7206Es2F91SXeg4UOZ5MX6zFfQGUJknsi1EHS/T+cIjsU
TSzcgj9xLX71ZtVnxoKCQrz6WKQBNlZ66TX8XCkucCODZIis679qWIamIjJQWNkuoc1Klse3GQxe
VFI2HazqW96Ayd64A9Pq9lIoXbqGH5S++s76w1w1TUCbvJgfBv/PyUfGFZAeqcJRAbR9AIKxFAbZ
0yDYZM9CEUf1G8tHUZqqr6Mm2jY354910mrR/COS1AbkAAAAAAAA

------=_NextPart_000_0000_01CEDC6C.4C7C8250--