From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0091.outbound.protection.outlook.com [157.55.234.91]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 3C19821F3C6 for ; Mon, 16 Nov 2015 10:12:08 -0800 (PST) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kevin@darbyshire-bryant.me.uk; Received: from [IPv6:2001:470:183f:da2b::632f:a7da] (2001:470:183f:da2b::632f:a7da) by HE1PR07MB0937.eurprd07.prod.outlook.com (10.162.27.143) with Microsoft SMTP Server (TLS) id 15.1.325.17; Mon, 16 Nov 2015 18:12:03 +0000 To: Dave Taht References: <56420697.9080606@darbyshire-bryant.me.uk> <5649EF39.3060300@darbyshire-bryant.me.uk> <5649F423.40000@darbyshire-bryant.me.uk> <564A169D.1060307@darbyshire-bryant.me.uk> From: Kevin Darbyshire-Bryant Message-ID: <564A1C6D.3050303@darbyshire-bryant.me.uk> Date: Mon, 16 Nov 2015 18:11:57 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms020007090106020409010400" X-Originating-IP: [2001:470:183f:da2b::632f:a7da] X-ClientProxiedBy: DB5PR09CA0066.eurprd09.prod.outlook.com (25.162.34.34) To HE1PR07MB0937.eurprd07.prod.outlook.com (25.162.27.143) X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0937; 2:qiJAxgi/JkZyRL6Yrm1qJpc+ewspYInH4VjRS8514l6uqHbphGH5FutlkxkQKnUGUIwOKGTdINX8aXmdeAr76BSoaCuTWFiVzkLTt1zg/JhYgAgFkm5GI18A9CFgrkw5H/YtOT9itYXJx3Zy9k7zAUXHdfCD+JD/0tyGXqraEMs=; 3:IdZ5WpTgJAABdQLqjCRz3Ixcjy+TJUQwUEAsLGTzVdhOJm44ScxzNop0ERl7g/m9Abvx3/PU5Vd8q1rvwjF9QmXxsyrr47iUbW0g8c0yStFO/U1HxtYUORbhzvrJoEFkzol3dXBn8LgPA9oHYQCyow==; 25:1ukGd4QGqqMPSn9l14MGsKztG8NN6Ik5Fz1XFmjbR4ZmbUpOnsnOY4u3BxiZ+LRtaPCVyVzaAEi5fKjAmL295v3i2tHhkhvoJ9+MFBzCrQBP8TvfOHH/FT/goW2gMAXNwJYb39yNVQ01ZjznwNWqz+hjwpSRdlNh7oQ1pWscCeIpgAmd15YzyBG3JsNNFl1tcmfHiidG1DnZC/uxq7ehmAMSC0/97klyuwRYBzmTA6qCPCVAZx5X4mFt+kdd04NLV/bNBPKnPhybr1fB/ADXbA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR07MB0937; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046); SRVR:HE1PR07MB0937; BCL:0; PCL:0; RULEID:; SRVR:HE1PR07MB0937; X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0937; 4:jLCmGmzvEHXdCLTLOQkdGici4pNuCAukbV3DlOweQr+64H5/8rp278kG0khJ4LXFYrUtt9gnvjKxyCjOhwMsfKnVGq9c3HqMr5O0d++HfJ7RpDWvZ66Xc8FFDXIaM31Rdjv93hzl/uiPSyzc5Q+Qr/zzFsPIxH/UzbLDqt/M3eSgXZdJHWhW3GYPU1m0t87+klFWS27VvpSkv8gNdjwORTe80NQKQRs96R0WxRA7rc5mqq9hE0VN9vgtBJJ/k+vq5Y3IoAnbuGURO4tsFzY7uBz3NUWizQWLl+TYZQW9Wr/SsFZ6zVIalCrE5vvzTjQWvWps+Ai4SZKKZfPX8ZLpuL6JCJ7kJ509iV48DZgRnIv0/DTF67scaej62AhUcu7H X-Forefront-PRVS: 0762FFD075 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(189002)(199003)(24454002)(377454003)(479174004)(4001350100001)(106356001)(65956001)(40100003)(74482002)(97736004)(189998001)(5007970100001)(87976001)(33656002)(81156007)(65806001)(92566002)(84326002)(512874002)(5008740100001)(105586002)(83506001)(110136002)(5890100001)(5001960100002)(122386002)(15975445007)(65816999)(586003)(5004730100002)(50986999)(54356999)(76176999)(19580395003)(101416001)(19580405001)(80316001)(77096005)(64126003)(36756003)(59896002)(42186005)(93886004)(568964002)(87266999)(86362001)(2950100001)(3826002)(5001840100002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB0937; H:[IPv6:2001:470:183f:da2b::632f:a7da]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: darbyshire-bryant.me.uk does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR07MB0937; 23:94YIe4BFFnb4S2IqW6iDovaZRxBj67qgdqvKxgvZ0?= =?us-ascii?Q?ybRyfD3smU3U1thREi3Yi25fMpmE2bbGv3hLHsm4EnCHvwiEJbhWhzhCZyAM?= =?us-ascii?Q?1AhacYFXStQK/5A8Z5D0SpWdnWTjLMCqI2G2yzEFeICAF6CcOYHYnirpMM/2?= =?us-ascii?Q?CTRcdH++Ptg9Y16R3K5Zj9gnAh1Lp5T7Lf+PF2IgBlXOqZUGYCtHUWAEa+QV?= =?us-ascii?Q?rToreEjvMzPEnKH/DnKwITGUir8j5sc459X4EI1Xp9MfivwS5I/ShjBchBFQ?= =?us-ascii?Q?2UZshCvrVI0PFcXnZKs3/laHRRr9ek2FLovGKodh65qhF6+10WFCEh3wTtK8?= =?us-ascii?Q?79rqhqNeMRMAqR/Xtr5bFzykUC7UtO3qLi/HpMOa7SpMb9ydacgUCGNsudAv?= =?us-ascii?Q?nwDHkdnmdvU8m03A1zacCQ3tr9wQdJbL7bkOlsc93XQtK4wxZ1Ya1gvJxdqm?= =?us-ascii?Q?QxzJCUd/nc9GmNsf9LG3HsuvNUvPnwfKZa7GVyToox8G69m50OJvCMlwq1Gj?= =?us-ascii?Q?/9617+hgae44bBs8h40Phduz+fmBQumpFRgDqKiOZ5z2Mz+gp+124h0/aYHS?= =?us-ascii?Q?D92dPEXb/YiVtQCHqyU6Jh6xhS+XuRB+fOaEJimckSnNiuUDRS9YxXacXYqs?= =?us-ascii?Q?VxzHErUXEWRgJIiN2+pXdcF2vZfrsvxR2IaTJCHNBaIbqGVeo+TYq0rqbS2g?= =?us-ascii?Q?tiYQANyvp+prlAFVnEUyCJhPznMP6xzYy2t3G4bAu5W8PWQDREwSBUv9PMAm?= =?us-ascii?Q?O0Op5JYX6SsBk0hHcm+6PLU80m0QWuc9JhX5zQeh1TBG0idSLgXqkQoDsSFU?= =?us-ascii?Q?G5NqqugPOjGLHvnHUNbEcW9arvbAcZckXHZ2Bza0M7vReNTHlhmBLxFaeFBA?= =?us-ascii?Q?R9vt8KtfQYBEIl+lZ+TkjN4ebU7BMPxtAe7sotHUhPv2p0ImzKLrw5aNgF4L?= =?us-ascii?Q?J0+V5ZaiRXfEAPumPGAU96RXfHOzCv5CHnFoX0Lni3VTR4m3G2/gzaeP1qE/?= =?us-ascii?Q?rqWnDetBtbnr5gJkywJVHyzEfNIGCeC+6hvktzmtX4jxm4WSU8Tzt8huXbAL?= =?us-ascii?Q?8d5vcG0PPVzjZlgWnJULa6EUndwht24iBgq3vqMB0VgVHmgYtDvfuHRJYOvO?= =?us-ascii?Q?Bb8Nlo4yDORORKDTIsc4s7GuIvdxj37w0/ycYQQq4WXWzS3H8kgCELM1CU8t?= =?us-ascii?Q?2BXoQb1ICordwHG9dV9RU0f1LXf4/UBmWAQxc1+RVReVn0TD6DB/oHipZxzx?= =?us-ascii?Q?0ZBlxc8g5IXBvC3yYJ4WjOkRLw7txYIBpmMXgwwIOKG19i1s/CVEuANTr5/9?= =?us-ascii?Q?IhyM9ZPzQA1pm+yYMS+gnF7FhG4m/AT7I0hR4bbSzYX3Rjn5/08ItQ0JxYgf?= =?us-ascii?Q?xP2Kw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB0937; 5:RPBNdRKuTXQLM+BUKaChCvqLjtr8SPq/LIya+6FF/+L/EMJ/ize+FplTa4qZhnrnwTItmyom4JV9ADrNlLmY7HaQyx/9mO5LALzGLKGHoPVgyszo3/Ut7OY+bQTE2XWpGoVlSUInxviplX9V37lEDw==; 24:ZMU5Tb7tUZy5f/r6qbT+2GRYAjCqpvIprEdwoJqRkEz6J8zEOzqQseWxvH6ohcZl/l4c7+B3qoW9uOr2eQPsHq02AXeYP0xgBm+edwnrXwM=; 20:XhcJ1xTx6ctrZE+J4iFtUcyw4/bnC/hfIVb59rMSCxJmeYo/I1u1CqFc/6lzhbleSzfLle9A0T4ci0OD1dZe7Q== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: darbyshire-bryant.me.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2015 18:12:03.0639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB0937 Cc: cake@lists.bufferbloat.net Subject: Re: [Cake] Announce - possible new feature - DSCP cleaning X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Nov 2015 18:12:31 -0000 --------------ms020007090106020409010400 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable tin_cnt *is* u16, in fact struct cake_sched_data has been restored to the same state as it was before I introduced 'u8 squash'. On 16/11/15 17:59, Dave Taht wrote: > yes and nooo..... I thought tin_cnt needed to be a 10 bit number at > least.... (did it become an 8 bitter somewhere?) > > > but I have not looked at the code in quite some time. Tomorrow I hope > to finally have a fresh head. > > Right now I'm merely wrestling with getting a build to complete. > Dave T=C3=A4ht > Let's go make home routers and wifi faster! With better software! > https://www.gofundme.com/savewifi > > > On Mon, Nov 16, 2015 at 6:47 PM, Kevin Darbyshire-Bryant > wrote: >> Does this >> https://github.com/dtaht/sch_cake/commit/d05cf7e003d9c13d8382c88165580= 7bda7ab3616 >> improve your happiness factor? >> >> Kevin >> >> On 16/11/15 15:57, Dave Taht wrote: >>> isn't there some other boolean variable somewhere ? >>> >>> Dave T=C3=A4ht >>> Let's go make home routers and wifi faster! With better software! >>> https://www.gofundme.com/savewifi >>> >>> >>> On Mon, Nov 16, 2015 at 4:20 PM, Kevin Darbyshire-Bryant >>> wrote: >>>> On 16/11/15 15:03, Dave Taht wrote: >>>>> I have not been doing any active development until... tomorrow. >>>>> >>>>> A goal I have for today is to actually build a version of openwrt += >>>>> all this stuff for the linksys ac1200. >>>>> >>>>> I was not particularly huge on using another field (q->squash) to >>>>> trigger squashing, and I cannot come up with a use case that makes >>>>> sense to me. >>>>> >>>>> Under what circumstances do you think separating these two function= s >>>>> to be useful? >>>> I wanted to be able to use diffserv marking for internal bandwidth >>>> policing purposes whilst clearing those bits by the time they hit th= e >>>> ISP. On ingress it makes no sense, on egress I can see a use. >>>> >>>> >>>> >> --------------ms020007090106020409010400 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC DYEwggY0MIIEHKADAgECAgEeMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNVBAYTAklMMRYwFAYD VQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0 ZSBTaWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw0wNzEwMjQyMTAxNTVaFw0xNzEwMjQyMTAxNTVaMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UE ChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUg U2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0 ZSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHCYPMzi3YGrEp pC4Tq5a+ijKDjKaIQZZVR63UbxIP6uq/I0fhCu+cQhoUfE6ERKKnu8zPf1Jwuk0tsvVCk6U9 b+0UjM0dLep3ZdE1gblK/1FwYT5Pipsu2yOMluLqwvsuz9/9f1+1PKHG/FaR/wpbfuIqu54q zHDYeqiUfsYzoVflR80DAC7hmJ+SmZnNTWyUGHJbBpA8Q89lGxahNvuryGaC/o2/ceD2uYDX 9U8Eg5DpIpGQdcbQeGarV04WgAUjjXX5r/2dabmtxWMZwhZna//jdiSyrrSMTGKkDiXm6/3/ 4ebfeZuCYKzN2P8O2F/Xe2AC/Y7zeEsnR7FOp+uXAgMBAAGjggGtMIIBqTAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUU3Ltkpzg2ssBXHx+ljVO8tS4UYIw HwYDVR0jBBgwFoAUTgvvGqRAW6UXaYcwyjRoQ9BBrvIwZgYIKwYBBQUHAQEEWjBYMCcGCCsG AQUFBzABhhtodHRwOi8vb2NzcC5zdGFydHNzbC5jb20vY2EwLQYIKwYBBQUHMAKGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNydDBbBgNVHR8EVDBSMCegJaAjhiFodHRwOi8v d3d3LnN0YXJ0c3NsLmNvbS9zZnNjYS5jcmwwJ6AloCOGIWh0dHA6Ly9jcmwuc3RhcnRzc2wu Y29tL3Nmc2NhLmNybDCBgAYDVR0gBHkwdzB1BgsrBgEEAYG1NwECATBmMC4GCCsGAQUFBwIB FiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRw Oi8vd3d3LnN0YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMA0GCSqGSIb3DQEBBQUAA4IC AQAKgwh9eKssBly4Y4xerhy5I3dNoXHYfYa8PlVLL/qtXnkFgdtY1o95CfegFJTwqBBmf8py TUnFsukDFUI22zF5bVHzuJ+GxhnSqN2sD1qetbYwBYK2iyYA5Pg7Er1A+hKMIzEzcduRkIMm CeUTyMyikfbUFvIBivtvkR8ZFAk22BZy+pJfAoedO61HTz4qSfQoCRcLN5A0t4DkuVhTMXIz uQ8CnykhExD6x4e6ebIbrjZLb7L+ocR0y4YjCl/Pd4MXU91y0vTipgr/O75CDUHDRHCCKBVm z/Rzkc/b970MEeHt5LC3NiWTgBSvrLEuVzBKM586YoRD9Dy3OHQgWI270g+5MYA8GfgI/EPT 5G7xPbCDz+zjdH89PeR3U4So4lSXur6H6vp+m9TQXPF3a0LwZrp8MQ+Z77U1uL7TelWO5lAp sbAonrqASfTpaprFVkL4nyGH+NHST2ZJPWIBk81i6Vw0ny0qZW2Niy/QvVNKbb43A43ny076 khXO7cNbBIRdJ/6qQNq9Bqb5C0Q5nEsFcj75oxQRqlKf6TcvGbjxkJh8BYtv9ePsXklAxtm8 J7GCUBthHSQgepbkOexhJ0wP8imUkyiPHQ0GvEnd83129fZjoEhdGwXV27ioRKbj/cIq7JRX un0NbeY+UdMYu9jGfIpDLtUUGSgsg2zMGs5R4jCCB0UwggYtoAMCAQICAw5ySjANBgkqhkiG 9w0BAQsFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNV BAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0 Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBMB4XDTE1MDYyMDIw MzA1MloXDTE2MDYyMDE0MjY0N1owVjEmMCQGA1UEAwwda2V2aW5AZGFyYnlzaGlyZS1icnlh bnQubWUudWsxLDAqBgkqhkiG9w0BCQEWHWtldmluQGRhcmJ5c2hpcmUtYnJ5YW50Lm1lLnVr MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAugCNtDhytCJ9HOfenUHr/vUGUECv PL1IJXgHMl4cIJmwgLOkXhIcTMxHnX+kFweqvT+eDWv1hzA9yMWhvjLFC4eLoFaV0xiAat8O XQ7t3MwKY5DW0mB1dOnjiFIcc/XMwyYI4KfEGnFMJQkzon0rDVpkl/Q1f/hu1sELO7Zc6TFL wuuDuiP7S73zrz50TRoq0+Ob3x0uOMW2uVwVzf6NLwHgBE2LFleMXblyUMx0IlIcLan2nWiI Vsa3XYd+C6KAGGwlmO4VAZ25KuX7hkj8f82lSapvtKTtvrSoDghXlHH2JXiIQX+Sn0UgOmbX 1KyOe9vN7WzQ+tpPRzpFRffnnnp1VQye3wVRPBumjDxQSFTOhUtslnvbefUQSPw6p5w9ZiXI GJICLkX/MkYN/TwGCvuUG2PxBybSR1A2I5ap+VI/zGSG3XGVEA69SOZQyD+8YjJZfaY2nCu+ DuM64JrJUi2CvX6fwcdHNschJNrrfetpnrx3JrGnG9o+pWuUG1phBg+KKN2bhrdzY79qm7ha 86EMKSUOn5nBdGY3YxdXq/naoUQeOCUV2JMFGOulu7sKpiWcz7HVFacXjd9ebisVLv+jOwll z14BWRb87s1+LBEJn/Ybn3ekhtgyEAhB4kgj0scl4hI8xCU6zrZyDnbXmxSvDXbClZA0PACt f/jhGvUCAwEAAaOCAuMwggLfMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQG CCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQULkW2CpDiQpRNumQ7wdspjFfgX+AwHwYD VR0jBBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwKAYDVR0RBCEwH4Eda2V2aW5AZGFyYnlz aGlyZS1icnlhbnQubWUudWswggFMBgNVHSAEggFDMIIBPzCCATsGCysGAQQBgbU3AQIDMIIB KjAuBggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjCB9wYI KwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBARqB vlRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBhY2NvcmRpbmcgdG8gdGhlIENsYXNzIDEg VmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0YXJ0Q29tIENBIHBvbGljeSwgcmVs aWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2UgaW4gY29tcGxpYW5jZSBvZiB0 aGUgcmVseWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov L2NybC5zdGFydHNzbC5jb20vY3J0dTEtY3JsLmNybDCBjgYIKwYBBQUHAQEEgYEwfzA5Bggr BgEFBQcwAYYtaHR0cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFzczEvY2xpZW50L2Nh MEIGCCsGAQUFBzAChjZodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9zdWIuY2xhc3Mx LmNsaWVudC5jYS5jcnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMA0G CSqGSIb3DQEBCwUAA4IBAQBicQWe98eF/o09TXFsExc+WSyYjt3oSnXyocLzXQp82CQhIg21 5RqNZ1e+hsO7tq8S6hdItUDbKpecpIV59+57ke1zVl2slTRIT19fhYINHH78rVVRPzuHoiDt MXnGrp9hbq3Cz8P4mm8INKDiYK46kyplRAQ3ZMouPG1lsnDzgQAvbCj74H8yAp7fK8if6cxs 28BCUmdP8D3c6M1ffdNNaqNT+4Z3mtOujXXg7zOfmXN0Zg/mEtZ0NrWE2uICGdWjTv9KZiI7 fi4hk2CRpCL63qzmu6BwtcgtwhgYYtuAk2N43+SiyDkyLKGAcjEor3t5f9HivN29E0F0MXTH 1OdgMYIFDTCCBQkCAQEwgZQwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBM dGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYD VQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQQID DnJKMA0GCWCGSAFlAwQCAwUAoIICSTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG SIb3DQEJBTEPFw0xNTExMTYxODExNTdaME8GCSqGSIb3DQEJBDFCBEBSjOQ3Yz0qqBIwdJmm vaUNXHAQiWF2+CmERQxTMcT8nN27KbNncRtDn7229IoatFOLGqzRMznwLYtRj0BXjASPMGwG CSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAO BggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgw gaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29t IEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2 BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB AgMOckowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2ln bmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBD bGllbnQgQ0ECAw5ySjANBgkqhkiG9w0BAQEFAASCAgBxw5xgQiBGA4o8JGRv5ZIrJwWTT22n W9h54X6Rz6I0IDMY5S8SoB+Hvj1lmFmoi+O0ELE7TZaVcW/EMcehyveWbDqsBSdMPEa4z75h 3Dw0x1gBrvLA3U4w03whcuX5H+efham6APQy0RNj4Di+y3hFxcgNqXGD21W0bCPtax2t+g/V ktKrvEq5UQHR2LN/AMi7FlkFAx9cVhlhmMS/45Z/6E7TdAbpWHkRoh9/UNk05PY2IoXUbZiz KcQt8sasonNGEJggJWht1gxDnA93cE7zyNesZ9eWT6IR7mM6Bk5r3JqxIg5cig0umSyTrz/I 0Kgx/RUICTZLErm8sTnbHAkZKkcztVANXQFGfWxGF/MH5b2dg57gF8Su63lYQm9D/DmxXSrw gQpbg0ME0om0Re9L0Wq8S+v4pXqWTMJTF2SY4JTOjlLqL5wWw41eMS2DXlt2S4AWZMswsr7U zXp2QdhTOveVWkVLQ8hIkqqxRy/bDdGOuouJjbFSK+tbyDNw2eRWlPXRL63f77G8lyJkpHwR bbTorUn/olwUmccEbJyJczA2KWV329ADJ8Gxd8pJTSleIoNhlTZPTV1mpoA4LeOl0hGeQG4M GpcLc7cVIAuMZCbFUk/dUvdAt3OS7+GnPe6iKjNOs8TXX3ynJN5yaHIj+9Rlcu156BmmSwrs xJBh5AAAAAAAAA== --------------ms020007090106020409010400--