From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 0D95E8A500 for ; Tue, 2 Aug 2022 17:59:57 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E4CAD3100 for ; Tue, 2 Aug 2022 17:59:56 +0200 (CEST) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 2 Aug 2022 17:59:55 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 004D24073D88 for ; Tue, 2 Aug 2022 17:59:47 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 004D24073D88 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1659455987; bh=RzEhJQ0cDlfOPavxdT9hSGxwqlIkXGTmMDC84Iy4aGg=; h=From:To:Subject:Date:References:In-Reply-To:From; b=d5pENEeIeySYojxBkafJZeRaj3cGpKF4K/wpOD3GhhMbrwNy9RiBjr5c1FDMF44kI SEckjEBiy30g5b4CLdB8o65COF4NZr97uaoNc9KGdRsvvwJGzv5ZxqTZQjXBF6ZZ6D 2BswWTLFKJxG8m/0m3U5Uoh8rZqrd3Q1SucgR5Yo= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Tue, 2 Aug 2022 17:59:48 +0200 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28 via Frontend Transport; Tue, 2 Aug 2022 17:59:48 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0AaBgBRVYKcX/YAP6zhFSYpNzZSipes64fq2UiD1aY9UBhKwGYOhkd/Ck6FNeZW3vve/Qo7FwD0lT0GLgfNlnviS3GlwLrbshqvnIyLxrqU584LVL2CUSyNJIngvLiRz25fKqjvffk8RHPc0QHl5Q0fhwuUXEnJlBAkt3BY6JPgpwX7MtNv58Lo1sD/X72VLsl3NhrHXm+DhkOnnZGES5wunzH1yroIbr2LZppGjaqsYVPGLUCQmu9+tYcnXSFpopR3QRtpoxMJYeh/Akt0IwL0sapOWCtofidfos1WA0d1lRZbclU//UiBl3HyiFhBB/sAlPajmiUqg1dp0wFjcw== 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=RzEhJQ0cDlfOPavxdT9hSGxwqlIkXGTmMDC84Iy4aGg=; b=GVD5wpDC6r3TkeIhY1hpPxfrcnMsfPdPDxirS7JdO/0iJLNw2V8nYsfZAvDrC9noXt0x5tgWtgD/p8x/Ocsz3szuEhOfM6Ly7TgmpYHtXlxOJAkzdW849BRDFk/uYCXetSDdFCvQ9qhzouZ65K5siflaOa4wBDnjy5OHG8Ca2EZqCcLzJpPoK4HmzFok/zXUrowO/AMLTys/8Ro7ZDvvTF2Cu1CkinsM7JiNiWoEgPI66LTulcfCRhfxdRQKDdK6hMuPvFlDTjDHRjVt/EKYqGz0vKR4zk6fS9wD8hTZG0edh2T3Q8WEwyb0cg2iaCewFKyyhk/bvjuFZcAYd85EKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RzEhJQ0cDlfOPavxdT9hSGxwqlIkXGTmMDC84Iy4aGg=; b=ZiwcBPcuL3MHlwXSp9kebkWqzoTi5nS/myKcSvEtf2pRFS+6nCZxBC1ao4nt6Y9VtTT2Aa39Rl1Wm0OzApXTBEf0pQKIclesbaxHLMeyqUfcOdZHIoHOD1evh6Him/PZNuPKC9B/2/8oJNA6x8LB4BQDky4GODMqJ9bEU11tCzE= Received: from PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1f0::17) by PR0P264MB4058.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:259::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.10; Tue, 2 Aug 2022 15:59:47 +0000 Received: from PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM ([fe80::6839:d397:ccc4:5f03]) by PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM ([fe80::6839:d397:ccc4:5f03%6]) with mapi id 15.20.5482.016; Tue, 2 Aug 2022 15:59:46 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [PATCH many] add cluster-wide hardware device mapping Thread-Index: AQHYm2VmHgbDjPAuJk6Ri3I3XB4xBq2b2vmA Date: Tue, 2 Aug 2022 15:59:46 +0000 Message-ID: <5f273fac-cc2a-e9e3-16a4-a3c02a137b73@groupe-cyllene.com> References: <20220719114639.3035048-1-d.csapak@proxmox.com> In-Reply-To: <20220719114639.3035048-1-d.csapak@proxmox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.1.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 19814aa8-2838-401c-0bda-08da74a005cc x-ms-traffictypediagnostic: PR0P264MB4058:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: y+FKtWr6xTxk27VbLUzSg78BssVh0goh/TsIV0gXSpPrXKgIIz9JcOpKhVCKhUfF9k9ImU+hticIAW4GjHc3bNeyQl49xNosWpSY+Itek9ed/95clMCQXWWDs3iwdKxVdEM9AyE4qCJM3YSSglIEhDkaMhD8i6cCOv//ZRJdWB/aayE/y10NklaQgizVkXUUQe9qn+jh+C3w+nPrNuoFRZEh2TVrRV2JDdmwSo/IcV9rNnruX7iWobP1+d8sJBU8xDM8z2rKrclTUugVgd+HvFLjcVqQuuwqsDBq5Tg12sTZo94YmMLKC3M5m+yJTw0FKO8sydxnvpNsIjxH950AE5fLO8Lwq6OGhbUYZDibBQ/sjnRV373QLF4/woVrftV/y8j0ydctpQNULH7KR0MNUqCvcGyYBAaGGAN4pAlMroGmFeRU/zbGFNOhHQPUq9iamFPU89G2JvjO7+VvEqyirJbnM0uLe+kgQU7BFuhIaDhQ3t0c6vULrzQLrUugu/cw/h49zQ45KnhIl4Nj1mb0ncxV+ocfZiAB+mR+VEXEJYq5gUVoUKLy7Iq72mS5oNkDSg7/4clxfThZi7iFOibDkh3OuoSrvSwpLkreFRxV9HolPcftbE/G8fny12GmYrLvIOX/RpvGtgpXz/4Jo6VCYIYZ9vjWX0siQ7mkWIq4CYIWQ0WLWTFCH2nlvuNKkeT+wFJGlDfR8hHeYy0gqZsCYXaHUtSYEcSB3vdtjl+0Q/t7EhxI+8pbzyEThPpUQ/xBYStWVWTQMhl5lzZke7PEdKtZvpbaGVqW5G76ll/jFaKi+e+ARtZFUT4s2PbYQiueoOYfpP1nghn7lQ+1fOHHLH6SnB2Qs8q0lSTeanIzuJU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(4636009)(136003)(346002)(376002)(396003)(366004)(39860400002)(8936002)(91956017)(66556008)(66946007)(66476007)(71200400001)(8676002)(76116006)(66446008)(478600001)(64756008)(186003)(38100700002)(5660300002)(6486002)(38070700005)(66574015)(31696002)(19627235002)(316002)(86362001)(6916009)(6506007)(41300700001)(31686004)(83380400001)(2616005)(2906002)(36756003)(26005)(6512007)(122000001)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MHRKdWF6MUM4ZGZmSHQzRU4rZVVERG5kNWZ1bmlwVXQxOGxWWm91SGlMSGpv?= =?utf-8?B?R3dEekRpcHJUY1V1UG45N0ZyamR4VVFPOHZ1ZllnNXZTSHRKSWZld2lRVFpk?= =?utf-8?B?UktHdkJXUTdRaURwTUpMNnBSMVBVNmlMKzYyZDBZZEJHM2xydlhOUzYxTTBq?= =?utf-8?B?NUJtaG9EVW9nbC84OVc0T3hlc3ZRSkRwM1owUWlDaG9adktZWDg3WUt4U1hK?= =?utf-8?B?dThwNzE4aHJFUnpOMmdvY1ZpeXY2N2lXb0lBLys2Ri9wTE1Mb3lJYXdtOGtK?= =?utf-8?B?b2VwekFvejh3V2hEbkZjZVBNQXdOQVVWWFdQY0FBanZLL05JbU04eEJFOVVl?= =?utf-8?B?STlKeVVyd0c1YmhLRnluSUp5cEZCR3Y3a3V2ZVVIOVptdEJPdXVSbDk4K3Mx?= =?utf-8?B?aWpKVzVMeFRna0xHSGxjQkJkaFhCTTBIVGtzVkY3aUdyVUlKZUYycGhGNGIr?= =?utf-8?B?VDVPY3N5TkFCT0dxU3VwV1J3L2JQS2granhoWmp4SUNaNmJEVjB3NmRCODJH?= =?utf-8?B?MkJsZEhnSlFDdEJzTFNrT3BZTTllcElxTDlsWE9LdHUzN0lGNXMvd2FUU2Mx?= =?utf-8?B?K1V2TkZwZmkycjZKd1Uza2xFdDhnRXdteTNoQnFzQ25yOHZSOUJvMGd0UUFh?= =?utf-8?B?amhBQTZTdWMvVnhVazVMTjJPWDZwcEZOSTRRRk43QWhCekRoTVZkUzFPTXdV?= =?utf-8?B?eGhuckw0SEdSSXdVWFh6RlpDc1NlMmtnSmRpT2c2cmgwSjUwNmN6ZXVKRDh6?= =?utf-8?B?K3hXUnp1WUVHOTY1cm10SGkveXVINmx0ckV1Uk00L1FXZzQzbk8wSTdKVjk2?= =?utf-8?B?ZEoyU3BBd0ZiWVluenROOUR6djM5RmF4WTl1Y0RDVjg0RDdSYndhWWNaWXRW?= =?utf-8?B?d25TLzZ2aUxDcHZtZWpsZ3FDWkxvS2FwUmI5b2JWSHdlbDJVQ3YyRStLc25s?= =?utf-8?B?NjNSdmVwN2RseXY4MzEvM1NaenJ3RnhEWEErQzVVbUhDcXAxMXdNbzNmdWFG?= =?utf-8?B?NHVBRkRMRWFpcVA2TytQQlVDRExKL205WTd5aFpnNVl3dHRYbGE5STRoUkhx?= =?utf-8?B?ZE5jTXN2NEpiYk9mUEczTDFTL0RTbWgzYjY1NjVqbGxuenhkOFdETGViaG56?= =?utf-8?B?S0tlLy9mVmtEbzIvek9LcURVOERLTHVYYlNXM2ttTCtEay9LZnllVVNzcHFU?= =?utf-8?B?RjhmMWFLTDVMeHhna0Vram9oa2Z1Nldib3JDcEFHKzRpaTdsNUljWmxRMG00?= =?utf-8?B?RndlQW9KeU1aME1rT1ZuaGs4N3NKUXJPNEpta2Z2clMyaGg5ZGtjdmd0ci9Z?= =?utf-8?B?MEUzZS9FQTF4U0xCSTZyUkhIOHFJODJ2bFdJc3UxMTVKZDhaQzNYdXFpYk5o?= =?utf-8?B?bFcwVEZ5VDE0eWJXa25Udnc2Nzl2NURvSEtDZEIzNDlJdFhpT1Z6bzEyeUFk?= =?utf-8?B?dFNpb1d1bkdnUk9wRG9VK3JkYjJkWEVLdU13L2N4YnJVV0V1VGFWZW1WMlVH?= =?utf-8?B?akRCWFFscHMzVEV2M0F6ckZGbXBJR000ek9uYThHMHNpaE9NMWIwR1FxbCtl?= =?utf-8?B?Vi9sb1lxWXM1NUNFaXlqYjN1ektBcWM1cldXZDBuS1B5elRNcEhRa3U5Y0tI?= =?utf-8?B?Q2xiWlJ5WllQWDh0RmUyNUNzaUNkRmxydTluK2hsQ08vbUdjNmJibVlhVWpi?= =?utf-8?B?eFJMNkovN2thd1IwTGNRSnlXSkhTNmk2anJDMnJDT200RjU4eG80N2ZJclpo?= =?utf-8?B?azlibndaYVZwNkE1dU1ySWRpYXd5TWZQYjU2TnZWSWpJVTZaeWRlYXp1bHJa?= =?utf-8?B?aFQxVlg3MzJMVzNxS3VDSWlQYWMxUHRkbVhLTnNwWVdBYUkrME55MTFHSXVF?= =?utf-8?B?UDUrWWtOaHI2UGlLa0ZlSFlVd3FaM2hVeXZ5ZFk5Q3lHRzUzbEIzNnNacmla?= =?utf-8?B?Q0RiZE1FdUhVcGJ0amZBTkVyWGpLV08xZjhrRVZIWEhNYlpSbHI2VG12bXlQ?= =?utf-8?B?dk82SGxNK3hSNEtRS1ZBSFJwK05IeTlxaFpmdU1hZWllYzg0dzlCcmV5d2V6?= =?utf-8?B?clJCSDZrYWdmZ1lZUVRxQkdLNXhBZ2tHVkJ4ZjdQcEtCZDdLeVZ4bGpidTc3?= =?utf-8?B?WkNGcHBPQlR3cjQwVDA1a1pQV3VWdXFUdGVaekdjd1Q5QWlXY0hhNTRpKzFt?= =?utf-8?Q?8rvWryt1SyD1Mew9hcRnNSBXOhScFM6L3N6gCcunQ+Vh?= Content-Type: text/plain; charset="utf-8" Content-ID: <3CE8E4893763D7448C94AE8E34F9AD05@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAZP264MB2494.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 19814aa8-2838-401c-0bda-08da74a005cc X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2022 15:59:46.6881 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WgPwUZlvZp+Shsw8TNIp1Ma4frvoWCD+201qr5kQeaY+jO8m9Z9HyX0+Bvnxk2NjCIZGc0vpNPfK+AdXSm/DYj4jb00ebUc69e7QZA3lYylwzl06V84XcBRpRpr/ZG9h X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB4058 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 AWL -0.092 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain NICE_REPLY_A -0.001 Looks like a legit reply (A) POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [qemu.pm, groupe-cyllene.com, qemumigrate.pm, groupecyllene.onmicrosoft.com, rpcenvironment.pm, pci.pm, mapping.pm, cluster.pm, usb.pm, hardware.pm, qemuserver.pm, accesscontrol.pm, hardwaremap.pm] Subject: Re: [pve-devel] [PATCH many] add cluster-wide hardware device mapping X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2022 15:59:57 -0000 bWFueSB0aGFua3MgZm9yIHRoaXMgcGF0Y2ggc2VyaWVzLg0KDQpJIGhhZCBhIHN0dWRlbnQgYXQg dGhlIHByZXZpb3VzIHRyYWluaW5nIG5lZWRpbmcgdGhpcyBmZWF0dXJlLg0KDQpJJ2xsIGJlIHVz ZWZ1bGwgaW4gdGhlIGZ1dHVyZSB0byBnZXQgbWRldiB2Z3B1IGxpdmUgbWlncmF0aW9uIChJdCdz IG5vdCANCnlldCB3b3JraW5nIHdpdGggcWVtdSA2LjIpDQoNCg0KSSdsbCB0cnkgdG8gdGVzdCBp dCBuZXh0IHdlZWsgd2hlbiBJJ2xsIGJhY2sgZnJvbSBob2xpZGF5Lg0KDQoNCg0KTGUgMTkvMDcv MjIgw6AgMTM6NDYsIERvbWluaWsgQ3NhcGFrIGEgw6ljcml0wqA6DQo+IHRoaXMgc2VyaWVzIGFp bXMgdG8gYWRkIGEgY2x1c3Rlci13aWRlIGRldmljZSBtYXBwaW5nIGZvciBwY2kgYW5kIHVzYiBk ZXZpY2VzLg0KPiBzbyB0aGF0IGFuIGFkbWluIGNhbiBjb25maWd1cmUgYSBkZXZpY2UgdG8gYmUg YXZhaWxibGUgZm9yIG1pZ3JhdGlvbiBhbmQNCj4gY29uZmlndXJpbmcgZm9yIHVzZXMgdGhhdCBh cmUgbm9uLXJvb3QNCj4NCj4gYnVpbHQtaW4gYXJlIHNvbWUgYWRkaXRpb25hbCBzYWZldHkgY2hl Y2tzIGluIGNvbnRyYXN0IHRvIGN1cnJlbnQNCj4gcGFzc3Rocm91Z2gsIGUuZy4gaWYgcGNpIGFk ZHJlc3NlcyBzaGlmdCwgd2l0aCB0aGUgbWFwcGluZw0KPiB3ZSBjYW4gZGV0ZWN0IHRoYXQgYW5k IHByZXZlbnQgYSB2bSB0byBib290IHdpdGggdGhlIHdyb25nIGRldmljZQ0KPiAoaW4gbW9zdCBj YXNlcywgdGhlcmUgYXJlIHNvbWUgZWRnZSBjYXNlcyB3aGVuIG9uZSBoYXMgbXVsdGlwbGUNCj4g b2YgdGhlIHNhbWUgZGV2aWNlLCBlLmcuIHRoZSBzYW1lIGdwdSwgdGhhdCB3ZSBjYW5ub3QgZGV0 ZWN0KQ0KPg0KPiBhIGZldyBwYWluIHBvaW50cyB0aGF0IGFyZSBwcm9iYWJseSB3b3J0aCBkaXNj dXNzaW5nL3RoaW5raW5nIGFib3V0Og0KPiAoaSBkaWQgbm90IHJlYWxseSBnZXQgZmVlZGJhY2sg b24gbXkgbGFzdCBSRkMgb24gdGhpcykNCj4gKiB0aGUgY29uZmlnIGZvcm1hdA0KPiAgICAgIGkg Y2hhbmdlZCB0byBhIGpzb24gYmFja2VkIGNvbmZpZywgc2luY2UgaXQgbWFrZXMgaGFuZGxpbmcg aXQgbXVjaA0KPiAgICAgIGVhc2llciAoc2luY2Ugd2UgaGF2ZSBhIGlkIC0+IG5vZGVuYW1lcyAt PiBtYXBwaW5nIHJlbGF0aW9uIHRoYXQNCj4gICAgICB3ZSBjYW5ub3QgZWFzaWx5IHJlcHJlc2Vu dCB3aXRoIGEgc2VjdGlvbiBjb25maWcpLiBzb21lDQo+ICAgICAgKHNtYWxsKSBwYXJ0cyBhcmUg d3JpdHRlbiBmcm9tIHNjcmF0Y2ggKHVwZGF0ZS9jcmVhdGVTY2hlbWEgZm9yDQo+ICAgICAgaW5z dGFuY2UpIGJ1dCB3ZSB3b3VsZCBoYXZlIHRvIGRvIHRoYXQgYW55d2F5DQo+DQo+ICAgICAgaWYg d2FudGVkIGkgY2FuIG1ha2UgdGhlIHNlY3Rpb24gY29uZmlnIHdvcmssIGJ1dCBpdCBtYWtlcyB0 aGUNCj4gICAgICBoYW5kbGluZyBxdWl0ZSBhIGJpZyB1Z2xpZXIgKGZvciBleGFtcGxlLCB3ZSBo YXZlIG5hbWUgdGhlIHVzYi9wY2kNCj4gICAgICBwcm9wZXJ0aWVzIGRpZmZlcmVudGx5IGJlY2F1 c2UgdGhlIHNlY3Rpb24gY29uZmlnIGNhbm5ub3QgaGF2ZQ0KPiAgICAgIGRpZmZlcmVudCBmb3Jt YXRzIGZvciBkaWZmZXJlbnQgc2VjdGlvbnMpDQo+DQo+ICogZ2V0dGluZyB0aGUgY2x1c3RlciB3 aWRlIGluZm8NCj4gICAgICB0aGUgY29uZmlndXJpbmcgb2YgbWFwcGluZ3MgaXMgYWxsIGRvbmUg dmlhIG5vZGUgc3BlY2lmaWMgYXBpIHBhdGhzLA0KPiAgICAgIGJ1dCBpIGNyZWF0ZWQgYSBjbHVz dGVyIHdpZGUgYXBpIHBhdGggdGhhdCByZXR1cm5zIHRoZSBvdmVyYWxsDQo+ICAgICAgc3RydWN0 dXJlIGZvciBlYXN5IGNvbnN1bXB0aW9uIGZyb20gdGhlIGd1aS4gdG8gZ2V0IHRoZSByZW1haW5p bmcNCj4gICAgICBkYXRhIGZyb20gdGhlIG90aGVyIG5vZGVzLCBpIGxldCB0aGUgZ3VpIG1ha2Ug YW4gYXBpIGNhbGwNCj4gICAgICBmb3IgZWFjaCBub2RlLg0KPg0KPiAgICAgIGFsdGVybmF0aXZl bHkgd2UgY291bGQgZGlzdHJpYnV0ZSB0aGUgbmVjZXNzYXJ5IGluZm8gdmlhIHBteGNmcywNCj4g ICAgICBidXQgd2UnZCBoYXZlIHRvIGJyb2FkY2FzdCBiYXNpY2FsbHkgdGhlIHdob2xlIHBjaSBs aXN0aW5nIGZvciBhbGwNCj4gICAgICBub2RlcyBpbiBhIHJlbGF0aXZlbHkgc2hvcnQgaW50ZXJ2 YWwsIG9ubHkgZm9yIGl0IHRvIGJlIGV4dHJlbWx5DQo+ICAgICAgc2VsZG9tbHkgdXNlZCAod2hl biBsb29raW5nIGF0IHRoZSBjbHVzdGVyIHdpZGUgaGFyZHdhcmUNCj4gICAgICBtYXBwaW5ncy4u LikNCj4NCj4gKiBzb21lIG1pbm9yIHRoaW5ncyB0aGF0IGNhbiBiZSBpbXByb3ZlZCBhcmUgaG93 IHRoZSBndWkgbG9va3MvYmVoYXZlczoNCj4gICAgICAtICdhZGQgbmV3JyBhbmQgJ2FkZCBtYXBw aW5nJyBhcmUgcHJvYmFibHkgdG8gc2ltaWxhciwgYnV0IGkgZGlkDQo+ICAgICAgICBub3QgY29t ZSB1cCB3aXRoIHJlYWxseSBiZXR0ZXIgYWx0ZXJuYXRpdmVzDQo+ICAgICAgLSBpIGZpbmQgdGhl IHRyZWUgb2YgZW50cnkgLT4gbm9kZS1tYXBwaW5ncyBuaWNlLCBidXQgdGhlcmUgbWF5IGJlDQo+ ICAgICAgICBhbiBldmVuIGJldHRlciByZXByZXNlbnRhdGlvbj8NCj4gICAgICAtIHBvc2l0aW9u IGluIGNsdXN0ZXIgbWVudSBpcyBwcm9iYWJseSBub3Qgb3B0aW1hbA0KPiAgICAgICAgKGJ1dCB3 aGVyZSB0byBwdXQgaXQ/KQ0KPg0KPiBjaGFuZ2VzIGZyb20gdGhlIHJmYzoNCj4gKiBuZXcgY2x1 c3RlciB3aWRlIGd1aSBpbnN0ZWFkIG9mIG5vZGUtbG9jYWwgb25lIChyZW1vdmVkIHRoYXQsIHNp bmNlDQo+ICAgIGl0J3Mgbm90IG5lY2Vzc2FyeSB3aGVuIHdlIGhhdmUgYSBjbHVzdGVyLXdpZGUg b25lKQ0KPiAqIHVzZXMganNvbiBpbnN0ZWFkIG9mIGEgc2VjdGlvbiBjb25maWcNCj4gKiBhcGkg aXMgcXVpdGUgZGlmZmVyZW50IG92ZXJhbGwsIGkgc3BsaXQgdGhlIHR5cGUgaW50byBpdHMgb3du IGxldmVsDQo+ICAgIGZvciBjb25maWd1cmluZywgc2ltaWxhciB0byB3aGF0IHdlIGRvIGluIHBi cw0KPiAgICAoZS5nLiAvbm9kZXMvTk9ERU5BTUUvaGFyZHdhcmUvbWFwcGluZy91c2IvKQ0KPiAq IGZpeGVkIHF1aXRlIHNvbWUgYnVncyB0aGUgcmZjIGhhZA0KPiAqIGFkZGVkIHBhdGNoIGZvciBo YW5kbGluZyB0aGUgZ3VpIHdpdGggbGltaXRlZCBwZXJtaXNzaW9ucyBiZXR0ZXINCj4gKiBhZGRl ZCBhICdjb21tZW50JyBmaWVsZCBmb3IgbWFwcGluZ3MNCj4NCj4gZGVwZW5kZW5jaWVzIGFyZSBv ZmM6DQo+DQo+ICAgICAgbWFuYWdlciBkZXBlbmRzIG9uIHFlbXUtc2VydmVyLHB2ZS1hY2Nlc3Mt Y29udHJvbCxwdmUtY29tbW9uDQo+ICAgICAgcWVtdS1zZXJ2ZXIgZGVwZW5kcyBvbiBwdmUtYWNj ZXNzLWNvbnRyb2wscHZlLWNvbW1vbg0KPiAgICAgIHB2ZS1jb21tb24gZGVwZW5kcyBvbiBwdmUt Y2x1c3Rlcg0KPg0KPiBwdmUtY2x1c3RlcjoNCj4NCj4gRG9taW5payBDc2FwYWsgKDEpOg0KPiAg ICBhZGQgbm9kZXMvaGFyZHdhcmUtbWFwLmNvbmYNCj4NCj4gICBkYXRhL1BWRS9DbHVzdGVyLnBt IHwgMSArDQo+ICAgZGF0YS9zcmMvc3RhdHVzLmMgICB8IDEgKw0KPiAgIDIgZmlsZXMgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspDQo+DQo+IHB2ZS1hY2Nlc3MtY29udHJvbDoNCj4NCj4gRG9taW5p ayBDc2FwYWsgKDIpOg0KPiAgICBQVkUvQWNjZXNzQ29udHJvbDogYWRkIEhhcmR3YXJlLiogcHJp dmlsZWdlcyBhbmQgL2hhcmR3YXJlLyBwYXRocw0KPiAgICBQVkUvUlBDRW52aXJvbm1lbnQ6IGFk ZCBoZWxwZXIgZm9yIGNoZWNraW5nIGh3IHBlcm1pc3Npb25zDQo+DQo+ICAgc3JjL1BWRS9BY2Nl c3NDb250cm9sLnBtICB8IDEzICsrKysrKysrKysrKysNCj4gICBzcmMvUFZFL1JQQ0Vudmlyb25t ZW50LnBtIHwgIDkgKysrKysrKysrDQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25z KCspDQo+DQo+IHB2ZS1jb21tb246DQo+DQo+IERvbWluaWsgQ3NhcGFrICgxKToNCj4gICAgYWRk IFBWRS9IYXJkd2FyZU1hcA0KPg0KPiAgIHNyYy9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKw0K PiAgIHNyYy9QVkUvSGFyZHdhcmVNYXAucG0gfCAzNjMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gICAyIGZpbGVzIGNoYW5nZWQsIDM2NCBpbnNlcnRpb25zKCsp DQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9QVkUvSGFyZHdhcmVNYXAucG0NCj4NCj4gcWVt dS1zZXJ2ZXI6DQo+DQo+IERvbWluaWsgQ3NhcGFrICg3KToNCj4gICAgUFZFL1FlbXVTZXJ2ZXI6 IGFsbG93IG1hcHBlZCB1c2IgZGV2aWNlcyBpbiBjb25maWcNCj4gICAgUFZFL1FlbXVTZXJ2ZXI6 IGFsbG93IG1hcHBlZCBwY2kgZGV2aWNlZCBpbiBjb25maWcNCj4gICAgUFZFL0FQSTIvUWVtdTog YWRkIHBlcm1pc3Npb24gY2hlY2tzIGZvciBtYXBwZWQgdXNiIGRldmljZXMNCj4gICAgUFZFL0FQ STIvUWVtdTogYWRkIHBlcm1pc3Npb24gY2hlY2tzIGZvciBtYXBwZWQgcGNpIGRldmljZXMNCj4g ICAgUFZFL1FlbXVTZXJ2ZXI6IGV4dGVuZCAnY2hlY2tfbG9jYWxfcmVzb3VyY2VzJyBmb3IgbWFw cGVkIHJlc291cmNlcw0KPiAgICBQVkUvQVBJMi9RZW11OiBtaWdyYXRlIHByZWNvbmRpdGlvbnM6 IHVzZSBuZXcgY2hlY2tfbG9jYWxfcmVzb3VyY2VzDQo+ICAgICAgaW5mbw0KPiAgICBQVkUvUWVt dU1pZ3JhdGU6IGNoZWNrIGZvciBtYXBwZWQgcmVzb3VyY2VzIG9uIG1pZ3JhdGlvbg0KPg0KPiAg IFBWRS9BUEkyL1FlbXUucG0gICAgICB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0NCj4gICBQVkUvUWVtdU1pZ3JhdGUucG0gICAgfCAgMTMgKysrKy0NCj4g ICBQVkUvUWVtdVNlcnZlci5wbSAgICAgfCAgMzggKysrKysrKysrKysrKystDQo+ICAgUFZFL1Fl bXVTZXJ2ZXIvUENJLnBtIHwgIDIwICsrKysrKystDQo+ICAgUFZFL1FlbXVTZXJ2ZXIvVVNCLnBt IHwgIDIxICsrKysrKystDQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAxODUgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pDQo+DQo+IHB2ZS1tYW5hZ2VyOg0KPg0KPiBEb21pbmlrIENzYXBhayAo MTIpOg0KPiAgICBQVkUvQVBJMi9IYXJkd2FyZTogYWRkIE1hcHBpbmcucG0NCj4gICAgUFZFL0FQ STIvQ2x1c3RlcjogYWRkIEhhcmR3YXJlIG1hcHBpbmcgbGlzdCBhcGkgY2FsbA0KPiAgICB1aTog Zm9ybS9VU0JTZWxlY3RvcjogbWFrZSBpdCBtb3JlIGZsZXhpYmxlIHdpdGggbm9kZW5hbWUNCj4g ICAgdWk6IGZvcm06IGFkZCBQQ0lNYXBTZWxlY3Rvcg0KPiAgICB1aTogZm9ybTogYWRkIFVTQk1h cFNlbGVjdG9yDQo+ICAgIHVpOiBxZW11L1BDSUVkaXQ6IHJld29yayBwYW5lbCB0byBhZGQgYSBt YXBwZWQgY29uZmlndXJhdGlvbg0KPiAgICB1aTogcWVtdS9VU0JFZGl0OiBhZGQgJ21hcHBlZCcg ZGV2aWNlIGNhc2UNCj4gICAgdWk6IGFkZCB3aW5kb3cvUENJRWRpdDogZWRpdCB3aW5kb3cgZm9y IHBjaSBtYXBwaW5ncw0KPiAgICB1aTogYWRkIHdpbmRvdy9VU0JFZGl0OiBlZGl0IHdpbmRvdyBm b3IgdXNiIG1hcHBpbmdzDQo+ICAgIHVpOiBhZGQgZGMvSGFyZHdhcmVWaWV3OiBhIENSVUQgaW50 ZXJmYWNlIGZvciBoYXJkd2FyZSBtYXBwaW5nDQo+ICAgIHVpOiB3aW5kb3cvTWlncmF0ZTogYWxs b3cgbWFwcGVkIGRldmljZXMNCj4gICAgdWk6IGltcHJvdmUgcGVybWlzc2lvbiBoYW5kbGluZyBm b3IgaGFyZHdhcmUNCj4NCj4gICBQVkUvQVBJMi9DbHVzdGVyLnBtICAgICAgICAgICAgICAgICB8 ICAgOCArDQo+ICAgUFZFL0FQSTIvQ2x1c3Rlci9IYXJkd2FyZS5wbSAgICAgICAgfCAxMTcgKysr KysNCj4gICBQVkUvQVBJMi9DbHVzdGVyL01ha2VmaWxlICAgICAgICAgICB8ICAgMSArDQo+ICAg UFZFL0FQSTIvSGFyZHdhcmUucG0gICAgICAgICAgICAgICAgfCAgIDYgKw0KPiAgIFBWRS9BUEky L0hhcmR3YXJlL01ha2VmaWxlICAgICAgICAgIHwgICAxICsNCj4gICBQVkUvQVBJMi9IYXJkd2Fy ZS9NYXBwaW5nLnBtICAgICAgICB8IDcwOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ ICAgd3d3L21hbmFnZXI2L01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDUgKw0KPiAgIHd3dy9t YW5hZ2VyNi9kYXRhL1Blcm1QYXRoU3RvcmUuanMgIHwgICAxICsNCj4gICB3d3cvbWFuYWdlcjYv ZGMvQ29uZmlnLmpzICAgICAgICAgICB8ICAxOCArLQ0KPiAgIHd3dy9tYW5hZ2VyNi9kYy9IYXJk d2FyZVZpZXcuanMgICAgIHwgMzE0ICsrKysrKysrKysrKw0KPiAgIHd3dy9tYW5hZ2VyNi9mb3Jt L1BDSU1hcFNlbGVjdG9yLmpzIHwgIDk1ICsrKysNCj4gICB3d3cvbWFuYWdlcjYvZm9ybS9QQ0lT ZWxlY3Rvci5qcyAgICB8ICAxOCArLQ0KPiAgIHd3dy9tYW5hZ2VyNi9mb3JtL1VTQk1hcFNlbGVj dG9yLmpzIHwgIDczICsrKw0KPiAgIHd3dy9tYW5hZ2VyNi9mb3JtL1VTQlNlbGVjdG9yLmpzICAg IHwgIDMzICstDQo+ICAgd3d3L21hbmFnZXI2L3FlbXUvSGFyZHdhcmVWaWV3LmpzICAgfCAgMTcg Ky0NCj4gICB3d3cvbWFuYWdlcjYvcWVtdS9QQ0lFZGl0LmpzICAgICAgICB8IDIzMSArKysrKyst LS0NCj4gICB3d3cvbWFuYWdlcjYvcWVtdS9VU0JFZGl0LmpzICAgICAgICB8ICAzNCArLQ0KPiAg IHd3dy9tYW5hZ2VyNi93aW5kb3cvTWlncmF0ZS5qcyAgICAgIHwgIDM3ICstDQo+ICAgd3d3L21h bmFnZXI2L3dpbmRvdy9QQ0lFZGl0LmpzICAgICAgfCAzMjMgKysrKysrKysrKysrKw0KPiAgIHd3 dy9tYW5hZ2VyNi93aW5kb3cvVVNCRWRpdC5qcyAgICAgIHwgMjQ4ICsrKysrKysrKysNCj4gICAy MCBmaWxlcyBjaGFuZ2VkLCAyMTg1IGluc2VydGlvbnMoKyksIDEwMyBkZWxldGlvbnMoLSkNCj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgUFZFL0FQSTIvQ2x1c3Rlci9IYXJkd2FyZS5wbQ0KPiAgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBQVkUvQVBJMi9IYXJkd2FyZS9NYXBwaW5nLnBtDQo+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IHd3dy9tYW5hZ2VyNi9kYy9IYXJkd2FyZVZpZXcuanMNCj4gICBjcmVhdGUg bW9kZSAxMDA2NDQgd3d3L21hbmFnZXI2L2Zvcm0vUENJTWFwU2VsZWN0b3IuanMNCj4gICBjcmVh dGUgbW9kZSAxMDA2NDQgd3d3L21hbmFnZXI2L2Zvcm0vVVNCTWFwU2VsZWN0b3IuanMNCj4gICBj cmVhdGUgbW9kZSAxMDA2NDQgd3d3L21hbmFnZXI2L3dpbmRvdy9QQ0lFZGl0LmpzDQo+ICAgY3Jl YXRlIG1vZGUgMTAwNjQ0IHd3dy9tYW5hZ2VyNi93aW5kb3cvVVNCRWRpdC5qcw0KPg0KDQo=