m detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://docs.mxroute.com/docs/expert-spam-filtering.html --- Content analysis details: (2.7 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: tiktok.com] 0.0 URIBL_DBL_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to dbl.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: tiktok.com] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [57.103.73.182 listed in list.dnswl.org] 0.0 URIBL_ZEN_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to zen.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: tiktok.com] 1.5 HTML_MESSAGE BODY: HTML included in message 2.0 MIME_HTML_ONLY BODY: Message only has text/html MIME parts -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid 0.0 T_KAM_HTML_FONT_INVALID Test for Invalidly Named or Formatted Colors in HTML -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 77 --===============7431737915814109448== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 PCFET0NUWVBFIGh0bWw+Cgo8aHRtbCBsYW5nPSJlbiIgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWlj cm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4bWxuczp2PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQt Y29tOnZtbCI+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+PG1ldGEgY29udGVudD0idGV4dC9odG1sOyBj aGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiLz48bWV0YSBjb250ZW50PSJ3 aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIiBuYW1lPSJ2aWV3cG9ydCIvPjwhLS1b aWYgbXNvXT4KPHhtbD48dzpXb3JkRG9jdW1lbnQgeG1sbnM6dz0idXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTpvZmZpY2U6d29yZCI+PHc6RG9udFVzZUFkdmFuY2VkVHlwb2dyYXBoeVJlYWRpbmdN YWlsLz48L3c6V29yZERvY3VtZW50Pgo8bzpPZmZpY2VEb2N1bWVudFNldHRpbmdzPjxvOlBpeGVs c1BlckluY2g+OTY8L286UGl4ZWxzUGVySW5jaD48bzpBbGxvd1BORy8+PC9vOk9mZmljZURvY3Vt ZW50U2V0dGluZ3M+PC94bWw+CjwhW2VuZGlmXS0tPjwhLS1baWYgIW1zb10+PCEtLT48bGluayBo cmVmPSJodHRwczovL2ZvbnQtMDIubW9lbmdhZ2UuY29tL2ZvbnRzLzI5NDE3OTA0MzEzNDgwNDIz NDgzMDc1ODcyMjA5NDkzNTgyNTA2MjQ2NDgyNjg4NzY4ODg4NTY0NjU3NTk5NDExNzgzNzk4ODg2 NjcwL3N0eWxlc2hlZXQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+PCEt LTwhW2VuZGlmXS0tPjxzdHlsZT4KKntib3gtc2l6aW5nOmJvcmRlci1ib3h9Ym9keXttYXJnaW46 MDtwYWRkaW5nOjB9YVt4LWFwcGxlLWRhdGEtZGV0ZWN0b3JzXXtjb2xvcjppbmhlcml0IWltcG9y dGFudDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdCFpbXBvcnRhbnR9I01lc3NhZ2VWaWV3Qm9keSBh e2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9cHtsaW5lLWhlaWdodDppbmhlcml0 fS5kZXNrdG9wX2hpZGUsLmRlc2t0b3BfaGlkZSB0YWJsZXttc28taGlkZTphbGw7ZGlzcGxheTpu b25lO21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59LmltYWdlX2Jsb2NrIGltZytkaXZ7ZGlz cGxheTpub25lfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowfSBAbWVkaWEgKG1h eC13aWR0aDo1OTBweCl7Lm1vYmlsZV9oaWRle2Rpc3BsYXk6bm9uZX0ucm93LWNvbnRlbnR7d2lk dGg6MTAwJSFpbXBvcnRhbnR9LnN0YWNrIC5jb2x1bW57d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2Nr fS5tb2JpbGVfaGlkZXttaW4taGVpZ2h0OjA7bWF4LWhlaWdodDowO21heC13aWR0aDowO292ZXJm bG93OmhpZGRlbjtmb250LXNpemU6MH0uZGVza3RvcF9oaWRlLC5kZXNrdG9wX2hpZGUgdGFibGV7 ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnQ7bWF4LWhlaWdodDpub25lIWltcG9ydGFudH0ucm93LTMg LmNvbHVtbi0xIC5ibG9jay0xLmhlYWRpbmdfYmxvY2sgaDJ7Zm9udC1zaXplOjIwcHghaW1wb3J0 YW50fS5yb3ctMyAuY29sdW1uLTEgLmJsb2NrLTMuYnV0dG9uX2Jsb2NrIHRkLnBhZHtwYWRkaW5n OjAgMCAyMHB4IDEwcHghaW1wb3J0YW50fS5yb3ctMyAuY29sdW1uLTEgLmJsb2NrLTMuYnV0dG9u X2Jsb2NrIHNwYW57bGluZS1oZWlnaHQ6MzJweCFpbXBvcnRhbnR9LnJvdy0zIC5jb2x1bW4tMSAu YmxvY2stMy5idXR0b25fYmxvY2sgLmFsaWdubWVudCAuYnV0dG9ue3dpZHRoOjk1JSFpbXBvcnRh bnR9fQo8L3N0eWxlPjwhLS1baWYgbXNvIF0+PHN0eWxlPnN1cCwgc3ViIHsgZm9udC1zaXplOiAx MDAlICFpbXBvcnRhbnQ7IH0gc3VwIHsgbXNvLXRleHQtcmFpc2U6MTAlIH0gc3ViIHsgbXNvLXRl eHQtcmFpc2U6LTEwJSB9PC9zdHlsZT4gPCFbZW5kaWZdLS0+PG1ldGEgY29udGVudD0ibm9pbmRl eCwgbm9mb2xsb3csIG5vYXJjaGl2ZSIgbmFtZT0icm9ib3RzIi8+PG1ldGEgY29udGVudD0ibm9p bmRleCwgbm9mb2xsb3csIG5vYXJjaGl2ZSIgbmFtZT0iZ29vZ2xlYm90Ii8+PC9oZWFkPjxib2R5 IGNsYXNzPSJib2R5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowO3BhZGRp bmc6MDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTt0ZXh0LXNpemUtYWRqdXN0Om5vbmUi PjxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZSI+TmV3IGFuZCBub3Rld29ydGh5IHBpZWNlczwvZGl2 Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9 Im5sLWNvbnRhaW5lciIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFj ZTowO21zby10YWJsZS1yc3BhY2U6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYiIHdpZHRoPSIxMDAl Ij48dGJvZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFk ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3cgcm93LTEiIHJvbGU9InByZXNlbnRh dGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRo PSIxMDAlIj48dGJvZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBj ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3ctY29udGVudCBzdGFjayIg cm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1y c3BhY2U6MDtib3JkZXItcmFkaXVzOjA7Y29sb3I6IzAwMDt3aWR0aDo1NzBweDttYXJnaW46MCBh dXRvIiB3aWR0aD0iNTcwIj48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iY29sdW1uIGNvbHVtbi0xIiBz dHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3BhY2U6MDtmb250LXdlaWdodDo0 MDA7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLXRvcDo1cHg7dmVy dGljYWwtYWxpZ246dG9wIiB3aWR0aD0iMTAwJSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0iaHRtbF9ibG9jayBibG9jay0xIiByb2xlPSJw cmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTow IiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBjbGFzcz0icGFkIj48ZGl2IGFsaWduPSJjZW50ZXIiIHN0 eWxlPSJmb250LWZhbWlseTonRmFyZmV0Y2ggQmFzaXMgUmVndWxhcicsQXJpYWwsSGVsdmV0aWNh LHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXIiPjwhLS0gSElEREVOIFBSRUhFQURFUiAtLT4K PGRpdiBzdHlsZT0iZGlzcGxheTogbm9uZTsgbWF4LWhlaWdodDogMHB4OyBvdmVyZmxvdzogaGlk ZGVuOyI+wqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzC oOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDi gIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCM wqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg 4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKA jMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzC oOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDi gIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCM wqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg 4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKA jMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzC oOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDi gIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCM wqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg 4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKA jMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzC oOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDi gIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCM wqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg 4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoOKA jMKg4oCMwqDigIzCoOKAjMKg4oCMwqDigIzCoCAKPC9kaXY+Cjx0YWJsZSBhbGlnbj0iY2VudGVy IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgcm9sZT0icHJlc2Vu dGF0aW9uIiBzdHlsZT0ibWFyZ2luOjAgYXV0bzsgdGV4dC1hbGlnbjpjZW50ZXI7IGRpc3BsYXk6 IG5vbmUiIHdpZHRoPSIxMDAlIj4KPHRyPgo8dGQ+CjxhIGhyZWY9Imh0dHBzOi8vdXJsLmZhcmZl dGNoLmNvbS92MS9lbWFpbHZpZXc/cT1uakNhRVl6U3YubWl0UUlybEhhVVZ6WHBINFhzcHNmcmFq Ty5hYThXUE0yQ29tSmxTcWNmLW1hNFgwWUw4aGlOVDQwZWxSakszT0xxVGM5ZHoxekdvN3BBUnZk QnZZMWZSdHBSMV85WlYzVW94Q1dPQVVOS0Qzcjl5ZEQzdkNnUkI2Wlc0SnE3RE5TdjhBaUt6R3lz OUE2TFNhU3YzR1gzeTJhVFFrNVB2S29heURxMjF2UG1WV2RCOFM4M19MUnJ2Ul9ZLUNNODVFZFFU eTY1VEg3cHhIUXoyLmNjVDhQSUpCQjdBX0JXcDZfaTg1amZPZHo0LnZkaGpuVXVBVUlrd3lkdXVu SldyMG1VUFNBJmV2ZW50X2RhdGU9MjAyNi0wMi0yMiZldmVudF90aW1lPTE3NzE3NzU3NTkiIGlk PSJtb2VfZW1haWxfdmliIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+VmlldyBpbiBicm93c2VyPC9h Pgo8L3RkPgo8L3RyPgo8L3RhYmxlPjx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0i bWFyZ2luOjAgYXV0bzsgdGV4dC1hbGlnbjpjZW50ZXI7IiB3aWR0aD0iMTAwJSI+Cjx0cj4KPHRk IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwYWRkaW5nOjIwcHggMDsiPjxhIGhyZWY9Imh0dHBzOi8v cmVkaXJlY3QuZmFyZmV0Y2guY29tL3YxL2VtYWlsY2xpY2s/cT1TWVE2ejlzamFzYWltN3dpUGRZ Y3M3dlNjTkpodVNoemVvWFEyZ2hOazRqdXkuczBEdUFSLUFEbE9ySXlSNE5rQUNTSjBkSFZHWXBj RzJPd3habVZBcUNyV3M1M1hSX3YwWEhHVmNURE5DN2xGLjVnQ3lnTWRtOUZzbU9VelpxeFpDTHFs ZUtHcDRYLjFZMUVyS1ExUks1bTVERUtiY2J2SURQMlNNU2FsV2lBT0o1QVl2SlVQaHd6NmtIZW1q azZMR2hvLUNNODVFZFFUeTY1VEg3cHhIUXoyLmNjVDhQSUpCQjdBX0JXcDZfaTg1amZPZHo0LnZk aGpuVXVBVUlrd3lkdXVuSldyMG1VUFNBLUU2eGdZREtuNnFxSnJfNWFSVHRFSm45M083Yk0uSDZw QUNyNFdwbUVWU3dQbmVIUEZWclhuZGVJNk5Pd2J1NFdYTHd4OWtfV3YuNHNNTUFlRmNsZk9xX00t WWJRaGRMY3lNTmg2TDdwVlZrRE1GVlBCaTljY3FBV2RLUjl6UGtJcGtFY2l1dy0wd2gyUGNDYXg5 LmFkTEFGZW9ZSWlkRTZRcTZYcWkzcWRtUlplTmhtR3pFd0U4dUVELjZqMUZnMW95ZFJ6cHQ5OTVu TGkwQllyTjROVFR2bVo4ckJHU29jR0h6ZkdjYTA1akhKb0J4REhIUldqeFBjb3B3c3ZwUkZoRjdx TUpSakVkZXlHNFVnVFp6ckNkc1RjVS42RmZWMDdGUDNyZkE3ckNkM21ReGxIZjFJdmFtWUFTaFRT OXdid1E0TjZrOFNNcWFmTjg4R3lnRjZRTktOeldJbFoubVd1SkxHakl6T0dLNlFhT2NWalU0STZG UDBkWG12NEJ4MENZTk9xcFlIZERCVU9iNXFocTFTTHJXSnVQaWUwbGtSZ1UxYkExYTh5V21NcnpY RzAyaElTMHR6Lk5UY3Zoc2RJek5HVUFSSzdjR0lINTVPIiBzdHlsZT0iZGlzcGxheTpibG9jazsg dGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxpbWcgYWx0PSJGQVJGRVRDSCIgc3JjPSJodHRwczovL2Nk bi1zdGF0aWMuZmFyZmV0Y2gtY29udGVudHMuY29tL2Fzc2V0cy9zdG9ybS1tb2R1bGVzLWNvbW11 bmljYXRpb25zbWFuYWdlci9sb2dvL2ZhcmZldGNoX2xvZ28ucG5nIiBzdHlsZT0iZGlzcGxheTpi bG9jazsgYm9yZGVyOjA7IG91dGxpbmU6bm9uZTsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGhlaWdo dDphdXRvOyB3aWR0aDphdXRvOyBtYXgtd2lkdGg6MTAwJTsiLz48L2E+PC90ZD4KPC90cj4KPC90 YWJsZT48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwv dGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icm93IHJvdy0yIiByb2xlPSJw cmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTow IiB3aWR0aD0iMTAwJSI+PHRib2R5Pjx0cj48dGQ+PHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRl cj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icm93LWNvbnRlbnQg c3RhY2siIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28t dGFibGUtcnNwYWNlOjA7Ym9yZGVyLXJhZGl1czowO2NvbG9yOiMwMDA7d2lkdGg6NTcwcHg7bWFy Z2luOjAgYXV0byIgd2lkdGg9IjU3MCI+PHRib2R5Pjx0cj48dGQgY2xhc3M9ImNvbHVtbiBjb2x1 bW4tMSIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7Zm9udC13 ZWlnaHQ6NDAwO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLWJvdHRvbTo1cHg7cGFkZGluZy10b3A6 NXB4O3ZlcnRpY2FsLWFsaWduOnRvcCIgd2lkdGg9IjEwMCUiPjx0YWJsZSBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Imh0bWxfYmxvY2sgYmxvY2stMSIg cm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1y c3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0cj48dGQgY2xhc3M9InBhZCI+PGRpdiBhbGlnbj0iY2Vu dGVyIiBzdHlsZT0iZm9udC1mYW1pbHk6J0ZhcmZldGNoIEJhc2lzIFJlZ3VsYXInLEFyaWFsLEhl bHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyIj4gPC9kaXY+PC90ZD48L3RyPjwv dGFibGU+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxl Pjx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMCIgY2xhc3M9InJvdyByb3ctMyIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNv LXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0Ym9keT48 dHI+PHRkPjx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMCIgY2xhc3M9InJvdy1jb250ZW50IHN0YWNrIiByb2xlPSJwcmVzZW50YXRp b24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowO2JvcmRlci1y YWRpdXM6MDtjb2xvcjojMDAwO3dpZHRoOjU3MHB4O21hcmdpbjowIGF1dG8iIHdpZHRoPSI1NzAi Pjx0Ym9keT48dHI+PHRkIGNsYXNzPSJjb2x1bW4gY29sdW1uLTEiIHN0eWxlPSJtc28tdGFibGUt bHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWFsaWduOmxl ZnQ7cGFkZGluZy1ib3R0b206NXB4O3BhZGRpbmctdG9wOjVweDt2ZXJ0aWNhbC1hbGlnbjp0b3Ai IHdpZHRoPSIxMDAlIj48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjAiIGNsYXNzPSJoZWFkaW5nX2Jsb2NrIGJsb2NrLTEiIHJvbGU9InByZXNlbnRhdGlvbiIg c3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRoPSIxMDAl Ij48dHI+PHRkIGNsYXNzPSJwYWQiIHN0eWxlPSJwYWRkaW5nLWJvdHRvbTo4cHg7cGFkZGluZy10 b3A6MjRweDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlIj48aDIgc3R5bGU9Im1hcmdpbjow O2NvbG9yOiMyMjI7ZGlyZWN0aW9uOmx0cjtmb250LWZhbWlseTonRmFyZmV0Y2ggQmFzaXMgQm9s ZCcsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6 NzAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDtsaW5lLWhlaWdodDoxLjM7dGV4dC1hbGlnbjpsZWZ0 O21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7bXNvLWxpbmUtaGVpZ2h0LWFsdDoyOXB4Ij48 c3BhbiBjbGFzcz0idGlueU1jZS1wbGFjZWhvbGRlciIgc3R5bGU9IndvcmQtYnJlYWs6IGJyZWFr LXdvcmQ7Ij5UcmVuZGluZyBub3c8L3NwYW4+PC9oMj48L3RkPjwvdHI+PC90YWJsZT48dGFibGUg Ym9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYXJhZ3Jh cGhfYmxvY2sgYmxvY2stMiIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxz cGFjZTowO21zby10YWJsZS1yc3BhY2U6MDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQiIHdpZHRoPSIx MDAlIj48dHI+PHRkIGNsYXNzPSJwYWQiIHN0eWxlPSJwYWRkaW5nLWJvdHRvbToyMHB4Ij48ZGl2 IHN0eWxlPSJjb2xvcjojMjIyO2RpcmVjdGlvbjpsdHI7Zm9udC1mYW1pbHk6J0ZhcmZldGNoIEJh c2lzIFJlZ3VsYXInLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2Zv bnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzowO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWFsaWdu OmxlZnQ7bXNvLWxpbmUtaGVpZ2h0LWFsdDoyMHB4Ij48cCBzdHlsZT0ibWFyZ2luOjAiPlBvcHVs YXIgZm9yIGEgcmVhc29uLiBNZWV0IHRoaXMgd2Vla+KAmXMgaG90dGVzdCBjb2xsZWN0aW9ucy48 L3A+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9 IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0iYnV0dG9uX2Jsb2NrIGJsb2NrLTMiIHJvbGU9InBy ZXNlbnRhdGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAi IHdpZHRoPSIxMDAlIj48dHI+PHRkIGNsYXNzPSJwYWQiIHN0eWxlPSJwYWRkaW5nLWJvdHRvbToy MHB4O3RleHQtYWxpZ246bGVmdCI+PGRpdiBhbGlnbj0ibGVmdCIgY2xhc3M9ImFsaWdubWVudCI+ PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5mYXJmZXRjaC5jb20vdjEvZW1haWxjbGljaz9xPWpq b1VqeExjRkI2dk8uOUNFMFM1NkpGdUFUdEVTdmZJaUJBY0tEdnhDU3E2VGVHcjdjcE4tOW9xeWdP Nm5Qelc0TUJpUkg2d01lbks0RkNBc256M0hFTWlOdG1odERJNDE3TVpKOVlvOC40SXBZSWpjeExQ MGhYblhBWHc2Lkd5R1VhNHVwdjlSQXI3SEhQNTE4Vm5WaktRTjBlcV9wOFc4VEgyQXA4b0hUMWFG NEJTZ3FfZkp2bUJiSG5nem1DUmdhclEtQ004NUVkUVR5NjVUSDdweEhRejIuY2NUOFBJSkJCN0Ff QldwNl9pODVqZk9kejQudmRoam5VdUFVSWt3eWR1dW5KV3IwbVVQU0EtRTZ4Z1lES242cXFKcl81 YVJUdEVKbjkzTzdiTS5INnBBQ3I0V3BtRVZTd1BuZUhQRlZyWG5kZUk2Tk93YnU0V1hMd3g5a19X di40c01NQWVGY2xmT3FfTS1XTldfSGQ2ZTd1S0tWRUdGWFZDUXVaWF81c2dEclMuS1RESEVBOFBi aVZnYjBRLVUuN1dhaFBrWFo2QU5vQWM5Y2hkWVA0RVVjRkh4MnViX0EwUXIzUHhwQjFmR3h4dnJX Q3FMWUJvNXEuWkJsMUllYzFqaFJIaUFObnZxZVIxVG1vMWFSbDJsWmhRb0tGTmNlNTJmUmduVU1v amNaTE1BVzMyaHpkS2xmWVc0ZXIuRF9YLjhXTlU4clRCVTdLNy52NEU4Y1ZNZ2NweU10bmw1RWFJ Nzloa0VPa3dFUVA4dC5zelJYVHVlOTU1SktVRHNVNDlFWjg3MmNhLjBRVkNiY3N2NnQzeFNVMV8z SktKRVRzdFlfMm9kZFkyNTk1M01DUVowdnBXZkdGSkgwNjBGTnE0dkVKMUd5d3NFNHczdWFfX1A3 ZzMuMXFWOU1KZkt5S1hyWEtUN2JEQkJxRnZrWDNhNnZEY2IzeGdEaHpQNUxkVEF6SHl1NHBVdVFy WkJWd0RvcEJIcU11Vk45TFA1QTlIbG5jQXJ6TmxSUXByUzIzNXRwR0Q0Vk9WT21OTnFCN09oSHY1 V1RaaFFSTnFPbHRLVXdJSXVETG5ZV29BRFN5MkE4MWQzOG5GTy5VN0M5d2JzMHNmUmllWnRDYXRi Q1NJcEtmVXVLcG1WelpyQ2Y2MEFyaGVqMzBQQkk1SlJoNmh0cWo1ZnlSNXVzYUdCZnFBbTlUQy44 LmxpLkpkTGNFaUJPNmRPaHlBbmt5OEJnakE1NEZQb0VDMkd5LkdvMHNqU2hWSzFwZ0RRb3lsb0Ff WnczbTRPZEYwd2guRGFtcTYyWWlRQklPN2IuZl9aaEthUi4zN2suckxLQSIgc3R5bGU9ImNvbG9y OiMyMjIyMjI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9Il9ibGFuayI+PCEtLVtpZiBt c29dPgo8djpyb3VuZHJlY3QgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwi IHhtbG5zOnc9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiICBocmVmPSJo dHRwczovL3d3dy5mYXJmZXRjaC5jb20vcmVjb21tZW5kZWQvd29tZW4/cmVjX3NpZGc9ZXdvaWFX OXpJam9nSW1Gd2NHbHZjMTl3YkhCZlltVnpkSE5sYkd4bGNuTWlMQW9pZDJWaUlqb2dJbmRsWWw5 d2JIQmZZbVZ6ZEhObGJHeGxjbk1pTEFvaVlXNWtjbTlwWkNJNklDSmhjSEJoYm1SeWIybGtYM0Jz Y0Y5aVpYTjBjMlZzYkdWeWN5SUtmUW89JnJlY19yZWZlcnJlcj1iZXN0c2VsbGVycz8kZGVlcF9s aW5rPXRydWUiICBzdHlsZT0iaGVpZ2h0OjE0OHB4O3dpZHRoOjI4M3B4O3YtdGV4dC1hbmNob3I6 bWlkZGxlOyIgYXJjc2l6ZT0iNiUiIGZpbGxjb2xvcj0iI2ZmZmZmZiI+Cjx2OnN0cm9rZSBkYXNo c3R5bGU9IlNvbGlkIiB3ZWlnaHQ9IjFweCIgY29sb3I9IiMyMjIyMjIiLz4KPHc6YW5jaG9ybG9j ay8+Cjx2OnRleHRib3ggaW5zZXQ9IjBweCwwcHgsMHB4LDBweCI+CjxjZW50ZXIgZGlyPSJmYWxz ZSIgc3R5bGU9ImNvbG9yOiMyMjIyMjI7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6 MTZweCI+CjwhW2VuZGlmXS0tPjxzcGFuIGNsYXNzPSJidXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5k LWNvbG9yOiAjZmZmZmZmOyBtc28tc2hhZGluZzogdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206 IDFweCBzb2xpZCAjMjIyMjIyOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyMjIyMjI7IGJvcmRl ci1yYWRpdXM6IDhweDsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzIyMjIyMjsgYm9yZGVyLXRv cDogMXB4IHNvbGlkICMyMjIyMjI7IGNvbG9yOiAjMjIyMjIyOyBkaXNwbGF5OiBpbmxpbmUtYmxv Y2s7IGZvbnQtZmFtaWx5OiAnRmFyZmV0Y2ggQmFzaXMgQm9sZCcsICdBcmlhbCcsICdIZWx2ZXRp Y2EnLCAnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbXNv LWJvcmRlci1hbHQ6IG5vbmU7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBwYWRkaW5nLXRvcDogMTBw eDsgcGFkZGluZy1sZWZ0OiAxNnB4OyBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB0ZXh0LWFsaWduOiBj ZW50ZXI7IHdpZHRoOiA1MCU7IHdvcmQtYnJlYWs6IGtlZXAtYWxsOyBsZXR0ZXItc3BhY2luZzog bm9ybWFsOyI+PHNwYW4gc3R5bGU9IndvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IGxpbmUtaGVpZ2h0 OiAzMnB4OyI+U2hvcCBUaGUgRWRpdDwvc3Bhbj48L3NwYW4+PCEtLVtpZiBtc29dPjwvY2VudGVy Pjwvdjp0ZXh0Ym94Pjwvdjpyb3VuZHJlY3Q+PCFbZW5kaWZdLS0+PC9hPjwvZGl2PjwvdGQ+PC90 cj48L3RhYmxlPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC90ZD48L3RyPjwvdGJvZHk+PC90 YWJsZT48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjAiIGNsYXNzPSJyb3cgcm93LTQiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9 Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRoPSIxMDAlIj48dGJv ZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0i MCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3ctY29udGVudCBzdGFjayIgcm9sZT0icHJlc2Vu dGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3BhY2U6MDtib3Jk ZXItcmFkaXVzOjA7Y29sb3I6IzAwMDt3aWR0aDo1NzBweDttYXJnaW46MCBhdXRvIiB3aWR0aD0i NTcwIj48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iY29sdW1uIGNvbHVtbi0xIiBzdHlsZT0ibXNvLXRh YmxlLWxzcGFjZTowO21zby10YWJsZS1yc3BhY2U6MDtmb250LXdlaWdodDo0MDA7dGV4dC1hbGln bjpsZWZ0O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLXRvcDo1cHg7dmVydGljYWwtYWxpZ246 dG9wIiB3aWR0aD0iMTAwJSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz cGFjaW5nPSIwIiBjbGFzcz0iaHRtbF9ibG9jayBibG9jay0xIiByb2xlPSJwcmVzZW50YXRpb24i IHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowIiB3aWR0aD0iMTAw JSI+PHRyPjx0ZCBjbGFzcz0icGFkIj48ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJmb250LWZh bWlseTonRmFyZmV0Y2ggQmFzaXMgUmVndWxhcicsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7 dGV4dC1hbGlnbjpjZW50ZXIiPjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiIgeG1sbnM6 bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4bWxuczp2PSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCI+PGhlYWQ+PHRpdGxlPkZBUkZFVENIPC90aXRsZT48 bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRl bnQtVHlwZSIvPjxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxl PTEiIG5hbWU9InZpZXdwb3J0Ii8+PCEtLVtpZiBtc29dPgo8eG1sPjx3OldvcmREb2N1bWVudCB4 bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIj48dzpEb250VXNl QWR2YW5jZWRUeXBvZ3JhcGh5UmVhZGluZ01haWwvPjwvdzpXb3JkRG9jdW1lbnQ+CjxvOk9mZmlj ZURvY3VtZW50U2V0dGluZ3M+PG86UGl4ZWxzUGVySW5jaD45NjwvbzpQaXhlbHNQZXJJbmNoPjxv OkFsbG93UE5HLz48L286T2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz48L3htbD4KPCFbZW5kaWZdLS0+ PCEtLVtpZiAhbXNvXT48IS0tPjwhLS08IVtlbmRpZl0tLT48c3R5bGU+Cip7Ym94LXNpemluZzpi b3JkZXItYm94fWJvZHl7bWFyZ2luOjA7cGFkZGluZzowfWFbeC1hcHBsZS1kYXRhLWRldGVjdG9y c117Y29sb3I6aW5oZXJpdCFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQhaW1wb3J0 YW50fSNNZXNzYWdlVmlld0JvZHkgYXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25l fXB7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZGVza3RvcF9oaWRlLC5kZXNrdG9wX2hpZGUgdGFibGV7 bXNvLWhpZGU6YWxsO2Rpc3BsYXk6bm9uZTttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5p bWFnZV9ibG9jayBpbWcrZGl2e2Rpc3BsYXk6bm9uZX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGlu ZS1oZWlnaHQ6MH0gQG1lZGlhIChtYXgtd2lkdGg6NTkwcHgpey5tb2JpbGVfaGlkZXtkaXNwbGF5 Om5vbmV9LnJvdy1jb250ZW50e3dpZHRoOjEwMCUhaW1wb3J0YW50fS5zdGFjayAuY29sdW1ue3dp ZHRoOjEwMCU7ZGlzcGxheTpibG9ja30ubW9iaWxlX2hpZGV7bWluLWhlaWdodDowO21heC1oZWln aHQ6MDttYXgtd2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LmRlc2t0b3BfaGlk ZSwuZGVza3RvcF9oaWRlIHRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50O21heC1oZWlnaHQ6 bm9uZSFpbXBvcnRhbnR9LnJvdy0yIC5jb2x1bW4tMSAuYmxvY2stMi5zcGFjZXJfYmxvY2t7aGVp Z2h0OjEycHghaW1wb3J0YW50fS5yb3ctMSAuY29sdW1uLTEsLnJvdy0zIC5jb2x1bW4tMXtwYWRk aW5nOjAgMTZweCFpbXBvcnRhbnR9fQo8L3N0eWxlPjwhLS1baWYgbXNvIF0+PHN0eWxlPnN1cCwg c3ViIHsgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7IH0gc3VwIHsgbXNvLXRleHQtcmFpc2U6 MTAlIH0gc3ViIHsgbXNvLXRleHQtcmFpc2U6LTEwJSB9PC9zdHlsZT4gPCFbZW5kaWZdLS0+PCEt LVtpZiB0cnVlXT48c3R5bGU+LmZvcmNlQmdDb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAh aW1wb3J0YW50fTwvc3R5bGU+PCFbZW5kaWZdLS0+PC9oZWFkPjxib2R5IGNsYXNzPSJib2R5IGZv cmNlQmdDb2xvciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luOjA7 cGFkZGluZzowOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lO3RleHQtc2l6ZS1hZGp1c3Q6 bm9uZSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBj bGFzcz0ibmwtY29udGFpbmVyIiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUt bHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQi IHdpZHRoPSIxMDAlIj48dGJvZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVy PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3cgcm93LTEiIHJv bGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNw YWNlOjAiIHdpZHRoPSIxMDAlIj48dGJvZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIg Ym9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3ctY29u dGVudCBzdGFjayIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTow O21zby10YWJsZS1yc3BhY2U6MDtib3JkZXItcmFkaXVzOjA7Y29sb3I6IzAwMDt3aWR0aDo1NzBw eDttYXJnaW46MCBhdXRvIiB3aWR0aD0iNTcwIj48dGJvZHk+PHRyPgo8dGQgY2xhc3M9ImNvbHVt biBjb2x1bW4tMSIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7 Zm9udC13ZWlnaHQ6NDAwO3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp0b3AiIHdpZHRo PSIxMDAlIj48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi IGNsYXNzPSJodG1sX2Jsb2NrIGJsb2NrLTEiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1z by10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRoPSIxMDAlIj48dHI+PHRk IGNsYXNzPSJwYWQiPjxkaXYgYWxpZ249ImNlbnRlciIgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFs LEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyIj4K Cgo8L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0i MCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJodG1sX2Jsb2NrIGJsb2NrLTIiIHJvbGU9InByZXNl bnRhdGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdp ZHRoPSIxMDAlIj48dHI+PHRkIGNsYXNzPSJwYWQiPjxkaXYgYWxpZ249ImNlbnRlciIgc3R5bGU9 ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxzYW5zLXNlcmlmO3Rl eHQtYWxpZ246Y2VudGVyIj48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIw IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJodG1sX2Jsb2NrIGJsb2Nr LTMiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFi bGUtcnNwYWNlOjAiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGNsYXNzPSJwYWQiPjxkaXYgYWxpZ249 ImNlbnRlciIgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSBOZXVlLEhlbHZldGlj YSxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyIj48dGFibGUgYWxpZ249ImNlbnRlciIgYm9y ZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHJvbGU9InByZXNlbnRhdGlv biIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7d2lkdGg6MTAw JTttYXgtd2lkdGg6NTcwcHg7bWFyZ2luOjAgYXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7 IiB3aWR0aD0iMTAwJSI+Cjx0Ym9keT4KPHRyPgo8dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9Indp ZHRoOjUwJTtib3JkZXI6MXB4IHNvbGlkICNlNmU2ZTY7dmVydGljYWwtYWxpZ246dG9wO3BhZGRp bmc6MDsiIHZhbGlnbj0idG9wIj4KPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIwIiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNl OjA7bXNvLXRhYmxlLXJzcGFjZTowOyIgd2lkdGg9IjEwMCUiPgo8dGJvZHk+Cjx0cj4KPHRkIHN0 eWxlPSJwYWRkaW5nOjA7Ij4KPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5mYXJmZXRjaC5jb20v djEvZW1haWxjbGljaz9xPUtOMTd2ek5zUk14U09lWHQzTUJFWTQySmNISFhjVF9ha2dxSUpmU0kz bkpMNXZhS1dMSzktcUZtUktNVlVDd0h4ZW1JdTR2SDdYX0JueUdCZEh5WWpMWU9DY1JPYW91enZv eTJ6SXNfT2ZwaER0aS51cFRxUWdYQVNjWWdQSFhwZFAyOGV3Sjl6MWl4S3k4X2xpMXk3X25YeUtS OHhLN3Y3cmdCNk9laDVOQTdKQkY1Z2VFWFA2ckNXSl8zbU9VMDdoOG8tQ004NUVkUVR5NjVUSDdw eEhRejIuY2NUOFBJSkJCN0FfQldwNl9pODVqZk9kejQudmRoam5VdUFVSWt3eWR1dW5KV3IwbVVQ U0EtRTZ4Z1lES242cXFKcl81YVJUdEVKbjkzTzdiTS5INnBBQ3I0V3BtRVZTd1BuZUhQRlZyWG5k ZUk2Tk93YnU0V1hMd3g5a19Xdi40c01NQWVGY2xmT3FfTS1JTVdSYTZqSmdtOXV6Zm03SUtWdjZv NHRMeElNVjc1QmRnRXFhRjd4WjAxVEt3LUNHM1c2R3F1bXVzQWVHVjBIT2t1Qm5MSVJTVDZrLkZv SkdpSTVCTU8zeWQyd1NwQUdaWHV5R0Rzb2ZORTFHUkt6R1J5S3FuaHFvaE80cWlCQUpJUVE0enI3 bDVubGNFakVSS0VXNXh5ckowVTNuT3N1V0oubXA2eDlLRzlnQjBwcVpWYVRVU3hVLlo3X2M4MGc4 RFZ3RnoyNDVaLnZ5Zk45QkppV0VHNE51SnBQcHIySWJqYUJGcVg0M3FPZERTSXdQMTJvZldaYlRF Tm9UZk9naEZyRzNCVTBZeE1ucnVOQkt0SFlMSjRyd3p3ekJWMExsbzBwWWUzZlRfOUFINXh4V2Jm eF9ReF9VM0tMX2VFRnUwX0kwWVlOWkEua25NT3YzVFFBUEtiMHo3TDNLLlBxQWg3ZjNhQTVhVTBL Y0cxVmxqUUJtM1dPY3I0enZwTG8uV2cucmpRVkhkZ0l0ck1zMExxOFQ0Y2hMdUE1ekV0VzRjIiBz dHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7IiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgYWx0PSJJ bWFnZSAxIiBzcmM9Imh0dHBzOi8vYy5iYW5uZXJmbG93Lm5ldC9pLzY5N2IzZGE0MDE4NjQ5ZjUy MTNkNmQ4OD9jPWpwZy0xMDAiIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0 OmF1dG87Ym9yZGVyOjA7bWF4LXdpZHRoOjEwMCU7Ii8+CjwvYT4KPC90ZD4KPC90cj4KPHRyPgo8 dGQgc3R5bGU9InBhZGRpbmc6MTZweDsiPgo8ZGl2IHN0eWxlPSJjb2xvcjojMjIyOyBmb250LWZh bWlseTogJ0ZhcmZldGNoIEJhc2lzIEJvbGQnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlm OyBmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS4zO3RleHQtYWxp Z246bGVmdDsiPgo8cCBzdHlsZT0ibWFyZ2luOjA7Ij4KPHN0cm9uZz5MaWdodCBsYXllcnM8L3N0 cm9uZz4KPC9wPgo8L2Rpdj4KPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4KPC90ZD4KPHRk IHN0eWxlPSJ3aWR0aDoxMnB4O2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7IiB3aWR0aD0iMTIi Pgo8aW1nIGFsdD0iIiBoZWlnaHQ9IjEyIiBzcmM9Imh0dHBzOi8vcGxhY2Vob2xkLmNvLzEyeDEy L3RyYW5zcGFyZW50L3RyYW5zcGFyZW50LnBuZyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ym9yZGVy OjA7IiB3aWR0aD0iMTIiLz4KPC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ3aWR0aDo1 MCU7Ym9yZGVyOjFweCBzb2xpZCAjZTZlNmU2O3ZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOjA7 IiB2YWxpZ249InRvcCI+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMCIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21z by10YWJsZS1yc3BhY2U6MDsiIHdpZHRoPSIxMDAlIj4KPHRib2R5Pgo8dHI+Cjx0ZCBzdHlsZT0i cGFkZGluZzowOyI+CjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZmFyZmV0Y2guY29tL3YxL2Vt YWlsY2xpY2s/cT1DVXRwYU5CU3d2OUluUjVJUDM2T2twdjRUSHdJS1dfWExORkVxNVFtUmRTY0pN R21rMDM3LUhzUkUua0ZFRVRzcVJlVVF5blRGbDk1M0dGWTQxVTY3OG9HZmVjN3d1Q2pURi5SSWZ6 Vkp6UVhsSFlOOHNBZ08xVERpLmtzbUZtLlN3Rms0UVQyWHNTVTNPMWZGQWVJSnlSanZuQjJvYTdP QmhoOGhxcTMyRDlNM0VTNDVGeUZBekdqczdwNENEQm9vUjJJLUNNODVFZFFUeTY1VEg3cHhIUXoy LmNjVDhQSUpCQjdBX0JXcDZfaTg1amZPZHo0LnZkaGpuVXVBVUlrd3lkdXVuSldyMG1VUFNBLUU2 eGdZREtuNnFxSnJfNWFSVHRFSm45M083Yk0uSDZwQUNyNFdwbUVWU3dQbmVIUEZWclhuZGVJNk5P d2J1NFdYTHd4OWtfV3YuNHNNTUFlRmNsZk9xX00tYnJWN19fSWxIS3pLZk5ROF9meHp5WnJpYkdR c2NONjRtanYwZVBvSVhpNk83US1YdnFKWWs3akpac1FzOUR4ZGExUzE1Z0M2TnFMTW85T084bHhp M3h2dHJQQ0NJb0Z3SGZFb04xR2JkUTFyS0V0bVRpdmJqeU80bVUzbXZudGh2bHBrUEVhRThQalRK ODNiQmZSaS5XSVN6UEJQRVppcFM1eE9HRDg5R0p1RmxiSldhYmtHaVZQcFo4OHBBVnpZS3pPN1hB alNlcGtSU1Uxd0dNZXdXQmNFckRNRGc4YlNuRUVnejJfeHNHU2lrM2RwTmxmYl9yNUtqOHNXUVJy ZkpadHZfc3plbzhWYzk4eU9WQlpDOTVMWEd6ZGRxS0l3RUE3RjNwa2pJck84YlN0MjRpdXZDeEl2 UkpFTzFSWTFFTHJkNE50bEx6MjVydHBwdlZDTVlmbHRlR19iaXlTN09ZdU9nUHlPem9XVkxUd19X eUU5R0FDUU84dG1lcU9lanBiNHNWU1ZUWFNMLmxjR01NVVE0NV9wNWJ5QXgzOTR4enl1ajE1LlEi IHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiIHRhcmdldD0iX2JsYW5rIj4KPGltZyBhbHQ9 IkltYWdlIDIiIHNyYz0iaHR0cHM6Ly9jLmJhbm5lcmZsb3cubmV0L2kvNjk3YjNkYTQwMTg2NDlm NTIxM2Q2ZDhhP2M9anBnLTEwMCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWln aHQ6YXV0bztib3JkZXI6MDttYXgtd2lkdGg6MTAwJTsiLz4KPC9hPgo8L3RkPgo8L3RyPgo8dHI+ Cjx0ZCBzdHlsZT0icGFkZGluZzoxNnB4OyI+CjxkaXYgc3R5bGU9ImNvbG9yOiMyMjI7Zm9udC1m YW1pbHk6ICdGYXJmZXRjaCBCYXNpcyBCb2xkJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJp ZjsgZm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWFs aWduOmxlZnQ7Ij4KPHAgc3R5bGU9Im1hcmdpbjowOyI+CjxzdHJvbmc+U3BvcnRzIGx1eGU8L3N0 cm9uZz4KPC9wPgo8L2Rpdj4KPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4KPC90ZD4KPC90 cj4KPC90Ym9keT4KPC90YWJsZT48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90 Ym9keT48L3RhYmxlPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PHRhYmxlIGFsaWduPSJjZW50 ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icm93 IHJvdy0yIiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNv LXRhYmxlLXJzcGFjZTowIiB3aWR0aD0iMTAwJSI+PHRib2R5Pjx0cj48dGQ+PHRhYmxlIGFsaWdu PSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFz cz0icm93LWNvbnRlbnQgc3RhY2siIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1zby10YWJs ZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7Ym9yZGVyLXJhZGl1czowO2NvbG9yOiMwMDA7 d2lkdGg6NTcwcHg7bWFyZ2luOjAgYXV0byIgd2lkdGg9IjU3MCI+PHRib2R5Pjx0cj48dGQgY2xh c3M9ImNvbHVtbiBjb2x1bW4tMSIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUt cnNwYWNlOjA7Zm9udC13ZWlnaHQ6NDAwO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLWJvdHRvbTo1 cHg7cGFkZGluZy10b3A6NXB4O3ZlcnRpY2FsLWFsaWduOnRvcCIgd2lkdGg9IjEwMCUiPjx0YWJs ZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Imh0bWxf YmxvY2sgYmxvY2stMSIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFj ZTowO21zby10YWJsZS1yc3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0cj48dGQgY2xhc3M9InBhZCI+ PGRpdiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5l dWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXIiPgo8L2Rpdj48L3RkPjwv dHI+PC90YWJsZT48ZGl2IGNsYXNzPSJzcGFjZXJfYmxvY2sgYmxvY2stMiIgc3R5bGU9ImhlaWdo dDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1zaXplOjFweCI+4oCKPC9kaXY+PC90ZD48L3Ry PjwvdGJvZHk+PC90YWJsZT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjx0YWJsZSBhbGlnbj0i Y2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9 InJvdyByb3ctMyIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTow O21zby10YWJsZS1yc3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0Ym9keT48dHI+PHRkPjx0YWJsZSBh bGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIg Y2xhc3M9InJvdy1jb250ZW50IHN0YWNrIiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJtc28t dGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowO2JvcmRlci1yYWRpdXM6MDtjb2xvcjoj MDAwO3dpZHRoOjU3MHB4O21hcmdpbjowIGF1dG8iIHdpZHRoPSI1NzAiPjx0Ym9keT48dHI+PHRk IGNsYXNzPSJjb2x1bW4gY29sdW1uLTEiIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRh YmxlLXJzcGFjZTowO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxp Z246dG9wIiB3aWR0aD0iMTAwJSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIwIiBjbGFzcz0iaHRtbF9ibG9jayBibG9jay0xIiByb2xlPSJwcmVzZW50YXRp b24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowIiB3aWR0aD0i MTAwJSI+PHRyPgo8dGQgY2xhc3M9InBhZCI+PGRpdiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iZm9u dC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7dGV4dC1h bGlnbjpjZW50ZXIiPgoKCjwvZGl2PjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Imh0bWxfYmxvY2sgYmxvY2st MiIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJs ZS1yc3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0cj48dGQgY2xhc3M9InBhZCI+PGRpdiBhbGlnbj0i Y2VudGVyIiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNh LHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXIiPjwvZGl2PjwvdGQ+PC90cj48L3RhYmxlPjx0 YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Imh0 bWxfYmxvY2sgYmxvY2stMyIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxz cGFjZTowO21zby10YWJsZS1yc3BhY2U6MCIgd2lkdGg9IjEwMCUiPjx0cj48dGQgY2xhc3M9InBh ZCI+PGRpdiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNh IE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXIiPjx0YWJsZSBhbGln bj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgcm9s ZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3Bh Y2U6MDt3aWR0aDoxMDAlO21heC13aWR0aDo1NzBweDttYXJnaW46MCBhdXRvO2JhY2tncm91bmQt Y29sb3I6I2ZmZmZmZjsiIHdpZHRoPSIxMDAlIj4KPHRib2R5Pgo8dHI+Cjx0ZCBhbGlnbj0iY2Vu dGVyIiBzdHlsZT0id2lkdGg6NTAlO2JvcmRlcjoxcHggc29saWQgI2U2ZTZlNjt2ZXJ0aWNhbC1h bGlnbjp0b3A7cGFkZGluZzowOyIgdmFsaWduPSJ0b3AiPgo8dGFibGUgYm9yZGVyPSIwIiBjZWxs cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5bGU9Im1z by10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7IiB3aWR0aD0iMTAwJSI+Cjx0Ym9k eT4KPHRyPgo8dGQgc3R5bGU9InBhZGRpbmc6MDsiPgo8YSBocmVmPSJodHRwczovL3JlZGlyZWN0 LmZhcmZldGNoLmNvbS92MS9lbWFpbGNsaWNrP3E9enBHalZYWFByX0k4WnFjTDE0TGtyUGdXSVc2 RXJOX3owcEZycUlzSmFnUnNoTUVJNjlvdC1laVR0YlIwLkp0WVY5Rkx6b2ZjSHNvQVZzWkhFN1J0 NWNHY2k4dVVJQUp3dVZqalp2QXUuR0VWMWlVaXhOODZTVHM4RHoxRWF2dmVKekk2SWI1NGRBbFBv cFhzV21pSGpmbGxYeEhBZGtFRHdFWGluc2xTVUlWUy5hbm9FSUJtNTZJNDd1djJ5cXQ0SXFYby1D TTg1RWRRVHk2NVRIN3B4SFF6Mi5jY1Q4UElKQkI3QV9CV3A2X2k4NWpmT2R6NC52ZGhqblV1QVVJ a3d5ZHV1bkpXcjBtVVBTQS1FNnhnWURLbjZxcUpyXzVhUlR0RUpuOTNPN2JNLkg2cEFDcjRXcG1F VlN3UG5lSFBGVnJYbmRlSTZOT3didTRXWEx3eDlrX1d2LjRzTU1BZUZjbGZPcV9NLVVFcm1HdE92 V0tJaWcuOGlIRzF3SWhSZm5kdWhYcS5zSmc5c0MuZ3JYdXpRS3ctaENIY0MwRG5PNXI3R0hVZHpI Lmt1YjYydE5lOXNaR2E5amtTdTVkUmRmRHM5SWRoRHdlNGwzRlVkZHJkdE9mcXA2eklyV1pNMk14 bE9QeW83SENPcVNLWTkxa2FRMzlvWUpwbS5yem1UVzI2cFp6SXdtSm1VeVdnanYyQ3gyeHFoUVZl V1lKUGQwb0doNzdqVGdOUzBJc0tfT21XaEhLM1l2cW1nWmlLRXFuM2xjYkpaVmJBMWpOQXpxQ0o4 dUZibnFKUlhwRm1xOUlsWGFuVDFYWV9mWjEwSVJ3YTdRTzdZQzcyTjdBZllnQmJSaXZkLnZTR3lv Z0hxTXI5cGt2elpHU1ZzSlRzcFRxV1h0Y3FhVUJfR1VLbTNFVFYyWUhEanppMkk5R1ZoM0N5bElD MDN5emVxWF8yV29UZmt4RmFpZnZjUjFnejVLcjh4bmZ5SXhyX3h1NnBrcDU3UHBtRmtUZU82ek9R MVZLT1JxM3NzeUEiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTsiIHRhcmdldD0iX2JsYW5r Ij4KPGltZyBhbHQ9IkltYWdlIDMiIHNyYz0iaHR0cHM6Ly9jLmJhbm5lcmZsb3cubmV0L2kvNjk3 YjNkYTQwMTg2NDlmNTIxM2Q2ZDg5P2M9anBnLTEwMCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7d2lk dGg6MTAwJTtoZWlnaHQ6YXV0bztib3JkZXI6MDttYXgtd2lkdGg6MTAwJTsiLz4KPC9hPgo8L3Rk Pgo8L3RyPgo8dHI+Cjx0ZCBzdHlsZT0icGFkZGluZzoxNnB4OyI+CjxkaXYgc3R5bGU9ImNvbG9y OiMyMjI7IGZvbnQtZmFtaWx5OiAnRmFyZmV0Y2ggQmFzaXMgQm9sZCcsIEFyaWFsLCBIZWx2ZXRp Y2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdo dDoxLjM7dGV4dC1hbGlnbjpsZWZ0OyI+CjxwIHN0eWxlPSJtYXJnaW46MDsiPgo8c3Ryb25nPk5l dy1zZWFzb24gbG9hZmVyczwvc3Ryb25nPgo8L3A+CjwvZGl2Pgo8L3RkPgo8L3RyPgo8L3Rib2R5 Pgo8L3RhYmxlPgo8L3RkPgo8dGQgc3R5bGU9IndpZHRoOjEycHg7Zm9udC1zaXplOjA7bGluZS1o ZWlnaHQ6MDsiIHdpZHRoPSIxMiI+CjxpbWcgYWx0PSIiIGhlaWdodD0iMTIiIHNyYz0iaHR0cHM6 Ly9wbGFjZWhvbGQuY28vMTJ4MTIvdHJhbnNwYXJlbnQvdHJhbnNwYXJlbnQucG5nIiBzdHlsZT0i ZGlzcGxheTpibG9jaztib3JkZXI6MDsiIHdpZHRoPSIxMiIvPgo8L3RkPgo8dGQgYWxpZ249ImNl bnRlciIgc3R5bGU9IndpZHRoOjUwJTtib3JkZXI6MXB4IHNvbGlkICNlNmU2ZTY7dmVydGljYWwt YWxpZ246dG9wO3BhZGRpbmc6MDsiIHZhbGlnbj0idG9wIj4KPHRhYmxlIGJvcmRlcj0iMCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJt c28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowOyIgd2lkdGg9IjEwMCUiPgo8dGJv ZHk+Cjx0cj4KPHRkIHN0eWxlPSJwYWRkaW5nOjA7Ij4KPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVj dC5mYXJmZXRjaC5jb20vdjEvZW1haWxjbGljaz9xPVJSUGVRaXhacmR3TktpSUtHUDRXMzlsSEdl WDZBaUxXWHh4ejloT1FZUzliV282N3d6YkItMlVGZjlGTDVCT3dCbXB6SWlYVnFGSmRhYnB0cEVN U1hOaHVkNTY5RGNMMmROeHh6UWt2M3MuZG5rNVJpa2tSWWI0ZW5kdGZLYlpJS1Q3dHFTWk5EQW5J enZHR0xRc2tHajI3cTRkdE9acEowZk1WSEpPZUI1UTB4Y2dobG1BTTdFeTJpNGdwa0ZOWkI1R0Ut Q004NUVkUVR5NjVUSDdweEhRejIuY2NUOFBJSkJCN0FfQldwNl9pODVqZk9kejQudmRoam5VdUFV SWt3eWR1dW5KV3IwbVVQU0EtRTZ4Z1lES242cXFKcl81YVJUdEVKbjkzTzdiTS5INnBBQ3I0V3Bt RVZTd1BuZUhQRlZyWG5kZUk2Tk93YnU0V1hMd3g5a19Xdi40c01NQWVGY2xmT3FfTS0yY2dINnNZ V0ExTjhnbnhTbXZoc1B3UEJGQnpOTWN6V0lWTjVTWlFCWDAycGtBLUFpVE5CdWRFMW8yNFJTREpF YXE3VlNGVFJNT3hTWnBJRzR3WVB4M19odEx1d0xxc2ZheW45LkVQZ19yeGZWY1VwOWl1T1BWSEpU MWpuSUpBWWU2TVZqSnVpRURaVHRzYU43M2lEdS5uZkhEN2FSb0FVLnNxM0o1ZWZNT0dYancyQnZi X1N6aHdTUV80STNlbTB3eGIyc1hfY3ZTX0RRZFc3X1o3ZjhRVnBQR1NYT0pPSFMuaTByeGxNQU9m ckxDWFJIV2N1NDZudnA5cGI1V2Zjd2E0QnFQM2lDMVZ4Mk5pVW1za0Y1b20zV19EMjVjM2dDb1gx Tk9UdWkyNDRCZGdybU1IeVdtX016clNhODhLaTZlRHRfYzRpOUhVQ250eU45UTVIdjlQQ25oMkk4 NE5nTFA3aUFKZjl0LmRyYkp5YnB1Tl9XX3F6R2Q4dkdqOWNmSXVSVUJVREZ4VVJaa3ZJV25vZE5t TzRhSlVTaU8yNEllOS53dDlnMEFLOEZPcW1YSkMiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9u ZTsiIHRhcmdldD0iX2JsYW5rIj4KPGltZyBhbHQ9IkltYWdlIDQiIHNyYz0iaHR0cHM6Ly9jLmJh bm5lcmZsb3cubmV0L2kvNjk3YjNkYTQwMTg2NDlmNTIxM2Q2ZDg3P2M9anBnLTEwMCIgc3R5bGU9 ImRpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztib3JkZXI6MDttYXgtd2lkdGg6 MTAwJTsiLz4KPC9hPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBzdHlsZT0icGFkZGluZzoxNnB4OyI+ CjxkaXYgc3R5bGU9ImNvbG9yOiMyMjI7Zm9udC1mYW1pbHk6ICdGYXJmZXRjaCBCYXNpcyBCb2xk JywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjE1cHg7Zm9udC13ZWln aHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWFsaWduOmxlZnQ7Ij4KPHAgc3R5bGU9Im1hcmdp bjowOyI+CjxzdHJvbmc+RG9sY2UmR2FiYmFuYTwvc3Ryb25nPgo8L3A+CjwvZGl2Pgo8L3RkPgo8 L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPjwvZGl2 PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC90ZD48L3RyPjwv dGJvZHk+PC90YWJsZT48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGlu Zz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3cgcm93LTQiIHJvbGU9InByZXNlbnRhdGlv biIgc3R5bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRoPSIx MDAlIj48dGJvZHk+PHRyPjx0ZD48dGFibGUgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxs cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJyb3ctY29udGVudCBzdGFjayIgcm9s ZT0icHJlc2VudGF0aW9uIiBzdHlsZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3Bh Y2U6MDtib3JkZXItcmFkaXVzOjA7Y29sb3I6IzAwMDt3aWR0aDo1NzBweDttYXJnaW46MCBhdXRv IiB3aWR0aD0iNTcwIj48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iY29sdW1uIGNvbHVtbi0xIiBzdHls ZT0ibXNvLXRhYmxlLWxzcGFjZTowO21zby10YWJsZS1yc3BhY2U6MDtmb250LXdlaWdodDo0MDA7 dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLXRvcDo1cHg7dmVydGlj YWwtYWxpZ246dG9wIiB3aWR0aD0iMTAwJSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9 IjAiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0iaHRtbF9ibG9jayBibG9jay0xIiByb2xlPSJwcmVz ZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowIiB3 aWR0aD0iMTAwJSI+PHRyPjx0ZCBjbGFzcz0icGFkIj48ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxl PSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0 ZXh0LWFsaWduOmNlbnRlciI+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGJv ZHk+PC90YWJsZT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvdGQ+PC90cj48L3Rib2R5Pjwv dGFibGU+PCEtLSBFbmQgLS0+PC9ib2R5PjwvaHRtbD48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48 L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PHRhYmxl IGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIw IiBjbGFzcz0icm93IHJvdy01IiByb2xlPSJwcmVzZW50YXRpb24iIHN0eWxlPSJtc28tdGFibGUt bHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowIiB3aWR0aD0iMTAwJSI+PHRib2R5Pjx0cj48dGQ+ PHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj aW5nPSIwIiBjbGFzcz0icm93LWNvbnRlbnQgc3RhY2siIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5 bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjA7Ym9yZGVyLXJhZGl1czow O2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O3dpZHRoOjU3MHB4O21hcmdpbjow IGF1dG8iIHdpZHRoPSI1NzAiPjx0Ym9keT48dHI+PHRkIGNsYXNzPSJjb2x1bW4gY29sdW1uLTEi IHN0eWxlPSJtc28tdGFibGUtbHNwYWNlOjA7bXNvLXRhYmxlLXJzcGFjZTowO2ZvbnQtd2VpZ2h0 OjQwMDt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZy1ib3R0b206MjVweDtwYWRkaW5nLWxlZnQ6MTZw eDtwYWRkaW5nLXJpZ2h0OjE2cHg7cGFkZGluZy10b3A6MjVweDt2ZXJ0aWNhbC1hbGlnbjp0b3Ai IHdpZHRoPSIxMDAlIj48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjAiIGNsYXNzPSJodG1sX2Jsb2NrIGJsb2NrLTEiIHJvbGU9InByZXNlbnRhdGlvbiIgc3R5 bGU9Im1zby10YWJsZS1sc3BhY2U6MDttc28tdGFibGUtcnNwYWNlOjAiIHdpZHRoPSIxMDAlIj48 dHI+PHRkIGNsYXNzPSJwYWQiPjxkaXYgYWxpZ249ImNlbnRlciIgc3R5bGU9ImZvbnQtZmFtaWx5 OidGYXJmZXRjaCBCYXNpcyBSZWd1bGFyJyxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0 LWFsaWduOmNlbnRlciI+PHRhYmxlIGFsaWduPSJsZWZ0IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMCIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0iYmFja2dyb3Vu ZC1jb2xvcjojZjVmNWY1O21hcmdpbjowIGF1dG87dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MTZw eCAwIiB3aWR0aD0iMTAwJSI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0IiBzdHlsZT0icGFkZGluZzow IDEycHggMTVweCAxMnB4Ij48YSBjbGlja3RyYWNraW5nPSJvZmYiIGhyZWY9Imh0dHBzOi8vd3d3 Lmluc3RhZ3JhbS5jb20vZmFyZmV0Y2g/dXRtX3NvdXJjZT1Nb0VuZ2FnZSZ1dG1fbWVkaXVtPUVN QUlMJnV0bV9jYW1wYWlnbj0yMDI2MDIyMl9UUkVORElOR19OT1dfTW9FMiZpc19yZXRhcmdldGlu Zz10cnVlJmM9MjAyNjAyMjJfVFJFTkRJTkdfTk9XX01vRTImcGlkPUVNQUlMIiBzdHlsZT0iZGlz cGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgNXB4Ij48aW1nIGFsdD0iSW5zdGFncmFtIiBoZWln aHQ9IjI0IiBzcmM9Imh0dHBzOi8vY2RuLXN0YXRpYy5mYXJmZXRjaC1jb250ZW50cy5jb20vY29u dGVudC9pbWFnZXMvSG9tZV9DTVMvQ21zL2VtYWlscy9zaGFyZWQvaW5zdGFncmFtLnBuZyIgc3R5 bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrIiB3aWR0aD0iMjQiLz48L2E+PGEgY2xpY2t0cmFja2lu Zz0ib2ZmIiBocmVmPSJodHRwczovL3d3dy50aWt0b2suY29tL0BmYXJmZXRjaD91dG1fc291cmNl PU1vRW5nYWdlJnV0bV9tZWRpdW09RU1BSUwmdXRtX2NhbXBhaWduPTIwMjYwMjIyX1RSRU5ESU5H X05PV19Nb0UyJmlzX3JldGFyZ2V0aW5nPXRydWUmYz0yMDI2MDIyMl9UUkVORElOR19OT1dfTW9F MiZwaWQ9RU1BSUwiIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA1cHgiPjxp bWcgYWx0PSJUaWtUb2siIGhlaWdodD0iMjQiIHNyYz0iaHR0cHM6Ly9jZG4tc3RhdGljLmZhcmZl dGNoLWNvbnRlbnRzLmNvbS9jb250ZW50L2ltYWdlcy9Ib21lX0NNUy9DbXMvZW1haWxzL3NoYXJl ZC90aWt0b2sucG5nIiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2siIHdpZHRoPSIyNCIvPjwv YT48L3RkPgo8L3RyPjx0cj4KPHRkIHN0eWxlPSJmb250LWZhbWlseTonRmFyZmV0Y2ggQmFzaXMg UmVndWxhcicsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyMnB4 O2NvbG9yOiMyMjI7cGFkZGluZzoxMHB4IDEycHggMTVweCAxMnB4Ij4KICAgICAgICAgICAgRkFS RkVUQ0ggQXBwIGZvciA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmZhcmZldGNoLmNvbS92MS9l bWFpbGNsaWNrP3E9NElOdFdFcWlTVmRWVm8zR0pGeldSWlExUk1WS3dDWFpWUklyRkxLUW5ZLjlv WW9ScTU5dS1teVdrVl9YcWQxNWxaN3JGelQwTmNVQXlra3JxSE9vb3Y0QWpNbTFhWTZBeVZ3RWE5 U3pmZ3lJaWtoWkdPRWtacm93SXJDd1lPYTFaNXBLY0tmTURnT09wTWRhYWszaVg5WUg4WGR3ZExT cUQxSzRyVjVKQi5aQUJ3S25jQW1Ra1AzYkowaWMzODJRVkxlUS1DTTg1RWRRVHk2NVRIN3B4SFF6 Mi5jY1Q4UElKQkI3QV9CV3A2X2k4NWpmT2R6NC52ZGhqblV1QVVJa3d5ZHV1bkpXcjBtVVBTQS1F NnhnWURLbjZxcUpyXzVhUlR0RUpuOTNPN2JNLkg2cEFDcjRXcG1FVlN3UG5lSFBGVnJYbmRlSTZO T3didTRXWEx3eDlrX1d2LjRzTU1BZUZjbGZPcV9NLXpuNVBQSnZkQkNOaUEuVXNlYlRVeEt0WVdR dkJnMjMzZGdFb3FhdmRlcEZwanctZWhaNGJTRTNMdExDRWJpZURzbEc4MjRfNGdYcDN3SnhTS2hE WWl6aHBXWUJMcFhVZEFubGNsNlRyV0owd1J0ejlZN1dNTFJzY2NtRWNsd3BUYlAxbFYwN0NnaXA5 ZGdTbmJtZzFJRV9iX0xCZ1M4bEpQZHlIclo3SVdJc0ZhemZnazlpd2xfamo0ZEx0Yk56c29FN2M5 cXRGMkhCVGpDSWNQRXB6MHJiQm9uaVUxS2V4bmlUbFFFSnNMa3hIa3hHbG1KNzlJUUgwS2hoSDVp T240eTVjdHUxYlRrbC5acW5SV1I0UkVvdHlHU2JjckJ5UWlGMENMdHZKMG1nUDltM3RUamJJU29B RHl5RExrOGZwOVhNU3FQMXZ6ZWhNQkVfMURJdWJoTTVjdndYT1M0YkppNVdfWnZTaElMd2JORjZ3 ZWYucWZJd2F2ZVpmUlFkLlI3alB5TUhMcndXaEJFLlBYZ0xnRGZYSlo4IiBzdHlsZT0iY29sb3I6 IzIyMjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIj5pT1M8L2E+IGFuZCA8YSBjbGlja3RyYWNr aW5nPSJvZmYiIGhyZWY9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWls cz9pZD1jb20uZmFyZmV0Y2guZmFyZmV0Y2hzaG9wJiRkZWVwX2xpbms9dHJ1ZSZ1dG1fc291cmNl PU1vRW5nYWdlJnV0bV9tZWRpdW09RU1BSUwmdXRtX2NhbXBhaWduPTIwMjYwMjIyX1RSRU5ESU5H X05PV19Nb0UyJmlzX3JldGFyZ2V0aW5nPXRydWUmYz0yMDI2MDIyMl9UUkVORElOR19OT1dfTW9F MiZwaWQ9RU1BSUwiIHN0eWxlPSJjb2xvcjojMjIyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUi PkFuZHJvaWQ8L2E+PC90ZD4KPC90cj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCIgc3R5bGU9InBhZGRp bmc6MCAxMnB4Ij4KPGRpdiBzdHlsZT0ibWFyZ2luOjAgYXV0bzttYXgtd2lkdGg6NjAwcHgiPgo8 dGFibGUgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiByb2xl PSJwcmVzZW50YXRpb24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjUiIHdpZHRoPSIx MDAlIj4KPHRib2R5Pgo8dHI+Cjx0ZCBzdHlsZT0icGFkZGluZzo4cHggMCI+PGEgaHJlZj0iaHR0 cHM6Ly9yZWRpcmVjdC5mYXJmZXRjaC5jb20vdjEvZW1haWxjbGljaz9xPWNYbTFKMFA5SHphRjI1 SHlLemhqdml0U21PNElFeGZyWXJKeUYybEFFZlFJNkxPU3gzQUktakF4WHRMMlJJbTdSZnpVTkdt YXNrVXR1QWtuM0tIN1RPRkMyYkZsTGpSZkk0UGlmYUNGS2l6cXVyQUNtbVRCeUxCR0RyLjhLWUxU ODBrbDg0bTFFNml1UnZXVlJzbUxLN1EyZE12a01RdDRMbzVic2FJMmpOdTZCUnpNdFhCeFdrangu dmVGcXR5bFRCWWMtQ004NUVkUVR5NjVUSDdweEhRejIuY2NUOFBJSkJCN0FfQldwNl9pODVqZk9k ejQudmRoam5VdUFVSWt3eWR1dW5KV3IwbVVQU0EtRTZ4Z1lES242cXFKcl81YVJUdEVKbjkzTzdi TS5INnBBQ3I0V3BtRVZTd1BuZUhQRlZyWG5kZUk2Tk93YnU0V1hMd3g5a19Xdi40c01NQWVGY2xm T3FfTS1vUHFTTEFXUVlhZkxYU2dKa2ttTDBQWVlmZnJxODdlRklfZ00yVmkyYkNZN2FnLWtHWFNQ Zmc3UjFwUllBeWRZX0hJS29menBacmtPTnE1emoyUWxzMWZxNDRULjNjaFZoVFJPYkNsTGFJb0NI anplQURMUS5QZ3o0RW5xVUN2SGZCYzFSaFgwT3BxSjhQUFNSaUUyQlJtd1V5eU5SM0h4TWtwc2hN NHBVa3RHQUNXa0lsd0RNb25tSG1yWHpoLmNjbU5IVjJXY1JaQ3pPRU53NDN0d3JhRXJ6bzU4VFNW dVhZeFg1aVpaM2F6SHlNMGh2Tjc1OW90dUhRa3NZVElIMVRzdWFYQXlGOFpuelFQMzRyeGxCZURH bDNzN3o0a1hnQmc4LnBrS0VKS1hRczNtOW40TnkxOEdBOG1ZTjRnYVFQd0YzOEN3MWwyV0RTS1pm aU9EMzdUZHBtRW5VaWdkeGQyMmMyWTZ4bGlCbDVKNlJkQzhYRU82OEJlY0pSZ3JpRjJRUDJ2bzJJ Q1BBaE03QVZRZVZ6OW5LeGd4MkxLNXV5UHJ6SjR4OXI1c3ciIHN0eWxlPSJmb250LWZhbWlseTon RmFyZmV0Y2ggQmFzaXMgUmVndWxhcicsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtj b2xvcjojMjIyO3RleHQtZGVjb3JhdGlvbjpub25lIj5FbWFpbCBQcmVmZXJlbmNlczwvYT48L3Rk Pgo8L3RyPgo8dHI+Cjx0ZCBzdHlsZT0icGFkZGluZzo4cHggMCI+PGEgaHJlZj0iaHR0cHM6Ly9y ZWRpcmVjdC5mYXJmZXRjaC5jb20vdjEvZW1haWxjbGljaz9xPVBVWFRmc19MUW5CSlRoVE5ndWU3 UFhnd1g3U09feG1ERHprdVk3Lkg5NHlWUnVQS0hrT2stbW1rNnVzbXFIQm03WDhCS3l5bUFZQlh2 Ujg4elpFbkxTT29vQ2pZMjBwSDl0YVdhNGdueGJ6QlpwQWdFREpnRk9YMk42M09IT2dzbHNpT1ZW S3lrN2xyT2ZTTkdDTzV5cmNGTjZ0V0RfSlYwOF9ndWJ2RjVGR1BLWXJ3aHNSQUtmMG1lbDNDWEpL NG85cDQtQ004NUVkUVR5NjVUSDdweEhRejIuY2NUOFBJSkJCN0FfQldwNl9pODVqZk9kejQudmRo am5VdUFVSWt3eWR1dW5KV3IwbVVQU0EtRTZ4Z1lES242cXFKcl81YVJUdEVKbjkzTzdiTS5INnBB Q3I0V3BtRVZTd1BuZUhQRlZyWG5kZUk2Tk93YnU0V1hMd3g5a19Xdi40c01NQWVGY2xmT3FfTS1z MU5BeVU3ZmtRSlRsSmFhNWZOY3hOcnhOQS45SllQQ3ZyT1ptNkF1U1ZwMDF3LUYwdkhFODl5MmtC d1JxQUNyb2Z0c2oxbHEwQktWeFhZOVk4QWFEeUxtTnNjby5iTTRUd3ZsRExRTDRtWllnUEpCcW5D QVBmTWEuX3RKT1dISE16ODBLalBwejNWbDNGc2VJdFBsSUl0eTdRUkp6UEVoZXpueU5SQ0xzaExQ eUFOUFY1SDdpLkJ5VWE0RU1Ta1B6aDFFNFB3VHhmYTBsMjVnMHVFdXg5d3BoR0hQU1A3NGZxY3B1 MFZ6M2NYNmdCem9lb0VHM2k4UGdKa3dnbThOMUk1OTlrQ1hVSkU3VnIxcEw4UUsxbG1zaWJSVTYy MllvcVJSWmdrNmRmOXpVVXVOeHZuZzRPb2xCZDQ5b1M1Qk8wblQySzh2aGJUTGU3Skxhb2xYWjFt bmhicGRweDN2OFNDRDh0bjZXRTY1N3d5OG5XYmxMeVdXSFM4dHpXVk85U194M0Q3aTJzUkp3IiBz dHlsZT0iZm9udC1mYW1pbHk6J0ZhcmZldGNoIEJhc2lzIFJlZ3VsYXInLEFyaWFsLHNhbnMtc2Vy aWY7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzIyMjt0ZXh0LWRlY29yYXRpb246bm9uZSI+TXkgQWNj b3VudDwvYT48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBzdHlsZT0icGFkZGluZzo4cHggMCI+PGEgaHJl Zj0iaHR0cHM6Ly9yZWRpcmVjdC5mYXJmZXRjaC5jb20vdjEvZW1haWxjbGljaz9xPVRfb3hXaVdD R1pmX3o4b3plMjFzR3Y0NkpEQVc1VmhnTWk1ZlRYVk43bnNiTnBuODdfTkktOVI1ZnR1cUYxWkRr anFoZTJHaDUzQngucXdUSjUzMmVjeTBVSXhBXzNMVURsNFNta3RiS0M2cGRWaV9rVF9JTzU2S1M5 WXZ1OG5pZHBocjc0RXpGMGxoYWU0TWNYTkpqRmowcEJtekhlbnN1dEZIRGpQWFVWV0I3SWFaYVRF NDlNNHZ0QXRaVndhSURaSUktQ004NUVkUVR5NjVUSDdweEhRejIuY2NUOFBJSkJCN0FfQldwNl9p ODVqZk9kejQudmRoam5VdUFVSWt3eWR1dW5KV3IwbVVQU0EtRTZ4Z1lES242cXFKcl81YVJUdEVK bjkzTzdiTS5INnBBQ3I0V3BtRVZTd1BuZUhQRlZyWG5kZUk2Tk93YnU0V1hMd3g5a19Xdi40c01N QWVGY2xmT3FfTS0wTGpQR1ZDMWFOYll4dFk1SGtnY3BaLl8uNXlHZ0MwZXRGRmUzNURzYnUyalFB LTVwc3IzMnFGRU1rem9lQ2o3eFV1ajVHQk9peVRCYkwyU1hoT1ZNQk84NENJQWloekI0Snh5bFNF RW9KeTQ0OHhTM1Z3SjJqWTFwU3gwRjdDNXJtektXdHJnczBXRWlmTVVNZ3RfRlJXMVl3YVpJNmgw cFcxLjNjSElFbTNxcXpCVGl0TGNVTjBBb09FckRQbDhLa2tzODBidmp6YkNrcl8wNlZub2JHXzlI SzRHLnEzT010MWRMYVdLSVpKSm1TRktnNWNZN25wZnBlNnVnZWJlcTRUVE9nS0lEZEo5SUN1bXdW UzhBdUpwZTdRUHY2d3Yzd3FySjhna0dZWW4uaFFhYU05aVpuM3VhSml0MVlSWGR2X0dQd2ltekdt cGVycDhtTEZjd1M1ckEzX2NXV3k0Z2RFRm16VXNMSld1M3R0aHRBdWY3aVkyeVJIb2FQeFptb2xt QnFRa2ZzIiBzdHlsZT0iZm9udC1mYW1pbHk6J0ZhcmZldGNoIEJhc2lzIFJlZ3VsYXInLEFyaWFs LHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzIyMjt0ZXh0LWRlY29yYXRpb246bm9u ZSI+UmVmZXIgYSBGcmllbmQ8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQgc3R5bGU9InBhZGRpbmc6 OHB4IDAiPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZmFyZmV0Y2guY29tL3YxL2VtYWlsY2xp Y2s/cT1vYmVGZFRfN2w2V3lUR01MVURjY0UyOGh2UVdpRFVQcS5DSmUyejdXOElCYlJKVko4d0d3 LWliR1haWElXNGUueHR2dWt2VzNybFBxelRiYlM2X1BrejR4c2wyU1JLMmRkRlhaaUdwVXBOS3Iy VlFkSmEwVjBIR08xNHdfd1ZxMnFVMlAyUlpRTnJKUUxvY1l0OFlHd0hHYXNhZXNSWlhPTGJIT09F aFlhVWpadnVCYmV0OEt6UFU4Q2lBZDFJRll6YzFnLUNNODVFZFFUeTY1VEg3cHhIUXoyLmNjVDhQ SUpCQjdBX0JXcDZfaTg1amZPZHo0LnZkaGpuVXVBVUlrd3lkdXVuSldyMG1VUFNBLUU2eGdZREtu NnFxSnJfNWFSVHRFSm45M083Yk0uSDZwQUNyNFdwbUVWU3dQbmVIUEZWclhuZGVJNk5Pd2J1NFdY THd4OWtfV3YuNHNNTUFlRmNsZk9xX00tUW9MVmF2MUpaMTJaOEFmU1cyLmdPVm9Gd2xGT1FvV3Fx QmhDR01DRVlLRWp4Zy0wUTBQQ29ralk0eWxMYmt0WWo2c09iNXBwc0lrc1FESDVzMzh3TTYuV2g4 WTZxV3c1WU11cVhoam11MzBBRi5mNUdabk1zTllSQ0xrdW1nR1E4dkVWVnJfUXN2WjdBQmR4SENL UVltc1UxdWdudW96QXZ4NFpiNl9pMC5BcV9Kc0ZxOXB4S3gyN25JXzlUakU4amhEUkpwNFl3Q0la clRncGpLQzJBNjdMcW52ZXdZT05ZNS52YVZ4dUFxdGhCSnA5V2lHdVFlcmdnRFpkNWY1X1llZThN YklLbnQxSnhjRHREU1MwREEyd0NkM1dHSThqbWNWcThCMjljelF6aE5qbG93dklXV21ySXU3eVU4 UDd5SzV6bkcxblZKeHNLZl94UHpjV1lUSVVSN0Z2M29odXlaVHJxWlFXbEVTdlpxSjNCTUxOdWFy RFhVRWx0bXRpRGFXSnciIHN0eWxlPSJmb250LWZhbWlseTonRmFyZmV0Y2ggQmFzaXMgUmVndWxh cicsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtjb2xvcjojMjIyO3RleHQtZGVjb3Jh dGlvbjpub25lIj5Db250YWN0IFVzPC9hPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIHN0eWxlPSJwYWRk aW5nOjhweCAwIDEycHggMCI+PGEgaHJlZj0iaHR0cHM6Ly91cmwuZmFyZmV0Y2guY29tL3YxL2Vt YWlsY2xpY2s/cT15Z0FYMFUyLlVlWjlPRkdoR2xWblU3cEV3ZGhQbUY1NnNOTXFUdDZKMTRyZWVY ZDFCMHB2LXhpNTVqSS5GS0Jxck1qUUd5RnVYSkJCelZPRTFoTjdYQUE3WkkzRF9uU3JkNWU3QXZF X0g4V1JWbGZ1LnlhY3E0VmJsazZ1MHB5RUVRb3VPVTgxdWpLaGVFbkNnYVlFYzFBUFBBdHFFcERp bDVGV1EzZDhwem5aQWIueEdGVy4yVF9xcUt3RnNibl9XV0YwLUNNODVFZFFUeTY1VEg3cHhIUXoy LmNjVDhQSUpCQjdBX0JXcDZfaTg1amZPZHo0LnZkaGpuVXVBVUlrd3lkdXVuSldyMG1VUFNBLUU2 eGdZREtuNnFxSnJfNWFSVHRFSm45M083Yk0uSDZwQUNyNFdwbUVWU3dQbmVIUEZWclhuZGVJNk5P d2J1NFdYTHd4OWtfV3YuNHNNTUFlRmNsZk9xX00tUTJ5bjhKWXlLNWFaZ19yMkR1MWV0QW1telhM T1UzeUJaVXREZ2dMbDBKMWRUUS1kSVpBaHlwdnRNaDNrMV9yaDEzZGJoZnc0LnVKWTQwYVlDNHhB OWxxcGtvdmRWQzVMQzlITXgyQ3c1UlN5SUI5anN1SnRkRy5PWUcxNHprYXd1dFpLSUFtQm1PMlJS YkhCUE0yOWJvWF9ONFJzcm5Td1c5NEc2UG9CNFJOalFOa2xyb0I3bFV0SEg5b2daOVh4dzRfY1BW NUFUY29Db3p4RzExZG9kOGpPWmo0cXpWdEsyZjVpMWp5VUN0VUVfNy4zVWxSZl9MT3JzVVM0RnpP ZlBwbEwyczkyZUdnWVFaZ2l2WDNDaTNlM21oN3BrVDBfeXhFZDhOY0tJMEdLTlhrTklOOHlUcHFw dGNqbG0zS1A2SFNEZ2c4VmtleWw1SV9xaWN6Lk1VZjFxOVVQWm5heHNwYmJmRUVLeG5EMlg0UUdB TXJCOWJBYW13M1c0YnBTOGdJcUVzTjhKdm1RR2NURklfOXFWOXJnYzU0SUxIMm5NckM3V29Nd0Zi SHVjSGlRRWR2YkhicTFIak9QNXFtQjZzclQzSmFsQ0YzTE1UZ0tZanFRTGRDVkZGOUpSRWJiam52 M3YwdW5RTDRVN3h5YmJwbERzT01LdHR6LjJvY0NQb1NnVlFvVERIOXlRIiBzdHlsZT0iZm9udC1m YW1pbHk6J0ZhcmZldGNoIEJhc2lzIFJlZ3VsYXInLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXpl OjE0cHg7Y29sb3I6IzIyMjt0ZXh0LWRlY29yYXRpb246bm9uZSI+VW5zdWJzY3JpYmU8L2E+PC90 ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT4KPC9kaXY+CjwvdGQ+CjwvdHI+PHRyPgo8dGQgc3R5 bGU9ImZvbnQtZmFtaWx5OidGYXJmZXRjaCBCYXNpcyBSZWd1bGFyJyxBcmlhbCxzYW5zLXNlcmlm O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjIycHg7Y29sb3I6IzIyMjtwYWRkaW5nOjEwcHgg MTJweCAxMHB4IDEycHgiPkZBUkZFVENILCBUaGUgQm93ZXIsIDIxMSBPbGQgU3RyZWV0LCBMb25k b24sIEVDMVYgOU5SPGJyPlJldHVybnMgd2lsbAogICAgICAgICAgICBub3QgYmUgYWNjZXB0ZWQg YXQgdGhpcyBhZGRyZXNzPGJyPlVLIGNvbXBhbnkgbnVtYmVyIDA2NDAwNzYwIHwgwqkgMjAyNSBG QVJGRVRDSDwvdGQ+CjwvdHI+CjwvdGFibGU+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48 L3RyPjwvdGJvZHk+PC90YWJsZT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvdGQ+PC90cj48 L3Rib2R5PjwvdGFibGU+PCEtLSBFbmQgLS0+PC9ib2R5PjwvaHRtbD48aW1nIHNyYz0iaHR0cHM6 Ly91cmwuZmFyZmV0Y2guY29tL3YxL2VtYWlsb3Blbj9xPWJKN1BsbHMzdmlnTVFDdVZnbk1KNmFB YXVBM1ZCdXcxTWY4QU9tbVJOZHJnNkVJVVBIX1QtRjBheUg3a3J5akZtN0xmMEN4bjg4RWFZUzBN T2YwSWdNLnZ5ZWQ0U3B2RE1xS2FqSWlRcDNqZHZHUTE3TUhwVENzNzNoSGY2Rkprb2hpc0Q3eDJf cUVnZGZpRVNqMEQ1YnN3NFMxT01sWlZrVS43cF84NUllcmRrQmZUNDBIS0JFRXFjTC4xNzRLdUJf LlktYXpUX1pVYW5mV0FOWDBieVNEVGJOUUVIb3NVSzFDUTB4c2xLVmlrMWxiUmlLUnNEN3ltUWZC UG1tSUFMcm5FVEZfUWx2eXJyaFEtd1VMN0ZiMG5qLjdwOXJCQnBwc3p4NnVZUDBaUVp4VmNKdnFi a1RxNVFvVTBrYkxCc3RvQ3RfekhSZ1lQR2tPaFNlc2MuSlp6bi5mQlpNeVhkc25LOFlNWiIgYWx0 PSIiIHN0eWxlPSJkaXNwbGF5Om5vbmU7d2lkdGg6MXB4O2hlaWdodDoxcHg7IiBoZWlnaHQ9IjEi IHdpZHRoPSIxIj4= --===============7431737915814109448==-- From - Sun Feb 22 16:47:03 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id 8B0CHQUzm2kFegUAYBR5ng (envelope-from ); Sun, 22 Feb 2026 16:47:01 +0000 Return-path: Envelope-to: pf-from ) id 1vnFok-0000000BXLy-1R8a for hi@josie.lol; Tue, 03 Feb 2026 12:47:42 +0000 Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 443E33018704 for ; Tue, 3 Feb 2026 12:47:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AABFA34029C; Tue, 3 Feb 2026 12:47:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="wIDOu0en" X-Original-To: stable@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8869833F391 for ; Tue, 3 Feb 2026 12:47:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122838; cv=none; b=VfcFbvgbO3jWnr1u4b6GoFxLTIB9O9Zb2DyrZ/pY3t0dMsu/Af32TCbBZYQLq/OO3O3tKQM9wu6f7ikWp8lREYSCzIbWa1RfvjFdGMuKd3+2p89ILii18WjRwKrKx1LijGuynmuBFOx2SNeA+qOjIzXXWHlfNikSPke3Nprvquo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122838; c=relaxed/simple; bh=t0fUUAelKKfM0KPRfcGZckOUDQy+Y6R6ljHjWlFSxXE=; h=Subject:To:Cc:From:Date:Message-ID:MIME-Version:Content-Type; b=XwTgAnzOFDAXWIhF54OLcE3hrGo8v/jVl4pRL3GkrKhRWUQhxJnflOlsdS9sGKtA3a+jNzqkGfYgWPhI4Y7xsQ1RDEltvhdNogQWvZos9YNx7ecRP58AQ2njd4diF2He/1H3nI5Csz1FaPtzDk90oIYwhpX9Im9iICuLiM+ka8M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=wIDOu0en; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADE69C116D0; Tue, 3 Feb 2026 12:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1770122838; bh=t0fUUAelKKfM0KPRfcGZckOUDQy+Y6R6ljHjWlFSxXE=; h=Subject:To:Cc:From:Date:From; b=wIDOu0en5ST5iPatAzLfu501A0SyE5kMgXgqEVZ+dzSOP27IpUm7D87G1kR0eNvvQ Iczwyk8JelU96ugoCv+gtOBOuC7pUYjzPyB+yydP3jQt/Ja+9DU8Ofnha0ls8CkEim hEz+UJ1qwI+PddUR96o92B/lMH4Si7z+b7V2IMHc= Subject: FAILED: patch "[PATCH] mptcp: avoid dup SUB_CLOSED events after disconnect" failed to apply to 5.15-stable tree To: matttbe@kernel.org,geliang@kernel.org,kuba@kernel.org,marco.angaroni@italtel.com Cc: From: Date: Tue, 03 Feb 2026 13:47:01 +0100 Message-ID: <2026020301-griminess-trespass-07fe@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-DKIM: signer='linuxfoundation.org' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 0.4 (/) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (0.4 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: linuxfoundation.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [172.232.135.74 listed in list.dnswl.org] 1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 4 The patch below does not apply to the 5.15-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y git checkout FETCH_HEAD git cherry-pick -x 280d654324e33f8e6e3641f76764694c7b64c5db # git commit -s git send-email --to '' --in-reply-to '2026020301-griminess-trespass-07fe@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^.. Possible dependencies: thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From 280d654324e33f8e6e3641f76764694c7b64c5db Mon Sep 17 00:00:00 2001 From: "Matthieu Baerts (NGI0)" Date: Tue, 27 Jan 2026 20:27:23 +0100 Subject: [PATCH] mptcp: avoid dup SUB_CLOSED events after disconnect In case of subflow disconnect(), which can also happen with the first subflow in case of errors like timeout or reset, mptcp_subflow_ctx_reset will reset most fields from the mptcp_subflow_context structure, including close_event_done. Then, when another subflow is closed, yet another SUB_CLOSED event for the disconnected initial subflow is sent. Because of the previous reset, there are no source address and destination port. A solution is then to also check the subflow's local id: it shouldn't be negative anyway. Another solution would be not to reset subflow->close_event_done at disconnect time, but when reused. But then, probably the whole reset could be done when being reused. Let's not change this logic, similar to TCP with tcp_disconnect(). Fixes: d82809b6c5f2 ("mptcp: avoid duplicated SUB_CLOSED events") Cc: stable@vger.kernel.org Reported-by: Marco Angaroni Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/603 Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-1-7f71e1bc4feb@kernel.org Signed-off-by: Jakub Kicinski diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f505b780f713..e32ae594b4ef 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2598,8 +2598,8 @@ void mptcp_close_ssk(struct sock *sk, struct sock *ssk, struct mptcp_sock *msk = mptcp_sk(sk); struct sk_buff *skb; - /* The first subflow can already be closed and still in the list */ - if (subflow->close_event_done) + /* The first subflow can already be closed or disconnected */ + if (subflow->close_event_done || READ_ONCE(subflow->local_id) < 0) return; subflow->close_event_done = true; From - Tue Feb 03 12:47:51 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Delivered-To: hi@josie.lol Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id WII3L2/ugWnTYCgAYBR5ng (envelope-from ) for ; Tue, 03 Feb 2026 12:47:43 +0000 Return-path: Envelope-to: hi@josie.lol Delivery-date: Tue, 03 Feb 2026 12:47:44 +0000 Received: from tor.lore.kernel.org ([172.105.105.114]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1vnFol-0000000BXND-1yJf for hi@josie.lol; Tue, 03 Feb 2026 12:47:43 +0000 Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 90D7530B45F9 for ; Tue, 3 Feb 2026 12:46:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F3D463451BB; Tue, 3 Feb 2026 12:46:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="dGJIm+jP" X-Original-To: stable@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CFF98344DA7 for ; Tue, 3 Feb 2026 12:46:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122760; cv=none; b=Eehkpu8SP//g8x9yMwi0qpLXMdn+ziBzZ/Yvbk+7IlMxbHifckiBsjaygb2hTjjK7WdByeU6872/EDG1yYAiNRNZbKQy/IfBHQE7fmY1Isa39dKNKbt725WRCBoC5kF7fh00qDbwMFNfw8Jf6N2SIovGKYD15/qsNzCoLHkNGVo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122760; c=relaxed/simple; bh=DwpvwzjcirVEOjZ7XV2pnVv/Wx7joSm/oQ6nugjLe3g=; h=Subject:To:Cc:From:Date:Message-ID:MIME-Version:Content-Type; b=QMW8LC+1I7S0cQlv7w2Lc6wGI/uoAxFyTSZdtBJCvtWvSXZnHDuXKzE3Tqyd1tsyOTEd828uJoA1HpOc8TF3j2RAlkqTDbWPEPTarlalfVYBDADiBfodVuKqKJzvamDJzpifEh5gU87QBBKM3R/5u33WmFcFrrMadPV9OCzuBwo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=dGJIm+jP; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FB49C116D0; Tue, 3 Feb 2026 12:46:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1770122760; bh=DwpvwzjcirVEOjZ7XV2pnVv/Wx7joSm/oQ6nugjLe3g=; h=Subject:To:Cc:From:Date:From; b=dGJIm+jP5sZBAOyy0cPXLf283V8tiWaEEErxwh8f3O4ri0U8OPzcpbEnlUMhIJATW hDbIobbBeI/LM3PjBbBb2eenySZ1zkiKb1eR9GplgsP9+o5TRYNVsYFxYycpVfpwQi eyfZ4ORkKF3R4PZ/NPJpIL9p3c8LqqVHwp1186G4= Subject: FAILED: patch "[PATCH] gpio: rockchip: Stop calling pinctrl for set_direction" failed to apply to 6.1-stable tree To: robin.murphy@arm.com,bartosz.golaszewski@oss.qualcomm.com,heiko@sntech.de Cc: From: Date: Tue, 03 Feb 2026 13:45:49 +0100 Message-ID: <2026020349-sappy-astonish-f077@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-DKIM: signer='linuxfoundation.org' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 2.4 (++) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (2.4 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: linuxfoundation.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [172.105.105.114 listed in list.dnswl.org] 1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 2.0 SUSPICIOUS_REWARD BODY: Contains suspicious reward/winning language -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 24 The patch below does not apply to the 6.1-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x 7ca497be00163610afb663867db24ac408752f13 # git commit -s git send-email --to '' --in-reply-to '2026020349-sappy-astonish-f077@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^.. Possible dependencies: thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From 7ca497be00163610afb663867db24ac408752f13 Mon Sep 17 00:00:00 2001 From: Robin Murphy Date: Mon, 26 Jan 2026 12:12:26 +0000 Subject: [PATCH] gpio: rockchip: Stop calling pinctrl for set_direction Marking the whole controller as sleeping due to the pinctrl calls in the .direction_{input,output} callbacks has the unfortunate side effect that legitimate invocations of .get and .set, which cannot themselves sleep, in atomic context now spew WARN()s from gpiolib. However, as Heiko points out, the driver doing this is a bit silly to begin with, as the pinctrl .gpio_set_direction hook doesn't even care about the direction, the hook is only used to claim the mux. And sure enough, the .gpio_request_enable hook exists to serve this very purpose, so switch to that and remove the problematic business entirely. Cc: stable@vger.kernel.org Fixes: 20cf2aed89ac ("gpio: rockchip: mark the GPIO controller as sleeping") Suggested-by: Heiko Stuebner Signed-off-by: Robin Murphy Reviewed-by: Heiko Stuebner Link: https://lore.kernel.org/r/bddc0469f25843ca5ae0cf578ab3671435ae98a7.1769429546.git.robin.murphy@arm.com Signed-off-by: Bartosz Golaszewski diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c index bae2061f15fc..0fff4a699f12 100644 --- a/drivers/gpio/gpio-rockchip.c +++ b/drivers/gpio/gpio-rockchip.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -164,12 +163,6 @@ static int rockchip_gpio_set_direction(struct gpio_chip *chip, unsigned long flags; u32 data = input ? 0 : 1; - - if (input) - pinctrl_gpio_direction_input(chip, offset); - else - pinctrl_gpio_direction_output(chip, offset); - raw_spin_lock_irqsave(&bank->slock, flags); rockchip_gpio_writel_bit(bank, offset, data, bank->gpio_regs->port_ddr); raw_spin_unlock_irqrestore(&bank->slock, flags); @@ -593,7 +586,6 @@ static int rockchip_gpiolib_register(struct rockchip_pin_bank *bank) gc->ngpio = bank->nr_pins; gc->label = bank->name; gc->parent = bank->dev; - gc->can_sleep = true; ret = gpiochip_add_data(gc, bank); if (ret) { diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index e44ef262beec..2fc67aeafdb3 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -3545,10 +3545,9 @@ static int rockchip_pmx_set(struct pinctrl_dev *pctldev, unsigned selector, return 0; } -static int rockchip_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, - struct pinctrl_gpio_range *range, - unsigned offset, - bool input) +static int rockchip_pmx_gpio_request_enable(struct pinctrl_dev *pctldev, + struct pinctrl_gpio_range *range, + unsigned int offset) { struct rockchip_pinctrl *info = pinctrl_dev_get_drvdata(pctldev); struct rockchip_pin_bank *bank; @@ -3562,7 +3561,7 @@ static const struct pinmux_ops rockchip_pmx_ops = { .get_function_name = rockchip_pmx_get_func_name, .get_function_groups = rockchip_pmx_get_groups, .set_mux = rockchip_pmx_set, - .gpio_set_direction = rockchip_pmx_gpio_set_direction, + .gpio_request_enable = rockchip_pmx_gpio_request_enable, }; /* From - Tue Feb 03 12:47:51 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Delivered-To: hi@josie.lol Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id wJy7KHDugWnTYCgAYBR5ng (envelope-from ) for ; Tue, 03 Feb 2026 12:47:44 +0000 Return-path: Envelope-to: hi@josie.lol Delivery-date: Tue, 03 Feb 2026 12:47:44 +0000 Received: from sto.lore.kernel.org ([172.232.135.74]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1vnFom-0000000BXNL-0w0k for hi@josie.lol; Tue, 03 Feb 2026 12:47:44 +0000 Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id EA0F63015D8D for ; Tue, 3 Feb 2026 12:47:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2CBFA33EAF2; Tue, 3 Feb 2026 12:47:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="vpK6zR78" X-Original-To: stable@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A95B154425 for ; Tue, 3 Feb 2026 12:47:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122846; cv=none; b=NiesoKwyJD3WCGAQttp6LL9VvcIO8yC4ZD8J1yjQpKnZ8YL4H8uyFmqJgM6AzxxRPOFGzHYTzo8w4lJtMJdS9bk5rvpN0rdZd52vY3LacFxJRW3nmL4na7fKAfqDimL9/jq6u5B6ReCDGoFt5lwD8c+8RIkM7RJ8xhKWZk2Udac= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122846; c=relaxed/simple; bh=wXsoleApGkoecFPFqaYTh6hDl9ecu90h0w3xAR2puVs=; h=Subject:To:Cc:From:Date:Message-ID:MIME-Version:Content-Type; b=ZHKrvnfSu1QwZHjddhEDnVSUfGgPRQ02HmNR4dAnSj9lB9Jmtu4Dnwbq8iA0mQmtwzVrKf6LzaMtIUhmQsJ9P8dm0H+LYs+lSU2nWkIcIcFwTsxAj9UWVaXtMa3lAZzYJXHGQt1gzO5F70bCfy7DCR1Lam5wX9dJxJqHEQtF16E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=vpK6zR78; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78B95C116D0; Tue, 3 Feb 2026 12:47:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1770122845; bh=wXsoleApGkoecFPFqaYTh6hDl9ecu90h0w3xAR2puVs=; h=Subject:To:Cc:From:Date:From; b=vpK6zR78tLPHFcIvmzIqFWO/Mn1DwggW9DqDM75MJ/lRD1QRk2nGDxicW1VGGytrx yZoBAjTNRIv1rIP5KAjzJKwxWH2rUbTgGWO8A2sIrbc+L8i+4jGWM60PPcogZAnzfI UzQrpcLrGtlYEVCtQ8LFEKzN4elPcQq5v/6l9rYs= Subject: FAILED: patch "[PATCH] selftests: mptcp: check no dup close events after error" failed to apply to 6.1-stable tree To: matttbe@kernel.org,geliang@kernel.org,kuba@kernel.org Cc: From: Date: Tue, 03 Feb 2026 13:47:14 +0100 Message-ID: <2026020314-crane-crying-d547@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-DKIM: signer='linuxfoundation.org' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 0.4 (/) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (0.4 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [172.232.135.74 listed in list.dnswl.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: msgid.link] 1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 4 The patch below does not apply to the 6.1-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y git checkout FETCH_HEAD git cherry-pick -x 8467458dfa61b37e259e3485a5d3e415d08193c1 # git commit -s git send-email --to '' --in-reply-to '2026020314-crane-crying-d547@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^.. Possible dependencies: thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From 8467458dfa61b37e259e3485a5d3e415d08193c1 Mon Sep 17 00:00:00 2001 From: "Matthieu Baerts (NGI0)" Date: Tue, 27 Jan 2026 20:27:24 +0100 Subject: [PATCH] selftests: mptcp: check no dup close events after error This validates the previous commit: subflow closed events are re-sent with less info when the initial subflow is disconnected after an error and each time a subflow is closed after that. In this new test, the userspace PM is involved because that's how it was discovered, but it is not specific to it. The initial subflow is terminated with a RESET, and that will cause the subflow disconnect. Then, a new subflow is initiated, but also got rejected, which cause a second subflow closed event, but not a third one. While at it, in case of failure to get the expected amount of events, the events are printed. The 'Fixes' tag here below is the same as the one from the previous commit: this patch here is not fixing anything wrong in the selftests, but it validates the previous fix for an issue introduced by this commit ID. Fixes: d82809b6c5f2 ("mptcp: avoid duplicated SUB_CLOSED events") Cc: stable@vger.kernel.org Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-2-7f71e1bc4feb@kernel.org Signed-off-by: Jakub Kicinski diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index b2e6e548f796..1765714a1e2f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3872,11 +3872,32 @@ chk_evt_nr() count=$(grep -cw "type:${evt}" "${evts}") if [ "${count}" != "${exp}" ]; then fail_test "got ${count} events, expected ${exp}" + cat "${evts}" else print_ok fi } +# $1: ns ; $2: event type ; $3: expected count +wait_event() +{ + local ns="${1}" + local evt_name="${2}" + local exp="${3}" + + local evt="${!evt_name}" + local evts="${evts_ns1}" + local count + + [ "${ns}" == "ns2" ] && evts="${evts_ns2}" + + for _ in $(seq 100); do + count=$(grep -cw "type:${evt}" "${evts}") + [ "${count}" -ge "${exp}" ] && break + sleep 0.1 + done +} + userspace_tests() { # userspace pm type prevents add_addr @@ -4085,6 +4106,36 @@ userspace_tests() kill_events_pids mptcp_lib_kill_group_wait $tests_pid fi + + # userspace pm no duplicated spurious close events after an error + if reset_with_events "userspace pm no dup close events after error" && + continue_if mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then + set_userspace_pm $ns2 + pm_nl_set_limits $ns1 0 2 + { timeout_test=120 test_linkfail=128 speed=slow \ + run_tests $ns1 $ns2 10.0.1.1 & } 2>/dev/null + local tests_pid=$! + wait_event ns2 MPTCP_LIB_EVENT_ESTABLISHED 1 + userspace_pm_add_sf $ns2 10.0.3.2 20 + chk_mptcp_info subflows 1 subflows 1 + chk_subflows_total 2 2 + + # force quick loss + ip netns exec $ns2 sysctl -q net.ipv4.tcp_syn_retries=1 + if ip netns exec "${ns1}" ${iptables} -A INPUT -s "10.0.1.2" \ + -p tcp --tcp-option 30 -j REJECT --reject-with tcp-reset && + ip netns exec "${ns2}" ${iptables} -A INPUT -d "10.0.1.2" \ + -p tcp --tcp-option 30 -j REJECT --reject-with tcp-reset; then + wait_event ns2 MPTCP_LIB_EVENT_SUB_CLOSED 1 + wait_event ns1 MPTCP_LIB_EVENT_SUB_CLOSED 1 + chk_subflows_total 1 1 + userspace_pm_add_sf $ns2 10.0.1.2 0 + wait_event ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 + chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 + fi + kill_events_pids + mptcp_lib_kill_group_wait $tests_pid + fi } endpoint_tests() From - Tue Feb 03 12:47:51 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Delivered-To: hi@josie.lol Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id 2L56FnPugWn5zSYAYBR5ng (envelope-from ) for ; Tue, 03 Feb 2026 12:47:47 +0000 Return-path: Envelope-to: hi@josie.lol Delivery-date: Tue, 03 Feb 2026 12:47:47 +0000 Received: from sto.lore.kernel.org ([172.232.135.74]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1vnFoo-0000000BXSL-42tx for hi@josie.lol; Tue, 03 Feb 2026 12:47:47 +0000 Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sto.lore.kernel.org (Postfix) with ESMTP id 64251301346D for ; Tue, 3 Feb 2026 12:47:39 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6ACCA344DB4; Tue, 3 Feb 2026 12:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="uILy4dee" X-Original-To: stable@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 48D8A34029C for ; Tue, 3 Feb 2026 12:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122858; cv=none; b=Lypv919trkppsoL2aAuX6VFhshEiKf5xt9xFlLYplkaHoCzMMdIJ3lfWxGIOrrEZl/nghGc5zzjumuT+1gscH00WMjd5xX4lVCpamDgG49YylHM0ozc3h2XmEHmjwqplRS0Cp01qJUPKZlYJWZ0M/xO8OOzc1E8r/drDosXwAF4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122858; c=relaxed/simple; bh=QSWifIc7zWu+ablOLw3JkjXWze6k3h4G1wG1Dwd5Ia4=; h=Subject:To:Cc:From:Date:Message-ID:MIME-Version:Content-Type; b=F/JZ5VZ1ZE9S69HdUHEb/ToDBkLiqi4AbJ61F+U3IgGXdMH32yRcUlCdhalvyKMTFRR3jT2TPUZhJjz7LAyOr7suDYKf2lw/bO4dlV6JKJrkbY5i0DXQ39MVXiTcPwNqHCIoB+nHe9ylg/UavYmmeCO3DS/GgqrUAAIChgZQ3Vw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=uILy4dee; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FCE4C116D0; Tue, 3 Feb 2026 12:47:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1770122858; bh=QSWifIc7zWu+ablOLw3JkjXWze6k3h4G1wG1Dwd5Ia4=; h=Subject:To:Cc:From:Date:From; b=uILy4deeJZ/lJ5O6hlY2m0WmMUii1Fby8YJVBIculta0M6nDkqWvxKLv81Wawlhlx vctsp4Vd6Ymuzxgr0jADaRsk1NDLY6AtYHCD/enRyBR8fZCab2F8YLS0f7+bspYR6X gMwt2bUsCxVGaycLZttDAIfUftcYWuIeIw5+H5pA= Subject: FAILED: patch "[PATCH] selftests: mptcp: check subflow errors in close events" failed to apply to 5.15-stable tree To: matttbe@kernel.org,geliang@kernel.org,kuba@kernel.org Cc: From: Date: Tue, 03 Feb 2026 13:47:28 +0100 Message-ID: <2026020328-tinfoil-recess-5f2b@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-DKIM: signer='linuxfoundation.org' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 0.4 (/) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (0.4 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: msgid.link] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [172.232.135.74 listed in list.dnswl.org] 1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender SpamTally: Final spam score: 4 The patch below does not apply to the 5.15-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . To reproduce the conflict and resubmit, you may use the following commands: git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y git checkout FETCH_HEAD git cherry-pick -x 2ef9e3a3845d0a20b62b01f5b731debd0364688d # git commit -s git send-email --to '' --in-reply-to '2026020328-tinfoil-recess-5f2b@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^.. Possible dependencies: thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From 2ef9e3a3845d0a20b62b01f5b731debd0364688d Mon Sep 17 00:00:00 2001 From: "Matthieu Baerts (NGI0)" Date: Tue, 27 Jan 2026 20:27:26 +0100 Subject: [PATCH] selftests: mptcp: check subflow errors in close events This validates the previous commit: subflow closed events should contain an error field when a subflow got closed with an error, e.g. reset or timeout. For this test, the chk_evt_nr helper has been extended to check attributes in the matched events. In this test, the 2 subflow closed events should have an error. The 'Fixes' tag here below is the same as the one from the previous commit: this patch here is not fixing anything wrong in the selftests, but it validates the previous fix for an issue introduced by this commit ID. Fixes: 15cc10453398 ("mptcp: deliver ssk errors to msk") Cc: stable@vger.kernel.org Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-4-7f71e1bc4feb@kernel.org Signed-off-by: Jakub Kicinski diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index 1765714a1e2f..3fc29201362a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3847,21 +3847,28 @@ userspace_pm_chk_get_addr() fi } -# $1: ns ; $2: event type ; $3: count +# $1: ns ; $2: event type ; $3: count ; [ $4: attr ; $5: attr count ] chk_evt_nr() { local ns=${1} local evt_name="${2}" local exp="${3}" + local attr="${4}" + local attr_exp="${5}" local evts="${evts_ns1}" local evt="${!evt_name}" + local attr_name local count + if [ -n "${attr}" ]; then + attr_name=", ${attr}: ${attr_exp}" + fi + evt_name="${evt_name:16}" # without MPTCP_LIB_EVENT_ [ "${ns}" == "ns2" ] && evts="${evts_ns2}" - print_check "event ${ns} ${evt_name} (${exp})" + print_check "event ${ns} ${evt_name} (${exp}${attr_name})" if [[ "${evt_name}" = "LISTENER_"* ]] && ! mptcp_lib_kallsyms_has "mptcp_event_pm_listener$"; then @@ -3873,6 +3880,16 @@ chk_evt_nr() if [ "${count}" != "${exp}" ]; then fail_test "got ${count} events, expected ${exp}" cat "${evts}" + return + elif [ -z "${attr}" ]; then + print_ok + return + fi + + count=$(grep -w "type:${evt}" "${evts}" | grep -c ",${attr}:") + if [ "${count}" != "${attr_exp}" ]; then + fail_test "got ${count} event attributes, expected ${attr_exp}" + grep -w "type:${evt}" "${evts}" else print_ok fi @@ -4131,7 +4148,7 @@ userspace_tests() chk_subflows_total 1 1 userspace_pm_add_sf $ns2 10.0.1.2 0 wait_event ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 - chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 + chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 error 2 fi kill_events_pids mptcp_lib_kill_group_wait $tests_pid From - Tue Feb 03 12:48:51 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Delivered-To: hi@josie.lol Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id WCzQCq/ugWkyZSYAYBR5ng (envelope-from ) for ; Tue, 03 Feb 2026 12:48:47 +0000 Return-path: Envelope-to: hi@josie.lol Delivery-date: Tue, 03 Feb 2026 12:48:47 +0000 Received: from tor.lore.kernel.org ([172.105.105.114]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1vnFpm-0000000BZK6-3ltT for hi@josie.lol; Tue, 03 Feb 2026 12:48:47 +0000 Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id C318C30874F8 for ; Tue, 3 Feb 2026 12:47:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C075B34026B; Tue, 3 Feb 2026 12:47:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="h2x9tY5i" X-Original-To: stable@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E4DB33EAF2 for ; Tue, 3 Feb 2026 12:47:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122849; cv=none; b=YczHc42gFunJ/r6Rekd9oMrK27IIhmzpGDWyevNLJGKa3QnsbrGk9xTpkEKlIyGrkv2OFZV3z2jhiXSGilL+OUIlwZM4QhCyLODaXZB6WbbCWo/Bo9arJdZHG9ZhHmGbswYrFw7AN+Hy7iWt7ik/97oemMc664C+ZBzae6pYFZM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770122849; c=relaxed/simple; bh=Ka6VhBb2S3sHaKxSbsvA2M3PP/O+AmTV4B9Fj2W0Ifw=; h=Subject:To:Cc:From:Date:Message-ID:MIME-Version:Content-Type; b=fztil4xoZjTW8IW9JEoQ64WQ0V2W/WrGHUyJu9XYI+Y4jBavWnJK0OfEqYkWGPf4JaOOQkV38a7Z8//+I86Wx7uO3G5cHBJ28WOaHGCFFYORvZrINPsatcmtaWD/kVPkxw/ajRGkqHqK6iTfsyQ83IFru8RkJh1pukRqdg45g8c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=h2x9tY5i; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4F92C116D0; Tue, 3 Feb 2026 12:47:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s