From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id E21AD3858D33 for ; Thu, 9 Nov 2023 23:03:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E21AD3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E21AD3858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699570990; cv=pass; b=lioQwiaBslNMlHD15hLr/6j44DzwFq/gOHroKG3oDunFM46SzehkIIWBw26XWD5Q+w4Yskx3FKXTy8JY6+rjsmQBKImq/yoXtmRRpvAfTg1B/Bd3BHLz4sM1Fs1N5uM4+0zV/GOjJhJJHxn7g+RQCkhShN7nqrvkkj/Y75Z32is= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699570990; c=relaxed/simple; bh=tPIPdeFe3ODfQhseqAjpIGl45O0T0rGN4lDXQ3nb5u8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=LaBYYVoh7u+9klSBcCY0wxjzksJN9Isj/ekyS4Bh+AKxBzN0rUYY8HVFVTaOBUaB+kNjBYW0mN31x7pGfYBn45imo6+LTv2iqRrWxUebNZtT97S1UpLRkQ41RfAsr9vDuHo4Zy6kdoIv8yiHhZycXOt+5AtN3hMgLJyUIZxnlxg= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A9MY3VG011298; Thu, 9 Nov 2023 23:03:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=tPIPdeFe3ODfQhseqAjpIGl45O0T0rGN4lDXQ3nb5u8=; b=PbWnEe5MXLTWyd8lBy+jvyfiRX19T/Ua+X2quN1CZaiVkCNgWUFFg8ARdZ5IMzB1s1ed pwl4VOGHBMBhpiqkiXNiSjf+vTioLjMDqGILZDNmfnySh+4hI+J3zyTn6j9wkp3rkWwT RtOQAWF991vv5S0f3GAdc44cA2LqOSjRALCKe6XE41uzF/+ze5dEiae4I32JoDGnk4VD bN1CfTPIPAL0cETDvI8jnJ97amUWK+XE4qZhpOAya/m2qCf9l1RlkQzAtTajZYohaSw9 8sfpBh0jMq7RvdMLq17a8CPWxTEvRc+HLUNZhx1bA/iIi1L6khGDUy6oi62h1qTU/4ol 0g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3u7w2058r1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Nov 2023 23:03:03 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3A9LbiOb017618; Thu, 9 Nov 2023 23:03:02 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3u8c0133wm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Nov 2023 23:03:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NTeoaJoo1hEjLY0rAoDF2jUqoXbUba+/2Gjj5OWzIT3+Fc7TRWY7peBDJpR58aMUOQCXbezC0gHDvQm3CCEkPUHoCZL1y6KD56J5/jcu2jDUF41C9bcM+Gdzmr2n0nLALlZRYeB/fvp1BoI/QOfDXGA3dYxppbuTAYBsEkDeYSVx5V0y31ngAd0RcrHB8x9Gc7blQ268P/3hktxxQ+Nk2wJPxQmOIAQblyAXi+t4vZvu+PUz3+9fXzNsTpIvJNZd+bslj27htBkklV6qwAaWCGn7KXn0e1MmgI9GnPglYoWi/3pXHXu8UJUlahNHfFkC6nXwjNcY9MBykYaRz75j+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=tPIPdeFe3ODfQhseqAjpIGl45O0T0rGN4lDXQ3nb5u8=; b=jHEnnNho0qnebQeRQNlz87KjN9IzcdkO1lIANo3IHv12k4Z4fRqbOLQnUYALL+tXT2eoCYKMVHbm6Ul+ZhxlSWZLdt/BMLAzyJOfMi9Qlckow18oaqPEjMt68nDMeHpbaeyDC3OzZToEU7du5Kev1VXtwpToF/plobOUyITIzOYvz83mbG7Xu8ZX4N5LYAkqbg1uZUvBkscjXsde1xhwk4zVOPXxKG0VmurVZLimxx0PDYFCqY7i1IB4vkSxWOLq+xAmtHKq3sEwy7V5faZ5nOK9dRtcXYtb/aOkEuxEnq+6znEPO/9SeEWkbtbjo4DpYV22e4e4GOkteJIb8yUJzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tPIPdeFe3ODfQhseqAjpIGl45O0T0rGN4lDXQ3nb5u8=; b=t1YjIITdn1GSS0ufrVCvaLYPbJqbSPW2o19h34UYQMVuTQ6fLi1OYbFOXXS9BRS2PHW73MgQdeIe4jNS9zYyVT9BHSsPlho/quGdDO9ILxs2Al+eLu8y466qCssEPHee3qc+Rq8CZYm1w519R1bCG8+uGCg8FG8P3lnEShZG0xc= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by PH7PR10MB6274.namprd10.prod.outlook.com (2603:10b6:510:212::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.33; Thu, 9 Nov 2023 23:02:59 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::29d4:5162:bc59:fe8]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::29d4:5162:bc59:fe8%3]) with mapi id 15.20.6977.019; Thu, 9 Nov 2023 23:02:59 +0000 From: Qing Zhao To: richard Biener , Joseph Myers , Siddhesh Poyarekar , Martin Uecker , Jakub Jelinek CC: Kees Cook , "isanbard@gmail.com" , GCC Patches Subject: RFC (V3) the proposal to resolve the missing dependency issue for counted_by attribute Thread-Topic: RFC (V3) the proposal to resolve the missing dependency issue for counted_by attribute Thread-Index: AQHaE2DiBwifPPl29EiY6NpwfiBG4g== Date: Thu, 9 Nov 2023 23:02:59 +0000 Message-ID: <0A75CFCC-6A81-46B0-8EF5-F3293B882305@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.4) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR10MB7957:EE_|PH7PR10MB6274:EE_ x-ms-office365-filtering-correlation-id: b425c4f3-729e-4d02-4558-08dbe1780488 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: P3DEo+JRmr0XESFXrUW9JCgisjJ4Kfm1jCGN1ZQQx9K4netYekDtb9lhEumI7zC1uAvzwuJ6qB/j1850mr3xs0YJQ+Hwwg0YhxtFgEH0pfrptLaTyP6oQ0mPnagUaohY7HyUarrvJYr1z/vJIvgBLWbOxVpGPgzEnqur6mvf/9Rh/ufYcZ+cmLAgVYnMkrrR6suFzP9w/9oEn350mS/AEUAXEgT7CvZSsxxA1Au+orjVDPH7Gq3sz3bfa+/cUPVeq9Jy0f+n8cGFevrHqhI86N4AE/E/q56PRyhMsBZeZZJSNk6L5vqqj74S5QX9GrYW4CNsQWoEIWLw8/jUuVaWXlo9KTpB8DbUN2hJzidFpCOvWkgEuIxjmGAM50TD1uKdUEZ4W7VWOVN96VK0Lkcnqv1bZzLosYUUsTf5Q3RdJEjaMBc/puE8lpWh9wO0PeMjt7E86n1mlGmbLSCMmTe2EnbDadZdZmT17gdWqYO2rPyhIJMSFBpMvdh2UwvIMfIOMiW++P5Q+Epkl0fEODG4B9sjTi1o4WVzproy2COwUBjDTy2r4QeGscg5lSyDv11aPkVnzf/O86pqz+oZhQ90Bxf67Us7OgMd81mHmHtAOt6paiFjw2/mWPFrjnpOvLhbpWvOdrtt0om9Dz2e+nPuXUjpzmG+zJPAqeRrITcOAZHvNDd1JASjsck1jovwkeU0Kns1eQRcLeP20hEA4yojxYnPiP1dl8n0YHf1CKyqBlpbnDvf6huui8EhcpmAFJxK x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7957.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(366004)(396003)(230173577357003)(230273577357003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(3613699003)(38070700009)(83380400001)(66476007)(91956017)(110136005)(66556008)(66946007)(122000001)(76116006)(478600001)(66446008)(5660300002)(316002)(54906003)(38100700002)(2616005)(64756008)(30864003)(4326008)(6486002)(966005)(8936002)(36756003)(8676002)(44832011)(41300700001)(6512007)(33656002)(86362001)(6506007)(71200400001)(2906002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RkxJNDVnR3pMSWYwYUpoZk9nZncxaVB0ODA3NlZmUnM3RW11TlE1YkY4R2Q2?= =?utf-8?B?RThoR0dGM21ERVlicGkwV09WQ2ZEcUgyUDhkU25RK3diRnJKTWo2Q0VlU0tL?= =?utf-8?B?bjZBVndhRkx1TVJVRHdpWVhPYld3Z1JnNFZmZnJadTFLNFBkV2hGaDlYQlNz?= =?utf-8?B?WHJmd0Y2QjNZQ3F4QThqTlAyMEl1L1FFZ2s4TFBPYkZhOWlISS9nQTBQYmxG?= =?utf-8?B?TlNOYXhxWjZFWWZkdW5aa1dnOUt5QlNIZitPZlF1V2pjSVVQVVVxQ3lPT3Bm?= =?utf-8?B?L3NyTXg0cU1tYUhkMFcxV3M0bGJFK2ExRDNqcGZyOGVVUE1sZ21XbUFlZGF5?= =?utf-8?B?UmJUcHR1T0p5NVFGeitYdGVhUHAzUHYybFNMWHRnUzZ6T2sxOHd3di9tS29x?= =?utf-8?B?VG4zZkloMmNickZRajYrQyt1TlJIWCtET2piTjExcUhkTUdwQnZkQ0Z5V29z?= =?utf-8?B?ajVOalVvNWJXaW15RUxncUo4M3NjcUtSOVc0dTlSMmJqcHlib1oyY3g0ays3?= =?utf-8?B?UlB0bnBSTXJtYVhiMFp5cGtZdFU4ejJyYlJVRnloNUwzQml0MjRQNmZ0Qmdw?= =?utf-8?B?Szg4WlR0UCtPZjdRK2xESnhKM3U4MGNpQVU1d25ZNjFMQk1LZ1ZHMno5T1NF?= =?utf-8?B?SHlucmxZV3RNY003bHdicHV4ak9MbTVqaTkyeUNja0xQWlYyZmZTMFRrcEVl?= =?utf-8?B?N2lYTDRpVU45T09LNlBNV2xYZ0JIOFBteTNDeTlyTDVNZFcxQWtlNFVvL0tm?= =?utf-8?B?anJ3dFd0WWZZUyt5eEFQQzlvTVI4UjJrZm55QXc3NXAydmpFSXdnT09pOEZH?= =?utf-8?B?WXd3NFlrMkF3djJEd2cxQlpLTEFPVkc5WlZha25CZU9Bc0U2bnFZSHVVT3lM?= =?utf-8?B?dHRJZDJOeXVGYlpIdjNJWkwwUEdHVVBkd0FzMmlLN3ZpZFRHLzQybXhoU0dN?= =?utf-8?B?WW4zMHd0SUM3eXZqbHlGY21IT1FNVy9YelcvUWZMVjU5VXFTd1hQQTk0aWpZ?= =?utf-8?B?bHdtMEp3WkVaQkFtNU9uai9QWW5Lb3NsYVFPdEdpTmdzOTV5TFhKaXROUDJq?= =?utf-8?B?akRHdWF2MVpzM3VVMFpVaTdWVXlFUHJPUjFTRjJVLzY5anh2ZzF6NVgvak51?= =?utf-8?B?Y2prcHA2QjV1STNHMlFoYmZOUDI4aVFHMGZKUFlYN2xXSktaaHRWWlBDZWc1?= =?utf-8?B?L0ZxdWwycXZvb0R5ckFOZXFhU1JxTjhkK2lqTmNuam4xVFBxMm1YbEUybGhm?= =?utf-8?B?VUFTc1BSREFlR0QxWEhMVndvRXBvV1RsUFh3ZTExbFVPTHp3UHI1aWwraXRo?= =?utf-8?B?YnJ6SmhvbVUzU1VZMXVGcGZUUmpTOUd4YXpzL3p2MW83RXdPTkx2aDhkSjNn?= =?utf-8?B?blA3REJhL1U5VkRlV29XSm8rSC9KWXQweWNOMXZzOUp1ZU1xdzUyS3FZOXJX?= =?utf-8?B?Um1uK3pETjcyNVlPQnRhaTlUa2pSTGVBaGF6Q3UvaW1HOXJBVFU1RU5OVXl5?= =?utf-8?B?SW1GYXZzOHZnOXhJRE16YTVVcVZTNlk1bGhGd1hXSlF1QWgrTlRtMHg0djNS?= =?utf-8?B?WGkyT3d4d0lQUzNCZVpFU3MrVDJrajNJOFlGZ3p0bEZjcXE4MC9vUjYyRTJQ?= =?utf-8?B?VitWbHVJaTRzUVlzTDdyeExKL2Y5UCtwUkIrYmtmVnBwVEdLK3dXU3lkdUl3?= =?utf-8?B?T0s3TnNhMW1NKzJSanA3SnFWS213WjdiTmtMeGxGUjBUcGpTZTNoNFk5ZGdQ?= =?utf-8?B?em9IQTEwNzJIYmxvNWoxTmMvZ0labngwWG42cWMzVWxtOEp2RUh6SmpHTVUz?= =?utf-8?B?VmFEYUpVVWpIN0VKby9TRmxUK20vUlc3c0lPVzZoQ2E4ZTAyVzV0LzBpZzBk?= =?utf-8?B?TjNkV3U4b1BmUXR1R1FQalJHdHRvcUt5Mk5yY1NIcVNTQWdReXpQQkhkTVAr?= =?utf-8?B?ZitPazkzTTc1M3NpaFlsMGpwSWtLNDhaY3daQUdrU2ZxWUxqUUFDUzROV3U3?= =?utf-8?B?QjF2MXNWbUpZTGZoVGxoWHVJbXlwbGlNWGRsZFN0bk9wT2FYKzJSWm42RGFY?= =?utf-8?B?cjNOK1FKMi9McVUybmxIcTlLWG82eVhnMVBRazFWQXFmbHVmdDBZSURKNzdi?= =?utf-8?B?S3FIWWU0UlRZam5sbnNnM1ZWdTFVVFBOMnZjZGJWSGpFK25pdTQ3UmxNRytp?= =?utf-8?Q?HN01+U0qrNYbS27DWItZQZU=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?NHNKMVQzcW8xb1FvS3BuTWlBekcvVERkSGI3MHVqSC84OERucXNrT2ZDdE5h?= =?utf-8?B?NVFqR0U3OTZvU21BdFd2KzhvSUp6Vlg5QTlZdko0VnVTTUhJZk9veUdkaWph?= =?utf-8?B?ZU12bmJ0QWRoTUt3N3J2ejlnS09zRUcveU84VHJzZkFoY1h3eEdQczhQbUdM?= =?utf-8?B?dXhPRitDdWFsdzV6STBQTlhoWUY0d2RuVzZ2M1dEaEVMdlY5SlJxRS82YXJB?= =?utf-8?B?b0pBU0NkS2h3ZDdXb0ZhOFJrdVJGbUVmSno5NXRBN1VFYkhoYU5MTDR3Sk1F?= =?utf-8?B?T2JhK3ZXWk0rOWEzMFlXelVwVEt6RytpVHZGOUpxTnVVaGh2V1NFSzVWTnlJ?= =?utf-8?B?NjlVa3pzNFdvNmt0Z2xjUm1ISmJlV1B0ckdGclk2cG44anZqTU9kUFdsUkIx?= =?utf-8?B?T0M0K3VTTjcrZjJFc3RIT3F2WVFWVnM0d01XdjEzUjNGWEx3cFdnS29FR1o1?= =?utf-8?B?Qy9ObUp0LzhvWW1tSmovdDc4eHk5SEErMlhVT01ML0ZTYnk2dmJHZkZVVnJa?= =?utf-8?B?Y3BBQjNzU05TMWVIcWFmaFVnOTI4WlgrZkRWRFBaeERGc3A2TEM3M1J2RDYx?= =?utf-8?B?cVRmbEFPVEx4ZVdKK3VmSDVhdGRtUXF3cEdzU1luMmthWGZNZ1MvT0s1T0tO?= =?utf-8?B?YWIwNkpkSndXL01aak9Bd3Ewa3FlQWhCaXl3NmVTeUx4VEY1bzE1d0hEajZV?= =?utf-8?B?ZGc4QXRNNU5PM3djOC9vYXFxUURxYzBQWGNJRTBVZDJBR0tyUFQwMmlDcFRO?= =?utf-8?B?cjRUMm1nZzM3SGYvUzdxVzIwcjd1UGN5N0NVcmc0UlREUXRDa3pFVm1OK2RN?= =?utf-8?B?V1lNT3BhajE5eDhpNnB0STkyQUxsekt4RzR1Wkd3VkN5eXFHZHd0Y0JvN2Z4?= =?utf-8?B?V1VwaDRKblMxSjd3UU9XKzJ2SXRrSFpOUmxFai84TkpNaDJsOFRyOUpPR0pH?= =?utf-8?B?TFd4bW5oR25KNG9QMWh2VzdBamdHaEY3OFlmL01XM3lNRjlJclRQQ0tkb3JX?= =?utf-8?B?NWVxWEhWTkFrMXBqcG1EUGJXdklQSE5lTCtPVGZja3p1dG9kUDJhTFN0VndX?= =?utf-8?B?Mkd0NWw0d0c1V3kremlzKy9Ob1hHL1ppN1NTOWttZWJFL1BXKzgrQU5VM0No?= =?utf-8?B?QUNKb1UwZ1RSQlFicUhuRHpFUmhqZFVKMGUzdUVpOGVnakRiVng0eFJlZmRz?= =?utf-8?B?VnpUZmsvWW9mSnJYUmtpRXZIRjdNRndpdzZlWVQwM2VNVDdRN09rWGovYkhI?= =?utf-8?Q?AFxL2C69fIO+Of/?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7957.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b425c4f3-729e-4d02-4558-08dbe1780488 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2023 23:02:59.1199 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: guxaM5lb0sy8b0256LFEN93ulvjUfBgd5OvuygT7lYuc2jbC7X0JQWhwhPayoNOYtWviTjfXNovLjsJV/IoThA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6274 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-09_16,2023-11-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 spamscore=0 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311090168 X-Proofpoint-ORIG-GUID: EZ8tJ3VPR6eJlDP1o2zT5ORbmwi6QqPc X-Proofpoint-GUID: EZ8tJ3VPR6eJlDP1o2zT5ORbmwi6QqPc X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_ASCII_DIVIDERS,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGksDQoNCkkgYWRkZWQgdGhlIEJQRiByZWxhdGVkIGlzc3VlIGFuZCB0aGUgc29sdXRpb24gaW4g dGhlIHNlY3Rpb24gQXBwZW5kaXggNCBLbm93biBpc3N1ZXMuIA0KTm8gY2hhbmdlIHRvIG90aGVy IHBhcnRzLiANCg0KU2VuZCB0aGlzIFYzIGZvciByZWNvcmQgcHVycG9zZS4NCg0KUWluZw0KDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJlcHJlc2VudCB0aGUgbWlzc2luZyBkZXBlbmRlbmNlIGZvciB0aGUgImNvdW50ZWRfYnki IGF0dHJpYnV0ZSBhbmQgaXRzIGNvbnN1bWVycyANCg0KUWluZyBaaGFvDQoNCjExLzA5LzIwMjMN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KVGhlIHdo b2xlIGRpc2N1c3Npb24gaXMgYXQ6DQpodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2Mt cGF0Y2hlcy8yMDIzLU9jdG9iZXIvNjMzNzgzLmh0bWwNCmh0dHBzOi8vZ2NjLmdudS5vcmcvcGlw ZXJtYWlsL2djYy1wYXRjaGVzLzIwMjMtT2N0b2Jlci82MzQ4NDQuaHRtbA0KaHR0cHM6Ly9nY2Mu Z251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1Ob3ZlbWJlci82MzUzOTcuaHRtbA0K DQoxLiBUaGUgcHJvYmxlbQ0KDQpUaGVyZSBpcyBhIGRhdGEgZGVwZW5kZW5jeSBiZXR3ZWVuIHRo ZSBzaXplIGFzc2lnbm1lbnQgYW5kIHRoZSBpbXBsaWNpdCB1c2Ugb2YgdGhlIHNpemUgaW5mb3Jt YXRpb24gaW4gdGhlIF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplIHRoYXQgaXMgbWlzc2lu ZyBpbiB0aGUgSUwgKGxpbmUgMTEgYW5kIGxpbmUgMTMgaW4gdGhlIGJlbG93IGV4YW1wbGUpLiBT dWNoIGluZm9ybWF0aW9uIG1pc3Npbmcgd2lsbCByZXN1bHQgaW5jb3JyZWN0IGNvZGUgcmVvcmRl cmluZyBhbmQgb3RoZXIgY29kZSB0cmFuc2Zvcm1hdGlvbnMuIA0KDQogIDEgc3RydWN0IEENCiAg MiB7DQogIDMgIHNpemVfdCBzaXplOw0KICA0ICBjaGFyIGJ1ZltdIF9fYXR0cmlidXRlX18oKGNv dW50ZWRfYnkoc2l6ZSkpKTsNCiAgNSB9Ow0KICA2IA0KICA3IHNpemVfdCANCiAgOCBmb28gKHNp emVfdCBzeikNCiAgOSB7DQogMTAgIHN0cnVjdCBBICpvYmogPSBfX2J1aWx0aW5fbWFsbG9jIChz aXplb2Yoc3RydWN0IEEpICsgc3ogKiBzaXplb2YoY2hhcikpOw0KIDExICBvYmotPnNpemUgPSBz ejsNCiAxMiAgb2JqLT5idWZbMF0gPSAyOw0KIDEzICByZXR1cm4gX19idWlsdGluX2R5bmFtaWNf b2JqZWN0X3NpemUgKG9iai0+YnVmLCAxKTsNCiAxNCB9DQogIA0KUGxlYXNlIHNlZSBhIG1vcmUg Y29tcGxpY2F0ZSBleGFtcGxlIGluIHRoZSBBcHBlbmRleCAxLg0KDQpXZSBuZWVkIHRvIHJlcHJl c2VudCBzdWNoIGRhdGEgZGVwZW5kZW5jeSBjb3JyZWN0bHkgaW4gdGhlIElMLiANCg0KMi4gVGhl IHNvbHV0aW9uOg0KDQoyLjEgU3VtbWFyeQ0KDQoqIEFkZCBhIG5ldyBpbnRlcm5hbCBmdW5jdGlv biAiLkFDQ0VTU19XSVRIX1NJWkUiIHRvIGNhcnJ5IHRoZSBzaXplIGluZm9ybWF0aW9uIGZvciBl dmVyeSByZWZlcmVuY2UgdG8gYSBGQU0gZmllbGQ7DQoqIEluIEMgRkUsIFJlcGxhY2UgZXZlcnkg cmVmZXJlbmNlIHRvIGEgRkFNIGZpZWxkIHdob3NlIFRZUEUgaGFzIHRoZSAiY291bnRlZF9ieSIg YXR0cmlidXRlIHdpdGggdGhlIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiAiLkFDQ0VTU19XSVRIX1NJ WkUiOw0KKiBJbiBldmVyeSBjb25zdW1lciBvZiB0aGUgc2l6ZSBpbmZvcm1hdGlvbiwgZm9yIGV4 YW1wbGUsIEJET1Mgb3IgYXJyYXkgYm91bmQgc2FuaXRpemVyLCBxdWVyeSB0aGUgc2l6ZSBpbmZv cm1hdGlvbiBvciBBQ0NFU1NfTU9ERSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBuZXcgaW50ZXJuYWwg ZnVuY3Rpb247DQoqIFdoZW4gdGhlIHNpemUgaW5mb3JtYXRpb24gYW5kIHRoZSAiQUNDRVNTX01P REUiIGluZm9ybWF0aW9uIGFyZSBub3QgdXNlZCBhbnltb3JlLCBwb3NzaWJseSBhdCB0aGUgMm5k IG9iamVjdCBzaXplIHBoYXNlLCByZXBsYWNlIHRoZSBpbnRlcm5hbCBmdW5jdGlvbiB3aXRoIHRo ZSBhY3R1YWwgcmVmZXJlbmNlIHRvIHRoZSBGQU0gZmllbGQ7IA0KKiBTb21lIGFkanVzdG1lbnQg dG8gaW5saW5pbmcgaGV1cmlzdGljLCBpcGEgYWxpYXMgYW5hbHlzaXMsIGFuZCBvdGhlciBTU0Eg cGFzc2VzIHRvIG1pdGlnYXRlIHRoZSBpbXBhY3QgdG8gdGhlIG9wdGltaXplciBhbmQgY29kZSBn ZW5lcmF0aW9uLiANCg0KMi4yIFRoZSBuZXcgaW50ZXJuYWwgZnVuY3Rpb24gDQoNCiAgLkFDQ0VT U19XSVRIX1NJWkUgKFJFRl9UT19PQkosIFJFRl9UT19TSVpFLCBDTEFTU19PRl9TSVpFLCBTSVpF X09GX1NJWkUsIEFDQ0VTU19NT0RFKQ0KDQpJTlRFUk5BTF9GTiAoQUNDRVNTX1dJVEhfU0laRSwg RUNGX0xFQUYgfCBFQ0ZfTk9USFJPVywgTlVMTCkNCg0Kd2hpY2ggcmV0dXJucyB0aGUgIlJFRl9U T19PQkoiIHNhbWUgYXMgdGhlIDFzdCBhcmd1bWVudDsNCg0KMXN0IGFyZ3VtZW50ICJSRUZfVE9f T0JKIjogVGhlIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0Ow0KMm5kIGFyZ3VtZW50ICJSRUZfVE9f U0laRSI6IFRoZSByZWZlcmVuY2UgdG8gdGhlIHNpemUgb2YgdGhlIG9iamVjdCwgDQozcmQgYXJn dW1lbnQgIkNMQVNTX09GX1NJWkUiOiBUaGUgc2l6ZSByZWZlcmVuY2VkIGJ5IHRoZSBSRUZfVE9f U0laRSByZXByZXNlbnRzIA0KICAgMDogdW5rbm93bjsNCiAgIDE6IHRoZSBudW1iZXIgb2YgdGhl IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgdHlwZTsNCiAgIDI6IHRoZSBudW1iZXIgb2YgYnl0ZXM7 IA0KNHRoIGFyZ3VtZW50ICJTSVpFX09GX1NJWkUiOiBob3cgbWFueSBieXRlcyBpcyB0aGUgb2Jq ZWN0IHRoYXQgUkVGX1RPX1NJWkUgcG9pbnRzOw0KNXRoIGFyZ3VtZW50ICJBQ0NFU1NfTU9ERSI6 IA0KICAtMTogVW5rbm93biBhY2Nlc3Mgc2VtYW50aWNzDQogICAwOiBub25lDQogICAxOiByZWFk X29ubHkNCiAgIDI6IHdyaXRlX29ubHkNCiAgIDM6IHJlYWRfd3JpdGUNCg0KTk9URXMsIA0KICBB LiBUaGlzIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiBpcyBpbnRlbmRlZCBmb3IgYSBtb3JlIGdlbmVy YWwgdXNlIGZyb20gYWxsIHRoZSAzIGF0dHJpYnV0ZXMsICJhY2Nlc3MiLCAiYWxsb2Nfc2l6ZSIs IGFuZCB0aGUgbmV3ICJjb3VudGVkX2J5IiwgdG8gZW5jb2RlIHRoZSAic2l6ZSIgYW5kICJhY2Nl c3NfbW9kZSIgaW5mb3JtYXRpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgcG9pbnRlci4gKGluIG9y ZGVyIHRvIHJlc29sdmUgUFI5NjUwMywgZXRjLiBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD05NjUwMyk7DQogIEIuIEZvciAiY291bnRlZF9ieSIgdGhlIDNyZCBh cmd1bWVudCB3aWxsIGJlIDE7DQogIEMuIEZvciAiY291bnRlZF9ieSIgYW5kICJhbGxvY19zaXpl IiBhdHRyaWJ1dGVzLCB0aGUgNXRoIGFyZ3VtZW50IHdpbGwgYmUgLTE7ICAgDQogIEQuIEluIHRo aXMgd3JpZXVwLCB3ZSBmb2N1cyBvbiB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyBmb3IgdGhl ICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUuIEhvd2V2ZXIsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJl IHJlYWR5IHRvIGJlIHVzZWQgYnkgImFjY2VzcyIgYW5kICJhbGxvY19zaXplIiB3aXRob3V0IGlz c3VlLiANCg0KMi4zIEEgbmV3IHNlbWFudGljIHJlcXVpcmVtZW50IGluIHRoZSB1c2VyIGRvY3Vt ZW50YXRpb24gb2YgImNvdW50ZWRfYnkiDQoNCkZvciB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZSBp bmNsdWRpbmcgYSBGQU0gd2l0aCBhIGNvdW50ZWRfYnkgYXR0cmlidXRlOg0KDQogIHN0cnVjdCBB DQogIHsNCiAgIHNpemVfdCBzaXplOw0KICAgY2hhciBidWZbXSBfX2F0dHJpYnV0ZV9fKChjb3Vu dGVkX2J5KHNpemUpKSk7DQogIH07DQoNCmZvciBhbnkgb2JqZWN0IHdpdGggc3VjaCB0eXBlOg0K DQogIHN0cnVjdCBBICpvYmogPSBfX2J1aWx0aW5fbWFsbG9jIChzaXplb2Yoc3RydWN0IEEpICsg c3ogKiBzaXplb2YoY2hhcikpOw0KDQpUaGUgaW5pdGlhbGl6YXRpb24gdG8gdGhlIHNpemUgZmll bGQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHRoZSBmaXJzdCByZWZlcmVuY2UgdG8gdGhlIEZBTSBm aWVsZCwNCk90aGVyd2lzZSwgdGhlIGJlaGF2aW9yIGlzIHVuZGVmaW5lZC4NClN1Y2ggYWRkaXRp b25hbCByZXF1aXJlbWVudCB0byB0aGUgdXNlciB3aWxsIGd1YXJhbnRlZSB0aGF0IHRoZSBmaXJz dCByZWZlcmVuY2UgdG8gdGhlIEZBTSBrbm93cyB0aGUgc2l6ZSBvZiB0aGUgRkFNLiAgDQoNCkFu b3RoZXIgdGhpbmcgdGhhdCBuZWVkIHRvIGJlIGNsYXJpZmllZCBpczoNCkEgbGF0ZXIgcmVmZXJl bmNlIHRvIHRoZSBGQU0gZmllbGQgd2lsbCB1c2UgdGhlIGxhdGVzdCB2YWx1ZSBhc3NpZ25lZCB0 byB0aGUgc2l6ZSBmaWVsZCBiZWZvcmUgdGhhdCByZWZlcmVuY2UuIEZvciBleGFtcGxlLCANCiBv YmotPnNpemUgPSB2YWwxOw0KIHJlZjEgKG9iai0+YnVmKTsNCiBvYmotPnNpemUgPSB2YWwyOw0K IHJlZjIgKG9iai0+YnVmKTsNCmluIHRoZSBhYm92ZSwgInJlZjEiIHdpbGwgdXNlIHZhbDEgYW5k ICJyZWYyIiB3aWxsIHVzZSB2YWwyLiANClRoaXMgY2xhcmlmaWNhdGlvbiB3aWxsIGluZm9ybSB1 c2VyIHRoYXQgdGhlIGR5bmFtaWMgYXJyYXkgZmVhdHVyZSBpcyBmdWxseSBzdXBwb3J0ZWQuDQoN CldlIG5lZWQgdG8gYWRkIHRoZSBhYm92ZSBhZGRpdGlvbmFsIHJlcXVpcmVtZW50IGFuZCBjbGFy aWZpY2F0aW9uIHRvIHRoZSB1c2VyIGRvY3VtZW50YXRpb24uDQpUaGUgY29tcGxldGUgdXNlciBk b2N1bWVudGF0aW9uIGlzIGluIEFwcGVuZGl4IDIuIA0KDQoyLjQgUmVwbGFjZSB0aGUgcmVmZXJl bmNlIHRvIGEgRkFNIGZpZWxkIHdpdGggdGhlIG5ldyBmdW5jdGlvbiAuQUNDRVNTX1dJVEhfU0la RQ0KDQpJbiBDIEZFOg0KDQpmb3IgZXZlcnkgcmVmZXJlbmNlIHRvIGEgRkFNLCBmb3IgZXhhbXBs ZSwgIm9iai0+YnVmIiBpbiB0aGUgc21hbGwgZXhhbXBsZSwNCiAgY2hlY2sgd2hldGhlciB0aGUg Y29ycmVzcG9uZGluZyBGSUVMRF9ERUNMIGhhcyBhICJjb3VudGVkX2J5IiBhdHRyaWJ1dGU/DQog IGlmIFlFUywgcmVwbGFjZSB0aGUgcmVmZXJlbmNlIHRvICJvYmotPmJ1ZiIgd2l0aCBhIGNhbGwg dG8NCiAgICAgIC5BQ0NFU1NfV0lUSF9TSVpFIChvYmotPmJ1ZiwgJm9iai0+c2l6ZSwgMSwgc2l6 ZW9mKG9iai0+c2l6ZSksIC0xKTsgDQoNClRoaXMgaW5jbHVkZXMgdGhlIGNhc2Ugd2hlbiB0aGUg b2JqZWN0IGlzIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGFuZCBpbml0aWFsaXplZCBhcyBmb2xsb3dp bmcgZXhhbXBsZToNCg0Kc3RhdGljIHN0cnVjdCBBIHggPSB7IHNpemVvZiAiaGVsbG8iLCAiaGVs bG8iIH07DQpzdGF0aWMgY2hhciAqeSA9ICZ4LmJ1ZjsNCg0KVGhlIHJlZmVyZW5jZSB0byB4LmJ1 ZiBzaG91bGQgYmUgcmVwbGFjZWQgYnkgdGhlIC5BQ0NFU1NfV0lUSF9TSVpFICgmeC5idWYsICZ4 LnNpemUsIDEsIHNpemVvZih4LnNpemUpLCAtMSkuDQoNCg0KMi41IFF1ZXJ5IHRoZSBzaXplIGlu Zm8gDQoNClRoZXJlIGFyZSBtdWx0aXBsZSBjb25zdW1lcnMgb2YgdGhlIHNpemUgaW5mbyAoYW5k IEFDQ0VTU19NT0RFIGluZm8pOg0KDQogICogX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemU7 DQogICogYXJyYXkgYm91bmQgc2FuaXRpemVyOw0KDQppbiB0aGVzZSBjb25zdW1lcnMsIGdldCB0 aGUgc2l6ZSBpbmZvIGZyb20gdGhlIDJuZCwgM3JkLCBhbmQgNHRoIGFyZ3VtZW50cyBvZiB0aGUg Y2FsbCB0bw0KQUNDRVNTX1dJVEhfU0laRSAoUkVGX1RPX09CSiwgUkVGX1RPX1NJWkUsIDEsIHNp emVvZihTSVpFKSwgLTEpDQoNCjIuNiBFbGltaW5hdGUgdGhlIGludGVybmFsIGZ1bmN0aW9uIHdo ZW4gbm90IHVzZWZ1bCBhbnltb3JlDQoNCkFmdGVyIHRoZSBsYXN0IGNvbnN1bWVyIG9mIHRoZSBz aXplIGluZm9ybWF0aW9uIGluIHRoZSBBQ0NFU1NfV0lUSF9TSVpFLCBXZSBzaG91bGQgcmVwbGFj ZSB0aGUgaW50ZXJuYWwgY2FsbCB3aXRoIGl0cyBmaXJzdCBhcmd1bWVudC4NCg0KRG8gaXQgaW4g dGhlIDJuZCBvYmplY3Qgc2l6ZSBwaGFzZS4gDQoNCjIuNyBBZGp1c3RtZW50IHRvIGlubGluaW5n IGhldXJpc3RpYywgSVBBIGFsaWFzIGFuYWx5c2lzIGFuZCBvdGhlciBJUEEgYW5hbHlzaXMNCg0K dGhlIEZFIGNoYW5nZXM6DQoNCm9iai0+YnVmDQoNCnRvDQoNCl8xID0gb2JqLT5idWY7DQpfMiA9 ICYob2JqLT5zaXplKTsNCi5BQ0NFU1NfV0lUSF9TSVpFIChfMSwgXzIsIDEsIHNpemVvZiAob2Jq LT5zaXplKSwgLTEpDQoNCnRoZXJlIGFyZSBtYWpvciB0d28gY2hhbmdlczoNCg0KICBBLiB0aGUg IyBvZiBJbnNucyBvZiB0aGUgcm91dGluZSB3aWxsIGJlIGluY3JlYXNlZCwNCiAgQi4gYWRkaXRp b25hbCBjYWxscyB0byBhbiBub24tcHVyZSBpbnRlcm5hbCByb3V0aW5lcy4NCg0KSW4gb3JkZXIg dG8gbWluaW1pemUgdGhlIGltcGFjdCBvbiBjb2RlIGdlbmVyYXRpb24gYW5kIG9wdGltaXphaXRv bnMsIFdlIG1pZ2h0IG5lZWQgdG8NCg0KICAqIEFkanVzdCBJbmxpbmluZyBkZWNpc2lvbiB0byBp Z25vcmUgdGhlIGFkZGl0aW9uYWwgaW5zbnMgYW5kIGNhbGxzOw0KICAqIEFkanVzdCB0aGUgcm91 dGluZSAiY2FsbF9tYXlfY2xvYmJlcl9yZWZfcF8xIiBpbiB0cmVlLXNzYS1hbGlhcy5jYyB0byBl eGNsdWRlIHRoZSBuZXcgaW50ZXJuYWwgLkFDQ0VTU19XSVRIX1NJWkUgZnJvbSBjbG9iYmVyaW5n IGFueXRoaW5nLiANCg0KDQozLiBUaGUgcGF0Y2ggc2V0czoNCg0KV2Ugd2lsbCBwcm92aWRlIHRo ZSBmb2xsb3dpbmcgcGF0Y2hlczoNCg0KICAzLjEgUHJvdmlkZSBjb3VudGVkX2J5IGF0dHJpYnV0 ZSB0byBmbGV4aWJsZSBhcnJheSBtZW1iZXIgZmllbGQ7DQogICAgICB3aGljaCBpbmNsdWRlczoN CiAgICAgICogImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSBkb2N1bWVudGF0aW9uOyAgDQogICAgICAq IEMgRkUgaGFuZGxpbmcgb2YgdGhlIG5ldyBhdHRyaWJ1dGU7IA0KICAgICAgICBzeW50YXggY2hl Y2tpbmcsIGVycm9yIHJlcG9ydGluZzsNCiAgICAgICogdGVzdGluZyBjYXNlczsgKGFkaXRpb25h bCB0ZXN0aW5nIGNhc2VzIGZvciBzdGF0aWNseSBpbml0aWFsaXplZCBvYmplY3QpDQoNCiAgMy4y IENvbnZlcnQgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSB0by9mcm9tIC5BQ0NFU1NfV0lUSF9TSVpF LiAgDQogICAgICB3aGljaCBpbmNsdWRlczoNCiAgICAgICogVGhlIGRlZmluaXRpb24gb2YgdGhl IG5ldyBpbnRlcm5hbCBmdW5jdGlvbiAuQUNDRVNTX1dJVEhfU0laRSBpbiBpbnRlcm5hbC1mbi5k ZWYuIA0KICAgICAgKiBDIEZFIGNvbnZlcnRzIGV2ZXJ5IHJlZmVyZW5jZSB0byBhIEZBTSB3aXRo ICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUgdG8gYSBjYWxsIHRvIHRoZSBpbnRlcm5hbCBmdW5jdGlv biAuQUNDRVNTX1dJVEhfU0laRS4NCiAgICAgICAgKGJ1aWxkX2NvbXBvbmVudF9yZWYgaW4gY190 eXBlY2suY2MpDQogICAgICAqIENvbnZlcnQgZXZlcnkgY2FsbCB0byAuQUNDRVNTX1dJVEhfU0la RSB0byBpdHMgZmlyc3QgYXJndW1lbnQuDQogICAgICAgIChBZnRlciB0aGUgc2l6ZSBhbmQgYWNj ZXNzX21vZGUgaW5mb3JtYXRpb24gYXJlIHVzZWQgaW4gdGhlIDJuZCBvYmplY3Qgc2l6ZSBwaGFz ZSwgd2UgbmVlZCB0byBjb252ZXJ0IC5BQ0NFU1NfV0lUSF9TSVpFIGJhY2sgdG8gaXRzIGZpcnN0 IGFyZ3VtZW50IGFzIHNvb24gYXMgcG9zc2libGUgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIGlt cGFjdCB0byBvdGhlciBwaGFzZXMgYWZ0ZXIgb2JqZWN0IHNpemUgcGhhc2UuIFNvLCBkbyB0aGlz IGluIHRoZSBlbmQgb2YgdGhlIDJuZCBvYmplY3Qgc2l6ZSBwaGFzZSkNCiAgICAgICogYWRqdXN0 IGlubGluaW5nIGhldXJpc3RpYyBmb3IgdGhlIGFkZGl0aW9uYWwgY2FsbC4gDQogICAgICAqIGFk anVzdCBhbGlhcyBhbmFseXNpcyB0byBleGNsdWRlIHRoZSBuZXcgaW50ZXJuYWwgZnJvbSBjbG9i YmVyaW5nIGFueXRoaW5nLg0KICAgICAgICAoY2FsbF9tYXlfY2xvYmJlcl9yZWZfcF8xIGluIHRy ZWUtc3NhLWFsaWFzLmNjKQ0KICAgICAgKiB2ZXJpZnkgYSBjYWxsIHRvIC5BQ0NFU1NfV0lUSF9T SVpFIGluIHRyZWUtY2ZnLmNjLg0KICAgICAgKiBwcm92aWRlIHV0aWxpdHkgcm91dGluZXMgdG8g Z2V0IHRoZSBzaXplIG9yIEFDQ0VTU19NT0RFIGZyb20gdGhlIGNhbGwgdG8gLkFDQ0VTU19XSVRI X1NJWkUuIA0KDQogIDMuMyBVc2UgdGhlIC5BQ0NFU1NfV0lUSF9TSVpFIGluIGJ1aWx0aW4gb2Jq ZWN0IHNpemUgKHN1Yi1vYmplY3Qgb25seSkNCiAgICAgIHdoaWNoIGluY2x1ZGVzOiANCiAgICAg ICogdXNlIHRoZSBzaXplIGluZm8gb2YgdGhlIC5BQ0NFU1NfV0lUSF9TSVpFIGZvciBzdWItb2Jq ZWN0Lg0KICAgICAgKiB0ZXN0aW5nIGNhc2VzLiAoYWRkaXRpb25hbCB0ZXN0aW5nIGNhc2VzIGZv ciBkeW5hbWljIGFycmF5IHN1cHBvcnQpDQoNCiAgMy40IFVzZSB0aGUgLkFDQ0VTU19XSVRIX1NJ WkUgaW4gYm91bmQgc2FuaXRpemVyDQogICAgICB3aGljaCBpbmNsdWRlczoNCiAgICAgICogdXNl IHRoZSBzaXplIGluZm8gb2YgdGhlIC5BQ0NFU1NfV0lUSF9TSVpFIGZvciBib3VuZCBzYW5pdGl6 ZXIuDQogICAgICAqIHRlc3RpbmcgY2FzZXMuIChhZGRpdGlvbmFsIHRlc3RpbmcgY2FzZXMgZm9y IGR5bmFtaWMgYXJyYXkgc3VwcG9ydCkNCg0KICAzLjUgSW1wcm92ZSBfX2Jkb3MgdG8gdXNlIHRo ZSBjb3VudGVkX2J5IGluZm8gaW4gd2hvbGUtb2JqZWN0IHNpemUgZm9yIHRoZSBzdHJ1Y3R1cmUg d2l0aCBGQU0uIA0KICAzLjYgRW1pdCB3YXJuaW5ncyB3aGVuIHRoZSB1c2VyIGJyZWFrcyB0aGUg cmVxdWlybWVudHMgZm9yIHRoZSBuZXcgY291bnRlZF9ieSBhdHRyaWJ1dGUNCiAgICAgIGNvbXBp bGF0aW9uIHRpbWU6IC1XY291bnRlZC1ieQ0KICAgICAgcnVuIHRpbWU6IC1mc2FuaXRpemVyPWNv dW50ZWQtYnkNCiAgICAgIA0KICAgICAgKiBUaGUgaW5pdGlhbGl6YXRpb24gdG8gdGhlIHNpemUg ZmllbGQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHRoZSBmaXJzdCByZWZlcmVuY2UgdG8gdGhlIEZB TSBmaWVsZC4gDQogICAgICAqIHRoZSBhcnJheSBoYXMgYXQgbGVhc3QgIyBvZiBlbGVtZW50cyBz cGVjaWZpZWQgYnkgdGhlIHNpemUgZmllbGQgYWxsIHRoZSB0aW1lIGR1cmluZyB0aGUgcHJvZ3Jh bS4gIA0KIA0KDQo0LiBGdXR1cmUgd29yaw0KICANCiAgNC4xIFVzZSB0aGUgbmV3IC5BQ0NFU1Nf V0lUSF9TSVpFIGZvciBvdGhlciByZWxhdGl2ZSBhdHRyaWJ1dGVzLCBmb3IgZXhhbXBsZSwgImFj Y2VzcyIgYW5kICJhbGxvY19zaXplIiwgdG8gcmVzb2x2ZSB0aGUga25vd24gaXNzdWVzIGZvciB0 aGVtOg0KDQpodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD05NjUw Mw0KDQogIDQuMiBBZGQgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSB0byBnZW5lcmFsIHBvaW50ZXJz IGFzIHByb3Bvc2VkIGJ5IHRoZSAtZmJvdW5kcy1zYWZldHkgcHJvcG9zYWwgdG8gTExWTSBmcm9t IEFwcGxlIChodHRwczovL2Rpc2NvdXJzZS5sbHZtLm9yZy90L3JmYy1lbmZvcmNpbmctYm91bmRz LXNhZmV0eS1pbi1jLWZib3VuZHMtc2FmZXR5LzcwODU0KS4gIA0KDQp0aGUgLkFDQ0VTU19XSVRI X1NJWkUgYXBwcm9hY2ggc2hvdWxkIGJlIGFkb3B0ZWQgbmF0dXJhbGx5LiANCg0KDQpBcHBlbmRl eCAxLiBBIG1vcmUgY29tcGxpY2F0ZWQgZXhhbXBsZTogDQoNCiAgMSAjaW5jbHVkZSA8bWFsbG9j Lmg+DQogIDIgc3RydWN0IEENCiAgMyB7DQogIDQgIHNpemVfdCBzaXplOw0KICA1ICBjaGFyIGJ1 ZltdIF9fYXR0cmlidXRlX18oKGNvdW50ZWRfYnkoc2l6ZSkpKTsNCiAgNiB9Ow0KICA3IA0KICA4 IHN0YXRpYyBzaXplX3QNCiAgOSBnZXRfc2l6ZV9mcm9tICh2b2lkICpwdHIpDQogMTAgew0KIDEx ICByZXR1cm4gX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUgKHB0ciwgMSk7DQogMTIgfQ0K IDEzIA0KIDE0IHZvaWQNCiAxNSBmb28gKHNpemVfdCBzeikNCiAxNiB7DQogMTcgIHN0cnVjdCBB ICpvYmogPSBfX2J1aWx0aW5fbWFsbG9jIChzaXplb2Yoc3RydWN0IEEpICsgc3ogKiBzaXplb2Yo Y2hhcikpOw0KIDE4ICBvYmotPnNpemUgPSBzejsNCiAxOSAgb2JqLT5idWZbMF0gPSAyOw0KIDIw ICBfX2J1aWx0aW5fcHJpbnRmICjigJwlZFxuIiwgZ2V0X3NpemVfZnJvbSAob2JqLT5idWYpKTsN CiAyMSAgcmV0dXJuOw0KIDIyIH0NCiAyMyANCiAyNCBpbnQgbWFpbiAoKQ0KIDI1IHsNCiAyNiAg Zm9vICgyMCk7DQogMjcgIHJldHVybiAwOw0KIDI4IH0NCg0KSW4gdGhpcyBleGFtcGxlLCB0aGUg aW5zdGFudGlhdGlvbiBvZiB0aGUgb2JqZWN0IGF0IGxpbmUgMTcgaXMgbm90IGluIHRoZSBzYW1l IHJvdXRpbmUgYXMgdGhlIF9CRE9TIGNhbGwgYXQgbGluZSAxMS4gDQoNCkFwcGVuZGV4IDIuIFRo ZSB1c2VyIGRvY3VtZW50YXRpb246DQoNCidjb3VudGVkX2J5IChDT1VOVCknDQogICAgIFRoZSAn Y291bnRlZF9ieScgYXR0cmlidXRlIG1heSBiZSBhdHRhY2hlZCB0byB0aGUgZmxleGlibGUgYXJy YXkNCiAgICAgbWVtYmVyIG9mIGEgc3RydWN0dXJlLiAgSXQgaW5kaWNhdGVzIHRoYXQgdGhlIG51 bWJlciBvZiB0aGUNCiAgICAgZWxlbWVudHMgb2YgdGhlIGFycmF5IGlzIGdpdmVuIGJ5IHRoZSBm aWVsZCBuYW1lZCAiQ09VTlQiIGluIHRoZQ0KICAgICBzYW1lIHN0cnVjdHVyZSBhcyB0aGUgZmxl eGlibGUgYXJyYXkgbWVtYmVyLiAgR0NDIHVzZXMgdGhpcw0KICAgICBpbmZvcm1hdGlvbiB0byBp bXByb3ZlIHRoZSByZXN1bHRzIG9mIHRoZSBhcnJheSBib3VuZCBzYW5pdGl6ZXIgYW5kDQogICAg IHRoZSAnX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUnLg0KDQogICAgIEZvciBpbnN0YW5j ZSwgdGhlIGZvbGxvd2luZyBjb2RlOg0KDQogICAgICAgICAgc3RydWN0IFAgew0KICAgICAgICAg ICAgc2l6ZV90IGNvdW50Ow0KICAgICAgICAgICAgY2hhciBvdGhlcjsNCiAgICAgICAgICAgIGNo YXIgYXJyYXlbXSBfX2F0dHJpYnV0ZV9fICgoY291bnRlZF9ieSAoY291bnQpKSk7DQogICAgICAg ICAgfSAqcDsNCg0KICAgICBzcGVjaWZpZXMgdGhhdCB0aGUgJ2FycmF5JyBpcyBhIGZsZXhpYmxl IGFycmF5IG1lbWJlciB3aG9zZSBudW1iZXINCiAgICAgb2YgZWxlbWVudHMgaXMgZ2l2ZW4gYnkg dGhlIGZpZWxkICdjb3VudCcgaW4gdGhlIHNhbWUgc3RydWN0dXJlLg0KDQogICAgIFRoZSBmaWVs ZCB0aGF0IHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiB0aGUgZWxlbWVudHMgc2hvdWxkIGhhdmUg YW4NCiAgICAgaW50ZWdlciB0eXBlLiBPdGhlcndpc2UsIHRoZSBjb21waWxlciB3aWxsIHJlcG9y dCBhIHdhcm5pbmcgYW5kIGlnbm9yZSANCiAgICAgdGhlIGF0dHJpYnV0ZS4NCg0KICAgICBBbiBl eHBsaWNpdCAnY291bnRlZF9ieScgYW5ub3RhdGlvbiBkZWZpbmVzIGEgcmVsYXRpb25zaGlwIGJl dHdlZW4NCiAgICAgdHdvIG9iamVjdHMsICdwLT5hcnJheScgYW5kICdwLT5jb3VudCcsIGFuZCB0 aGVyZSBhcmUgdGhlIGZvbGxvd2luZw0KICAgICByZXF1aXJlbWVudHRoYXQgb24gdGhlIHJlbGF0 aW9uc2hpcCBiZXR3ZWVuIHRoaXMgcGFpcjoNCg0KICAgICBBLiAncC0+Y291bnQnIHNob3VsZCBi ZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0byANCiAgICAgICAgJ3At PmFycmF5Jy4NCiAgICAgQi4gInAtPmFycmF5JyBoYXMgX2F0IGxlYXN0XyAncC0+Y291bnQnIG51 bWJlciBvZiBlbGVtZW50cyBhdmFpbGFibGUNCiAgICAgICAgYWxsIHRoZSB0aW1lLg0KICAgICAg ICBUaGlzIHJlcXVpcmVtZW50IG11c3QgaG9sZCBldmVuIGFmdGVyIGFueSBvZiB0aGVzZSByZWxh dGVkIG9iamVjdHMNCiAgICAgICAgYXJlIHVwZGF0ZWQgZHVyaW5nIHRoZSBwcm9ncmFtLg0KDQog ICAgIEl0J3MgdGhlIHVzZXIncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgdGhlIGFib3Zl IHJlcXVpcm1lbnRzIHRvIA0KICAgICBiZSBrZXB0IGFsbCB0aGUgdGltZS4gIE90aGVyd2lzZSB0 aGUgY29tcGlsZXIgd2lsbCByZXBvcnQgd2FybmluZ3MsIA0KICAgICBhdCB0aGUgc2FtZSB0aW1l LCB0aGUgcmVzdWx0cyBvZiB0aGUgYXJyYXkgYm91bmQgc2FuaXRpemVyIGFuZCB0aGUNCiAgICAg J19fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplJyBpcyB1bmRlZmluZWQuIA0KDQogICAgIE9u ZSBpbXBvcnRhbnQgZmVhdHVyZSBvZiB0aGUgYXR0cmlidXRlIGlzLCBBIHJlZmVyZW5jZSB0byB0 aGUgZmxleGlibGUNCiAgICAgYXJyYXkgbWVtYmVyIGZpZWxkIHdpbGwgdXNlIHRoZSBsYXRlc3Qg dmFsdWUgYXNzaWduZWQgdG8gdGhlIGZpZWxkIHRoYXQNCiAgICAgcmVwcmVzZW50IHRoZSBudW1i ZXIgb2YgdGhlIGVsZW1lbnRzIGJlZm9yZSB0aGF0IHJlZmVyZW5jZS4gRm9yIGV4YW1wbGUsDQog ICAgICAgcC0+Y291bnQgPSB2YWwxOw0KICAgICAgIHJlZjEgKHAtPmFycmF5KTsNCiAgICAgICBw LT5jb3VudCA9IHZhbDI7DQogICAgICAgcmVmMiAocC0+YXJyYXkpOw0KICAgICBpbiB0aGUgYWJv dmUsICdyZWYxJyB3aWxsIHVzZSAndmFsMScgYXMgdGhlIG51bWJlciBvZiB0aGUgZWxlbWVudHMg aW4NCiAgICAgJ3AtPmFycmF5JywgYW5kICJyZWYyIiB3aWxsIHVzZSAndmFsMicgYXMgdGhlIG51 bWJlciBvZiBlbGVtZW50cyBpbg0KICAgICAncC0+YXJyYXknLg0KDQoNCkFwcGVuZGV4IDMuIE90 aGVyIGFwcHJvYWNoZXMgdGhhdCBoYXZlIGJlZW4gZGlzY3Vzc2VkOg0KDQpBLiAgQWRkIGFuIGFk ZGl0aW9uYWwgYXJndW1lbnQsIHRoZSBzaXplIHBhcmFtZXRlciwgdG8gdGhlIGNhbGwgdG8gX19i ZG9zLCANCiAgICAgIEEuMSwgZHVyaW5nIEZFOw0KICAgICAgQS4yLCBkdXJpbmcgZ2ltcGxpZmlj YXRpb24gcGhhc2U7DQpCLiAgRW5jb2RlIHRoZSBpbXBsaWNpdCBVU0UgaW4gdGhlIHR5cGUgb2Yg c2l6ZSwgdG8gbWFrZSB0aGUgc2l6ZSBhcyDigJx2b2xhdGlsZeKAnTsNCkMuICBFbmNvZGUgdGhl IGltcGxpY2l0IFVTRSBpbiB0aGUgdHlwZSBvZiBidWYsIHRoZW4gdXBkYXRlIHRoZSBvcHRpbWl6 YXRpb24gcGFzc2VzIHRvIHVzZSB0aGlzIGltcGxpY2l0IFVTRSBlbmNvZGVkIGluIHRoZSB0eXBl IG9mIGJ1Zi4NCg0KKiogQXBwcm9hY2ggQSAoYm90aCBBLjEgYW5kIEEuMikgd2lsbCBub3Qgd29y ayBpZiB0aGUgb2JqZWN0IGluc3RhbnRpYXRpb24gaXMgbm90IGluIHRoZSBzYW1lIHJvdXRpbmUg YXMgdGhlIF9fYmRvcyBjYWxsIGFzIHNob3duIGluIHRoZSBhYm92ZSBleGFtcGxlOw0KKiogQXBw cm9hY2ggQiB3aWxsIGhhdmUgYSBiaWdnZXIgcGVyZm9ybWFuY2UgaW1wYWN0IGR1ZSB0byB0aGUg InZvbGF0aWxlIiB3aWxsIGluaGliaXQgYSBsb3Qgb2Ygb3B0aW1pemF0aW9uczsgDQoqKiBBcHBy b2FjaCBDIHdpbGwgaW52b2x2ZSBhIGxvdCBvZiBjaGFuZ2VzIGluIEdDQywgYW5kIGFsc28gbm90 IHZlcnkgbmVjZXNzYXJ5IHNpbmNlIHRoZSBPTkxZIGltcGxpY2l0IHVzZSBvZiB0aGUgc2l6ZSBw YXJhbWV0ZXIgaXMgaW4gdGhlIF9fYmRvcyBjYWxsIHdoZW4gX19iZG9zIGNhbiBzZWUgdGhlIHJl YWwgb2JqZWN0Lg0KDQpBcHBlbmRleCA0LiBLbm93biBpc3N1ZXMNCg0KQS4gQ29uZmxpY3Rpbmcg d2l0aCB0aGUgaW1wbGVtZW50YWl0b24gb2YgQlBGIGJhY2tlbmQgQ08tUkUgZmVhdHVyZQ0KDQog ICBCUEYgYmFja2VuZCBwcm92aWRlcyBhbiBhdHRyaWJ1dGUgJ3ByZXNlcnZlX2FjY2Vzc19pbmRl eCcgKGh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9nY2MtMTMuMi4wL2djYy9CUEYtVHlw ZS1BdHRyaWJ1dGVzLmh0bWwpLCBhbmQgYSBidWlsdGluICdfX2J1aWx0aW5fcHJlc2VydmVfYWNj ZXNzX2luZGV4JyAoaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy0xMy4yLjAvZ2Nj L0JQRi1CdWlsdC1pbi1GdW5jdGlvbnMuaHRtbCNpbmRleC1fMDA1Zl8wMDVmYnVpbHRpbl8wMDVm cHJlc2VydmVfMDA1ZmFjY2Vzc18wMDVmaW5kZXgpIGZvciB0aGUgQ08tUkUgc3VwcG9ydC4NCg0K ICAgVGhlIEMgRkUgb3IgYW4gZWFybHkgZ2ltcGxlIHBoYXNlIChjYWxsZWQgJ2JmcF9jb3JlX2xv d2VyJykgbWlnaHQgaW5zZXJ0IGNhbGxzIHRvIGEgQlBGIGludGVybmFsIGZ1bmN0aW9uICdfX2J1 aWx0aW5fY29yZV9yZWxvYycgZm9yIGV2ZXJ5IGZpZWxkIHJlZmVyZW5jZSB0aGF0IGlzIGd1YXJk ZWQgd2l0aCB0aGUgYXR0cmlidXRlIG9yIHRoZSBidWlsdGluLiANCg0KICAgSWYgdGhlIGZpZWxk IGlzIGEgRkFNIGZpZWxkIHdpdGggYSAnY291bnRlZF9ieScgYXR0cmlidXRlIGFuZCB0aGUgY29u dGFpbmluZyBzdHJ1Y3R1cmUgaGFzIGFuIEJQRiBhdHRyaWJ1dGUgJ3ByZXNlcnZlX2FjY2Vzc19p bmRleCcsIHRoZW4gdGhlcmUgd2lsbCBiZSBhbiBpbXBsZW1lbnRhdGlvbiBjb25mbGljdGlvbiBi ZXR3ZWVuIHRoZSBCUEYncyBpbnNlcnRpb24gb2YgY2FsbHMgdG8gJ19fYnVpbHRpbl9jb3JlX3Jl bG9jJyBhbmQgdGhlIGluc2VydGlvbiBvZiBjYWxscyB0byAnLkFDQ0VTU19XSVRIX1NJWkUnIGZv ciB0aGF0IEZBTSBmaWVsZCByZWZlcmVuY2UuICANCg0KICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBj b25mbGljdGlvbiBjYW4gYmUgYWRkcmVzc2VkIHdpdGggdGhlIGZvbGxvd2luZyBhcHByb2FjaGVz Og0KDQogICAxLiBwcm92aWRlIGEgbmV3IGZpcnN0IGNsYXNzIG9wdGlvbiB0byBkaXNhYmxlICdj b3VudGVkX2J5JyBhdHRyaWJ1dGU7DQogICAyLiB1c2UgbWFjcm9zIGluIHNvdXJjZSBjb2RlIHRv IGRlZmluZSAnY291bnRlZF9ieScgY29uZGl0aW9uYWxseSB0byBOVUxMIGZvciBCUEYgYmFja2Vu ZDsNCiAgIDMuIEJQRiBiYWNrZW5kIGhhbmRsZXMgdGhpcyBzaXR1YXRpb24gc3BlY2lhbGx5IGJ5 IGlkZW50aWZpbmcgdGhlIHRoZSByZWZlcmVuY2UgdG8gYSBGQU0gZmllbGQgd2l0aCAnY291bnRl ZF9ieScgYXR0cmlidXRlLCBlbWl0dGluZyB3YXJuaW5nIGFuZCBpZ25vcmVpbmcgdGhlICdjb3Vu dGVkX2J5JyBhdHRyaWJ1dGUsIGV0Yy4gIA0KDQogICBBcyBkaXNjdXNzZWQsIHdlIGFncmVlZCBv biB0aGUgYWJvdmUgMywgaS5lLCBCUEYgd2lsbCBoYW5kbGUgdGhpcyBzcGVjaWFsbHkuIA0KDQoN Cg==