From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9A8F1A0547; Mon, 24 May 2021 12:03:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 222DD4068C; Mon, 24 May 2021 12:03:41 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00077.outbound.protection.outlook.com [40.107.0.77]) by mails.dpdk.org (Postfix) with ESMTP id 00A824003C for ; Mon, 24 May 2021 12:03:39 +0200 (CEST) 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=w5uxb2q8aRc9OyjB2A3BEaGwAf16yMxTunDsUB8GsOw=; b=T7QQ01FlD/ElmyRlzD0GHqM0+t5HKLttmZbKvogNdJ9qPIKapO6AQf79MBO99JU/1mioIKlO9hu+BC1bRZHFAktXcrWYj7WWDAsqzAqAe6vxpyyn1RjFJJg8NlzE8MM+UOhCwnZqTrjl8E6pB1XUSjocyJSvlZBcXd2yC+Mslhw= Received: from AS8PR04CA0096.eurprd04.prod.outlook.com (2603:10a6:20b:31e::11) by DB6PR0802MB2406.eurprd08.prod.outlook.com (2603:10a6:4:9e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.27; Mon, 24 May 2021 10:03:38 +0000 Received: from VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:31e:cafe::bf) by AS8PR04CA0096.outlook.office365.com (2603:10a6:20b:31e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.23 via Frontend Transport; Mon, 24 May 2021 10:03:38 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT050.mail.protection.outlook.com (10.152.19.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Mon, 24 May 2021 10:03:38 +0000 Received: ("Tessian outbound 504317ef584c:v92"); Mon, 24 May 2021 10:03:37 +0000 X-CR-MTA-TID: 64aa7808 Received: from 44a065618cf8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A3B48650-CF09-45E6-A674-3272035E75DD.1; Mon, 24 May 2021 10:03:32 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 44a065618cf8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 24 May 2021 10:03:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JS9rfcToLM7TMPdMrfuMnv9qIXpfDITlrN6X7YX2uXqejhhk5VWKuR1WMZSvgnb7WhuOxbyhd4DYuT3W+PQKE8kuXaoJH36EJs2GxOu7ZzLUCi3Wqi3GCz8PAmeIaUUOAjvRDRNJgbcEmn40g07ox5RVYjb+fv70uoiaI6OgV7kRC9cYYVOBXbl0NPJMyXQgrJvmlu02jUYIG9cBmTx5tb9WWEyhj7RSUO2CH5Hnd3XBzUREmFxnyk1sq5yLogue/N9iwVyt/GhAK4mcsgqzwcnQSGW4q/TOR0dPXvCriDDoNYV4xPZBfJB0qiV2gTHWt2FRuHT3lslXUKPE812X1g== 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-SenderADCheck; bh=w5uxb2q8aRc9OyjB2A3BEaGwAf16yMxTunDsUB8GsOw=; b=c7Yn7XasjbN1SqxVKnCQQOwQRYo3hHC4x/7x6Tbo/8cuTSCf/7ER+OJqbwEENkAn702cx9ni7mCenobf7iRM5/NgLfA0KhieuHuOogy4O5LYEIfR0vibbl1fF2hqxrHqVwD/+cAosZ4HQcmVtd+HQpNvnE2PhaESiEy3jvZ0ObYCTk7Qiqa0SBuef3v7TniXUGyKZc+pTeS16SWdFqS0o9ewyW7+Ry/nu9j5LAIvlYHev/vl4G4V3UqmB6p3c2P4wTjBgC8wkZNIq3r5f9ghq4R2HAplK4azIKkB0f+hTEErV1vYFqsL2ugPKqsVX8Vm3P8/8ZT5GavvFMj3mF2gRA== 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=w5uxb2q8aRc9OyjB2A3BEaGwAf16yMxTunDsUB8GsOw=; b=T7QQ01FlD/ElmyRlzD0GHqM0+t5HKLttmZbKvogNdJ9qPIKapO6AQf79MBO99JU/1mioIKlO9hu+BC1bRZHFAktXcrWYj7WWDAsqzAqAe6vxpyyn1RjFJJg8NlzE8MM+UOhCwnZqTrjl8E6pB1XUSjocyJSvlZBcXd2yC+Mslhw= Received: from AM5PR0802MB2465.eurprd08.prod.outlook.com (2603:10a6:203:9f::22) by AM6PR08MB5013.eurprd08.prod.outlook.com (2603:10a6:20b:ef::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4150.26; Mon, 24 May 2021 10:03:30 +0000 Received: from AM5PR0802MB2465.eurprd08.prod.outlook.com ([fe80::e890:2ff8:8cdf:83b2]) by AM5PR0802MB2465.eurprd08.prod.outlook.com ([fe80::e890:2ff8:8cdf:83b2%4]) with mapi id 15.20.4150.027; Mon, 24 May 2021 10:03:30 +0000 From: Ruifeng Wang To: fengchengwen , "thomas@monjalon.net" , "ferruh.yigit@intel.com" CC: "dev@dpdk.org" , "jerinj@marvell.com" , "viktorin@rehivetech.com" , "bruce.richardson@intel.com" , Honnappa Nagarahalli , "jerinjacobk@gmail.com" , "juraj.linkes@pantheon.tech" , nd , nd Thread-Topic: [PATCH v6 2/2] net/hns3: refactor SVE code compile method Thread-Index: AQHXTLL0d5Tne7adbE+oGA/sqrBsJarsCDLggAArkgCAATG3sIAAHRcAgASbK4CAADqzAIAADseg Date: Mon, 24 May 2021 10:03:30 +0000 Message-ID: References: <1620808126-18876-1-git-send-email-fengchengwen@huawei.com> <1621430731-27753-1-git-send-email-fengchengwen@huawei.com> <1621430731-27753-3-git-send-email-fengchengwen@huawei.com> <54ced40e-f0dd-faf9-2a5c-2a3949812627@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 6A0175498085A04C85B755ED0FAC76E5.0 x-checkrecipientchecked: true Authentication-Results-Original: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.113] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 01938237-3da7-4ae8-26fb-08d91e9b337f x-ms-traffictypediagnostic: AM6PR08MB5013:|DB6PR0802MB2406: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: DKAZEz+5AtqEdVPV/n7eyZQToMZ6Fq6SC83rKtA7r6B/WN2QfgcUJZwySSRADbzUyIJUd/3bEMxyhslAPA3caehC+YNwliTz3aSHsxUY3zxhiWwkiL1oKe98GzwoSWkgrObcCEzEO7QmlpC+EwN1t/WoM3KlDK3YuhL+iEZtJX2Slob2LmfVI/N+a+jUiqhF3UROG6LRZbKqgGqI/YrAjqvdx7n5lX9977eGmQdIOBQ0ir+a2Bb9evs0VzCIA/PzCmcwg4JOwPF1If2IuK6gh/ibRqFaAcxML3FZenretG1Yv5+PPEqZ5jrefavNh/QTNXgoI5jiUqzOxtjgd4poY+uP6lBym8Jt4iGnKjfULDpO7MO4eaqsTP6fd0VTxJBwcO2z5dQnF8bdrDA+ikyNc9dxywt1/RKC4TKNFKtDXXPn5MqpeeI3qoh3KymzsS2mnykmOKN0MNEuDYnpsYuCTwg+J0EqZEOIuoo9OnIjiq9iRg0OjVHBIZjiJhJG4UJscVGk0P/+Dwv1A0FU3p7jBYXAKZyG/o+jmJQW0AvEOS5AhgaihqBAaHCjVwed/FK+jKaag2iHVsZke01blP8SxTXPLSXJrSr34DixV2d7iMhQeQEFTVKKOPOr4tHV27/wdNIt6WwQFmNbIM7j75pOIrkhmN5Y9+Tk9h5K4+xWkmBErKGeCLQECO2OKBr1Vqj9oEx+KPOSQq+//jtKRIZ/2WVLgEClU+aT3hmr4LatLOw= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM5PR0802MB2465.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(5660300002)(966005)(38100700002)(122000001)(9686003)(186003)(54906003)(110136005)(53546011)(316002)(6506007)(7696005)(55016002)(33656002)(26005)(66476007)(4326008)(8676002)(66946007)(2906002)(86362001)(66556008)(83380400001)(8936002)(52536014)(478600001)(71200400001)(76116006)(66446008)(64756008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?RjJISitLVlVvWHBHK1BVakd5OUJYUTN1bm5SUDhXdTQ4VDAxbkRHMmFzaTRP?= =?utf-8?B?MXd3dXpCTnc1amQyZmEwYldPMWJJb1RIdk5SL0pIMzVQQzNMSXk0V1FDNlps?= =?utf-8?B?Q2RGeDFXNFRXRkY1dkFRbFpaR3FZT01QaDF0WkhTVkVQNFhEUmFSNFBJczBx?= =?utf-8?B?M3JpNjgzTjhFSDZqWjZJUS9lU1B2dE1QekpreS9xeHJBbTBJUXBMNjdzQnBu?= =?utf-8?B?NnUxWjg5Y2tzckFDa04xcld1akFTM21jdllmQzRIeVRyQnZ0aWU4WXFKOURw?= =?utf-8?B?M2hjTFp4a2lxcFV3enZMSDgxRmY3TDdKaDhabGVSdFJRVlp4aTlMWmtlbGdT?= =?utf-8?B?d0h4bm1jVXJrTHh0cGlGTGxCSklnYkMwNDEyMzc1UDJ6dUkvZVgyRm5kUWV3?= =?utf-8?B?Sk44U3hYTUUyMmNSQmEySzJMZVhaZDM2TzdhT1ZkZXRvN0hHeUZPK3VlUnlK?= =?utf-8?B?YkhxUWZ6TGh3UnU4Wng1aTROZ25YN2Q2TUdpcHNFajdQT1NVdEI2SVJKVnFt?= =?utf-8?B?NGVpdUNEQUpqZXY0SUg1WE9sZmhDS096cENCdi8yMUhSUXRqbkU5K0lLVjhm?= =?utf-8?B?anp3VGMxYUYxcTZTVVU5NlFuV0MwblFzWjN1ZnpWMmhGS0Q0STNUQ3JoVmNH?= =?utf-8?B?aFhGYVYwcWpScGdPbU9mSXJlTzVPaElyQ3FxYnYwM0FyRjRxVnQ1bUdzNSt5?= =?utf-8?B?cy9MS0VEM2hnRDdTcWUrR1h4bW8zQUVDWjVCYjYvcm9EaVNudVZaaFZXTE5O?= =?utf-8?B?RFdVdWQ4anJ0SjA2ZW5jY0JNeWsxOHQxdmRHejVBc1BnSFVubWZxcTIrMUNs?= =?utf-8?B?VkhvUVFGUTUrV3EvMGwzbHhoaVB5V0dLdDJRY2RWcC92Q2h1T2t4WXdKN3RB?= =?utf-8?B?ME9TM3ZWcFpocmRic1JoUkVlY2N2K2x2ai9NSFM0N1NpMWRqTE0vc2RNUTZ4?= =?utf-8?B?bVRLVEFmb1BnUWJZdzhsZ2ZPTk1zWnUvNGR4UHJtbGFnbVd1UFdXaXlwSGNj?= =?utf-8?B?cXl6TjJmMnRZVnZxRTFSS1RONUhUMCs5V3JDbk1oWG9UYTVFUEF3ZHJzMmZK?= =?utf-8?B?RFV5bWpOMVBLQ0RUNk9LVjhLalZMaWFEZlpiZ2owQ21tc3hmSkp4c3hMMEtu?= =?utf-8?B?YkU0djlyR0RheXB4OGF6eHN1c3hNZ3JVMlRuN01MYnlaaFptQzFpT2hObXA3?= =?utf-8?B?RG5TZ1l2WW5PV1ZXYWZPSS9wTjg5WGYvSU9yVDkvQ3VqYkczdzVrMEhYQmYy?= =?utf-8?B?VkJQeTBEbnBLWmVCdTVoVW9rRkE0Y2JPTzhOaVdPR2lIcnFDVFAyZjVadzJu?= =?utf-8?B?Y0NWNWFDNHZaTFpldG9QYVlnWFhoTGhJWUcxeTc0WG00d2V1d0dWd21kMmpv?= =?utf-8?B?KysvZi9yZDZiMko2bGQrRm9zVmJUYWQ5dFNKMmEycnZPSHNnQWpzNjBYS3Nn?= =?utf-8?B?SFlCcXJGWlNTSGh2N1RYdWhYUGowLzludGMwMzljNWtRQXVlb1dBeUZZc0RO?= =?utf-8?B?VDFPZGVIVXVBQ0QzTmwwMlJRL3ppTlVSYmpGbllTU3VnZVFqd09FNVR0a0M3?= =?utf-8?B?emRDTldIcFg1SzdKeXlTdW5sR2dXVHZDZXJFdFFnUkhkL3JRSGl0aExuaC9u?= =?utf-8?B?UE9FNFZtSXBjKzJCVmR0RkNONzF1SGNDOUhwVzVjN05tSEZhNFBHeGszOEZr?= =?utf-8?B?d0Zwd0VTRlpZMkkrYUp2TkMyTHFLaHEvaHRiY1lMZithWWdNYVd3YmpMaTl2?= =?utf-8?Q?RIwtCE25KbvAdrmBU/iPGM8duudrL+W6RH/GWK+?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5013 Original-Authentication-Results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: b6f56dd5-fa8e-4215-0dc3-08d91e9b2efb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nlsrykm33DWBQyHXSnK+RcMio3BC+glyfHkdkxOQBKAtGQ7YYyCOLeh72BVb98oq/ngDQ80qkvyraUCBkjhedQmyjx5Yilv1j4SQhCTaGkkR6cX1rmoVsAZY83B/0atIqbTJ2WCBiFjF/k7eJ54Y5lxRTOvTLlKL02t3Hf2i6RH/XS8qp7biV2fiC/VjCpld6r6JcbRa3B3uWYIFmHJUL6HNFEmYbDITAMpuWA3o64GVN3hGigf1LZ6s9FRplwAXcVEXo7o44gp6Y89IPbSJDlOPO9Bwz1jHPbKCP0BNFuQfnoBziR0FD9Y4HUmdRB7VWwFAoVOGA28UKHWm7iWZXlwQYbVkEFAzSo3z0YmhotvWQP9ldk52yQNU4dywxbT/o5Gb87T8fDXPdECmLNy8nt3e+GoNePvgpBUUMH3T7N9gsWWL8W+Dv6ZwefaGiuvq+W/30C3ywVi2EQ6FcGbHaN8PsdtIaf8HZMmcS/jg/CNJIfZV/oJXDhftUtcDbo1UOywdPVCEAdi0ruGcIlWdbDCxVwTs1v3x7RyQ+Dj1yEwi8Uhw06sz/s49ILbLhC6+O6HqlJO2vN3CVBh15B09iUnJswA4zPlIK6d6xnSpd6VbMBR89iZumAI0T3UoHqF+UNR+v75p7JKWlqfPuVjtUyZ45ORAyNrCnVsU6sGN5zB4A4HMbPcxJdi3dUpNenl2asBmp7zA7+kT+bNoleYMxikjh/HQ8stK7nltXLP21iuZUGanSIuMTSWnu092jF6SJBInZvQhj6CJ9ozyJjtAUQ== 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:(4636009)(136003)(39860400002)(376002)(346002)(396003)(36840700001)(46966006)(55016002)(966005)(316002)(186003)(53546011)(478600001)(8936002)(26005)(2906002)(83380400001)(356005)(9686003)(47076005)(81166007)(7696005)(86362001)(52536014)(8676002)(336012)(36860700001)(70586007)(4326008)(70206006)(110136005)(5660300002)(33656002)(6506007)(54906003)(82740400003)(82310400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2021 10:03:38.0649 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 01938237-3da7-4ae8-26fb-08d91e9b337f 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: VE1EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2406 Subject: Re: [dpdk-dev] [PATCH v6 2/2] net/hns3: refactor SVE code compile method X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBmZW5nY2hlbmd3ZW4gPGZlbmdj aGVuZ3dlbkBodWF3ZWkuY29tPg0KPiBTZW50OiBNb25kYXksIE1heSAyNCwgMjAyMSA0OjQ0IFBN DQo+IFRvOiBSdWlmZW5nIFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgdGhvbWFzQG1vbmph bG9uLm5ldDsNCj4gZmVycnVoLnlpZ2l0QGludGVsLmNvbQ0KPiBDYzogZGV2QGRwZGsub3JnOyBq ZXJpbmpAbWFydmVsbC5jb207IHZpa3RvcmluQHJlaGl2ZXRlY2guY29tOw0KPiBicnVjZS5yaWNo YXJkc29uQGludGVsLmNvbTsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2Fy YWhhbGxpQGFybS5jb20+OyBqZXJpbmphY29ia0BnbWFpbC5jb207DQo+IGp1cmFqLmxpbmtlc0Bw YW50aGVvbi50ZWNoOyBuZCA8bmRAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NiAy LzJdIG5ldC9obnMzOiByZWZhY3RvciBTVkUgY29kZSBjb21waWxlIG1ldGhvZA0KPiANCj4gDQo+ IA0KPiBPbiAyMDIxLzUvMjQgMTM6MzgsIFJ1aWZlbmcgV2FuZyB3cm90ZToNCj4gPj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZmVuZ2NoZW5nd2VuIDxmZW5nY2hlbmd3 ZW5AaHVhd2VpLmNvbT4NCj4gPj4gU2VudDogRnJpZGF5LCBNYXkgMjEsIDIwMjEgMjo1MyBQTQ0K PiA+PiBUbzogUnVpZmVuZyBXYW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IHRob21hc0Btb25q YWxvbi5uZXQ7DQo+ID4+IGZlcnJ1aC55aWdpdEBpbnRlbC5jb20NCj4gPj4gQ2M6IGRldkBkcGRr Lm9yZzsgamVyaW5qQG1hcnZlbGwuY29tOyB2aWt0b3JpbkByZWhpdmV0ZWNoLmNvbTsNCj4gPj4g YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4+IDxI b25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgamVyaW5qYWNvYmtAZ21haWwuY29tOw0KPiA+ PiBqdXJhai5saW5rZXNAcGFudGhlb24udGVjaDsgbmQgPG5kQGFybS5jb20+DQo+ID4+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0ggdjYgMi8yXSBuZXQvaG5zMzogcmVmYWN0b3IgU1ZFIGNvZGUgY29tcGls ZQ0KPiA+PiBtZXRob2QNCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gT24gMjAyMS81LzIxIDEzOjIx LCBSdWlmZW5nIFdhbmcgd3JvdGU6DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4+PiBGcm9tOiBmZW5nY2hlbmd3ZW4gPGZlbmdjaGVuZ3dlbkBodWF3ZWkuY29tPg0KPiA+ Pj4+IFNlbnQ6IFRodXJzZGF5LCBNYXkgMjAsIDIwMjEgNjo1NSBQTQ0KPiA+Pj4+IFRvOiBSdWlm ZW5nIFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldDsNCj4g Pj4+PiBmZXJydWgueWlnaXRAaW50ZWwuY29tDQo+ID4+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgamVy aW5qQG1hcnZlbGwuY29tOyB2aWt0b3JpbkByZWhpdmV0ZWNoLmNvbTsNCj4gPj4+PiBicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbTsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPj4+PiA8SG9ubmFw cGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IGplcmluamFjb2JrQGdtYWlsLmNvbTsNCj4gPj4+PiBq dXJhai5saW5rZXNAcGFudGhlb24udGVjaDsgbmQgPG5kQGFybS5jb20+DQo+ID4+Pj4gU3ViamVj dDogUmU6IFtQQVRDSCB2NiAyLzJdIG5ldC9obnMzOiByZWZhY3RvciBTVkUgY29kZSBjb21waWxl DQo+ID4+Pj4gbWV0aG9kDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gT24gMjAyMS81 LzIwIDE2OjI0LCBSdWlmZW5nIFdhbmcgd3JvdGU6DQo+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogQ2hlbmd3ZW4gRmVuZyA8ZmVuZ2NoZW5nd2VuQGh1 YXdlaS5jb20+DQo+ID4+Pj4+PiBTZW50OiBXZWRuZXNkYXksIE1heSAxOSwgMjAyMSA5OjI2IFBN DQo+ID4+Pj4+PiBUbzogdGhvbWFzQG1vbmphbG9uLm5ldDsgZmVycnVoLnlpZ2l0QGludGVsLmNv bQ0KPiA+Pj4+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgamVyaW5qQG1hcnZlbGwuY29tOyBSdWlmZW5n IFdhbmcNCj4gPj4+Pj4+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IHZpa3RvcmluQHJlaGl2ZXRl Y2guY29tOw0KPiA+Pj4+Pj4gYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+ID4+Pj4+PiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IGplcmlu amFjb2JrQGdtYWlsLmNvbTsNCj4gPj4+Pj4+IGp1cmFqLmxpbmtlc0BwYW50aGVvbi50ZWNoOyBu ZCA8bmRAYXJtLmNvbT4NCj4gPj4+Pj4+IFN1YmplY3Q6IFtQQVRDSCB2NiAyLzJdIG5ldC9obnMz OiByZWZhY3RvciBTVkUgY29kZSBjb21waWxlDQo+ID4+Pj4+PiBtZXRob2QNCj4gPj4+Pj4+DQo+ ID4+Pj4+PiBDdXJyZW50bHksIHRoZSBTVkUgY29kZSBpcyBjb21waWxlZCBvbmx5IHdoZW4gLW1h cmNoIHN1cHBvcnRzIFNWRQ0KPiA+Pj4+Pj4gKGUuZy4gJy0gbWFyY2g9YXJtdjguMmErc3ZlJyks IHRoZXJlIG1heWJlIHNvbWUgcHJvYmxlbVsxXSB3aXRoDQo+ID4+Pj4+PiB0aGlzDQo+ID4+Pj4g YXBwcm9hY2guDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIHNvbHV0aW9uOg0KPiA+Pj4+Pj4gYS4g SWYgdGhlIG1pbmltdW0gaW5zdHJ1Y3Rpb24gc2V0IHN1cHBvcnQgU1ZFIHRoZW4gY29tcGlsZXMg aXQuDQo+ID4+Pj4+PiBiLiBFbHNlIGlmIHRoZSBjb21waWxlciBzdXBwb3J0IFNWRSB0aGVuIGNv bXBpbGVzIGl0Lg0KPiA+Pj4+Pj4gYy4gT3RoZXJ3aXNlIGRvbid0IGNvbXBpbGUgaXQuDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gWzFdIGh0dHBzOi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIw MjEtQXByaWwvMjA4MTg5Lmh0bWwNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBGaXhlczogOGMyNWIwMmIw ODJhICgibmV0L2huczM6IGZpeCBlbmFibGluZyBTVkUgUngvVHgiKQ0KPiA+Pj4+Pj4gRml4ZXM6 IDk1MmViYWNjZTRmMiAoIm5ldC9obnMzOiBzdXBwb3J0IFNWRSBSeCIpDQo+ID4+Pj4+PiBDYzog c3RhYmxlQGRwZGsub3JnDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hlbmd3 ZW4gRmVuZyA8ZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb20+DQo+ID4+Pj4+PiAtLS0NCj4gPj4+Pj4+ ICBkcml2ZXJzL25ldC9obnMzL2huczNfcnh0eC5jIHwgIDIgKy0NCj4gPj4+Pj4+IGRyaXZlcnMv bmV0L2huczMvbWVzb24uYnVpbGQNCj4gPj4+Pj4+IHwNCj4gPj4+Pj4+IDIxICsrKysrKysrKysr KysrKysrKysrLQ0KPiA+Pj4+Pj4gIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvaG5zMy9obnMzX3J4dHguYw0KPiA+Pj4+Pj4gYi9kcml2ZXJzL25ldC9obnMzL2huczNfcnh0 eC5jIGluZGV4IDFkN2E3NjkuLjRlZjIwYzYgMTAwNjQ0DQo+ID4+Pj4+PiAtLS0gYS9kcml2ZXJz L25ldC9obnMzL2huczNfcnh0eC5jDQo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC9obnMzL2hu czNfcnh0eC5jDQo+ID4+Pj4+PiBAQCAtMjgwOCw3ICsyODA4LDcgQEAgaG5zM19nZXRfZGVmYXVs dF92ZWNfc3VwcG9ydCh2b2lkKQ0KPiA+Pj4+Pj4gIHN0YXRpYyBib29sDQo+ID4+Pj4+PiAgaG5z M19nZXRfc3ZlX3N1cHBvcnQodm9pZCkNCj4gPj4+Pj4+ICB7DQo+ID4+Pj4+PiAtI2lmIGRlZmlu ZWQoUlRFX0FSQ0hfQVJNNjQpICYmIGRlZmluZWQoX19BUk1fRkVBVFVSRV9TVkUpDQo+ID4+Pj4+ PiArI2lmIGRlZmluZWQoQ0NfU1ZFX1NVUFBPUlQpDQo+ID4+Pj4+PiAgCWlmIChydGVfdmVjdF9n ZXRfbWF4X3NpbWRfYml0d2lkdGgoKSA8DQo+IFJURV9WRUNUX1NJTURfMjU2KQ0KPiA+Pj4+Pj4g IAkJcmV0dXJuIGZhbHNlOw0KPiA+Pj4+Pj4gIAlpZiAocnRlX2NwdV9nZXRfZmxhZ19lbmFibGVk KFJURV9DUFVGTEFHX1NWRSkpDQo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaG5z My9tZXNvbi5idWlsZA0KPiA+Pj4+Pj4gYi9kcml2ZXJzL25ldC9obnMzL21lc29uLmJ1aWxkIGlu ZGV4IDUzYzdkZjcuLjVmOWFmOWIgMTAwNjQ0DQo+ID4+Pj4+PiAtLS0gYS9kcml2ZXJzL25ldC9o bnMzL21lc29uLmJ1aWxkDQo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC9obnMzL21lc29uLmJ1 aWxkDQo+ID4+Pj4+PiBAQCAtMzUsNyArMzUsMjYgQEAgZGVwcyArPSBbJ2hhc2gnXQ0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+ICBpZiBhcmNoX3N1YmRpciA9PSAnYXJtJyBhbmQgZHBka19jb25mLmdldCgn UlRFX0FSQ0hfNjQnKQ0KPiA+Pj4+Pj4gICAgICBzb3VyY2VzICs9IGZpbGVzKCdobnMzX3J4dHhf dmVjLmMnKQ0KPiA+Pj4+Pj4gLSAgICBpZiBjYy5nZXRfZGVmaW5lKCdfX0FSTV9GRUFUVVJFX1NW RScsIGFyZ3M6IG1hY2hpbmVfYXJncykgIT0gJycNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsgICAg IyBjb21waWxlIFNWRSB3aGVuOg0KPiA+Pj4+Pj4gKyAgICAjIGEuIHN1cHBvcnQgU1ZFIGluIG1p bmltdW0gaW5zdHJ1Y3Rpb24gc2V0IGJhc2VsaW5lDQo+ID4+Pj4+PiArICAgICMgYi4gaXQncyBu b3QgbWluaW11bSBpbnN0cnVjdGlvbiBzZXQsIGJ1dCBjb21waWxlciBzdXBwb3J0DQo+ID4+Pj4+ PiArICAgIGlmIGNjLmdldF9kZWZpbmUoJ19fQVJNX0ZFQVRVUkVfU1ZFJywgYXJnczogbWFjaGlu ZV9hcmdzKSAhPQ0KPiAnJw0KPiA+Pj4+Pj4gKyBhbmQNCj4gPj4+Pj4+IGNjLmNoZWNrX2hlYWRl cignYXJtX3N2ZS5oJykNCj4gPj4+Pj4+ICsgICAgICAgIGNmbGFncyArPSBbJy1EQ0NfU1ZFX1NV UFBPUlQnXQ0KPiA+Pj4+PiBXaXRoIFNWRSBidWlsZCBmaXggcGF0Y2ggWzFdLCBDQ19TVkVfQUNM RV9TVVBQT1JUIHdpbGwgYmUgZGVmaW5lZC4NCj4gPj4+Pj4gSGVyZSB3ZSBjYW4gdXNlIENDX1NW RV9BQ0xFX1NVUFBPUlQgYW5kIG5vdCB0byBhZGQgYSBuZXcgb25lLg0KPiA+Pj4+Pg0KPiA+Pj4+ DQo+ID4+Pj4gVGhlIENDX1NWRV9BQ0xFX1NVUFBPUlQgd2FzIGRlZmluZWQgdW5kZXIgZGVmYXVs dCBtYWNoaW5lX2FyZ3MNCj4gPj4gd2hpY2gNCj4gPj4+PiBzdXBwb3J0IFNWRSwgaXQgY2FuJ3Qg ZGVhbHMgd2l0aCB0aGUgc2l0dWF0aW9uOiB0aGUgZGVmYXVsdA0KPiA+Pj4+IG1hY2hpbmVfYXJn cyBkb24ndCBzdXBwb3J0IFNWRSBidXQgY29tcGlsZXIgc3VwcG9ydCBTVkUuDQo+ID4+Pj4gU28g dGhlIENDX1NWRV9TVVBQT1JUIG1hcmNvIGlzIG5lY2Vzc2FyeS4NCj4gPj4+IEFncmVlIHRoYXQg bWFjcm8gZm9yIFNWRSBpcyBhbHNvIG5lZWRlZCBoZXJlLiBBbmQgd2UgY2FuIGFsc28gdXNlICct DQo+ID4+IERDQ19TVkVfQUNMRV9TVVBQT1JUJyBoZXJlIHJpZ2h0Pw0KPiA+Pj4gSSB0aGluayB0 aGVyZSBpcyBubyBkaWZmZXJlbmNlIGJldHdlZW4gQ0NfU1ZFX0FDTEVfU1VQUE9SVCBhbmQNCj4g Pj4gQ0NfU1ZFX1NVUFBPUlQgd2hlbiB0aGV5IGFyZSB1c2VkIGluIHNvdXJjZSBjb2RlLg0KPiA+ Pj4gSU1PIHRoZSBzYW1lIG1hY3JvIG5hbWUgY2FuIGJlIHVzZWQsIGFuZCBpdCByZW1vdmVzIHJl ZHVuZGFuY3kgYW5kDQo+ID4+IGNvbmZ1c2lvbi4NCj4gPj4+DQo+ID4+DQo+ID4+IFlvdSBhcmUg cmlnaHQsIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBDQ19TVkVfQUNMRV9TVVBQT1JUIGFuZA0KPiA+ PiBDQ19TVkVfU1VQUE9SVCBCdXQgdGhlIGhuczMgc3ZlIGFscmVhZHkgc3VwcG9ydCAyMC4xMSwg YW5kDQo+ID4+IENDX1NWRV9BQ0xFX1NVUFBPUlQgd2FzIG5ld2x5IGRlZmluZWQsIHRoZXJlIG1h eWJlIHNvbWUNCj4gcHJvYmxlbXMgd2hlbg0KPiA+PiBiYWNrcG9ydGluZy4NCj4gPiAyMC4xMSBy ZWxlYXNlIGhhcyBubyBtYWNoaW5lIGVuYWJsZWQgU1ZFIGV4dGVuc2lvbi4NCj4gPg0KPiA+Pg0K PiA+PiBPciB3ZSBjb3VsZCByZWRlZmluZSBDQ19TVkVfQUNMRV9TVVBQT1JUIHVuZGVyIGRlZmF1 bHQNCj4gbWFjaGluZV9hcmdzOg0KPiA+PiAgICAgaWYgY2MuZ2V0X2RlZmluZSgnX19BUk1fRkVB VFVSRV9TVkUnLCBhcmdzOiBtYWNoaW5lX2FyZ3MpICE9ICcnDQo+ID4+IGFuZA0KPiA+PiBjYy5j aGVja19oZWFkZXIoJ2FybV9zdmUuaCcpDQo+ID4+ICAgICAgICAgY2ZsYWdzICs9IFsnLURDQ19T VkVfQUNMRV9TVVBQT1JUJ10NCj4gPiAnaWYgZHBka19jb25mLmdldChDQ19TVkVfQUNMRV9TVVBQ T1JUKScgc2hvdWxkIGJlIGZpbmU/DQo+ID4gU3RhYmxlIGJyYW5jaCBoYXMgbm8gU1ZFIGVuYWJs ZWQgaW4gbWFjaGluZV9hcmdzLg0KPiA+DQo+IA0KPiBCdXQgMjAuMTEgdXNlIGNvdWxkIHVzZSBo bnMzIFNWRSBwYXRoIHdoZW4gY29tcGlsZSB3aXRoIGdjYzEwLg0KMjAuMTEgdXNlciB3aWxsIGJl IGFibGUgdG8gdXNlIGhuczMgU1ZFIHBhdGguIA0KSW1wbGVtZW50YXRpb24gJ2EnIHNob3VsZCBi ZSBmaW5lIGZvciBib3RoIDIwLjExIGFuZCAyMS4wOC4NCg0KPiANCj4gSWYgd2UgcmV1c2UgdGhl IENDX1NWRV9BQ0xFX1NVUFBPUlQgbWFjcm8sIHRoZXJlIG1heWJlIHByb2JsZW0gd2hlbg0KPiBi YWNrcG9ydGluZzoNCj4gYS4gSW4gMjEuMDggd2UgY291bGQgZGVwZW5kIG9uIENDX1NWRV9BQ0xF X1NVUFBPUlQsIHNvIGl0IHdpbGwgYmU6DQo+ICAgICBpZiBkcGRrX2NvbmYuZ2V0KCdDQ19TVkVf QUNMRV9TVVBQT1JUJykNCj4gICAgICAgICBzb3VyY2VzICs9IGZpbGVzKCdobnMzX3J4dHhfdmVj X3N2ZS5jJykNCj4gICAgIGVsaWYgY2MuaGFzX2FyZ3VtZW50KCctbWFyY2g9YXJtdjguMi1hK3N2 ZScpIGFuZA0KPiBjYy5jaGVja19oZWFkZXIoJ2FybV9zdmUuaCcpDQpnY2MxMCB1c2VyIHdpbGwg Z28gaW50byB0aGlzIGJyYW5jaCwgYW5kIFNWRSBwYXRoIHdpbGwgYmUgaW5jbHVkZWQuDQpJdCBp cyBpZGVudGljYWwgaW4gJ2EnIGFuZCAnYicuDQoNCj4gICAgICAgICBzdmVfY2ZsYWdzID0gWyct RENDX1NWRV9BQ0xFX1NVUFBPUlQnXQ0KPiAgICAgICAgIC4uLg0KPiBiLiBCdXQgZm9yIGJhY2tw b3J0IHRvIDIwLjExLCB3ZSBzaG91bGQgdXNlIGFub3RoZXIgaW1wbDoNCj4gICAgIGlmIGNjLmdl dF9kZWZpbmUoJ19fQVJNX0ZFQVRVUkVfU1ZFJywgYXJnczogbWFjaGluZV9hcmdzKSAhPSAnJyBh bmQNCj4gY2MuY2hlY2tfaGVhZGVyKCdhcm1fc3ZlLmgnKQ0KJ2lmJyBjbGF1c2UgaW4gaW1wbGVt ZW50YXRpb24gJ2EnIHdpbGwgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvciBhcyB0aGlzIG9uZSBpbiAy MC4xMS4NCiBCb3RoIG9mIHRoZSBjaGVja3Mgd2lsbCBiZSBmYWxzZS4gDQonQ0NfU1ZFX0FDTEVf U1VQUE9SVCcgaXMgbm90IGRlZmluZWQgaW4gMjAuMTEgLT4gcmVzdWx0IGluIGZhbHNlLg0KTm8g bWFjaGluZV9hcmdzIGhhdmUgc3ZlIGVuYWJsZWQgaW4gMjAuMTEgLT4gcmVzdWx0IGluIGZhbHNl Lg0KU28gSSB0aGluayB0aGVyZSBpcyBhIGNoYW5jZSB3ZSBjYW4gdXNlIGEgc2luZ2xlIG1hY3Jv Lg0KDQo+ICAgICAgICAgY2ZsYWdzICs9IFsnLURDQ19TVkVfQUNMRV9TVVBQT1JUJ10NCj4gICAg ICAgICBzb3VyY2VzICs9IGZpbGVzKCdobnMzX3J4dHhfdmVjX3N2ZS5jJykNCj4gICAgIGVsaWYg Y2MuaGFzX2FyZ3VtZW50KCctbWFyY2g9YXJtdjguMi1hK3N2ZScpIGFuZA0KPiBjYy5jaGVja19o ZWFkZXIoJ2FybV9zdmUuaCcpDQo+ICAgICAgICAgc3ZlX2NmbGFncyA9IFsnLURDQ19TVkVfQUNM RV9TVVBQT1JUJ10NCj4gICAgICAgICAuLi4NCj4gQXMgeW91IHNlZSwgdGhlIGFib3ZlIHR3byBh cmUgbm90IHVuaWZpZWQuDQo+IA0KPiBTbyBoZXJlIEkgdGhpbmsgdXNlIHRoZSBDQ19TVkVfU1VQ UE9SVCBpcyBhcHByb3ByaWF0ZS4NCj4gDQo+IEBGZXJydWggIHdoYXQncyB5b3VyIG9waW5pb24g Pw0KPiANCj4gPj4gICAgICAgICBzb3VyY2VzICs9IGZpbGVzKCdobnMzX3J4dHhfdmVjX3N2ZS5j JykNCj4gPj4gICAgIGVsaWYgY2MuaGFzX2FyZ3VtZW50KCctbWFyY2g9YXJtdjguMi1hK3N2ZScp IGFuZA0KPiA+PiBjYy5jaGVja19oZWFkZXIoJ2FybV9zdmUuaCcpDQo+ID4+ICAgICAgICAgc3Zl X2NmbGFncyA9IFsnLURDQ19TVkVfQUNMRV9TVVBQT1JUJ10NCj4gPiBUaGlzIGlzIGZpbmUuIE1h Y3JvIG5hbWUgaXMgY29uc2lzdGVudC4NCj4gPg0KPiA+PiAgICAgICAgIGZvcmVhY2ggZmxhZzog Y2ZsYWdzDQo+ID4+ICAgICAgICAgICAgICMgZmlsdGVyb3V0IC1tYXJjaCAtbWNwdSAtbXR1bmUN Cj4gPj4gICAgICAgICAgICAgaWYgbm90IChmbGFnLnN0YXJ0c3dpdGgoJy1tYXJjaD0nKSBvcg0K PiA+PiBmbGFnLnN0YXJ0c3dpdGgoJy1tY3B1PScpIG9yDQo+ID4+IGZsYWcuc3RhcnRzd2l0aCgn LW10dW5lPScpKQ0KPiA+PiAgICAgICAgICAgICAgICAgc3ZlX2NmbGFncyArPSBmbGFnDQo+ID4+ ICAgICAgICAgICAgIGVuZGlmDQo+ID4+ICAgICAgICAgZW5kZm9yZWFjaA0KPiA+PiBidXQgdGhp cyB3YXkgbWF5IGludHJvZHVjZSBjb3VwbGluZywgSSB0aGluay4NCj4gPj4NCj4gPj4+Pg0KPiA+ Pj4+PiBbMV0NCj4gPj4+Pj4gaHR0cDovL3BhdGNoZXMuZHBkay5vcmcvcHJvamVjdC9kcGRrL3Bh dGNoLzE2MjE0OTUwMDctMjgzODctMS0NCj4gZ2l0LQ0KPiA+Pj4+PiBzZQ0KPiA+Pj4+PiBuZA0K PiA+Pj4+PiAtZW1haWwtZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb20vDQo+ID4+Pj4+DQo+ID4+Pj4+ PiAgICAgICAgICBzb3VyY2VzICs9IGZpbGVzKCdobnMzX3J4dHhfdmVjX3N2ZS5jJykNCj4gPj4+ Pj4+ICsgICAgZWxpZiBjYy5oYXNfYXJndW1lbnQoJy1tYXJjaD1hcm12OC4yLWErc3ZlJykgYW5k DQo+ID4+Pj4+PiBjYy5jaGVja19oZWFkZXIoJ2FybV9zdmUuaCcpDQo+ID4+Pj4+PiArICAgICAg ICBzdmVfY2ZsYWdzID0gWyctRENDX1NWRV9TVVBQT1JUJ10NCj4gPj4+Pj4+ICsgICAgICAgIGZv cmVhY2ggZmxhZzogY2ZsYWdzDQo+ID4+Pj4+PiArICAgICAgICAgICAgIyBmaWx0ZXJvdXQgLW1h cmNoIC1tY3B1IC1tdHVuZQ0KPiA+Pj4+Pj4gKyAgICAgICAgICAgIGlmIG5vdCAoZmxhZy5zdGFy dHN3aXRoKCctbWFyY2g9Jykgb3INCj4gPj4+Pj4+ICsgZmxhZy5zdGFydHN3aXRoKCctbWNwdT0n KSBvcg0KPiA+Pj4+Pj4gZmxhZy5zdGFydHN3aXRoKCctbXR1bmU9JykpDQo+ID4+Pj4+PiArICAg ICAgICAgICAgICAgIHN2ZV9jZmxhZ3MgKz0gZmxhZw0KPiA+Pj4+Pj4gKyAgICAgICAgICAgIGVu ZGlmDQo+ID4+Pj4+PiArICAgICAgICBlbmRmb3JlYWNoDQo+ID4+Pj4+PiArICAgICAgICBobnMz X3N2ZV9saWIgPSBzdGF0aWNfbGlicmFyeSgnaG5zM19zdmVfbGliJywNCj4gPj4+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAnaG5zM19yeHR4X3ZlY19zdmUuYycsDQo+ID4+Pj4+PiArICAg ICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzOiBbc3RhdGljX3J0ZV9ldGhkZXZdLA0K PiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXM6IGlu Y2x1ZGVzLA0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNfYXJnczogW3N2ZV9j ZmxhZ3MsICctbWFyY2g9YXJtdjguMi1hK3N2ZSddKQ0KPiA+Pj4+Pj4gKyAgICAgICAgb2JqcyAr PQ0KPiA+Pj4+Pj4gKyBobnMzX3N2ZV9saWIuZXh0cmFjdF9vYmplY3RzKCdobnMzX3J4dHhfdmVj X3N2ZS5jJykNCj4gPj4+Pj4+ICAgICAgZW5kaWYNCj4gPj4+Pj4+ICBlbmRpZg0KPiA+Pj4+Pj4g LS0NCj4gPj4+Pj4+IDIuOC4xDQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IC4NCj4gPj4+Pj4N Cj4gPj4+DQo+ID4NCg0K