From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x236.google.com (mail-wm0-x236.google.com [IPv6:2a00:1450:400c:c09::236]) (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 ABF383B260 for ; Sat, 27 Aug 2016 03:31:24 -0400 (EDT) Received: by mail-wm0-x236.google.com with SMTP id q128so6925233wma.1 for ; Sat, 27 Aug 2016 00:31:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to; bh=pz4fQr33AmTlPdqnIL6W7hIJh/lhB8uFK1hhegNXOpc=; b=r5C/zN5SPlpyRsYemCcnsestUtU1c4PoZVCbpHqFOEsSW26m+3zq2ss+9wnRk3h+OZ dDm4xP+h3vXQcQbkXzTi3UH36mmmykvdW7LkH+k7jXHQHKyp+sgv9XZAcm7Mmfi1sQPM UMzKxmwU4tcHKi0RwOZyK9Fq1377CWoI3PVhyhMY6i2CxJJvOgOP4bVWzIIwuPg3UZv8 mJkJ0uVEIPCIaCmnX2yr3q2CuUjqLrkwuU5DXT5RETIGTPMYnpxftGW9Twrkhq3aAxGZ 66zCw7qvSwrD6WBK4U1yOhl2epvNrB6P/UOMOdnVgzVrpMnC8R2TxDGivuTE8ddwNsaq spQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=pz4fQr33AmTlPdqnIL6W7hIJh/lhB8uFK1hhegNXOpc=; b=iVFk226CBnF394t1RFneOt5wX0/iAHnEXojEAurqP0q4yWSvN41ulago4R/+mxpfhE AGubp1X8Edamf+3nd5dBp8HkKfE2PC6uVkRKH38Cv7GXRtxoaczEHz1PFC27lxMYJFAr 1jWGIUEtX4wUZHscbksHFT5vShlNaRJbLeXKutBJr76ymWWY2panvz+ZMTQpp9dkapzk LB0KjAzt7CbaXKPj/bvY52kA/vOjjCOIKj9Wd4iElHLpGhZonbQuO3/Uh2ty2y8yGBt5 TeOJpcMIDD8E1PWsQ/162oJwruJ7LkLQRJjI1SPYA0rdTGgZ8zIkUs79cHjqnEHk8lby HaDg== X-Gm-Message-State: AE9vXwO5OWne/NXgCVzULK1cMnCjAwbGWVgLa8+M2xk5RtL4SX78L6ySCAkZLm2cKj+LtA== X-Received: by 10.28.210.82 with SMTP id j79mr2108659wmg.10.1472283083348; Sat, 27 Aug 2016 00:31:23 -0700 (PDT) Received: from localhost.localdomain (host-89-243-172-136.as13285.net. [89.243.172.136]) by smtp.googlemail.com with ESMTPSA id o142sm2513567wme.20.2016.08.27.00.31.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 27 Aug 2016 00:31:22 -0700 (PDT) To: "techicist@gmail.com" , cake@lists.bufferbloat.net References: <96AE5B3F-FDD6-455E-BB08-D4A162EC3F23@gmx.de> <3ed1004a-d688-11ec-c788-d8a456b22b34@gmail.com> <23996FEA-F20C-4654-9A57-792927BCDC83@gmx.de> <806ee109-52af-743c-799e-4b2ce3340ec4@gmail.com> From: Alan Jenkins Message-ID: Date: Sat, 27 Aug 2016 08:31:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------F843500766C29200EF3F7B0A" Subject: Re: [Cake] Configuring cake for VDSL2 bridged connection X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Aug 2016 07:31:25 -0000 This is a multi-part message in MIME format. --------------F843500766C29200EF3F7B0A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 26/08/16 13:04, techicist@gmail.com wrote: > How would I go about enabling flowblind in OpenWRT? :) Add the flowblind option. If you're using SQM-scripts, the GUI for it=20 has a freeform field for extra options. (It's hidden under a couple of=20 "advanced" and "dangerous" expanders). You can see that the option has=20 been applied & accepted by looking for `flowblind` in the output of `tc=20 qdisc`, run on the router using `ssh`. > And the 5ms+ jump you're talking about, that would compare to an ideal = 3ms > jump not using flowblind. Is that right? I think flowblind would add 5ms+, on top of the 3ms you measured without = it, i.e. 8ms+ increase. > We do use the connection for gaming and so it might be useful. Without > flowblind, are you saying that latency in games would be worse with jus= t > standard cake? *with* flowblind, latency in games would be slightly worse. When=20 someone else is uploading/downloading files at the same time. Or=20 potentially when a computer is doing both in the background, because it=20 gets software updates over P2P. > > Thanks so much for your help so far. > > On 26 August 2016 at 12:52, Alan Jenkins > wrote: >> On 26/08/16 12:29, moeller0 wrote: >> >> Hi techicist, >> >> >> On Aug 26, 2016, at 13:15 , techicist@gmail.com wrote: >> >> Is flowblind likely to give better performance? >> >> That depends on your definition of better, I guess. Typically flow-fa= ir queuing seems to be what most people prefer (unless an application eit= her does not respond to AQM signals or open an excessive amount of indivi= dual flows flow-fair queueing effectively treats most traffic sources equ= al, pretty much what people seem to want, add to this a bit of classifica= tion to exempt e.g. VOIP traffic from only getting its flow-fair share of= the bandwidth and the whole thing also works reasonably well with slow l= inks). People suffering from unruly applications (like mis-configured? bi= t-torrent clients or recently windows update) often ask for per-applicati= on fairness, but that is not something a router will ever be able to deli= ver in my opinion; the closest we get to this would be fairnes by interna= l or external end-IP addresses. Luckily cake offers just these modes =E2=80= =9Cdsthost=E2=80=9D, =E2=80=9Csrchost=E2=80=9D and even better offers a c= ombination modes that will on a first level attempt per host-IP fairness = and within each host IP also per-flow fairness (=E2=80=9Cdual-srchost=E2=80= =9D and =E2=80=9Cdual-dsthost=E2=80=9D, and even =E2=80=9Ctriple-isolate=E2= =80=9D which systematically might be better called =E2=80=9Cdual-srchost-= dsthost=E2=80=9D since it offers fist level fairness based on an under-do= cumented mix of src and dst addresses, but I digress). Please note that o= n a typical homerouter, due to NAT, all the IP addressed based fairness m= odes will not work for IPv4 on the wan interface, IPv6 traffic should be = fine, but IPv4 basically degrades into a computationally more intensive v= ersion of flow-fairness (as after NAT cake only sees the routers external= IP for all internal hosts). This might have been more than you wanted to= know=E2=80=A6 >> >> Best Regards >> Sebastian >> >> >> flowblind is an option for testing purposes or advanced use cases. Th= e >> design goal for Cake is to avoid understanding and fiddling with optio= ns to >> get good performance for common cases. >> >> If you try enabling flowblind, your latency under load will jump by 5m= s+. >> "Head of line blocking". A full queue will be 5ms. This will delay f= lows >> which do not need a full fair share of the link, like VOIP or gaming. >> Lower latency is better for VOIP or gaming. >> >> You should find this is small compared to the latency increase under l= oad >> without cake. You wouldn't notice it in web browsing. (Frankly I don= 't >> seem to notice 100ms extra latency in web browsing. >> >> I run fq_codel for similar performance to cake, mainly to increase my >> confidence that torrent uploads don't have noticable effects for other= >> household users. Torrent downloads still suck, but I haven't seen any= Cake >> results promoted on that basis. It either needs to be fixed at the IS= P >> end, or in the torrent software. QUIC are emulating the competitivene= ss of >> 2x TCP flows in a single UDP flow. BT should be able to emulate half = a TCP >> flow when downloading from two peers simultaneously). >> > > > _______________________________________________ > Cake mailing list > Cake@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cake --------------F843500766C29200EF3F7B0A Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9 dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJn Y29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgT24gMjYvMDgvMTYgMTM6MDQs IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzp0ZWNo aWNpc3RAZ21haWwuY29tIj50ZWNoaWNpc3RAZ21haWwuY29tPC9hPiB3cm90ZTo8YnI+CiAg ICA8YmxvY2txdW90ZQpjaXRlPSJtaWQ6Q0FOaWFPQ25yTitySHVGOXQrdS1KWktzbkJPM1dp cWdOeC03QW51VmkrLTNhVEZ1NzhRQG1haWwuZ21haWwuY29tIgogICAgICB0eXBlPSJjaXRl Ij4KICAgICAgPHByZSB3cmFwPSIiPkhvdyB3b3VsZCBJIGdvIGFib3V0IGVuYWJsaW5nIGZs b3dibGluZCBpbiBPcGVuV1JUPyA6KTwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJy PgogICAgQWRkIHRoZSBmbG93YmxpbmQgb3B0aW9uLsKgIElmIHlvdSdyZSB1c2luZyBTUU0t c2NyaXB0cywgdGhlIEdVSSBmb3IKICAgIGl0IGhhcyBhIGZyZWVmb3JtIGZpZWxkIGZvciBl eHRyYSBvcHRpb25zLsKgIChJdCdzIGhpZGRlbiB1bmRlciBhCiAgICBjb3VwbGUgb2YgImFk dmFuY2VkIiBhbmQgImRhbmdlcm91cyIgZXhwYW5kZXJzKS7CoCBZb3UgY2FuIHNlZSB0aGF0 CiAgICB0aGUgb3B0aW9uIGhhcyBiZWVuIGFwcGxpZWQgJmFtcDsgYWNjZXB0ZWQgYnkgbG9v a2luZyBmb3IKICAgIGBmbG93YmxpbmRgIGluIHRoZSBvdXRwdXQgb2YgYHRjIHFkaXNjYCwg cnVuIG9uIHRoZSByb3V0ZXIgdXNpbmcKICAgIGBzc2hgLjxicj4KICAgIDxicj4KICAgIDxi bG9ja3F1b3RlCmNpdGU9Im1pZDpDQU5pYU9DbnJOK3JIdUY5dCt1LUpaS3NuQk8zV2lxZ054 LTdBbnVWaSstM2FURnU3OFFAbWFpbC5nbWFpbC5jb20iCiAgICAgIHR5cGU9ImNpdGUiPgog ICAgICA8cHJlIHdyYXA9IiI+QW5kIHRoZSA1bXMrIGp1bXAgeW91J3JlIHRhbGtpbmcgYWJv dXQsIHRoYXQgd291bGQgY29tcGFyZSB0byBhbiBpZGVhbCAzbXMKanVtcCBub3QgdXNpbmcg Zmxvd2JsaW5kLiBJcyB0aGF0IHJpZ2h0PzwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAg PGJyPgogICAgSSB0aGluayBmbG93YmxpbmQgd291bGQgYWRkIDVtcyssIG9uIHRvcCBvZiB0 aGUgM21zIHlvdSBtZWFzdXJlZAogICAgd2l0aG91dCBpdCwgaS5lLiA4bXMrIGluY3JlYXNl Ljxicj4KICAgIDxicj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQU5pYU9DbnJOK3JI dUY5dCt1LUpaS3NuQk8zV2lxZ054LTdBbnVWaSstM2FURnU3OFFAbWFpbC5nbWFpbC5jb20i CiAgICAgIHR5cGU9ImNpdGUiPgogICAgICA8cHJlIHdyYXA9IiI+V2UgZG8gdXNlIHRoZSBj b25uZWN0aW9uIGZvciBnYW1pbmcgYW5kIHNvIGl0IG1pZ2h0IGJlIHVzZWZ1bC4gV2l0aG91 dApmbG93YmxpbmQsIGFyZSB5b3Ugc2F5aW5nIHRoYXQgbGF0ZW5jeSBpbiBnYW1lcyB3b3Vs ZCBiZSB3b3JzZSB3aXRoIGp1c3QKc3RhbmRhcmQgY2FrZT88L3ByZT4KICAgIDwvYmxvY2tx dW90ZT4KICAgIDxicj4KICAgICp3aXRoKiBmbG93YmxpbmQsIGxhdGVuY3kgaW4gZ2FtZXMg d291bGQgYmUgc2xpZ2h0bHkgd29yc2UuwqAgV2hlbgogICAgc29tZW9uZSBlbHNlIGlzIHVw bG9hZGluZy9kb3dubG9hZGluZyBmaWxlcyBhdCB0aGUgc2FtZSB0aW1lLsKgIE9yCiAgICBw b3RlbnRpYWxseSB3aGVuIGEgY29tcHV0ZXIgaXMgZG9pbmcgYm90aCBpbiB0aGUgYmFja2dy b3VuZCwgYmVjYXVzZQogICAgaXQgZ2V0cyBzb2Z0d2FyZSB1cGRhdGVzIG92ZXIgUDJQLjxi cj4KICAgIDxicj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQU5pYU9DbnJOK3JIdUY5 dCt1LUpaS3NuQk8zV2lxZ054LTdBbnVWaSstM2FURnU3OFFAbWFpbC5nbWFpbC5jb20iCiAg ICAgIHR5cGU9ImNpdGUiPgogICAgICA8cHJlIHdyYXA9IiI+CgpUaGFua3Mgc28gbXVjaCBm b3IgeW91ciBoZWxwIHNvIGZhci4KCk9uIDI2IEF1Z3VzdCAyMDE2IGF0IDEyOjUyLCBBbGFu IEplbmtpbnMgJmx0OzxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9 Im1haWx0bzphbGFuLmNocmlzdG9waGVyLmplbmtpbnNAZ21haWwuY29tIj5hbGFuLmNocmlz dG9waGVyLmplbmtpbnNAZ21haWwuY29tPC9hPgo8L3ByZT4KICAgICAgPGJsb2NrcXVvdGUg dHlwZT0iY2l0ZSI+CiAgICAgICAgPHByZSB3cmFwPSIiPndyb3RlOgo8L3ByZT4KICAgICAg PC9ibG9ja3F1b3RlPgogICAgICA8cHJlIHdyYXA9IiI+CjwvcHJlPgogICAgICA8YmxvY2tx dW90ZSB0eXBlPSJjaXRlIj4KICAgICAgICA8cHJlIHdyYXA9IiI+T24gMjYvMDgvMTYgMTI6 MjksIG1vZWxsZXIwIHdyb3RlOgoKSGkgdGVjaGljaXN0LAoKCk9uIEF1ZyAyNiwgMjAxNiwg YXQgMTM6MTUgLCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJt YWlsdG86dGVjaGljaXN0QGdtYWlsLmNvbSI+dGVjaGljaXN0QGdtYWlsLmNvbTwvYT4gd3Jv dGU6CgpJcyBmbG93YmxpbmQgbGlrZWx5IHRvIGdpdmUgYmV0dGVyIHBlcmZvcm1hbmNlPwoK CVRoYXQgZGVwZW5kcyBvbiB5b3VyIGRlZmluaXRpb24gb2YgYmV0dGVyLCBJIGd1ZXNzLiBU eXBpY2FsbHkgZmxvdy1mYWlyIHF1ZXVpbmcgc2VlbXMgdG8gYmUgd2hhdCBtb3N0IHBlb3Bs ZSBwcmVmZXIgKHVubGVzcyBhbiBhcHBsaWNhdGlvbiBlaXRoZXIgZG9lcyBub3QgcmVzcG9u ZCB0byBBUU0gc2lnbmFscyBvciBvcGVuIGFuIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgaW5kaXZp ZHVhbCBmbG93cyBmbG93LWZhaXIgcXVldWVpbmcgZWZmZWN0aXZlbHkgdHJlYXRzIG1vc3Qg dHJhZmZpYyBzb3VyY2VzIGVxdWFsLCBwcmV0dHkgbXVjaCB3aGF0IHBlb3BsZSBzZWVtIHRv IHdhbnQsIGFkZCB0byB0aGlzIGEgYml0IG9mIGNsYXNzaWZpY2F0aW9uIHRvIGV4ZW1wdCBl LmcuIFZPSVAgdHJhZmZpYyBmcm9tIG9ubHkgZ2V0dGluZyBpdHMgZmxvdy1mYWlyIHNoYXJl IG9mIHRoZSBiYW5kd2lkdGggYW5kIHRoZSB3aG9sZSB0aGluZyBhbHNvIHdvcmtzIHJlYXNv bmFibHkgd2VsbCB3aXRoIHNsb3cgbGlua3MpLiBQZW9wbGUgc3VmZmVyaW5nIGZyb20gdW5y dWx5IGFwcGxpY2F0aW9ucyAobGlrZSBtaXMtY29uZmlndXJlZD8gYml0LXRvcnJlbnQgY2xp ZW50cyBvciByZWNlbnRseSB3aW5kb3dzIHVwZGF0ZSkgb2Z0ZW4gYXNrIGZvciBwZXItYXBw bGljYXRpb24gZmFpcm5lc3MsIGJ1dCB0aGF0IGlzIG5vdCBzb21ldGhpbmcgYSByb3V0ZXIg d2lsbCBldmVyIGJlIGFibGUgdG8gZGVsaXZlciBpbiBteSBvcGluaW9uOyB0aGUgY2xvc2Vz dCB3ZSBnZXQgdG8gdGhpcyB3b3VsZCBiZSBmYWlybmVzIGJ5IGludGVybmFsIG9yIGV4dGVy bmFsIGVuZC1JUCBhZGRyZXNzZXMuIEx1Y2tpbHkgY2FrZSBvZmZlcnMganVzdCB0aGVzZSBt b2RlcyDigJxkc3Rob3N04oCdLCDigJxzcmNob3N04oCdIGFuZCBldmVuIGJldHRlciBvZmZl cnMgYSBjb21iaW5hdGlvbiBtb2RlcyB0aGF0IHdpbGwgb24gYSBmaXJzdCBsZXZlbCBhdHRl bXB0IHBlciBob3N0LUlQIGZhaXJuZXNzIGFuZCB3aXRoaW4gZWFjaCBob3N0IElQIGFsc28g cGVyLWZsb3cgZmFpcm5lc3MgKOKAnGR1YWwtc3JjaG9zdOKAnSBhbmQg4oCcZHVhbC1kc3Ro b3N04oCdLCBhbmQgZXZlbiDigJx0cmlwbGUtaXNvbGF0ZeKAnSB3aGljaCBzeXN0ZW1hdGlj YWxseSBtaWdodCBiZSBiZXR0ZXIgY2FsbGVkIOKAnGR1YWwtc3JjaG9zdC1kc3Rob3N04oCd IHNpbmNlIGl0IG9mZmVycyBmaXN0IGxldmVsIGZhaXJuZXNzIGJhc2VkIG9uIGFuIHVuZGVy LWRvY3VtZW50ZWQgbWl4IG9mIHNyYyBhbmQgZHN0IGFkZHJlc3NlcywgYnV0IEkgZGlncmVz cykuIFBsZWFzZSBub3RlIHRoYXQgb24gYSB0eXBpY2FsIGhvbWVyb3V0ZXIsIGR1ZSB0byBO QVQsIGFsbCB0aGUgSVAgYWRkcmVzc2VkIGJhc2VkIGZhaXJuZXNzIG1vZGVzIHdpbGwgbm90 IHdvcmsgZm9yIElQdjQgb24gdGhlIHdhbiBpbnRlcmZhY2UsIElQdjYgdHJhZmZpYyBzaG91 bGQgYmUgZmluZSwgYnV0IElQdjQgYmFzaWNhbGx5IGRlZ3JhZGVzIGludG8gYSBjb21wdXRh dGlvbmFsbHkgbW9yZSBpbnRlbnNpdmUgdmVyc2lvbiBvZiBmbG93LWZhaXJuZXNzIChhcyBh ZnRlciBOQVQgY2FrZSBvbmx5IHNlZXMgdGhlIHJvdXRlcnMgZXh0ZXJuYWwgSVAgZm9yIGFs bCBpbnRlcm5hbCBob3N0cykuIFRoaXMgbWlnaHQgaGF2ZSBiZWVuIG1vcmUgdGhhbiB5b3Ug d2FudGVkIHRvIGtub3figKYKCkJlc3QgUmVnYXJkcwoJU2ViYXN0aWFuCgoKZmxvd2JsaW5k IGlzIGFuIG9wdGlvbiBmb3IgdGVzdGluZyBwdXJwb3NlcyBvciBhZHZhbmNlZCB1c2UgY2Fz ZXMuICBUaGUKZGVzaWduIGdvYWwgZm9yIENha2UgaXMgdG8gYXZvaWQgdW5kZXJzdGFuZGlu ZyBhbmQgZmlkZGxpbmcgd2l0aCBvcHRpb25zIHRvCmdldCBnb29kIHBlcmZvcm1hbmNlIGZv ciBjb21tb24gY2FzZXMuCgpJZiB5b3UgdHJ5IGVuYWJsaW5nIGZsb3dibGluZCwgeW91ciBs YXRlbmN5IHVuZGVyIGxvYWQgd2lsbCBqdW1wIGJ5IDVtcysuCiJIZWFkIG9mIGxpbmUgYmxv Y2tpbmciLiAgQSBmdWxsIHF1ZXVlIHdpbGwgYmUgNW1zLiAgVGhpcyB3aWxsIGRlbGF5IGZs b3dzCndoaWNoIGRvIG5vdCBuZWVkIGEgZnVsbCBmYWlyIHNoYXJlIG9mIHRoZSBsaW5rLCBs aWtlIFZPSVAgb3IgZ2FtaW5nLgpMb3dlciBsYXRlbmN5IGlzICBiZXR0ZXIgZm9yIFZPSVAg b3IgZ2FtaW5nLgoKWW91IHNob3VsZCBmaW5kIHRoaXMgaXMgc21hbGwgY29tcGFyZWQgdG8g dGhlIGxhdGVuY3kgaW5jcmVhc2UgdW5kZXIgbG9hZAp3aXRob3V0IGNha2UuICBZb3Ugd291 bGRuJ3Qgbm90aWNlIGl0IGluIHdlYiBicm93c2luZy4gIChGcmFua2x5IEkgZG9uJ3QKc2Vl bSB0byBub3RpY2UgMTAwbXMgZXh0cmEgbGF0ZW5jeSBpbiB3ZWIgYnJvd3NpbmcuCgpJIHJ1 biBmcV9jb2RlbCBmb3Igc2ltaWxhciBwZXJmb3JtYW5jZSB0byBjYWtlLCBtYWlubHkgdG8g aW5jcmVhc2UgbXkKY29uZmlkZW5jZSB0aGF0IHRvcnJlbnQgdXBsb2FkcyBkb24ndCBoYXZl IG5vdGljYWJsZSBlZmZlY3RzIGZvciBvdGhlcgpob3VzZWhvbGQgdXNlcnMuICBUb3JyZW50 IGRvd25sb2FkcyBzdGlsbCBzdWNrLCBidXQgSSBoYXZlbid0IHNlZW4gYW55IENha2UKcmVz dWx0cyBwcm9tb3RlZCBvbiB0aGF0IGJhc2lzLiAgSXQgZWl0aGVyIG5lZWRzIHRvIGJlIGZp eGVkIGF0IHRoZSBJU1AKZW5kLCBvciBpbiB0aGUgdG9ycmVudCBzb2Z0d2FyZS4gIFFVSUMg YXJlIGVtdWxhdGluZyB0aGUgY29tcGV0aXRpdmVuZXNzIG9mCjJ4IFRDUCBmbG93cyBpbiBh IHNpbmdsZSBVRFAgZmxvdy4gIEJUIHNob3VsZCBiZSBhYmxlIHRvIGVtdWxhdGUgaGFsZiBh IFRDUApmbG93IHdoZW4gZG93bmxvYWRpbmcgZnJvbSB0d28gcGVlcnMgc2ltdWx0YW5lb3Vz bHkpLgoKPC9wcmU+CiAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgPHByZSB3cmFwPSIiPgo8 L3ByZT4KICAgICAgPGJyPgogICAgICA8ZmllbGRzZXQgY2xhc3M9Im1pbWVBdHRhY2htZW50 SGVhZGVyIj48L2ZpZWxkc2V0PgogICAgICA8YnI+CiAgICAgIDxwcmUgd3JhcD0iIj5fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpDYWtlIG1haWxp bmcgbGlzdAo8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVkIiBocmVmPSJtYWls dG86Q2FrZUBsaXN0cy5idWZmZXJibG9hdC5uZXQiPkNha2VAbGlzdHMuYnVmZmVyYmxvYXQu bmV0PC9hPgo8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczov L2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9jYWtlIj5odHRwczovL2xpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9jYWtlPC9hPgo8L3ByZT4KICAgIDwvYmxvY2txdW90 ZT4KICAgIDxicj4KICA8L2JvZHk+CjwvaHRtbD4K --------------F843500766C29200EF3F7B0A--