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 138693857701 for ; Tue, 31 Oct 2023 18:35:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 138693857701 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 138693857701 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=1698777337; cv=pass; b=OPoVu3XeLSc/jJHMFnJzkttZZb4KEkHNEgj+DIAxFX1PjcZjHO+tQOp8vV+Cr46ItdVN08TIco7Q92CRPFse7y7Sxq5ypsdSY5FPLR04PxJDw2JzEqpkUXE5iQr6KiKHt4gHHu5802GZ51vtMRpkOnMKgpSg3FQ5tedAhP+ZV1A= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698777337; c=relaxed/simple; bh=hktNqevDceWPS4JD+DzSqUIugO5voJMNbtOiAzcwFSk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=QYMDqV/N43D8bD30DEqHfHmpGXx057xDO0nnB3N5kOrGN/1UBFaR5rAuTx7TULHH9HFmJZXIEKoBUkvHXHDGcdefrdeW335EviTCdRP+qNq0yGKjNLnLP+x4hhoJiI8UV9Jx9auVjwAhpfK1tGBJXZO9jweK3ZW4Mvb3WBHtGRM= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39VCnjbK000560; Tue, 31 Oct 2023 18:35:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=hktNqevDceWPS4JD+DzSqUIugO5voJMNbtOiAzcwFSk=; b=sm84UfszaiaJoE2o/hXl1u5mHyJFsNQzrNuGjH/dSblsKorJeihCGcm0F89/DEppxsoc ViK0zVYjHud90qidyg11ZJ60OTsgVW7T806jCVzx5ApkT4ODU3feRmuM8Xoolvs83/oe 2cWPfwwzqdaAMdGBSKAQcGGK1nXSy91yXPcnpD6kFgl3CCm5D8VclDsX5YzOONRhgZXI Q475RjMXLN+8j6Vs/I0J8r2DSgFJlKkkUg8QM49rGlYQcFXisC2XJT+SUFgOqyPIDMr6 pf4qLbJ1vkfc5Z2omOfCKGmdz6BaTjZLyqUdCJJZOT0vg5CyoS2uMjduNu33GNe5aWrf KQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3u0swtnvd4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Oct 2023 18:35:32 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 39VHXRAf001060; Tue, 31 Oct 2023 18:35:32 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3u0rr6emc6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Oct 2023 18:35:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RhkVgn+c9w2CMQe200nTVf68UkwmqWLnqydqyBF8t4h9w6eYk03qnD0QsU8ld1t7lI6WbZTuhejHQvStIW7DoW51NKR+ajSO3IA0fhb+Be1hgH6DQFsplN4/nKdjGYFZYvTdftwtRVEI9uk92BR+wNBxtjLH6EUsOoY/GD29jhHJLtxX/PEQL0jdS1F6hcVvrf17uoekIrGa1f/zouGybtrJusdv04wmzoC9IVdpYFhk4UO7neA7E/OwFMaPztjBQgEHhnP7BdtUdsOfFxaWOrINBDLwLLGU3QK0IwmXeJ5RIq0paf+e1Mnaq2e8RIX5DfYyNzumhUsW1uEW+zVK3w== 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=hktNqevDceWPS4JD+DzSqUIugO5voJMNbtOiAzcwFSk=; b=m9uzeaevFvxudIkNbpvYfK4pFclCiZGIWbFfHvm6NNGVwxGghkVIN2auFUiSpkTVCGUtu9tklhC5NG48bCJZNH6bVYd6yu41PvZ28BTC1l8xyzbRS9xqwGIeurYLK1YVkmdSaSCzET+cHyr038nyNZ3cs9FFJTFZySOAD/AyytAvVR4Bf2A7s2ir7gDtOVLcmX07luCQYcO/qNqD3SKON8WopiEmuHOitnUm9VI1JKyaHozgox5st4Y7jlr5S1HiWv2OvhsY89pnBna+2Dm8lOjxOeV5MLvHZcWOUkRirwBrOhuT6vif5sOhc8ENcZ8DBBQYkemo/KiALb3j+BAabA== 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=hktNqevDceWPS4JD+DzSqUIugO5voJMNbtOiAzcwFSk=; b=eE5Mx/jzz2jen+9kaXfLUxa1BmZm8DpMgS122Ffj70n3vzWZXTu/L6yPM7xmYPUjuFn0hX2J++0VzcDBttuN/y6vSSTfDpwoaPP2zK2WBw+aZGWCqRBM4omrRGqw+JzY/hHEqGAVWbUa719Guzz8tilqd0Be8b48wxY5Sg55CSE= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by DS0PR10MB7978.namprd10.prod.outlook.com (2603:10b6:8:1aa::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Tue, 31 Oct 2023 18:35:29 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::3475:7181:5bc8:9017]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::3475:7181:5bc8:9017%6]) with mapi id 15.20.6954.019; Tue, 31 Oct 2023 18:35:29 +0000 From: Qing Zhao To: Siddhesh Poyarekar , Jakub Jelinek CC: Richard Biener , Joseph Myers , Martin Uecker , Kees Cook , Jakub Jelinek , "isanbard@gmail.com" , GCC Patches Subject: Re: RFC: the proposal to resolve the missing dependency issue for counted_by attribute Thread-Topic: RFC: the proposal to resolve the missing dependency issue for counted_by attribute Thread-Index: AQHaDBb4sgvR8OhvSUmjC5KwSqZe/bBkKTAAgAAQq4A= Date: Tue, 31 Oct 2023 18:35:29 +0000 Message-ID: References: <3439786d-d62b-4e04-b512-c21bcfc49eb2@gotplt.org> In-Reply-To: <3439786d-d62b-4e04-b512-c21bcfc49eb2@gotplt.org> 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_|DS0PR10MB7978:EE_ x-ms-office365-filtering-correlation-id: fa7b6dfb-f81d-4840-c9b9-08dbda40283f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MkJNfA5d/1bN7q6ab1UgsaebilixB/7hJmhPF5fOEURzU2v8u27vrQ9N10KFkagUMl5gXubQPun3i7FNlf/KRQBSpV/i43MzzCwDUfVD06jVwpRR6alJEHwTgiKuax0PRtNYjjf36QiHSZFKZqCeKdtrqdRxlk/5+tAMMxonq9XtQSGZRvx8GRIGql7dfrGG5T2orbtVWDccmYx7eJ+5qcHz1eOYQimOxkqZApWDIp2mrA/sijrmYJVQgxAoqOaaQ9HxvQKvlHlsLpUM5EU/3vyqQfg/mIwLMGtZlAaLLkkdttE0AeK5kVXBU9qEmvQ6qq4APp9DJSgww3EqecDa/vKeFTo1bOtFd2PQSBVx/LbfUhA0vE2ZaIEqq/vM6unaAzrKrHVzYvMh5NdjWbbQunQ/Clj0I9lHx/oGAVZbF6UciU8Geawm3a+ZCj1ES+Llo5riGyC/NYSOjXP8YCdrAIwpBMOuAYYwYDBCuemUwYWTLQvDkeuyEpmLc6JxNp/Gid2a2GXB37Bb215YXmwKK1r9MePJ/voelPbIQo9nRlvrTmTyGiAC6mnY2bfF2bUrDN5as/ERsQADXl0ze21LG6lvCxl4I52139fDHDmWWo1Oq61J6XbY68CYDn/DX1NOPwIROqT5ZiM9wbtAHwlCZNqB88yhAHmYXseU7rNlwxjKT8qT4KOO8lBsf9xNuiWZ9GCi4cNc7bmXQG2rjd6LDRoUSL7kvI9NILZBx3sW3/WiRSAgdtCJVkX6qrC2pird 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)(346002)(376002)(396003)(39860400002)(366004)(136003)(230273577357003)(230173577357003)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(38070700009)(6512007)(2906002)(38100700002)(3613699003)(86362001)(36756003)(33656002)(122000001)(4001150100001)(30864003)(83380400001)(478600001)(6506007)(53546011)(2616005)(71200400001)(8936002)(64756008)(66446008)(8676002)(966005)(66476007)(6486002)(54906003)(316002)(4326008)(44832011)(66556008)(41300700001)(5660300002)(91956017)(110136005)(66946007)(76116006)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bVF6WUE3MEc4YzRqQjYwdi9keFg4dWVPRzNUc3UvYVdRcnpwMlNWMHZYOTNi?= =?utf-8?B?Q3hUMzlnRWlTdjJ1cUVNUFNZQ0xxS0pBNFhGZjB0dUxPbGs3b3dXUXgyc29n?= =?utf-8?B?K1oxSzM0dEcybktxZkdTb0FNVVNsdmF6VFpXWFAxT0tSaWNweFRVRTAwNTBB?= =?utf-8?B?TUtHQ09yekpiNzkrR3pFdjJhd205YUJsMkc1TjU2N2lzVEZ2Rm1kL1V6Mmk3?= =?utf-8?B?eWt1TzlRdStFQmFzL0wxL2lnUk8xZzRNK0xIWTErSCtzSHI5S1gvRXl3TDZp?= =?utf-8?B?Wm8rNVJaczNkWU1DTU5LOSs1L3JuNW40azlZRW9pSmozSXdYOWVNOGNPZkVl?= =?utf-8?B?VXpjb3lGenQ2QW9jVGJnSWJybmM0TlpaSHhTQkxmdEgrdEU1NWplTEdQMzNs?= =?utf-8?B?TnYvRlBURCtTN1FTeWxVc1REbEUvZE1kV2x6UlZ5dTJQOFNBbU9NZ25lM25O?= =?utf-8?B?UlJpOWl4ckVrQWNwLzE3WjNsZE5KQlpDV3pPZzhOa1cyNHhKek1hSGhzc2RO?= =?utf-8?B?WmdTUVRxNXdZRmFFMTk5QWVrdlYrNCthSUhuM3d5b1VmSmd3UHJ6M2pqQnNG?= =?utf-8?B?WjZNQzRjWURXbktsZlVsZzhrdUZKZ040MGNtZFE2WGU5ZGYrWVdiam1YT2tF?= =?utf-8?B?NFJKcHVtMGpwVWZkc3ZSUDcrRFpiWHgzQTh3Y2hxVFkva1YyRTYxQVhKdU54?= =?utf-8?B?VllYMlZDWlBsenR1dzIyUW9pMzd4L0o5bGs5QzZIdkhwODRZbTZDc09VTlQ1?= =?utf-8?B?U1ZMWWxBT0wrQXJNeHM3Rys0WnN6NExleEFuOUgrbDlDR2xUeWQ0MVRZc25D?= =?utf-8?B?a2xnVmpHbEJvZXBoaTh4N1I2SE1KU0k4UnpxQWl4WFFXSW1ERHRhM2t0SnVp?= =?utf-8?B?eC9SSE9aN2JZVVBVK0wvbVkyWmVHYVB1ZHU5Qmh1S2dZaG1kYlRoczNobU9I?= =?utf-8?B?bDFCSDZ6ZlZjR0g5TFAyNzAwampDbzFSSVF5eFluaDJoWmg1TnBEUFhWaks2?= =?utf-8?B?TmdyL1daNUdlOFVoVGZhcGE5YzVsT3dabVl6cWdyc2xldFcwaVhTK3M0ZVh3?= =?utf-8?B?TDhza1FsbUpTVmNuSUNUNXBML0FNNTRwb1dTSmpZTzc2d2NKRjFibmh4R044?= =?utf-8?B?SG5vblhvVTMvQnpqUzN6VnQxTVhGWTY3WjFHeVRFNHo0dDVCcTRIekdaOFIv?= =?utf-8?B?c1NORHNYUWticmhOZ3gzV0lKNFJGUFR5YndzeEJFRUNlb0F2SHNZOXo3T3Ux?= =?utf-8?B?REFsbVR5eGFPcG8rbnpVd2hkcmh3MFpjTjBVSXZpNG4ydWpvSGVOVzJqM09n?= =?utf-8?B?K3ZxNDN4NFFQRXZObGFaZjlUYzZkM3RvbVpsamxiOTV3aXlJaVRzS2hSeGxO?= =?utf-8?B?NEMyQWtkNlV5Y1drc1JsOHZkUkNhSm5JRWhDQ2t0MEx4dkJaY2lmcXc3MW5s?= =?utf-8?B?MWRjVHRVN3ZFUXNrV3QrVDlldTdtSDFmVUxPK01hRGd0U1NvN3JjMzcvRW4v?= =?utf-8?B?a3lzdmU5NHU5RDlhVGxNV0dWSFlrcENGMDRjOEFDdkZvQ29mYitnOE5SdmZY?= =?utf-8?B?dkNTVG9GZjJ3UkdKR0dkdXdRWjRtdUFJZCs4akpzTTFpQnR2ZHZ6aXF1N3c0?= =?utf-8?B?S3J3Q2xCelFCcXhYV1I1YkZZMzR2cXhmcW9qdGxDMXlOVTF5MXRBZGFneFNF?= =?utf-8?B?WHpaM0tERWRqM1FVc2Y0WVgyeWZWQnVHSFpLTE9tYmcwSXM1NWxxazhVNTVk?= =?utf-8?B?UElJSUl4b1lNbmpzb0JaV1U1ZkZlTC9TdWxjMTBackQvc0VMTTU0dDdwWVVS?= =?utf-8?B?R1pOQzhwTGRNZXdLQWEzcWVVWXlLc0N4QkVrNysxZDlub01rNVBWcElLWC9a?= =?utf-8?B?eDYySW5oeUkrU1ZIbG9wZS9uVVlJQlRSVmtrMzlGTmRZMHVzN1JXNWMzUmhJ?= =?utf-8?B?dWZUbDBPYk53WEtobHZGa0VSSlhwMjJpZUxKNytCVldFNXQ2bkF6MUZFUzBQ?= =?utf-8?B?Y1p6bmZxYTBudHcvdEU5YXpPTG8yUFBQTXpHRU5GRjZWUE1KOW1LUmRkODRG?= =?utf-8?B?K3VMdjRHcGJVZm1CcE01RjB3SzlBalRndS93UlIveXZ5eHRIdU5IWkZvNG9R?= =?utf-8?B?N3NlUlhPZytONUR1dUNxRTNqL3g0VkZocTh2VE96QkVMQkRZa2NvZjlXUzIz?= =?utf-8?Q?MuurrbyurVl3oEz63Uoj2MU=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <8BDF79BE66687A498D77217EEE694888@namprd10.prod.outlook.com> 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?VVFteGNVelVDTVc1OUgwUGtORUxvZEFraE1GRFB6OENUZUM3Q2R4aTZmZ1NN?= =?utf-8?B?aFQ1eVBkNmQ0VGlxMnB1OG5Wd1Jjc2FNeGN1b3U0SU9iUnFFd0NrWXV2bnVK?= =?utf-8?B?OGdvWkYxd1FSNDlzZU1LYWwwaXpkNmZkWGNGNmJPSWIwM3RFeXRNU004Z2Fu?= =?utf-8?B?ZHJOYkxNeFJsNmhRT1NmaEM2YmxJa3kzUjhjbjA5RzBZWlY4TG1XUThGU01D?= =?utf-8?B?dlpxUkF6MCtqUkhUT1Z1V3ZrNi9ackJpdmYyMWtoK3E4cTlJRDZualpxVEhM?= =?utf-8?B?dSs3bUpvQnR0ZGVCZ3lqQ2ptMFVJeVA3U043b2JxUGViRXg2cXVKalpOSnRU?= =?utf-8?B?M3pCcmQ1MkFKTFF0RG56WGhaME9jNHRxeGFSMGtMZDlzM2lFN2NvdEJid1Iw?= =?utf-8?B?bzJGWDBWaGNLL29CYkQzWEFXNG5kdzBNMU5HLzdrdE91aGJQSDNSK0ZNTzhj?= =?utf-8?B?bVBUMC92OEY0MGEwMXNjdjdVNlVieWZmNDZ4eU5Ub0dvNVhnTW9TSldqNmEr?= =?utf-8?B?SldJMWZ5ZEsva3hFTVBPc1hnSHEzQzBpdVVudis4UnI2aXFpYmt2ZXV1T0Fs?= =?utf-8?B?dS8vYVQvREpmcGVnOGcwYlVsbURESFRITXpnWGQwbVBHK1RnaUVNUFJEaXF0?= =?utf-8?B?VXFJOGJiV2F0cUx4Yi9IbGZiVzlQVDhKd1JRbjhncVMwTXVhNkw3T1dUbWVG?= =?utf-8?B?WVFuaHNrcFdjMkdiM01RZVVzSEZ4aVNRSm1zNmRJdURXdmt6Z3pzbmZoZDd6?= =?utf-8?B?YUpaU1FwYXlUWWFVR1kxbG5NQmFwWXNsQW5CV01oVXNmQnJlT0h3UFdMdEFR?= =?utf-8?B?dUxvNHIvQTVuMUFXdVFMTEF1K05jTm5Ydkg4dElMTjRXWVNDWXdFeDIwL0ZW?= =?utf-8?B?RGl2OU9UZ01ORzVpM0tIK3FmeWlmaWVkZGRNNG0yeU44NHNmY2VaNGJ6ZndI?= =?utf-8?B?UHFsaWNkanFMdWprWGtRL3dQSjUxcld0M3dRNTQ4OHUyR3ZxWGxmdmRvK0Vn?= =?utf-8?B?UXNzOWdxbW5RZy9Xb3hmT3BGcjNIRlhpN25RYmtrVG9ZaXRSN1F0YW1QY0lt?= =?utf-8?B?MjdqcWw3cTJyOTRDVUYyTHpJRzNMbHRZell3aWpMRXltdXhUeWg1SHorbUJa?= =?utf-8?B?dlNsS1lxcy9wM1crSnlRSllBaFdsbWExNzY5Z0pjWEd1Uk9mOWsrd2JVSlgw?= =?utf-8?B?S01zRlh1SDdVRytESW9tM1grSTJWbDkyTnNKM2tZL0J0YzVyN3VGbDhvelBT?= =?utf-8?Q?dpZM35goibA7zda?= 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: fa7b6dfb-f81d-4840-c9b9-08dbda40283f X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2023 18:35:29.0501 (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: RkGHkuLeBt1WGUVDDqX92so4pn8X0CUtH6eCKvLNv4AE2NE7Zq99siY2bnaKKpMpeuKUGv6jr0R2lNxTT6DitA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7978 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-10-31_05,2023-10-31_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 malwarescore=0 phishscore=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2310310149 X-Proofpoint-ORIG-GUID: gQByfyQW3KuYKMmVeajUx4AFGuBf1wgt X-Proofpoint-GUID: gQByfyQW3KuYKMmVeajUx4AFGuBf1wgt X-Spam-Status: No, score=-4.3 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: DQoNCj4gT24gT2N0IDMxLCAyMDIzLCBhdCAxOjM1IFBNLCBTaWRkaGVzaCBQb3lhcmVrYXIgPHNp ZGRoZXNoQGdvdHBsdC5vcmc+IHdyb3RlOg0KPiANCj4gT24gMjAyMy0xMC0zMSAxMjoyNiwgUWlu ZyBaaGFvIHdyb3RlOg0KPj4gSGksDQo+PiBJIHdyb3RlIGEgc3VtbWFyeSBiYXNlZCBvbiBvdXIg ZXh0ZW5zaXZlIGRpc2N1c3Npb24sIGhvcGVmdWxseSB0aGlzIGNhbiBiZSBzZXJ2ZWQgYXMgYW4g aW5mb3JtYWwgcHJvcG9zYWwuDQo+PiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgaXQgYW5kIGxldCBt ZSBrbm93IGFueSBjb21tZW50IG9yIHN1Z2dlc3Rpb24uDQo+PiBUaGVyZSBhcmUgc29tZSAoPz8/ KSBpbiB0aGUgc2VjdGlvbiAzLjIgYW5kIDMuNiwgdGhvc2UgYXJlIG15IHF1ZXN0aW9ucyBzZWVr aW5nIGZvciBoZWxwLiAgLTopDQo+PiBUaGFua3MgYWdhaW4gZm9yIGFsbCB0aGUgaGVscC4NCj4+ IFFpbmcuDQo+PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KPj4gUmVwcmVzZW50IHRoZSBtaXNzaW5nIGRlcGVuZGVuY2UgZm9yIHRoZSAi Y291bnRlZF9ieSIgYXR0cmlidXRlIGFuZCBpdHMgY29uc3VtZXJzDQo+PiBRaW5nIFpoYW8NCj4+ IDEwLzMwLzIwMjMNCj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCj4+IFRoZSB3aG9sZSBkaXNjdXNzaW9uIGlzIGF0Og0KPj4gaHR0cHM6Ly9nY2MuZ251 Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1PY3RvYmVyLzYzMzc4My5odG1sDQo+PiAx LiBUaGUgcHJvYmxlbQ0KPj4gVGhlcmUgaXMgYSBkYXRhIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUg c2l6ZSBhc3NpZ25tZW50IGFuZCB0aGUgaW1wbGljaXQgdXNlIG9mIHRoZSBzaXplIGluZm9ybWF0 aW9uIGluIHRoZSBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZSB0aGF0IGlzIG1pc3Npbmcg aW4gdGhlIElMIChsaW5lIDExIGFuZCBsaW5lIDEzIGluIHRoZSBiZWxvdyBleGFtcGxlKS4gU3Vj aCBpbmZvcm1hdGlvbiBtaXNzaW5nIHdpbGwgcmVzdWx0IGluY29ycmVjdCBjb2RlIHJlb3JkZXJp bmcgYW5kIG90aGVyIGNvZGUgdHJhbnNmb3JtYXRpb25zLg0KPj4gICAxIHN0cnVjdCBBDQo+PiAg IDIgew0KPj4gICAzICBzaXplX3Qgc2l6ZTsNCj4+ICAgNCAgY2hhciBidWZbXSBfX2F0dHJpYnV0 ZV9fKChjb3VudGVkX2J5KHNpemUpKSk7DQo+PiAgIDUgfTsNCj4+ICAgNg0KPj4gICA3IHNpemVf dA0KPj4gICA4IGZvbyAoc2l6ZV90IHN6KQ0KPj4gICA5IHsNCj4+ICAxMCAgc3RydWN0IEEgKm9i aiA9IF9fYnVpbHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3QgQSkgKyBzeiAqIHNpemVvZihjaGFy KSk7DQo+PiAgMTEgIG9iai0+c2l6ZSA9IHN6Ow0KPj4gIDEyICBvYmotPmJ1ZlswXSA9IDI7DQo+ PiAgMTMgIHJldHVybiBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZSAob2JqLT5idWYsIDEp Ow0KPj4gIDE0IH0NCj4+ICAgUGxlYXNlIHNlZSBhIG1vcmUgY29tcGxpY2F0ZSBleGFtcGxlIGlu IHRoZSBBcHBlbmRleCAxLg0KPj4gV2UgbmVlZCB0byByZXByZXNlbnQgc3VjaCBkYXRhIGRlcGVu ZGVuY3kgY29ycmVjdGx5IGluIHRoZSBJTC4NCj4+IDIuIFRoZSBzb2x1dGlvbjoNCj4+IDIuMSBT dW1tYXJ5DQo+PiAqIEFkZCBhIG5ldyBpbnRlcm5hbCBmdW5jdGlvbiAiQUNDRVNTX1dJVEhfU0la RSIgdG8gY2FycnkgdGhlIHNpemUgaW5mb3JtYXRpb24gZm9yIGV2ZXJ5IEZBTSBmaWVsZCBhY2Nl c3M7DQo+PiAqIEluIEMgRkUsIFJlcGxhY2UgZXZlcnkgRkFNIGZpZWxkIGFjY2VzcyB3aG9zZSBU WVBFIGhhcyB0aGUgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSB3aXRoIHRoZSBuZXcgaW50ZXJuYWwg ZnVuY3Rpb24gIkFDQ0VTU19XSVRIX1NJWkUiOw0KPj4gKiBJbiBldmVyeSBjb25zdW1lciBvZiB0 aGUgc2l6ZSBpbmZvcm1hdGlvbiwgZm9yIGV4YW1wbGUsIEJET1Mgb3IgYXJyYXkgYm91bmQgc2Fu aXRpemVyLCBxdWVyeSB0aGUgc2l6ZSBpbmZvcm1hdGlvbiBvciBBQ0NFU1NfTU9ERSBpbmZvcm1h dGlvbiBmcm9tIHRoZSBuZXcgaW50ZXJuYWwgZnVuY3Rpb247DQo+PiAqIFdoZW4gdGhlIHNpemUg aW5mb3JtYXRpb24gYW5kIHRoZSAiQUNDRVNTX01PREUiIGluZm9ybWF0aW9uIGFyZSBub3QgdXNl ZCBhbnltb3JlLCBwb3NzaWJseSBhdCB0aGUgMm5kIG9iamVjdCBzaXplIHBoYXNlLCByZXBsYWNl IHRoZSBpbnRlcm5hbCBmdW5jdGlvbiB3aXRoIHRoZSBhY3R1YWwgRkFNIGZpZWxkIGFjY2VzczsN Cj4+ICogU29tZSBhZGp1c3RtZW50IHRvIGlubGluaW5nIGhldXJpc3RpYyBhbmQgc29tZSBTU0Eg cGFzc2VzIHRvIG1pdGlnYXRlIHRoZSBpbXBhY3QgdG8gdGhlIG9wdGltaXplciBhbmQgY29kZSBn ZW5lcmF0aW9uLg0KPj4gMi4yIFRoZSBuZXcgaW50ZXJuYWwgZnVuY3Rpb24NCj4+ICAgLkFDQ0VT U19XSVRIX1NJWkUgKFBUUiwgU0laRSwgQUNDRVNTX01PREUpDQo+PiBJTlRFUk5BTF9GTiAoQUND RVNTX1dJVEhfU0laRSwgRUNGX0NPTlNUIHwgRUNGX0xFQUYgfCBFQ0ZfTk9USFJPVywgTlVMTCkN Cj4+IHdoaWNoIHJldHVybnMgdGhlICJQVFIiIHNhbWUgYXMgdGhlIDFzdCBhcmd1bWVudDsNCj4+ IDFzdCBhcmd1bWVudCAiUFRSIjogUG9pbnRlciB0byB0aGUgb2JqZWN0Ow0KPj4gMm5kIGFyZ3Vt ZW50ICJTSVpFIjogVGhlIHNpemUgb2YgdGhlIHBvaW50ZWQgb2JqZWN0LA0KPj4gICBpZiB0aGUg cG9pbnRlZSBvZiB0aGUgIlBUUiIgaGFzIGENCj4+ICAgICAqIHJlYWwgdHlwZSwgaXQncyB0aGUg bnVtYmVyIG9mIHRoZSBlbGVtZW50cyBvZiB0aGUgdHlwZTsNCj4+ICAgICAqIHZvaWQgdHlwZSwg aXQncyB0aGUgbnVtYmVyIG9mIGJ5dGVzOw0KPj4gM3JkIGFyZ3VtZW50ICJBQ0NFU1NfTU9ERSI6 DQo+PiAgIC0xOiBVbmtub3duIGFjY2VzcyBzZW1hbnRpY3MNCj4+ICAgIDA6IG5vbmUNCj4+ICAg IDE6IHJlYWRfb25seQ0KPj4gICAgMjogd3JpdGVfb25seQ0KPj4gICAgMzogcmVhZF93cml0ZQ0K Pj4gTk9URXMsDQo+PiAgIEEuIFRoaXMgbmV3IGludGVybmFsIGZ1bmN0aW9uIGlzIGludGVuZGVk IGZvciBhIG1vcmUgZ2VuZXJhbCB1c2UgZnJvbSBhbGwgdGhlIDMgYXR0cmlidXRlcywgImFjY2Vz cyIsICJhbGxvY19zaXplIiwgYW5kIHRoZSBuZXcgImNvdW50ZWRfYnkiLCB0byBlbmNvZGUgdGhl ICJzaXplIiBhbmQgImFjY2Vzc19tb2RlIiBpbmZvcm1hdGlvbiB0byB0aGUgY29ycmVzcG9uZGlu ZyBwb2ludGVyLiAoaW4gb3JkZXIgdG8gcmVzb2x2ZSBQUjk2NTAzLCBldGMuIGh0dHBzOi8vZ2Nj LmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk2NTAzKQ0KPj4gICBCLiBGb3IgImNv dW50ZWRfYnkiIGFuZCAiYWxsb2Nfc2l6ZSIgYXR0cmlidXRlcywgdGhlIDNyZCBhcmd1bWVudCB3 aWxsIGJlIC0xLg0KPj4gICBDLiBJbiB0aGlzIHdyaWV1cCwgd2UgZm9jdXMgb24gdGhlIGltcGxl bWVudGF0aW9uIGRldGFpbHMgZm9yIHRoZSAiY291bnRlZF9ieSIgYXR0cmlidXRlLiBIb3dldmVy LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSByZWFkeSB0byBiZSB1c2VkIGJ5ICJhY2Nlc3MiIGFu ZCAiYWxsb2Nfc2l6ZSIgd2l0aG91dCBpc3N1ZS4NCj4+IDIuMyBBIG5ldyBzZW1hbnRpYyByZXF1 aXJlbWVudCBpbiB0aGUgdXNlciBkb2N1bWVudGF0aW9uIG9mICJjb3VudGVkX2J5Ig0KPj4gRm9y IHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIGluY2x1ZGluZyBhIEZBTSB3aXRoIGEgY291bnRlZF9i eSBhdHRyaWJ1dGU6DQo+PiAgIHN0cnVjdCBBDQo+PiAgIHsNCj4+ICAgIHNpemVfdCBzaXplOw0K Pj4gICAgY2hhciBidWZbXSBfX2F0dHJpYnV0ZV9fKChjb3VudGVkX2J5KHNpemUpKSk7DQo+PiAg IH07DQo+PiBmb3IgYW55IG9iamVjdCB3aXRoIHN1Y2ggdHlwZToNCj4+ICAgc3RydWN0IEEgKm9i aiA9IF9fYnVpbHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3QgQSkgKyBzeiAqIHNpemVvZihjaGFy KSk7DQo+PiBUaGUgc2V0dGluZyB0byB0aGUgc2l6ZSBmaWVsZCBzaG91bGQgYmUgZG9uZSBiZWZv cmUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0byB0aGUgRkFNIGZpZWxkLg0KPiANCj4gQSBtb3JlIGZs ZXhpYmxlIHNwZWNpZmljYXRpb24gY291bGQgYmUgc3RhdGluZyB0aGF0IHZhbGlkYXRpb24gZm9y IGEgcmVmZXJlbmNlIHRvIHRoZSBGQU0gZmllbGQgd2lsbCB1c2UgdGhlIGxhdGVzdCB2YWx1ZSBh c3NpZ25lZCB0byB0aGUgc2l6ZSBmaWVsZCBiZWZvcmUgdGhhdCByZWZlcmVuY2UuICBUaGF0IHdp bGwgYWxsb3cgZm9yIHNpdHVhdGlvbnMgbGlrZToNCj4gDQo+ICBvLT5zaXplID0gdmFsMTsNCj4g IGRlcmVmIChvLT5idWYpOw0KPiAgby0+c2l6ZSA9IHZhbDI7DQo+IA0KPiBtYWtpbmcgaXQgY2xl YXIgdGhhdCBkZXJlZiB3aWxsIHNlZSB2YWwxIGFuZCBub3QgdmFsMi4NCg0KR29vZCBwb2ludCEg WWVzLCB3aXRoIHRoZSBjdXJyZW50IGRlc2lnbiwgdGhpcyBpcyByZWFzb25hYmxlLiANCldpbGwg dXBkYXRlIHRoZSBwcm9wb3NhbCB3aXRoIHRoaXMuDQo+IA0KPj4gU3VjaCByZXF1aXJlbWVudCB0 byB0aGUgdXNlciB3aWxsIGd1YXJhbnRlZSB0aGF0IHRoZSBmaXJzdCByZWZlcmVuY2UgdG8gdGhl IEZBTSBrbm93cyB0aGUgc2l6ZSBvZiB0aGUgRkFNLg0KPj4gV2UgbmVlZCB0byBhZGQgdGhpcyBh ZGRpdGlvbmFsIHJlcXVpcmVtZW50IHRvIHRoZSB1c2VyIGRvY3VtZW50Lg0KPj4gMi40IFJlcGxh Y2UgRkFNIGZpZWxkIGFjY2Vzc2VzIHdpdGggdGhlIG5ldyBmdW5jdGlvbiBBQ0NFU1NfV0lUSF9T SVpFDQo+PiBJbiBDIEZFOg0KPj4gZm9yIGV2ZXJ5IHJlZmVyZW5jZSB0byBhIEZBTSwgZm9yIGV4 YW1wbGUsICJvYmotPmJ1ZiIgaW4gdGhlIHNtYWxsIGV4YW1wbGUsDQo+PiAgIGNoZWNrIHdoZXRo ZXIgdGhlIGNvcnJlc3BvbmRpbmcgRklFTERfREVDTCBoYXMgYSAiY291bnRlZF9ieSIgYXR0cmli dXRlPw0KPj4gICBpZiBZRVMsIHJlcGxhY2UgdGhlIHJlZmVyZW5jZSB0byAib2JqLT5idWYiIHdp dGggYSBjYWxsIHRvDQo+PiAgICAgICAuQUNDRVNTX1dJVEhfU0laRSAob2JqLT5idWYsIG9iai0+ c2l6ZSwgLTEpOw0KPj4gMi41IFF1ZXJ5IHRoZSBzaXplIGluZm8NCj4+IFRoZXJlIGFyZSBtdWx0 aXBsZSBjb25zdW1lcnMgb2YgdGhlIHNpemUgaW5mbyAoYW5kIEFDQ0VTU19NT0RFIGluZm8pOg0K Pj4gICAqIF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplOw0KPj4gICAqIGFycmF5IGJvdW5k IHNhbml0aXplcjsNCj4+IGluIHRoZXNlIGNvbnN1bWVycywgZ2V0IHRoZSBzaXplIGluZm8gZnJv bSB0aGUgMm5kIGFyZ3VtZW50IG9mIHRoZSBjYWxsIHRvDQo+PiBBQ0NFU1NfV0lUSF9TSVpFIChQ VFIsIFNJWkUsIC0xKQ0KPj4gMi42IEVsaW1pbmF0ZSB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gd2hl biBub3QgdXNlZnVsIGFueW1vcmUNCj4+IEFmdGVyIHRoZSBsYXN0IGNvbnN1bWVyIG9mIHRoZSBz aXplIGluZm9ybWF0aW9uIGluIHRoZSBBQ0NFU1NfV0lUSF9TSVpFLCBXZSBzaG91bGQgcmVwbGFj ZSB0aGUgaW50ZXJuYWwgY2FsbCB3aXRoIGl0cyBmaXJzdCBhcmd1bWVudC4NCj4+IERvIGl0IGlu IHRoZSAybmQgb2JqZWN0IHNpemUgcGhhc2UuDQo+PiAyLjcgQWRqdXN0bWVudCB0byBpbmxpbmlu ZyBoZXVyaXN0aWMgYW5kIG90aGVyIElQQSBhbmFseXNpcw0KPj4gdGhlIEZFIGNoYW5nZXM6DQo+ PiBvYmotPmJ1Zg0KPj4gdG8NCj4+IF8xID0gb2JqLT5idWY7DQo+PiBfMiA9IG9iai0+c2l6ZTsN Cj4+IC5BQ0NFU1NfV0lUSF9TSVpFIChfMSwgXzIsIC0xKQ0KPj4gdGhlcmUgYXJlIG1ham9yIHR3 byBjaGFuZ2VzOg0KPj4gICBBLiB0aGUgIyBvZiBMT0FEcywgdGhlICMgb2YgSW5zbnMgb2YgdGhl IHJvdXRpbmUgd2lsbCBiZSBpbmNyZWFzZWQsDQo+PiAgIEIuIGFkZGl0aW9uYWwgY2FsbHMgdG8g aW50ZXJuYWwgcm91dGluZXMuDQo+PiBBcyBhIHJlc3VsdDoNCj4+ICAgSW5saW5pbmcgZGVjaXNp b24gYW5kIHNvbWUgSVBBIGFuYWx5c2lzIG1pZ2h0IGJlIGNoYW5nZWQgZHVlIHRvIHRoZXNlIGNo YW5nZXMuDQo+PiBXZSBuZWVkIHRvIGFkanVzdCBpbmxpbmluZyBoZXVyaXNpYyBhbmQgSVBBIGFu YWx5c2lzIHByb3Blcmx5Lg0KPj4gMy4gVGhlIHBhdGNoIHNldHM6DQo+PiBXZSB3aWxsIHByb3Zp ZGUgdGhlIGZvbGxvd2luZyBwYXRjaGVzOg0KPj4gICAzLjEgUHJvdmlkZSBjb3VudGVkX2J5IGF0 dHJpYnV0ZSB0byBmbGV4aWJsZSBhcnJheSBtZW1iZXIgZmllbGQ7DQo+PiAgICAgICB3aGljaCBp bmNsdWRlczoNCj4+ICAgICAgICogImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSBkb2N1bWVudGF0aW9u Ow0KPj4gICAgICAgKiBDIEZFIGhhbmRsaW5nIG9mIHRoZSBuZXcgYXR0cmlidXRlOw0KPj4gICAg ICAgICBzeW50YXggY2hlY2tpbmcsIGVycm9yIHJlcG9ydGluZzsNCj4+ICAgICAgICogdGVzdGlu ZyBjYXNlczsNCj4+ICAgMy4yIENvbnZlcnQgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZSB0by9mcm9t IC5BQ0NFU1NfV0lUSF9TSVpFLg0KPj4gICAgICAgd2hpY2ggaW5jbHVkZXM6DQo+PiAgICAgICAq IFRoZSBkZWZpbml0aW9uIG9mIHRoZSBuZXcgaW50ZXJuYWwgZnVuY3Rpb24gLkFDQ0VTU19XSVRI X1NJWkUgaW4gaW50ZXJuYWwtZm4uZGVmLg0KPj4gICAgICAgKiBDIEZFIGNvbnZlcnRzIGV2ZXJ5 IGFjY2VzcyB0byBhIEZBTSB3aXRoICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUgdG8gYSBjYWxsIHRv IHRoZSBpbnRlcm5hbCBmdW5jdGlvbiAuQUNDRVNTX1dJVEhfU0laRS4gKHdoZXJlIGluIHRoZSBG RSwgd2hpY2ggcm91dGluZSBzaG91bGQgbG9vayBhdD8/PykNCj4+ICAgICAgICogQ29udmVydCBl dmVyeSBjYWxsIHRvIC5BQ0NFU1NfV0lUSF9TSVpFIHRvIGl0cyBmaXJzdCBhcmd1bWVudC4gd2hl cmUgc2hvdWxkIHdlIGRvIHRoaXM/IGluIHRoZSBlbmQgb2YgdGhlIDJuZCBvYmplY3Qgc2l6ZSBw aGFzZSBvciBpbiB0aGUgZXhwYW5kIHBoYXNlPyAoSSBwcmVmZXIgdG8gZG8gdGhpcyBpbiB0aGUg ZW5kIG9mIHRoZSAybmQgb2JqZWN0IHNpemUgcGhhc2UsIGNvbW1lbnRzPz8/KQ0KPiANCj4gSSdk IHNheSBiZSBsaWtlIF9fYm9zIGhlcmUsIGkuZS4gcmVwbGFjZSBpbnN0YW5jZXMgaW4gdGhlIG9i anN6MiBwYXNzIGFuZCBhbHNvIGFzIGEgZmFsbGJhY2ssIGltcGxlbWVudCBleHBhbmRfYnVpbHRp bl9hY2Nlc3Nfd2l0aF9zaXplIChsaWtlIGV4cGFuZF9idWlsdGluX29iamVjdF9zaXplKSB0byBy ZXBsYWNlIGFsbCByZW1haW5pbmcgaW5zdGFuY2VzIG9mIHRoZSBidWlsdGluIHdpdGggdGhlIGZp cnN0IGFyZy4NCg0KT2theS4gVGhpcyBpcyByZWFzb25hYmxlIHRvby4NCj4gDQo+PiAgICAgICAq IGFkanVzdCBpbmxpbmluZyBoZXVyaXN0aWMgZm9yIHRoZSBhZGRpdGlvbmFsIGNhbGwgYW5kIGxv YWRzICg/Pz8pLg0KPj4gICAgICAgKiBPdGhlciBwaGFzZXMgbmVlZCB0byBiZSBhZGp1c3RlZCAo Pz8/KS4NCj4gDQo+IERvIHdlIG5lZWQgdGhpcz8gIEkgdGhvdWdodCBleHByZXNzaW5nIHRoZSBk ZXBlbmRlbmN5IHdpdGggdGhlIGJ1aWx0aW4gb3VnaHQgdG8gYmUgc3VmZmljaWVudC4NCg0KWWVz LCBJIHRoaW5rIHdlIG5lZWQgdGhpcy4gTm90IGZvciBjb3JyZWN0bmVzcywgYnV0IGZvciBtaXRp Z2F0aW5nIHRoZSBwZXJmb3JtYW5jZSBpbXBhY3QgZHVlIHRvIHRoZSBwb3NzaWJsZSBpbmxpbmlu ZyBkZWNpc2lvbiBjaGFuZ2Ugb3Igb3RoZXIgSVBBIGFuYWx5c2lzIGltcGFjdGVkIGJ5IHRoZSBu ZXcgZnVuY3Rpb24gY2FsbHMuDQpQbGVhc2Ugc2VlIEpha3Vi4oCZcyBjb21tZW50IGF0Og0KaHR0 cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1PY3RvYmVyLzYzNDM0 My5odG1sDQoNCj4gDQo+PiAgICAgICAqIHZlcmlmeSBhIGNhbGwgdG8gLkFDQ0VTU19XSVRIX1NJ WkUgaW4gdHJlZS1jZmcuY2MuDQo+PiAgICAgICAqIHByb3ZpZGUgdXRpbGl0eSByb3V0aW5lcyB0 byBnZXQgdGhlIHNpemUgb3IgQUNDRVNTX01PREUgZnJvbSB0aGUgY2FsbCB0byAuQUNDRVNTX1dJ VEhfU0laRS4NCj4+ICAgMy4zIFVzZSB0aGUgLkFDQ0VTU19XSVRIX1NJWkUgaW4gYnVpbHRpbiBv YmplY3Qgc2l6ZSAoc3ViLW9iamVjdCBvbmx5KQ0KPj4gICAgICAgd2hpY2ggaW5jbHVkZXM6DQo+ PiAgICAgICAqIHVzZSB0aGUgc2l6ZSBpbmZvIG9mIHRoZSAuQUNDRVNTX1dJVEhfU0laRSBmb3Ig c3ViLW9iamVjdC4NCj4+ICAgICAgICogdGVzdGluZyBjYXNlcy4NCj4+ICAgMy40IFVzZSB0aGUg LkFDQ0VTU19XSVRIX1NJWkUgaW4gYm91bmQgc2FuaXRpemVyDQo+PiAgICAgICB3aGljaCBpbmNs dWRlczoNCj4+ICAgICAgICogdXNlIHRoZSBzaXplIGluZm8gb2YgdGhlIC5BQ0NFU1NfV0lUSF9T SVpFIGZvciBib3VuZCBzYW5pdGl6ZXIuDQo+PiAgICAgICAqIHRlc3RpbmcgY2FzZXMuDQo+PiAg IDMuNSBJbXByb3ZlIF9fYmRvcyB0byB1c2UgdGhlIGNvdW50ZWRfYnkgaW5mbyBpbiB3aG9sZS1v YmplY3Qgc2l6ZSBmb3IgdGhlIHN0cnVjdHVyZSB3aXRoIEZBTS4NCj4+ICAgMy42IFN1cHBvcnQg Zm9yIGR5bmFtaWMgYXJyYXkgb2YgRk1BICg/Pz8pDQo+PiAgICAgICBodHRwczovL2djYy5nbnUu b3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIzLU9jdG9iZXIvNjM0NTY4Lmh0bWwNCj4gDQo+ IEknbSBub3QgZW50aXJlbHkgY29udmluY2VkIHRoYXQgaXQncyBhbiBpc3N1ZS4gIF9fYmRvcyB3 aWxsIGp1c3QgbG9vayBhdCBfX2NvdW50ZWRfYnlfXyBhbmQgdXNlIGl0cyBtb3N0IHJlY2VudCB2 YWx1ZSAodXNpbmcgdGhlIGFib3ZlIHVzZXIgc3BlY2lmaWNhdGlvbikgYW5kIHdpdGggdGhhdCBp dCdzIGp1c3QgYSBtYXR0ZXIgb2YgYXBwbGljYXRpb24gcHJlZmVyZW5jZS4gIElmIHRoZXkgd2Fu dCBkeW5hbWljIGFycmF5IGJlaGF2aW91ciwgdGhleSBjb3VsZCBqdXN0IGFubm90YXRlIHRoZSBh cnJheSBjb3VudCBtZW1iZXIgd2l0aCBfX2NvdW50ZWRfYnlfXyBpbnN0ZWFkIG9mIHRoZSBhcnJh eSBjYXBhY2l0eSBtZW1iZXIuDQoNClRoaXMgbWFrZXMgc2Vuc2UuICBZZXMsIHdpbGwgdXBkYXRl IHRoZSBwcm9wb3NhbCB3aXRoIHRoaXMuDQoNClRoYW5rcy4NCg0KUWluZw0KPiANCj4gVGhhbmtz LA0KPiBTaWQNCj4gDQo+IA0KPj4gICAzLjcgRW1pdCB3YXJuaW5ncyB3aGVuIHRoZSB1c2VyIGJy ZWFrcyB0aGUgcmVxdWlybWVudHMgZm9yIHRoZSBuZXcgY291bnRlZF9ieSBhdHRyaWJ1dGUNCj4+ ICAgICAgIGNvbXBpbGF0aW9uIHRpbWU6IC1XY291bnRlZC1ieQ0KPj4gICAgICAgcnVuIHRpbWU6 IC1mc2FuaXRpemVyPWNvdW50ZWQtYnkNCj4+ICAgICAgICAgICAgICAqIFRoZSBzZXR0aW5nIHRv IHRoZSBzaXplIGZpZWxkIHNob3VsZCBiZSBkb25lIGJlZm9yZSB0aGUgZmlyc3QgcmVmZXJlbmNl IHRvIHRoZSBGQU0gZmllbGQuDQo+PiAgICAgICAqIHRoZSBhcnJheSBoYXMgYXQgbGVhc3QgIyBv ZiBlbGVtZW50cyBzcGVjaWZpZWQgYnkgdGhlIHNpemUgZmllbGQgYWxsIHRoZSB0aW1lIGR1cmlu ZyB0aGUgcHJvZ3JhbS4NCj4+ICA0LiBGdXR1cmUgd29yaw0KPj4gICAgICA0LjEgVXNlIHRoZSBu ZXcgLkFDQ0VTU19XSVRIX1NJWkUgZm9yIG90aGVyIHJlbGF0aXZlIGF0dHJpYnV0ZXMsIGZvciBl eGFtcGxlLCAiYWNjZXNzIiBhbmQgImFsbG9jX3NpemUiLCB0byByZXNvbHZlIHRoZSBrbm93biBp c3N1ZXMgZm9yIHRoZW06DQo+PiBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn LmNnaT9pZD05NjUwMw0KPj4gICA0LjIgQWRkICJjb3VudGVkX2J5IiBhdHRyaWJ1dGUgdG8gZ2Vu ZXJhbCBwb2ludGVycyBhcyBwcm9wb3NlZCBieSB0aGUgLWZib3VuZHMtc2FmZXR5IHByb3Bvc2Fs IHRvIExMVk0gZnJvbSBBcHBsZSAoaHR0cHM6Ly9kaXNjb3Vyc2UubGx2bS5vcmcvdC9yZmMtZW5m b3JjaW5nLWJvdW5kcy1zYWZldHktaW4tYy1mYm91bmRzLXNhZmV0eS83MDg1NCkuDQo+PiB0aGUg LkFDQ0VTU19XSVRIX1NJWkUgYXBwcm9hY2ggc2hvdWxkIGJlIGFkb3B0ZWQgbmF0dXJhbGx5Lg0K Pj4gQXBwZW5kZXggMS4gQSBtb3JlIGNvbXBsaWNhdGVkIGV4YW1wbGU6DQo+PiAgIDEgI2luY2x1 ZGUgPG1hbGxvYy5oPg0KPj4gICAyIHN0cnVjdCBBDQo+PiAgIDMgew0KPj4gICA0ICBzaXplX3Qg c2l6ZTsNCj4+ICAgNSAgY2hhciBidWZbXSBfX2F0dHJpYnV0ZV9fKChjb3VudGVkX2J5KHNpemUp KSk7DQo+PiAgIDYgfTsNCj4+ICAgNw0KPj4gICA4IHN0YXRpYyBzaXplX3QNCj4+ICAgOSBnZXRf c2l6ZV9mcm9tICh2b2lkICpwdHIpDQo+PiAgMTAgew0KPj4gIDExICByZXR1cm4gX19idWlsdGlu X2R5bmFtaWNfb2JqZWN0X3NpemUgKHB0ciwgMSk7DQo+PiAgMTIgfQ0KPj4gIDEzDQo+PiAgMTQg dm9pZA0KPj4gIDE1IGZvbyAoc2l6ZV90IHN6KQ0KPj4gIDE2IHsNCj4+ICAxNyAgc3RydWN0IEEg Km9iaiA9IF9fYnVpbHRpbl9tYWxsb2MgKHNpemVvZihzdHJ1Y3QgQSkgKyBzeiAqIHNpemVvZihj aGFyKSk7DQo+PiAgMTggIG9iai0+c2l6ZSA9IHN6Ow0KPj4gIDE5ICBvYmotPmJ1ZlswXSA9IDI7 DQo+PiAgMjAgIF9fYnVpbHRpbl9wcmludGYgKOKAnCVkXG4iLCBnZXRfc2l6ZV9mcm9tIChvYmot PmJ1ZikpOw0KPj4gIDIxICByZXR1cm47DQo+PiAgMjIgfQ0KPj4gIDIzDQo+PiAgMjQgaW50IG1h aW4gKCkNCj4+ICAyNSB7DQo+PiAgMjYgIGZvbyAoMjApOw0KPj4gIDI3ICByZXR1cm4gMDsNCj4+ ICAyOCB9DQo+PiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBvYmpl Y3QgYXQgbGluZSAxNyBpcyBub3QgaW4gdGhlIHNhbWUgcm91dGluZSBhcyB0aGUgX0JET1MgY2Fs bCBhdCBsaW5lIDExLg0KPj4gQXBwZW5kZXggMi4gT3RoZXIgYXBwcm9hY2hlcyB0aGF0IGhhdmUg YmVlbiBkaXNjdXNzZWQ6DQo+PiBBLiAgQWRkIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQsIHRoZSBz aXplIHBhcmFtZXRlciwgdG8gdGhlIGNhbGwgdG8gX19iZG9zLA0KPj4gICAgICAgQS4xLCBkdXJp bmcgRkU7DQo+PiAgICAgICBBLjIsIGR1cmluZyBnaW1wbGlmaWNhdGlvbiBwaGFzZTsNCj4+IEIu ICBFbmNvZGUgdGhlIGltcGxpY2l0IFVTRSBpbiB0aGUgdHlwZSBvZiBzaXplLCB0byBtYWtlIHRo ZSBzaXplIGFzIOKAnHZvbGF0aWxl4oCdOw0KPj4gQy4gIEVuY29kZSB0aGUgaW1wbGljaXQgVVNF IGluIHRoZSB0eXBlIG9mIGJ1ZiwgdGhlbiB1cGRhdGUgdGhlIG9wdGltaXphdGlvbiBwYXNzZXMg dG8gdXNlIHRoaXMgaW1wbGljaXQgVVNFIGVuY29kZWQgaW4gdGhlIHR5cGUgb2YgYnVmLg0KPj4g KiogQXBwcm9hY2ggQSAoYm90aCBBLjEgYW5kIEEuMikgd2lsbCBub3Qgd29yayBpZiB0aGUgb2Jq ZWN0IGluc3RhbnRpYXRpb24gaXMgbm90IGluIHRoZSBzYW1lIHJvdXRpbmUgYXMgdGhlIF9fYmRv cyBjYWxsIGFzIHNob3duIGluIHRoZSBhYm92ZSBleGFtcGxlOw0KPj4gKiogQXBwcm9hY2ggQiB3 aWxsIGhhdmUgYSBiaWdnZXIgcGVyZm9ybWFuY2UgaW1wYWN0IGR1ZSB0byB0aGUgInZvbGF0aWxl IiB3aWxsIGluaGliaXQgYSBsb3Qgb2Ygb3B0aW1pemF0aW9uczsNCj4+ICoqIEFwcHJvYWNoIEMg d2lsbCBpbnZvbHZlIGEgbG90IG9mIGNoYW5nZXMgaW4gR0NDLCBhbmQgYWxzbyBub3QgdmVyeSBu ZWNlc3Nhcnkgc2luY2UgdGhlIE9OTFkgaW1wbGljaXQgdXNlIG9mIHRoZSBzaXplIHBhcmFtZXRl ciBpcyBpbiB0aGUgX19iZG9zIGNhbGwgd2hlbiBfX2Jkb3MgY2FuIHNlZSB0aGUgcmVhbCBvYmpl Y3QuDQoNCg==