From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot0-x230.google.com (mail-ot0-x230.google.com [IPv6:2607:f8b0:4003:c0f::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 8F85D3B29E for ; Wed, 25 Jan 2017 18:56:34 -0500 (EST) Received: by mail-ot0-x230.google.com with SMTP id f9so164355441otd.1 for ; Wed, 25 Jan 2017 15:56:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=QC9E58q2BjQTBVUaX2763cvjlIuZBIBp+qN2XLUhMq8=; b=N6ilyupMj3CmcfM88I8EfNTWzP8ALE4Fe+gcXGWTpdiYL4muurXx7QBjvaZzcazKvG RX9LZybyvKzAqWQ4xIv4Le6OJR9iIM+KclJ88CDgDdSpzAy2HsHMkECfWH45g4ta3ibv qf4QVFvS5gsWStSHJXaGjfpHcpP8U5iQlxM5fOhp7AxMpUFjOfWT3h2i6dXg6Gr4qzLI eRD9jVsH9p3Fbadp2ofGjNZmxyMOpF431vgg72wp7Yd3iDHZOW8EVAByI4+2DFK/rQVc RoJNKqEHe4aSf9cYC0S73uqIXbWId1w6BjsfvzN87ZWKI7nkkHG+6gxcYU8d/7ZPS0YP ORdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=QC9E58q2BjQTBVUaX2763cvjlIuZBIBp+qN2XLUhMq8=; b=n2iOT+KdUNSe5kNI9hByat007n+2Iu2C32K5qlk96G0oviH5FhZ5/YFRc9ZGIhfZnM wuULadzOA6y5E4Lmv7qAE8sFpf8mR1ZBuw1Q496hie74IShbNSh3IIe/A4n12Pm6yWxq UBB1D1ckKZI1tC27GXelfXU+gM7XWDavaschI0blTdjPmt0x8vlEJMxHdpX7pwVOQKU4 19fTIbwnf6cGK6rbm86rtpZvX9wSxpBrAOqAtO+kvyiEv/fTKyCkexsPLtuc74nfT86w /CIOMKseCHfKHHvYDhTIlqZDggVwW/XdOPEef65NUt9/Zq3AFXDN4fPZM6xc/bwxDf3t 5aDQ== X-Gm-Message-State: AIkVDXLUeKU45Pm4U+/X3328nbKFwhrS8/cP5y5NXPn6I3ZxxIk1rmNHgibPu7SgZnuHQxTTE4GPA/khlGWu4w== X-Received: by 10.157.18.246 with SMTP id g109mr21303otg.10.1485388594020; Wed, 25 Jan 2017 15:56:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.1.21 with HTTP; Wed, 25 Jan 2017 15:56:33 -0800 (PST) In-Reply-To: <1485388385.5145.87.camel@edumazet-glaptop3.roam.corp.google.com> References: <1485387201.5145.81.camel@edumazet-glaptop3.roam.corp.google.com> <1485388385.5145.87.camel@edumazet-glaptop3.roam.corp.google.com> From: Hans-Kristian Bakke Date: Thu, 26 Jan 2017 00:56:33 +0100 Message-ID: To: Eric Dumazet Cc: Neal Cardwell , bloat Content-Type: multipart/alternative; boundary=94eb2c05539c8008900546f3fb34 Subject: Re: [Bloat] Initial tests with BBR in kernel 4.9 X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 23:56:34 -0000 --94eb2c05539c8008900546f3fb34 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable These are just the fq settings as they get applied when having fq as default qdiscs. I guess there are room for improvements on those default settings depending on use case. For future reference: should I increase the limit on drops or is it okay as it is? On 26 January 2017 at 00:53, Eric Dumazet wrote: > On Thu, 2017-01-26 at 00:47 +0100, Hans-Kristian Bakke wrote: > > > > > > I did record the qdisc settings, but I didn't capture the stats, but > > throttling is definitively active when I watch the tc -s stats in > > realtime when testing (looking at tun1) > > > > > > =E2=80=8Btc -s qdisc show > > qdisc noqueue 0: dev lo root refcnt 2 > > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) > > backlog 0b 0p requeues 0 > > qdisc fq 8007: dev eth0 root refcnt 2 limit 10000p flow_limit 100p > > buckets 1024 orphan_mask 1023 quantum 3028 initial_quantum 15140 > > refill_delay 40.0ms > > Sent 1420855729 bytes 969198 pkt (dropped 134, overlimits 0 requeues > > 0) > > backlog 0b 0p requeues 0 > > 124 flows (123 inactive, 0 throttled) > > 0 gc, 0 highprio, 3 throttled, 3925 ns latency, 134 flows_plimit > > You seem to hit the "flow_limit 100" maybe because all packets are going > through a single encap flow. ( 134 drops ) > > > qdisc fq 8008: dev tun1 root refcnt 2 limit 10000p flow_limit 100p > > buckets 1024 orphan_mask 1023 quantum 3000 initial_quantum 15000 > > refill_delay 40.0ms > > Sent 1031289740 bytes 741181 pkt (dropped 0, overlimits 0 requeues 0) > > backlog 101616b 3p requeues 0 > > 16 flows (15 inactive, 1 throttled), next packet delay 351937 ns > > 0 gc, 0 highprio, 58377 throttled, 12761 ns latency > > =E2=80=8B > > > > Looks good, although latency seems a bit high, thanks ! > > > > > > On 26 January 2017 at 00:33, Eric Dumazet > > wrote: > > > > On Thu, 2017-01-26 at 00:04 +0100, Hans-Kristian Bakke wrote: > > > I can do that. I guess I should do the capture from tun1 as > > that is > > > the place that the tcp-traffic is visible? My non-virtual > > nic is only > > > seeing OpenVPN encapsulated UDP-traffic. > > > > > > > But is FQ installed at the point TCP sockets are ? > > > > You should give us "tc -s qdisc show xxx" so that we can > > check if > > pacing (throttling) actually happens. > > > > > > > On 25 January 2017 at 23:48, Neal Cardwell > > > > > wrote: > > > On Wed, Jan 25, 2017 at 5:38 PM, Hans-Kristian Bakke > > > wrote: > > > Actually.. the 1-4 mbit/s results with fq > > sporadically > > > appears again as I keep testing but it is > > most likely > > > caused by all the unknowns between me an my > > > testserver. But still, changing to > > pfifo_qdisc seems > > > to normalize the throughput again with BBR, > > could this > > > be one of those times where BBR and pacing > > actually is > > > getting hurt for playing nice in some very > > variable > > > bottleneck on the way? > > > > > > > > > Possibly. Would you be able to take a tcpdump trace > > of each > > > trial (headers only would be ideal), and post on a > > web site > > > somewhere a pcap trace for one of the slow trials? > > > > > > > > > For example: > > > > > > > > > tcpdump -n -w /tmp/out.pcap -s 120 -i eth0 -c > > 1000000 & > > > > > > > > > > > > thanks, > > > neal > > > > > > > > > > > > > > > On 25 January 2017 at 23:01, Neal Cardwell > > > wrote: > > > On Wed, Jan 25, 2017 at 3:54 PM, > > Hans-Kristian > > > Bakke wrote: > > > Hi > > > > > > > > > Kernel 4.9 finally landed in > > Debian > > > testing so I could finally > > test BBR in > > > a real life environment that > > I have > > > struggled with getting any > > kind of > > > performance out of. > > > > > > > > > The challenge at hand is UDP > > based > > > OpenVPN through europe at > > around 35 ms > > > rtt to my VPN-provider with > > plenty of > > > available bandwith available > > in both > > > ends and everything > > completely unknown > > > in between. After tuning the > > > UDP-buffers up to make room > > for my 500 > > > mbit/s symmetrical bandwith > > at 35 ms > > > the download part seemed to > > work > > > nicely at an unreliable 150 > > to 300 > > > mbit/s, while the upload was > > stuck at > > > 30 to 60 mbit/s. > > > > > > > > > Just by activating BBR the > > bandwith > > > instantly shot up to around > > 150 mbit/s > > > using a fat tcp test to a > > public > > > iperf3 server located near > > my VPN exit > > > point in the Netherlands. > > Replace BBR > > > with qubic again and the > > performance > > > is once again all over the > > place > > > ranging from very bad to > > bad, but > > > never better than 1/3 of > > BBRs "steady > > > state". In other words > > "instant WIN!" > > > > > > > > > Glad to hear it. Thanks for the test > > report! > > > > > > However, seeing the > > requirement of fq > > > and pacing for BBR and > > noticing that I > > > am running pfifo_fast within > > a VM with > > > virtio NIC on a Proxmox VE > > host with > > > fq_codel on all physical > > interfaces, I > > > was surprised to see that it > > worked so > > > well. > > > I then replaced pfifo_fast > > with fq and > > > the performance went right > > down to > > > only 1-4 mbit/s from around > > 150 > > > mbit/s. Removing the fq > > again regained > > > the performance at once. > > > > > > > > > I have got some questions to > > you guys > > > that know a lot more than me > > about > > > these things: > > > 1. Do fq (and fq_codel) even > > work > > > reliably in a VM? What is > > the best > > > choice for default qdisc to > > use in a > > > VM in general? > > > > > > > > > Eric covered this one. We are not > > aware of > > > specific issues with fq in VM > > environments. > > > And we have tested that fq works > > sufficiently > > > well on Google Cloud VMs. > > > > > > 2. Why do BBR immediately > > "fix" all my > > > issues with upload through > > that > > > "unreliable" big BDP link > > with > > > pfifo_fast when fq pacing is > > a > > > requirement? > > > > > > > > > For BBR, pacing is part of the > > design in order > > > to make BBR more "gentle" in terms > > of the rate > > > at which it sends, in order to put > > less > > > pressure on buffers and keep packet > > loss > > > lower. This is particularly > > important when a > > > BBR flow is restarting from idle. In > > this case > > > BBR starts with a full cwnd, and it > > counts on > > > pacing to pace out the packets at > > the > > > estimated bandwidth, so that the > > queue can > > > stay relatively short and yet the > > pipe can be > > > filled immediately. > > > > > > > > > Running BBR without pacing makes BBR > > more > > > aggressive, particularly in > > restarting from > > > idle, but also in the steady state, > > where BBR > > > tries to use pacing to keep the > > queue short. > > > > > > > > > For bulk transfer tests with one > > flow, running > > > BBR without pacing will likely cause > > higher > > > queues and loss rates at the > > bottleneck, which > > > may negatively impact other traffic > > sharing > > > that bottleneck. > > > > > > 3. Could fq_codel on the > > physical host > > > be the reason that it still > > works? > > > > > > > > > Nope, fq_codel does not implement > > pacing. > > > > > > 4. Do BBR _only_ work with > > fq pacing > > > or could fq_codel be used as > > a > > > replacement? > > > > > > > > > Nope, BBR needs pacing to work > > correctly, and > > > currently fq is the only Linux qdisc > > that > > > implements pacing. > > > > > > 5. Is BBR perhaps modified > > to do the > > > right thing without having > > to change > > > the qdisc in the current > > kernel 4.9? > > > > > > > > > Nope. Linux 4.9 contains the initial > > public > > > release of BBR from September 2016. > > And there > > > have been no code changes since then > > (just > > > expanded comments). > > > > > > > > > Thanks for the test report! > > > > > > > > > neal > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > Bloat mailing list > > > Bloat@lists.bufferbloat.net > > > https://lists.bufferbloat.net/listinfo/bloat > > > > > > > > > > > > > --94eb2c05539c8008900546f3fb34 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFt aWx5OnZlcmRhbmEsc2Fucy1zZXJpZiI+VGhlc2UgYXJlIGp1c3QgdGhlIGZxIHNldHRpbmdzIGFz IHRoZXkgZ2V0IGFwcGxpZWQgd2hlbiBoYXZpbmcgZnEgYXMgZGVmYXVsdCBxZGlzY3MuIEkgZ3Vl c3MgdGhlcmUgYXJlIHJvb20gZm9yIGltcHJvdmVtZW50cyBvbiB0aG9zZSBkZWZhdWx0IHNldHRp bmdzIGRlcGVuZGluZyBvbiB1c2UgY2FzZS48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0 IiBzdHlsZT0iZm9udC1mYW1pbHk6dmVyZGFuYSxzYW5zLXNlcmlmIj48YnI+PC9kaXY+PGRpdiBj bGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFtaWx5OnZlcmRhbmEsc2Fucy1zZXJp ZiI+Rm9yIGZ1dHVyZSByZWZlcmVuY2U6IHNob3VsZCBJIGluY3JlYXNlIHRoZSBsaW1pdCBvbiBk cm9wcyBvciBpcyBpdCBva2F5IGFzIGl0IGlzPzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImdtYWls X2V4dHJhIj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIDI2IEphbnVhcnkgMjAxNyBh dCAwMDo1MywgRXJpYyBEdW1hemV0IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRv OmVyaWMuZHVtYXpldEBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5lcmljLmR1bWF6ZXRAZ21h aWwuY29tPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xp ZDtwYWRkaW5nLWxlZnQ6MWV4Ij48c3BhbiBjbGFzcz0iIj5PbiBUaHUsIDIwMTctMDEtMjYgYXQg MDA6NDcgKzAxMDAsIEhhbnMtS3Jpc3RpYW4gQmFra2Ugd3JvdGU6PGJyPg0KJmd0Ozxicj4NCiZn dDs8YnI+DQomZ3Q7IEkgZGlkIHJlY29yZCB0aGUgcWRpc2Mgc2V0dGluZ3MsIGJ1dCBJIGRpZG4m IzM5O3QgY2FwdHVyZSB0aGUgc3RhdHMsIGJ1dDxicj4NCiZndDsgdGhyb3R0bGluZyBpcyBkZWZp bml0aXZlbHkgYWN0aXZlIHdoZW4gSSB3YXRjaCB0aGUgdGMgLXMgc3RhdHMgaW48YnI+DQomZ3Q7 IHJlYWx0aW1lIHdoZW4gdGVzdGluZyAobG9va2luZyBhdCB0dW4xKTxicj4NCiZndDs8YnI+DQom Z3Q7PGJyPg0KJmd0OyDigIt0YyAtcyBxZGlzYyBzaG93PGJyPg0KJmd0OyBxZGlzYyBub3F1ZXVl IDA6IGRldiBsbyByb290IHJlZmNudCAyPGJyPg0KJmd0O8KgIFNlbnQgMCBieXRlcyAwIHBrdCAo ZHJvcHBlZCAwLCBvdmVybGltaXRzIDAgcmVxdWV1ZXMgMCk8YnI+DQomZ3Q7wqAgYmFja2xvZyAw YiAwcCByZXF1ZXVlcyAwPGJyPg0KJmd0OyBxZGlzYyBmcSA4MDA3OiBkZXYgZXRoMCByb290IHJl ZmNudCAyIGxpbWl0IDEwMDAwcCBmbG93X2xpbWl0IDEwMHA8YnI+DQomZ3Q7IGJ1Y2tldHMgMTAy NCBvcnBoYW5fbWFzayAxMDIzIHF1YW50dW0gMzAyOCBpbml0aWFsX3F1YW50dW0gMTUxNDA8YnI+ DQomZ3Q7IHJlZmlsbF9kZWxheSA0MC4wbXM8YnI+DQomZ3Q7wqAgU2VudCAxNDIwODU1NzI5IGJ5 dGVzIDk2OTE5OCBwa3QgKGRyb3BwZWQgMTM0LCBvdmVybGltaXRzIDAgcmVxdWV1ZXM8YnI+DQom Z3Q7IDApPGJyPg0KJmd0O8KgIGJhY2tsb2cgMGIgMHAgcmVxdWV1ZXMgMDxicj4NCiZndDvCoCDC oDEyNCBmbG93cyAoMTIzIGluYWN0aXZlLCAwIHRocm90dGxlZCk8YnI+DQomZ3Q7wqAgwqAwIGdj LCAwIGhpZ2hwcmlvLCAzIHRocm90dGxlZCwgMzkyNSBucyBsYXRlbmN5LCAxMzQgZmxvd3NfcGxp bWl0PGJyPg0KPGJyPg0KPC9zcGFuPllvdSBzZWVtIHRvIGhpdCB0aGUgJnF1b3Q7Zmxvd19saW1p dCAxMDAmcXVvdDsgbWF5YmUgYmVjYXVzZSBhbGwgcGFja2V0cyBhcmUgZ29pbmc8YnI+DQp0aHJv dWdoIGEgc2luZ2xlIGVuY2FwIGZsb3cuICggMTM0IGRyb3BzICk8YnI+DQo8c3BhbiBjbGFzcz0i Ij48YnI+DQomZ3Q7IHFkaXNjIGZxIDgwMDg6IGRldiB0dW4xIHJvb3QgcmVmY250IDIgbGltaXQg MTAwMDBwIGZsb3dfbGltaXQgMTAwcDxicj4NCiZndDsgYnVja2V0cyAxMDI0IG9ycGhhbl9tYXNr IDEwMjMgcXVhbnR1bSAzMDAwIGluaXRpYWxfcXVhbnR1bSAxNTAwMDxicj4NCiZndDsgcmVmaWxs X2RlbGF5IDQwLjBtczxicj4NCiZndDvCoCBTZW50IDEwMzEyODk3NDAgYnl0ZXMgNzQxMTgxIHBr dCAoZHJvcHBlZCAwLCBvdmVybGltaXRzIDAgcmVxdWV1ZXMgMCk8YnI+DQomZ3Q7wqAgYmFja2xv ZyAxMDE2MTZiIDNwIHJlcXVldWVzIDA8YnI+DQomZ3Q7wqAgwqAxNiBmbG93cyAoMTUgaW5hY3Rp dmUsIDEgdGhyb3R0bGVkKSwgbmV4dCBwYWNrZXQgZGVsYXkgMzUxOTM3IG5zPGJyPg0KJmd0O8Kg IMKgMCBnYywgMCBoaWdocHJpbywgNTgzNzcgdGhyb3R0bGVkLCAxMjc2MSBucyBsYXRlbmN5PGJy Pg0KJmd0OyDigIs8YnI+DQomZ3Q7PGJyPg0KPGJyPg0KPC9zcGFuPkxvb2tzIGdvb2QsIGFsdGhv dWdoIGxhdGVuY3kgc2VlbXMgYSBiaXQgaGlnaCwgdGhhbmtzICE8YnI+DQo8ZGl2IGNsYXNzPSJI T0VuWmIiPjxkaXYgY2xhc3M9Img1Ij4mZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDsgT24gMjYgSmFu dWFyeSAyMDE3IGF0IDAwOjMzLCBFcmljIER1bWF6ZXQgJmx0OzxhIGhyZWY9Im1haWx0bzplcmlj LmR1bWF6ZXRAZ21haWwuY29tIj5lcmljLmR1bWF6ZXRAZ21haWwuY29tPC9hPiZndDs8YnI+DQom Z3Q7IHdyb3RlOjxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBPbiBUaHUsIDIwMTct MDEtMjYgYXQgMDA6MDQgKzAxMDAsIEhhbnMtS3Jpc3RpYW4gQmFra2Ugd3JvdGU6PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0OyBJIGNhbiBkbyB0aGF0LiBJIGd1ZXNzIEkgc2hvdWxkIGRvIHRo ZSBjYXB0dXJlIGZyb20gdHVuMSBhczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHRoYXQgaXM8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IHRoZSBwbGFjZSB0aGF0IHRoZSB0Y3AtdHJhZmZpYyBp cyB2aXNpYmxlPyBNeSBub24tdmlydHVhbDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoG5pYyBpcyBv bmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBzZWVpbmcgT3BlblZQTiBlbmNhcHN1bGF0 ZWQgVURQLXRyYWZmaWMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBCdXQgaXMgRlEgaW5zdGFsbGVkIGF0IHRoZSBwb2ludCBUQ1Ag c29ja2V0cyBhcmUgPzxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBZb3Ugc2hvdWxk IGdpdmUgdXMgJnF1b3Q7dGMgLXMgcWRpc2Mgc2hvdyB4eHgmcXVvdDvCoCBzbyB0aGF0IHdlIGNh bjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGNoZWNrIGlmPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg cGFjaW5nICh0aHJvdHRsaW5nKSBhY3R1YWxseSBoYXBwZW5zLjxicj4NCiZndDs8YnI+DQomZ3Q7 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0OyBPbiAyNSBKYW51YXJ5IDIwMTcgYXQgMjM6NDgs IE5lYWwgQ2FyZHdlbGw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmbHQ7PGEgaHJlZj0ibWFpbHRv Om5jYXJkd2VsbEBnb29nbGUuY29tIj5uY2FyZHdlbGxAZ29vZ2xlLmNvbTwvYT4mZ3Q7PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqBPbiBXZWQsIEphbiAyNSwgMjAxNyBhdCA1OjM4IFBNLCBIYW5zLUtyaXN0 aWFuIEJha2tlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgJmx0Ozxh IGhyZWY9Im1haWx0bzpoa2Jha2tlQGdtYWlsLmNvbSI+aGtiYWtrZUBnbWFpbC5jb208L2E+Jmd0 OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBBY3R1YWxseS4uIHRoZSAxLTQgbWJpdC9zIHJlc3VsdHMgd2l0aCBmcTxicj4NCiZndDvC oCDCoCDCoCDCoCDCoHNwb3JhZGljYWxseTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFwcGVhcnMgYWdhaW4gYXMgSSBrZWVwIHRlc3RpbmcgYnV0 IGl0IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgbW9zdCBsaWtlbHk8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjYXVzZWQgYnkgYWxsIHRoZSB1 bmtub3ducyBiZXR3ZWVuIG1lIGFuIG15PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgdGVzdHNlcnZlci4gQnV0IHN0aWxsLCBjaGFuZ2luZyB0bzxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoHBmaWZvX3FkaXNjIHNlZW1zPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdG8gbm9ybWFsaXplIHRoZSB0aHJv dWdocHV0IGFnYWluIHdpdGggQkJSLDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGNvdWxkIHRoaXM8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBiZSBv bmUgb2YgdGhvc2UgdGltZXMgd2hlcmUgQkJSIGFuZCBwYWNpbmc8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqBhY3R1YWxseSBpczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoGdldHRpbmcgaHVydCBmb3IgcGxheWluZyBuaWNlIGluIHNvbWUgdmVyeTxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoHZhcmlhYmxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYm90dGxlbmVjayBvbiB0aGUgd2F5Pzxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgUG9zc2libHkuIFdvdWxkIHlvdSBiZSBh YmxlIHRvIHRha2UgYSB0Y3BkdW1wIHRyYWNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgb2YgZWFj aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoHRyaWFsIChoZWFkZXJz IG9ubHkgd291bGQgYmUgaWRlYWwpLCBhbmQgcG9zdCBvbiBhPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgd2ViIHNpdGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqBzb21l d2hlcmUgYSBwY2FwIHRyYWNlIGZvciBvbmUgb2YgdGhlIHNsb3cgdHJpYWxzPzxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgRm9yIGV4YW1wbGU6PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgdGNwZHVtcCAtbiAtdyAvdG1wL291dC5wY2Fw IC1zIDEyMCAtaSBldGgwIC1jPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgMTAwMDAwMCAmYW1wOzxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDC oCDCoCDCoCDCoHRoYW5rcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAg wqBuZWFsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oE9uIDI1IEphbnVhcnkgMjAxNyBhdCAyMzowMSwgTmVhbCBDYXJkd2VsbDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZsdDs8YSBocmVmPSJtYWls dG86bmNhcmR3ZWxsQGdvb2dsZS5jb20iPm5jYXJkd2VsbEBnb29nbGUuY29tPC9hPiZndDsgd3Jv dGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgT24gV2VkLCBKYW4gMjUsIDIwMTcgYXQgMzo1NCBQTSw8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqBIYW5zLUtyaXN0aWFuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQmFra2UgJmx0OzxhIGhyZWY9Im1haWx0 bzpoa2Jha2tlQGdtYWlsLmNvbSI+aGtiYWtrZUBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqBIaTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgS2VybmVsIDQuOSBmaW5hbGx5 IGxhbmRlZCBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoERlYmlhbjxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHRlc3Rpbmcgc28gSSBjb3VsZCBmaW5hbGx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdGVz dCBCQlIgaW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBhIHJlYWwgbGlmZSBlbnZpcm9ubWVudCB0aGF0 PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgSSBoYXZlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc3RydWdn bGVkIHdpdGggZ2V0dGluZyBhbnk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBraW5kIG9mPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgcGVyZm9ybWFuY2Ugb3V0IG9mLjxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgVGhl IGNoYWxsZW5nZSBhdCBoYW5kIGlzIFVEUDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGJhc2VkPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgT3BlblZQTiB0aHJvdWdoIGV1cm9wZSBhdDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoGFyb3VuZCAzNSBtczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJ0dCB0byBteSBWUE4t cHJvdmlkZXIgd2l0aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHBsZW50eSBvZjxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoGF2YWlsYWJsZSBiYW5kd2l0aCBhdmFpbGFibGU8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqBpbiBib3RoPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZW5kcyBhbmQgZXZlcnl0aGluZzxicj4N CiZndDvCoCDCoCDCoCDCoCDCoGNvbXBsZXRlbHkgdW5rbm93bjxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGluIGJldHdlZW4uIEFmdGVyIHR1bmluZyB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBVRFAtYnVm ZmVycyB1cCB0byBtYWtlIHJvb208YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBmb3IgbXkgNTAwPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgbWJpdC9zIHN5bW1ldHJpY2FsIGJhbmR3aXRoPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgYXQgMzUgbXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0aGUgZG93bmxvYWQgcGFy dCBzZWVtZWQgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB3b3JrPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgbmljZWx5IGF0IGFuIHVucmVsaWFibGUgMTUwPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdG8g MzAwPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbWJpdC9zLCB3aGlsZSB0aGUgdXBsb2FkIHdhczxicj4N CiZndDvCoCDCoCDCoCDCoCDCoHN0dWNrIGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMzAgdG8gNjAg bWJpdC9zLjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSnVzdCBieSBhY3RpdmF0aW5nIEJCUiB0aGU8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBiYW5kd2l0aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGluc3RhbnRs eSBzaG90IHVwIHRvIGFyb3VuZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoDE1MCBtYml0L3M8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqB1c2luZyBhIGZhdCB0Y3AgdGVzdCB0byBhPGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgcHVibGljPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaXBlcmYzIHNlcnZlciBsb2NhdGVk IG5lYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBteSBWUE4gZXhpdDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHBvaW50IGluIHRoZSBOZXRoZXJsYW5kcy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBSZXBs YWNlIEJCUjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHdpdGggcXViaWMgYWdhaW4gYW5kIHRoZTxicj4N CiZndDvCoCDCoCDCoCDCoCDCoHBlcmZvcm1hbmNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaXMgb25j ZSBhZ2FpbiBhbGwgb3ZlciB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBwbGFjZTxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoHJhbmdpbmcgZnJvbSB2ZXJ5IGJhZCB0bzxicj4NCiZndDvCoCDCoCDCoCDC oCDCoGJhZCwgYnV0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbmV2ZXIgYmV0dGVyIHRoYW4gMS8zIG9m PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgQkJScyAmcXVvdDtzdGVhZHk8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBzdGF0ZSZxdW90Oy4gSW4gb3RoZXIgd29yZHM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAm cXVvdDtpbnN0YW50IFdJTiEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEdsYWQgdG8gaGVhciBpdC4gVGhhbmtzIGZv ciB0aGUgdGVzdDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHJlcG9ydCE8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSG93ZXZlciwgc2VlaW5nIHRoZTxicj4N CiZndDvCoCDCoCDCoCDCoCDCoHJlcXVpcmVtZW50IG9mIGZxPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg YW5kIHBhY2luZyBmb3IgQkJSIGFuZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoG5vdGljaW5nIHRo YXQgSTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFtIHJ1bm5pbmcgcGZpZm9fZmFzdCB3aXRoaW48YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBhIFZNIHdpdGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB2aXJ0aW8g TklDIG9uIGEgUHJveG1veCBWRTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGhvc3Qgd2l0aDxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGZxX2NvZGVsIG9uIGFsbCBwaHlzaWNhbDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoGludGVyZmFjZXMsIEk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB3YXMgc3VycHJpc2VkIHRv IHNlZSB0aGF0IGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgd29ya2VkIHNvPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgd2VsbC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBJIHRoZW4gcmVwbGFjZWQgcGZpZm9f ZmFzdDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHdpdGggZnEgYW5kPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgdGhlIHBlcmZvcm1hbmNlIHdlbnQgcmlnaHQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBkb3du IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgb25seSAxLTQgbWJpdC9zIGZyb20gYXJvdW5kPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgMTUwPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbWJpdC9zLiBSZW1vdmlu ZyB0aGUgZnE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBhZ2FpbiByZWdhaW5lZDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHRoZSBwZXJmb3JtYW5jZSBhdCBvbmNlLjxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSSBo YXZlIGdvdCBzb21lIHF1ZXN0aW9ucyB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHlvdSBndXlz PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgdGhhdCBrbm93IGEgbG90IG1vcmUgdGhhbiBtZTxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoGFib3V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdGhlc2UgdGhpbmdzOjxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoDEuIERvIGZxIChhbmQgZnFfY29kZWwpIGV2ZW48YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqB3b3JrPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmVsaWFibHkgaW4gYSBWTT8g V2hhdCBpczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHRoZSBiZXN0PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgY2hvaWNlIGZvciBkZWZhdWx0IHFkaXNjIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdXNl IGluIGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBWTSBpbiBnZW5lcmFsPzxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRXJpYyBjb3Zl cmVkIHRoaXMgb25lLiBXZSBhcmUgbm90PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgYXdhcmUgb2Y8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBzcGVjaWZpYyBpc3N1ZXMgd2l0aCBmcSBpbiBWTTxicj4NCiZndDvCoCDCoCDCoCDC oCDCoGVudmlyb25tZW50cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBBbmTCoCB3ZSBoYXZlIHRlc3RlZCB0aGF0IGZxIHdv cmtzPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgc3VmZmljaWVudGx5PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgd2VsbCBvbiBH b29nbGUgQ2xvdWQgVk1zLjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAyLiBXaHkgZG8gQkJSIGltbWVkaWF0ZWx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg JnF1b3Q7Zml4JnF1b3Q7IGFsbCBteTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlzc3VlcyB3aXRoIHVw bG9hZCB0aHJvdWdoPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdGhhdDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCZxdW90O3VucmVsaWFibGUmcXVvdDsgYmlnIEJEUCBsaW5rPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgd2l0aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHBmaWZvX2Zhc3Qgd2hlbiBmcSBwYWNpbmcg aXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmVxdWlyZW1l bnQ/PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZn dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBGb3IgQkJSLCBwYWNpbmcgaXMgcGFydCBvZiB0aGU8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqBkZXNpZ24gaW4gb3JkZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0byBtYWtlIEJCUiBtb3JlICZxdW90O2dl bnRsZSZxdW90OyBpbiB0ZXJtczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoG9mIHRoZSByYXRlPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgYXQgd2hpY2ggaXQgc2VuZHMsIGluIG9yZGVyIHRvIHB1dDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoGxlc3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBwcmVzc3VyZSBvbiBidWZmZXJzIGFuZCBrZWVwIHBhY2tldDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoGxvc3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBsb3dlci4gVGhpcyBpcyBwYXJ0aWN1 bGFybHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBpbXBvcnRhbnQgd2hlbiBhPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQkJS IGZsb3cgaXMgcmVzdGFydGluZyBmcm9tIGlkbGUuIEluPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg dGhpcyBjYXNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgQkJSIHN0YXJ0cyB3aXRoIGEgZnVsbCBjd25kLCBhbmQgaXQ8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBjb3VudHMgb248YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwYWNpbmcgdG8gcGFjZSBvdXQg dGhlIHBhY2tldHMgYXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGU8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBlc3RpbWF0 ZWQgYmFuZHdpZHRoLCBzbyB0aGF0IHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHF1ZXVlIGNh bjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoHN0YXkgcmVsYXRpdmVseSBzaG9ydCBhbmQgeWV0IHRoZTxicj4NCiZndDvCoCDC oCDCoCDCoCDCoHBpcGUgY2FuIGJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZmlsbGVkIGltbWVkaWF0ZWx5Ljxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg UnVubmluZyBCQlIgd2l0aG91dCBwYWNpbmcgbWFrZXMgQkJSPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgbW9yZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGFnZ3Jlc3NpdmUsIHBhcnRpY3VsYXJseSBpbjxicj4NCiZndDvCoCDC oCDCoCDCoCDCoHJlc3RhcnRpbmcgZnJvbTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlkbGUsIGJ1dCBhbHNvIGluIHRoZSBz dGVhZHkgc3RhdGUsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgd2hlcmUgQkJSPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdHJp ZXMgdG8gdXNlIHBhY2luZyB0byBrZWVwIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoHF1ZXVl IHNob3J0Ljxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgRm9yIGJ1bGsgdHJhbnNmZXIgdGVzdHMgd2l0aCBvbmU8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqBmbG93LCBydW5uaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQkJSIHdpdGhvdXQgcGFjaW5nIHdp bGwgbGlrZWx5IGNhdXNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgaGlnaGVyPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcXVl dWVzIGFuZCBsb3NzIHJhdGVzIGF0IHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGJvdHRsZW5l Y2ssIHdoaWNoPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgbWF5IG5lZ2F0aXZlbHkgaW1wYWN0IG90aGVyIHRyYWZmaWM8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBzaGFyaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdGhhdCBib3R0bGVuZWNrLjxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAzLiBDb3VsZCBmcV9j b2RlbCBvbiB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBwaHlzaWNhbCBob3N0PGJyPg0KJmd0 O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgYmUgdGhlIHJlYXNvbiB0aGF0IGl0IHN0aWxsPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgd29ya3M/PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBOb3BlLCBmcV9jb2RlbCBkb2VzIG5vdCBpbXBsZW1lbnQ8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqBwYWNpbmcuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoDQuIERvIEJCUiBfb25seV8gd29yayB3aXRoPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgZnEgcGFjaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgb3IgY291bGQgZnFfY29k ZWwgYmUgdXNlZCBhczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGE8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqByZXBsYWNlbWVudD88YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoE5vcGUsIEJCUiBuZWVkcyBwYWNpbmcgdG8gd29yazxicj4N CiZndDvCoCDCoCDCoCDCoCDCoGNvcnJlY3RseSwgYW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY3VycmVudGx5IGZxIGlz IHRoZSBvbmx5IExpbnV4IHFkaXNjPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdGhhdDxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGltcGxlbWVudHMgcGFjaW5nLjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqA1LiBJcyBCQlIgcGVyaGFwcyBtb2RpZmllZDxicj4NCiZndDvCoCDCoCDCoCDC oCDCoHRvIGRvIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJpZ2h0IHRoaW5nIHdpdGhvdXQgaGF2 aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgdG8gY2hhbmdlPGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg dGhlIHFkaXNjIGluIHRoZSBjdXJyZW50PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKga2VybmVsIDQu OT88YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoE5vcGUuIExpbnV4IDQuOSBjb250YWlucyB0aGUgaW5pdGlhbDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoHB1YmxpYzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJlbGVhc2Ugb2YgQkJSIGZyb20gU2VwdGVtYmVy IDIwMTYuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgQW5kIHRoZXJlPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaGF2ZSBiZWVu IG5vIGNvZGUgY2hhbmdlcyBzaW5jZSB0aGVuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgKGp1c3Q8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBleHBhbmRlZCBjb21tZW50cykuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUaGFua3MgZm9yIHRoZSB0ZXN0IHJl cG9ydCE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoG5lYWw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAmZ3Q7IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fXzx3YnI+X19fX19fX19fX19fX19fX188YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAmZ3Q7IEJsb2F0IG1haWxpbmcgbGlzdDxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCZndDsgPGEgaHJlZj0ibWFpbHRvOkJsb2F0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldCI+Qmxv YXRAbGlzdHMuYnVmZmVyYmxvYXQubmV0PC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCZndDsg PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5idWZmZXJibG9hdC5uZXQvbGlzdGluZm8vYmxvYXQiIHJl bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuYnVmZmVyYmxvYXQu bmV0Lzx3YnI+bGlzdGluZm8vYmxvYXQ8L2E+PGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7 PGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQo8YnI+DQo8YnI+DQo8L2Rpdj48L2Rpdj48L2Jsb2Nr cXVvdGU+PC9kaXY+PGJyPjwvZGl2Pg0K --94eb2c05539c8008900546f3fb34--