Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1seFq8-005Q37-JC for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Aug 2024 15:23:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1seFq5-00B4fF-Jr for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Aug 2024 15:23:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1seFq3-00B4f7-Tp for pgsql-hackers@lists.postgresql.org; Wed, 14 Aug 2024 15:23:05 +0000 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1seFq0-004inM-3c for pgsql-hackers@postgresql.org; Wed, 14 Aug 2024 15:23:02 +0000 Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47EDTp1P015949; Wed, 14 Aug 2024 15:22:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from :to:cc:date:message-id:references:in-reply-to:content-type :mime-version:subject; s=pp1; bh=TZh/md7c77NJ3ph+dqFjwN4TI6qin2L sfkhYld+bysg=; b=mO9l4lHx10s866QCx0oUX2OPHSm/pDSxVAOnQB+m4H9U/tU BNU6SQtbj8dPglmtzGoNeQFLxw8LHiFlVHJTDpbl9iZV5E90bHIVYlUCRAlWTghz 8wTUx5mxXlaM4Niny3slDklyfOB/rSmsrPtia7DgQR0wnQNXR5VCKvAC6ROL3L4h LpWYMWIzww/6o13SRrpeXbxMqxD59qII+nivbt3s2Olj0cKDYUbexToa71DLVbvv 4Br47ETFCbuIj+VL2oiLeQ15l3jqO9a5nImGYVAqUbETMoTOjvnXewsQiUOm3V0Q nbUpDLEi92XP0IrL2kAw7wqHH4JVrB7ArMOB8kQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 410wh30h1j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Aug 2024 15:22:42 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 47EFIjKW012342; Wed, 14 Aug 2024 15:22:41 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 410wh30h1f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Aug 2024 15:22:41 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qskm1AeS5ke/c0Iz784z9FjUvO1x62L0IQ4cx8zBr4jX178vrp79h27uXEqKNg1mA4E+cn2bJcPhdR9yj8fVmBkc5Gr2WTvEOBDwFaCbRdPu9p9NS8Ru24egCU+lZyNe64n2KQ/rbZd2hsifGtwS7AcvcsTxI8EB53FD9w3CG3Y2jpqbYZXGcwxOH9JIKRXkOQIifrny6gFK0MAgZmTPxYSXLETnpEvfRmvXLCnZ1ZbNiKFlE0Lm+srqsgQQlutw1/+fUxB38gxXx6NU5IzMfuvj/oOi1ccDAxzKg29CmJFT4kQabzh9DehdKJh6HoQMN2mTu1StRSSzQGvJevoFEg== 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=TZh/md7c77NJ3ph+dqFjwN4TI6qin2LsfkhYld+bysg=; b=S+ht+Nbo0ZS3s4bUwwAAoprCtl4/IcX+G/9zjqDgnFUNLd1uOwInDFvGoUryZ1MUoDZOrjeS6gnhkQLrbMXFkS5nnk2pyFtYo5A/kjeDFbox7PbuV8Q6Ge2RnpkfpAJcaf5giFpHMLtxLS/OM/gS9Dr64h1lmKnAAGZsHE4K0HVSnrFlkN2xqJbGeu+ENhviItQ3/7pFZKYEX1/wXrtx3emv7s0jykjDuyJkLJzl2nTigAZsITiwgPeLSiAcvdgTGZz5pLqcnIy0AKnR9s5jKpBUIgw5F6OGByJxRtrkpu35gGxRbBPH8WJCnrT5GndqUAy3sZeOKZMsM4a9ZfjqDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=in.ibm.com; dmarc=pass action=none header.from=in.ibm.com; dkim=pass header.d=in.ibm.com; arc=none Received: from CY8PR15MB5602.namprd15.prod.outlook.com (2603:10b6:930:9a::21) by MW3PR15MB3929.namprd15.prod.outlook.com (2603:10b6:303:4a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.18; Wed, 14 Aug 2024 15:22:37 +0000 Received: from CY8PR15MB5602.namprd15.prod.outlook.com ([fe80::e975:185c:340f:70ae]) by CY8PR15MB5602.namprd15.prod.outlook.com ([fe80::e975:185c:340f:70ae%5]) with mapi id 15.20.7849.021; Wed, 14 Aug 2024 15:22:37 +0000 From: Srirama Kucherlapati To: Heikki Linnakangas , Heikki Linnakangas , Laurenz Albe , Bruce Momjian CC: Peter Eisentraut , Alvaro Herrera , "pgsql-hackers@postgresql.org" , Noah Misch , Michael Paquier , Andres Freund , Tom Lane , Thomas Munro , "tvk1271@gmail.com" , "postgres-ibm-aix@wwpdl.vnet.ibm.com" Thread-Topic: [EXTERNAL] Re: AIX support Thread-Index: AQHae4rr5/ageaPz8EuxaB+VNKiBu7FCOGKAgAArgSaACn9l2IABLM4AgAADTgCAAAP8gIAABU6AgAvJNWiAAB/ogIATySEqgACu3ACAARripYAB4tSAgAAMOICABwWYgIAAB3wAgAAD0oCAAAcGgIACYnHWgAxC+/6AAz5ikoAC7ZKggAAzhgCAAAZWgIALF3TtgAAGbYCAAAc8toABabZigAAKZACACX4wBIAA83CAgAA8Eh6AAGyZAIAD7Q2AgBOpYxWABEWoAIABtJbFgAm10OGAAxsEAIAACpc/gAM2cX+AU/nKsoAASmYAgAB8Ess= Date: Wed, 14 Aug 2024 15:22:18 +0000 Message-ID: References: <698dd3efec644b5c0dd6220d73033f8153ae2fde.camel@cybertec.at> <95a44be0-b2f8-464a-8984-771d892b1cac@iki.fi> In-Reply-To: <95a44be0-b2f8-464a-8984-771d892b1cac@iki.fi> Accept-Language: en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR15MB5602:EE_|MW3PR15MB3929:EE_ x-ms-office365-filtering-correlation-id: 129c1b8b-f357-48c9-e40d-08dcbc74ee15 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016|38070700018; x-microsoft-antispam-message-info: =?Windows-1252?Q?htzwXphxGRTHLS0xvLelM1+/NORR6XIoUpbHFzJjGaZw/gBdwtDGrwuy?= =?Windows-1252?Q?kSideXsrSmlB3/dQKxEOsKHoCD6tvM0evR9E1P5Hj/mELfp1phE/quHg?= =?Windows-1252?Q?4OnFpE35uNjfLQ3INt4tVMTXRafe0K+Y0oYJtQw+bSQ8ZRUZYiJnjZS4?= =?Windows-1252?Q?CUjvVPWWwDlsufZXaXZ+XPV2I21MfBWKrIKe6WRq57JcCB5b7FaSZDdJ?= =?Windows-1252?Q?Yi75xwkeXJsuWF8Cmlc62jhy+boRn2EHMli0Z0LaWzTuF+HSyd5rm56s?= =?Windows-1252?Q?BftTnH2XsSwjvJGwgdXSuLZna2pgQDbjkoj+4rAupMuYIJ3hrXInHkCY?= =?Windows-1252?Q?fqa38FdOM1scK6dRbtXn1/R3vFtxtJsQIyb0fHRNbXZA7u4AFZqZ/YSD?= =?Windows-1252?Q?E0VRsdyp5ZNfhm8vu57ke/29UT4ItanVaktPrfKCOcJYYBbe2gfbM0RV?= =?Windows-1252?Q?h8tT1RU8degXKjK/ev2cEQRppedq9biAwr1KWXxDZxy2efBwUqfj2MHh?= =?Windows-1252?Q?7CppMJiiG+6fq9wzPUAykRQonOzi3OR/+zzpLS0xFAKkOcd67EC2hISF?= =?Windows-1252?Q?xzW+GHyQdnWIt2iOFSVzDJHS7VyFDSx31TlXWtCfP6OwXtuQlrIi5xir?= =?Windows-1252?Q?eHZ4CfvH0/poPLT0J3igimtqd67mUvE9OyIf2gL/WDV1O5CDAtBpFCI0?= =?Windows-1252?Q?0TK4UBvbAXgF/FoK/7b7XWj5XHFgizIbxqsxbYwJ6ei+ffXopymjCXUm?= =?Windows-1252?Q?TAg5WlqKmrwZU5wKy7/4/CAk5xDKVfeGsW0qkffJAWeMyWYHHjGB40Mf?= =?Windows-1252?Q?UKmfaYeVWuy7U8TEwa4YKi+4aw9cGw0CprOavU5fnnxHIEhdm6Fl/GhF?= =?Windows-1252?Q?NmfVpQ5WMDiwoviUM50RrHvIa7BW4G5N4yrB+4uA08MkgcVWaDh7bpn1?= =?Windows-1252?Q?aX7WBR7y3yH/oSOHtukqphhSImByeryTu9f1vJE71Lx9AlrCf67Suy0/?= =?Windows-1252?Q?6l1OwZT6F4sktohHJdymJoili/zHjeKNnVKP3dyUXosWjb48u8yVJBk/?= =?Windows-1252?Q?6r7ATTtbJD92aEmRLVIhvqe9SrT7v/0ghmlrvuISAf2NS5Wp0oA/UQvB?= =?Windows-1252?Q?lXPBmO94uRW979OST1fIiqHgAT5W6b7ZxZJoBKUK0F0IY4DlNV3U9r4w?= =?Windows-1252?Q?rvEvOAu2eCiWnlDntJgZVXkERISJuB0+/lgQWTfEHjuBKIfQjH/Oe/mS?= =?Windows-1252?Q?G9oooH+/E1sEIYrf96IO1GQ9LqMdcc+uDPnt2fW2V973XLf6ZfQqVd9w?= =?Windows-1252?Q?K4v+mPGwUMg3ap7xtz9ucu8OAs4VihsqcRUWFdJiMb9nNpYA9Dm12t0R?= =?Windows-1252?Q?Wf9G0dWAG8iTDJcYaJbdDf6WkIYJ9OkVblTY6d3UXNFba/tBBkwzQ3ok?= =?Windows-1252?Q?FQ/6VM0s47fBNAenuaoe6h3PEw6u6iT5dBu7XZRbamZLigYGT+Ypb2je?= =?Windows-1252?Q?GfWJlSUjDUAb64wLnPUYWiw1SSeHYQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR15MB5602.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?YDoBWBngz91l7mH+JNtUNfnLDtIIANFFdHT2e4RXfB4vxvSulmBmtVPy?= =?Windows-1252?Q?vAIgjOUaFkTlX5Jhf9hKKAQqzneNk3u+4mS041Sw1QeWJJFmNxCoggXg?= =?Windows-1252?Q?/9/XUBur8kSU4ve+qEbtKj7+hkLvGXFv654bJn3fM2ceQgTi/0eAaqQv?= =?Windows-1252?Q?hp1gWy3mhlLeT/bS42nu8f87RaTXBj7TXXfYlzj5k8X4OtufCnsm22ck?= =?Windows-1252?Q?9UxMIsGujRKgrTGl7hqrm4qg6AhDL09V43aNWzSCzYxDAB1m3qYURW7X?= =?Windows-1252?Q?n+qrV3AI/cyVmhU1WJ00TB9EOW0BHRN/HoAh255ucDvhT2RwbkqP+2t0?= =?Windows-1252?Q?++OVpF5HrxT+qQuPhK50PvAhwO7Q29WLFLHnOvJH49TYCA8rJ3aUvMov?= =?Windows-1252?Q?UGeWZSbVPrmQmqAXevPdvoexChbhNLy9tNYHVTEQeDdTT4P1uhM240Er?= =?Windows-1252?Q?oScZsZr6chl4P4kLyBsgOi85U3hMIwCynZTUCop5sqiYPWfKXdkDJ5Hh?= =?Windows-1252?Q?fpj6SLk12jitPa42NVxM2qBoqVSd23ydXUX/vgmjy5qywk7gL8p3EI9s?= =?Windows-1252?Q?9mkdkBgJGz6Tq6H0Ri+WLLnVhhh7aJZHtSITNOas0ta2JyCBWhDAt5mN?= =?Windows-1252?Q?RHpq3bBY2R71oYRDglJLGLACxK6I1f1qTNhthwFZmTx2acPw5YAGwIPJ?= =?Windows-1252?Q?DKdg4xtJ8cR0fbPXs6RRGIc9ULrF1s2hB7zkp6U3Ex7mEbiLu8Il7MVX?= =?Windows-1252?Q?95cZqFHO6McBvpzWH6z3bKOb89Jqu7TlWjmpnegQgsuHkGSAXHMEb5a4?= =?Windows-1252?Q?fPlPz4QkS/eI1cSOOvx/sQ/gj6WU6kAUxRyCSeO00XF66XUN+Y292Xtb?= =?Windows-1252?Q?e12Ovz+bezrz7/+IRMvav7Om3TFCV3pfvhSS9QZl+WQa/MzccgCcbiku?= =?Windows-1252?Q?qWWaU2ITq/OhgLlG3eCnlSld6ojRZU9YlnTUh73/rTfLE1mza904k9Jd?= =?Windows-1252?Q?pfmpCPsfYIxodDcnwfwLGFhOMImHoeWPz9M91Yph00dK817EHGoLUmXg?= =?Windows-1252?Q?pNLlE0pQOnlb2zu9jG0pfI5xDgIPSbEsY5p+DBlBHbyIjz9i9hEhu7T0?= =?Windows-1252?Q?rLrzSmQNhEhL6/z7ckDbzZ6EVfdBrj6zrMlDhtdqcwKE/Txh1c2FXkV4?= =?Windows-1252?Q?O/wYHRtcvUDCDB2XwEVdFGFTWHUvEpTKutM0NM49Z7Y1HNA2umNBrCrG?= =?Windows-1252?Q?UzQEy76QTv80PhgupqCwnRvZH6LIjkUFvB6Ti7wDJEEciNCsRL+4hEyc?= =?Windows-1252?Q?Mac6LFvv+wVd9J23nDX9oy8LsP0Ly2pfhFPoeEE08WAqhWouaXErU7Mw?= =?Windows-1252?Q?2wmFjjTstrD+/1Ge0dVZxOQ5k6Or/MbMu8hQE39zhAC/9XmHeD0bPauE?= =?Windows-1252?Q?4WVtb/1LOOjBiz7PauX8vRYmac30gYQwnr8+lABvJdThaoZxZANFhr8I?= =?Windows-1252?Q?nuhajR6c1GbM27LpTd0DNY+mzyJBWEdOVessUak3e02pbmacAE+bm4fE?= =?Windows-1252?Q?fRfGyNt9XEsvfl25K5xQhy/1c5UZT1IWihNgl3OhW8stUnOvUzFKa1rq?= =?Windows-1252?Q?JKaHYnIJcDKezkQmH/QhInb4si2h17KTsj1JMrCJGDIgCLLO4schszb3?= =?Windows-1252?Q?rBCyqKg069zrXYo4MNjVHst62BEtGQku?= Content-Type: multipart/mixed; boundary="_004_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_" MIME-Version: 1.0 X-OriginatorOrg: in.ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR15MB5602.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 129c1b8b-f357-48c9-e40d-08dcbc74ee15 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2024 15:22:37.5778 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Acle2oY1jw3J9YlhBFk2tuoGMbTVj+KFV4z/j7V3Nf6Dxik1/ihDZhul9G1zUfig9XWbL5KGNKsDztCDUiAcfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR15MB3929 X-Proofpoint-ORIG-GUID: Pw5rLHq_swuiNqLMhfd9rp3K7aAYqcIi X-Proofpoint-GUID: 4OkMhrzOLly4BHMp-jKcV-dTkVrsWqFd Subject: RE: AIX support X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-08-14_11,2024-08-13_02,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=790 clxscore=1015 bulkscore=0 phishscore=0 spamscore=0 mlxscore=0 malwarescore=0 adultscore=0 impostorscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2407110000 definitions=main-2408140104 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_ Content-Type: multipart/alternative; boundary="_000_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_" --_000_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi Heikki, I have attached the merged patch with all the changes, the earlier patch wa= s just only the changes specific to older review comments. > I'm sorry, I don't understand what you're saying here. Do you mean th= at > we don't need to do anything here, and the code we have in s_lock.h i= n > 'master' now will work fine on AIX? Or do we need to (re-)do some > changes to support AIX again? If we only support GCC, can we use the > __sync_lock_test_and_set() builtin instead? Here we need these changes for ppc. These changes are not for enabling the AIX support, but this is implementing =93Enhanced PowerPC Architecture= =94. This routine is more of compare_and_increment, which is different from GCC __sync_lock_test_and_set(). Also I tried to write a sample function to check the assemble generated by __sync_lock_test_and_set(), which turned ou= t to be different set of assemble code. > > +#define TAS(lock) _check_lock((slock_t *) (lo= ck), > > 0, 1) > > >> +#define S_UNLOCK(lock) _clear_lock((slock_t *) (lock), 0) >> > > The above changes are specific to AIX kernel and it operates on fix= ed > > kernel memory. This is more like a compare_and_swap functionality w= ith > > sync capability. For all the assemble code I think it would be bett= er to > > use the IBM Power specific asm code to gain additional performance. > You mean we don't need the above? Ok, good. I mean this part of the code is needed as this is specific to AIX kernel me= mory operation which is different from __sync_lock_test_and_set(). I would like to mention that the changes made in src/include/storage/s_lock= .h are pretty much required and need to be operated in assemble specific to IB= M Power architecture. Warm regards, Sriram. --_000_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

Hi Heikki,

I have attached the merged patch with all the changes, the earlier = patch was

just only the changes specific to older review comments.=

 

 

    > I'm sorry, I don't understand what you're s= aying here. Do you mean that

    > we don't need to do anything here, and the = code we have in s_lock.h in

    > 'master' now will work fine on AIX? Or do w= e need to (re-)do some

    > changes to support AIX again? If we only su= pport GCC, can we use the

    > __sync_lock_test_and_set() builtin instead?=

 

Here we need these changes for ppc. These changes are not for enabl= ing

the AIX support, but this is implementing =93Enhanced PowerPC Archi= tecture=94.

This routine is more of compare_and_increment, which is different f= rom

GCC __sync_lock_test_and_set(). Also I tried to write a sample func= tion to

check the assemble generated by __sync_lock_test_and_set(), which t= urned out to

be different set of assemble code.

 

 

    > > +#define TAS(lock)   &n= bsp;            = ;      _check_lock((slock_t *) (lock),<= /span>

    > > 0, 1)

    > >

    >>  +#define S_UNLOCK(lock) &nbs= p;       _clear_lock((slock_t *) (lock), 0)

    >>

    > > The above changes are specific to AIX = kernel and it operates on fixed

    > > kernel memory. This is more like a com= pare_and_swap functionality with

    > > sync capability. For all the assemble = code I think it would be better to

    > > use the IBM Power specific asm code to= gain additional performance.

 

    > You mean we don't need the above? Ok, good.=

 

I mean this part of the code is needed as this is specific to AIX k= ernel memory

operation which is different from __sync_lock_test_and_set().<= /o:p>

 

I would like to mention that the changes made in src/include/storag= e/s_lock.h

are pretty much required and need to be operated in assemble specif= ic to IBM

Power architecture.

 

Warm regards= ,

Sriram.=

 

--_000_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_-- --_004_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_ Content-Type: application/octet-stream; name="0001-AIX-support-revert-the-changes-from-0b16bb8776bb8.v3.patch" Content-Description: 0001-AIX-support-revert-the-changes-from-0b16bb8776bb8.v3.patch Content-Disposition: attachment; filename="0001-AIX-support-revert-the-changes-from-0b16bb8776bb8.v3.patch"; size=44790; creation-date="Wed, 14 Aug 2024 15:12:29 GMT"; modification-date="Wed, 14 Aug 2024 15:12:29 GMT" Content-Transfer-Encoding: base64 RnJvbSAwZWNmODcyNDRkZWE2NTMwYWJlZDBkNmY1MTcyMzk3ZTI0ZmRhOTIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTcmlyYW0gUksgPHNyaXJhbS5ya0Bpbi5pYm0uY29tPgpEYXRl OiBNb24sIDIwIE1heSAyMDI0IDAxOjM4OjU5IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQUlYIHN1 cHBvcnQsIHJldmVydCB0aGUgY2hhbmdlcyBmcm9tIDBiMTZiYjg3NzZiYjguIFRyaW0KIEFJWC9Y TEMgY2hhbmdlcyB0byBzdXBwb3J0IGdjYyBvbmx5LgoKUmV2aWV3IGNvbW1lbnRzIGZyb20gSGVp a2tpLgotLS0KIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiAtCiBjb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MzcgKysrLS0tCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMjggKystLS0KIGRvYy9zcmMvc2dtbC9kZnVuYy5zZ21sICAgICAgICAgICAgICAgICAgICAg ICB8ICAxOSArKysKIGRvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbCAgICAgICAgICAgICAg ICB8IDExOCArKysrKysrKysrKysrKysrKy0KIGRvYy9zcmMvc2dtbC9ydW50aW1lLnNnbWwgICAg ICAgICAgICAgICAgICAgICB8ICAyMyArKysrCiBtZXNvbi5idWlsZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNTcgKysrKystLS0tCiBzcmMvTWFrZWZpbGUuc2hsaWIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjkgKysrKysKIHNyYy9iYWNrZW5kL01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMCArKysKIHNyYy9iYWNrZW5kL21lc29uLmJ1 aWxkICAgICAgICAgICAgICAgICAgICAgICB8ICAxNSArKysKIHNyYy9iYWNrZW5kL3BvcnQvYWl4 L21rbGRleHBvcnQuc2ggICAgICAgICAgICB8ICA2MSArKysrKysrKysKIHNyYy9iYWNrZW5kL3V0 aWxzL2Vycm9yL2Vsb2cuYyAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmMvYmFja2VuZC91dGls cy9taXNjL3BzX3N0YXR1cy5jICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9iaW4vcGdfYmFzZWJh Y2t1cC90LzAxMF9wZ19iYXNlYmFja3VwLnBsICB8ICAgMyArLQogc3JjL2Jpbi9wZ192ZXJpZnli YWNrdXAvdC8wMDhfdW50YXIucGwgICAgICAgIHwgICAzICstCiBzcmMvYmluL3BnX3ZlcmlmeWJh Y2t1cC90LzAxMF9jbGllbnRfdW50YXIucGwgfCAgIDMgKy0KIHNyYy9pbmNsdWRlL2MuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvcG9ydC9haXgu aCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsKIHNyYy9pbmNsdWRlL3N0b3JhZ2Uvc19s b2NrLmggICAgICAgICAgICAgICAgICB8ICAyNSArKystCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9N YWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL21l c29uLmJ1aWxkICAgICAgICAgICAgICB8ICAgNSArLQogc3JjL21ha2VmaWxlcy9NYWtlZmlsZS5h aXggICAgICAgICAgICAgICAgICAgIHwgIDM5ICsrKysrKwogc3JjL3BvcnQvUkVBRE1FICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvcG9ydC9zdHJlcnJvci5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL3RlbXBsYXRlL2FpeCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICsrKwogc3JjL3Rlc3QvcmVncmVzcy9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgIHwgICA1ICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c2FuaXR5X2NoZWNrLm91dCAgICB8ICAyOSArKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC90ZXN0X3NldHVwLm91dCAgICAgIHwgICA0ICsKIHNyYy90ZXN0L3JlZ3Jlc3MvcmVncmVzcy5j ICAgICAgICAgICAgICAgICAgICB8ICA0MCArKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nh bml0eV9jaGVjay5zcWwgICAgICAgICB8ICAyNiArKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC90 ZXN0X3NldHVwLnNxbCAgICAgICAgICAgfCAgIDUgKwogc3JjL3Rvb2xzL2dlbl9leHBvcnQucGwg ICAgICAgICAgICAgICAgICAgICAgIHwgIDExICstCiBzcmMvdG9vbHMvcGdpbmNsdWRlL2hlYWRl cnNjaGVjayAgICAgICAgICAgICAgfCAgIDEgKwogMzMgZmlsZXMgY2hhbmdlZCwgNTU1IGluc2Vy dGlvbnMoKyksIDg5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy9iYWNrZW5k L3BvcnQvYWl4L21rbGRleHBvcnQuc2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9w b3J0L2FpeC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL21ha2VmaWxlcy9NYWtlZmlsZS5haXgK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVtcGxhdGUvYWl4CgpkaWZmIC0tZ2l0IGEvTWFrZWZp bGUgYi9NYWtlZmlsZQppbmRleCA4YTJlYzkzOTZiLi45YmMxYTRlYzE3IDEwMDY0NAotLS0gYS9N YWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMTMsOCArMTMsNiBAQAogCiAjIEFJWCBtYWtlIGRl ZmF1bHRzIHRvIGJ1aWxkaW5nICpldmVyeSogdGFyZ2V0IG9mIHRoZSBmaXJzdCBydWxlLiAgU3Rh cnQgd2l0aAogIyBhIHNpbmdsZS10YXJnZXQsIGVtcHR5IHJ1bGUgdG8gbWFrZSB0aGUgb3RoZXIg dGFyZ2V0cyBub24tZGVmYXVsdC4KLSMgKFdlIGRvbid0IHN1cHBvcnQgQUlYIGFueW1vcmUsIGJ1 dCBpZiBzb21lb25lIHRyaWVzIHRvIGJ1aWxkIG9uIEFJWCBhbnl3YXksCi0jIGF0IGxlYXN0IHRo ZXknbGwgZ2V0IHRoZSBpbnN0cnVjdGlvbnMgdG8gcnVuICdjb25maWd1cmUnIGZpcnN0LikKIGFs bDoKIAogYWxsIGNoZWNrIGluc3RhbGwgaW5zdGFsbGRpcnMgaW5zdGFsbGNoZWNrIGluc3RhbGxj aGVjay1wYXJhbGxlbCB1bmluc3RhbGwgY2xlYW4gZGlzdGNsZWFuIG1haW50YWluZXItY2xlYW4g ZGlzdCBkaXN0Y2hlY2sgd29ybGQgY2hlY2std29ybGQgaW5zdGFsbC13b3JsZCBpbnN0YWxsY2hl Y2std29ybGQ6CmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggODk2NDRm MjI0OS4uZjIxOGIyZTA0MCAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpA QCAtMjk4OCw2ICsyOTg4LDcgQEAgZWxzZQogIyAtLXdpdGgtdGVtcGxhdGUgbm90IGdpdmVuCiAK IGNhc2UgJGhvc3Rfb3MgaW4KKyAgICAgYWl4KikgdGVtcGxhdGU9YWl4IDs7CiAgIGN5Z3dpbip8 bXN5cyopIHRlbXBsYXRlPWN5Z3dpbiA7OwogICBkYXJ3aW4qKSB0ZW1wbGF0ZT1kYXJ3aW4gOzsK IGRyYWdvbmZseSopIHRlbXBsYXRlPW5ldGJzZCA7OwpAQCAtNjg0OCw3ICs2ODQ5LDYgQEAgaWYg dGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19mbm9fc3RyaWN0X2FsaWFzaW5nIiA9 IHgieWVzIjsgdGhlbgogICBDWFhGTEFHUz0iJHtDWFhGTEFHU30gLWZuby1zdHJpY3QtYWxpYXNp bmciCiBmaQogCi0KIGZpCiAKICMgSWYgdGhlIGNvbXBpbGVyIGtub3dzIGhvdyB0byBoaWRlIHN5 bWJvbHMsIGFkZCB0aGUgc3dpdGNoIG5lZWRlZCBmb3IgdGhhdCB0bwpAQCAtMTI4NjAsNyArMTI4 NjAsOCBAQCBmaQogCiBmaQogCi0jIE5vdGU6IFdlIGNhbiB0ZXN0IGZvciBsaWJsZGFwX3Igb25s eSBhZnRlciB3ZSBrbm93IFBUSFJFQURfTElCUworIyBOb3RlOiBXZSBjYW4gdGVzdCBmb3IgbGli bGRhcF9yIG9ubHkgYWZ0ZXIgd2Uga25vdyBQVEhSRUFEX0xJQlM7CisjIGFsc28sIG9uIEFJWCwg d2UgbWF5IG5lZWQgdG8gaGF2ZSBvcGVuc3NsIGluIExJQlMgZm9yIHRoaXMgc3RlcC4KIGlmIHRl c3QgIiR3aXRoX2xkYXAiID0geWVzIDsgdGhlbgogICBfTElCUz0iJExJQlMiCiAgIGlmIHRlc3Qg IiRQT1JUTkFNRSIgIT0gIndpbjMyIjsgdGhlbgpAQCAtMTY5NTEsMjggKzE2OTUyLDE4IEBAIF9B Q0VPRgogCiAKICMgQ29tcHV0ZSBtYXhpbXVtIGFsaWdubWVudCBvZiBhbnkgYmFzaWMgdHlwZS4K LSMKLSMgV2UgcmVxdWlyZSAnZG91YmxlJyB0byBoYXZlIHRoZSBzdHJpY3Rlc3QgYWxpZ25tZW50 IGFtb25nIHRoZSBiYXNpYyB0eXBlcywKLSMgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEMgQUJJIG1p Z2h0IGltcG9zZSA4LWJ5dGUgYWxpZ25tZW50IG9uIHNvbWUgb2YgdGhlCi0jIG90aGVyIEMgdHlw ZXMgdGhhdCBjb3JyZXNwb25kIHRvIFRZUEFMSUdOX0RPVUJMRSBTUUwgdHlwZXMuICBUaGF0IGNv dWxkCi0jIGNhdXNlIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgdHVwbGUgbGF5b3V0IGFuZCB0aGUg QyBzdHJ1Y3QgbGF5b3V0IG9mIGEKLSMgY2F0YWxvZyB0dXBsZS4gIFdlIHVzZWQgdG8gY2FyZWZ1 bGx5IG9yZGVyIGNhdGFsb2cgY29sdW1ucyBzdWNoIHRoYXQgYW55Ci0jIGZpeGVkLXdpZHRoLCBh dHRhbGlnbj00IGNvbHVtbnMgd2VyZSBhdCBvZmZzZXRzIGRpdmlzaWJsZSBieSA4IHJlZ2FyZGxl c3MKLSMgb2YgTUFYSU1VTV9BTElHTk9GIHRvIGF2b2lkIHRoYXQsIGJ1dCB3ZSBubyBsb25nZXIg c3VwcG9ydCBhbnkgcGxhdGZvcm1zCi0jIHdoZXJlIFRZUEFMSUdOX0RPVUJMRSAhPSBNQVhJTVVN X0FMSUdOT0YuCi0jCi0jIFdlIGFzc3VtZSB3aXRob3V0IGNoZWNraW5nIHRoYXQgbG9uZydzIGFs aWdubWVudCBpcyBhdCBsZWFzdCBhcyBzdHJvbmcgYXMKLSMgY2hhciwgc2hvcnQsIG9yIGludC4g IE5vdGUgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IGRvIG5vdCBjb25zaWRlciBhbnkgdHlwZXMKLSMg d2lkZXIgdGhhbiA2NCBiaXRzLCBhcyBhbGxvd2luZyBNQVhJTVVNX0FMSUdOT0YgdG8gZXhjZWVk IDggd291bGQgYmUgdG9vCi0jIG11Y2ggb2YgYSBwZW5hbHR5IGZvciBkaXNrIGFuZCBtZW1vcnkg c3BhY2UuCi0KLU1BWF9BTElHTk9GPSRhY19jdl9hbGlnbm9mX2RvdWJsZQorIyBXZSBhc3N1bWUg bG9uZydzIGFsaWdubWVudCBpcyBhdCBsZWFzdCBhcyBzdHJvbmcgYXMgY2hhciwgc2hvcnQsIG9y IGludDsKKyMgYnV0IHdlIG11c3QgY2hlY2sgbG9uZyBsb25nIChpZiBpdCBpcyBiZWluZyB1c2Vk IGZvciBpbnQ2NCkgYW5kIGRvdWJsZS4KKyMgTm90ZSB0aGF0IHdlIGludGVudGlvbmFsbHkgZG8g bm90IGNvbnNpZGVyIGFueSB0eXBlcyB3aWRlciB0aGFuIDY0IGJpdHMsCisjIGFzIGFsbG93aW5n IE1BWElNVU1fQUxJR05PRiB0byBleGNlZWQgOCB3b3VsZCBiZSB0b28gbXVjaCBvZiBhIHBlbmFs dHkKKyMgZm9yIGRpc2sgYW5kIG1lbW9yeSBzcGFjZS4KIAotaWYgdGVzdCAkYWNfY3ZfYWxpZ25v Zl9sb25nIC1ndCAkTUFYX0FMSUdOT0YgOyB0aGVuCi0gIGFzX2ZuX2Vycm9yICQ/ICJhbGlnbm1l bnQgb2YgJ2xvbmcnIGlzIGdyZWF0ZXIgdGhhbiB0aGUgYWxpZ25tZW50IG9mICdkb3VibGUnIiAi JExJTkVOTyIgNQorTUFYX0FMSUdOT0Y9JGFjX2N2X2FsaWdub2ZfbG9uZworaWYgdGVzdCAkTUFY X0FMSUdOT0YgLWx0ICRhY19jdl9hbGlnbm9mX2RvdWJsZSA7IHRoZW4KKyAgTUFYX0FMSUdOT0Y9 JGFjX2N2X2FsaWdub2ZfZG91YmxlCiBmaQotaWYgdGVzdCB4IiRIQVZFX0xPTkdfTE9OR19JTlRf NjQiID0geHllcyAmJiB0ZXN0ICRhY19jdl9hbGlnbm9mX2xvbmdfbG9uZ19pbnQgLWd0ICRNQVhf QUxJR05PRiA7IHRoZW4KLSAgYXNfZm5fZXJyb3IgJD8gImFsaWdubWVudCBvZiAnbG9uZyBsb25n IGludCcgaXMgZ3JlYXRlciB0aGFuIHRoZSBhbGlnbm1lbnQgb2YgJ2RvdWJsZSciICIkTElORU5P IiA1CitpZiB0ZXN0IHgiJEhBVkVfTE9OR19MT05HX0lOVF82NCIgPSB4eWVzICYmIHRlc3QgJE1B WF9BTElHTk9GIC1sdCAkYWNfY3ZfYWxpZ25vZl9sb25nX2xvbmdfaW50IDsgdGhlbgorICBNQVhf QUxJR05PRj0iJGFjX2N2X2FsaWdub2ZfbG9uZ19sb25nX2ludCIKIGZpCiAKIGNhdCA+PmNvbmZk ZWZzLmggPDxfQUNFT0YKQEAgLTE3MDkwLDcgKzE3MDgxLDcgQEAgZWxzZQogLyogZW5kIGNvbmZk ZWZzLmguICAqLwogCiAvKiBUaGlzIG11c3QgbWF0Y2ggdGhlIGNvcnJlc3BvbmRpbmcgY29kZSBp biBjLmg6ICovCi0jaWYgZGVmaW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfX1NVTlBST19DKQor I2lmIGRlZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQoX19TVU5QUk9fQykgfHwgZGVmaW5lZChf X0lCTUNfXykKICNkZWZpbmUgcGdfYXR0cmlidXRlX2FsaWduZWQoYSkgX19hdHRyaWJ1dGVfXygo YWxpZ25lZChhKSkpCiAjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQogI2RlZmluZSBwZ19hdHRyaWJ1 dGVfYWxpZ25lZChhKSBfX2RlY2xzcGVjKGFsaWduKGEpKQpkaWZmIC0tZ2l0IGEvY29uZmlndXJl LmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGM3MzIyZTI5MmMuLmEwNTk1MDljZDkgMTAwNjQ0Ci0t LSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTYyLDYgKzYyLDcgQEAgUEdB Q19BUkdfUkVRKHdpdGgsIHRlbXBsYXRlLCBbTkFNRV0sIFtvdmVycmlkZSBvcGVyYXRpbmcgc3lz dGVtIHRlbXBsYXRlXSwKICMgLS13aXRoLXRlbXBsYXRlIG5vdCBnaXZlbgogCiBjYXNlICRob3N0 X29zIGluCisgICAgIGFpeCopIHRlbXBsYXRlPWFpeCA7OwogICBjeWd3aW4qfG1zeXMqKSB0ZW1w bGF0ZT1jeWd3aW4gOzsKICAgZGFyd2luKikgdGVtcGxhdGU9ZGFyd2luIDs7CiBkcmFnb25mbHkq KSB0ZW1wbGF0ZT1uZXRic2QgOzsKQEAgLTEzODUsNyArMTM4Niw4IEBAIGlmIHRlc3QgIiR3aXRo X3pzdGQiID0geWVzIDsgdGhlbgogICBBQ19DSEVDS19MSUIoenN0ZCwgWlNURF9jb21wcmVzcywg W10sIFtBQ19NU0dfRVJST1IoW2xpYnJhcnkgJ3pzdGQnIGlzIHJlcXVpcmVkIGZvciBaU1REIHN1 cHBvcnRdKV0pCiBmaQogCi0jIE5vdGU6IFdlIGNhbiB0ZXN0IGZvciBsaWJsZGFwX3Igb25seSBh ZnRlciB3ZSBrbm93IFBUSFJFQURfTElCUworIyBOb3RlOiBXZSBjYW4gdGVzdCBmb3IgbGlibGRh cF9yIG9ubHkgYWZ0ZXIgd2Uga25vdyBQVEhSRUFEX0xJQlM7CisjIGFsc28sIG9uIEFJWCwgd2Ug bWF5IG5lZWQgdG8gaGF2ZSBvcGVuc3NsIGluIExJQlMgZm9yIHRoaXMgc3RlcC4KIGlmIHRlc3Qg IiR3aXRoX2xkYXAiID0geWVzIDsgdGhlbgogICBfTElCUz0iJExJQlMiCiAgIGlmIHRlc3QgIiRQ T1JUTkFNRSIgIT0gIndpbjMyIjsgdGhlbgpAQCAtMTY0Myw4ICsxNjQ1LDkgQEAgUEdBQ19UWVBF X0xPQ0FMRV9UCiAjIHNwZWxsaW5nIGl0IHVuZGVyc3RhbmRzLCBiZWNhdXNlIGl0IGNvbmZsaWN0 cyB3aXRoCiAjIF9fZGVjbHNwZWMocmVzdHJpY3QpLiBUaGVyZWZvcmUgd2UgZGVmaW5lIHBnX3Jl c3RyaWN0IHRvIHRoZQogIyBhcHByb3ByaWF0ZSBkZWZpbml0aW9uLCB3aGljaCBwcmVzdW1hYmx5 IHdvbid0IGNvbmZsaWN0LgorIwogQUNfQ19SRVNUUklDVAotaWYgdGVzdCAiJGFjX2N2X2NfcmVz dHJpY3QiID0gIm5vIjsgdGhlbgoraWYgdGVzdCAiJGFjX2N2X2NfcmVzdHJpY3QiID0gIm5vIiA7 IHRoZW4KICAgcGdfcmVzdHJpY3Q9IiIKIGVsc2UKICAgcGdfcmVzdHJpY3Q9IiRhY19jdl9jX3Jl c3RyaWN0IgpAQCAtMTk5NiwyMiArMTk5OSwxMSBAQCBmaQogQUNfQ0hFQ0tfQUxJR05PRihkb3Vi bGUpCiAKICMgQ29tcHV0ZSBtYXhpbXVtIGFsaWdubWVudCBvZiBhbnkgYmFzaWMgdHlwZS4KLSMK LSMgV2UgcmVxdWlyZSAnZG91YmxlJyB0byBoYXZlIHRoZSBzdHJpY3Rlc3QgYWxpZ25tZW50IGFt b25nIHRoZSBiYXNpYyB0eXBlcywKLSMgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEMgQUJJIG1pZ2h0 IGltcG9zZSA4LWJ5dGUgYWxpZ25tZW50IG9uIHNvbWUgb2YgdGhlCi0jIG90aGVyIEMgdHlwZXMg dGhhdCBjb3JyZXNwb25kIHRvIFRZUEFMSUdOX0RPVUJMRSBTUUwgdHlwZXMuICBUaGF0IGNvdWxk Ci0jIGNhdXNlIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgdHVwbGUgbGF5b3V0IGFuZCB0aGUgQyBz dHJ1Y3QgbGF5b3V0IG9mIGEKLSMgY2F0YWxvZyB0dXBsZS4gIFdlIHVzZWQgdG8gY2FyZWZ1bGx5 IG9yZGVyIGNhdGFsb2cgY29sdW1ucyBzdWNoIHRoYXQgYW55Ci0jIGZpeGVkLXdpZHRoLCBhdHRh bGlnbj00IGNvbHVtbnMgd2VyZSBhdCBvZmZzZXRzIGRpdmlzaWJsZSBieSA4IHJlZ2FyZGxlc3MK LSMgb2YgTUFYSU1VTV9BTElHTk9GIHRvIGF2b2lkIHRoYXQsIGJ1dCB3ZSBubyBsb25nZXIgc3Vw cG9ydCBhbnkgcGxhdGZvcm1zCi0jIHdoZXJlIFRZUEFMSUdOX0RPVUJMRSAhPSBNQVhJTVVNX0FM SUdOT0YuCi0jCi0jIFdlIGFzc3VtZSB3aXRob3V0IGNoZWNraW5nIHRoYXQgbG9uZydzIGFsaWdu bWVudCBpcyBhdCBsZWFzdCBhcyBzdHJvbmcgYXMKLSMgY2hhciwgc2hvcnQsIG9yIGludC4gIE5v dGUgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IGRvIG5vdCBjb25zaWRlciBhbnkgdHlwZXMKLSMgd2lk ZXIgdGhhbiA2NCBiaXRzLCBhcyBhbGxvd2luZyBNQVhJTVVNX0FMSUdOT0YgdG8gZXhjZWVkIDgg d291bGQgYmUgdG9vCi0jIG11Y2ggb2YgYSBwZW5hbHR5IGZvciBkaXNrIGFuZCBtZW1vcnkgc3Bh Y2UuCi0KLU1BWF9BTElHTk9GPSRhY19jdl9hbGlnbm9mX2RvdWJsZQorIyBXZSBhc3N1bWUgbG9u ZydzIGFsaWdubWVudCBpcyBhdCBsZWFzdCBhcyBzdHJvbmcgYXMgY2hhciwgc2hvcnQsIG9yIGlu dDsKKyMgYnV0IHdlIG11c3QgY2hlY2sgbG9uZyBsb25nIChpZiBpdCBpcyBiZWluZyB1c2VkIGZv ciBpbnQ2NCkgYW5kIGRvdWJsZS4KKyMgTm90ZSB0aGF0IHdlIGludGVudGlvbmFsbHkgZG8gbm90 IGNvbnNpZGVyIGFueSB0eXBlcyB3aWRlciB0aGFuIDY0IGJpdHMsCisjIGFzIGFsbG93aW5nIE1B WElNVU1fQUxJR05PRiB0byBleGNlZWQgOCB3b3VsZCBiZSB0b28gbXVjaCBvZiBhIHBlbmFsdHkK KyMgZm9yIGRpc2sgYW5kIG1lbW9yeSBzcGFjZS4KIAogaWYgdGVzdCAkYWNfY3ZfYWxpZ25vZl9s b25nIC1ndCAkTUFYX0FMSUdOT0YgOyB0aGVuCiAgIEFDX01TR19FUlJPUihbYWxpZ25tZW50IG9m ICdsb25nJyBpcyBncmVhdGVyIHRoYW4gdGhlIGFsaWdubWVudCBvZiAnZG91YmxlJ10pCmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvZGZ1bmMuc2dtbCBiL2RvYy9zcmMvc2dtbC9kZnVuYy5zZ21s CmluZGV4IGI5NGFlZmNkMGMuLjU1NGY5ZmFjNGMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9k ZnVuYy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9kZnVuYy5zZ21sCkBAIC0yMDIsNCArMjAyLDIz IEBAIGdjYyAtRyAtbyBmb28uc28gZm9vLm8KICAgc2VydmVyIGV4cGVjdHMgdG8gZmluZCB0aGUg c2hhcmVkIGxpYnJhcnkgZmlsZXMuCiAgPC9wYXJhPgogCis8IS0tCitVbmRlciBBSVgsIG9iamVj dCBmaWxlcyBhcmUgY29tcGlsZWQgbm9ybWFsbHkgYnV0IGJ1aWxkaW5nIHRoZSBzaGFyZWQKK2xp YnJhcnkgcmVxdWlyZXMgYSBjb3VwbGUgb2Ygc3RlcHMuICBGaXJzdCwgY3JlYXRlIHRoZSBvYmpl Y3QgZmlsZToKKy5uZgorY2MgPG90aGVyIGZsYWdzPiAtYyBmb28uYworLmZpCitZb3UgbXVzdCB0 aGVuIGNyZWF0ZSBhIHN5bWJvbCBcKihscWV4cG9ydHNcKihycSBmaWxlIGZvciB0aGUgb2JqZWN0 CitmaWxlOgorLm5mCitta2xkZXhwb3J0IGZvby5vIGBwd2RgICZndDsgZm9vLmV4cAorLmZpCitG aW5hbGx5LCB5b3UgY2FuIGNyZWF0ZSB0aGUgc2hhcmVkIGxpYnJhcnk6CisubmYKK2xkIDxvdGhl ciBmbGFncz4gLUg1MTIgLVQ1MTIgLW8gZm9vLnNvIC1lIF9ub3N0YXJ0IFxlCisgICAtYkk6Li4u L2xpYi9wb3N0Z3Jlcy5leHAgLWJFOmZvby5leHAgZm9vLm8gXGUKKyAgIC1sbSAtbGMgMj4vZGV2 L251bGwKKy5maQorICAtLT4KKwogPC9zZWN0Mj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9p bnN0YWxsYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbAppbmRleCAx YjMyZDVjYTYyLi42MGU5YTM0YTAzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW5zdGFsbGF0 aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCkBAIC0zNDAxLDcg KzM0MDEsNyBAQCBleHBvcnQgTUFOUEFUSAogICA8cGFyYT4KICAgIDxwcm9kdWN0bmFtZT5Qb3N0 Z3JlU1FMPC9wcm9kdWN0bmFtZT4gY2FuIGJlIGV4cGVjdGVkIHRvIHdvcmsgb24gY3VycmVudAog ICAgdmVyc2lvbnMgb2YgdGhlc2Ugb3BlcmF0aW5nIHN5c3RlbXM6IExpbnV4LCBXaW5kb3dzLAot ICAgRnJlZUJTRCwgT3BlbkJTRCwgTmV0QlNELCBEcmFnb25GbHlCU0QsIG1hY09TLCBTb2xhcmlz LCBhbmQgaWxsdW1vcy4KKyAgIEZyZWVCU0QsIE9wZW5CU0QsIE5ldEJTRCwgRHJhZ29uRmx5QlNE LCBtYWNPUywgQUlYLCBTb2xhcmlzLCBhbmQgaWxsdW1vcy4KICAgIE90aGVyIFVuaXgtbGlrZSBz eXN0ZW1zIG1heSBhbHNvIHdvcmsgYnV0IGFyZSBub3QgY3VycmVudGx5CiAgICBiZWluZyB0ZXN0 ZWQuICBJbiBtb3N0IGNhc2VzLCBhbGwgQ1BVIGFyY2hpdGVjdHVyZXMgc3VwcG9ydGVkIGJ5CiAg ICBhIGdpdmVuIG9wZXJhdGluZyBzeXN0ZW0gd2lsbCB3b3JrLiAgTG9vayBpbgpAQCAtMzQ0NSw2 ICszNDQ1LDEyMiBAQCBleHBvcnQgTUFOUEFUSAogICAgaW5zdGFsbGF0aW9uIGlzc3Vlcy4KICAg PC9wYXJhPgogCisgIDxzZWN0MiBpZD0iaW5zdGFsbGF0aW9uLW5vdGVzLWFpeCI+CisgICA8dGl0 bGU+QUlYPC90aXRsZT4KKworICAgPGluZGV4dGVybSB6b25lPSJpbnN0YWxsYXRpb24tbm90ZXMt YWl4Ij4KKyAgICA8cHJpbWFyeT5BSVg8L3ByaW1hcnk+CisgICAgPHNlY29uZGFyeT5pbnN0YWxs YXRpb24gb248L3NlY29uZGFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICA8cGFyYT4KKyAgICBZ b3UgY2FuIHVzZSBHQ0MgdG8gYnVpbGQgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3Ru YW1lPgorICAgIG9uIDxwcm9kdWN0bmFtZT5BSVg8L3Byb2R1Y3RuYW1lPi4KKyAgIDwvcGFyYT4K KworICAgPHBhcmE+CisgICAgPHByb2R1Y3RuYW1lPkFJWDwvcHJvZHVjdG5hbWU+IHZlcnNpb25z IGJlZm9yZSA3LjEgYXJlIG5vIGxvbmdlcgorICAgIHRlc3RlZCBub3Igc3VwcG9ydGVkIGJ5IHRo ZSA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+CisgICAgY29tbXVuaXR5Lgor ICAgPC9wYXJhPgorCisgICA8c2VjdDMgaWQ9Imluc3RhbGxhdGlvbi1ub3Rlcy1haXgtbWVtLW1h bmFnZW1lbnQiPgorICAgIDx0aXRsZT5NZW1vcnkgTWFuYWdlbWVudDwvdGl0bGU+CisgICAgPCEt LSBodHRwczovL2FyY2hpdmVzLnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvNjAzYmdxbXBsOS5m c2ZAZGJhMi5pbnQubGliZXJ0eXJtcy5jb20gLS0+CisKKyAgICA8cGFyYT4KKyAgICAgQUlYIGNh biBiZSBzb21ld2hhdCBwZWN1bGlhciB3aXRoIHJlZ2FyZHMgdG8gdGhlIHdheSBpdCBkb2VzCisg ICAgIG1lbW9yeSBtYW5hZ2VtZW50LiAgWW91IGNhbiBoYXZlIGEgc2VydmVyIHdpdGggbWFueSBt dWx0aXBsZXMgb2YKKyAgICAgZ2lnYWJ5dGVzIG9mIFJBTSBmcmVlLCBidXQgc3RpbGwgZ2V0IG91 dCBvZiBtZW1vcnkgb3IgYWRkcmVzcworICAgICBzcGFjZSBlcnJvcnMgd2hlbiBydW5uaW5nIGFw cGxpY2F0aW9ucy4gIE9uZSBleGFtcGxlCisgICAgIGlzIGxvYWRpbmcgb2YgZXh0ZW5zaW9ucyBm YWlsaW5nIHdpdGggdW51c3VhbCBlcnJvcnMuCisgICAgIEZvciBleGFtcGxlLCBydW5uaW5nIGFz IHRoZSBvd25lciBvZiB0aGUgUG9zdGdyZVNRTCBpbnN0YWxsYXRpb246Cis8c2NyZWVuPgorPSMg Q1JFQVRFIEVYVEVOU0lPTiBwbHBlcmw7CitFUlJPUjogIGNvdWxkIG5vdCBsb2FkIGxpYnJhcnkg Ii9vcHQvZGJzL3Bnc3FsL2xpYi9wbHBlcmwuc28iOiBBIG1lbW9yeSBhZGRyZXNzIGlzIG5vdCBp biB0aGUgYWRkcmVzcyBzcGFjZSBmb3IgdGhlIHByb2Nlc3MuCis8L3NjcmVlbj4KKyAgICBSdW5u aW5nIGFzIGEgbm9uLW93bmVyIGluIHRoZSBncm91cCBwb3NzZXNzaW5nIHRoZSBQb3N0Z3JlU1FM CisgICAgaW5zdGFsbGF0aW9uOgorPHNjcmVlbj4KKz0jIENSRUFURSBFWFRFTlNJT04gcGxwZXJs OworRVJST1I6ICBjb3VsZCBub3QgbG9hZCBsaWJyYXJ5ICIvb3B0L2Ricy9wZ3NxbC9saWIvcGxw ZXJsLnNvIjogQmFkIGFkZHJlc3MKKzwvc2NyZWVuPgorICAgICBBbm90aGVyIGV4YW1wbGUgaXMg b3V0IG9mIG1lbW9yeSBlcnJvcnMgaW4gdGhlIFBvc3RncmVTUUwgc2VydmVyCisgICAgIGxvZ3Ms IHdpdGggZXZlcnkgbWVtb3J5IGFsbG9jYXRpb24gbmVhciBvciBncmVhdGVyIHRoYW4gMjU2IE1C CisgICAgIGZhaWxpbmcuCisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIFRoZSBvdmVy YWxsIGNhdXNlIG9mIGFsbCB0aGVzZSBwcm9ibGVtcyBpcyB0aGUgZGVmYXVsdCBiaXR0ZWRuZXNz CisgICAgIGFuZCBtZW1vcnkgbW9kZWwgdXNlZCBieSB0aGUgc2VydmVyIHByb2Nlc3MuICBCeSBk ZWZhdWx0LCBhbGwKKyAgICAgYmluYXJpZXMgYnVpbHQgb24gQUlYIGFyZSAzMi1iaXQuICBUaGlz IGRvZXMgbm90IGRlcGVuZCB1cG9uCisgICAgIGhhcmR3YXJlIHR5cGUgb3Iga2VybmVsIGluIHVz ZS4gIFRoZXNlIDMyLWJpdCBwcm9jZXNzZXMgYXJlCisgICAgIGxpbWl0ZWQgdG8gNCBHQiBvZiBt ZW1vcnkgbGFpZCBvdXQgaW4gMjU2IE1CIHNlZ21lbnRzIHVzaW5nIG9uZQorICAgICBvZiBhIGZl dyBtb2RlbHMuICBUaGUgZGVmYXVsdCBhbGxvd3MgZm9yIGxlc3MgdGhhbiAyNTYgTUIgaW4gdGhl CisgICAgIGhlYXAgYXMgaXQgc2hhcmVzIGEgc2luZ2xlIHNlZ21lbnQgd2l0aCB0aGUgc3RhY2su CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIEluIHRoZSBjYXNlIG9mIHRoZSA8bGl0 ZXJhbD5wbHBlcmw8L2xpdGVyYWw+IGV4YW1wbGUsIGFib3ZlLAorICAgICBjaGVjayB5b3VyIHVt YXNrIGFuZCB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIGJpbmFyaWVzIGluIHlvdXIKKyAgICAgUG9z dGdyZVNRTCBpbnN0YWxsYXRpb24uICBUaGUgYmluYXJpZXMgaW52b2x2ZWQgaW4gdGhhdCBleGFt cGxlCisgICAgIHdlcmUgMzItYml0IGFuZCBpbnN0YWxsZWQgYXMgbW9kZSA3NTAgaW5zdGVhZCBv ZiA3NTUuICBEdWUgdG8gdGhlCisgICAgIHBlcm1pc3Npb25zIGJlaW5nIHNldCBpbiB0aGlzIGZh c2hpb24sIG9ubHkgdGhlIG93bmVyIG9yIGEgbWVtYmVyCisgICAgIG9mIHRoZSBwb3NzZXNzaW5n IGdyb3VwIGNhbiBsb2FkIHRoZSBsaWJyYXJ5LiAgU2luY2UgaXQgaXNuJ3QKKyAgICAgd29ybGQt cmVhZGFibGUsIHRoZSBsb2FkZXIgcGxhY2VzIHRoZSBvYmplY3QgaW50byB0aGUgcHJvY2VzcycK KyAgICAgaGVhcCBpbnN0ZWFkIG9mIHRoZSBzaGFyZWQgbGlicmFyeSBzZWdtZW50cyB3aGVyZSBp dCB3b3VsZAorICAgICBvdGhlcndpc2UgYmUgcGxhY2VkLgorICAgIDwvcGFyYT4KKworICAgIDxw YXJhPgorICAgICBUaGUgPHF1b3RlPmlkZWFsPC9xdW90ZT4gc29sdXRpb24gZm9yIHRoaXMgaXMg dG8gdXNlIGEgNjQtYml0CisgICAgIGJ1aWxkIG9mIFBvc3RncmVTUUwsIGJ1dCB0aGF0IGlzIG5v dCBhbHdheXMgcHJhY3RpY2FsLCBiZWNhdXNlCisgICAgIHN5c3RlbXMgd2l0aCAzMi1iaXQgcHJv Y2Vzc29ycyBjYW4gYnVpbGQsIGJ1dCBub3QgcnVuLCA2NC1iaXQKKyAgICAgYmluYXJpZXMuCisg ICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIElmIGEgMzItYml0IGJpbmFyeSBpcyBkZXNp cmVkLCBzZXQgPHN5bWJvbD5MRFJfQ05UUkw8L3N5bWJvbD4gdG8KKyAgICAgPGxpdGVyYWw+TUFY REFUQT0weDxyZXBsYWNlYWJsZT5uPC9yZXBsYWNlYWJsZT4wMDAwMDAwPC9saXRlcmFsPiwKKyAg ICAgd2hlcmUgMSAmbHQ7PSBuICZsdDs9IDgsIGJlZm9yZSBzdGFydGluZyB0aGUgUG9zdGdyZVNR TCBzZXJ2ZXIsCisgICAgIGFuZCB0cnkgZGlmZmVyZW50IHZhbHVlcyBhbmQgPGZpbGVuYW1lPnBv c3RncmVzcWwuY29uZjwvZmlsZW5hbWU+CisgICAgIHNldHRpbmdzIHRvIGZpbmQgYSBjb25maWd1 cmF0aW9uIHRoYXQgd29ya3Mgc2F0aXNmYWN0b3JpbHkuICBUaGlzCisgICAgIHVzZSBvZiA8c3lt Ym9sPkxEUl9DTlRSTDwvc3ltYm9sPiB0ZWxscyBBSVggdGhhdCB5b3Ugd2FudCB0aGUKKyAgICAg c2VydmVyIHRvIGhhdmUgPHN5bWJvbD5NQVhEQVRBPC9zeW1ib2w+IGJ5dGVzIHNldCBhc2lkZSBm b3IgdGhlCisgICAgIGhlYXAsIGFsbG9jYXRlZCBpbiAyNTYgTUIgc2VnbWVudHMuICBXaGVuIHlv dSBmaW5kIGEgd29ya2FibGUKKyAgICAgY29uZmlndXJhdGlvbiwKKyAgICAgPGNvbW1hbmQ+bGRl ZGl0PC9jb21tYW5kPiBjYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIGJpbmFyaWVzIHNvCisgICAg IHRoYXQgdGhleSBkZWZhdWx0IHRvIHVzaW5nIHRoZSBkZXNpcmVkIGhlYXAgc2l6ZS4gIFBvc3Rn cmVTUUwgY2FuCisgICAgIGFsc28gYmUgcmVidWlsdCwgcGFzc2luZyA8bGl0ZXJhbD5jb25maWd1 cmUKKyAgICAgTERGTEFHUz0iLVdsLC1ibWF4ZGF0YToweDxyZXBsYWNlYWJsZT5uPC9yZXBsYWNl YWJsZT4wMDAwMDAwIjwvbGl0ZXJhbD4KKyAgICAgdG8gYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3Qu CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIEZvciBhIDY0LWJpdCBidWlsZCwgc2V0 IDxlbnZhcj5PQkpFQ1RfTU9ERTwvZW52YXI+IHRvIDY0IGFuZAorICAgICBwYXNzIDxsaXRlcmFs PkNDPSJnY2MgLW1haXg2NCI8L2xpdGVyYWw+CisgICAgIGFuZCA8bGl0ZXJhbD5MREZMQUdTPSIt V2wsLWJiaWd0b2MiPC9saXRlcmFsPgorICAgICB0byA8Y29tbWFuZD5jb25maWd1cmU8L2NvbW1h bmQ+LiAKKyAgICAgSWYgeW91IG9taXQgdGhlIGV4cG9ydCBvZgorICAgIDxlbnZhcj5PQkpFQ1Rf TU9ERTwvZW52YXI+LCB5b3VyIGJ1aWxkIG1heSBmYWlsIHdpdGggbGlua2VyIGVycm9ycy4gIFdo ZW4KKyAgICA8ZW52YXI+T0JKRUNUX01PREU8L2VudmFyPiBpcyBzZXQsIGl0IHRlbGxzIEFJWCdz IGJ1aWxkIHV0aWxpdGllcworICAgIHN1Y2ggYXMgPGNvbW1hbmQ+YXI8L2NvbW1hbmQ+LCA8Y29t bWFuZD5hczwvY29tbWFuZD4sIGFuZCA8Y29tbWFuZD5sZDwvY29tbWFuZD4gd2hhdAorICAgIHR5 cGUgb2Ygb2JqZWN0cyB0byBkZWZhdWx0IHRvIGhhbmRsaW5nLgorICAgIDwvcGFyYT4KKworICAg IDxwYXJhPgorICAgICBCeSBkZWZhdWx0LCBvdmVyY29tbWl0IG9mIHBhZ2luZyBzcGFjZSBjYW4g aGFwcGVuLiAgV2hpbGUgd2UgaGF2ZQorICAgICBub3Qgc2VlbiB0aGlzIG9jY3VyLCBBSVggd2ls bCBraWxsIHByb2Nlc3NlcyB3aGVuIGl0IHJ1bnMgb3V0IG9mCisgICAgIG1lbW9yeSBhbmQgdGhl IG92ZXJjb21taXQgaXMgYWNjZXNzZWQuICBUaGUgY2xvc2VzdCB0byB0aGlzIHRoYXQKKyAgICAg d2UgaGF2ZSBzZWVuIGlzIGZvcmsgZmFpbGluZyBiZWNhdXNlIHRoZSBzeXN0ZW0gZGVjaWRlZCB0 aGF0CisgICAgIHRoZXJlIHdhcyBub3QgZW5vdWdoIG1lbW9yeSBmb3IgYW5vdGhlciBwcm9jZXNz LiAgTGlrZSBtYW55IG90aGVyCisgICAgIHBhcnRzIG9mIEFJWCwgdGhlIHBhZ2luZyBzcGFjZSBh bGxvY2F0aW9uIG1ldGhvZCBhbmQKKyAgICAgb3V0LW9mLW1lbW9yeSBraWxsIGlzIGNvbmZpZ3Vy YWJsZSBvbiBhIHN5c3RlbS0gb3IgcHJvY2Vzcy13aWRlCisgICAgIGJhc2lzIGlmIHRoaXMgYmVj b21lcyBhIHByb2JsZW0uCisgICAgPC9wYXJhPgorICAgPC9zZWN0Mz4KKyAgPC9zZWN0Mj4KKwog ICA8c2VjdDIgaWQ9Imluc3RhbGxhdGlvbi1ub3Rlcy1jeWd3aW4iPgogICAgPHRpdGxlPkN5Z3dp bjwvdGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9ydW50aW1lLnNnbWwgYi9kb2Mv c3JjL3NnbWwvcnVudGltZS5zZ21sCmluZGV4IDYwNDdiODE3MWQuLjY0NzUzZDljMDEgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9ydW50aW1lLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3J1bnRp bWUuc2dtbApAQCAtODkxLDYgKzg5MSwyOSBAQCBwc3FsOiBlcnJvcjogY29ubmVjdGlvbiB0byBz ZXJ2ZXIgb24gc29ja2V0ICIvdG1wLy5zLlBHU1FMLjU0MzIiIGZhaWxlZDogTm8gc3VjaAogCiAK ICAgICA8dmFyaWFibGVsaXN0PgorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PHN5 c3RlbWl0ZW0gY2xhc3M9Im9zbmFtZSI+QUlYPC9zeXN0ZW1pdGVtPgorICAgICAgPGluZGV4dGVy bT48cHJpbWFyeT5BSVg8L3ByaW1hcnk+PHNlY29uZGFyeT5JUEMgY29uZmlndXJhdGlvbjwvc2Vj b25kYXJ5PjwvaW5kZXh0ZXJtPgorICAgICAgPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAg ICAgIDxwYXJhPgorICAgICAgICBJdCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSB0byBkbworICAg ICAgICBhbnkgc3BlY2lhbCBjb25maWd1cmF0aW9uIGZvciBzdWNoIHBhcmFtZXRlcnMgYXMKKyAg ICAgICAgPHZhcm5hbWU+U0hNTUFYPC92YXJuYW1lPiwgYXMgaXQgYXBwZWFycyB0aGlzIGlzIGNv bmZpZ3VyZWQgdG8KKyAgICAgICAgYWxsb3cgYWxsIG1lbW9yeSB0byBiZSB1c2VkIGFzIHNoYXJl ZCBtZW1vcnkuICBUaGF0IGlzIHRoZQorICAgICAgICBzb3J0IG9mIGNvbmZpZ3VyYXRpb24gY29t bW9ubHkgdXNlZCBmb3Igb3RoZXIgZGF0YWJhc2VzIHN1Y2gKKyAgICAgICAgYXMgPGFwcGxpY2F0 aW9uPkRCLzI8L2FwcGxpY2F0aW9uPi48L3BhcmE+CisKKyAgICAgICA8cGFyYT4gSXQgbWlnaHQs IGhvd2V2ZXIsIGJlIG5lY2Vzc2FyeSB0byBtb2RpZnkgdGhlIGdsb2JhbAorICAgICAgIDxjb21t YW5kPnVsaW1pdDwvY29tbWFuZD4gaW5mb3JtYXRpb24gaW4KKyAgICAgICA8ZmlsZW5hbWU+L2V0 Yy9zZWN1cml0eS9saW1pdHM8L2ZpbGVuYW1lPiwgYXMgdGhlIGRlZmF1bHQgaGFyZAorICAgICAg IGxpbWl0cyBmb3IgZmlsZSBzaXplcyAoPHZhcm5hbWU+ZnNpemU8L3Zhcm5hbWU+KSBhbmQgbnVt YmVycyBvZgorICAgICAgIGZpbGVzICg8dmFybmFtZT5ub2ZpbGVzPC92YXJuYW1lPikgbWlnaHQg YmUgdG9vIGxvdy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zh cmxpc3RlbnRyeT4KKworCiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48c3lzdGVt aXRlbSBjbGFzcz0ib3NuYW1lIj5GcmVlQlNEPC9zeXN0ZW1pdGVtPgogICAgICAgPGluZGV4dGVy bT48cHJpbWFyeT5GcmVlQlNEPC9wcmltYXJ5PjxzZWNvbmRhcnk+SVBDIGNvbmZpZ3VyYXRpb248 L3NlY29uZGFyeT48L2luZGV4dGVybT4KZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24u YnVpbGQKaW5kZXggMWMwNTc5ZDVhNi4uZjFhYzE1NGNkYyAxMDA2NDQKLS0tIGEvbWVzb24uYnVp bGQKKysrIGIvbWVzb24uYnVpbGQKQEAgLTE5Niw3ICsxOTYsMjYgQEAgZW5kaWYKICMgdGhhdCBw dXJwb3NlLgogcG9ydG5hbWUgPSBob3N0X3N5c3RlbQogCi1pZiBob3N0X3N5c3RlbSA9PSAnY3ln d2luJworaWYgaG9zdF9zeXN0ZW0gPT0gJ2FpeCcKKyAgbGlicmFyeV9wYXRoX3ZhciA9ICdMSUJQ QVRIJworCisgIGV4cG9ydF9maWxlX2Zvcm1hdCA9ICdhaXgnCisgIGV4cG9ydF9mbXQgPSAnLVds LC1iRTpAMEAnCisgIG1vZF9saW5rX2FyZ3NfZm10ID0gWyctV2wsLWJJOkAwQCddCisgIG1vZF9s aW5rX3dpdGhfZGlyID0gJ2xpYmRpcicKKyAgbW9kX2xpbmtfd2l0aF9uYW1lID0gJ0AwQC5pbXAn CisKKyAgIyBNOlNSRSBzZXRzIGEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgYW4gb2JqZWN0IGlzIGEg c2hhcmVkIGxpYnJhcnkuIFNlZW1zIHRvCisgICMgd29yayBpbiBzb21lIGNpcmN1bXN0YW5jZXMg d2l0aG91dCwgYnV0IHJlcXVpcmVkIGluIG90aGVycy4KKyAgbGRmbGFnc19zbCArPSAnLVdsLC1i TTpTUkUnCisgIGxkZmxhZ3NfYmUgKz0gJy1XbCwtYnJ0bGxpYicKKworICAjIE5hdGl2ZSBtZW1z ZXQoKSBpcyBmYXN0ZXIsIHRlc3RlZCBvbjoKKyAgIyAtIEFJWCA1LjEgYW5kIDUuMiwgWExDIDYu MCAoSUJNJ3MgY2MpCisgICMgLSBBSVggNS4zIE1MMywgZ2NjIDQuMC4xCisgIG1lbXNldF9sb29w X2xpbWl0ID0gMAorCitlbGlmIGhvc3Rfc3lzdGVtID09ICdjeWd3aW4nCiAgIHNlbWFfa2luZCA9 ICd1bm5hbWVkX3Bvc2l4JwogICBjcHBmbGFncyArPSAnLURfR05VX1NPVVJDRScKICAgZGxzdWZm aXggPSAnLmRsbCcKQEAgLTE0OTAsMTEgKzE1MDksMTEgQEAgc2l6ZW9mX2xvbmcgPSBjYy5zaXpl b2YoJ2xvbmcnLCBhcmdzOiB0ZXN0X2NfYXJncykKIGNkYXRhLnNldCgnU0laRU9GX0xPTkcnLCBz aXplb2ZfbG9uZykKIGlmIHNpemVvZl9sb25nID09IDgKICAgY2RhdGEuc2V0KCdIQVZFX0xPTkdf SU5UXzY0JywgMSkKLSAgcGdfaW50NjRfdHlwZSA9ICdsb25nIGludCcKKyAgY2RhdGEuc2V0KCdQ R19JTlQ2NF9UWVBFJywgJ2xvbmcgaW50JykKICAgY2RhdGEuc2V0X3F1b3RlZCgnSU5UNjRfTU9E SUZJRVInLCAnbCcpCiBlbGlmIHNpemVvZl9sb25nID09IDQgYW5kIGNjLnNpemVvZignbG9uZyBs b25nJywgYXJnczogdGVzdF9jX2FyZ3MpID09IDgKICAgY2RhdGEuc2V0KCdIQVZFX0xPTkdfTE9O R19JTlRfNjQnLCAxKQotICBwZ19pbnQ2NF90eXBlID0gJ2xvbmcgbG9uZyBpbnQnCisgIGNkYXRh LnNldCgnUEdfSU5UNjRfVFlQRScsICdsb25nIGxvbmcgaW50JykKICAgY2RhdGEuc2V0X3F1b3Rl ZCgnSU5UNjRfTU9ESUZJRVInLCAnbGwnKQogZWxzZQogICBlcnJvcignZG8gbm90IGtub3cgaG93 IHRvIGdldCBhIDY0Yml0IGludCcpCkBAIC0xNTA4LDMxICsxNTI3LDE1IEBAIGVuZGlmCiAjIERl dGVybWluZSBtZW1vcnkgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBmb3IgdGhlIGJhc2ljIEMgZGF0 YSB0eXBlcy4KIAogYWxpZ25vZl90eXBlcyA9IFsnc2hvcnQnLCAnaW50JywgJ2xvbmcnLCAnZG91 YmxlJ10KK21heGFsaWduID0gMAogZm9yZWFjaCB0IDogYWxpZ25vZl90eXBlcwogICBhbGlnbiA9 IGNjLmFsaWdubWVudCh0LCBhcmdzOiB0ZXN0X2NfYXJncykKKyAgaWYgbWF4YWxpZ24gPCBhbGln bgorICAgIG1heGFsaWduID0gYWxpZ24KKyAgZW5kaWYKICAgY2RhdGEuc2V0KCdBTElHTk9GX0Aw QCcuZm9ybWF0KHQudG9fdXBwZXIoKSksIGFsaWduKQogZW5kZm9yZWFjaAotCi0jIENvbXB1dGUg bWF4aW11bSBhbGlnbm1lbnQgb2YgYW55IGJhc2ljIHR5cGUuCi0jCi0jIFdlIHJlcXVpcmUgJ2Rv dWJsZScgdG8gaGF2ZSB0aGUgc3RyaWN0ZXN0IGFsaWdubWVudCBhbW9uZyB0aGUgYmFzaWMgdHlw ZXMsCi0jIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBDIEFCSSBtaWdodCBpbXBvc2UgOC1ieXRlIGFs aWdubWVudCBvbiBzb21lIG9mIHRoZQotIyBvdGhlciBDIHR5cGVzIHRoYXQgY29ycmVzcG9uZCB0 byBUWVBBTElHTl9ET1VCTEUgU1FMIHR5cGVzLiAgVGhhdCBjb3VsZAotIyBjYXVzZSBhIG1pc21h dGNoIGJldHdlZW4gdGhlIHR1cGxlIGxheW91dCBhbmQgdGhlIEMgc3RydWN0IGxheW91dCBvZiBh Ci0jIGNhdGFsb2cgdHVwbGUuICBXZSB1c2VkIHRvIGNhcmVmdWxseSBvcmRlciBjYXRhbG9nIGNv bHVtbnMgc3VjaCB0aGF0IGFueQotIyBmaXhlZC13aWR0aCwgYXR0YWxpZ249NCBjb2x1bW5zIHdl cmUgYXQgb2Zmc2V0cyBkaXZpc2libGUgYnkgOCByZWdhcmRsZXNzCi0jIG9mIE1BWElNVU1fQUxJ R05PRiB0byBhdm9pZCB0aGF0LCBidXQgd2Ugbm8gbG9uZ2VyIHN1cHBvcnQgYW55IHBsYXRmb3Jt cwotIyB3aGVyZSBUWVBBTElHTl9ET1VCTEUgIT0gTUFYSU1VTV9BTElHTk9GLgotIwotIyBXZSBh c3N1bWUgd2l0aG91dCBjaGVja2luZyB0aGF0IGludDY0J3MgYWxpZ25tZW50IGlzIGF0IGxlYXN0 IGFzIHN0cm9uZwotIyBhcyBsb25nLCBjaGFyLCBzaG9ydCwgb3IgaW50LiAgTm90ZSB0aGF0IHdl IGludGVudGlvbmFsbHkgZG8gbm90IGNvbnNpZGVyCi0jIGFueSB0eXBlcyB3aWRlciB0aGFuIDY0 IGJpdHMsIGFzIGFsbG93aW5nIE1BWElNVU1fQUxJR05PRiB0byBleGNlZWQgOAotIyB3b3VsZCBi ZSB0b28gbXVjaCBvZiBhIHBlbmFsdHkgZm9yIGRpc2sgYW5kIG1lbW9yeSBzcGFjZS4KLWFsaWdu b2ZfZG91YmxlID0gY2RhdGEuZ2V0KCdBTElHTk9GX0RPVUJMRScpCi1pZiBjYy5hbGlnbm1lbnQo cGdfaW50NjRfdHlwZSwgYXJnczogdGVzdF9jX2FyZ3MpID4gYWxpZ25vZl9kb3VibGUKLSAgZXJy b3IoJ2FsaWdubWVudCBvZiBpbnQ2NCBpcyBncmVhdGVyIHRoYW4gdGhlIGFsaWdubWVudCBvZiBk b3VibGUnKQotZW5kaWYKLWNkYXRhLnNldCgnTUFYSU1VTV9BTElHTk9GJywgYWxpZ25vZl9kb3Vi bGUpCitjZGF0YS5zZXQoJ01BWElNVU1fQUxJR05PRicsIG1heGFsaWduKQogCiBjZGF0YS5zZXQo J1NJWkVPRl9WT0lEX1AnLCBjYy5zaXplb2YoJ3ZvaWQgKicsIGFyZ3M6IHRlc3RfY19hcmdzKSkK IGNkYXRhLnNldCgnU0laRU9GX1NJWkVfVCcsIGNjLnNpemVvZignc2l6ZV90JywgYXJnczogdGVz dF9jX2FyZ3MpKQpAQCAtMTU4MSw3ICsxNTg0LDcgQEAgaWYgY2MubGlua3MoJycnCiAgIGlmIG5v dCBtZXNvbi5pc19jcm9zc19idWlsZCgpCiAgICAgciA9IGNjLnJ1bignJycKICAgICAvKiBUaGlz IG11c3QgbWF0Y2ggdGhlIGNvcnJlc3BvbmRpbmcgY29kZSBpbiBjLmg6ICovCi0gICAgI2lmIGRl ZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQoX19TVU5QUk9fQykKKyAgICAjaWYgZGVmaW5lZChf X0dOVUNfXykgfHwgZGVmaW5lZChfX1NVTlBST19DKSB8fCBkZWZpbmVkKF9fSUJNQ19fKQogICAg ICNkZWZpbmUgcGdfYXR0cmlidXRlX2FsaWduZWQoYSkgX19hdHRyaWJ1dGVfXygoYWxpZ25lZChh KSkpCiAgICAgI2VsaWYgZGVmaW5lZChfTVNDX1ZFUikKICAgICAjZGVmaW5lIHBnX2F0dHJpYnV0 ZV9hbGlnbmVkKGEpIF9fZGVjbHNwZWMoYWxpZ24oYSkpCkBAIC0yNDc2LDYgKzI0NzksMTAgQEAg ZW5kaWYKICMgY29uZmxpY3QuCiAjCiAjIFdlIGFzc3VtZSBDOTkgc3VwcG9ydCwgc28gd2UgZG9u J3QgbmVlZCB0byBtYWtlIHRoaXMgY29uZGl0aW9uYWwuCisjCisjIFhYWDogSGlzdG9yaWNhbGx5 IHdlIGFsbG93ZWQgcGxhdGZvcm1zIHRvIGRpc2FibGUgcmVzdHJpY3QgaW4gdGVtcGxhdGUKKyMg ZmlsZXMsIGJ1dCB0aGF0IHdhcyBvbmx5IGFkZGVkIGZvciBBSVggd2hlbiBidWlsZGluZyB3aXRo IFhMQywgd2hpY2ggd2UKKyMgZG9uJ3Qgc3VwcG9ydCB5ZXQuCiBjZGF0YS5zZXQoJ3BnX3Jlc3Ry aWN0JywgJ19fcmVzdHJpY3QnKQogCiAKZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5zaGxpYiBi L3NyYy9NYWtlZmlsZS5zaGxpYgppbmRleCBmYTgxZjZmZmRkLi44Y2E1MWNhMDNmIDEwMDY0NAot LS0gYS9zcmMvTWFrZWZpbGUuc2hsaWIKKysrIGIvc3JjL01ha2VmaWxlLnNobGliCkBAIC0xMDYs NiArMTA2LDIwIEBAIGlmZGVmIFNPX01BSk9SX1ZFUlNJT04KIG92ZXJyaWRlIENQUEZMQUdTICs9 IC1EU09fTUFKT1JfVkVSU0lPTj0kKFNPX01BSk9SX1ZFUlNJT04pCiBlbmRpZgogCitpZmVxICgk KFBPUlROQU1FKSwgYWl4KQorICBMSU5LLnNoYXJlZAkJPSAkKENPTVBJTEVSKQorICBpZmRlZiBT T19NQUpPUl9WRVJTSU9OCisgICAgc2hsaWIJCT0gbGliJChOQU1FKSQoRExTVUZGSVgpLiQoU09f TUFKT1JfVkVSU0lPTikKKyAgZW5kaWYKKyAgaGFzbGliYXJ1bGUgICA9IHllcworICAjICQoZXhw b3J0c19maWxlKSBpcyBhbHNvIHVzYWJsZSBhcyBhbiBpbXBvcnQgZmlsZQorICBleHBvcnRzX2Zp bGUJCT0gbGliJChOQU1FKS5leHAKKyAgQlVJTEQuZXhwb3J0cwkJPSAoIGVjaG8gJ1wjISAkKHNo bGliKSc7ICQoQVdLKSAnL15bXlwjXS8ge3ByaW50ZiAiJXNcbiIsJCQxfScgJDwgKSA+ICRACisg IGlmbmVxICgsJChTSExJQl9FWFBPUlRTKSkKKyAgICBMSU5LLnNoYXJlZAkJKz0gLVdsLC1iRTok KGV4cG9ydHNfZmlsZSkKKyAgZW5kaWYKK2VuZGlmCisKIGlmZXEgKCQoUE9SVE5BTUUpLCBkYXJ3 aW4pCiAgIGlmZGVmIHNvbmFtZQogICAgICMgbGlua2FibGUgbGlicmFyeQpAQCAtMjU0LDYgKzI2 OCwxNCBAQCAkKHN0bGliKTogJChPQkpTKSB8ICQoU0hMSUJfUFJFUkVRUykKIAl0b3VjaCAkQAog ZW5kaWYgI2hhc2xpYmFydWxlCiAKKyMgQUlYIHdyYXBzIHNoYXJlZCBsaWJyYXJpZXMgaW5zaWRl IGEgc3RhdGljIGxpYnJhcnksIGNhbiBiZSB1c2VkIGJvdGgKKyMgZm9yIHN0YXRpYyBhbmQgc2hh cmVkIGxpbmtpbmcKK2lmZXEgKCQoUE9SVE5BTUUpLCBhaXgpCiskKHN0bGliKTogJChzaGxpYikK KwlybSAtZiAkKHN0bGliKQorCSQoQVIpICQoQVJPUFQpICQoc3RsaWIpICQoc2hsaWIpCitlbmRp ZiAjIGFpeAorCiBpZmVxICgsJChmaWx0ZXIgY3lnd2luIHdpbjMyLCQoUE9SVE5BTUUpKSkKIAog IyBOb3JtYWwgY2FzZQpAQCAtMjY3LDggKzI4OSwxMSBAQCBpZm5lcSAoJChzaGxpYiksICQoc2hs aWJfbWFqb3IpKQogZW5kaWYKICMgTWFrZSBzdXJlIHdlIGhhdmUgYSBsaW5rIHRvIGEgbmFtZSB3 aXRob3V0IGFueSB2ZXJzaW9uIG51bWJlcnMKIGlmbmVxICgkKHNobGliKSwgJChzaGxpYl9iYXJl KSkKKyMgZXhjZXB0IG9uIEFJWCwgd2hlcmUgdGhhdCdzIG5vdCBhIHRoaW5nCitpZm5lcSAoJChQ T1JUTkFNRSksIGFpeCkKIAlybSAtZiAkKHNobGliX2JhcmUpCiAJJChMTl9TKSAkKHNobGliKSAk KHNobGliX2JhcmUpCitlbmRpZiAjIGFpeAogZW5kaWYgIyBzaGxpYl9iYXJlCiBlbmRpZiAjIHNo bGliX21ham9yCiAKQEAgLTM3Niw2ICs0MDEsOSBAQCBpbnN0YWxsLWxpYi1zdGF0aWM6ICQoc3Rs aWIpIGluc3RhbGxkaXJzLWxpYgogCiBpbnN0YWxsLWxpYi1zaGFyZWQ6ICQoc2hsaWIpIGluc3Rh bGxkaXJzLWxpYgogaWZkZWYgc29uYW1lCisjIHdlIGRvbid0IGluc3RhbGwgJChzaGxpYikgb24g QUlYCisjIChzZWUgaHR0cDovL2FyY2hpdmVzLnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvNTJF RjIwQjJFMzIwOTQ0M0JDMzc3MzZEMDBDM0MxMzgwQTZFNzlGRUBFWEFEVjEuaG9zdC5tYWd3aWVu Lmd2LmF0KQoraWZuZXEgKCQoUE9SVE5BTUUpLCBhaXgpCiAJJChJTlNUQUxMX1NITElCKSAkPCAn JChERVNURElSKSQobGliZGlyKS8kKHNobGliKScKIGlmbmVxICgkKFBPUlROQU1FKSwgY3lnd2lu KQogaWZuZXEgKCQoUE9SVE5BTUUpLCB3aW4zMikKQEAgLTM5MSw2ICs0MTksNyBAQCBpZm5lcSAo JChzaGxpYiksICQoc2hsaWJfYmFyZSkpCiBlbmRpZgogZW5kaWYgIyBub3Qgd2luMzIKIGVuZGlm ICMgbm90IGN5Z3dpbgorZW5kaWYgIyBub3QgYWl4CiBpZm5lcSAoLCQoZmluZHN0cmluZyAkKFBP UlROQU1FKSx3aW4zMiBjeWd3aW4pKQogCSQoSU5TVEFMTF9TSExJQikgJDwgJyQoREVTVERJUikk KGJpbmRpcikvJChzaGxpYiknCiBlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvTWFrZWZp bGUgYi9zcmMvYmFja2VuZC9NYWtlZmlsZQppbmRleCA2NzAwYWVjMDM5Li45NTRiMTQ5NjJmIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9NYWtlZmls ZQpAQCAtNjIsMTIgKzYyLDE0IEBAIGFsbDogc3VibWFrZS1saWJwZ3BvcnQgc3VibWFrZS1jYXRh bG9nLWhlYWRlcnMgc3VibWFrZS11dGlscy1oZWFkZXJzIHBvc3RncmVzICQoCiAKIGlmbmVxICgk KFBPUlROQU1FKSwgY3lnd2luKQogaWZuZXEgKCQoUE9SVE5BTUUpLCB3aW4zMikKK2lmbmVxICgk KFBPUlROQU1FKSwgYWl4KQogCiBwb3N0Z3JlczogJChPQkpTKQogCSQoQ0MpICQoQ0ZMQUdTKSAk KGNhbGwgZXhwYW5kX3N1YnN5cywkXikgJChMREZMQUdTKSAkKExJQlMpIC1vICRACiAKIGVuZGlm CiBlbmRpZgorZW5kaWYKIAogaWZlcSAoJChQT1JUTkFNRSksIGN5Z3dpbikKIApAQCAtOTQsNiAr OTYsMjQgQEAgbGlicG9zdGdyZXMuYTogcG9zdGdyZXMKIAogZW5kaWYgIyB3aW4zMgogCitpZmVx ICgkKFBPUlROQU1FKSwgYWl4KQorCitwb3N0Z3JlczogJChQT1NUR1JFU19JTVApCisJJChDQykg JChDRkxBR1MpICQoY2FsbCBleHBhbmRfc3Vic3lzLCQoT0JKUykpICQoTERGTEFHUykgLVdsLC1i RTokKHRvcF9idWlsZGRpcikvc3JjL2JhY2tlbmQvJChQT1NUR1JFU19JTVApICQoTElCUykgLVds LC1icnRsbGliIC1vICRACisKKyMgTGlua2luZyB0byBhIHNpbmdsZSAubyB3aXRoIC1yIGlzIGEg bG90IGZhc3RlciB0aGFuIGJ1aWxkaW5nIGEgLmEgb3IgcGFzc2luZworIyBhbGwgb2JqZWN0cyB0 byBNS0xERVhQT1JULgorIworIyBJdCBsb29rcyBhbGx1cmluZyB0byB1c2UgJChDQykgLXIgaW5z dGVhZCBvZiBsZCAtciwgYnV0IHRoYXQgZG9lc24ndAorIyB0cml2aWFsbHkgd29yayB3aXRoIGdj YywgZHVlIHRvIGdjYyBzcGVjaWZpYyBzdGF0aWMgbGlicmFyaWVzIGxpbmtlZCBpbiB3aXRoCisj IC1yLgorJChQT1NUR1JFU19JTVApOiAkKE9CSlMpCisJbGQgLXIgLW8gU1VCU1lTLm8gJChjYWxs IGV4cGFuZF9zdWJzeXMsJF4pCisJJChNS0xERVhQT1JUKSBTVUJTWVMubyAuID4gJEAKKwlAcm0g LWYgU1VCU1lTLm8KKworZW5kaWYgIyBhaXgKKwogJCh0b3BfYnVpbGRkaXIpL3NyYy9wb3J0L2xp YnBncG9ydF9zcnYuYTogfCBzdWJtYWtlLWxpYnBncG9ydAogCiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL21lc29uLmJ1aWxkIGIvc3JjL2JhY2tlbmQvbWVzb24uYnVpbGQKaW5kZXggNDM2YzA0 YWYwOC4uODc2N2FhYmE2NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbWVzb24uYnVpbGQKKysr IGIvc3JjL2JhY2tlbmQvbWVzb24uYnVpbGQKQEAgLTkxLDYgKzkxLDIxIEBAIGlmIGNjLmdldF9p ZCgpID09ICdtc3ZjJwogICAjIGJlIHJlc3RyaWN0ZWQgdG8gYl9wY2g9dHJ1ZS4KICAgYmFja2Vu ZF9saW5rX3dpdGggKz0gcG9zdGdyZXNfbGliCiAKK2VsaWYgaG9zdF9zeXN0ZW0gPT0gJ2FpeCcK KyAgIyBUaGUgJy4nIGFyZ3VtZW50IGxlYWRzIG1rbGRleHBvcnQuc2ggdG8gZW1pdCAiIyEgLiIs IHdoaWNoIHJlZmVycyB0byB0aGUKKyAgIyBtYWluIGV4ZWN1dGFibGUsIGFsbG93aW5nIGV4dGVu c2lvbiBsaWJyYXJpZXMgdG8gcmVzb2x2ZSB0aGVpciB1bmRlZmluZWQKKyAgIyBzeW1ib2xzIHRv IHN5bWJvbHMgaW4gdGhlIHBvc3RncmVzIGJpbmFyeS4KKyAgcG9zdGdyZXNfaW1wID0gY3VzdG9t X3RhcmdldCgncG9zdGdyZXMuaW1wJywKKyAgICBjb21tYW5kOiBbZmlsZXMoJ3BvcnQvYWl4L21r bGRleHBvcnQuc2gnKSwgJ0BJTlBVVEAnLCAnLiddLAorICAgIGlucHV0OiBwb3N0Z3Jlc19saWIs CisgICAgb3V0cHV0OiAncG9zdGdyZXMuaW1wJywKKyAgICBjYXB0dXJlOiB0cnVlLAorICAgIGlu c3RhbGw6IHRydWUsCisgICAgaW5zdGFsbF9kaXI6IGRpcl9saWIsCisgICAgYnVpbGRfYnlfZGVm YXVsdDogZmFsc2UsCisgICkKKyAgYmFja2VuZF9saW5rX2FyZ3MgKz0gJy1XbCwtYkU6QDBAJy5m b3JtYXQocG9zdGdyZXNfaW1wLmZ1bGxfcGF0aCgpKQorICBiYWNrZW5kX2xpbmtfZGVwZW5kcyAr PSBwb3N0Z3Jlc19pbXAKIGVuZGlmCiAKIGJhY2tlbmRfaW5wdXQgPSBbXQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcG9ydC9haXgvbWtsZGV4cG9ydC5zaCBiL3NyYy9iYWNrZW5kL3BvcnQvYWl4 L21rbGRleHBvcnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMC4uYWRm Mzc5M2U4NgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3BvcnQvYWl4L21rbGRleHBv cnQuc2gKQEAgLTAsMCArMSw2MSBAQAorIyEvYmluL3NoCisjCisjIG1rbGRleHBvcnQKKyMJY3Jl YXRlIGFuIEFJWCBleHBvcnRzIGZpbGUgZnJvbSBhbiBvYmplY3QgZmlsZQorIworIyBzcmMvYmFj a2VuZC9wb3J0L2FpeC9ta2xkZXhwb3J0LnNoCisjCisjIFVzYWdlOgorIwlta2xkZXhwb3J0IG9i amVjdGZpbGUgW2xvY2F0aW9uXQorIyB3aGVyZQorIwlvYmplY3RmaWxlIGlzIHRoZSBjdXJyZW50 IGxvY2F0aW9uIG9mIHRoZSBvYmplY3QgZmlsZS4KKyMJbG9jYXRpb24gaXMgdGhlIGV2ZW50dWFs IChpbnN0YWxsZWQpIGxvY2F0aW9uIG9mIHRoZQorIwkJb2JqZWN0IGZpbGUgKGlmIGRpZmZlcmVu dCBmcm9tIHRoZSBjdXJyZW50CisjCQl3b3JraW5nIGRpcmVjdG9yeSkuCisjCisjIFtUaGlzIGZp bGUgY29tZXMgZnJvbSB0aGUgUG9zdGdyZXMgNC4yIGRpc3RyaWJ1dGlvbi4gLSBheSA3Lzk1XQor IworIyBIZWFkZXI6IC91c3IvbG9jYWwvZGV2ZWwvcG9zdGdyZXMvc3JjL3Rvb2xzL21rbGRleHBv cnQvUkNTL21rbGRleHBvcnQuc2gsdiAxLjIgMTk5NC8wMy8xMyAwNDo1OToxMiBhb2tpIEV4cAor IworCisjIHNldHRpbmcgdGhpcyB0byBubSAtQiBtaWdodCBiZSBiZXR0ZXIKKyMgLi4uIGR1ZSB0 byBjaGFuZ2VzIGluIEFJWCA0LnggLi4uCisjIC4uLiBsZXQgdXMgc2VhcmNoIGluIGRpZmZlcmVu dCBkaXJlY3RvcmllcyAtIEdlcmhhcmQgUmVpdGhvZmVyCitpZiBbIC14IC91c3IvdWNiL25tIF0K K3RoZW4gTk09L3Vzci91Y2Ivbm0KK2VsaWYgWyAteCAvdXNyL2Jpbi9ubSBdCit0aGVuIE5NPS91 c3IvYmluL25tCitlbGlmIFsgLXggL3Vzci9jY3MvYmluL25tIF0KK3RoZW4gTk09L3Vzci9jY3Mv YmluL25tCitlbGlmIFsgLXggL3Vzci91c2cvYmluL25tIF0KK3RoZW4gTk09L3Vzci91c2cvYmlu L25tCitlbHNlIGVjaG8gIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCBgbm0nIC4uLiBwbGVhc2Ug Y2hlY2sgeW91ciBpbnN0YWxsYXRpb24uIgorICAgICBleGl0IDEKK2ZpCisKK0NNRE5BTUU9YGJh c2VuYW1lICQwYAoraWYgWyAteiAiJDEiIF07IHRoZW4KKwllY2hvICJVc2FnZTogJENNRE5BTUUg b2JqZWN0IFtsb2NhdGlvbl0iCisJZXhpdCAxCitmaQorT0JKTkFNRT1gYmFzZW5hbWUgJDFgCitp ZiBbICJgYmFzZW5hbWUgJE9CSk5BTUVgIiAhPSAiYGJhc2VuYW1lICRPQkpOQU1FIC5vYCIgXTsg dGhlbgorCU9CSk5BTUU9YGJhc2VuYW1lICRPQkpOQU1FIC5vYC5zbworZmkKK2lmIFsgLXogIiQy IiBdOyB0aGVuCisJZWNobyAnIyEnCitlbHNlCisJaWYgWyAiJDIiID0gIi4iIF07IHRoZW4KKwkJ IyBmb3IgdGhlIGJhc2UgZXhlY3V0YWJsZSAoQUlYIDQuMiBhbmQgdXApCisJCWVjaG8gJyMhIC4n CisJZWxzZQorCQllY2hvICcjIScgJDIKKwlmaQorZmkKKyROTSAtQkNnICQxIHwgXAorCWVncmVw ICcgW1REQl0gJyB8IFwKKwlzZWQgLWUgJ3MvLiogLy8nIHwgXAorCWVncmVwIC12ICdcJCcgfCBc CisJc2VkIC1lICdzL15bLl0vLycgfCBcCisJc29ydCB8IFwKKwl1bmlxCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9l bG9nLmMKaW5kZXggZDkxYTg1Y2IyZC4uN2I1MWU5NGY0YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YwpAQCAtOTA4LDcgKzkwOCw5IEBAIGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKHZvaWQpCiAJCQkv KiBXcm9uZyBvYmplY3QgdHlwZSBvciBzdGF0ZSAqLwogCQljYXNlIEVOT1RESVI6CQkJLyogTm90 IGEgZGlyZWN0b3J5ICovCiAJCWNhc2UgRUlTRElSOgkJCS8qIElzIGEgZGlyZWN0b3J5ICovCisj aWYgZGVmaW5lZChFTk9URU1QVFkpICYmIChFTk9URU1QVFkgIT0gRUVYSVNUKSAvKiBzYW1lIGNv ZGUgb24gQUlYICovCiAJCWNhc2UgRU5PVEVNUFRZOgkJCS8qIERpcmVjdG9yeSBub3QgZW1wdHkg Ki8KKyNlbmRpZgogCQkJZWRhdGEtPnNxbGVycmNvZGUgPSBFUlJDT0RFX1dST05HX09CSkVDVF9U WVBFOwogCQkJYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcHNf c3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0YXR1cy5jCmluZGV4IDlkYTYz Nzc0MDIuLjUzMmVhYzMxYjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcHNf c3RhdHVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYwpAQCAtNTAs NyArNTAsNyBAQCBib29sCQl1cGRhdGVfcHJvY2Vzc190aXRsZSA9IERFRkFVTFRfVVBEQVRFX1BS T0NFU1NfVElUTEU7CiAjZGVmaW5lIFBTX1VTRV9TRVRQUk9DVElUTEVfRkFTVAogI2VsaWYgZGVm aW5lZChIQVZFX1NFVFBST0NUSVRMRSkKICNkZWZpbmUgUFNfVVNFX1NFVFBST0NUSVRMRQotI2Vs aWYgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19zdW4pIHx8IGRlZmluZWQoX19kYXJ3 aW5fXykKKyNlbGlmIGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9BSVgpIHx8IGRlZmlu ZWQoX19zdW4pIHx8IGRlZmluZWQoX19kYXJ3aW5fXykKICNkZWZpbmUgUFNfVVNFX0NMT0JCRVJf QVJHVgogI2VsaWYgZGVmaW5lZChXSU4zMikKICNkZWZpbmUgUFNfVVNFX1dJTjMyCkBAIC02MCw3 ICs2MCw3IEBAIGJvb2wJCXVwZGF0ZV9wcm9jZXNzX3RpdGxlID0gREVGQVVMVF9VUERBVEVfUFJP Q0VTU19USVRMRTsKIAogCiAvKiBEaWZmZXJlbnQgc3lzdGVtcyB3YW50IHRoZSBidWZmZXIgcGFk ZGVkIGRpZmZlcmVudGx5ICovCi0jaWYgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19k YXJ3aW5fXykKKyNpZiBkZWZpbmVkKF9BSVgpIHx8IGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZp bmVkKF9fZGFyd2luX18pCiAjZGVmaW5lIFBTX1BBRERJTkcgJ1wwJwogI2Vsc2UKICNkZWZpbmUg UFNfUEFERElORyAnICcKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC90LzAxMF9w Z19iYXNlYmFja3VwLnBsIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDEwX3BnX2Jhc2ViYWNr dXAucGwKaW5kZXggMmQ0Yjc1YTZmZS4uY2U5MzY5NTljMSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19iYXNlYmFja3VwL3QvMDEwX3BnX2Jhc2ViYWNrdXAucGwKKysrIGIvc3JjL2Jpbi9wZ19iYXNl YmFja3VwL3QvMDEwX3BnX2Jhc2ViYWNrdXAucGwKQEAgLTQwMSw3ICs0MDEsOCBAQCBTS0lQOgog ewogCW15ICR0YXIgPSAkRU5We1RBUn07CiAJIyBkb24ndCBjaGVjayBmb3IgYSB3b3JraW5nIHRh ciBoZXJlLCB0byBhY2NvbW1vZGF0ZSB2YXJpb3VzIG9kZAotCSMgY2FzZXMuIElmIHRhciBkb2Vz bid0IHdvcmsgdGhlIGluaXRfZnJvbV9iYWNrdXAgYmVsb3cgd2lsbCBmYWlsLgorCSMgY2FzZXMg c3VjaCBhcyBBSVguIElmIHRhciBkb2Vzbid0IHdvcmsgdGhlIGluaXRfZnJvbV9iYWNrdXAgYmVs b3cKKwkjIHdpbGwgZmFpbC4KIAlza2lwICJubyB0YXIgcHJvZ3JhbSBhdmFpbGFibGUiLCAxCiAJ ICBpZiAoIWRlZmluZWQgJHRhciB8fCAkdGFyIGVxICcnKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ192ZXJpZnliYWNrdXAvdC8wMDhfdW50YXIucGwgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1 cC90LzAwOF91bnRhci5wbAppbmRleCA3YTA5ZjNiNzViLi4zMGQ5ZjNmN2YwIDEwMDY0NAotLS0g YS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAwOF91bnRhci5wbAorKysgYi9zcmMvYmluL3Bn X3ZlcmlmeWJhY2t1cC90LzAwOF91bnRhci5wbApAQCAtMTA0LDcgKzEwNCw4IEBAIGZvciBteSAk dGMgKEB0ZXN0X2NvbmZpZ3VyYXRpb24pCiAJCXsKIAkJCW15ICR0YXIgPSAkRU5We1RBUn07CiAJ CQkjIGRvbid0IGNoZWNrIGZvciBhIHdvcmtpbmcgdGFyIGhlcmUsIHRvIGFjY29tbW9kYXRlIHZh cmlvdXMgb2RkCi0JCQkjIGNhc2VzLiBJZiB0YXIgZG9lc24ndCB3b3JrIHRoZSBpbml0X2Zyb21f YmFja3VwIGJlbG93IHdpbGwgZmFpbC4KKwkJCSMgY2FzZXMgc3VjaCBhcyBBSVguIElmIHRhciBk b2Vzbid0IHdvcmsgdGhlIGluaXRfZnJvbV9iYWNrdXAgYmVsb3cKKwkJCSMgd2lsbCBmYWlsLgog CQkJc2tpcCAibm8gdGFyIHByb2dyYW0gYXZhaWxhYmxlIiwgMQogCQkJICBpZiAoIWRlZmluZWQg JHRhciB8fCAkdGFyIGVxICcnKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNr dXAvdC8wMTBfY2xpZW50X3VudGFyLnBsIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMTBf Y2xpZW50X3VudGFyLnBsCmluZGV4IDhjMDc2ZDQ2ZGUuLjQ1MDEwZDc5YWMgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDEwX2NsaWVudF91bnRhci5wbAorKysgYi9zcmMv YmluL3BnX3ZlcmlmeWJhY2t1cC90LzAxMF9jbGllbnRfdW50YXIucGwKQEAgLTEzNCw3ICsxMzQs OCBAQCBmb3IgbXkgJHRjIChAdGVzdF9jb25maWd1cmF0aW9uKQogCQl7CiAJCQlteSAkdGFyID0g JEVOVntUQVJ9OwogCQkJIyBkb24ndCBjaGVjayBmb3IgYSB3b3JraW5nIHRhciBoZXJlLCB0byBh Y2NvbW1vZGF0ZSB2YXJpb3VzIG9kZAotCQkJIyBjYXNlcy4gSWYgdGFyIGRvZXNuJ3Qgd29yayB0 aGUgaW5pdF9mcm9tX2JhY2t1cCBiZWxvdyB3aWxsIGZhaWwuCisJCQkjIGNhc2VzIHN1Y2ggYXMg QUlYLiBJZiB0YXIgZG9lc24ndCB3b3JrIHRoZSBpbml0X2Zyb21fYmFja3VwIGJlbG93CisJCQkj IHdpbGwgZmFpbC4KIAkJCXNraXAgIm5vIHRhciBwcm9ncmFtIGF2YWlsYWJsZSIsIDEKIAkJCSAg aWYgKCFkZWZpbmVkICR0YXIgfHwgJHRhciBlcSAnJyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCBkYzE4NDEzNDZjLi42NDFjZDliZGYxIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jLmgKKysrIGIvc3JjL2luY2x1ZGUvYy5oCkBAIC0xODIs NyArMTgyLDcgQEAKICNkZWZpbmUgUEdfVVNFRF9GT1JfQVNTRVJUU19PTkxZIHBnX2F0dHJpYnV0 ZV91bnVzZWQoKQogI2VuZGlmCiAKLS8qIEdDQyBzdXBwb3J0cyBmb3JtYXQgYXR0cmlidXRlcyAq LworLyogR0NDIHN1cHBvcnQgZm9ybWF0IGF0dHJpYnV0ZXMgKi8KICNpZiBkZWZpbmVkKF9fR05V Q19fKQogI2RlZmluZSBwZ19hdHRyaWJ1dGVfZm9ybWF0X2FyZyhhKSBfX2F0dHJpYnV0ZV9fKChm b3JtYXRfYXJnKGEpKSkKICNkZWZpbmUgcGdfYXR0cmlidXRlX3ByaW50ZihmLGEpIF9fYXR0cmli dXRlX18oKGZvcm1hdChQR19QUklOVEZfQVRUUklCVVRFLCBmLCBhKSkpCkBAIC0xOTIsNyArMTky LDcgQEAKICNlbmRpZgogCiAvKiBHQ0MgYW5kIFN1bnBybyBzdXBwb3J0IGFsaWduZWQsIHBhY2tl ZCBhbmQgbm9yZXR1cm4gKi8KLSNpZiBkZWZpbmVkKF9fR05VQ19fKSB8fCBkZWZpbmVkKF9fU1VO UFJPX0MpCisjaWYgZGVmaW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfX1NVTlBST19DKSAKICNk ZWZpbmUgcGdfYXR0cmlidXRlX2FsaWduZWQoYSkgX19hdHRyaWJ1dGVfXygoYWxpZ25lZChhKSkp CiAjZGVmaW5lIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpIF9fYXR0cmlidXRlX18oKG5vcmV0dXJu KSkKICNkZWZpbmUgcGdfYXR0cmlidXRlX3BhY2tlZCgpIF9fYXR0cmlidXRlX18oKHBhY2tlZCkp CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3J0L2FpeC5oIGIvc3JjL2luY2x1ZGUvcG9ydC9h aXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4xYzJkMTY2NzkxCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvcG9ydC9haXguaApAQCAtMCwwICsxLDYgQEAK Ky8qCisgKiBzcmMvaW5jbHVkZS9wb3J0L2FpeC5oCisgKi8KKyNkZWZpbmUgQ0xBU1NfQ09ORkxJ Q1QKKyNkZWZpbmUgRElTQUJMRV9YT1BFTl9OTFMKKwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv c3RvcmFnZS9zX2xvY2suaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKaW5kZXggMjlh YzZjZGNkOS4uMmY2ZWI1ZGYyYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xv Y2suaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCkBAIC00MjQsMTcgKzQyNCwx NSBAQCB0YXModm9sYXRpbGUgc2xvY2tfdCAqbG9jaykKIAlfX2FzbV9fIF9fdm9sYXRpbGVfXygK ICIJbHdhcnggICAlMCwwLCUzLDEJXG4iCiAiCWNtcHdpICAgJTAsMAkJXG4iCi0iCWJuZSAgICAg MWYJCQlcbiIKKyIJYm5lICAgICAkKzE2CQlcbiIJCS8qIGJyYW5jaCB0byBsaSAlMSwxICovCiAi CWFkZGkgICAgJTAsJTAsMQkJXG4iCiAiCXN0d2N4LiAgJTAsMCwlMwkJXG4iCi0iCWJlcSAgICAg MmYJCQlcbiIKLSIxOiBcbiIKKyIJYmVxICAgICAkKzEyCQlcbiIJCS8qIGJyYW5jaCB0byBsd3N5 bmMgKi8KICIJbGkgICAgICAlMSwxCQlcbiIKLSIJYiAgICAgICAzZgkJCVxuIgotIjI6IFxuIgor IgliICAgICAgICQrMTIJCVxuIgkJLyogYnJhbmNoIHRvIGVuZCBvZiBhc20gc2VxdWVuY2UgKi8K ICIJbHdzeW5jCQkJCVxuIgogIglsaSAgICAgICUxLDAJCVxuIgotIjM6IFxuIgorCiA6CSI9JmIi KF90KSwgIj1yIihfcmVzKSwgIittIigqbG9jaykKIDoJInIiKGxvY2spCiA6CSJtZW1vcnkiLCAi Y2MiKTsKQEAgLTY2Miw2ICs2NjAsMjEgQEAgdGFzKHZvbGF0aWxlIHNsb2NrX3QgKmxvY2spCiAK ICNpZiAhZGVmaW5lZChIQVNfVEVTVF9BTkRfU0VUKQkvKiBXZSBkaWRuJ3QgdHJpZ2dlciBhYm92 ZSwgbGV0J3MgdHJ5IGhlcmUgKi8KIAorI2lmIGRlZmluZWQoX0FJWCkJLyogQUlYICovCisvKgor ICogQUlYIChQT1dFUikKKyAqLworI2RlZmluZSBIQVNfVEVTVF9BTkRfU0VUCisKKyNpbmNsdWRl IDxzeXMvYXRvbWljX29wLmg+CisKK3R5cGVkZWYgaW50IHNsb2NrX3Q7CisKKyNkZWZpbmUgVEFT KGxvY2spCQkJX2NoZWNrX2xvY2soKHNsb2NrX3QgKikgKGxvY2spLCAwLCAxKQorI2RlZmluZSBT X1VOTE9DSyhsb2NrKQkJX2NsZWFyX2xvY2soKHNsb2NrX3QgKikgKGxvY2spLCAwKQorI2VuZGlm CSAvKiBfQUlYICovCisKKwogLyogVGhlc2UgYXJlIGluIHN1bnN0dWRpb18oc3BhcmN8eDg2KS5z ICovCiAKICNpZiBkZWZpbmVkKF9fU1VOUFJPX0MpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmNfXykgfHwgZGVmaW5lZChfX3NwYXJj KSkKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL01ha2VmaWxlIGIvc3JjL2ludGVy ZmFjZXMvbGlicHEvTWFrZWZpbGUKaW5kZXggYjM2YTc2NTc2NC4uMTU0NDI5ZDRkMSAxMDA2NDQK LS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvTWFrZWZpbGUKKysrIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvTWFrZWZpbGUKQEAgLTExNCw3ICsxMTQsNyBAQCBiYWNrZW5kX3NyYyA9ICQodG9wX3Ny Y2Rpcikvc3JjL2JhY2tlbmQKICMgY29kaW5nIHJ1bGUuCiBsaWJwcS1yZWZzLXN0YW1wOiAkKHNo bGliKQogaWZuZXEgKCQoZW5hYmxlX2NvdmVyYWdlKSwgeWVzKQotaWZlcSAoLCQoZmlsdGVyIHNv bGFyaXMsJChQT1JUTkFNRSkpKQoraWZlcSAoLCQoZmlsdGVyIGFpeCBzb2xhcmlzLCQoUE9SVE5B TUUpKSkKIAlAaWYgbm0gLUEgLXUgJDwgMj4vZGV2L251bGwgfCBncmVwIC12IC1lIF9fY3hhX2F0 ZXhpdCAtZSBfX3RzYW5fZnVuY19leGl0IHwgZ3JlcCBleGl0OyB0aGVuIFwKIAkJZWNobyAnbGli cHEgbXVzdCBub3QgYmUgY2FsbGluZyBhbnkgZnVuY3Rpb24gd2hpY2ggaW52b2tlcyBleGl0Jzsg ZXhpdCAxOyBcCiAJZmkKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL21lc29uLmJ1 aWxkIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQKaW5kZXggZWQyYTQwNDhkMS4u N2UyMDE3ZGFmMCAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQK KysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQKQEAgLTU0LDggKzU0LDkgQEAg bGlicHFfY19hcmdzID0gWyctRFNPX01BSk9SX1ZFUlNJT049NSddCiAjICAgIGxpYnBxX3N0LCBh bmQge3BncG9ydCxjb21tb259X3NobGliIGZvciBsaWJwcV9zaAogIwogIyBXZSBjb3VsZCB0cnkg dG8gYXZvaWQgYnVpbGRpbmcgdGhlIHNvdXJjZSBmaWxlcyB0d2ljZSwgYnV0IGl0IHByb2JhYmx5 IGFkZHMKLSMgbW9yZSBjb21wbGV4aXR5IHRoYW4gaXRzIHdvcnRoIChyZXVzaW5nIG9iamVjdCBm aWxlcyByZXF1aXJlcyBhbHNvIGxpbmtpbmcKLSMgdG8gdGhlIGxpYnJhcnkgb24gd2luZG93cyBv ciBicmVha3MgcHJlY29tcGlsZWQgaGVhZGVycykuCisjIG1vcmUgY29tcGxleGl0eSB0aGFuIGl0 cyB3b3J0aCAoQUlYIGRvZXNuJ3Qgc3VwcG9ydCBsaW5rX3dob2xlIHlldCwgcmV1c2luZworIyBv YmplY3QgZmlsZXMgcmVxdWlyZXMgYWxzbyBsaW5raW5nIHRvIHRoZSBsaWJyYXJ5IG9uIHdpbmRv d3Mgb3IgYnJlYWtzCisjIHByZWNvbXBpbGVkIGhlYWRlcnMpLgogbGlicHFfc3QgPSBzdGF0aWNf bGlicmFyeSgnbGlicHEnLAogICBsaWJwcV9zb3VyY2VzLAogICBpbmNsdWRlX2RpcmVjdG9yaWVz OiBbbGlicHFfaW5jXSwKZGlmZiAtLWdpdCBhL3NyYy9tYWtlZmlsZXMvTWFrZWZpbGUuYWl4IGIv c3JjL21ha2VmaWxlcy9NYWtlZmlsZS5haXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMC4uZGQxNmE3YTAzNwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tYWtlZmlsZXMvTWFr ZWZpbGUuYWl4CkBAIC0wLDAgKzEsMzkgQEAKKyMgTUFLRV9FWFBPUlRTIGlzIHJlcXVpcmVkIGZv ciBzdnI0IGxvYWRlcnMgdGhhdCB3YW50IGEgZmlsZSBvZgorIyBzeW1ib2wgbmFtZXMgdG8gdGVs bCB0aGVtIHdoYXQgdG8gZXhwb3J0L2ltcG9ydC4KK01BS0VfRVhQT1JUUz0gdHJ1ZQorCisjIC1i bGlicGF0aCBtdXN0IGNvbnRhaW4gQUxMIGRpcmVjdG9yaWVzIHdoZXJlIHdlIHNob3VsZCBsb29r IGZvciBsaWJyYXJpZXMKK2xpYnBhdGggOj0gJChzaGVsbCBlY2hvICQoc3Vic3QgLUwsOiwkKGZp bHRlciAtTC8lLCQoTERGTEFHUykpKSB8IHNlZCAtZSdzLyAvL2cnKTovdXNyL2xpYjovbGliCisK KyMgd2hlbiBidWlsZGluZyB3aXRoIGdjYywgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBsaWJnY2Mg Y2FuIGJlIGZvdW5kCitpZmVxICgkKEdDQyksIHllcykKK2xpYnBhdGggOj0gJChsaWJwYXRoKTok KGRpciAkKHNoZWxsIGdjYyAtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZSkpCitlbmRpZgorCitycGF0 aCA9IC1XbCwtYmxpYnBhdGg6JyQocnBhdGhkaXIpJChsaWJwYXRoKScKKworTERGTEFHU19TTCAr PSAtV2wsLWJub2VudHJ5IC1XbCwtSDUxMiAtV2wsLWJNOlNSRQorCisjIGdjYyBuZWVkcyB0byBr bm93IGl0J3MgYnVpbGRpbmcgYSBzaGFyZWQgbGliLCBvdGhlcndpc2UgaXQnbGwgbm90IGVtaXQK KyMgY29ycmVjdCBjb2RlIC8gbGluayB0byB0aGUgcmlnaHQgc3VwcG9ydCBsaWJyYXJpZXMKK2lm ZXEgKCQoR0NDKSwgeWVzKQorTERGTEFHU19TTCArPSAtc2hhcmVkCitlbmRpZgorCisjIGVudiB2 YXIgbmFtZSB0byB1c2UgaW4gcGxhY2Ugb2YgTERfTElCUkFSWV9QQVRICitsZF9saWJyYXJ5X3Bh dGhfdmFyID0gTElCUEFUSAorCisKK1BPU1RHUkVTX0lNUD0gcG9zdGdyZXMuaW1wCisKK2lmZGVm IFBHWFMKK0JFX0RMTExJQlM9IC1XbCwtYkk6JChwa2dsaWJkaXIpLyQoUE9TVEdSRVNfSU1QKQor ZWxzZQorQkVfRExMTElCUz0gLVdsLC1iSTokKHRvcF9idWlsZGRpcikvc3JjL2JhY2tlbmQvJChQ T1NUR1JFU19JTVApCitlbmRpZgorCitNS0xERVhQT1JUX0RJUj1zcmMvYmFja2VuZC9wb3J0L2Fp eAorTUtMREVYUE9SVD0kKHRvcF9zcmNkaXIpLyQoTUtMREVYUE9SVF9ESVIpL21rbGRleHBvcnQu c2gKKworJSQoRExTVUZGSVgpOiAlLm8KKwkkKENDKSAkKENGTEFHUykgJCoubyAkKExERkxBR1Mp ICQoTERGTEFHU19TTCkgLW8gJEAgJChCRV9ETExMSUJTKQpkaWZmIC0tZ2l0IGEvc3JjL3BvcnQv UkVBRE1FIGIvc3JjL3BvcnQvUkVBRE1FCmluZGV4IGVkNWM1NGE3MmYuLjk3ZjE4YTYyMzMgMTAw NjQ0Ci0tLSBhL3NyYy9wb3J0L1JFQURNRQorKysgYi9zcmMvcG9ydC9SRUFETUUKQEAgLTI4LDUg KzI4LDUgQEAgYXBwbGljYXRpb25zLgogZnJvbSBsaWJwZ3BvcnQgYXJlIGxpbmtlZCBmaXJzdC4g IFRoaXMgYXZvaWRzIGhhdmluZyBhcHBsaWNhdGlvbnMKIGRlcGVuZGVudCBvbiBzeW1ib2xzIHRo YXQgYXJlIF91c2VkXyBieSBsaWJwcSwgYnV0IG5vdCBpbnRlbmRlZCB0byBiZQogZXhwb3J0ZWQg YnkgbGlicHEuICBsaWJwcSdzIGxpYnBncG9ydCB1c2FnZSBjaGFuZ2VzIG92ZXIgdGltZSwgc28g c3VjaCBhCi1kZXBlbmRlbmN5IGlzIGEgcHJvYmxlbS4gIFdpbmRvd3MsIExpbnV4LCBhbmQgbWFj T1MgdXNlIGFuIGV4cG9ydAorZGVwZW5kZW5jeSBpcyBhIHByb2JsZW0uICBXaW5kb3dzLCBMaW51 eCwgQUlYLCBhbmQgbWFjT1MgdXNlIGFuIGV4cG9ydAogbGlzdCB0byBjb250cm9sIHRoZSBzeW1i b2xzIGV4cG9ydGVkIGJ5IGxpYnBxLgpkaWZmIC0tZ2l0IGEvc3JjL3BvcnQvc3RyZXJyb3IuYyBi L3NyYy9wb3J0L3N0cmVycm9yLmMKaW5kZXggNDkxOGJhODIxYy4uMTA3MGE0OTgwMiAxMDA2NDQK LS0tIGEvc3JjL3BvcnQvc3RyZXJyb3IuYworKysgYi9zcmMvcG9ydC9zdHJlcnJvci5jCkBAIC0y MTQsOCArMjE0LDEwIEBAIGdldF9lcnJub19zeW1ib2woaW50IGVycm51bSkKIAkJCXJldHVybiAi RU5PVENPTk4iOwogCQljYXNlIEVOT1RESVI6CiAJCQlyZXR1cm4gIkVOT1RESVIiOworI2lmIGRl ZmluZWQoRU5PVEVNUFRZKSAmJiAoRU5PVEVNUFRZICE9IEVFWElTVCkgLyogc2FtZSBjb2RlIG9u IEFJWCAqLwogCQljYXNlIEVOT1RFTVBUWToKIAkJCXJldHVybiAiRU5PVEVNUFRZIjsKKyNlbmRp ZgogCQljYXNlIEVOT1RTT0NLOgogCQkJcmV0dXJuICJFTk9UU09DSyI7CiAjaWZkZWYgRU5PVFNV UApkaWZmIC0tZ2l0IGEvc3JjL3RlbXBsYXRlL2FpeCBiL3NyYy90ZW1wbGF0ZS9haXgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMGE3ODg2NzZjMAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZW1wbGF0ZS9haXgKQEAgLTAsMCArMSwxNCBAQAorIyBzcmMvdGVtcGxhdGUv YWl4CisKKyAgIyBEdWUgdG8gYSBjb21waWxlciBidWcsIHNlZSAyMDE3MTAxMzAyMzUzNi5HQTQ5 MjE0NkByZmQubGVhZGJvYXQuY29tIGZvciBkZXRhaWxzLAorICAjIGZvcmNlIHJlc3RyaWN0IG5v dCB0byBiZSB1c2VkIHdoZW4gY29tcGlsaW5nIHdpdGggeGxjLgorIyAgRk9SQ0VfRElTQUJMRV9S RVNUUklDVD15ZXMKKyNmaQorCisjIEV4dHJhIENGTEFHUyBmb3IgY29kZSB0aGF0IHdpbGwgZ28g aW50byBhIHNoYXJlZCBsaWJyYXJ5CitDRkxBR1NfU0w9IiIKKworIyBOYXRpdmUgbWVtc2V0KCkg aXMgZmFzdGVyLCB0ZXN0ZWQgb246CisjIAlBSVggNS4xIGFuZCA1LjIsIFhMQyA2LjAgKElCTSdz IGNjKQorIyAJQUlYIDUuMyBNTDMsIGdjYyA0LjAuMQorTUVNU0VUX0xPT1BfTElNSVQ9MApkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9NYWtlZmlsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvTWFr ZWZpbGUKaW5kZXggNjQwOWE0ODVlOC4uN2M2NjVmZjg5MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9NYWtlZmlsZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL01ha2VmaWxlCkBAIC03LDYg KzcsMTEgQEAKICMgR05VIG1ha2UgdXNlcyBhIG1ha2UgZmlsZSBuYW1lZCAiR05VbWFrZWZpbGUi IGluIHByZWZlcmVuY2UgdG8gIk1ha2VmaWxlIgogIyBpZiBpdCBleGlzdHMuICBQb3N0Z3JlcyBp cyBzaGlwcGVkIHdpdGggYSAiR05VbWFrZWZpbGUiLgogCisKKyMgQUlYIG1ha2UgZGVmYXVsdHMg dG8gYnVpbGRpbmcgKmV2ZXJ5KiB0YXJnZXQgb2YgdGhlIGZpcnN0IHJ1bGUuICBTdGFydCB3aXRo CisjIGEgc2luZ2xlLXRhcmdldCwgZW1wdHkgcnVsZSB0byBtYWtlIHRoZSBvdGhlciB0YXJnZXRz IG5vbi1kZWZhdWx0LgorYWxsOgorCiBhbGwgaW5zdGFsbCBjbGVhbiBjaGVjayBpbnN0YWxsY2hl Y2s6CiAJQGVjaG8gIllvdSBtdXN0IHVzZSBHTlUgbWFrZSB0byB1c2UgUG9zdGdyZXMuICBJdCBt YXkgYmUgaW5zdGFsbGVkIgogCUBlY2hvICJvbiB5b3VyIHN5c3RlbSB3aXRoIHRoZSBuYW1lICdn bWFrZScuIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zYW5pdHlfY2hl Y2sub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zYW5pdHlfY2hlY2sub3V0CmluZGV4 IDgzNzBjMTU2MWMuLmM1YzY3NWI3NTAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc2FuaXR5X2NoZWNrLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nh bml0eV9jaGVjay5vdXQKQEAgLTI1LDMgKzI1LDMyIEBAIFNFTEVDVCByZWxuYW1lLCByZWxraW5k CiAtLS0tLS0tLS0rLS0tLS0tLS0tCiAoMCByb3dzKQogCistLQorLS0gV2hlbiBBTElHTk9GX0RP VUJMRT09NCAoZS5nLiBBSVgpLCB0aGUgQyBBQkkgbWF5IGltcG9zZSA4LWJ5dGUgYWxpZ25tZW50 IG9uCistLSBzb21lIG9mIHRoZSBDIHR5cGVzIHRoYXQgY29ycmVzcG9uZCB0byBUWVBBTElHTl9E T1VCTEUgU1FMIHR5cGVzLiAgVG8gZW5zdXJlCistLSBjYXRhbG9nIEMgc3RydWN0IGxheW91dCBt YXRjaGVzIGNhdGFsb2cgdHVwbGUgbGF5b3V0LCBhcnJhbmdlIGZvciB0aGUgdHVwbGUKKy0tIG9m ZnNldCBvZiBlYWNoIGZpeGVkLXdpZHRoLCBhdHRhbGlnbj0nZCcgY2F0YWxvZyBjb2x1bW4gdG8g YmUgZGl2aXNpYmxlIGJ5IDgKKy0tIHVuY29uZGl0aW9uYWxseS4gIEtlZXAgc3VjaCBjb2x1bW5z IGJlZm9yZSB0aGUgZmlyc3QgTmFtZURhdGEgY29sdW1uIG9mIHRoZQorLS0gY2F0YWxvZywgc2lu Y2UgcGFja2FnZXJzIGNhbiBvdmVycmlkZSBOQU1FREFUQUxFTiB0byBhbiBvZGQgbnVtYmVyLgor LS0KK1dJVEggY2hlY2tfY29sdW1ucyBBUyAoCisgU0VMRUNUIHJlbG5hbWUsIGF0dG5hbWUsCisg IGFycmF5KAorICAgU0VMRUNUIHQub2lkCisgICAgRlJPTSBwZ190eXBlIHQgSk9JTiBwZ19hdHRy aWJ1dGUgcGEgT04gdC5vaWQgPSBwYS5hdHR0eXBpZAorICAgIFdIRVJFIHBhLmF0dHJlbGlkID0g YS5hdHRyZWxpZCBBTkQKKyAgICAgICAgICBwYS5hdHRudW0gPiAwIEFORCBwYS5hdHRudW0gPCBh LmF0dG51bQorICAgIE9SREVSIEJZIHBhLmF0dG51bSkgQVMgY29sdHlwZXMKKyBGUk9NIHBnX2F0 dHJpYnV0ZSBhIEpPSU4gcGdfY2xhc3MgYyBPTiBjLm9pZCA9IGF0dHJlbGlkCisgIEpPSU4gcGdf bmFtZXNwYWNlIG4gT04gYy5yZWxuYW1lc3BhY2UgPSBuLm9pZAorIFdIRVJFIGF0dGFsaWduID0g J2QnIEFORCByZWxraW5kID0gJ3InIEFORAorICBhdHRub3RudWxsIEFORCBhdHRsZW4gPD4gLTEg QU5EIG4ubnNwbmFtZSA9ICdwZ19jYXRhbG9nJworKQorU0VMRUNUIHJlbG5hbWUsIGF0dG5hbWUs IGNvbHR5cGVzLCBnZXRfY29sdW1uc19sZW5ndGgoY29sdHlwZXMpCisgRlJPTSBjaGVja19jb2x1 bW5zCisgV0hFUkUgZ2V0X2NvbHVtbnNfbGVuZ3RoKGNvbHR5cGVzKSAlIDggIT0gMCBPUgorICAg ICAgICduYW1lJzo6cmVndHlwZTo6b2lkID0gQU5ZKGNvbHR5cGVzKTsKKyByZWxuYW1lIHwgYXR0 bmFtZSB8IGNvbHR5cGVzIHwgZ2V0X2NvbHVtbnNfbGVuZ3RoIAorLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Rlc3Rfc2V0dXAub3V0IGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC90ZXN0X3NldHVwLm91dAppbmRleCAzZDBlZWVjOTk2Li41ZDllNmJmMTJi IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Rlc3Rfc2V0dXAub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdGVzdF9zZXR1cC5vdXQKQEAgLTIwOSw2ICsy MDksMTAgQEAgQ1JFQVRFIEZVTkNUSU9OIHR0ZHVtbXkgKCkKICAgICBSRVRVUk5TIHRyaWdnZXIK ICAgICBBUyA6J3JlZ3Jlc3NsaWInCiAgICAgTEFOR1VBR0UgQzsKK0NSRUFURSBGVU5DVElPTiBn ZXRfY29sdW1uc19sZW5ndGgob2lkW10pCisgICAgUkVUVVJOUyBpbnQKKyAgICBBUyA6J3JlZ3Jl c3NsaWInCisgICAgTEFOR1VBR0UgQyBTVFJJQ1QgU1RBQkxFIFBBUkFMTEVMIFNBRkU7CiAtLSBV c2UgaGFuZC1yb2xsZWQgaGFzaCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9yIGNsYXNzZXMgdG8gZ2V0 IHByZWRpY3RhYmxlCiAtLSByZXN1bHQgb24gZGlmZmVyZW50IG1hY2hpbmVzLiAgVGhlIGhhc2gg ZnVuY3Rpb24gZm9yIGludDQgc2ltcGx5IHJldHVybnMKIC0tIHRoZSBzdW0gb2YgdGhlIHZhbHVl cyBwYXNzZWQgdG8gaXQgYW5kIHRoZSBvbmUgZm9yIHRleHQgcmV0dXJucyB0aGUgbGVuZ3RoCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3MuYyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cmVncmVzcy5jCmluZGV4IGRlZmZhZWE1NzguLmNjNjMzODY0ZDcgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3MvcmVncmVzcy5jCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcmVncmVzcy5jCkBA IC0xMjIxLDMgKzEyMjEsNDMgQEAgYmluYXJ5X2NvZXJjaWJsZShQR19GVU5DVElPTl9BUkdTKQog CiAJUEdfUkVUVVJOX0JPT0woSXNCaW5hcnlDb2VyY2libGUoc3JjdHlwZSwgdGFyZ2V0dHlwZSkp OwogfQorCisvKgorICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHBvcnRpb24gb2YgYSB0dXBs ZSBjb25zaXN0aW5nIG9mIHRoZSBnaXZlbiBhcnJheQorICogb2YgZGF0YSB0eXBlcy4gIFRoZSBp bnB1dCBkYXRhIHR5cGVzIG11c3QgYmUgZml4ZWQtbGVuZ3RoIGRhdGEgdHlwZXMuCisgKi8KK1BH X0ZVTkNUSU9OX0lORk9fVjEoZ2V0X2NvbHVtbnNfbGVuZ3RoKTsKK0RhdHVtCitnZXRfY29sdW1u c19sZW5ndGgoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlBcnJheVR5cGUgICp0YSA9IFBHX0dFVEFS R19BUlJBWVRZUEVfUCgwKTsKKwlPaWQJCSAgICp0eXBlX29pZHM7CisJaW50CQkJbnR5cGVzOwor CWludAkJCWNvbHVtbl9vZmZzZXQgPSAwOworCisJaWYgKEFSUl9IQVNOVUxMKHRhKSAmJiBhcnJh eV9jb250YWluc19udWxscyh0YSkpCisJCWVsb2coRVJST1IsICJhcmd1bWVudCBtdXN0IG5vdCBj b250YWluIG51bGxzIik7CisKKwlpZiAoQVJSX05ESU0odGEpID4gMSkKKwkJZWxvZyhFUlJPUiwg ImFyZ3VtZW50IG11c3QgYmUgZW1wdHkgb3Igb25lLWRpbWVuc2lvbmFsIGFycmF5Iik7CisKKwl0 eXBlX29pZHMgPSAoT2lkICopIEFSUl9EQVRBX1BUUih0YSk7CisJbnR5cGVzID0gQXJyYXlHZXRO SXRlbXMoQVJSX05ESU0odGEpLCBBUlJfRElNUyh0YSkpOworCWZvciAoaW50IGkgPSAwOyBpIDwg bnR5cGVzOyBpKyspCisJeworCQlPaWQJCQl0eXBlb2lkID0gdHlwZV9vaWRzW2ldOworCQlpbnQx NgkJdHlwbGVuOworCQlib29sCQl0eXBieXZhbDsKKwkJY2hhcgkJdHlwYWxpZ247CisKKwkJZ2V0 X3R5cGxlbmJ5dmFsYWxpZ24odHlwZW9pZCwgJnR5cGxlbiwgJnR5cGJ5dmFsLCAmdHlwYWxpZ24p OworCisJCS8qIHRoZSBkYXRhIHR5cGUgbXVzdCBiZSBmaXhlZC1sZW5ndGggKi8KKwkJaWYgKHR5 cGxlbiA8IDApCisJCQllbG9nKEVSUk9SLCAidHlwZSAldSBpcyBub3QgZml4ZWQtbGVuZ3RoIGRh dGEgdHlwZSIsIHR5cGVvaWQpOworCisJCWNvbHVtbl9vZmZzZXQgPSBhdHRfYWxpZ25fbm9taW5h bChjb2x1bW5fb2Zmc2V0ICsgdHlwbGVuLCB0eXBhbGlnbik7CisJfQorCisJUEdfUkVUVVJOX0lO VDMyKGNvbHVtbl9vZmZzZXQpOworfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c2FuaXR5X2NoZWNrLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nhbml0eV9jaGVjay5zcWwK aW5kZXggMTYyZTUzMjRiNS4uN2YzMzhkMTkxYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc2FuaXR5X2NoZWNrLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zYW5pdHlf Y2hlY2suc3FsCkBAIC0xOSwzICsxOSwyOSBAQCBTRUxFQ1QgcmVsbmFtZSwgcmVsa2luZAogICBG Uk9NIHBnX2NsYXNzCiAgV0hFUkUgcmVsa2luZCBJTiAoJ3YnLCAnYycsICdmJywgJ3AnLCAnSScp CiAgICAgICAgQU5EIHJlbGZpbGVub2RlIDw+IDA7CisKKy0tCistLSBXaGVuIEFMSUdOT0ZfRE9V QkxFPT00IChlLmcuIEFJWCksIHRoZSBDIEFCSSBtYXkgaW1wb3NlIDgtYnl0ZSBhbGlnbm1lbnQg b24KKy0tIHNvbWUgb2YgdGhlIEMgdHlwZXMgdGhhdCBjb3JyZXNwb25kIHRvIFRZUEFMSUdOX0RP VUJMRSBTUUwgdHlwZXMuICBUbyBlbnN1cmUKKy0tIGNhdGFsb2cgQyBzdHJ1Y3QgbGF5b3V0IG1h dGNoZXMgY2F0YWxvZyB0dXBsZSBsYXlvdXQsIGFycmFuZ2UgZm9yIHRoZSB0dXBsZQorLS0gb2Zm c2V0IG9mIGVhY2ggZml4ZWQtd2lkdGgsIGF0dGFsaWduPSdkJyBjYXRhbG9nIGNvbHVtbiB0byBi ZSBkaXZpc2libGUgYnkgOAorLS0gdW5jb25kaXRpb25hbGx5LiAgS2VlcCBzdWNoIGNvbHVtbnMg YmVmb3JlIHRoZSBmaXJzdCBOYW1lRGF0YSBjb2x1bW4gb2YgdGhlCistLSBjYXRhbG9nLCBzaW5j ZSBwYWNrYWdlcnMgY2FuIG92ZXJyaWRlIE5BTUVEQVRBTEVOIHRvIGFuIG9kZCBudW1iZXIuCist LQorV0lUSCBjaGVja19jb2x1bW5zIEFTICgKKyBTRUxFQ1QgcmVsbmFtZSwgYXR0bmFtZSwKKyAg YXJyYXkoCisgICBTRUxFQ1QgdC5vaWQKKyAgICBGUk9NIHBnX3R5cGUgdCBKT0lOIHBnX2F0dHJp YnV0ZSBwYSBPTiB0Lm9pZCA9IHBhLmF0dHR5cGlkCisgICAgV0hFUkUgcGEuYXR0cmVsaWQgPSBh LmF0dHJlbGlkIEFORAorICAgICAgICAgIHBhLmF0dG51bSA+IDAgQU5EIHBhLmF0dG51bSA8IGEu YXR0bnVtCisgICAgT1JERVIgQlkgcGEuYXR0bnVtKSBBUyBjb2x0eXBlcworIEZST00gcGdfYXR0 cmlidXRlIGEgSk9JTiBwZ19jbGFzcyBjIE9OIGMub2lkID0gYXR0cmVsaWQKKyAgSk9JTiBwZ19u YW1lc3BhY2UgbiBPTiBjLnJlbG5hbWVzcGFjZSA9IG4ub2lkCisgV0hFUkUgYXR0YWxpZ24gPSAn ZCcgQU5EIHJlbGtpbmQgPSAncicgQU5ECisgIGF0dG5vdG51bGwgQU5EIGF0dGxlbiA8PiAtMSBB TkQgbi5uc3BuYW1lID0gJ3BnX2NhdGFsb2cnCispCitTRUxFQ1QgcmVsbmFtZSwgYXR0bmFtZSwg Y29sdHlwZXMsIGdldF9jb2x1bW5zX2xlbmd0aChjb2x0eXBlcykKKyBGUk9NIGNoZWNrX2NvbHVt bnMKKyBXSEVSRSBnZXRfY29sdW1uc19sZW5ndGgoY29sdHlwZXMpICUgOCAhPSAwIE9SCisgICAg ICAgJ25hbWUnOjpyZWd0eXBlOjpvaWQgPSBBTlkoY29sdHlwZXMpOwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdGVzdF9zZXR1cC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC90 ZXN0X3NldHVwLnNxbAppbmRleCAwNmIwZTIxMjFmLi4xYjJkNDM0NjgzIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC90ZXN0X3NldHVwLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC90ZXN0X3NldHVwLnNxbApAQCAtMjU3LDYgKzI1NywxMSBAQCBDUkVBVEUgRlVOQ1RJT04g dHRkdW1teSAoKQogICAgIEFTIDoncmVncmVzc2xpYicKICAgICBMQU5HVUFHRSBDOwogCitDUkVB VEUgRlVOQ1RJT04gZ2V0X2NvbHVtbnNfbGVuZ3RoKG9pZFtdKQorICAgIFJFVFVSTlMgaW50Cisg ICAgQVMgOidyZWdyZXNzbGliJworICAgIExBTkdVQUdFIEMgU1RSSUNUIFNUQUJMRSBQQVJBTExF TCBTQUZFOworCiAtLSBVc2UgaGFuZC1yb2xsZWQgaGFzaCBmdW5jdGlvbnMgYW5kIG9wZXJhdG9y IGNsYXNzZXMgdG8gZ2V0IHByZWRpY3RhYmxlCiAtLSByZXN1bHQgb24gZGlmZmVyZW50IG1hY2hp bmVzLiAgVGhlIGhhc2ggZnVuY3Rpb24gZm9yIGludDQgc2ltcGx5IHJldHVybnMKIC0tIHRoZSBz dW0gb2YgdGhlIHZhbHVlcyBwYXNzZWQgdG8gaXQgYW5kIHRoZSBvbmUgZm9yIHRleHQgcmV0dXJu cyB0aGUgbGVuZ3RoCmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvZ2VuX2V4cG9ydC5wbCBiL3NyYy90 b29scy9nZW5fZXhwb3J0LnBsCmluZGV4IGQ5ZmRhYWFmNmQuLjg4OGM4YTE5N2EgMTAwNjQ0Ci0t LSBhL3NyYy90b29scy9nZW5fZXhwb3J0LnBsCisrKyBiL3NyYy90b29scy9nZW5fZXhwb3J0LnBs CkBAIC0xNiwxMSArMTYsMTIgQEAgR2V0T3B0aW9ucygKIAknaW5wdXQ6cycgPT4gXCRpbnB1dCwK IAknb3V0cHV0OnMnID0+IFwkb3V0cHV0KSBvciBkaWUgIndyb25nIGFyZ3VtZW50cyI7CiAKLWlm IChub3QoICAgJGZvcm1hdCBlcSAnZGFyd2luJworaWYgKG5vdCggICAkZm9ybWF0IGVxICdhaXgn CisJCW9yICRmb3JtYXQgZXEgJ2RhcndpbicKIAkJb3IgJGZvcm1hdCBlcSAnZ251JwogCQlvciAk Zm9ybWF0IGVxICd3aW4nKSkKIHsKLQlkaWUgIiQwOiAkZm9ybWF0IGlzIG5vdCB5ZXQgaGFuZGxl ZCAob25seSBkYXJ3aW4sIGdudSwgd2luIGFyZSlcbiI7CisJZGllICIkMDogJGZvcm1hdCBpcyBu b3QgeWV0IGhhbmRsZWQgKG9ubHkgYWl4LCBkYXJ3aW4sIGdudSwgd2luIGFyZSlcbiI7CiB9CiAK IG9wZW4obXkgJGlucHV0X2hhbmRsZSwgJzwnLCAkaW5wdXQpCkBAIC01NSw3ICs1NiwxMSBAQCB3 aGlsZSAoPCRpbnB1dF9oYW5kbGU+KQogCX0KIAllbHNpZiAoL14oXFMrKVxzKyhcUyspLykKIAl7 Ci0JCWlmICgkZm9ybWF0IGVxICdkYXJ3aW4nKQorCQlpZiAoJGZvcm1hdCBlcSAnYWl4JykKKwkJ eworCQkJcHJpbnQgJG91dHB1dF9oYW5kbGUgIiQxXG4iOworCQl9CisJCWVsc2lmICgkZm9ybWF0 IGVxICdkYXJ3aW4nKQogCQl7CiAJCQlwcmludCAkb3V0cHV0X2hhbmRsZSAiXyQxXG4iOwogCQl9 CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmNsdWRlL2hlYWRlcnNjaGVjayBiL3NyYy90b29s cy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNrCmluZGV4IDRhMTU3ZDBhNWYuLmNmZDhjNjg5NmMgMTAw NzU1Ci0tLSBhL3NyYy90b29scy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNrCisrKyBiL3NyYy90b29s cy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNrCkBAIC04NSw2ICs4NSw3IEBAIGRvCiAKIAkjIFRoZXNl IGZpbGVzIGFyZSBwbGF0Zm9ybS1zcGVjaWZpYywgYW5kIGMuaCB3aWxsIGluY2x1ZGUgdGhlCiAJ IyBvbmUgdGhhdCdzIHJlbGV2YW50IGZvciBvdXIgY3VycmVudCBwbGF0Zm9ybSBhbnl3YXkuCisJ dGVzdCAiJGYiID0gc3JjL2luY2x1ZGUvcG9ydC9haXguaCAmJiBjb250aW51ZQogCXRlc3QgIiRm IiA9IHNyYy9pbmNsdWRlL3BvcnQvY3lnd2luLmggJiYgY29udGludWUKIAl0ZXN0ICIkZiIgPSBz cmMvaW5jbHVkZS9wb3J0L2Rhcndpbi5oICYmIGNvbnRpbnVlCiAJdGVzdCAiJGYiID0gc3JjL2lu Y2x1ZGUvcG9ydC9mcmVlYnNkLmggJiYgY29udGludWUKLS0gCjIuNDEuMAoK --_004_CY8PR15MB5602A5D9064A401347684A06DB872CY8PR15MB5602namp_--