From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x22e.google.com (mail-oi0-x22e.google.com [IPv6:2607:f8b0:4003:c06::22e]) (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 10BB93B2A4 for ; Thu, 26 Jan 2017 15:57:43 -0500 (EST) Received: by mail-oi0-x22e.google.com with SMTP id j15so145765209oih.2 for ; Thu, 26 Jan 2017 12:57:43 -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=N0n8FnnXMyQIUOOffWDRoWmBkhLzK6TicEwFMAzk4Qs=; b=oWi7cckeEEDX//2nsGXO4mvZi844Fh+AW/IfGbfqMoSKrTZzdw0d80lcIMyjKnONLP szwQcPPJxOhAOW/WgEgO60skJoEF5ZODzroi1KVQsLgVvBRn8J0M1wLM8zw1sWyzfjPs 3neM1fL9sxP3C4fk6dDzFjj0OaBXJFtlnCrrbCfQmOWs2mG22kCYcL7bdQ9cbN0Xigms 56r+PVxcIHz+WINiBZpl/BfiMKmD0XEpQWbPlVA8/r5F4co2K0qoXLkmZCm+DBNlfZq8 VGm0vqEeeA6LhgZ2ZbbZyMhFxpup36iA1AaLrjw1tvniNq2CVFE1OLn+S+pf2DQX/C88 KUmA== 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=N0n8FnnXMyQIUOOffWDRoWmBkhLzK6TicEwFMAzk4Qs=; b=JpRHCDRlFZg2vy4ltrUn4XvOxdAVQJpDNrpx+fC9zAsrYWXYhYg2GUvl1KEeJ+Hc9Z Uw5BhEPMUhn26zGaLU6Fj6tSsvmdJv6sXebjjizyzXr/sM8epabak3PbL9tjXCSY2Ws+ pdskBuYHdRLSEFng+8PVRNra2eDgyibftJDCe5c0aU26oTRCrUNQsZ6Sm11q0PHtQSRk kdzIa7CZaSLqG4vlM/OJBWq2yZdYZHu9V6ZUOMUsmesBn987blFrfoqO6V+bvgx3zwni 93tg+ZAijRHMSQLpNm71YZ/ZntV+bk1LoYQ99pjx7wHlAaFZB9e1P9jaEGwne9JH2/Xn JJRg== X-Gm-Message-State: AIkVDXJOEnjto+ndRUEeSqEoi9v2D95Di3S6hXIYamo7GPa+qiCFkAofzgZsmrMv3glmRjXFgKwZH6NQMRn1wg== X-Received: by 10.202.84.143 with SMTP id i137mr3056073oib.202.1485464262530; Thu, 26 Jan 2017 12:57:42 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.27.72 with HTTP; Thu, 26 Jan 2017 12:57:42 -0800 (PST) In-Reply-To: <1485464055.5145.170.camel@edumazet-glaptop3.roam.corp.google.com> References: <1485458323.5145.151.camel@edumazet-glaptop3.roam.corp.google.com> <1485464055.5145.170.camel@edumazet-glaptop3.roam.corp.google.com> From: Hans-Kristian Bakke Date: Thu, 26 Jan 2017 21:57:42 +0100 Message-ID: To: Eric Dumazet Cc: David Lang , bloat Content-Type: multipart/alternative; boundary=001a113debb8b1dadc0547059913 Subject: Re: [Bloat] Excessive throttling with fq 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: Thu, 26 Jan 2017 20:57:43 -0000 --001a113debb8b1dadc0547059913 Content-Type: text/plain; charset=UTF-8 The receiver (as in the nginx proxy in the dumps) is actually running fq qdisc with BBR on kernel 4.9. Could that explain what you are seeing? Changing it to cubic does not change the resulting throughput though, and it also was not involved at all in the Windows 10 -> linux router -> Apache server tests which also gives the same 23-ish MB/s with pacing. On 26 January 2017 at 21:54, Eric Dumazet wrote: > It looks like the receiver is seriously limiting receive window in the > "pacing" case. > > Only after 30 Mbytes are transfered, it finally increases it, from > 359168 to 1328192 > > DRS is not working as expected. Again maybe related to HZ value. > > > On Thu, 2017-01-26 at 21:19 +0100, Hans-Kristian Bakke wrote: > > There are two packet captures from fq with and without pacing here: > > > > > > https://owncloud.proikt.com/index.php/s/KuXIl8h8bSFH1fM > > > > > > > > The server (with fq pacing/nopacing) is 10.0.5.10 and is running a > > Apache2 webserver at port tcp port 443. The tcp client is nginx > > reverse proxy at 10.0.5.13 on the same subnet which again is proxying > > the connection from the Windows 10 client. > > - I did try to connect directly to the server with the client (via a > > linux gateway router) avoiding the nginx proxy and just using plain > > no-ssl http. That did not change anything. > > - I also tried stopping the eth0 interface to force the traffic to the > > eth1 interface in the LACP which changed nothing. > > - I also pulled each of the cable on the switch to force the traffic > > to switch between interfaces in the LACP link between the client > > switch and the server switch. > > > > > > The CPU is a 5-6 year old Intel Xeon X3430 CPU @ 4x2.40GHz on a > > SuperMicro platform. It is not very loaded and the results are always > > in the same ballpark with fq pacing on. > > > > > > > > top - 21:12:38 up 12 days, 11:08, 4 users, load average: 0.56, 0.68, > > 0.77 > > Tasks: 1344 total, 1 running, 1343 sleeping, 0 stopped, 0 zombie > > %Cpu0 : 0.0 us, 1.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 > > si, 0.0 st > > %Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 97.4 id, 2.0 wa, 0.0 hi, 0.3 > > si, 0.0 st > > %Cpu2 : 0.0 us, 2.0 sy, 0.0 ni, 96.4 id, 1.3 wa, 0.0 hi, 0.3 > > si, 0.0 st > > %Cpu3 : 0.7 us, 2.3 sy, 0.0 ni, 94.1 id, 3.0 wa, 0.0 hi, 0.0 > > si, 0.0 st > > KiB Mem : 16427572 total, 173712 free, 9739976 used, 6513884 > > buff/cache > > KiB Swap: 6369276 total, 6126736 free, 242540 used. 6224836 avail > > Mem > > > > > > This seems OK to me. It does have 24 drives in 3 ZFS pools at 144TB > > raw storage in total with several SAS HBAs that is pretty much always > > poking the system in some way or the other. > > > > > > There are around 32K interrupts when running @23 MB/s (as seen in > > chrome downloads) with pacing on and about 25K interrupts when running > > @105 MB/s with fq nopacing. Is that normal? > > > > > > Hans-Kristian > > > > > > > > On 26 January 2017 at 20:58, David Lang wrote: > > Is there any CPU bottleneck? > > > > pacing causing this sort of problem makes me thing that the > > CPU either can't keep up or that something (Hz setting type of > > thing) is delaying when the CPU can get used. > > > > It's not clear from the posts if the problem is with sending > > data or receiving data. > > > > David Lang > > > > > > On Thu, 26 Jan 2017, Eric Dumazet wrote: > > > > Nothing jumps on my head. > > > > We use FQ on links varying from 1Gbit to 100Gbit, and > > we have no such > > issues. > > > > You could probably check on the server the TCP various > > infos given by ss > > command > > > > > > ss -temoi dst > > > > > > pacing rate is shown. You might have some issues, but > > it is hard to say. > > > > > > On Thu, 2017-01-26 at 19:55 +0100, Hans-Kristian Bakke > > wrote: > > After some more testing I see that if I > > disable fq pacing the > > performance is restored to the expected > > levels: # for i in eth0 eth1; do tc qdisc > > replace dev $i root fq nopacing; > > done > > > > > > Is this expected behaviour? There is some > > background traffic, but only > > in the sub 100 mbit/s on the switches and > > gateway between the server > > and client. > > > > > > The chain: > > Windows 10 client -> 1000 mbit/s -> switch -> > > 2xgigabit LACP -> switch > > -> 4 x gigabit LACP -> gw (fq_codel on all > > nics) -> 4 x gigabit LACP > > (the same as in) -> switch -> 2 x lacp -> > > server (with misbehaving fq > > pacing) > > > > > > > > On 26 January 2017 at 19:38, Hans-Kristian > > Bakke > > wrote: > > I can add that this is without BBR, > > just plain old kernel 4.8 > > cubic. > > > > On 26 January 2017 at 19:36, > > Hans-Kristian Bakke > > wrote: > > Another day, another fq issue > > (or user error). > > > > > > I try to do the seeminlig > > simple task of downloading a > > single large file over local > > gigabit LAN from a > > physical server running kernel > > 4.8 and sch_fq on intel > > server NICs. > > > > > > For some reason it wouldn't go > > past around 25 MB/s. > > After having replaced SSL with > > no SSL, replaced apache > > with nginx and verified that > > there is plenty of > > bandwith available between my > > client and the server I > > tried to change qdisc from fq > > to pfifo_fast. It > > instantly shot up to around > > the expected 85-90 MB/s. > > The same happened with > > fq_codel in place of fq. > > > > > > I then checked the statistics > > for fq and the throttled > > counter is increasing > > massively every second (eth0 and > > eth1 is LACPed using Linux > > bonding so both is seen > > here): > > > > > > qdisc fq 8007: root refcnt 2 > > limit 10000p flow_limit > > 100p buckets 1024 orphan_mask > > 1023 quantum 3028 > > initial_quantum 15140 > > refill_delay 40.0ms > > Sent 787131797 bytes 520082 > > pkt (dropped 15, > > overlimits 0 requeues 0) > > backlog 98410b 65p requeues 0 > > 15 flows (14 inactive, 1 > > throttled) > > 0 gc, 2 highprio, 259920 > > throttled, 15 flows_plimit > > qdisc fq 8008: root refcnt 2 > > limit 10000p flow_limit > > 100p buckets 1024 orphan_mask > > 1023 quantum 3028 > > initial_quantum 15140 > > refill_delay 40.0ms > > Sent 2533167 bytes 6731 pkt > > (dropped 0, overlimits 0 > > requeues 0) > > backlog 0b 0p requeues 0 > > 24 flows (24 inactive, 0 > > throttled) > > 0 gc, 2 highprio, 397 > > throttled > > > > > > Do you have any suggestions? > > > > > > Regards, > > Hans-Kristian > > > > > > > > > > _______________________________________________ > > Bloat mailing list > > Bloat@lists.bufferbloat.net > > https://lists.bufferbloat.net/listinfo/bloat > > > > > > _______________________________________________ > > Bloat mailing list > > Bloat@lists.bufferbloat.net > > https://lists.bufferbloat.net/listinfo/bloat > > > > > > > --001a113debb8b1dadc0547059913 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFt aWx5OnZlcmRhbmEsc2Fucy1zZXJpZiI+VGhlIHJlY2VpdmVyIChhcyBpbiB0aGUgbmdpbnggcHJv eHkgaW4gdGhlIGR1bXBzKSBpcyBhY3R1YWxseSBydW5uaW5nIGZxIHFkaXNjIHdpdGggQkJSIG9u IGtlcm5lbCA0LjkuIENvdWxkIHRoYXQgZXhwbGFpbiB3aGF0IHlvdSBhcmUgc2VlaW5nPzwvZGl2 PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hLHNh bnMtc2VyaWYiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0IiBzdHlsZT0iZm9u dC1mYW1pbHk6dmVyZGFuYSxzYW5zLXNlcmlmIj5DaGFuZ2luZyBpdCB0byBjdWJpYyBkb2VzIG5v dCBjaGFuZ2UgdGhlIHJlc3VsdGluZyB0aHJvdWdocHV0IHRob3VnaCwgYW5kIGl0IGFsc28gd2Fz IG5vdCBpbnZvbHZlZCBhdCBhbGwgaW4gdGhlIFdpbmRvd3MgMTAgLSZndDsgbGludXggcm91dGVy IC0mZ3Q7IEFwYWNoZSBzZXJ2ZXIgdGVzdHMgd2hpY2ggYWxzbyBnaXZlcyB0aGUgc2FtZSAyMy1p c2ggTUIvcyB3aXRoIHBhY2luZy48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0IiBzdHls ZT0iZm9udC1mYW1pbHk6dmVyZGFuYSxzYW5zLXNlcmlmIj48YnI+PC9kaXY+PC9kaXY+PGRpdiBj bGFzcz0iZ21haWxfZXh0cmEiPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gMjYgSmFu dWFyeSAyMDE3IGF0IDIxOjU0LCBFcmljIER1bWF6ZXQgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBo cmVmPSJtYWlsdG86ZXJpYy5kdW1hemV0QGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmVyaWMu ZHVtYXpldEBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPkl0IGxvb2tzIGxpa2UgdGhlIHJlY2VpdmVy IGlzIHNlcmlvdXNseSBsaW1pdGluZyByZWNlaXZlIHdpbmRvdyBpbiB0aGU8YnI+DQomcXVvdDtw YWNpbmcmcXVvdDsgY2FzZS48YnI+DQo8YnI+DQpPbmx5IGFmdGVyIDMwIE1ieXRlcyBhcmUgdHJh bnNmZXJlZCwgaXQgZmluYWxseSBpbmNyZWFzZXMgaXQsIGZyb208YnI+DQozNTkxNjggdG8gMTMy ODE5Mjxicj4NCjxicj4NCkRSUyBpcyBub3Qgd29ya2luZyBhcyBleHBlY3RlZC4gQWdhaW4gbWF5 YmUgcmVsYXRlZCB0byBIWiB2YWx1ZS48YnI+DQo8c3BhbiBjbGFzcz0iaW0gSE9FblpiIj48YnI+ DQo8YnI+DQpPbiBUaHUsIDIwMTctMDEtMjYgYXQgMjE6MTkgKzAxMDAsIEhhbnMtS3Jpc3RpYW4g QmFra2Ugd3JvdGU6PGJyPg0KPC9zcGFuPjxkaXYgY2xhc3M9IkhPRW5aYiI+PGRpdiBjbGFzcz0i aDUiPiZndDsgVGhlcmUgYXJlIHR3byBwYWNrZXQgY2FwdHVyZXMgZnJvbSBmcSB3aXRoIGFuZCB3 aXRob3V0IHBhY2luZyBoZXJlOjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyA8YSBocmVm PSJodHRwczovL293bmNsb3VkLnByb2lrdC5jb20vaW5kZXgucGhwL3MvS3VYSWw4aDhiU0ZIMWZN IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL293bmNsb3VkLnByb2lr dC5jb20vPHdicj5pbmRleC5waHAvcy9LdVhJbDhoOGJTRkgxZk08L2E+PGJyPg0KJmd0Ozxicj4N CiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBUaGUgc2VydmVyICh3aXRoIGZxIHBhY2luZy9ub3Bh Y2luZykgaXMgMTAuMC41LjEwIGFuZCBpcyBydW5uaW5nIGE8YnI+DQomZ3Q7IEFwYWNoZTIgd2Vi c2VydmVyIGF0IHBvcnQgdGNwIHBvcnQgNDQzLiBUaGUgdGNwIGNsaWVudCBpcyBuZ2lueDxicj4N CiZndDsgcmV2ZXJzZSBwcm94eSBhdCAxMC4wLjUuMTMgb24gdGhlIHNhbWUgc3VibmV0IHdoaWNo IGFnYWluIGlzIHByb3h5aW5nPGJyPg0KJmd0OyB0aGUgY29ubmVjdGlvbiBmcm9tIHRoZSBXaW5k b3dzIDEwIGNsaWVudC48YnI+DQomZ3Q7IC0gSSBkaWQgdHJ5IHRvIGNvbm5lY3QgZGlyZWN0bHkg dG8gdGhlIHNlcnZlciB3aXRoIHRoZSBjbGllbnQgKHZpYSBhPGJyPg0KJmd0OyBsaW51eCBnYXRl d2F5IHJvdXRlcikgYXZvaWRpbmcgdGhlIG5naW54IHByb3h5IGFuZCBqdXN0IHVzaW5nIHBsYWlu PGJyPg0KJmd0OyBuby1zc2wgaHR0cC4gVGhhdCBkaWQgbm90IGNoYW5nZSBhbnl0aGluZy48YnI+ DQomZ3Q7IC0gSSBhbHNvIHRyaWVkIHN0b3BwaW5nIHRoZSBldGgwIGludGVyZmFjZSB0byBmb3Jj ZSB0aGUgdHJhZmZpYyB0byB0aGU8YnI+DQomZ3Q7IGV0aDEgaW50ZXJmYWNlIGluIHRoZSBMQUNQ IHdoaWNoIGNoYW5nZWQgbm90aGluZy48YnI+DQomZ3Q7IC0gSSBhbHNvIHB1bGxlZCBlYWNoIG9m IHRoZSBjYWJsZSBvbiB0aGUgc3dpdGNoIHRvIGZvcmNlIHRoZSB0cmFmZmljPGJyPg0KJmd0OyB0 byBzd2l0Y2ggYmV0d2VlbiBpbnRlcmZhY2VzIGluIHRoZSBMQUNQIGxpbmsgYmV0d2VlbiB0aGUg Y2xpZW50PGJyPg0KJmd0OyBzd2l0Y2ggYW5kIHRoZSBzZXJ2ZXIgc3dpdGNoLjxicj4NCiZndDs8 YnI+DQomZ3Q7PGJyPg0KJmd0OyBUaGUgQ1BVIGlzIGEgNS02IHllYXIgb2xkIEludGVsIFhlb24g WDM0MzAgQ1BVIEAgNHgyLjQwR0h6IG9uIGE8YnI+DQomZ3Q7IFN1cGVyTWljcm8gcGxhdGZvcm0u IEl0IGlzIG5vdCB2ZXJ5IGxvYWRlZCBhbmQgdGhlIHJlc3VsdHMgYXJlIGFsd2F5czxicj4NCiZn dDsgaW4gdGhlIHNhbWUgYmFsbHBhcmsgd2l0aCBmcSBwYWNpbmcgb24uPGJyPg0KJmd0Ozxicj4N CiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyB0b3AgLSAyMToxMjozOCB1cCAxMiBkYXlzLCAxMTow OCzCoCA0IHVzZXJzLMKgIGxvYWQgYXZlcmFnZTogMC41NiwgMC42OCw8YnI+DQomZ3Q7IDAuNzc8 YnI+DQomZ3Q7IFRhc2tzOiAxMzQ0IHRvdGFsLMKgIMKgMSBydW5uaW5nLCAxMzQzIHNsZWVwaW5n LMKgIMKgMCBzdG9wcGVkLMKgIMKgMCB6b21iaWU8YnI+DQomZ3Q7ICVDcHUwwqAgOsKgIDAuMCB1 cyzCoCAxLjAgc3kswqAgMC4wIG5pLCA5OS4wIGlkLMKgIDAuMCB3YSzCoCAwLjAgaGkswqAgMC4w PGJyPg0KJmd0OyBzaSzCoCAwLjAgc3Q8YnI+DQomZ3Q7ICVDcHUxwqAgOsKgIDAuMCB1cyzCoCAw LjMgc3kswqAgMC4wIG5pLCA5Ny40IGlkLMKgIDIuMCB3YSzCoCAwLjAgaGkswqAgMC4zPGJyPg0K Jmd0OyBzaSzCoCAwLjAgc3Q8YnI+DQomZ3Q7ICVDcHUywqAgOsKgIDAuMCB1cyzCoCAyLjAgc3ks wqAgMC4wIG5pLCA5Ni40IGlkLMKgIDEuMyB3YSzCoCAwLjAgaGkswqAgMC4zPGJyPg0KJmd0OyBz aSzCoCAwLjAgc3Q8YnI+DQomZ3Q7ICVDcHUzwqAgOsKgIDAuNyB1cyzCoCAyLjMgc3kswqAgMC4w IG5pLCA5NC4xIGlkLMKgIDMuMCB3YSzCoCAwLjAgaGkswqAgMC4wPGJyPg0KJmd0OyBzaSzCoCAw LjAgc3Q8YnI+DQomZ3Q7IEtpQiBNZW0gOiAxNjQyNzU3MiB0b3RhbCzCoCDCoDE3MzcxMiBmcmVl LMKgIDk3Mzk5NzYgdXNlZCzCoCA2NTEzODg0PGJyPg0KJmd0OyBidWZmL2NhY2hlPGJyPg0KJmd0 OyBLaUIgU3dhcDrCoCA2MzY5Mjc2IHRvdGFsLMKgIDYxMjY3MzYgZnJlZSzCoCDCoDI0MjU0MCB1 c2VkLsKgIDYyMjQ4MzYgYXZhaWw8YnI+DQomZ3Q7IE1lbTxicj4NCiZndDs8YnI+DQomZ3Q7PGJy Pg0KJmd0OyBUaGlzIHNlZW1zIE9LIHRvIG1lLiBJdCBkb2VzIGhhdmUgMjQgZHJpdmVzIGluIDMg WkZTIHBvb2xzIGF0IDE0NFRCPGJyPg0KJmd0OyByYXcgc3RvcmFnZSBpbiB0b3RhbCB3aXRoIHNl dmVyYWwgU0FTIEhCQXMgdGhhdCBpcyBwcmV0dHkgbXVjaCBhbHdheXM8YnI+DQomZ3Q7IHBva2lu ZyB0aGUgc3lzdGVtIGluIHNvbWUgd2F5IG9yIHRoZSBvdGhlci48YnI+DQomZ3Q7PGJyPg0KJmd0 Ozxicj4NCiZndDsgVGhlcmUgYXJlIGFyb3VuZCAzMksgaW50ZXJydXB0cyB3aGVuIHJ1bm5pbmcg QDIzIE1CL3MgKGFzIHNlZW4gaW48YnI+DQomZ3Q7IGNocm9tZSBkb3dubG9hZHMpIHdpdGggcGFj aW5nIG9uIGFuZCBhYm91dCAyNUsgaW50ZXJydXB0cyB3aGVuIHJ1bm5pbmc8YnI+DQomZ3Q7IEAx MDUgTUIvcyB3aXRoIGZxIG5vcGFjaW5nLiBJcyB0aGF0IG5vcm1hbD88YnI+DQomZ3Q7PGJyPg0K Jmd0Ozxicj4NCiZndDsgSGFucy1LcmlzdGlhbjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0 Ozxicj4NCiZndDsgT24gMjYgSmFudWFyeSAyMDE3IGF0IDIwOjU4LCBEYXZpZCBMYW5nICZsdDs8 YSBocmVmPSJtYWlsdG86ZGF2aWRAbGFuZy5obSI+ZGF2aWRAbGFuZy5obTwvYT4mZ3Q7IHdyb3Rl Ojxicj4NCiZndDvCoCDCoCDCoCDCoCDCoElzIHRoZXJlIGFueSBDUFUgYm90dGxlbmVjaz88YnI+ DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgcGFjaW5nIGNhdXNpbmcgdGhpcyBzb3J0IG9m IHByb2JsZW0gbWFrZXMgbWUgdGhpbmcgdGhhdCB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqBD UFUgZWl0aGVyIGNhbiYjMzk7dCBrZWVwIHVwIG9yIHRoYXQgc29tZXRoaW5nIChIeiBzZXR0aW5n IHR5cGUgb2Y8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqB0aGluZykgaXMgZGVsYXlpbmcgd2hlbiB0 aGUgQ1BVIGNhbiBnZXQgdXNlZC48YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgSXQm IzM5O3Mgbm90IGNsZWFyIGZyb20gdGhlIHBvc3RzIGlmIHRoZSBwcm9ibGVtIGlzIHdpdGggc2Vu ZGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoGRhdGEgb3IgcmVjZWl2aW5nIGRhdGEuPGJyPg0K Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoERhdmlkIExhbmc8YnI+DQomZ3Q7PGJyPg0KJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoE9uIFRodSwgMjYgSmFuIDIwMTcsIEVyaWMgRHVtYXpl dCB3cm90ZTo8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgTm90 aGluZyBqdW1wcyBvbiBteSBoZWFkLjxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBXZSB1c2UgRlEgb24gbGlua3MgdmFyeWluZyBmcm9tIDFHYml0IHRvIDEwMEdi aXQsIGFuZDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHdlIGhhdmUgbm8gc3Vj aDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlzc3Vlcy48YnI+DQomZ3Q7PGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgWW91IGNvdWxkIHByb2JhYmx5IGNoZWNr IG9uIHRoZSBzZXJ2ZXIgdGhlIFRDUCB2YXJpb3VzPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgaW5mb3MgZ2l2ZW4gYnkgc3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBjb21tYW5kPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBzcyAtdGVtb2kgZHN0ICZsdDtyZW1vdGVpcCZndDs8YnI+DQomZ3Q7PGJyPg0K Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHBhY2luZyByYXRlIGlzIHNo b3duLiBZb3UgbWlnaHQgaGF2ZSBzb21lIGlzc3VlcywgYnV0PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgaXQgaXMgaGFyZCB0byBzYXkuPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBPbiBUaHUsIDIwMTctMDEtMjYgYXQgMTk6 NTUgKzAxMDAsIEhhbnMtS3Jpc3RpYW4gQmFra2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBBZnRlciBzb21lIG1vcmUgdGVzdGluZyBJIHNlZSB0aGF0IGlmIEk8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBkaXNhYmxlIGZxIHBhY2luZyB0aGU8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwZXJmb3JtYW5j ZSBpcyByZXN0b3JlZCB0byB0aGUgZXhwZWN0ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBsZXZlbHM6ICMgZm9yIGkgaW4gZXRoMCBldGgxOyBkbyB0YyBx ZGlzYzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJlcGxh Y2UgZGV2ICRpIHJvb3QgZnEgbm9wYWNpbmc7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgZG9uZTxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSXMgdGhpcyBleHBlY3RlZCBiZWhhdmlv dXI/IFRoZXJlIGlzIHNvbWU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBiYWNrZ3JvdW5kIHRyYWZmaWMsIGJ1dCBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgaW4gdGhlIHN1YiAxMDAgbWJpdC9zIG9uIHRoZSBz d2l0Y2hlcyBhbmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqBnYXRld2F5IGJldHdlZW4gdGhlIHNlcnZlcjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoGFuZCBjbGllbnQuPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUaGUgY2hhaW46PGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgV2luZG93cyAxMCBjbGll bnQgLSZndDsgMTAwMCBtYml0L3MgLSZndDsgc3dpdGNoIC0mZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMnhnaWdhYml0IExBQ1AgLSZndDsgc3dpdGNo PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgLSZndDsgNCB4 IGdpZ2FiaXQgTEFDUCAtJmd0OyBndyAoZnFfY29kZWwgb24gYWxsPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgbmljcykgLSZndDsgNCB4IGdpZ2FiaXQgTEFD UDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCh0aGUgc2Ft ZSBhcyBpbikgLSZndDsgc3dpdGNoIC0mZ3Q7IDIgeCBsYWNwIC0mZ3Q7PGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc2VydmVyICh3aXRoIG1pc2JlaGF2aW5n IGZxPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcGFjaW5n KTxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoE9uIDI2IEphbnVhcnkgMjAxNyBhdCAxOTozOCwgSGFucy1L cmlzdGlhbjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEJh a2tlICZsdDs8YSBocmVmPSJtYWlsdG86aGtiYWtrZUBnbWFpbC5jb20iPmhrYmFra2VAZ21haWwu Y29tPC9hPiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqBJIGNhbiBhZGQgdGhhdCB0aGlzIGlzIHdpdGhvdXQgQkJSLDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGp1c3QgcGxhaW4gb2xkIGtlcm5l bCA0Ljg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBjdWJpYy48YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgT24gMjYgSmFudWFyeSAyMDE3IGF0IDE5OjM2LDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEhhbnMtS3Jpc3Rp YW4gQmFra2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAmbHQ7PGEgaHJlZj0ibWFpbHRvOmhrYmFra2VAZ21haWwuY29tIj5oa2Jha2tl QGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEFub3RoZXIgZGF5LCBhbm90 aGVyIGZxIGlzc3VlPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgKG9yIHVzZXIgZXJyb3IpLjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSSB0 cnkgdG8gZG8gdGhlIHNlZW1pbmxpZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoHNpbXBsZSB0YXNrIG9mIGRvd25sb2FkaW5nIGE8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBz aW5nbGUgbGFyZ2UgZmlsZSBvdmVyIGxvY2FsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgZ2lnYWJpdMKgIExBTiBmcm9tIGE8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwaHlz aWNhbCBzZXJ2ZXIgcnVubmluZyBrZXJuZWw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqA0LjggYW5kIHNjaF9mcSBvbiBpbnRlbDxicj4NCiZndDvCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHNl cnZlciBOSUNzLjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRm9yIHNvbWUgcmVh c29uIGl0IHdvdWxkbiYjMzk7dCBnbzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoHBhc3QgYXJvdW5kIDI1IE1CL3MuPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQWZ0ZXIgaGF2 aW5nIHJlcGxhY2VkIFNTTCB3aXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgbm8gU1NMLCByZXBsYWNlZCBhcGFjaGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB3aXRoIG5n aW54IGFuZCB2ZXJpZmllZCB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgdGhlcmUgaXMgcGxlbnR5IG9mPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYmFuZHdpdGggYXZh aWxhYmxlIGJldHdlZW4gbXk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqBjbGllbnQgYW5kIHRoZSBzZXJ2ZXIgSTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRyaWVkIHRvIGNo YW5nZSBxZGlzYyBmcm9tIGZxPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgdG8gcGZpZm9fZmFzdC4gSXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbnN0YW50bHkgc2hvdCB1 cCB0byBhcm91bmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqB0aGUgZXhwZWN0ZWQgODUtOTAgTUIvcy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBUaGUgc2FtZSBoYXBwZW5l ZCB3aXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgZnFf Y29kZWwgaW4gcGxhY2Ugb2YgZnEuPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBJ IHRoZW4gY2hlY2tlZCB0aGUgc3RhdGlzdGljczxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoGZvciBmcSBhbmQgdGhlIHRocm90dGxlZDxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGNvdW50ZXIgaXMgaW5jcmVhc2luZzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoG1hc3NpdmVseSBldmVyeSBzZWNvbmQgKGV0aDAgYW5kPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgZXRoMSBpcyBMQUNQZWQgdXNpbmcgTGludXg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqBib25kaW5nIHNvIGJvdGggaXMgc2Vlbjxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGhlcmUpOjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcWRpc2MgZnEgODAwNzog cm9vdCByZWZjbnQgMjxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoGxpbWl0IDEwMDAwcCBmbG93X2xpbWl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMTAwcCBidWNrZXRzIDEw MjQgb3JwaGFuX21hc2s8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAxMDIzIHF1YW50dW0gMzAyODxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGluaXRpYWxfcXVhbnR1bSAxNTE0 MDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJlZmlsbF9k ZWxheSA0MC4wbXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgU2VudCA3ODcxMzE3OTcgYnl0ZXMgNTIwMDgyPGJy Pg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcGt0IChkcm9wcGVk IDE1LDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoG92ZXJsaW1pdHMgMCByZXF1ZXVlcyAwKTxicj4NCiZndDvCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCBiYWNrbG9nIDk4NDEwYiA2NXAgcmVxdWV1ZXMgMDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDE1IGZsb3dz ICgxNCBpbmFjdGl2ZSwgMTxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHRocm90dGxlZCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAwIGdjLCAyIGhpZ2hwcmlvLCAyNTk5 MjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0aHJvdHRs ZWQsIDE1IGZsb3dzX3BsaW1pdDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHFkaXNjIGZxIDgwMDg6IHJvb3QgcmVm Y250IDI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBsaW1p dCAxMDAwMHAgZmxvd19saW1pdDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDEwMHAgYnVja2V0cyAxMDI0IG9ycGhh bl9tYXNrPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMTAy MyBxdWFudHVtIDMwMjg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbml0aWFsX3F1YW50dW0gMTUxNDA8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZWZpbGxfZGVsYXkgNDAu MG1zPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIFNlbnQgMjUzMzE2NyBieXRlcyA2NzMxIHBrdDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChkcm9wcGVkIDAsIG92ZXJsaW1p dHMgMDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHJlcXVldWVzIDApPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJhY2tsb2cgMGIg MHAgcmVxdWV1ZXMgMDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDI0IGZsb3dzICgyNCBpbmFjdGl2ZSwgMDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRocm90dGxlZCk8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAwIGdjLCAyIGhpZ2hwcmlvLCAzOTc8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB0aHJvdHRsZWQ8YnI+DQomZ3Q7PGJyPg0KJmd0 Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoERvIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9ucz88YnI+DQomZ3Q7PGJy Pg0KJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgSGFucy1LcmlzdGlh bjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgQmxvYXQgbWFpbGluZyBsaXN0PGJyPg0KJmd0O8KgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGEgaHJlZj0ibWFpbHRvOkJsb2F0QGxpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldCI+QmxvYXRAbGlzdHMuYnVmZmVyYmxvYXQubmV0PC9hPjxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxhIGhyZWY9Imh0dHBzOi8vbGlz dHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZvL2Jsb2F0IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl dD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC88d2JyPmxpc3RpbmZvL2Js b2F0PC9hPjxicj4NCiZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19fX19f Xzxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEJsb2F0IG1haWxpbmcgbGlzdDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxhIGhyZWY9Im1haWx0bzpCbG9hdEBs aXN0cy5idWZmZXJibG9hdC5uZXQiPkJsb2F0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldDwvYT48YnI+ DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YSBocmVmPSJodHRwczovL2xpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9ibG9hdCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9i bGFuayI+aHR0cHM6Ly9saXN0cy5idWZmZXJibG9hdC5uZXQvPHdicj5saXN0aW5mby9ibG9hdDwv YT48YnI+DQomZ3Q7PGJyPg0KJmd0Ozxicj4NCjxicj4NCjxicj4NCjwvZGl2PjwvZGl2PjwvYmxv Y2txdW90ZT48L2Rpdj48YnI+PC9kaXY+DQo= --001a113debb8b1dadc0547059913--