From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B816E68960 for ; Thu, 31 Oct 2024 09:15:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 00E086B008C; Thu, 31 Oct 2024 05:15:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED77A6B0092; Thu, 31 Oct 2024 05:15:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D02E86B0093; Thu, 31 Oct 2024 05:15:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A2D556B008C for ; Thu, 31 Oct 2024 05:15:35 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2FE4DABF1F for ; Thu, 31 Oct 2024 09:15:35 +0000 (UTC) X-FDA: 82733338212.08.54DFA32 Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01olkn2033.outbound.protection.outlook.com [40.92.63.33]) by imf11.hostedemail.com (Postfix) with ESMTP id BA9794001E for ; Thu, 31 Oct 2024 09:14:58 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b="T/VxQHQ6"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf11.hostedemail.com: domain of xieym_ict@hotmail.com designates 40.92.63.33 as permitted sender) smtp.mailfrom=xieym_ict@hotmail.com; dmarc=pass (policy=none) header.from=hotmail.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730366087; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E+rMKFks5qGmkT6m/TW5dHQyiDJmzT5avL2IqT5oae4=; b=znK/krt4FETx8qCgCDz7gs0NWR39kc1o9HOL62f+XPXYN7zyH7NGHUidTItG1bHwteXChq LT0HapD6esN4eWAwhkDLGQKf4Kysu7TxL47qoWNW1KFybp3PtRWAs8ahBu6yoVmtoff98t Uj+jNwgeXVlYLET4wW7U9EdyRaNrbTQ= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1730366087; a=rsa-sha256; cv=pass; b=vSgCTDVPa9bVMxxtidcbCohgzAjeGI3IVovbCjiP16u7IZqDFgIDvsAGLz89ES6OxEaNj4 HhDqsbcKAxv+sha0IagM0GYb85JugTFFoFqUsWOIztfQaMoXOgmgxFGPPK0ZElMe3pZW4O lyBNYVarP0Kw3VM9EJNwD8JImuKjzcA= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b="T/VxQHQ6"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf11.hostedemail.com: domain of xieym_ict@hotmail.com designates 40.92.63.33 as permitted sender) smtp.mailfrom=xieym_ict@hotmail.com; dmarc=pass (policy=none) header.from=hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yXJddvnbsjpH8isg5o6YCtfzD8oRYPqILCegcW/B0eMxo9K035beZt0HiowlJtxwZsw+yO/DPOWvRtY9ky7frZvVGxYGGhigjOhwuvrFQ89CoanpTuYJYwcY9VjBs9e9gGXouYYXd891Tk0L949fBO7UHCtibeZ7tSNKuOSPppc5FZ7T8YCfpOFXfzQNq8QwYBlhlfhbhaAg2Zp+2zB+8A/Plj6CNxeZQXDklGZJTsi9UfQyHAH29x35CkIqr+Q+DZTC+YH9BYEGrFxWmhW0xLiH8c1iycVyu7o/WnrNyDEDr/6UXvMvQYN+PNmQfxgnrXKSGlPjBoEk7xrDPuiA5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E+rMKFks5qGmkT6m/TW5dHQyiDJmzT5avL2IqT5oae4=; b=Q+Sd1fyfAA0BBcecKN0/dx4y+ulMn77PXyd/NoPA4KQ9MIOyc2cZfOeHenoTFFEKZig0hS21upZunPaeSdTnpQAw9yQ56TxbzwHD13P05XuCjU6+RsLOLj/+dwmC6AdcGV5ALZ7DC0G02bvtLkFB+SbVHTrdRGvIhLoxzq+gmt2sn0d+j7tksRiKCH/pYqAzM+XUX6Q6NrE9RjTp+HnDD3FNgOul66Uh9glLbQsZOa9nhAZqVI5IHhns1MxRI32a22/hx+qEcGuQ9Pe2CagiU5RouiIOxkdHDMR0VPAbYQXLVyGeaRC8PuVAJXDIiY0dALq3Dl2OKBCgsRQEqtb/9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E+rMKFks5qGmkT6m/TW5dHQyiDJmzT5avL2IqT5oae4=; b=T/VxQHQ6cbhpl9RaYEchtku5poprmzTZid/3a7L+vQp0dOYI9iko90xmw7Pj5JiYl4QCvGEIP8IDQDWHo6W0MN48ZP84rLILJVoO8ZUc3h9UEOuB3GWK1O/o/dCP7HtJBbJEJZ892YZlOkeeELl5Y0k2BxO9YyRVQF4VB6yF95K3GlZBk9IkaxwuUQVSNvvtCIBEhYnxz0UuIhwZTtQXWiw9MgkQJTxuPveJvvKaRbpKyXbtNwVjHrktvlMzuYCFOC5AWQ8eOyzqytHfElt2ZCmukuIDOSGuh2zwtEFOQcQueiD1j7FWFh/WM7n9mnCB1uwk7qlpfrBZKldhOGAl2g== Received: from ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM (2603:10c6:220:22c::5) by SY3PPF9DBD89FC6.AUSP300.PROD.OUTLOOK.COM (2603:10c6:18::4a5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.25; Thu, 31 Oct 2024 09:15:24 +0000 Received: from ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM ([fe80::b8f3:cb85:3e65:5cde]) by ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM ([fe80::b8f3:cb85:3e65:5cde%4]) with mapi id 15.20.8093.027; Thu, 31 Oct 2024 09:15:23 +0000 From: =?utf-8?B?6KejIOWSj+aihQ==?= To: Chris Li , Jingxiang Zeng CC: "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "kasong@tencent.com" , "linux-kernel@vger.kernel.org" , "tjmercier@google.com" , "weixugc@google.com" , "yuzhao@google.com" Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjZdIG1tL3Ztc2Nhbjogd2FrZSB1cCBmbHVzaGVy?= =?utf-8?Q?s_conditionally_to_avoid_cgroup_OOM?= Thread-Topic: [PATCH v6] mm/vmscan: wake up flushers conditionally to avoid cgroup OOM Thread-Index: AQHbKZnuzie+IUqfM0iRD3hZfLdRnLKglgFe Date: Thu, 31 Oct 2024 09:15:23 +0000 Message-ID: References: <20241026115714.1437435-1-jingxiangzeng.cas@gmail.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ME0P300MB0414:EE_|SY3PPF9DBD89FC6:EE_ x-ms-office365-filtering-correlation-id: f5ae0f56-a8ad-467c-463c-08dcf98c8cbe x-microsoft-antispam: BCL:0;ARA:14566002|12050799009|15080799006|7092599003|8062599003|15030799003|19110799003|9400799024|461199028|8060799006|1602099012|102099032|10035399004|3412199025|440099028|4302099013; x-microsoft-antispam-message-info: =?utf-8?B?V1dLM01ScWJEeVhxc05Bb1RwTlZiNGVqbFZwQ1ZMRnJtYk5VcEt5cTFyQi9E?= =?utf-8?B?Q2NyVHpxQ3Z2dFpxc2NSOGFRek12aFdIWW1KNTJrWStEUGlERklBTkNLYldU?= =?utf-8?B?QTN1REhNRWllOVVGMm95bk1lZUI2aWJJZ0RDL3RLZHpCUFVhYjBOay8yRlpR?= =?utf-8?B?V2ZKQld5Q3cxcU1HK0tHNzJCWTZqaUJuR29WRE9CNXprYThuam1aMm8wWXE5?= =?utf-8?B?bk9OdDQ2MHNJZU9DUWN2NVhJVUJDNnhyeE9ZdFNUZUJad21LS0tZQ2NwSWNO?= =?utf-8?B?ODdhNTZwZFJaWGdvcVduYkcvR1J4ejM1ckpKb3RYZzNaaXFpanZiZC9xUWlx?= =?utf-8?B?OG9remFtYVBsU3hOY04vOW1HUDNFdkpKdU9zWEJLQkh3RHIzM0k5TWI3WERM?= =?utf-8?B?R3loYlZteG5EaDI0V1B0d2Myay9rVlVOeVhxeVFkNmxnRGZjWElidWdiR21T?= =?utf-8?B?SGw1ellhMFQ0UmJxRDhSZVpSNEJWblpKdmRQaXRBaHZxOE5DU0tYRmM0R00x?= =?utf-8?B?bStwcnFJWnVXTHNSbWJVWnVjMDIxbUNBQ2hQYWVuNnpuRXBENjRIOGZvWTNU?= =?utf-8?B?UjFRaVplNTFhYUNSbUhiYi9XM0RSRG9hZXRoZjZVblAzY3pLQ1RUM1JQM1J4?= =?utf-8?B?c0FBNlY4U0pxZEJvb3oyOG1BdUdCazcxcTVhMmFDWVlmSzdocE93TU1mb2hI?= =?utf-8?B?N3crTitoeis2MTgyTW1hUHlBYnlZM1h4Ui9MN1VERUFqeFN4bnpOUWlVQnA4?= =?utf-8?B?MURxQTV4cU9OQkF5M01LSUVUYkRHYndaYk9reHdvYVRyN20xem5FM2lNeWtE?= =?utf-8?B?V2ljdGlFazhPVm8xUVArekZyMkRCMmdkaWJMN1V3OVlZOWorOEE0d1VlZy9t?= =?utf-8?B?V1NOeDJ5Y2dIK0ZHUmN5TlNuL215dlBNRnZuNVZXQVg1MzhVTE5TUDdodDlz?= =?utf-8?B?MXJ3R2NpQ3FwZ2o3S0F5QTdFeSt2dkk1UjBrMEhqMjBtRzJFbW9ndGVpd1cy?= =?utf-8?B?bGkrMjlhZUxIaFZqWmdNKzNwc2hlM243L3dMWnJ1cHR3UHhDakxYVzlzeWRC?= =?utf-8?B?RW1Tb2drSHJ6cGc5WjhPRnJBZmY2UzRnT2lkVVJqTm5WZEVnWUVWVHF1L2ow?= =?utf-8?B?MjZ0a2tEMlRSc1kxejRJcWx5M1NieVhzUU9RVUxZM2tVQnFuUnZtbTNlMVFV?= =?utf-8?B?YWl0NDRBNXlKZFdkdE92QkFjeDVON3JXNnZhRGxCOWRCYzBKanN1OCsrK2Er?= =?utf-8?B?bEZOcWpJdEhGMzlPMHhtcHNMM2QzMFYxZm9DN3p0UmhmYkZWWHBkaVhPSGQ0?= =?utf-8?B?SVhHWkhUcVJMZ0NPVHY0Qm5OSGxYak92WjNhSVpLT29peU41MFp1NDRNQWIy?= =?utf-8?B?T2lZN3dVd2QxNmEveGtqaHR3WGU3Njd3RDJnYUxPcDlnWlNBaThpbHMzTHNo?= =?utf-8?B?R3E4cWZKUUszSW5ybTk4TjZHcW14OFQ3emRIZTZ4Y1RkUkdRb0VXRzVNamRu?= =?utf-8?B?WS9BQmdGbzg1a1pKMlp6ajhRYzJMTHBpUG1TR3RvUHMvcDlPMzRwUzhEV0My?= =?utf-8?B?aEFkQUgwb0NYSU9UWXRuNHBGQ2wyTWxnODVZTWpOSDdIMjBYQ3RhWDBSVWhV?= =?utf-8?B?VGRzUmsxQTdhMlFBU2JNQkF5VHRWQ2dkNXRvaFdSc2FFTCtYdmtFM1oydjNP?= =?utf-8?B?U1Z3RWN6WmVYbE5NRC9adlNnK2FwTFp6dVBvM2h0UCtwQmtiQlBFU1NRYWNv?= =?utf-8?Q?nYwzCH4gDpbgdF6EYdymDkkcqvO2zhKyLZ+zRjc?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZTE0dk8rZVF3Wno1akREdVEzV1owbWVNSXRROXkwUHNEWU9hcXhiVWl5T2x4?= =?utf-8?B?QXNTQnZia3NGV25UaFMyK3dZYVVPZnFGTjc3QmN4ZmhwWGdhNFlmRGF0TXly?= =?utf-8?B?SDlLWm9tUGUvOUsxYmRWWW1oMmJxYkRRUG40WWRZU2NPckQ3QmQrejVmRTBt?= =?utf-8?B?MjRzcENnREJVZllVRVpBUVNLa0FXOXFIWVU4NnVWM1lZb2gzb1U5Q1paTDhE?= =?utf-8?B?bHJwR0ZRVFlRVVZiTmZmcVpkaHdVc2dXcEp2V0pSYWFOZ1MzYlM4VldoL1N1?= =?utf-8?B?YUNrU292RWRadFhZdU5RNFZLUElJdE8rRGFFUHdqU1VmaWVKOEpRbTFwbFVC?= =?utf-8?B?NjhKZm9RWEM2TGx2WHZXMk1CbStUM09JcTR0SitEMzFLbWQ2UjgyYTdQMldR?= =?utf-8?B?ZmlGdTJ1RjBZd0QrNGhqVnFuSWtRYzd2OHJlQ09QRGxWY1h0QnNGRUdaWHBL?= =?utf-8?B?VFhDRmNLTkxLQXdQVmhtNWc5c1Q5dzFHOVJ0bW94N3JHaUQ3cFN4cXIxLzBN?= =?utf-8?B?RXd6Y1ZBOVg5TG0wZFVGZmViellNQldDZ2FuaWlsQ21pVXFGV01VZXhkaFhE?= =?utf-8?B?dDA3Tmc2eVp4OHpQTzFuK1hZQzdjeVdMQ0tzQmhndnpYMTNOaVhmVXUxWmJt?= =?utf-8?B?cUFqS0I4MmJVQ1Y0bm9LU0VOZFVYemJsaVNBbW03cDhCTkpKMmJXMkdRUXlM?= =?utf-8?B?cFVSZlVyUWVSRXRycVV6bEtCT2JxaHgwaHpHM2ZnTHE2STNERXJaM3V1bGZ2?= =?utf-8?B?ODc0Z2JqbTNIcWROc1g0OTgzQklzWE9TRFJXaWsxRytKRysxTUNZUUFuRFVK?= =?utf-8?B?TEZkRkpUZmdycnQvbmMzZ1phTlVlaCtGR1hodXVzdndDN0ZNeEFuSkhzTE9S?= =?utf-8?B?akYwS1pIQnkrUERYZHBaKy85K2wrT0NndmN6QWJYYWJuMlZIV0taRy9uTE1F?= =?utf-8?B?b1FnK2RWSU4xenpqaHFMdjNZQzhxbjgySFkyN3NrUlk4U3FCNDR4VmNKUVNG?= =?utf-8?B?QnZGME5HTGJFUmlUbncrN0ZOekkySGVka2hsOHZXYS9FbGh2NU1Hc3FQK1JQ?= =?utf-8?B?Uzh2dUU3U3N5V2dYeE91WE5yZUt4L3hON1RtbkRQNDlKaTBQa0JmdXY2VXhz?= =?utf-8?B?eTNNNDdjdUcyN2JkY3RGaG5NaGtmTWluY3QwVUhEcytlZk9CcExBY3UxSEhN?= =?utf-8?B?WkwzRGttWHV4R1R6M3I5bnovaytMRjdBZWJkeVZHVmRXT3YraEdtQVppaEhC?= =?utf-8?B?eSs5TU5nY3BVYTNyM0Q4V014blpiZmM4NU5sNExkWXRnNnlQaG1oc29UbkFV?= =?utf-8?B?MUF1SkpTM2tHS2xJVG5jUG5KVllreS8vSjBneEtsVmkxMGFzaGdpMCsxNkJv?= =?utf-8?B?cG9wK0hEMUNKVFB4WVRadi84Yk1pRCtxZmRKQVQ2TmpSdlllR1prK2N5UGY2?= =?utf-8?B?ZkRGMFkzc2cvc0hrd0R0bHZRbHFFVy9VVTlxTHowSThVRDhjb3V6eEUrSzU2?= =?utf-8?B?Ri9rRi9qRDdWaFNGSWZVMGdhUUl4RDM1SjJ1K2IxZW9SRUhmWDhBMzBqeTUw?= =?utf-8?B?MzhBTkVMd21KSlNvMjNsdTJPNmN6RVVnRE1MSDdhWVpPVk9oelZHRk54MUZy?= =?utf-8?B?WjdlVVhMMUl6b1BxOGtZKytqblNBd0ZNeGVrd01mL1lMbEVCMGFZdjRoYUIw?= =?utf-8?B?a3JXL3MyUW5RKzU3VFVmejlqSzhnY0FkMEVFNEc2Y2pPVWNxTHB5MGlvd3JO?= =?utf-8?Q?QvwFP1/enUYqn0MV9U=3D?= Content-Type: multipart/alternative; boundary="_000_ME0P300MB0414DEE2EC36DF141FEBEC7C8E552ME0P300MB0414AUSP_" MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-448bf.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f5ae0f56-a8ad-467c-463c-08dcf98c8cbe X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2024 09:15:23.1372 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY3PPF9DBD89FC6 X-Stat-Signature: drtwy6knsufofi1r9dfqtx5e6onp5uzp X-Rspam-User: X-Rspamd-Queue-Id: BA9794001E X-Rspamd-Server: rspam02 X-HE-Tag: 1730366098-748444 X-HE-Meta: U2FsdGVkX19QC7flq9XM41T06HfCnBuh4x9TDYdoP4FP9SpEoFwdt0BPewnF9BtyL8bZhmh+rcQ51vMYd00X5qcXebQ4eJcgu3S24Gpa0W855XERODPgnKTiPGdPc6ikr25WgxIsYwBGHon6M3qUfUcwgwizU1kDuK/ngdJv9MfrXs+y8Rl45w0e8oV/kVE4q2+5XSaRnfo/Ix/9QpyAW/IZaLcUkJItqKFtID95JkowFZ5K/jNKvzkOH+3HwXCBjQVMhNOVn6nKxduIXq5EpqAURKjWma9yZieM8ufBp3BHzipK2b3I75DFOP8yHlPTcTygQl1bjqk4TbVnJCmcdIhv54BZ1psW4Q2DbnjxBNQblEchPa0jK0Jh2AB3MY6Vb7gSyXBLXkR8JrGJvzFT5Gy+D56ekYjLP1qIZs/zPa5p3aMGWU894Un4l/xJ6uYeXGEiB94Kc/Am90oqzEIo6lbkAX7aNnTgf1E/4vgwm2mz5YlFhWILYWP0vW/nsXs7yoZfcZXLO6L2OdqFZoiKAjvattij67XJW2e2SQlx4mEoce2Vy5e7/m1x2oADyVwCre6GVOUbOWgjsPrck0r7hZZbbIPjEj8HMQAseCns3/519otac8VY/FPO9VPLDVfP1o2f6dqhaE13HUWzHbB8plpaiolKCQC8EHV5Vd/Zb2oJB9bm7DE0yFphsHiTE7m7b2Ta1YK9ZRg1nlaxqTnUoTSQGsl+FSbQ3vMhCC7WfGt6SI7C/7DQ4Cyo63VZZZnV/ZSBTvp3N2eR/t8PIPraDhAYHFNrFBMXetBJXVX3QlvFMQWmYgrQimyqs6YuC04ddlkruCKdyVOiEH6HibvotghwF+zsXcvVIn9H7/dNdE6+Lva2i+WI/X14MYrEW13zUQn7YusToX7b2raoSx2mmLtJZqEUC/kLbcoxGoO2YQcS371foP1R7ohBM/PyeKTJjxkCo5+/YJiEAf2xHmG fQkQO1XW vftkvotupo/bWCYLYRYYmw2XugUT30amyKHHUtqx71AqV8SYQpzYrazaw/wDREraGPa9RV7YIeeYzxOpWc68Z9b2UnnE6Aren2jE2ELhGiBc4BDwQTjzBp3AXlJf2YO5QIGVB4eUu1Ca9OXZQ5er7+MCctOI/5UwxjKHHqko3liL7fRwdMtpkARuAlempGd3sglsx45xyviF3+ro4RVaxroMSyuE2yQ18mHjLePjfoZ/0E6DH2szrO6ht9BFr2Q8rPKGR3KeytiyWjIsDXmi+rSLb6J1uIbS1iQAUYt+xaKGIVx1TDOm2MuRIpvPq24FoDPMf2pYOfzC7Ys+N7++tL7VEQIgPrFeploH72g8pH5I8cLqreI1sy4xnTR5/+3z8BTZqE8L0y4sSWNxTc45f9FIReAft79Q7x8HTh+A2qylBuJ+Da+s383otawG5ylZObtCtR/VO40IBC3Anrij8/D39wDwzhiif7FnLFboqv5ynzfHbghUxpGCVIhgVi4FBBNej+5KTcwe5uGY6wcL5HElrniHHQ2a0wgANhciDNWTCAyMgxgSB7c8xtqQq4IT+AnepaTeESG0KwzBUHeHxvfFOaV9BYt+PwTfWGzB9dgRYtulgSKsEgeyTZ18dzCkJ2XtGPkBKeTho9DY7ntfIouKZ+KeXITkt1kPH6K8VjtiJw1rpP0p2/trDh7a10JyRRHTIUINXSqmPMlWRrG4258xsNcInfkK8eqSrOgVVlSOy7NNoDHt2d5/JftUAU9JkqOPZZnknZ7Wb4WOJ++2SfH5U8g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --_000_ME0P300MB0414DEE2EC36DF141FEBEC7C8E552ME0P300MB0414AUSP_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8sIENvdWxkIHlvdSBleHBsYWluIHlvdXIgdGVzdCBFTlYgaW4gbW9yZSBkZXRhaWxlZD8N Cg0KQXMgZmFyIGFzIEkga25vdywgYWxsIG9mICB3YiB3b3JrZXJzIChib3RoIGZvciBjZ3diIGFu ZCBmb3IgYmRpKSBhcmUgd29ya2luZyBmb3IgZnMgZmx1c2guDQpPbmNlIHRyaWdnZXIgZmx1c2hl ciBtb3JlIGZyZXF1ZW50bHksIGl0IHdpbGwgYnJpbmcgbW9yZSBjb21wZXRpdGlvbiBmb3IgSS9P IGJhbmR3aWR0aCBhZ2FpbnN0IHN3YXAuIEJ1dCBJdCB3b24ndCBtYWtlIGFueSBjb250cmlidXRp b24gdG8gdGhlIHByb2Nlc3Mgb2Ygc3dhcC4NCg0KVGhhbmtzLA0KWW9uZ21laS4NCg0KDQoNCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQrlj5Hku7bkuro6IENocmlzIExpIDxjaHJp c2xAa2VybmVsLm9yZz4NCuWPkemAgeaXtumXtDogMjAyNOW5tDEw5pyIMjnml6UgODozMA0K5pS2 5Lu25Lq6OiBKaW5neGlhbmcgWmVuZyA8bGludXN6ZW5nQHRlbmNlbnQuY29tPg0K5oqE6YCBOiBs aW51eC1tbUBrdmFjay5vcmcgPGxpbnV4LW1tQGt2YWNrLm9yZz47IGFrcG1AbGludXgtZm91bmRh dGlvbi5vcmcgPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+OyBrYXNvbmdAdGVuY2VudC5jb20g PGthc29uZ0B0ZW5jZW50LmNvbT47IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcgPGxpbnV4 LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+OyB0am1lcmNpZXJAZ29vZ2xlLmNvbSA8dGptZXJjaWVy QGdvb2dsZS5jb20+OyB3ZWl4dWdjQGdvb2dsZS5jb20gPHdlaXh1Z2NAZ29vZ2xlLmNvbT47IHl1 emhhb0Bnb29nbGUuY29tIDx5dXpoYW9AZ29vZ2xlLmNvbT4NCuS4u+mimDogUmU6IFtQQVRDSCB2 Nl0gbW0vdm1zY2FuOiB3YWtlIHVwIGZsdXNoZXJzIGNvbmRpdGlvbmFsbHkgdG8gYXZvaWQgY2dy b3VwIE9PTQ0KDQpIaSBKaW5neGlhbmcsDQoNCg0KDQpPbiBTYXQsIE9jdCAyNiwgMjAyNCBhdCA0 OjU34oCvQU0gSmluZ3hpYW5nIFplbmcNCjxqaW5neGlhbmd6ZW5nLmNhc0BnbWFpbC5jb20+IHdy b3RlOg0KPg0KPiBGcm9tOiBaZW5nIEppbmd4aWFuZyA8bGludXN6ZW5nQHRlbmNlbnQuY29tPg0K Pg0KPiBDb21taXQgMTRhYThiMmQ1YzJlICgibW0vbWdscnU6IGRvbid0IHN5bmMgZGlzayBmb3Ig ZWFjaCBhZ2luZyBjeWNsZSIpDQo+IHJlbW92ZWQgdGhlIG9wcG9ydHVuaXR5IHRvIHdha2UgdXAg Zmx1c2hlcnMgZHVyaW5nIHRoZSBNR0xSVSBwYWdlDQo+IHJlY2xhbWF0aW9uIHByb2Nlc3MgY2Fu IGxlYWQgdG8gYW4gaW5jcmVhc2VkIGxpa2VsaWhvb2Qgb2YgdHJpZ2dlcmluZyBPT00NCj4gd2hl biBlbmNvdW50ZXJpbmcgbWFueSBkaXJ0eSBwYWdlcyBkdXJpbmcgcmVjbGFtYXRpb24gb24gTUdM UlUuDQo+DQo+IFRoaXMgbGVhZHMgdG8gcHJlbWF0dXJlIE9PTSBpZiB0aGVyZSBhcmUgdG9vIG1h bnkgZGlydHkgcGFnZXMgaW4gY2dyb3VwOg0KPiBLaWxsZWQNCj4NCj4gZGQgaW52b2tlZCBvb20t a2lsbGVyOiBnZnBfbWFzaz0weDEwMWNjYShHRlBfSElHSFVTRVJfTU9WQUJMRXxfX0dGUF9XUklU RSksDQo+IG9yZGVyPTAsIG9vbV9zY29yZV9hZGo9MA0KPg0KPiBDYWxsIFRyYWNlOg0KPiAgIDxU QVNLPg0KPiAgIGR1bXBfc3RhY2tfbHZsKzB4NWYvMHg4MA0KPiAgIGR1bXBfc3RhY2srMHgxNC8w eDIwDQo+ICAgZHVtcF9oZWFkZXIrMHg0Ni8weDFiMA0KPiAgIG9vbV9raWxsX3Byb2Nlc3MrMHgx MDQvMHgyMjANCj4gICBvdXRfb2ZfbWVtb3J5KzB4MTEyLzB4NWEwDQo+ICAgbWVtX2Nncm91cF9v dXRfb2ZfbWVtb3J5KzB4MTNiLzB4MTUwDQo+ICAgdHJ5X2NoYXJnZV9tZW1jZysweDQ0Zi8weDVj MA0KPiAgIGNoYXJnZV9tZW1jZysweDM0LzB4NTANCj4gICBfX21lbV9jZ3JvdXBfY2hhcmdlKzB4 MzEvMHg5MA0KPiAgIGZpbGVtYXBfYWRkX2ZvbGlvKzB4NGIvMHhmMA0KPiAgIF9fZmlsZW1hcF9n ZXRfZm9saW8rMHgxYTQvMHg1YjANCj4gICA/IHNyc29fcmV0dXJuX3RodW5rKzB4NS8weDVmDQo+ ICAgPyBfX2Jsb2NrX2NvbW1pdF93cml0ZSsweDgyLzB4YjANCj4gICBleHQ0X2RhX3dyaXRlX2Jl Z2luKzB4ZTUvMHgyNzANCj4gICBnZW5lcmljX3BlcmZvcm1fd3JpdGUrMHgxMzQvMHgyYjANCj4g ICBleHQ0X2J1ZmZlcmVkX3dyaXRlX2l0ZXIrMHg1Ny8weGQwDQo+ICAgZXh0NF9maWxlX3dyaXRl X2l0ZXIrMHg3Ni8weDdkMA0KPiAgID8gc2VsaW51eF9maWxlX3Blcm1pc3Npb24rMHgxMTkvMHgx NTANCj4gICA/IHNyc29fcmV0dXJuX3RodW5rKzB4NS8weDVmDQo+ICAgPyBzcnNvX3JldHVybl90 aHVuaysweDUvMHg1Zg0KPiAgIHZmc193cml0ZSsweDMwYy8weDQ0MA0KPiAgIGtzeXNfd3JpdGUr MHg2NS8weGUwDQo+ICAgX194NjRfc3lzX3dyaXRlKzB4MWUvMHgzMA0KPiAgIHg2NF9zeXNfY2Fs bCsweDExYzIvMHgxZDUwDQo+ICAgZG9fc3lzY2FsbF82NCsweDQ3LzB4MTEwDQo+ICAgZW50cnlf U1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NzYvMHg3ZQ0KPg0KPiAgbWVtb3J5OiB1c2FnZSAz MDgyMjRrQiwgbGltaXQgMzA4MjI0a0IsIGZhaWxjbnQgMjU4OQ0KPiAgc3dhcDogdXNhZ2UgMGtC LCBsaW1pdCA5MDA3MTk5MjU0NzQwOTg4a0IsIGZhaWxjbnQgMA0KPg0KPiAgIC4uLg0KPiAgIGZp bGVfZGlydHkgMzAzMjQ3MzYwDQo+ICAgZmlsZV93cml0ZWJhY2sgMA0KPiAgIC4uLg0KPg0KPiBv b20ta2lsbDpjb25zdHJhaW50PUNPTlNUUkFJTlRfTUVNQ0csbm9kZW1hc2s9KG51bGwpLGNwdXNl dD10ZXN0LA0KPiBtZW1zX2FsbG93ZWQ9MCxvb21fbWVtY2c9L3Rlc3QsdGFza19tZW1jZz0vdGVz dCx0YXNrPWRkLHBpZD00NDA0LHVpZD0wDQo+IE1lbW9yeSBjZ3JvdXAgb3V0IG9mIG1lbW9yeTog S2lsbGVkIHByb2Nlc3MgNDQwNCAoZGQpIHRvdGFsLXZtOjEwNTEya0IsDQo+IGFub24tcnNzOjEx NTJrQiwgZmlsZS1yc3M6MTgyNGtCLCBzaG1lbS1yc3M6MGtCLCBVSUQ6MCBwZ3RhYmxlczo3NmtC DQo+IG9vbV9zY29yZV9hZGo6MA0KPg0KPiBUaGUgZmx1c2hlciB3YWtlIHVwIHdhcyByZW1vdmVk IHRvIGRlY3JlYXNlIFNTRCB3ZWFyaW5nLCBidXQgaWYgd2UgYXJlDQo+IHNlZWluZyBhbGwgZGly dHkgZm9saW9zIGF0IHRoZSB0YWlsIG9mIGFuIExSVSwgbm90IHdha2luZyB1cCB0aGUgZmx1c2hl cg0KPiBjb3VsZCBsZWFkIHRvIHRocmFzaGluZyBlYXNpbHkuICBTbyB3YWtlIGl0IHVwIHdoZW4g YSBtZW0gY2dyb3VwcyBpcyBhYm91dA0KPiB0byBPT00gZHVlIHRvIGRpcnR5IGNhY2hlcy4NCj4N Cj4gSSBkaWQgcnVuIHRoZSBidWlsZCBrZXJuZWwgdGVzdFsxXSBvbiBWNiwgd2l0aCAtajE2IDFH IG1lbWNnIG9uIG15IGxvY2FsDQo+IGJyYW5jaDoNCj4NCj4gV2l0aG91dCB0aGUgcGF0Y2goMTAg dGltZXMpOg0KPiB1c2VyIDE0NDkuMzk0DQo+IHN5c3RlbSAzNjguNzggMzcyLjU4IDM2My4wMyAz NjIuMzEgMzYwLjg0IDM3Mi43MCAzNjguNzIgMzY0Ljk0IDM3My41MQ0KPiAzNjYuNTggKGF2ZyAz NjcuMzk5KQ0KPiByZWFsIDE2NC44ODMNCj4NCj4gV2l0aCB0aGUgVjYgcGF0Y2goMTAgdGltZXMp Og0KPiB1c2VyIDE0NDcuNTI1DQo+IHN5c3RlbSAzNjAuODcgMzYwLjYzIDM3Mi4zOSAzNjQuMDkg MzY4LjQ5IDM2NS4xNSAzNTkuOTMgMzYyLjA0IDM1OS43Mg0KPiAzNTQuNjAgKGF2ZyAzNjIuNzkp DQo+IHJlYWwgMTY0LjUxNA0KPg0KPiBUZXN0IHJlc3VsdHMgc2hvdyB0aGF0IHRoaXMgcGF0Y2gg aGFzIGFib3V0IDElIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LA0KPiB3aGljaCBzaG91bGQgYmUg Y2F1c2VkIGJ5IG5vaXNlLg0KDQpJIG1ha2UgYW5vdGhlciB0ZXN0IHJ1biBvbiB5b3VyIFY2IHdp dGggbW0tdW5zdGFibGUgYjVkNDNmYWQ5MjZhIGp1c3QNCnRvIGFkZCBtb3JlIGRhdGEgcG9pbnQ6 DQoNCldpdGggeW91ciBWNjoNCnVzZXIgICAgMjc2NC44MDENCnN5c3RlbSAgNjI5Ny44ODMgOiA2 MjI3LjQ2IDYyMzguNDggNjI1NC4xNCA2MjgxLjA4IDYzMDQuMzIgNjMwNy40Mw0KNjMyNi4xMiA2 MzMxLjAyIDYzNDYuNjYgNjM2Mi4xMg0KcmVhbCAgICAyODkuOTYxDQoNCldpdGhvdXQgKG1tLXVu c3RhYmxlIGI1ZDQzZmFkOTI2YSkNCnVzZXIgICAgMjc3Ny4yOTMNCnN5c3RlbSAgNjE3Ny4xNzIg OiA2MDIyLjg0IDYxMjguODEgNjE0Mi45MyA2MTcyLjI0IDYxNzQuMDggNjE4Ni4xDQo2MTk0Ljcy IDYyMDYuNzcgNjI2Ni44NyA2Mjc2LjM2DQpyZWFsICAgIDI4Ni41MTQNCg0KVGhlIHN5c3RlbSB0 aW1lIGlzIHN0aWxsIGEgdGlueSBsaXR0bGUgYml0IHNsb3dlci4gQnV0IG15IHN3YXANCnByZXNz dXJlIG1pZ2h0IGJlIG11Y2ggaGlnaGVyLiBJbiBteSB0ZXN0IGl0IHNwZW5kIG11Y2ggbW9yZSB0 aW1lIGluDQpzeXN0ZW0gcmF0aGVyIHRoYW4gdXNlciBzcGFjZS4gU28gbXkgc3RyZXNzIGxldmVs IG1pZ2h0IG5vdCBiZQ0KdHlwaWNhbC4gR29vZCBuZXdzIHlvdXIgVjYgZG9lcyBub3QgaGF2ZSBj cmFzaGVzLg0KDQpUZXN0ZWQtYnk6IENocmlzIExpIDxjaHJpc2xAa2VybmVsLm9yZz4NCg0KQ2hy aXMNCg0KPg0KPiAtLS0NCj4gQ2hhbmdlcyBmcm9tIHY1Og0KPiAtIE1ha2Ugd2FrZS11cCBjb25k aXRpb25zIHN0cmljdGVyLiBbV2VpIFh1LCBKaW5neGlhbmcgWmVuZ10NCj4gLSBVc2Ugc2MtPm5y LmZpbGVfdGFrZW4gdG8gY291bnQuIFtXZWkgWHUsIEppbmd4aWFuZyBaZW5nXQ0KPiAtIExpbmsg dG8gdjU6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MTAxODA1Mjk0Mi4zODEwNzQw LTEtamluZ3hpYW5nemVuZy5jYXNAZ21haWwuY29tLw0KPiBDaGFuZ2VzIGZyb20gdjQ6DQo+IC0g QWRkIHRoZSBudW1iZXIgb2YgdW5xdWV1ZWQgZGlydHkgcGFnZXMgaW4gdGhlIHNocmlua19mb2xp b19saXN0IGZ1bmN0aW9uDQo+ICAgdG8gc2MtPm5yLnVucXVldWVkX2RpcnR5LiBbV2VpIFh1LCBK aW5neGlhbmcgWmVuZ10NCj4gLSBSZXNldCBzYy0+bnIgYmVmb3JlIGNhbGxpbmcgbHJ1X2dlbl9z aHJpbmtfbm9kZSBmdW5jdGlvbi4NCj4gICBbV2VpIFh1LCBKaW5neGlhbmcgWmVuZ10NCj4gLSBN b2RpZmllZCB0aGUgY29uZGl0aW9ucyBmb3Igd2FraW5nIHVwIHRoZSBmbHVzaGVyIHRocmVhZCB0 byBhdm9pZA0KPiAgIGludGVyZmVyZW5jZSBmcm9tIHVuZXZpY3RhYmxlIGFuZCBhbm9ueW1vdXMg cGFnZXMuDQo+ICAgW1dlaSBYdSwgSmluZ3hpYW5nIFplbmddDQo+IC0gTGluayB0byB2NDogaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwOTI5MTEzMDUwLjc2MDc5LTEtamluZ3hpYW5n emVuZy5jYXNAZ21haWwuY29tLw0KPiBDaGFuZ2VzIGZyb20gdjM6DQo+IC0gQXZvaWQgdGFraW5n IGxvY2sgYW5kIHJlZHVjZSBvdmVyaGVhZCBvbiBmb2xpbyBpc29sYXRpb24gYnkNCj4gICBjaGVj a2luZyB0aGUgcmlnaHQgZmxhZ3MgYW5kIHJld29yayB3YWtlIHVwIGNvbmRpdGlvbiwgZml4aW5n IHRoZQ0KPiAgIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gcmVwb3J0ZWQgYnkgQ2hyaXMgTGkuDQo+ ICAgW0NocmlzIExpLCBLYWlydWkgU29uZ10NCj4gLSBNb3ZlIHRoZSB3YWtlIHVwIGNoZWNrIHRv IHRyeV90b19zaHJpbmtfbHJ1dmVjIHRvIGNvdmVyIGtzd2FwZA0KPiAgIGNhc2UgYXMgd2VsbCwg YW5kIHVwZGF0ZSBjb21tZW50cy4gW0thaXJ1aSBTb25nXQ0KPiAtIExpbmsgdG8gdjM6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDkyNDEyMTM1OC4zMDY4NS0xLWppbmd4aWFuZ3pl bmcuY2FzQGdtYWlsLmNvbS8NCj4gQ2hhbmdlcyBmcm9tIHYyOg0KPiAtIEFjcXVpcmUgdGhlIGxv Y2sgYmVmb3JlIGNhbGxpbmcgdGhlIGZvbGlvX2NoZWNrX2RpcnR5X3dyaXRlYmFjaw0KPiAgIGZ1 bmN0aW9uLiBbV2VpIFh1LCBKaW5neGlhbmcgWmVuZ10NCj4gLSBMaW5rIHRvIHYyOiBodHRwczov L2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNDA5MTMwODQ1MDYuMzYwNjI5Mi0xLWppbmd4aWFuZ3pl bmcuY2FzQGdtYWlsLmNvbS8NCj4gQ2hhbmdlcyBmcm9tIHYxOg0KPiAtIEFkZCBjb2RlIHRvIGNv dW50IHRoZSBudW1iZXIgb2YgdW5xdWV1ZWRfZGlydHkgaW4gdGhlIHNvcnRfZm9saW8NCj4gICBm dW5jdGlvbi4gW1dlaSBYdSwgSmluZ3hpYW5nIFplbmddDQo+IC0gTGluayB0byB2MTogaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwODI5MTAyNTQzLjE4OTQ1My0xLWppbmd4aWFuZ3pl bmcuY2FzQGdtYWlsLmNvbS8NCj4gLS0tDQo+DQo+IExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwu b3JnL2FsbC9DQUNlUHZiVjRMLWdSTjlVS0t1VW5rc2ZWSmpPVHFfNVN0aTItZT1wYl93NTFrdWNM S1FAbWFpbC5nbWFpbC5jb20vIFsxXQ0KPiBGaXhlczogMTRhYThiMmQ1YzJlICgibW0vbWdscnU6 IGRvbid0IHN5bmMgZGlzayBmb3IgZWFjaCBhZ2luZyBjeWNsZSIpDQo+IFN1Z2dlc3RlZC1ieTog V2VpIFh1IDx3ZWl4dWdjQGdvb2dsZS5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFplbmcgSmluZ3hp YW5nIDxsaW51c3plbmdAdGVuY2VudC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEthaXJ1aSBTb25n IDxrYXNvbmdAdGVuY2VudC5jb20+DQo+IENjOiBULkouIE1lcmNpZXIgPHRqbWVyY2llckBnb29n bGUuY29tPg0KPiBDYzogV2VpIFh1IDx3ZWl4dWdjQGdvb2dsZS5jb20+DQo+IENjOiBZdSBaaGFv IDx5dXpoYW9AZ29vZ2xlLmNvbT4NCj4gLS0tDQo+ICBtbS92bXNjYW4uYyB8IDI1ICsrKysrKysr KysrKysrKysrKysrKystLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvbW0vdm1zY2FuLmMgYi9tbS92bXNjYW4u Yw0KPiBpbmRleCAwODRkZTBlZmU1OWIuLjc5NDczMGM4YzFkZSAxMDA2NDQNCj4gLS0tIGEvbW0v dm1zY2FuLmMNCj4gKysrIGIvbW0vdm1zY2FuLmMNCj4gQEAgLTQyODIsNiArNDI4Miw3IEBAIHN0 YXRpYyBib29sIHNvcnRfZm9saW8oc3RydWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1Y3QgZm9saW8g KmZvbGlvLCBzdHJ1Y3Qgc2Nhbl9jDQo+ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRpZXJf aWR4KQ0KPiAgew0KPiAgICAgICAgIGJvb2wgc3VjY2VzczsNCj4gKyAgICAgICBib29sIGRpcnR5 LCB3cml0ZWJhY2s7DQo+ICAgICAgICAgaW50IGdlbiA9IGZvbGlvX2xydV9nZW4oZm9saW8pOw0K PiAgICAgICAgIGludCB0eXBlID0gZm9saW9faXNfZmlsZV9scnUoZm9saW8pOw0KPiAgICAgICAg IGludCB6b25lID0gZm9saW9fem9uZW51bShmb2xpbyk7DQo+IEBAIC00MzI3LDkgKzQzMjgsMTcg QEAgc3RhdGljIGJvb2wgc29ydF9mb2xpbyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVjdCBm b2xpbyAqZm9saW8sIHN0cnVjdCBzY2FuX2MNCj4gICAgICAgICAgICAgICAgIHJldHVybiB0cnVl Ow0KPiAgICAgICAgIH0NCj4NCj4gKyAgICAgICBkaXJ0eSA9IGZvbGlvX3Rlc3RfZGlydHkoZm9s aW8pOw0KPiArICAgICAgIHdyaXRlYmFjayA9IGZvbGlvX3Rlc3Rfd3JpdGViYWNrKGZvbGlvKTsN Cj4gKyAgICAgICBpZiAodHlwZSA9PSBMUlVfR0VOX0ZJTEUgJiYgZGlydHkpIHsNCj4gKyAgICAg ICAgICAgICAgIHNjLT5uci5maWxlX3Rha2VuICs9IGRlbHRhOw0KPiArICAgICAgICAgICAgICAg aWYgKCF3cml0ZWJhY2spDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHNjLT5uci51bnF1ZXVl ZF9kaXJ0eSArPSBkZWx0YTsNCj4gKyAgICAgICB9DQo+ICsNCj4gICAgICAgICAvKiB3YWl0aW5n IGZvciB3cml0ZWJhY2sgKi8NCj4gLSAgICAgICBpZiAoZm9saW9fdGVzdF9sb2NrZWQoZm9saW8p IHx8IGZvbGlvX3Rlc3Rfd3JpdGViYWNrKGZvbGlvKSB8fA0KPiAtICAgICAgICAgICAodHlwZSA9 PSBMUlVfR0VOX0ZJTEUgJiYgZm9saW9fdGVzdF9kaXJ0eShmb2xpbykpKSB7DQo+ICsgICAgICAg aWYgKGZvbGlvX3Rlc3RfbG9ja2VkKGZvbGlvKSB8fCB3cml0ZWJhY2sgfHwNCj4gKyAgICAgICAg ICAgKHR5cGUgPT0gTFJVX0dFTl9GSUxFICYmIGRpcnR5KSkgew0KPiAgICAgICAgICAgICAgICAg Z2VuID0gZm9saW9faW5jX2dlbihscnV2ZWMsIGZvbGlvLCB0cnVlKTsNCj4gICAgICAgICAgICAg ICAgIGxpc3RfbW92ZSgmZm9saW8tPmxydSwgJmxydWdlbi0+Zm9saW9zW2dlbl1bdHlwZV1bem9u ZV0pOw0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+IEBAIC00NDQ1LDcgKzQ0NTQs OCBAQCBzdGF0aWMgaW50IHNjYW5fZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0 IHNjYW5fY29udHJvbCAqc2MsDQo+ICAgICAgICAgdHJhY2VfbW1fdm1zY2FuX2xydV9pc29sYXRl KHNjLT5yZWNsYWltX2lkeCwgc2MtPm9yZGVyLCBNQVhfTFJVX0JBVENILA0KPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNjYW5uZWQsIHNraXBwZWQsIGlzb2xhdGVkLA0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPyBMUlVfSU5BQ1RJVkVfRklMRSA6IExS VV9JTkFDVElWRV9BTk9OKTsNCj4gLQ0KPiArICAgICAgIGlmICh0eXBlID09IExSVV9HRU5fRklM RSkNCj4gKyAgICAgICAgICAgICAgIHNjLT5uci5maWxlX3Rha2VuICs9IGlzb2xhdGVkOw0KPiAg ICAgICAgIC8qDQo+ICAgICAgICAgICogVGhlcmUgbWlnaHQgbm90IGJlIGVsaWdpYmxlIGZvbGlv cyBkdWUgdG8gcmVjbGFpbV9pZHguIENoZWNrIHRoZQ0KPiAgICAgICAgICAqIHJlbWFpbmluZyB0 byBwcmV2ZW50IGxpdmVsb2NrIGlmIGl0J3Mgbm90IG1ha2luZyBwcm9ncmVzcy4NCj4gQEAgLTQ1 NzksNiArNDU4OSw3IEBAIHN0YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxy dXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqc2MsIGludCBzd2FwDQo+ICAgICAgICAgICAgICAg ICByZXR1cm4gc2Nhbm5lZDsNCj4gIHJldHJ5Og0KPiAgICAgICAgIHJlY2xhaW1lZCA9IHNocmlu a19mb2xpb19saXN0KCZsaXN0LCBwZ2RhdCwgc2MsICZzdGF0LCBmYWxzZSk7DQo+ICsgICAgICAg c2MtPm5yLnVucXVldWVkX2RpcnR5ICs9IHN0YXQubnJfdW5xdWV1ZWRfZGlydHk7DQo+ICAgICAg ICAgc2MtPm5yX3JlY2xhaW1lZCArPSByZWNsYWltZWQ7DQo+ICAgICAgICAgdHJhY2VfbW1fdm1z Y2FuX2xydV9zaHJpbmtfaW5hY3RpdmUocGdkYXQtPm5vZGVfaWQsDQo+ICAgICAgICAgICAgICAg ICAgICAgICAgIHNjYW5uZWQsIHJlY2xhaW1lZCwgJnN0YXQsIHNjLT5wcmlvcml0eSwNCj4gQEAg LTQ3ODcsNiArNDc5OCwxMyBAQCBzdGF0aWMgYm9vbCB0cnlfdG9fc2hyaW5rX2xydXZlYyhzdHJ1 Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjKQ0KPiAgICAgICAgICAg ICAgICAgY29uZF9yZXNjaGVkKCk7DQo+ICAgICAgICAgfQ0KPg0KPiArICAgICAgIC8qDQo+ICsg ICAgICAgICogSWYgdG9vIG1hbnkgZmlsZSBjYWNoZSBpbiB0aGUgY29sZGVzdCBnZW5lcmF0aW9u IGNhbid0IGJlIGV2aWN0ZWQNCj4gKyAgICAgICAgKiBkdWUgdG8gYmVpbmcgZGlydHksIHdha2Ug dXAgdGhlIGZsdXNoZXIuDQo+ICsgICAgICAgICovDQo+ICsgICAgICAgaWYgKHNjLT5uci51bnF1 ZXVlZF9kaXJ0eSAmJiBzYy0+bnIudW5xdWV1ZWRfZGlydHkgPT0gc2MtPm5yLmZpbGVfdGFrZW4p DQo+ICsgICAgICAgICAgICAgICB3YWtldXBfZmx1c2hlcl90aHJlYWRzKFdCX1JFQVNPTl9WTVND QU4pOw0KPiArDQo+ICAgICAgICAgLyogd2hldGhlciB0aGlzIGxydXZlYyBzaG91bGQgYmUgcm90 YXRlZCAqLw0KPiAgICAgICAgIHJldHVybiBucl90b19zY2FuIDwgMDsNCj4gIH0NCj4gQEAgLTU5 MzIsNiArNTk1MCw3IEBAIHN0YXRpYyB2b2lkIHNocmlua19ub2RlKHBnX2RhdGFfdCAqcGdkYXQs IHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjKQ0KPiAgICAgICAgIGJvb2wgcmVjbGFpbWFibGUgPSBm YWxzZTsNCj4NCj4gICAgICAgICBpZiAobHJ1X2dlbl9lbmFibGVkKCkgJiYgcm9vdF9yZWNsYWlt KHNjKSkgew0KPiArICAgICAgICAgICAgICAgbWVtc2V0KCZzYy0+bnIsIDAsIHNpemVvZihzYy0+ bnIpKTsNCj4gICAgICAgICAgICAgICAgIGxydV9nZW5fc2hyaW5rX25vZGUocGdkYXQsIHNjKTsN Cj4gICAgICAgICAgICAgICAgIHJldHVybjsNCj4gICAgICAgICB9DQo+IC0tDQo+IDIuNDMuNQ0K Pg0KDQo= --_000_ME0P300MB0414DEE2EC36DF141FEBEC7C8E552ME0P300MB0414AUSP_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29m IiBzdHlsZT0iZm9udC1mYW1pbHk6IENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpIZWxsbywgQ291bGQgeW91IGV4 cGxhaW4geW91ciB0ZXN0IEVOViBpbiBtb3JlIGRldGFpbGVkPzwvZGl2Pg0KPGRpdiBjbGFzcz0i ZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwgSGVsdmV0aWNhLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxicj4N CjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTog Q2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7Ij4NCkFzIGZhciBhcyBJIGtub3csIGFsbCBvZiZuYnNwOyB3YiB3b3JrZXJz IChib3RoIGZvciBjZ3diIGFuZCBmb3IgYmRpKSBhcmUgd29ya2luZyBmb3IgZnMgZmx1c2guPC9k aXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxp YnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigw LCAwLCAwKTsiPg0KT25jZSB0cmlnZ2VyIGZsdXNoZXIgbW9yZSBmcmVxdWVudGx5LCBpdCB3aWxs IGJyaW5nIG1vcmUgY29tcGV0aXRpb24gZm9yIEkvTyBiYW5kd2lkdGggYWdhaW5zdCBzd2FwLiBC dXQgSXQgd29uJ3QgbWFrZSBhbnkgY29udHJpYnV0aW9uIHRvIHRoZSBwcm9jZXNzIG9mIHN3YXAu PC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBD YWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJn YigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIg c3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KVGhhbmtzLDwvZGl2Pg0KPGRpdiBj bGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaSwgSGVsdmV0 aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4N CllvbmdtZWkuPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQt ZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsg Y29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50 VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+ DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJp LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAw LCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGlkPSJhcHBlbmRvbnNlbmQiPjwvZGl2Pg0KPGhy IHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8 ZGl2IGlkPSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fu cy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAwMCI+PGI+5Y+R5Lu2 5Lq6OjwvYj4gQ2hyaXMgTGkgJmx0O2NocmlzbEBrZXJuZWwub3JnJmd0Ozxicj4NCjxiPuWPkemA geaXtumXtDo8L2I+IDIwMjTlubQxMOaciDI55pelIDg6MzA8YnI+DQo8Yj7mlLbku7bkuro6PC9i PiBKaW5neGlhbmcgWmVuZyAmbHQ7bGludXN6ZW5nQHRlbmNlbnQuY29tJmd0Ozxicj4NCjxiPuaK hOmAgTo8L2I+IGxpbnV4LW1tQGt2YWNrLm9yZyAmbHQ7bGludXgtbW1Aa3ZhY2sub3JnJmd0Ozsg YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZyAmbHQ7YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZyZn dDs7IGthc29uZ0B0ZW5jZW50LmNvbSAmbHQ7a2Fzb25nQHRlbmNlbnQuY29tJmd0OzsgbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZyAmbHQ7bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZyZn dDs7IHRqbWVyY2llckBnb29nbGUuY29tICZsdDt0am1lcmNpZXJAZ29vZ2xlLmNvbSZndDs7IHdl aXh1Z2NAZ29vZ2xlLmNvbQ0KICZsdDt3ZWl4dWdjQGdvb2dsZS5jb20mZ3Q7OyB5dXpoYW9AZ29v Z2xlLmNvbSAmbHQ7eXV6aGFvQGdvb2dsZS5jb20mZ3Q7PGJyPg0KPGI+5Li76aKYOjwvYj4gUmU6 IFtQQVRDSCB2Nl0gbW0vdm1zY2FuOiB3YWtlIHVwIGZsdXNoZXJzIGNvbmRpdGlvbmFsbHkgdG8g YXZvaWQgY2dyb3VwIE9PTTwvZm9udD4NCjxkaXY+Jm5ic3A7PC9kaXY+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9IkJvZHlGcmFnbWVudCI+PGZvbnQgc2l6ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMXB0OyI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQiPkhpIEppbmd4aWFuZyw8YnI+DQo8YnI+ DQo8YnI+DQo8YnI+DQpPbiBTYXQsIE9jdCAyNiwgMjAyNCBhdCA0OjU34oCvQU0gSmluZ3hpYW5n IFplbmc8YnI+DQombHQ7amluZ3hpYW5nemVuZy5jYXNAZ21haWwuY29tJmd0OyB3cm90ZTo8YnI+ DQomZ3Q7PGJyPg0KJmd0OyBGcm9tOiBaZW5nIEppbmd4aWFuZyAmbHQ7bGludXN6ZW5nQHRlbmNl bnQuY29tJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7IENvbW1pdCAxNGFhOGIyZDVjMmUgKCZxdW90 O21tL21nbHJ1OiBkb24ndCBzeW5jIGRpc2sgZm9yIGVhY2ggYWdpbmcgY3ljbGUmcXVvdDspPGJy Pg0KJmd0OyByZW1vdmVkIHRoZSBvcHBvcnR1bml0eSB0byB3YWtlIHVwIGZsdXNoZXJzIGR1cmlu ZyB0aGUgTUdMUlUgcGFnZTxicj4NCiZndDsgcmVjbGFtYXRpb24gcHJvY2VzcyBjYW4gbGVhZCB0 byBhbiBpbmNyZWFzZWQgbGlrZWxpaG9vZCBvZiB0cmlnZ2VyaW5nIE9PTTxicj4NCiZndDsgd2hl biBlbmNvdW50ZXJpbmcgbWFueSBkaXJ0eSBwYWdlcyBkdXJpbmcgcmVjbGFtYXRpb24gb24gTUdM UlUuPGJyPg0KJmd0Ozxicj4NCiZndDsgVGhpcyBsZWFkcyB0byBwcmVtYXR1cmUgT09NIGlmIHRo ZXJlIGFyZSB0b28gbWFueSBkaXJ0eSBwYWdlcyBpbiBjZ3JvdXA6PGJyPg0KJmd0OyBLaWxsZWQ8 YnI+DQomZ3Q7PGJyPg0KJmd0OyBkZCBpbnZva2VkIG9vbS1raWxsZXI6IGdmcF9tYXNrPTB4MTAx Y2NhKEdGUF9ISUdIVVNFUl9NT1ZBQkxFfF9fR0ZQX1dSSVRFKSw8YnI+DQomZ3Q7IG9yZGVyPTAs IG9vbV9zY29yZV9hZGo9MDxicj4NCiZndDs8YnI+DQomZ3Q7IENhbGwgVHJhY2U6PGJyPg0KJmd0 OyZuYnNwOyZuYnNwOyAmbHQ7VEFTSyZndDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGR1bXBfc3Rh Y2tfbHZsKzB4NWYvMHg4MDxicj4NCiZndDsmbmJzcDsmbmJzcDsgZHVtcF9zdGFjaysweDE0LzB4 MjA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGR1bXBfaGVhZGVyKzB4NDYvMHgxYjA8YnI+DQomZ3Q7 Jm5ic3A7Jm5ic3A7IG9vbV9raWxsX3Byb2Nlc3MrMHgxMDQvMHgyMjA8YnI+DQomZ3Q7Jm5ic3A7 Jm5ic3A7IG91dF9vZl9tZW1vcnkrMHgxMTIvMHg1YTA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IG1l bV9jZ3JvdXBfb3V0X29mX21lbW9yeSsweDEzYi8weDE1MDxicj4NCiZndDsmbmJzcDsmbmJzcDsg dHJ5X2NoYXJnZV9tZW1jZysweDQ0Zi8weDVjMDxicj4NCiZndDsmbmJzcDsmbmJzcDsgY2hhcmdl X21lbWNnKzB4MzQvMHg1MDxicj4NCiZndDsmbmJzcDsmbmJzcDsgX19tZW1fY2dyb3VwX2NoYXJn ZSsweDMxLzB4OTA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGZpbGVtYXBfYWRkX2ZvbGlvKzB4NGIv MHhmMDxicj4NCiZndDsmbmJzcDsmbmJzcDsgX19maWxlbWFwX2dldF9mb2xpbysweDFhNC8weDVi MDxicj4NCiZndDsmbmJzcDsmbmJzcDsgPyBzcnNvX3JldHVybl90aHVuaysweDUvMHg1Zjxicj4N CiZndDsmbmJzcDsmbmJzcDsgPyBfX2Jsb2NrX2NvbW1pdF93cml0ZSsweDgyLzB4YjA8YnI+DQom Z3Q7Jm5ic3A7Jm5ic3A7IGV4dDRfZGFfd3JpdGVfYmVnaW4rMHhlNS8weDI3MDxicj4NCiZndDsm bmJzcDsmbmJzcDsgZ2VuZXJpY19wZXJmb3JtX3dyaXRlKzB4MTM0LzB4MmIwPGJyPg0KJmd0OyZu YnNwOyZuYnNwOyBleHQ0X2J1ZmZlcmVkX3dyaXRlX2l0ZXIrMHg1Ny8weGQwPGJyPg0KJmd0OyZu YnNwOyZuYnNwOyBleHQ0X2ZpbGVfd3JpdGVfaXRlcisweDc2LzB4N2QwPGJyPg0KJmd0OyZuYnNw OyZuYnNwOyA/IHNlbGludXhfZmlsZV9wZXJtaXNzaW9uKzB4MTE5LzB4MTUwPGJyPg0KJmd0OyZu YnNwOyZuYnNwOyA/IHNyc29fcmV0dXJuX3RodW5rKzB4NS8weDVmPGJyPg0KJmd0OyZuYnNwOyZu YnNwOyA/IHNyc29fcmV0dXJuX3RodW5rKzB4NS8weDVmPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyB2 ZnNfd3JpdGUrMHgzMGMvMHg0NDA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGtzeXNfd3JpdGUrMHg2 NS8weGUwPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBfX3g2NF9zeXNfd3JpdGUrMHgxZS8weDMwPGJy Pg0KJmd0OyZuYnNwOyZuYnNwOyB4NjRfc3lzX2NhbGwrMHgxMWMyLzB4MWQ1MDxicj4NCiZndDsm bmJzcDsmbmJzcDsgZG9fc3lzY2FsbF82NCsweDQ3LzB4MTEwPGJyPg0KJmd0OyZuYnNwOyZuYnNw OyBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdlPGJyPg0KJmd0Ozxicj4N CiZndDsmbmJzcDsgbWVtb3J5OiB1c2FnZSAzMDgyMjRrQiwgbGltaXQgMzA4MjI0a0IsIGZhaWxj bnQgMjU4OTxicj4NCiZndDsmbmJzcDsgc3dhcDogdXNhZ2UgMGtCLCBsaW1pdCA5MDA3MTk5MjU0 NzQwOTg4a0IsIGZhaWxjbnQgMDxicj4NCiZndDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IC4uLjxi cj4NCiZndDsmbmJzcDsmbmJzcDsgZmlsZV9kaXJ0eSAzMDMyNDczNjA8YnI+DQomZ3Q7Jm5ic3A7 Jm5ic3A7IGZpbGVfd3JpdGViYWNrIDA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IC4uLjxicj4NCiZn dDs8YnI+DQomZ3Q7IG9vbS1raWxsOmNvbnN0cmFpbnQ9Q09OU1RSQUlOVF9NRU1DRyxub2RlbWFz az0obnVsbCksY3B1c2V0PXRlc3QsPGJyPg0KJmd0OyBtZW1zX2FsbG93ZWQ9MCxvb21fbWVtY2c9 L3Rlc3QsdGFza19tZW1jZz0vdGVzdCx0YXNrPWRkLHBpZD00NDA0LHVpZD0wPGJyPg0KJmd0OyBN ZW1vcnkgY2dyb3VwIG91dCBvZiBtZW1vcnk6IEtpbGxlZCBwcm9jZXNzIDQ0MDQgKGRkKSB0b3Rh bC12bToxMDUxMmtCLDxicj4NCiZndDsgYW5vbi1yc3M6MTE1MmtCLCBmaWxlLXJzczoxODI0a0Is IHNobWVtLXJzczowa0IsIFVJRDowIHBndGFibGVzOjc2a0I8YnI+DQomZ3Q7IG9vbV9zY29yZV9h ZGo6MDxicj4NCiZndDs8YnI+DQomZ3Q7IFRoZSBmbHVzaGVyIHdha2UgdXAgd2FzIHJlbW92ZWQg dG8gZGVjcmVhc2UgU1NEIHdlYXJpbmcsIGJ1dCBpZiB3ZSBhcmU8YnI+DQomZ3Q7IHNlZWluZyBh bGwgZGlydHkgZm9saW9zIGF0IHRoZSB0YWlsIG9mIGFuIExSVSwgbm90IHdha2luZyB1cCB0aGUg Zmx1c2hlcjxicj4NCiZndDsgY291bGQgbGVhZCB0byB0aHJhc2hpbmcgZWFzaWx5LiZuYnNwOyBT byB3YWtlIGl0IHVwIHdoZW4gYSBtZW0gY2dyb3VwcyBpcyBhYm91dDxicj4NCiZndDsgdG8gT09N IGR1ZSB0byBkaXJ0eSBjYWNoZXMuPGJyPg0KJmd0Ozxicj4NCiZndDsgSSBkaWQgcnVuIHRoZSBi dWlsZCBrZXJuZWwgdGVzdFsxXSBvbiBWNiwgd2l0aCAtajE2IDFHIG1lbWNnIG9uIG15IGxvY2Fs PGJyPg0KJmd0OyBicmFuY2g6PGJyPg0KJmd0Ozxicj4NCiZndDsgV2l0aG91dCB0aGUgcGF0Y2go MTAgdGltZXMpOjxicj4NCiZndDsgdXNlciAxNDQ5LjM5NDxicj4NCiZndDsgc3lzdGVtIDM2OC43 OCAzNzIuNTggMzYzLjAzIDM2Mi4zMSAzNjAuODQgMzcyLjcwIDM2OC43MiAzNjQuOTQgMzczLjUx PGJyPg0KJmd0OyAzNjYuNTggKGF2ZyAzNjcuMzk5KTxicj4NCiZndDsgcmVhbCAxNjQuODgzPGJy Pg0KJmd0Ozxicj4NCiZndDsgV2l0aCB0aGUgVjYgcGF0Y2goMTAgdGltZXMpOjxicj4NCiZndDsg dXNlciAxNDQ3LjUyNTxicj4NCiZndDsgc3lzdGVtIDM2MC44NyAzNjAuNjMgMzcyLjM5IDM2NC4w OSAzNjguNDkgMzY1LjE1IDM1OS45MyAzNjIuMDQgMzU5LjcyPGJyPg0KJmd0OyAzNTQuNjAgKGF2 ZyAzNjIuNzkpPGJyPg0KJmd0OyByZWFsIDE2NC41MTQ8YnI+DQomZ3Q7PGJyPg0KJmd0OyBUZXN0 IHJlc3VsdHMgc2hvdyB0aGF0IHRoaXMgcGF0Y2ggaGFzIGFib3V0IDElIHBlcmZvcm1hbmNlIGlt cHJvdmVtZW50LDxicj4NCiZndDsgd2hpY2ggc2hvdWxkIGJlIGNhdXNlZCBieSBub2lzZS48YnI+ DQo8YnI+DQpJIG1ha2UgYW5vdGhlciB0ZXN0IHJ1biBvbiB5b3VyIFY2IHdpdGggbW0tdW5zdGFi bGUgYjVkNDNmYWQ5MjZhIGp1c3Q8YnI+DQp0byBhZGQgbW9yZSBkYXRhIHBvaW50Ojxicj4NCjxi cj4NCldpdGggeW91ciBWNjo8YnI+DQp1c2VyJm5ic3A7Jm5ic3A7Jm5ic3A7IDI3NjQuODAxPGJy Pg0Kc3lzdGVtJm5ic3A7IDYyOTcuODgzIDogNjIyNy40NiA2MjM4LjQ4IDYyNTQuMTQgNjI4MS4w OCA2MzA0LjMyIDYzMDcuNDM8YnI+DQo2MzI2LjEyIDYzMzEuMDIgNjM0Ni42NiA2MzYyLjEyPGJy Pg0KcmVhbCZuYnNwOyZuYnNwOyZuYnNwOyAyODkuOTYxPGJyPg0KPGJyPg0KV2l0aG91dCAobW0t dW5zdGFibGUgYjVkNDNmYWQ5MjZhKTxicj4NCnVzZXImbmJzcDsmbmJzcDsmbmJzcDsgMjc3Ny4y OTM8YnI+DQpzeXN0ZW0mbmJzcDsgNjE3Ny4xNzIgOiA2MDIyLjg0IDYxMjguODEgNjE0Mi45MyA2 MTcyLjI0IDYxNzQuMDggNjE4Ni4xPGJyPg0KNjE5NC43MiA2MjA2Ljc3IDYyNjYuODcgNjI3Ni4z Njxicj4NCnJlYWwmbmJzcDsmbmJzcDsmbmJzcDsgMjg2LjUxNDxicj4NCjxicj4NClRoZSBzeXN0 ZW0gdGltZSBpcyBzdGlsbCBhIHRpbnkgbGl0dGxlIGJpdCBzbG93ZXIuIEJ1dCBteSBzd2FwPGJy Pg0KcHJlc3N1cmUgbWlnaHQgYmUgbXVjaCBoaWdoZXIuIEluIG15IHRlc3QgaXQgc3BlbmQgbXVj aCBtb3JlIHRpbWUgaW48YnI+DQpzeXN0ZW0gcmF0aGVyIHRoYW4gdXNlciBzcGFjZS4gU28gbXkg c3RyZXNzIGxldmVsIG1pZ2h0IG5vdCBiZTxicj4NCnR5cGljYWwuIEdvb2QgbmV3cyB5b3VyIFY2 IGRvZXMgbm90IGhhdmUgY3Jhc2hlcy48YnI+DQo8YnI+DQpUZXN0ZWQtYnk6IENocmlzIExpICZs dDtjaHJpc2xAa2VybmVsLm9yZyZndDs8YnI+DQo8YnI+DQpDaHJpczxicj4NCjxicj4NCiZndDs8 YnI+DQomZ3Q7IC0tLTxicj4NCiZndDsgQ2hhbmdlcyBmcm9tIHY1Ojxicj4NCiZndDsgLSBNYWtl IHdha2UtdXAgY29uZGl0aW9ucyBzdHJpY3Rlci4gW1dlaSBYdSwgSmluZ3hpYW5nIFplbmddPGJy Pg0KJmd0OyAtIFVzZSBzYy0mZ3Q7bnIuZmlsZV90YWtlbiB0byBjb3VudC4gW1dlaSBYdSwgSmlu Z3hpYW5nIFplbmddPGJyPg0KJmd0OyAtIExpbmsgdG8gdjU6IDxhIGhyZWY9Imh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL2FsbC8yMDI0MTAxODA1Mjk0Mi4zODEwNzQwLTEtamluZ3hpYW5nemVuZy5j YXNAZ21haWwuY29tLyI+DQpodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNDEwMTgwNTI5 NDIuMzgxMDc0MC0xLWppbmd4aWFuZ3plbmcuY2FzQGdtYWlsLmNvbS88L2E+PGJyPg0KJmd0OyBD aGFuZ2VzIGZyb20gdjQ6PGJyPg0KJmd0OyAtIEFkZCB0aGUgbnVtYmVyIG9mIHVucXVldWVkIGRp cnR5IHBhZ2VzIGluIHRoZSBzaHJpbmtfZm9saW9fbGlzdCBmdW5jdGlvbjxicj4NCiZndDsmbmJz cDsmbmJzcDsgdG8gc2MtJmd0O25yLnVucXVldWVkX2RpcnR5LiBbV2VpIFh1LCBKaW5neGlhbmcg WmVuZ108YnI+DQomZ3Q7IC0gUmVzZXQgc2MtJmd0O25yIGJlZm9yZSBjYWxsaW5nIGxydV9nZW5f c2hyaW5rX25vZGUgZnVuY3Rpb24uPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBbV2VpIFh1LCBKaW5n eGlhbmcgWmVuZ108YnI+DQomZ3Q7IC0gTW9kaWZpZWQgdGhlIGNvbmRpdGlvbnMgZm9yIHdha2lu ZyB1cCB0aGUgZmx1c2hlciB0aHJlYWQgdG8gYXZvaWQ8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGlu dGVyZmVyZW5jZSBmcm9tIHVuZXZpY3RhYmxlIGFuZCBhbm9ueW1vdXMgcGFnZXMuPGJyPg0KJmd0 OyZuYnNwOyZuYnNwOyBbV2VpIFh1LCBKaW5neGlhbmcgWmVuZ108YnI+DQomZ3Q7IC0gTGluayB0 byB2NDogPGEgaHJlZj0iaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwOTI5MTEzMDUw Ljc2MDc5LTEtamluZ3hpYW5nemVuZy5jYXNAZ21haWwuY29tLyI+DQpodHRwczovL2xvcmUua2Vy bmVsLm9yZy9hbGwvMjAyNDA5MjkxMTMwNTAuNzYwNzktMS1qaW5neGlhbmd6ZW5nLmNhc0BnbWFp bC5jb20vPC9hPjxicj4NCiZndDsgQ2hhbmdlcyBmcm9tIHYzOjxicj4NCiZndDsgLSBBdm9pZCB0 YWtpbmcgbG9jayBhbmQgcmVkdWNlIG92ZXJoZWFkIG9uIGZvbGlvIGlzb2xhdGlvbiBieTxicj4N CiZndDsmbmJzcDsmbmJzcDsgY2hlY2tpbmcgdGhlIHJpZ2h0IGZsYWdzIGFuZCByZXdvcmsgd2Fr ZSB1cCBjb25kaXRpb24sIGZpeGluZyB0aGU8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IHBlcmZvcm1h bmNlIHJlZ3Jlc3Npb24gcmVwb3J0ZWQgYnkgQ2hyaXMgTGkuPGJyPg0KJmd0OyZuYnNwOyZuYnNw OyBbQ2hyaXMgTGksIEthaXJ1aSBTb25nXTxicj4NCiZndDsgLSBNb3ZlIHRoZSB3YWtlIHVwIGNo ZWNrIHRvIHRyeV90b19zaHJpbmtfbHJ1dmVjIHRvIGNvdmVyIGtzd2FwZDxicj4NCiZndDsmbmJz cDsmbmJzcDsgY2FzZSBhcyB3ZWxsLCBhbmQgdXBkYXRlIGNvbW1lbnRzLiBbS2FpcnVpIFNvbmdd PGJyPg0KJmd0OyAtIExpbmsgdG8gdjM6IDxhIGhyZWY9Imh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2FsbC8yMDI0MDkyNDEyMTM1OC4zMDY4NS0xLWppbmd4aWFuZ3plbmcuY2FzQGdtYWlsLmNvbS8i Pg0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwOTI0MTIxMzU4LjMwNjg1LTEtamlu Z3hpYW5nemVuZy5jYXNAZ21haWwuY29tLzwvYT48YnI+DQomZ3Q7IENoYW5nZXMgZnJvbSB2Mjo8 YnI+DQomZ3Q7IC0gQWNxdWlyZSB0aGUgbG9jayBiZWZvcmUgY2FsbGluZyB0aGUgZm9saW9fY2hl Y2tfZGlydHlfd3JpdGViYWNrPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBmdW5jdGlvbi4gW1dlaSBY dSwgSmluZ3hpYW5nIFplbmddPGJyPg0KJmd0OyAtIExpbmsgdG8gdjI6IDxhIGhyZWY9Imh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDkxMzA4NDUwNi4zNjA2MjkyLTEtamluZ3hpYW5n emVuZy5jYXNAZ21haWwuY29tLyI+DQpodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNDA5 MTMwODQ1MDYuMzYwNjI5Mi0xLWppbmd4aWFuZ3plbmcuY2FzQGdtYWlsLmNvbS88L2E+PGJyPg0K Jmd0OyBDaGFuZ2VzIGZyb20gdjE6PGJyPg0KJmd0OyAtIEFkZCBjb2RlIHRvIGNvdW50IHRoZSBu dW1iZXIgb2YgdW5xdWV1ZWRfZGlydHkgaW4gdGhlIHNvcnRfZm9saW88YnI+DQomZ3Q7Jm5ic3A7 Jm5ic3A7IGZ1bmN0aW9uLiBbV2VpIFh1LCBKaW5neGlhbmcgWmVuZ108YnI+DQomZ3Q7IC0gTGlu ayB0byB2MTogPGEgaHJlZj0iaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQwODI5MTAy NTQzLjE4OTQ1My0xLWppbmd4aWFuZ3plbmcuY2FzQGdtYWlsLmNvbS8iPg0KaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvYWxsLzIwMjQwODI5MTAyNTQzLjE4OTQ1My0xLWppbmd4aWFuZ3plbmcuY2Fz QGdtYWlsLmNvbS88L2E+PGJyPg0KJmd0OyAtLS08YnI+DQomZ3Q7PGJyPg0KJmd0OyBMaW5rOiA8 YSBocmVmPSJodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FDZVB2YlY0TC1nUk45VUtLdVVu a3NmVkpqT1RxXzVTdGkyLWU9cGJfdzUxa3VjTEtRQG1haWwuZ21haWwuY29tLyI+DQpodHRwczov L2xvcmUua2VybmVsLm9yZy9hbGwvQ0FDZVB2YlY0TC1nUk45VUtLdVVua3NmVkpqT1RxXzVTdGky LWU9cGJfdzUxa3VjTEtRQG1haWwuZ21haWwuY29tLzwvYT4gWzFdPGJyPg0KJmd0OyBGaXhlczog MTRhYThiMmQ1YzJlICgmcXVvdDttbS9tZ2xydTogZG9uJ3Qgc3luYyBkaXNrIGZvciBlYWNoIGFn aW5nIGN5Y2xlJnF1b3Q7KTxicj4NCiZndDsgU3VnZ2VzdGVkLWJ5OiBXZWkgWHUgJmx0O3dlaXh1 Z2NAZ29vZ2xlLmNvbSZndDs8YnI+DQomZ3Q7IFNpZ25lZC1vZmYtYnk6IFplbmcgSmluZ3hpYW5n ICZsdDtsaW51c3plbmdAdGVuY2VudC5jb20mZ3Q7PGJyPg0KJmd0OyBTaWduZWQtb2ZmLWJ5OiBL YWlydWkgU29uZyAmbHQ7a2Fzb25nQHRlbmNlbnQuY29tJmd0Ozxicj4NCiZndDsgQ2M6IFQuSi4g TWVyY2llciAmbHQ7dGptZXJjaWVyQGdvb2dsZS5jb20mZ3Q7PGJyPg0KJmd0OyBDYzogV2VpIFh1 ICZsdDt3ZWl4dWdjQGdvb2dsZS5jb20mZ3Q7PGJyPg0KJmd0OyBDYzogWXUgWmhhbyAmbHQ7eXV6 aGFvQGdvb2dsZS5jb20mZ3Q7PGJyPg0KJmd0OyAtLS08YnI+DQomZ3Q7Jm5ic3A7IG1tL3Ztc2Nh bi5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKy0tLTxicj4NCiZndDsmbmJzcDsgMSBmaWxl IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pPGJyPg0KJmd0Ozxicj4N CiZndDsgZGlmZiAtLWdpdCBhL21tL3Ztc2Nhbi5jIGIvbW0vdm1zY2FuLmM8YnI+DQomZ3Q7IGlu ZGV4IDA4NGRlMGVmZTU5Yi4uNzk0NzMwYzhjMWRlIDEwMDY0NDxicj4NCiZndDsgLS0tIGEvbW0v dm1zY2FuLmM8YnI+DQomZ3Q7ICsrKyBiL21tL3Ztc2Nhbi5jPGJyPg0KJmd0OyBAQCAtNDI4Miw2 ICs0MjgyLDcgQEAgc3RhdGljIGJvb2wgc29ydF9mb2xpbyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMs IHN0cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCBzY2FuX2M8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGludCB0aWVyX2lkeCk8YnI+DQomZ3Q7Jm5ic3A7IHs8YnI+DQomZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGJvb2wgc3VjY2Vz czs8YnI+DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYm9vbCBk aXJ0eSwgd3JpdGViYWNrOzxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgaW50IGdlbiA9IGZvbGlvX2xydV9nZW4oZm9saW8pOzxicj4NCiZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW50IHR5 cGUgPSBmb2xpb19pc19maWxlX2xydShmb2xpbyk7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnQgem9uZSA9IGZvbGlvX3pvbmVudW0o Zm9saW8pOzxicj4NCiZndDsgQEAgLTQzMjcsOSArNDMyOCwxNyBAQCBzdGF0aWMgYm9vbCBzb3J0 X2ZvbGlvKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IGZvbGlvICpmb2xpbywgc3RydWN0 IHNjYW5fYzxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0dXJuIHRydWU7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0Ozxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBkaXJ0eSA9IGZvbGlvX3Rlc3RfZGlydHkoZm9saW8pOzxicj4NCiZn dDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3cml0ZWJhY2sgPSBmb2xp b190ZXN0X3dyaXRlYmFjayhmb2xpbyk7PGJyPg0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGlmICh0eXBlID09IExSVV9HRU5fRklMRSAmYW1wOyZhbXA7IGRpcnR5 KSB7PGJyPg0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNjLSZndDtuci5maWxl X3Rha2VuICs9IGRlbHRhOzxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBp ZiAoIXdyaXRlYmFjayk8YnI+DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc2MtJmd0O25yLnVu cXVldWVkX2RpcnR5ICs9IGRlbHRhOzxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyArPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiB3YWl0aW5nIGZvciB3cml0ZWJhY2sgKi88 YnI+DQomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKGZvbGlv X3Rlc3RfbG9ja2VkKGZvbGlvKSB8fCBmb2xpb190ZXN0X3dyaXRlYmFjayhmb2xpbykgfHw8YnI+ DQomZ3Q7IC0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgKHR5cGUgPT0gTFJVX0dFTl9GSUxFICZhbXA7JmFtcDsgZm9saW9fdGVzdF9k aXJ0eShmb2xpbykpKSB7PGJyPg0KJmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmIChmb2xpb190ZXN0X2xvY2tlZChmb2xpbykgfHwgd3JpdGViYWNrIHx8PGJyPg0K Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICh0eXBlID09IExSVV9HRU5fRklMRSAmYW1wOyZhbXA7IGRpcnR5KSkgezxicj4N CiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZ2VuID0gZm9saW9f aW5jX2dlbihscnV2ZWMsIGZvbGlvLCB0cnVlKTs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxpc3RfbW92ZSgmYW1wO2ZvbGlvLSZndDtscnUsICZhbXA7 bHJ1Z2VuLSZndDtmb2xpb3NbZ2VuXVt0eXBlXVt6b25lXSk7PGJyPg0KJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gdHJ1ZTs8YnI+DQomZ3Q7IEBAIC00 NDQ1LDcgKzQ0NTQsOCBAQCBzdGF0aWMgaW50IHNjYW5fZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxy dXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqc2MsPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0cmFjZV9tbV92bXNjYW5fbHJ1X2lzb2xh dGUoc2MtJmd0O3JlY2xhaW1faWR4LCBzYy0mZ3Q7b3JkZXIsIE1BWF9MUlVfQkFUQ0gsPGJyPg0K Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzY2FubmVkLCBza2lwcGVkLCBpc29sYXRlZCw8YnI+ DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHR5cGUgPyBMUlVfSU5BQ1RJVkVfRklMRSA6IExS VV9JTkFDVElWRV9BTk9OKTs8YnI+DQomZ3Q7IC08YnI+DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHR5cGUgPT0gTFJVX0dFTl9GSUxFKTxicj4NCiZndDsg KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzYy0mZ3Q7bnIuZmlsZV90YWtlbiArPSBpc29s YXRlZDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IC8qPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAqIFRoZXJlIG1pZ2h0IG5vdCBiZSBlbGlnaWJsZSBmb2xpb3MgZHVl IHRvIHJlY2xhaW1faWR4LiBDaGVjayB0aGU8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogcmVtYWluaW5nIHRvIHByZXZlbnQg bGl2ZWxvY2sgaWYgaXQncyBub3QgbWFraW5nIHByb2dyZXNzLjxicj4NCiZndDsgQEAgLTQ1Nzks NiArNDU4OSw3IEBAIHN0YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZl Yywgc3RydWN0IHNjYW5fY29udHJvbCAqc2MsIGludCBzd2FwPGJyPg0KJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gc2Nhbm5lZDs8YnI+DQomZ3Q7Jm5i c3A7IHJldHJ5Ojxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgcmVjbGFpbWVkID0gc2hyaW5rX2ZvbGlvX2xpc3QoJmFtcDtsaXN0LCBwZ2Rh dCwgc2MsICZhbXA7c3RhdCwgZmFsc2UpOzxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBzYy0mZ3Q7bnIudW5xdWV1ZWRfZGlydHkgKz0gc3RhdC5ucl91bnF1 ZXVlZF9kaXJ0eTs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IHNjLSZndDtucl9yZWNsYWltZWQgKz0gcmVjbGFpbWVkOzxicj4NCiZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHJhY2VfbW1f dm1zY2FuX2xydV9zaHJpbmtfaW5hY3RpdmUocGdkYXQtJmd0O25vZGVfaWQsPGJyPg0KJmd0OyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzY2FubmVkLCByZWNsYWltZWQsICZhbXA7c3Rh dCwgc2MtJmd0O3ByaW9yaXR5LDxicj4NCiZndDsgQEAgLTQ3ODcsNiArNDc5OCwxMyBAQCBzdGF0 aWMgYm9vbCB0cnlfdG9fc2hyaW5rX2xydXZlYyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVj dCBzY2FuX2NvbnRyb2wgKnNjKTxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgY29uZF9yZXNjaGVkKCk7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0Ozxicj4NCiZndDsgKyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKjxicj4NCiZndDsgKyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIElmIHRvbyBtYW55IGZpbGUgY2FjaGUg aW4gdGhlIGNvbGRlc3QgZ2VuZXJhdGlvbiBjYW4ndCBiZSBldmljdGVkPGJyPg0KJmd0OyArJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICogZHVlIHRvIGJlaW5nIGRp cnR5LCB3YWtlIHVwIHRoZSBmbHVzaGVyLjxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqLzxicj4NCiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBpZiAoc2MtJmd0O25yLnVucXVldWVkX2RpcnR5ICZhbXA7JmFtcDsg c2MtJmd0O25yLnVucXVldWVkX2RpcnR5ID09IHNjLSZndDtuci5maWxlX3Rha2VuKTxicj4NCiZn dDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3YWtldXBfZmx1c2hlcl90aHJlYWRzKFdC X1JFQVNPTl9WTVNDQU4pOzxicj4NCiZndDsgKzxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogd2hldGhlciB0aGlzIGxydXZlYyBzaG91 bGQgYmUgcm90YXRlZCAqLzxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIG5yX3RvX3NjYW4gJmx0OyAwOzxicj4NCiZndDsmbmJz cDsgfTxicj4NCiZndDsgQEAgLTU5MzIsNiArNTk1MCw3IEBAIHN0YXRpYyB2b2lkIHNocmlua19u b2RlKHBnX2RhdGFfdCAqcGdkYXQsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjKTxicj4NCiZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYm9vbCByZWNs YWltYWJsZSA9IGZhbHNlOzxicj4NCiZndDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChscnVfZ2VuX2VuYWJsZWQoKSAmYW1wOyZh bXA7IHJvb3RfcmVjbGFpbShzYykpIHs8YnI+DQomZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgbWVtc2V0KCZhbXA7c2MtJmd0O25yLCAwLCBzaXplb2Yoc2MtJmd0O25yKSk7PGJyPg0K Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBscnVfZ2VuX3Nocmlu a19ub2RlKHBnZGF0LCBzYyk7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyByZXR1cm47PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJmd0OyAtLTxicj4NCiZndDsgMi40My41PGJyPg0K Jmd0Ozxicj4NCjxicj4NCjwvZGl2Pg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjwvYm9keT4NCjwv aHRtbD4NCg== --_000_ME0P300MB0414DEE2EC36DF141FEBEC7C8E552ME0P300MB0414AUSP_--