From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67]) by sourceware.org (Postfix) with ESMTPS id D81523858D20 for ; Mon, 15 Jan 2024 09:34:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D81523858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D81523858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.67 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1705311302; cv=pass; b=j4lLIwX3USJ40Q8FofmJY0FZcboqpxNjoRSEOL4OWI1+oxhUcN5nHLpwjvC2Jh1TqP3HPj7QbTS2XobT/bofJ6IibYJpyVbLOkJbqRsJBgzJ8qXO0xLcQvgqlpXXoH4Ym4lCUvpVIds6HBVXio+HBJLkdFG3KfsiA6//mFGFYz8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1705311302; c=relaxed/simple; bh=EhIQEtRIi7UK0PvAPU/Ab/ZD+ubWlD//k15Irqo84ck=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:From:To: MIME-Version; b=xKJie26pnLMEOxXfdG3++NbGx/tNhp+c3Lyj8WSNUvDHcQPRLzje6S8O9R7wgOr5f0U47dtQj4I1R6O6n72Ui9PrID+jFaqxv4dfclpcwKzMoiwR7ch/T/Rv4VHDsGCo1mu7CUv7/DVpy0q4NU47IwmdqhMT3qoR7qEcTZMcO2g= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=CuxE2p7qAwzX5GslZuClCT6QONdWfWgQIs4WXMofx6WTnBH1nyXxAwjFs9HqO24Vp0d1W7NAzqG89JoiTfiRtFVVOcpwBpawSdUs2ePdoRdDplFyOCJ5Rl6AeEgBbxCMqy27P6M4F7wpFDbUxCVIV6awU6+sB6Ghtp+NpDsTtOUetvKMfh18upSQ2Y9PzW0yrcRp5zglqe8gCRfjGivWej7lS8/Qz/11WNB3XK24eBxnCS+Rs/rA5qUy+rPEI24JHbJzi7XXyXMus/HzOZ45A1rhGOyhws1T+M3uO0SoBwb1GDN10fl+D+7FI0LFlR9uPzJHoxIlxc4MqqpJV+9LRg== ARC-Message-Signature: i=2; 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=EhIQEtRIi7UK0PvAPU/Ab/ZD+ubWlD//k15Irqo84ck=; b=j4St7FqKXUgo0KdrWgq9USnlEctRUZQ9chWm/ic1hCblw81do6XWxXn8Mcq8bFsSdHnX5xUtZwiQKACHaCKJcp9wtoDQTqrwzQosf/MlZBcqW10N+0pszWjGXdjr4AoTVaWrBXzIZcAXmztsfo2e7rWNGTdel4/C1ye+YtkitHs1RLiGI4IrnsuqaAzTy3Nya0SOCyU8R4lPmmEpaTGajoP96Q1WvHyeXcraFEf5dXB2LylWWUqK1CyA8sqtr9JwagdDEbxYTuSXkd7Ndb2VFgIuFqVrE/68GZqXVWGqn7jkdyizEgTONz94yGYmuVBrA8+LU68h39RkYPXuUsfsIQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EhIQEtRIi7UK0PvAPU/Ab/ZD+ubWlD//k15Irqo84ck=; b=Bx9/OMwJOqNZjWT4SXa1ifAPcXaBkcMZJ/UE93/7/a8XoNrVkGHMeXZs+TKBM8YX2IsmpuS8nUE3mkTtbgFYBbXKhISHkqvzvirRBKcPeFOYJSvyRjBGLZR7Sk+elAG7GifjDXz+cAj8Qm9MgCU/Bnj95D3CCMERDCSk9AkhZJw= Received: from AM6P193CA0054.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::31) by DU0PR08MB9701.eurprd08.prod.outlook.com (2603:10a6:10:447::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.23; Mon, 15 Jan 2024 09:34:54 +0000 Received: from AMS1EPF0000004B.eurprd04.prod.outlook.com (2603:10a6:209:8e:cafe::48) by AM6P193CA0054.outlook.office365.com (2603:10a6:209:8e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.23 via Frontend Transport; Mon, 15 Jan 2024 09:34:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS1EPF0000004B.mail.protection.outlook.com (10.167.16.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.16 via Frontend Transport; Mon, 15 Jan 2024 09:34:54 +0000 Received: ("Tessian outbound c87008563c51:v228"); Mon, 15 Jan 2024 09:34:54 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b2b484230c601abe X-CR-MTA-TID: 64aa7808 Received: from 798529094438.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2995044A-D495-4B9D-8C98-371BC90D59D9.1; Mon, 15 Jan 2024 09:34:47 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 798529094438.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 15 Jan 2024 09:34:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L3rcdFrqa+4vP9cJlHVps5e9BXiiIiBGw7LjWG0hmc67JcKEsG1p3Y2Y0lXTz+eIsM1w4gfGg0ssbrSNruVSGw758fdFKVHLPJrabrpxG0dojmRjKyBj7yj4cdk4rQ4LpjRhoNaHb0CqC+9qeKEvjZ1H1zD2bSqQT4mbCqPXDcygmzfuziI8WQlvj8YOqjPnUAEr2eEhEx5JdcarYEU4b9T3enBvXARipw7ueJqKvZNNVF/Vxz+eLSjuA7XqQc0d5i21HRA8Q+/7pn0NDNMO8wYpUYXfgmVw5mIKkm196t7jQG7vOjh6LchL+ZCwp+GKefG8kRjfUNKylxtCRc3Syg== 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=EhIQEtRIi7UK0PvAPU/Ab/ZD+ubWlD//k15Irqo84ck=; b=U09FETQWwK5zzWAGS2xrQIGY1AMQI7bjMFWsksJxgdrMAkUlLKP4ZuNSX/Zbfrugis1zJdoiLagX4oJ/JPvABigQOD9mNs00oPlP94vu7gs/EwOtLvrpcX2RrGQP+6COZY/EHy1UogPO+2mfnugyxCZz7+i+B7pWjvlzeB8Pj5HqJRNyc/lNNCUMUfQsGZTvkUtuov7Wl5j52x9NF58/HyMXTE+or+DDI+5kGEdv425M2vEDV6T4Ypc66j5cOX/o4gfFgcvuSBoIXwxXi8AbKX1AeGEOhNuSPxwHPe0YpqsRUt6POyWfbXJgCOpscsbwHfdLd/mcMP6NKJqmUVb4nQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EhIQEtRIi7UK0PvAPU/Ab/ZD+ubWlD//k15Irqo84ck=; b=Bx9/OMwJOqNZjWT4SXa1ifAPcXaBkcMZJ/UE93/7/a8XoNrVkGHMeXZs+TKBM8YX2IsmpuS8nUE3mkTtbgFYBbXKhISHkqvzvirRBKcPeFOYJSvyRjBGLZR7Sk+elAG7GifjDXz+cAj8Qm9MgCU/Bnj95D3CCMERDCSk9AkhZJw= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VE1PR08MB4893.eurprd08.prod.outlook.com (2603:10a6:802:aa::13) by AS2PR08MB8975.eurprd08.prod.outlook.com (2603:10a6:20b:5fb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.26; Mon, 15 Jan 2024 09:34:45 +0000 Received: from VE1PR08MB4893.eurprd08.prod.outlook.com ([fe80::bfa1:3b17:7c9a:5feb]) by VE1PR08MB4893.eurprd08.prod.outlook.com ([fe80::bfa1:3b17:7c9a:5feb%7]) with mapi id 15.20.7181.022; Mon, 15 Jan 2024 09:34:45 +0000 Content-Type: multipart/mixed; boundary="------------wlp4jkuYt8Fy7B2AeEtr1B50" Message-ID: Date: Mon, 15 Jan 2024 09:34:41 +0000 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/6][Binutils] aarch64: Add support for FEAT_SME2p1 instructions. From: Srinath Parvathaneni To: binutils@sourceware.org Cc: richard.earnshaw@arm.com, nickc@redhat.com References: <73155200-f7c2-4226-b4be-4a320ea82044@arm.com> Content-Language: en-US In-Reply-To: <73155200-f7c2-4226-b4be-4a320ea82044@arm.com> X-ClientProxiedBy: LO3P265CA0002.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:bb::7) To VE1PR08MB4893.eurprd08.prod.outlook.com (2603:10a6:802:aa::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VE1PR08MB4893:EE_|AS2PR08MB8975:EE_|AMS1EPF0000004B:EE_|DU0PR08MB9701:EE_ X-MS-Office365-Filtering-Correlation-Id: cb0e353b-f788-4b56-3744-08dc15ad3b2c X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: rMNZbZ2WRshyVuj95NSpvumTIj4D//RmiR6ganXHw7hZBTfNRk46M7k5BPbd/Lp7at6LE1KSlmY+7Ma0tlO429LjpXfvC7e14NGc2Q1Sf5PvVlBq3IuovdYzL4f2Jzba0DtIknFYTNMv3/IXNujAu3bYj7ndtkBEWLTdPIwMU4DP5kwCapXgReuwnbFjeCu7Y47WlNR6D2LkmkHNb/iig9P8XhDpTGhhAYli0w20uS5Sw+MPbz77HU8TbAmMZz8vSpEfkf1JXHW2EZ0pPL96q2tfULOn2c5bmfquu8lvtqohBVvekC6aHPJic/BfJSoU5mg7vgyFD5x1jujvw+XojSVO+wt7UUIhOpqup3BkgDRB2QFodoTzOwXR8ZHv2RvmUAuVRCURsyfHB/w7gn2mB+8OZmnvtAQVV+fGBXteUU4/dP3EminOMtezf6GSYk2EKLuYhAXXkjWa3t/yIWmQ/fqZ5/WPKhbsckiVcHkeaUdcFIt01S59hIZoEDNscdpaERIzglctONEMTHtylD7kyNT3W4zgZTqeeo/cOCh2+5f78eaPIF/BuGrncqqN4PslIBk+EsDpwDWmhD/08Vm40olepBNv9LdvRo/NFNgKK83F5BUjDUoGdjFOBlFY5NX7JJUsQZfpKLfVXabj/4EraA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR08MB4893.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(136003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(6512007)(2616005)(26005)(38100700002)(44832011)(4326008)(8676002)(5660300002)(235185007)(2906002)(8936002)(6486002)(478600001)(6506007)(33964004)(6666004)(6916009)(66476007)(66556008)(66946007)(316002)(41300700001)(36756003)(31696002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8975 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000004B.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a7ad1fb7-bd3d-40e4-dfbc-08dc15ad35cd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RG8Ta6QWRbX0cRyfvrgU1ScQp4dFL+b42QtJ9Pk6dkIC+GZo9xqqM0qt0WswpXrC1VI4Ey6LDu2V//PWgFLRdIIyOj4KaIj7vCfZfIX/dduu6yCqlTFTTKf5LJAzm2oA/QdJtGjJVGOA3vJKpPD3Mz5p1uqxKa44DmxZiYNuB7MPcIBr0CSMyR7/zbhQc4/OBS9lvcgcdqjX4hyaau90PzzbjyjnXOig+02JNF9VFq/rk8C1LKR08SNPD8xSRSfGttJ2TkH69CM1TFUhAC0OX9SWrWvYrLnU9E9LrNWhvq8A86xN9nQr2V/vbj+ZtcyFByhtVOn0clek+MTsudHj3xuwbhF2qsdq8kpR7RY6ooSKlibWnjcx6z77snNdZp2EFO7F9p+ClBQPjkbOwXhDCI+lMib6xjXRZgipLBebvJGW5j/p/7ZeuoHj4DYw6wWrS/9q9x8LI1e9K1mOraVcitwgwXUlRcx4zb8uyjuYdLvAdsPO82cBWYYULAfr7Q8XbeEF8ZRVbWbKxOaw7rjO4ZxRynPi34xi3ttyPlvIZdDI8TTTGoozhHafGol4NNlT4B7gU2Ge/KDXh1E6B6nGdKLS4fBVpoGT5m+R0K0RajZ2RO853leuuB4AGODdigt1DuuOLsbXB/rQioDd/H7mBBPaqdOeQpYbJ67Fg3XFQLIryDUgQM88hMhxLL3u0IpkkCJcmnWtjaKt4veMbhxQpk9rBIdzexymcS9ojY53LGdxaKj+RjvL+dWx1cvG3Qrm1s6pHrxqiVlwjl5xA8RR6A== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(4636009)(136003)(396003)(376002)(39860400002)(346002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(82310400011)(46966006)(40470700004)(36840700001)(31686004)(4326008)(40480700001)(235185007)(5660300002)(40460700003)(356005)(8676002)(81166007)(6916009)(8936002)(70586007)(70206006)(44832011)(316002)(82740400003)(31696002)(86362001)(6486002)(6512007)(107886003)(33964004)(2616005)(478600001)(6506007)(6666004)(2906002)(41300700001)(336012)(26005)(36756003)(36860700001)(47076005)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2024 09:34:54.5421 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb0e353b-f788-4b56-3744-08dc15ad3b2c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS1EPF0000004B.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9701 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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: --------------wlp4jkuYt8Fy7B2AeEtr1B50 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, This patch add support for FEAT_SME2p1 and "movaz" instructions along with the optional flag +sme2p1. Following "movaz" instructions are add: Move and zero two ZA tile slices to vector registers. Move and zero four ZA tile slices to vector registers. Regression testing for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath. --------------wlp4jkuYt8Fy7B2AeEtr1B50 Content-Type: text/x-patch; charset=UTF-8; name="2_6.patch" Content-Disposition: attachment; filename="2_6.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2dhcy9ORVdTIGIvZ2FzL05FV1MKaW5kZXggNzRkZjdlNjEzNDk2MjY5MjZi ZWMxNjI2YWE1ZDg5NjI5YzVkNmM0YS4uZDJjNWMwNjQxYzQzOTJkNjY0NzJlNTM1ZTVmNTE3NTZm YzVkNTExZiAxMDA2NDQKLS0tIGEvZ2FzL05FV1MKKysrIGIvZ2FzL05FV1MKQEAgLTEsNSArMSw4 IEBACiAtKi0gdGV4dCAtKi0KIAorKiBBZGQgc3VwcG9ydCBmb3IgdGhlIEFBcmNoNjQgU2NhbGFi bGUgTWF0cml4IEV4dGVuc2lvbiB2ZXJzaW9uIDIuMSAoU01FMi4xKQorICBpbnN0cnVjdGlvbnMu CisKICogQWRkIHN1cHBvcnQgZm9yICdhcm12OC45LWEnIGFuZCAnYXJtdjkuNC1hJyBmb3IgLW1h cmNoIGluIEFybSBHQVMuCiAKICogSW5pdGlhbCBzdXBwb3J0IGZvciBJbnRlbCBBUFg6IDMyIEdQ UnMsIE5ERCwgUFVTSDIvUE9QMiBhbmQgUFVTSFAvUE9QUC4KZGlmZiAtLWdpdCBhL2dhcy9jb25m aWcvdGMtYWFyY2g2NC5jIGIvZ2FzL2NvbmZpZy90Yy1hYXJjaDY0LmMKaW5kZXggYmM0MGQxMjY2 MzJlMDkzYjAyMjY4ZmQ3NDc0ZjRjZjBjNmRkZjZkNy4uMzQxNTljMjE2OGI3OGZlMTJkNGE1NDk2 NzhhZTc3YmU4OGU1MDMxMyAxMDA2NDQKLS0tIGEvZ2FzL2NvbmZpZy90Yy1hYXJjaDY0LmMKKysr IGIvZ2FzL2NvbmZpZy90Yy1hYXJjaDY0LmMKQEAgLTQ0OTIsNiArNDQ5Miw3IEBAIHBhcnNlX3Nt ZV9pbW1lZGlhdGUgKGNoYXIgKipzdHIsIGludDY0X3QgKmltbSkKIAogICAgWzxXdj4sIDxpbW0+ XQogICAgWzxXdj4sICM8aW1tPl0KKyAgIFs8V3M+LCA8b2Zmc2Y+OjxvZmZzbD5dCiAKICAgIFJl dHVybiB0cnVlIG9uIHN1Y2Nlc3MsIHBvcHVsYXRpbmcgT1BORCB3aXRoIHRoZSBwYXJzZWQgaW5k ZXguICAqLwogCkBAIC00NTkyLDYgKzQ1OTMsNyBAQCBwYXJzZV9zbWVfemFfaW5kZXggKGNoYXIg KipzdHIsIHN0cnVjdCBhYXJjaDY0X2luZGV4ZWRfemEgKm9wbmQpCiAgICA8UG0+LjxUPls8V3Y+ PCAjPGltbT5dCiAgICBaQVs8V3Y+LCAjPGltbT5dCiAgICA8WkFuPjxIVj4uPFQ+WzxXdj4sICM8 aW1tPl0KKyAgIDxaQW4+PEhWPi48VD5bPFdzPiwgPG9mZnNmPjo8b2Zmc2w+XQogCiAgICBGTEFH UyBpcyBhcyBmb3IgcGFyc2VfdHlwZWRfcmVnLiAgKi8KIApAQCAtNzg2NSw2ICs3ODY3LDIxIEBA IHBhcnNlX29wZXJhbmRzIChjaGFyICpzdHIsIGNvbnN0IGFhcmNoNjRfb3Bjb2RlICpvcGNvZGUp CiAJICBpbmZvLT5xdWFsaWZpZXIgPSBxdWFsaWZpZXI7CiAJICBicmVhazsKIAorCWNhc2UgQUFS Q0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNiXzE6CisJY2FzZSBBQVJDSDY0X09QTkRfU01FX1pB X2FycmF5X3Zyc2hfMToKKwljYXNlIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzc18xOgor CWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNkXzE6CisJY2FzZSBBQVJDSDY0X09Q TkRfU01FX1pBX2FycmF5X3Zyc2JfMjoKKwljYXNlIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlf dnJzaF8yOgorCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNzXzI6CisJY2FzZSBB QVJDSDY0X09QTkRfU01FX1pBX2FycmF5X3Zyc2RfMjoKKwkgIGlmICghcGFyc2VfZHVhbF9pbmRl eGVkX3JlZyAoJnN0ciwgUkVHX1RZUEVfWkFUSFYsCisJCQkJICAgICAgICZpbmZvLT5pbmRleGVk X3phLCAmcXVhbGlmaWVyLCAwKSkKKwkgICAgZ290byBmYWlsdXJlOworCSAgaW5mby0+cXVhbGlm aWVyID0gcXVhbGlmaWVyOworCSAgYnJlYWs7CisKKwogCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9W THhOXzEwOgogCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9WTHhOXzEzOgogCSAgcG9fc3RyaWN0X2Vu dW1fb3JfZmFpbCAoYWFyY2g2NF9zbWVfdmx4bl9hcnJheSk7CkBAIC0xMDMzNiw2ICsxMDM1Myw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWFyY2g2NF9vcHRpb25fY3B1X3ZhbHVlX3RhYmxlIGFh cmNoNjRfZmVhdHVyZXNbXSA9IHsKICAgeyJkMTI4IiwJCUFBUkNINjRfRkVBVFVSRSAoRDEyOCks CiAJCQlBQVJDSDY0X0ZFQVRVUkUgKExTRTEyOCl9LAogICB7ImIxNmIxNiIsCQlBQVJDSDY0X0ZF QVRVUkUgKEIxNkIxNiksIEFBUkNINjRfRkVBVFVSRSAoU1ZFMil9LAorICB7InNtZTJwMSIsCQlB QVJDSDY0X0ZFQVRVUkUgKFNNRTJwMSksIEFBUkNINjRfRkVBVFVSRSAoU01FMil9LAogICB7TlVM TCwJCUFBUkNINjRfTk9fRkVBVFVSRVMsIEFBUkNINjRfTk9fRkVBVFVSRVN9LAogfTsKIApkaWZm IC0tZ2l0IGEvZ2FzL2RvYy9jLWFhcmNoNjQudGV4aSBiL2dhcy9kb2MvYy1hYXJjaDY0LnRleGkK aW5kZXggY2NmMThlZTI2NjFmZWQwYmI4OTYwOGQ3ZjEyMjU1NmNiNTQxZTViNS4uMWYzYTRmYmNh ZmJhYjY1MmQ3MGYyMDJiMzM1MjdhZTNkZGU3ZTFiYiAxMDA2NDQKLS0tIGEvZ2FzL2RvYy9jLWFh cmNoNjQudGV4aQorKysgYi9nYXMvZG9jL2MtYWFyY2g2NC50ZXhpCkBAIC0yNzYsNiArMjc2LDgg QEAgYXV0b21hdGljYWxseSBjYXVzZSB0aG9zZSBleHRlbnNpb25zIHRvIGJlIGRpc2FibGVkLgog IEB0YWIgRW5hYmxlIFRSQ0lUIGluc3RydWN0aW9uLgogQGl0ZW0gQGNvZGV7ZDEyOH0gQHRhYiBB cm12OS40LUEgQHRhYiBObwogIEB0YWIgRW5hYmxlIHRoZSAxMjgtYml0IFBhZ2UgRGVzY3JpcHRv ciBFeHRlbnNpb24uICBUaGlzIGltcGxpZXMgQGNvZGV7bHNlMTI4fS4KK0BpdGVtIEBjb2Rle3Nt ZTJwMX0gQHRhYiBOL0EgQHRhYiBObworIEB0YWIgRW5hYmxlIHRoZSBTTUUyLjEgRXh0ZW5zaW9u LgogQGVuZCBtdWx0aXRhYmxlCiAKIEBub2RlIEFBcmNoNjQgU3ludGF4CmRpZmYgLS1naXQgYS9n YXMvdGVzdHN1aXRlL2dhcy9hYXJjaDY0L3NtZTJwMS0xLmQgYi9nYXMvdGVzdHN1aXRlL2dhcy9h YXJjaDY0L3NtZTJwMS0xLmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZlN2I3NjY0MDI0ZTdmMDNkZGQxZDhlY2U5 ZDZjM2JkMWM3OTA0MgotLS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2FhcmNo NjQvc21lMnAxLTEuZApAQCAtMCwwICsxLDQyIEBACisjbmFtZTogVGVzdCBvZiBTTUUyLjEgbW92 YXogaW5zdHJ1Y3Rpb25zLgorI2FzOiAtbWFyY2g9YXJtdjkuNC1hK3NtZTJwMQorI29iamR1bXA6 IC1kcgorCitbXjpdKzogICAgIGZpbGUgZm9ybWF0IC4qCisKKworW146XSs6CisKK1teOl0rOgor Lio6CWMwMDZjMjYwIAltb3Zhegl7ejAuYi16MS5ifSwgemEwdi5iIFxbdzE0LCA2OjdcXQorLio6 CWMwNDZjMjYwIAltb3Zhegl7ejAuaC16MS5ofSwgemEwdi5oIFxbdzE0LCA2OjdcXQorLio6CWMw ODZjMjIwIAltb3Zhegl7ejAucy16MS5zfSwgemEwdi5zIFxbdzE0LCAyOjNcXQorLio6CWMwYzZj MjAwIAltb3Zhegl7ejAuZC16MS5kfSwgemEwdi5kIFxbdzE0LCAwOjFcXQorLio6CWMwMDYwMmUw IAltb3Zhegl7ejAuYi16MS5ifSwgemEwaC5iIFxbdzEyLCAxNDoxNVxdCisuKjoJYzA0NjIyNjAg CW1vdmF6CXt6MC5oLXoxLmh9LCB6YTBoLmggXFt3MTMsIDY6N1xdCisuKjoJYzA4NjQyMjAgCW1v dmF6CXt6MC5zLXoxLnN9LCB6YTBoLnMgXFt3MTQsIDI6M1xdCisuKjoJYzBjNjYyMDAgCW1vdmF6 CXt6MC5kLXoxLmR9LCB6YTBoLmQgXFt3MTUsIDA6MVxdCisuKjoJYzAwNmMyNjAgCW1vdmF6CXt6 MC5iLXoxLmJ9LCB6YTB2LmIgXFt3MTQsIDY6N1xdCisuKjoJYzA0NmMyZTAgCW1vdmF6CXt6MC5o LXoxLmh9LCB6YTF2LmggXFt3MTQsIDY6N1xdCisuKjoJYzA4NmMyYTAgCW1vdmF6CXt6MC5zLXox LnN9LCB6YTJ2LnMgXFt3MTQsIDI6M1xdCisuKjoJYzBjNmMyNjAgCW1vdmF6CXt6MC5kLXoxLmR9 LCB6YTN2LmQgXFt3MTQsIDA6MVxdCisuKjoJYzAwNjAyZTAgCW1vdmF6CXt6MC5iLXoxLmJ9LCB6 YTBoLmIgXFt3MTIsIDE0OjE1XF0KKy4qOgljMDQ2MjJlMCAJbW92YXoJe3owLmgtejEuaH0sIHph MWguaCBcW3cxMywgNjo3XF0KKy4qOgljMDg2NDJhMCAJbW92YXoJe3owLnMtejEuc30sIHphMmgu cyBcW3cxNCwgMjozXF0KKy4qOgljMGM2NjI2MCAJbW92YXoJe3owLmQtejEuZH0sIHphM2guZCBc W3cxNSwgMDoxXF0KKy4qOgljMDA2YzY2MCAJbW92YXoJe3owLmItejMuYn0sIHphMHYuYiBcW3cx NCwgMTI6MTVcXQorLio6CWMwNDZjNjIwIAltb3Zhegl7ejAuaC16My5ofSwgemEwdi5oIFxbdzE0 LCA0OjdcXQorLio6CWMwODZjNjAwIAltb3Zhegl7ejAucy16My5zfSwgemEwdi5zIFxbdzE0LCAw OjNcXQorLio6CWMwYzZjNjAwIAltb3Zhegl7ejAuZC16My5kfSwgemEwdi5kIFxbdzE0LCAwOjNc XQorLio6CWMwMDYwNjYwIAltb3Zhegl7ejAuYi16My5ifSwgemEwaC5iIFxbdzEyLCAxMjoxNVxd CisuKjoJYzA0NjI2MjAgCW1vdmF6CXt6MC5oLXozLmh9LCB6YTBoLmggXFt3MTMsIDQ6N1xdCisu KjoJYzA4NjQ2MDAgCW1vdmF6CXt6MC5zLXozLnN9LCB6YTBoLnMgXFt3MTQsIDA6M1xdCisuKjoJ YzBjNjY2MDAgCW1vdmF6CXt6MC5kLXozLmR9LCB6YTBoLmQgXFt3MTUsIDA6M1xdCisuKjoJYzAw NmM2NDAgCW1vdmF6CXt6MC5iLXozLmJ9LCB6YTB2LmIgXFt3MTQsIDg6MTFcXQorLio6CWMwNDZj NjYwIAltb3Zhegl7ejAuaC16My5ofSwgemExdi5oIFxbdzE0LCA0OjdcXQorLio6CWMwODZjNjQw IAltb3Zhegl7ejAucy16My5zfSwgemEydi5zIFxbdzE0LCAwOjNcXQorLio6CWMwYzZjNjYwIAlt b3Zhegl7ejAuZC16My5kfSwgemEzdi5kIFxbdzE0LCAwOjNcXQorLio6CWMwMDYwNjYwIAltb3Zh egl7ejAuYi16My5ifSwgemEwaC5iIFxbdzEyLCAxMjoxNVxdCisuKjoJYzA0NjI2NjAgCW1vdmF6 CXt6MC5oLXozLmh9LCB6YTFoLmggXFt3MTMsIDQ6N1xdCisuKjoJYzA4NjQ2NDAgCW1vdmF6CXt6 MC5zLXozLnN9LCB6YTJoLnMgXFt3MTQsIDA6M1xdCisuKjoJYzBjNjY2NjAgCW1vdmF6CXt6MC5k LXozLmR9LCB6YTNoLmQgXFt3MTUsIDA6M1xdCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dh cy9hYXJjaDY0L3NtZTJwMS0xLnMgYi9nYXMvdGVzdHN1aXRlL2dhcy9hYXJjaDY0L3NtZTJwMS0x LnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uNzc0ODFkNGI4NzRiNDY4OGUxMGM3OTRlNmVhOWUxZmYwYzgxZWYzZAot LS0gL2Rldi9udWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2FhcmNoNjQvc21lMnAxLTEucwpA QCAtMCwwICsxLDM5IEBACisJbW92YXoge3owLmIgLSB6MS5ifSwgWkEwVi5CIFt3MTQsIDY6N10K Kwltb3ZheiB7ejAuaCAtIHoxLmh9LCBaQTBWLkggW3cxNCwgNjo3XQorCW1vdmF6IHt6MC5zIC0g ejEuc30sIFpBMFYuUyBbdzE0LCAyOjNdCisJbW92YXoge3owLmQgLSB6MS5kfSwgWkEwVi5EIFt3 MTQsIDA6MV0KKworCW1vdmF6IHt6MC5iIC0gejEuYn0sIFpBMEguQiBbdzEyLCAxNDoxNV0KKwlt b3ZheiB7ejAuaCAtIHoxLmh9LCBaQTBILkggW3cxMywgNjo3XQorCW1vdmF6IHt6MC5zIC0gejEu c30sIFpBMEguUyBbdzE0LCAyOjNdCisJbW92YXoge3owLmQgLSB6MS5kfSwgWkEwSC5EIFt3MTUs IDA6MV0KKworCW1vdmF6IHt6MC5iIC0gejEuYn0sIFpBMFYuQiBbdzE0LCA2OjddCisJbW92YXog e3owLmggLSB6MS5ofSwgWkExVi5IIFt3MTQsIDY6N10KKwltb3ZheiB7ejAucyAtIHoxLnN9LCBa QTJWLlMgW3cxNCwgMjozXQorCW1vdmF6IHt6MC5kIC0gejEuZH0sIFpBM1YuRCBbdzE0LCAwOjFd CisKKwltb3ZheiB7ejAuYiAtIHoxLmJ9LCBaQTBILkIgW3cxMiwgMTQ6MTVdCisJbW92YXoge3ow LmggLSB6MS5ofSwgWkExSC5IIFt3MTMsIDY6N10KKwltb3ZheiB7ejAucyAtIHoxLnN9LCBaQTJI LlMgW3cxNCwgMjozXQorCW1vdmF6IHt6MC5kIC0gejEuZH0sIFpBM0guRCBbdzE1LCAwOjFdCisK Kwltb3ZheiB7ejAuYiAtIHozLmJ9LCBaQTBWLkIgW3cxNCwgMTI6MTVdCisJbW92YXoge3owLmgg LSB6My5ofSwgWkEwVi5IIFt3MTQsIDQ6N10KKwltb3ZheiB7ejAucyAtIHozLnN9LCBaQTBWLlMg W3cxNCwgMDozXQorCW1vdmF6IHt6MC5kIC0gejMuZH0sIFpBMFYuRCBbdzE0LCAwOjNdCisKKwlt b3ZheiB7ejAuYiAtIHozLmJ9LCBaQTBILkIgW3cxMiwgMTI6MTVdCisJbW92YXoge3owLmggLSB6 My5ofSwgWkEwSC5IIFt3MTMsIDQ6N10KKwltb3ZheiB7ejAucyAtIHozLnN9LCBaQTBILlMgW3cx NCwgMDozXQorCW1vdmF6IHt6MC5kIC0gejMuZH0sIFpBMEguRCBbdzE1LCAwOjNdCisKKwltb3Zh eiB7ejAuYiAtIHozLmJ9LCBaQTBWLkIgW3cxNCwgODoxMV0KKwltb3ZheiB7ejAuaCAtIHozLmh9 LCBaQTFWLkggW3cxNCwgNDo3XQorCW1vdmF6IHt6MC5zIC0gejMuc30sIFpBMlYuUyBbdzE0LCAw OjNdCisJbW92YXoge3owLmQgLSB6My5kfSwgWkEzVi5EIFt3MTQsIDA6M10KKworCW1vdmF6IHt6 MC5iIC0gejMuYn0sIFpBMEguQiBbdzEyLCAxMjoxNV0KKwltb3ZheiB7ejAuaCAtIHozLmh9LCBa QTFILkggW3cxMywgNDo3XQorCW1vdmF6IHt6MC5zIC0gejMuc30sIFpBMkguUyBbdzE0LCAwOjNd CisJbW92YXoge3owLmQgLSB6My5kfSwgWkEzSC5EIFt3MTUsIDA6M10KZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvb3Bjb2RlL2FhcmNoNjQuaCBiL2luY2x1ZGUvb3Bjb2RlL2FhcmNoNjQuaAppbmRleCBl MmNhOTIzNjFiNDZhMjdmNjdkMzE1ZDE1NWViM2E5NjA4MTc2Y2I3Li42NDhlMjVmM2U0MjQyYmI3 MzhlZWU1ZjYyMDc5ODM4Nzg0MjIzYjhhIDEwMDY0NAotLS0gYS9pbmNsdWRlL29wY29kZS9hYXJj aDY0LmgKKysrIGIvaW5jbHVkZS9vcGNvZGUvYWFyY2g2NC5oCkBAIC0yMjQsNiArMjI0LDggQEAg ZW51bSBhYXJjaDY0X2ZlYXR1cmVfYml0IHsKICAgQUFSQ0g2NF9GRUFUVVJFX1NFQkVQLAogICAv KiBTVkUyLjEgYW5kIFNNRTIuMSBub24td2lkZW5pbmcgQkZsb2F0MTYgaW5zdHJ1Y3Rpb25zLiAg Ki8KICAgQUFSQ0g2NF9GRUFUVVJFX0IxNkIxNiwKKyAgLyogU01FMi4xIGluc3RydWN0aW9ucy4g ICovCisgIEFBUkNINjRfRkVBVFVSRV9TTUUycDEsCiAgIEFBUkNINjRfTlVNX0ZFQVRVUkVTCiB9 OwogCkBAIC03MDUsNiArNzA3LDE0IEBAIGVudW0gYWFyY2g2NF9vcG5kCiAgIEFBUkNINjRfT1BO RF9TVkVfVmQsCQkvKiBTY2FsYXIgU0lNRCZGUCByZWdpc3RlciBpbiBWZC4gICovCiAgIEFBUkNI NjRfT1BORF9TVkVfVm0sCQkvKiBTY2FsYXIgU0lNRCZGUCByZWdpc3RlciBpbiBWbS4gICovCiAg IEFBUkNINjRfT1BORF9TVkVfVm4sCQkvKiBTY2FsYXIgU0lNRCZGUCByZWdpc3RlciBpbiBWbi4g ICovCisgIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzYl8xLCAvKiBUaWxlIHRvIHZlY3Rv ciwgdHdvIHJlZ2lzdGVycyAoQikuICAqLworICBBQVJDSDY0X09QTkRfU01FX1pBX2FycmF5X3Zy c2hfMSwgLyogVGlsZSB0byB2ZWN0b3IsIHR3byByZWdpc3RlcnMgKEgpLiAgKi8KKyAgQUFSQ0g2 NF9PUE5EX1NNRV9aQV9hcnJheV92cnNzXzEsIC8qIFRpbGUgdG8gdmVjdG9yLCB0d28gcmVnaXN0 ZXJzIChTKS4gICovCisgIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzZF8xLCAvKiBUaWxl IHRvIHZlY3RvciwgdHdvIHJlZ2lzdGVycyAoRCkuICAqLworICBBQVJDSDY0X09QTkRfU01FX1pB X2FycmF5X3Zyc2JfMiwgLyogVGlsZSB0byB2ZWN0b3IsIGZvdXIgcmVnaXN0ZXJzIChCKS4gICov CisgIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzaF8yLCAvKiBUaWxlIHRvIHZlY3Rvciwg Zm91ciByZWdpc3RlcnMgKEgpLiAgKi8KKyAgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNz XzIsIC8qIFRpbGUgdG8gdmVjdG9yLCBmb3VyIHJlZ2lzdGVycyAoUykuICovCisgIEFBUkNINjRf T1BORF9TTUVfWkFfYXJyYXlfdnJzZF8yLCAvKiBUaWxlIHRvIHZlY3RvciwgZm91ciByZWdpc3Rl cnMgKEQpLiAgKi8KICAgQUFSQ0g2NF9PUE5EX1NWRV9aYV81LAkvKiBTVkUgdmVjdG9yIHJlZ2lz dGVyIGluIFphLCBiaXRzIFs5LDVdLiAgKi8KICAgQUFSQ0g2NF9PUE5EX1NWRV9aYV8xNiwJLyog U1ZFIHZlY3RvciByZWdpc3RlciBpbiBaYSwgYml0cyBbMjAsMTZdLiAgKi8KICAgQUFSQ0g2NF9P UE5EX1NWRV9aZCwJCS8qIFNWRSB2ZWN0b3IgcmVnaXN0ZXIgaW4gWmQuICAqLwpAQCAtOTYyLDYg Kzk3Miw3IEBAIGVudW0gYWFyY2g2NF9pbnNuX2NsYXNzCiAgIHNtZV9zdGFydCwKICAgc21lX3N0 b3AsCiAgIHNtZTJfbW92LAorICBzbWUyX21vdmF6LAogICBzdmVfY3B5LAogICBzdmVfaW5kZXgs CiAgIHN2ZV9saW1tLApkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9hYXJjaDY0LWFzbS5oIGIvb3Bjb2Rl cy9hYXJjaDY0LWFzbS5oCmluZGV4IGEzYmY3YmRhMDEzMGYwNjYyM2IwYjU2YzE4ZDllY2E2MzJi MjRhM2EuLmQ0YjY0MDdkYzVkZThkNmUxMDNlZThjYTViNWYyYzZiYjgxNDY0N2YgMTAwNjQ0Ci0t LSBhL29wY29kZXMvYWFyY2g2NC1hc20uaAorKysgYi9vcGNvZGVzL2FhcmNoNjQtYXNtLmgKQEAg LTEwMCw2ICsxMDAsOCBAQCBBQVJDSDY0X0RFQ0xfT1BEX0lOU0VSVEVSIChpbnNfc3ZlX3N0cmlk ZWRfcmVnbGlzdCk7CiBBQVJDSDY0X0RFQ0xfT1BEX0lOU0VSVEVSIChpbnNfc3ZlX3NjYWxlKTsK IEFBUkNINjRfREVDTF9PUERfSU5TRVJURVIgKGluc19zdmVfc2hsaW1tKTsKIEFBUkNINjRfREVD TF9PUERfSU5TRVJURVIgKGluc19zdmVfc2hyaW1tKTsKK0FBUkNINjRfREVDTF9PUERfSU5TRVJU RVIgKGluc19zbWVfemFfdnJzMSk7CitBQVJDSDY0X0RFQ0xfT1BEX0lOU0VSVEVSIChpbnNfc21l X3phX3ZyczIpOwogQUFSQ0g2NF9ERUNMX09QRF9JTlNFUlRFUiAoaW5zX3NtZV96YV9odl90aWxl cyk7CiBBQVJDSDY0X0RFQ0xfT1BEX0lOU0VSVEVSIChpbnNfc21lX3phX2h2X3RpbGVzX3Jhbmdl KTsKIEFBUkNINjRfREVDTF9PUERfSU5TRVJURVIgKGluc19zbWVfemFfbGlzdCk7CmRpZmYgLS1n aXQgYS9vcGNvZGVzL2FhcmNoNjQtYXNtLmMgYi9vcGNvZGVzL2FhcmNoNjQtYXNtLmMKaW5kZXgg MWRiMjkwZWVhN2U5ZDIzODkzYmZkMmJkMGEwN2MxMzM5MmY2YzlmNi4uM2ZhYzEyN2E1ODk5MDc3 ZTJhYzE5YzVlOThkZjczN2I4ZmZiZTE0NyAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9hYXJjaDY0LWFz bS5jCisrKyBiL29wY29kZXMvYWFyY2g2NC1hc20uYwpAQCAtMTM3NSw2ICsxMzc1LDc2IEBAIGFh cmNoNjRfaW5zX3N2ZV9mbG9hdF96ZXJvX29uZSAoY29uc3QgYWFyY2g2NF9vcGVyYW5kICpzZWxm LAogICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbAorYWFyY2g2NF9pbnNfc21lX3phX3ZyczEgKGNv bnN0IGFhcmNoNjRfb3BlcmFuZCAqc2VsZiwKKwkJCSAgICAgY29uc3QgYWFyY2g2NF9vcG5kX2lu Zm8gKmluZm8sCisJCQkgICAgIGFhcmNoNjRfaW5zbiAqY29kZSwKKwkJCSAgICAgY29uc3QgYWFy Y2g2NF9pbnN0ICppbnN0IEFUVFJJQlVURV9VTlVTRUQsCisJCQkgICAgIGFhcmNoNjRfb3BlcmFu ZF9lcnJvciAqZXJyb3JzIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIGludCB6YV9yZWcgPSBpbmZv LT5pbmRleGVkX3phLnJlZ25vOworICBpbnQgcmVnbm8gPSBpbmZvLT5pbmRleGVkX3phLmluZGV4 LnJlZ25vICYgMzsKKyAgaW50IGltbSA9IGluZm8tPmluZGV4ZWRfemEuaW5kZXguaW1tOworICBp bnQgdiA9ICBpbmZvLT5pbmRleGVkX3phLnY7CisgIGludCBjb3VudG0xID0gaW5mby0+aW5kZXhl ZF96YS5pbmRleC5jb3VudG0xOworCisgIGluc2VydF9maWVsZCAoc2VsZi0+ZmllbGRzWzBdLCBj b2RlLCB2LCAwKTsKKyAgaW5zZXJ0X2ZpZWxkIChzZWxmLT5maWVsZHNbMV0sIGNvZGUsIHJlZ25v LCAwKTsKKyAgc3dpdGNoIChpbmZvLT5xdWFsaWZpZXIpCisgICAgeworICAgIGNhc2UgQUFSQ0g2 NF9PUE5EX1FMRl9TX0I6CisgICAgICBpbnNlcnRfZmllbGQgKHNlbGYtPmZpZWxkc1syXSwgY29k ZSwgaW1tIC8gKGNvdW50bTEgKyAxKSwgMCk7CisgICAgICBicmVhazsKKyAgICBjYXNlIEFBUkNI NjRfT1BORF9RTEZfU19IOgorICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1FMRl9TX1M6CisgICAgICBp bnNlcnRfZmllbGQgKHNlbGYtPmZpZWxkc1syXSwgY29kZSwgemFfcmVnLCAwKTsKKyAgICAgIGlu c2VydF9maWVsZCAoc2VsZi0+ZmllbGRzWzNdLCBjb2RlLCBpbW0gLyAoY291bnRtMSArIDEpLCAw KTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1FMRl9TX0Q6CisgICAgICBp bnNlcnRfZmllbGQgKHNlbGYtPmZpZWxkc1syXSwgY29kZSwgemFfcmVnLCAwKTsKKyAgICAgIGJy ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgIHJldHVy biB0cnVlOworfQorCitib29sCithYXJjaDY0X2luc19zbWVfemFfdnJzMiAoY29uc3QgYWFyY2g2 NF9vcGVyYW5kICpzZWxmLAorCQkJICAgICBjb25zdCBhYXJjaDY0X29wbmRfaW5mbyAqaW5mbywK KwkJCSAgICAgYWFyY2g2NF9pbnNuICpjb2RlLAorCQkJICAgICBjb25zdCBhYXJjaDY0X2luc3Qg Kmluc3QgQVRUUklCVVRFX1VOVVNFRCwKKwkJCSAgICAgYWFyY2g2NF9vcGVyYW5kX2Vycm9yICpl cnJvcnMgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgaW50IHphX3JlZyA9IGluZm8tPmluZGV4ZWRf emEucmVnbm87CisgIGludCByZWdubyA9IGluZm8tPmluZGV4ZWRfemEuaW5kZXgucmVnbm8gJiAz OworICBpbnQgaW1tID0gaW5mby0+aW5kZXhlZF96YS5pbmRleC5pbW07CisgIGludCB2ID0gIGlu Zm8tPmluZGV4ZWRfemEudjsKKyAgaW50IGNvdW50bTEgPSBpbmZvLT5pbmRleGVkX3phLmluZGV4 LmNvdW50bTE7CisKKyAgaW5zZXJ0X2ZpZWxkIChzZWxmLT5maWVsZHNbMF0sIGNvZGUsIHYsIDAp OworICBpbnNlcnRfZmllbGQgKHNlbGYtPmZpZWxkc1sxXSwgY29kZSwgcmVnbm8sIDApOworICBz d2l0Y2ggKGluZm8tPnF1YWxpZmllcikKKyAgICB7CisgICAgY2FzZSBBQVJDSDY0X09QTkRfUUxG X1NfQjoKKyAgICAgIGluc2VydF9maWVsZCAoc2VsZi0+ZmllbGRzWzJdLCBjb2RlLCBpbW0gLyAo Y291bnRtMSArIDEpLCAwKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1FM Rl9TX0g6CisgICAgICBpbnNlcnRfZmllbGQgKHNlbGYtPmZpZWxkc1syXSwgY29kZSwgemFfcmVn LCAwKTsKKyAgICAgIGluc2VydF9maWVsZCAoc2VsZi0+ZmllbGRzWzNdLCBjb2RlLCBpbW0gLyAo Y291bnRtMSArIDEpLCAwKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1FM Rl9TX1M6CisgICAgY2FzZSBBQVJDSDY0X09QTkRfUUxGX1NfRDoKKyAgICAgIGluc2VydF9maWVs ZCAoc2VsZi0+ZmllbGRzWzJdLCBjb2RlLCB6YV9yZWcsIDApOworICAgICAgYnJlYWs7CisgICAg ZGVmYXVsdDoKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgcmV0dXJuIHRydWU7Cit9 CisKIC8qIEVuY29kZSBpbiBTTUUgaW5zdHJ1Y3Rpb24gc3VjaCBhcyBNT1ZBIFpBIHRpbGUgdmVj dG9yIHJlZ2lzdGVyIG51bWJlciwKICAgIHZlY3RvciBpbmRpY2F0b3IsIHZlY3RvciBzZWxlY3Rv ciBhbmQgaW1tZWRpYXRlLiAgKi8KIGJvb2wKQEAgLTIwMTEsNiArMjA4MSw3IEBAIGFhcmNoNjRf ZW5jb2RlX3ZhcmlhbnRfdXNpbmdfaWNsYXNzIChzdHJ1Y3QgYWFyY2g2NF9pbnN0ICppbnN0KQog ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIHNtZV9taXNjOgorICAgIGNhc2Ugc21lMl9tb3ZhejoK ICAgICBjYXNlIHN2ZV9taXNjOgogICAgICAgLyogVGhlc2UgaW5zdHJ1Y3Rpb25zIGhhdmUgb25s eSBhIHNpbmdsZSB2YXJpYW50LiAgKi8KICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvb3Bjb2Rl cy9hYXJjaDY0LWRpcy5oIGIvb3Bjb2Rlcy9hYXJjaDY0LWRpcy5oCmluZGV4IDIwMzg3ZGI3YjM5 ZTk4YzA4MWZmODhjOGM3M2I0MzdmMGI1MGZkMDEuLjlhMzhjMWFiNTBmN2ZkYjI3NTg4Yzc0NTFh ZGUxOWMxNjZlNjljOTYgMTAwNjQ0Ci0tLSBhL29wY29kZXMvYWFyY2g2NC1kaXMuaAorKysgYi9v cGNvZGVzL2FhcmNoNjQtZGlzLmgKQEAgLTEyNCw2ICsxMjQsOCBAQCBBQVJDSDY0X0RFQ0xfT1BE X0VYVFJBQ1RPUiAoZXh0X3N2ZV9zdHJpZGVkX3JlZ2xpc3QpOwogQUFSQ0g2NF9ERUNMX09QRF9F WFRSQUNUT1IgKGV4dF9zdmVfc2NhbGUpOwogQUFSQ0g2NF9ERUNMX09QRF9FWFRSQUNUT1IgKGV4 dF9zdmVfc2hsaW1tKTsKIEFBUkNINjRfREVDTF9PUERfRVhUUkFDVE9SIChleHRfc3ZlX3Nocmlt bSk7CitBQVJDSDY0X0RFQ0xfT1BEX0VYVFJBQ1RPUiAoZXh0X3NtZV96YV92cnMxKTsKK0FBUkNI NjRfREVDTF9PUERfRVhUUkFDVE9SIChleHRfc21lX3phX3ZyczIpOwogQUFSQ0g2NF9ERUNMX09Q RF9FWFRSQUNUT1IgKGV4dF9zbWVfemFfaHZfdGlsZXMpOwogQUFSQ0g2NF9ERUNMX09QRF9FWFRS QUNUT1IgKGV4dF9zbWVfemFfaHZfdGlsZXNfcmFuZ2UpOwogQUFSQ0g2NF9ERUNMX09QRF9FWFRS QUNUT1IgKGV4dF9zbWVfemFfbGlzdCk7CmRpZmYgLS1naXQgYS9vcGNvZGVzL2FhcmNoNjQtZGlz LmMgYi9vcGNvZGVzL2FhcmNoNjQtZGlzLmMKaW5kZXggN2UwODhhOTNjMTA3YjYxNTJiMmRmMWJi NjIyNTE2ZDA5ZmNlMzgzOS4uYTE0YjJjYTAyZDJjMGZjZjZjOTRmNWJiMGM1ODdhNzE2ODU5NGE1 YiAxMDA2NDQKLS0tIGEvb3Bjb2Rlcy9hYXJjaDY0LWRpcy5jCisrKyBiL29wY29kZXMvYWFyY2g2 NC1kaXMuYwpAQCAtMTkyOSw2ICsxOTI5LDg0IEBAIGFhcmNoNjRfZXh0X3NtZV96YV9hcnJheSAo Y29uc3QgYWFyY2g2NF9vcGVyYW5kICpzZWxmLAogICByZXR1cm4gdHJ1ZTsKIH0KIAorLyogRGVj b2RlIHR3byBaQSB0aWxlIHNsaWNlIChWLCBSdiwgb2ZmM3wgWkFuICxvZmYyIHwgWkFuLCBvbHwg WkFuKSBmZWlsZHMuICAqLworYm9vbAorYWFyY2g2NF9leHRfc21lX3phX3ZyczEgKGNvbnN0IGFh cmNoNjRfb3BlcmFuZCAqc2VsZiwKKwkJCSAgYWFyY2g2NF9vcG5kX2luZm8gKmluZm8sIGFhcmNo NjRfaW5zbiBjb2RlLAorCQkJICBjb25zdCBhYXJjaDY0X2luc3QgKmluc3QsCisJCQkgIGFhcmNo NjRfb3BlcmFuZF9lcnJvciAqZXJyb3JzIEFUVFJJQlVURV9VTlVTRUQpCit7CisgIGludCB2ID0g ZXh0cmFjdF9maWVsZCAoc2VsZi0+ZmllbGRzWzBdLCBjb2RlLCAwKTsKKyAgaW50IHJlZ25vID0g MTIgKyBleHRyYWN0X2ZpZWxkIChzZWxmLT5maWVsZHNbMV0sIGNvZGUsIDApOworICBpbnQgaW1t LCB6YV9yZWcsIG51bV9vZmZzZXQgPSAyOworCisgIHN3aXRjaCAoaW5mby0+cXVhbGlmaWVyKQor ICAgIHsKKyAgICBjYXNlIEFBUkNINjRfT1BORF9RTEZfU19COgorICAgICAgaW1tID0gZXh0cmFj dF9maWVsZCAoc2VsZi0+ZmllbGRzWzJdLCBjb2RlLCAwKTsKKyAgICAgIGluZm8tPmluZGV4ZWRf emEuaW5kZXguaW1tID0gaW1tICogbnVtX29mZnNldDsKKyAgICAgIGJyZWFrOworICAgIGNhc2Ug QUFSQ0g2NF9PUE5EX1FMRl9TX0g6CisgICAgY2FzZSBBQVJDSDY0X09QTkRfUUxGX1NfUzoKKyAg ICAgIHphX3JlZyA9IGV4dHJhY3RfZmllbGQgKHNlbGYtPmZpZWxkc1syXSwgY29kZSwgMCk7Cisg ICAgICBpbW0gPSBleHRyYWN0X2ZpZWxkIChzZWxmLT5maWVsZHNbM10sIGNvZGUsIDApOworICAg ICAgaW5mby0+aW5kZXhlZF96YS5pbmRleC5pbW0gPSBpbW0gKiBudW1fb2Zmc2V0OworICAgICAg aW5mby0+aW5kZXhlZF96YS5yZWdubyA9IHphX3JlZzsKKyAgICAgIGJyZWFrOworICAgIGNhc2Ug QUFSQ0g2NF9PUE5EX1FMRl9TX0Q6CisgICAgICB6YV9yZWcgPSBleHRyYWN0X2ZpZWxkIChzZWxm LT5maWVsZHNbMl0sIGNvZGUsIDApOworICAgICAgaW5mby0+aW5kZXhlZF96YS5yZWdubyA9IHph X3JlZzsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gZmFsc2U7Cisg ICAgfQorCisgIGluZm8tPmluZGV4ZWRfemEuaW5kZXgucmVnbm8gPSByZWdubzsKKyAgaW5mby0+ aW5kZXhlZF96YS5pbmRleC5jb3VudG0xID0gbnVtX29mZnNldCAtIDE7CisgIGluZm8tPmluZGV4 ZWRfemEudiA9IHY7CisgIGluZm8tPmluZGV4ZWRfemEuZ3JvdXBfc2l6ZSA9IGdldF9vcGNvZGVf ZGVwZW5kZW50X3ZhbHVlIChpbnN0LT5vcGNvZGUpOworICByZXR1cm4gdHJ1ZTsKK30KKworLyog RGVjb2RlIGZvdXIgWkEgdGlsZSBzbGljZSAoViwgUnYsIG9mZjN8IFpBbiAsb2ZmMiB8IFpBbiwg b2x8IFpBbikgZmVpbGRzLiAgKi8KK2Jvb2wKK2FhcmNoNjRfZXh0X3NtZV96YV92cnMyIChjb25z dCBhYXJjaDY0X29wZXJhbmQgKnNlbGYsCisJCQkgIGFhcmNoNjRfb3BuZF9pbmZvICppbmZvLCBh YXJjaDY0X2luc24gY29kZSwKKwkJCSAgY29uc3QgYWFyY2g2NF9pbnN0ICppbnN0LAorCQkJICBh YXJjaDY0X29wZXJhbmRfZXJyb3IgKmVycm9ycyBBVFRSSUJVVEVfVU5VU0VEKQoreworICBpbnQg diA9IGV4dHJhY3RfZmllbGQgKHNlbGYtPmZpZWxkc1swXSwgY29kZSwgMCk7CisgIGludCByZWdu byA9IDEyICsgZXh0cmFjdF9maWVsZCAoc2VsZi0+ZmllbGRzWzFdLCBjb2RlLCAwKTsKKyAgaW50 IGltbSwgemFfcmVnLCBudW1fb2Zmc2V0ID00OworCisgIHN3aXRjaCAoaW5mby0+cXVhbGlmaWVy KQorICAgIHsKKyAgICBjYXNlIEFBUkNINjRfT1BORF9RTEZfU19COgorICAgICAgaW1tID0gZXh0 cmFjdF9maWVsZCAoc2VsZi0+ZmllbGRzWzJdLCBjb2RlLCAwKTsKKyAgICAgIGluZm8tPmluZGV4 ZWRfemEuaW5kZXguaW1tID0gaW1tICogbnVtX29mZnNldDsKKyAgICAgIGJyZWFrOworICAgIGNh c2UgQUFSQ0g2NF9PUE5EX1FMRl9TX0g6CisgICAgICB6YV9yZWcgPSBleHRyYWN0X2ZpZWxkIChz ZWxmLT5maWVsZHNbMl0sIGNvZGUsIDApOworICAgICAgaW1tID0gZXh0cmFjdF9maWVsZCAoc2Vs Zi0+ZmllbGRzWzNdLCBjb2RlLCAwKTsKKyAgICAgIGluZm8tPmluZGV4ZWRfemEuaW5kZXguaW1t ID0gaW1tICogbnVtX29mZnNldDsKKyAgICAgIGluZm8tPmluZGV4ZWRfemEucmVnbm8gPSB6YV9y ZWc7CisgICAgICBicmVhazsKKyAgICBjYXNlIEFBUkNINjRfT1BORF9RTEZfU19TOgorICAgIGNh c2UgQUFSQ0g2NF9PUE5EX1FMRl9TX0Q6CisgICAgICB6YV9yZWcgPSBleHRyYWN0X2ZpZWxkIChz ZWxmLT5maWVsZHNbMl0sIGNvZGUsIDApOworICAgICAgaW5mby0+aW5kZXhlZF96YS5yZWdubyA9 IHphX3JlZzsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gZmFsc2U7 CisgICAgfQorCisgIGluZm8tPmluZGV4ZWRfemEuaW5kZXgucmVnbm8gPSByZWdubzsKKyAgaW5m by0+aW5kZXhlZF96YS5pbmRleC5jb3VudG0xID0gbnVtX29mZnNldCAtIDE7CisgIGluZm8tPmlu ZGV4ZWRfemEudiA9IHY7CisgIGluZm8tPmluZGV4ZWRfemEuZ3JvdXBfc2l6ZSA9IGdldF9vcGNv ZGVfZGVwZW5kZW50X3ZhbHVlIChpbnN0LT5vcGNvZGUpOworICByZXR1cm4gdHJ1ZTsKK30KKwog Ym9vbAogYWFyY2g2NF9leHRfc21lX2FkZHJfcmlfdTR4dmwgKGNvbnN0IGFhcmNoNjRfb3BlcmFu ZCAqc2VsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYXJjaDY0X29wbmRfaW5m byAqaW5mbywgYWFyY2g2NF9pbnNuIGNvZGUsCkBAIC0zMTYwLDYgKzMyMzgsNyBAQCBhYXJjaDY0 X2RlY29kZV92YXJpYW50X3VzaW5nX2ljbGFzcyAoYWFyY2g2NF9pbnN0ICppbnN0KQogICAgICAg dmFyaWFudCA9IDM7CiAgICAgICBicmVhazsKIAorICAgIGNhc2Ugc21lMl9tb3ZhejoKICAgICBj YXNlIHNtZV9taXNjOgogICAgIGNhc2Ugc3ZlX21pc2M6CiAgICAgICAvKiBUaGVzZSBpbnN0cnVj dGlvbnMgaGF2ZSBvbmx5IGEgc2luZ2xlIHZhcmlhbnQuICAqLwpkaWZmIC0tZ2l0IGEvb3Bjb2Rl cy9hYXJjaDY0LW9wYy5oIGIvb3Bjb2Rlcy9hYXJjaDY0LW9wYy5oCmluZGV4IGYxOTNhOTBlY2M1 OTkzNjQ1ZmVkNTczYTlhMDY3MGFlYjRmYmY3ODEuLjU4Nzc3NTE1MmUzZWYyNmNiM2QwOWUxMzhl ZGEyNzkxYjk1Y2I1ZDkgMTAwNjQ0Ci0tLSBhL29wY29kZXMvYWFyY2g2NC1vcGMuaAorKysgYi9v cGNvZGVzL2FhcmNoNjQtb3BjLmgKQEAgLTIxMCw2ICsyMTAsMTMgQEAgZW51bSBhYXJjaDY0X2Zp ZWxkX2tpbmQKICAgRkxEX3N6LAogICBGTERfdHlwZSwKICAgRkxEX3ZsZHN0X3NpemUsCisgIEZM RF9vZmYzLAorICBGTERfb2ZmMiwKKyAgRkxEX1pBbl8xLAorICBGTERfb2wsCisgIEZMRF9aQW5f MiwKKyAgRkxEX1pBbl8zLAorICBGTERfWkFuCiB9OwogCiAvKiBGaWVsZCBkZXNjcmlwdGlvbi4g ICovCmRpZmYgLS1naXQgYS9vcGNvZGVzL2FhcmNoNjQtb3BjLmMgYi9vcGNvZGVzL2FhcmNoNjQt b3BjLmMKaW5kZXggZTNhZDMyZjVhMWUwNzBmZTFjYzQ2NGUxYzBkZjJiMGY0MzQ3ZjQ1Zi4uY2Y3 Njg3MTkzMGY5ZjRlODYxM2E5NzdlZmI4MTQ2NGRjZTNkOGJhNyAxMDA2NDQKLS0tIGEvb3Bjb2Rl cy9hYXJjaDY0LW9wYy5jCisrKyBiL29wY29kZXMvYWFyY2g2NC1vcGMuYwpAQCAtNDAwLDYgKzQw MCwxNiBAQCBjb25zdCBhYXJjaDY0X2ZpZWxkIGZpZWxkc1tdID0KICAgICB7IDIyLCAgMSB9LCAv KiBzejogMS1iaXQgZWxlbWVudCBzaXplIHNlbGVjdC4gICovCiAgICAgeyAyMiwgIDIgfSwJLyog dHlwZTogZmxvYXRpbmcgcG9pbnQgdHlwZSBmaWVsZCBpbiBmcCBkYXRhIGluc3QuICAqLwogICAg IHsgMTAsICAyIH0sCS8qIHZsZHN0X3NpemU6IHNpemUgZmllbGQgaW4gdGhlIEFkdlNJTUQgbG9h ZC9zdG9yZSBpbnN0LiAgKi8KKyAgICB7ICA1LCAgMyB9LCAvKiBvZmYzOiBpbW1lZGlhdGUgb2Zm c2V0IHVzZWQgdG8gY2FsY3VsYXRlIHNsaWNlIG51bWJlciBpbiBhCisJCSAgIFpBIHRpbGUuICAq LworICAgIHsgIDUsICAyIH0sIC8qIG9mZjI6IGltbWVkaWF0ZSBvZmZzZXQgdXNlZCB0byBjYWxj dWxhdGUgc2xpY2UgbnVtYmVyIGluCisJCSAgIGEgWkEgdGlsZS4gICovCisgICAgeyAgNywgIDEg fSwgLyogWkFuXzE6IG5hbWUgb2YgdGhlIDFiaXQgZW5jb2RlZCBaQSB0aWxlLiAgKi8KKyAgICB7 ICA1LCAgMSB9LCAvKiBvbDogaW1tZWRpYXRlIG9mZnNldCB1c2VkIHRvIGNhbGN1bGF0ZSBzbGlj ZSBudW1iZXIgaW4gYSBaQQorCQkgICB0aWxlLiAgKi8KKyAgICB7ICA2LCAgMiB9LCAvKiBaQW5f MjogbmFtZSBvZiB0aGUgMmJpdCBlbmNvZGVkIFpBIHRpbGUuICAqLworICAgIHsgIDUsICAzIH0s IC8qIFpBbl8zOiBuYW1lIG9mIHRoZSAzYml0IGVuY29kZWQgWkEgdGlsZS4gICovCisgICAgeyAg NiwgIDEgfSwgLyogWkFuOiBuYW1lIG9mIHRoZSBiaXQgZW5jb2RlZCBaQSB0aWxlLiAgKi8KIH07 CiAKIGVudW0gYWFyY2g2NF9vcGVyYW5kX2NsYXNzCkBAIC0xOTM4LDYgKzE5NDgsNDkgQEAgb3Bl cmFuZF9nZW5lcmFsX2NvbnN0cmFpbnRfbWV0X3AgKGNvbnN0IGFhcmNoNjRfb3BuZF9pbmZvICpv cG5kcywgaW50IGlkeCwKIAkgICAgcmV0dXJuIDA7CiAJICBicmVhazsKIAorCWNhc2UgQUFSQ0g2 NF9PUE5EX1NNRV9aQV9hcnJheV92cnNiXzE6CisJICBpZiAoIWNoZWNrX3phX2FjY2VzcyAob3Bu ZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEyLCA3LCAyLAorCQkJCWdldF9vcGNvZGVfZGVwZW5k ZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAgcmV0dXJuIDA7CisJICBicmVhazsKKworCWNhc2Ug QUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNoXzE6CisJICBpZiAoIWNoZWNrX3phX2FjY2Vz cyAob3BuZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEyLCAzLCAyLAorCQkJCWdldF9vcGNvZGVf ZGVwZW5kZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAgcmV0dXJuIDA7CisJICBicmVhazsKKwor CWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNzXzE6CisJICBpZiAoIWNoZWNrX3ph X2FjY2VzcyAob3BuZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEyLCAxLCAyLAorCQkJCWdldF9v cGNvZGVfZGVwZW5kZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAgcmV0dXJuIDA7CisJICBicmVh azsKKworCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNkXzE6CisJICBpZiAoIWNo ZWNrX3phX2FjY2VzcyAob3BuZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEyLCAwLCAyLAorCQkJ CWdldF9vcGNvZGVfZGVwZW5kZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAgcmV0dXJuIDA7CisJ ICBicmVhazsKKworCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNiXzI6CisJICBp ZiAoIWNoZWNrX3phX2FjY2VzcyAob3BuZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEyLCAzLCA0 LAorCQkJCWdldF9vcGNvZGVfZGVwZW5kZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAgcmV0dXJu IDA7CisJICBicmVhazsKKworCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNoXzI6 CisJICBpZiAoIWNoZWNrX3phX2FjY2VzcyAob3BuZCwgbWlzbWF0Y2hfZGV0YWlsLCBpZHgsIDEy LCAxLCA0LAorCQkJCWdldF9vcGNvZGVfZGVwZW5kZW50X3ZhbHVlIChvcGNvZGUpKSkKKwkgICAg cmV0dXJuIDA7CisJICBicmVhazsKKworCWNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92 cnNzXzI6CisJY2FzZSBBQVJDSDY0X09QTkRfU01FX1pBX2FycmF5X3Zyc2RfMjoKKwkgIGlmICgh Y2hlY2tfemFfYWNjZXNzIChvcG5kLCBtaXNtYXRjaF9kZXRhaWwsIGlkeCwgMTIsIDAsIDQsCisJ CQkJZ2V0X29wY29kZV9kZXBlbmRlbnRfdmFsdWUgKG9wY29kZSkpKQorCSAgICByZXR1cm4gMDsK KwkgIGJyZWFrOworCiAJY2FzZSBBQVJDSDY0X09QTkRfU01FX1pBX0hWX2lkeF9zcmN4TjoKIAlj YXNlIEFBUkNINjRfT1BORF9TTUVfWkFfSFZfaWR4X2Rlc3R4TjoKIAkgIHNpemUgPSBhYXJjaDY0 X2dldF9xdWFsaWZpZXJfZXNpemUgKG9wbmQtPnF1YWxpZmllcik7CkBAIC00MTAzLDYgKzQxNTYs MzAgQEAgYWFyY2g2NF9wcmludF9vcGVyYW5kIChjaGFyICpidWYsIHNpemVfdCBzaXplLCBiZmRf dm1hIHBjLAogCQk/IHN0eWxlX3N1Yl9tbmVtIChzdHlsZXIsICJ2Z3g0IikgOiAiIik7CiAgICAg ICBicmVhazsKIAorICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNiXzE6Cisg ICAgY2FzZSBBQVJDSDY0X09QTkRfU01FX1pBX2FycmF5X3Zyc2hfMToKKyAgICBjYXNlIEFBUkNI NjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzc18xOgorICAgIGNhc2UgQUFSQ0g2NF9PUE5EX1NNRV9a QV9hcnJheV92cnNkXzE6CisgICAgY2FzZSBBQVJDSDY0X09QTkRfU01FX1pBX2FycmF5X3Zyc2Jf MjoKKyAgICBjYXNlIEFBUkNINjRfT1BORF9TTUVfWkFfYXJyYXlfdnJzaF8yOgorICAgIGNhc2Ug QUFSQ0g2NF9PUE5EX1NNRV9aQV9hcnJheV92cnNzXzI6CisgICAgY2FzZSBBQVJDSDY0X09QTkRf U01FX1pBX2FycmF5X3Zyc2RfMjoKKyAgICAgIHNucHJpbnRmIChidWYsIHNpemUsICIlcyBbJXMs ICVzJXMlc10iLAorCQlzdHlsZV9yZWcgKHN0eWxlciwgInphJWQlYyVzJXMiLAorCQkJICAgb3Bu ZC0+aW5kZXhlZF96YS5yZWdubywKKwkJCSAgIG9wbmQtPmluZGV4ZWRfemEudiA/ICd2JzogJ2gn LAorCQkJICAgb3BuZC0+cXVhbGlmaWVyID09IEFBUkNINjRfT1BORF9RTEZfTklMID8gIiIgOiAi LiIsCisJCQkgICAob3BuZC0+cXVhbGlmaWVyID09IEFBUkNINjRfT1BORF9RTEZfTklMCisJCQkg ICAgPyAiIgorCQkJICAgIDogYWFyY2g2NF9nZXRfcXVhbGlmaWVyX25hbWUgKG9wbmQtPnF1YWxp ZmllcikpKSwKKwkJc3R5bGVfcmVnIChzdHlsZXIsICJ3JWQiLCBvcG5kLT5pbmRleGVkX3phLmlu ZGV4LnJlZ25vKSwKKwkJc3R5bGVfaW1tIChzdHlsZXIsICIlIiBQUklpNjQsIG9wbmQtPmluZGV4 ZWRfemEuaW5kZXguaW1tKSwKKwkJb3BuZC0+aW5kZXhlZF96YS5pbmRleC5jb3VudG0xID8gIjoi IDogIiIsCisJCW9wbmQtPmluZGV4ZWRfemEuaW5kZXguY291bnRtMSAgPyBzdHlsZV9pbW0gKHN0 eWxlciwgIiVkIiwKKwkJb3BuZC0+aW5kZXhlZF96YS5pbmRleC5pbW0KKwkJKyBvcG5kLT5pbmRl eGVkX3phLmluZGV4LmNvdW50bTEpOiIiKTsKKyAgICAgIGJyZWFrOworCiAgICAgY2FzZSBBQVJD SDY0X09QTkRfU01FX1NNX1pBOgogICAgICAgc25wcmludGYgKGJ1Ziwgc2l6ZSwgIiVzIiwKIAkJ c3R5bGVfcmVnIChzdHlsZXIsIG9wbmQtPnJlZy5yZWdubyA9PSAncycgPyAic20iIDogInphIikp OwpkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9hYXJjaDY0LXRibC5oIGIvb3Bjb2Rlcy9hYXJjaDY0LXRi bC5oCmluZGV4IGE4Y2NkYWZkMDQ0ZWZkNjJkMTFiYTFlNGMxOTk3OTJmNmRkNDQ1NTkuLjljNzY0 OGIwYTZkZjU0NDRjYzg5ZjUyYWVmM2Q0NTVlNjI0ZWVkYmIgMTAwNjQ0Ci0tLSBhL29wY29kZXMv YWFyY2g2NC10YmwuaAorKysgYi9vcGNvZGVzL2FhcmNoNjQtdGJsLmgKQEAgLTE0OTcsNiArMTQ5 NywxMCBAQAogeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgIFFMRjIoU19CLFNfQiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKIH0KKyNkZWZpbmUgT1BfU1ZFX0hICQkJCQlcCit7CQkJCQkJCVwKKyAgUUxG MihTX0gsU19IKSwJCQkJCVwKK30KICNkZWZpbmUgT1BfU1ZFX0JCVSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgIFFMRjMoU19CLFNfQixOSUwpLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjYxNCw2ICsyNjE4LDggQEAgc3RhdGljIGNvbnN0 IGFhcmNoNjRfZmVhdHVyZV9zZXQgYWFyY2g2NF9mZWF0dXJlX2QxMjhfdGhlID0KICAgQUFSQ0g2 NF9GRUFUVVJFUyAoMiwgRDEyOCwgVEhFKTsKIHN0YXRpYyBjb25zdCBhYXJjaDY0X2ZlYXR1cmVf c2V0IGFhcmNoNjRfZmVhdHVyZV9iMTZiMTYgPQogICBBQVJDSDY0X0ZFQVRVUkUgKEIxNkIxNik7 CitzdGF0aWMgY29uc3QgYWFyY2g2NF9mZWF0dXJlX3NldCBhYXJjaDY0X2ZlYXR1cmVfc21lMnAx ID0KKyAgQUFSQ0g2NF9GRUFUVVJFIChTTUUycDEpOwogCiAjZGVmaW5lIENPUkUJCSZhYXJjaDY0 X2ZlYXR1cmVfdjgKICNkZWZpbmUgRlAJCSZhYXJjaDY0X2ZlYXR1cmVfZnAKQEAgLTI2NzcsNiAr MjY4Myw3IEBAIHN0YXRpYyBjb25zdCBhYXJjaDY0X2ZlYXR1cmVfc2V0IGFhcmNoNjRfZmVhdHVy ZV9iMTZiMTYgPQogI2RlZmluZSBUSEUJICAmYWFyY2g2NF9mZWF0dXJlX3RoZQogI2RlZmluZSBE MTI4X1RIRSAgJmFhcmNoNjRfZmVhdHVyZV9kMTI4X3RoZQogI2RlZmluZSBCMTZCMTYgICZhYXJj aDY0X2ZlYXR1cmVfYjE2YjE2CisjZGVmaW5lIFNNRTJwMSAgJmFhcmNoNjRfZmVhdHVyZV9zbWUy cDEKIAogI2RlZmluZSBDT1JFX0lOU04oTkFNRSxPUENPREUsTUFTSyxDTEFTUyxPUCxPUFMsUVVB TFMsRkxBR1MpIFwKICAgeyBOQU1FLCBPUENPREUsIE1BU0ssIENMQVNTLCBPUCwgQ09SRSwgT1BT LCBRVUFMUywgRkxBR1MsIDAsIDAsIE5VTEwgfQpAQCAtMjc0Myw2ICsyNzUwLDkgQEAgc3RhdGlj IGNvbnN0IGFhcmNoNjRfZmVhdHVyZV9zZXQgYWFyY2g2NF9mZWF0dXJlX2IxNmIxNiA9CiAjZGVm aW5lIFNWRTJfSU5TTihOQU1FLE9QQ09ERSxNQVNLLENMQVNTLE9QLE9QUyxRVUFMUyxGTEFHUyxU SUVEKSBcCiAgIHsgTkFNRSwgT1BDT0RFLCBNQVNLLCBDTEFTUywgT1AsIFNWRTIsIE9QUywgUVVB TFMsIFwKICAgICBGTEFHUyB8IEZfU1RSSUNULCAwLCBUSUVELCBOVUxMIH0KKyNkZWZpbmUgU01F MnAxX0lOU04oTkFNRSxPUENPREUsTUFTSyxDTEFTUyxPUCxPUFMsUVVBTFMsRkxBR1MsVElFRCkg XAorICB7IE5BTUUsIE9QQ09ERSwgTUFTSywgQ0xBU1MsIE9QLCBTTUUycDEsIE9QUywgUVVBTFMs IFwKKyAgICBGTEFHUyB8IEZfU1RSSUNULCAwLCBUSUVELCBOVUxMIH0KICNkZWZpbmUgU1ZFMl9J TlNOQyhOQU1FLE9QQ09ERSxNQVNLLENMQVNTLE9QLE9QUyxRVUFMUyxGTEFHUyxDT05TVFJBSU5U UyxUSUVEKSBcCiAgIHsgTkFNRSwgT1BDT0RFLCBNQVNLLCBDTEFTUywgT1AsIFNWRTIsIE9QUywg UVVBTFMsIFwKICAgICBGTEFHUyB8IEZfU1RSSUNULCBDT05TVFJBSU5UUywgVElFRCwgTlVMTCB9 CkBAIC02Mjg5LDYgKzYyOTksMTYgQEAgY29uc3Qgc3RydWN0IGFhcmNoNjRfb3Bjb2RlIGFhcmNo NjRfb3Bjb2RlX3RhYmxlW10gPQogICBCMTZCMTZfSU5TTigiYmZtbHMiLCAweDY0MjAwYzAwLCAw eGZmYTBmYzAwLCBzdmVfbWlzYywgMCwgT1AzIChTVkVfWmQsIFNWRV9abiwgU1ZFX1ptM18xMV9J TkRFWCksIE9QX1NWRV9WVlZfSCwgMCwgMCksCiAgIEIxNkIxNl9JTlNOKCJiZm11bCIsIDB4NjQy MDI4MDAsIDB4ZmZhMGZjMDAsIHN2ZV9taXNjLCAwLCBPUDMgKFNWRV9aZCwgU1ZFX1puLCBTVkVf Wm0zXzExX0lOREVYKSwgT1BfU1ZFX1ZWVl9ILCAwLCAwKSwKIAorLyogU01FMi4xIG1vdmF6IGlu c3RydWN0aW9ucy4gICovCisgIFNNRTJwMV9JTlNOICgibW92YXoiLCAweGMwMDYwNjAwLCAweGZm ZmYxZjgzLCBzbWUyX21vdmF6LCAwLCBPUDIgKFNNRV9aZG54NCwgU01FX1pBX2FycmF5X3Zyc2Jf MiksIE9QX1NWRV9CQiwgMCwgMCksCisgIFNNRTJwMV9JTlNOICgibW92YXoiLCAweGMwNDYwNjAw LCAweGZmZmYxZjgzLCBzbWUyX21vdmF6LCAwLCBPUDIgKFNNRV9aZG54NCwgU01FX1pBX2FycmF5 X3Zyc2hfMiksIE9QX1NWRV9ISCwgMCwgMCksCisgIFNNRTJwMV9JTlNOICgibW92YXoiLCAweGMw ODYwNjAwLCAweGZmZmYxZjgzLCBzbWUyX21vdmF6LCAwLCBPUDIgKFNNRV9aZG54NCwgU01FX1pB X2FycmF5X3Zyc3NfMiksIE9QX1NWRV9TUywgMCwgMCksCisgIFNNRTJwMV9JTlNOICgibW92YXoi LCAweGMwYzYwNjAwLCAweGZmZmYxZjAzLCBzbWUyX21vdmF6LCAwLCBPUDIgKFNNRV9aZG54NCwg U01FX1pBX2FycmF5X3Zyc2RfMiksIE9QX1NWRV9ERCwgMCwgMCksCisKKyAgU01FMnAxX0lOU04g KCJtb3ZheiIsIDB4YzAwNjAyMDAsIDB4ZmZmZjFmMDEsIHNtZTJfbW92YXosIDAsIE9QMiAoU01F X1pkbngyLCBTTUVfWkFfYXJyYXlfdnJzYl8xKSwgT1BfU1ZFX0JCLCAwLCAwKSwKKyAgU01FMnAx X0lOU04gKCJtb3ZheiIsIDB4YzA0NjAyMDAsIDB4ZmZmZjFmMDEsIHNtZTJfbW92YXosIDAsIE9Q MiAoU01FX1pkbngyLCBTTUVfWkFfYXJyYXlfdnJzaF8xKSwgT1BfU1ZFX0hILCAwLCAwKSwKKyAg U01FMnAxX0lOU04gKCJtb3ZheiIsIDB4YzA4NjAyMDAsIDB4ZmZmZjFmMDEsIHNtZTJfbW92YXos IDAsIE9QMiAoU01FX1pkbngyLCBTTUVfWkFfYXJyYXlfdnJzc18xKSwgT1BfU1ZFX1NTLCAwLCAw KSwKKyAgU01FMnAxX0lOU04gKCJtb3ZheiIsIDB4YzBjNjAyMDAsIDB4ZmZmZjFmMDEsIHNtZTJf bW92YXosIDAsIE9QMiAoU01FX1pkbngyLCBTTUVfWkFfYXJyYXlfdnJzZF8xKSwgT1BfU1ZFX0RE LCAwLCAwKSwKICAgezAsIDAsIDAsIDAsIDAsIDAsIHt9LCB7fSwgMCwgMCwgMCwgTlVMTH0sCiB9 OwogCkBAIC02NzI2LDYgKzY3NDYsMjIgQEAgY29uc3Qgc3RydWN0IGFhcmNoNjRfb3Bjb2RlIGFh cmNoNjRfb3Bjb2RlX3RhYmxlW10gPQogICAgIFkoU0lNRF9SRUcsIHJlZ25vLCAiU1ZFX1ZkIiwg MCwgRihGTERfU1ZFX1ZkKSwgImEgU0lNRCByZWdpc3RlciIpCVwKICAgICBZKFNJTURfUkVHLCBy ZWdubywgIlNWRV9WbSIsIDAsIEYoRkxEX1NWRV9WbSksICJhIFNJTUQgcmVnaXN0ZXIiKQlcCiAg ICAgWShTSU1EX1JFRywgcmVnbm8sICJTVkVfVm4iLCAwLCBGKEZMRF9TVkVfVm4pLCAiYSBTSU1E IHJlZ2lzdGVyIikJXAorICAgIFkoWkFfQUNDRVNTLCBzbWVfemFfdnJzMSwgIlNNRV9aQV9hcnJh eV92cnNiXzEiLCAwLAkJCVwKKyAgICAgIEYoRkxEX1NNRV9WLEZMRF9TTUVfUnYsRkxEX29mZjMp LCAiWkEwIHRpbGUiKQkJCVwKKyAgICBZKFpBX0FDQ0VTUywgc21lX3phX3ZyczEsICJTTUVfWkFf YXJyYXlfdnJzaF8xIiwgMCwJCQlcCisgICAgICBGKEZMRF9TTUVfVixGTERfU01FX1J2LEZMRF9a QW5fMSxGTERfb2ZmMiksICIxIGJpdCBaQSB0aWxlIikJXAorICAgIFkoWkFfQUNDRVNTLCBzbWVf emFfdnJzMSwgIlNNRV9aQV9hcnJheV92cnNzXzEiLCAwLAkJCVwKKyAgICAgIEYoRkxEX1NNRV9W LEZMRF9TTUVfUnYsRkxEX1pBbl8yLEZMRF9vbCksICIyIFpBIHRpbGUiKQkJXAorICAgIFkoWkFf QUNDRVNTLCBzbWVfemFfdnJzMSwgIlNNRV9aQV9hcnJheV92cnNkXzEiLCAwLAkJCVwKKyAgICAg IEYoRkxEX1NNRV9WLEZMRF9TTUVfUnYsRkxEX1pBbl8zKSwgIjMgWkEgdGlsZSIpCQkJXAorICAg IFkoWkFfQUNDRVNTLCBzbWVfemFfdnJzMiwgIlNNRV9aQV9hcnJheV92cnNiXzIiLCAwLAkJCVwK KyAgICAgIEYoRkxEX1NNRV9WLEZMRF9TTUVfUnYsRkxEX29mZjIpLCAiWkEwIHRpbGUiKQkJCVwK KyAgICBZKFpBX0FDQ0VTUywgc21lX3phX3ZyczIsICJTTUVfWkFfYXJyYXlfdnJzaF8yIiwgMCwJ CQlcCisgICAgICBGKEZMRF9TTUVfVixGTERfU01FX1J2LEZMRF9aQW4sRkxEX29sKSwgIjEgYml0 IFpBIHRpbGUiKQkJXAorICAgIFkoWkFfQUNDRVNTLCBzbWVfemFfdnJzMiwgIlNNRV9aQV9hcnJh eV92cnNzXzIiLCAwLAkJCVwKKyAgICAgIEYoRkxEX1NNRV9WLEZMRF9TTUVfUnYsRkxEX29mZjIp LCAiMiBiaXQgWkEgdGlsZSIpCQlcCisgICAgWShaQV9BQ0NFU1MsIHNtZV96YV92cnMyLCAiU01F X1pBX2FycmF5X3Zyc2RfMiIsIDAsCQkJXAorICAgICAgRihGTERfU01FX1YsRkxEX1NNRV9SdixG TERfWkFuXzMpLCAiMyBiaXQgWkEgdGlsZSIpCQlcCiAgICAgWShTVkVfUkVHLCByZWdubywgIlNW RV9aYV81IiwgMCwgRihGTERfU1ZFX1phXzUpLAkJCVwKICAgICAgICJhbiBTVkUgdmVjdG9yIHJl Z2lzdGVyIikJCQkJCQlcCiAgICAgWShTVkVfUkVHLCByZWdubywgIlNWRV9aYV8xNiIsIDAsIEYo RkxEX1NWRV9aYV8xNiksCQkJXAo= --------------wlp4jkuYt8Fy7B2AeEtr1B50--