From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35652C35641 for ; Fri, 21 Feb 2020 09:20:54 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EA968206EF for ; Fri, 21 Feb 2020 09:20:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="sG7e3mQF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EA968206EF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j54U4-0000x6-Sa; Fri, 21 Feb 2020 09:20:32 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j54U3-0000x0-IQ for xen-devel@lists.xenproject.org; Fri, 21 Feb 2020 09:20:31 +0000 X-Inumbo-ID: 665ef01a-548b-11ea-b0fd-bc764e2007e4 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown [40.107.8.97]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 665ef01a-548b-11ea-b0fd-bc764e2007e4; Fri, 21 Feb 2020 09:20:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SW3c0ZcbcDBsNha3b7DSRfO8eAoooSLiwTZbGXell4xNtKlxq+BCbBgRKD0KjXIkE2u7VY9b7fRXrjHlyqjGhKXEpqCBi3hIk11/r1B4tBWcKuZbV4BHfEtaySo8cRJPmqd/Ri357sSVlmsynIgSyLpHKX26YRiTTOXOpmFuOvURRnAS4/V7HWLYeL5QF+z928qMFU80gxsKM0V2YUlE0JfRdTTPFhFEsxmIX2Pwq9h3Qnh/o0mfai3QqdUyLUSpsnal+NZYT8bai2wCz29mKPnfHVgYqvwJOMzD6WxKUTHukfSvaUmmGJ6yVNhf/dBA7HHPsUxQdgUFqxLIroimjw== 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=B8e8mK6l/eNKcbrCSO+7HgeScRc2NkPJymKlNWEHxEY=; b=mCilWxW8QzRPjE0OTJrNZLpjmuooSXw03aoJSgRGrBCTF/l3bZTvl9OuzpxiObVdmjzWCFrdOMTfsQrSUOBMM+ostjeyc+dYy/Vq7cVxkY+rywgBEBWtJPZrDIwatHK1tTOgszNi1l15wq9imt0PxCh4JqXV1XYihgvnMyn+Hy6mw2t8wXZ2Y+Dx5gf7SMEQ/ss+mGs+bhIyjbO/kwAdzZcO+WNKZLgqPAitD/Ng3ItSw44zkTJcKxb8YDdTp6oOuDDBpsdcVpaGiKnPwjBkGwdiofAmGmRQZQtoGCRS2InoOp1WRrWOksByiXNb+qtIS/nZ/1ofUumO/TM/X8nkBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B8e8mK6l/eNKcbrCSO+7HgeScRc2NkPJymKlNWEHxEY=; b=sG7e3mQFCO8/+RxamXvX52FVYBL3R7Tnx0bDGJIv6AwWUEzsKUcedgCV1HgebN9hGWT0v+M5YoqzZSpdZFkL4E+TNpo1D/tgOfr3+Gs4RJ87709afvgZu46VZVvlDm6Y8FqXOilyiIcelQku8VasNfs6lMktQp8pC6mRJ58HUis= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=vsementsov@virtuozzo.com; Received: from AM6PR08MB4423.eurprd08.prod.outlook.com (20.179.7.140) by AM6PR08MB2965.eurprd08.prod.outlook.com (52.135.165.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.27; Fri, 21 Feb 2020 09:20:26 +0000 Received: from AM6PR08MB4423.eurprd08.prod.outlook.com ([fe80::e05a:63af:818c:b664]) by AM6PR08MB4423.eurprd08.prod.outlook.com ([fe80::e05a:63af:818c:b664%4]) with mapi id 15.20.2750.016; Fri, 21 Feb 2020 09:20:26 +0000 To: Markus Armbruster References: <20200131130118.1716-1-vsementsov@virtuozzo.com> <20200131130118.1716-2-vsementsov@virtuozzo.com> <87d0a88k6d.fsf@dusky.pond.sub.org> From: Vladimir Sementsov-Ogievskiy X-Tagtoolbar-Keys: D20200221122023695 Message-ID: <7856fcbb-8c01-aba3-a11b-63058c117362@virtuozzo.com> Date: Fri, 21 Feb 2020 12:20:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 In-Reply-To: <87d0a88k6d.fsf@dusky.pond.sub.org> Content-Language: en-US X-ClientProxiedBy: HE1P192CA0018.EURP192.PROD.OUTLOOK.COM (2603:10a6:3:fe::28) To AM6PR08MB4423.eurprd08.prod.outlook.com (2603:10a6:20b:bf::12) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [172.16.24.200] (185.231.240.5) by HE1P192CA0018.EURP192.PROD.OUTLOOK.COM (2603:10a6:3:fe::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Fri, 21 Feb 2020 09:20:25 +0000 X-Tagtoolbar-Keys: D20200221122023695 X-Originating-IP: [185.231.240.5] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 494ead8a-9763-42dd-0ae6-08d7b6af495f X-MS-TrafficTypeDiagnostic: AM6PR08MB2965: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-Forefront-PRVS: 0320B28BE1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(366004)(39840400004)(136003)(189003)(199004)(31686004)(52116002)(54906003)(16576012)(478600001)(316002)(5660300002)(36756003)(7416002)(86362001)(956004)(66556008)(8676002)(6916009)(8936002)(31696002)(6486002)(2616005)(66946007)(16526019)(66476007)(81166006)(186003)(4326008)(81156014)(2906002)(26005); DIR:OUT; SFP:1102; SCL:1; SRVR:AM6PR08MB2965; H:AM6PR08MB4423.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ltmDJz6WYRGafhGew6UanNoaKup5VU4uIGU8zNhNLHdzNfqLiFMXybjt0pvFKhk/BgVrxm/rKo0XV6CcMrU8P+0iIP2fdJR64J358PZD0HWlyqF5Gi14BhaZmuXZyHlLt/q1cc3CTRrpRYkYikm8YV9nc5sedIiLrfh1/f5m3s9trJ2Ab48/QyjbTe5TisEbCmpuFz2RKn2szwMlAn598YnTF7y1kP4BIQgvpOleomJWXf2LTWmOkluSJpuxoC4BV2hG9wrodcgueIARKhOe2x2A+ZOQLIIRgzClTtZe0dh3auLPqW/u6WMBncKmqADoUku32nxuSZAyPRo4Sh31KRc9R3Nhuv+5Fcvbmu8Pi2NhpiqMQjcrNmK2xxsr1OgZY6Nb+uR9SuHk2AB51fzaxCw6siOslNJE+kyiS+ZNfuvVhKWZZ5SW78a/8OsSah/Y X-MS-Exchange-AntiSpam-MessageData: 8ny6+Jv4tU+b1a9BoNyG8Ldv8la9SciOsNGqfeq/xDJUEKlnlY6zB4CUXQhQbn78lynoLdj4kShmE1gZ7JaBhuSn4r7xK+VX+H+1ET995I/I/cQL1cBQCKDmbtP/1SFRHz6TSynWyOvwAKz/81ZMOw== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 494ead8a-9763-42dd-0ae6-08d7b6af495f X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2020 09:20:26.5220 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NthSav3gfmIJms5I2wIwth7MNgGVXhAcXHjoiEExrvNRq5BqTacTfRb1A+0eT7EweC0KIgaU6Riw8y0BEKzYlb1hSXKeYdZeZZt4tu8vr6A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2965 Subject: Re: [Xen-devel] [PATCH v7 01/11] qapi/error: add (Error **errp) cleaning APIs X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Stefano Stabellini , Michael Roth , qemu-block@nongnu.org, Paul Durrant , Laszlo Ersek , qemu-devel@nongnu.org, Max Reitz , Greg Kurz , Gerd Hoffmann , Stefan Hajnoczi , Anthony Perard , xen-devel@lists.xenproject.org, =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , Stefan Berger Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" MjEuMDIuMjAyMCAxMDozOCwgTWFya3VzIEFybWJydXN0ZXIgd3JvdGU6Cj4gVmxhZGltaXIgU2Vt ZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB2aXJ0dW96em8uY29tPiB3cml0ZXM6Cj4gCj4+ IEFkZCBmdW5jdGlvbnMgdG8gY2xlYW4gRXJyb3IgKiplcnJwOiBjYWxsIGNvcnJlc3BvbmRpbmcg RXJyb3IgKmVycgo+PiBjbGVhbmluZyBmdW5jdGlvbiBhbiBzZXQgcG9pbnRlciB0byBOVUxMLgo+ Pgo+PiBOZXcgZnVuY3Rpb25zOgo+PiAgICBlcnJvcl9mcmVlX2VycnAKPj4gICAgZXJyb3JfcmVw b3J0X2VycnAKPj4gICAgd2Fybl9yZXBvcnRfZXJycAo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBWbGFk aW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHZpcnR1b3p6by5jb20+Cj4+IFJl dmlld2VkLWJ5OiBHcmVnIEt1cnogPGdyb3VnQGthb2Qub3JnPgo+PiBSZXZpZXdlZC1ieTogRXJp YyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+Cj4+IC0tLQo+Pgo+PiBDQzogRXJpYyBCbGFrZSA8 ZWJsYWtlQHJlZGhhdC5jb20+Cj4+IENDOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgo+ PiBDQzogTWF4IFJlaXR6IDxtcmVpdHpAcmVkaGF0LmNvbT4KPj4gQ0M6IEdyZWcgS3VyeiA8Z3Jv dWdAa2FvZC5vcmc+Cj4+IENDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+Cj4+IENDOiBBbnRob255IFBlcmFyZCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4K Pj4gQ0M6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgo+PiBDQzogU3RlZmFuIEhham5vY3pp IDxzdGVmYW5oYUByZWRoYXQuY29tPgo+PiBDQzogIlBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIiA8 cGhpbG1kQHJlZGhhdC5jb20+Cj4+IENDOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t Pgo+PiBDQzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+Cj4+IENDOiBTdGVmYW4g QmVyZ2VyIDxzdGVmYW5iQGxpbnV4LmlibS5jb20+Cj4+IENDOiBNYXJrdXMgQXJtYnJ1c3RlciA8 YXJtYnJ1QHJlZGhhdC5jb20+Cj4+IENDOiBNaWNoYWVsIFJvdGggPG1kcm90aEBsaW51eC52bmV0 LmlibS5jb20+Cj4+IENDOiBxZW11LWJsb2NrQG5vbmdudS5vcmcKPj4gQ0M6IHhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwo+Pgo+PiAgIGluY2x1ZGUvcWFwaS9lcnJvci5oIHwgMjYgKysr KysrKysrKysrKysrKysrKysrKysrKysKPj4gICAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9u cygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9xYXBpL2Vycm9yLmggYi9pbmNsdWRlL3Fh cGkvZXJyb3IuaAo+PiBpbmRleCBhZDViNmU4OTZkLi5kMzQ5ODcxNDhkIDEwMDY0NAo+PiAtLS0g YS9pbmNsdWRlL3FhcGkvZXJyb3IuaAo+PiArKysgYi9pbmNsdWRlL3FhcGkvZXJyb3IuaAo+PiBA QCAtMzA5LDYgKzMwOSwzMiBAQCB2b2lkIHdhcm5fcmVwb3J0Zl9lcnIoRXJyb3IgKmVyciwgY29u c3QgY2hhciAqZm10LCAuLi4pCj4+ICAgdm9pZCBlcnJvcl9yZXBvcnRmX2VycihFcnJvciAqZXJy LCBjb25zdCBjaGFyICpmbXQsIC4uLikKPj4gICAgICAgR0NDX0ZNVF9BVFRSKDIsIDMpOwo+PiAg IAo+PiArLyoKPj4gKyAqIEZ1bmN0aW9ucyB0byBjbGVhbiBFcnJvciAqKmVycnA6IGNhbGwgY29y cmVzcG9uZGluZyBFcnJvciAqZXJyIGNsZWFuaW5nCj4+ICsgKiBmdW5jdGlvbiwgdGhlbiBzZXQg cG9pbnRlciB0byBOVUxMLgo+PiArICovCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgZXJyb3JfZnJl ZV9lcnJwKEVycm9yICoqZXJycCkKPj4gK3sKPj4gKyAgICBhc3NlcnQoZXJycCAmJiAqZXJycCk7 Cj4+ICsgICAgZXJyb3JfZnJlZSgqZXJycCk7Cj4+ICsgICAgKmVycnAgPSBOVUxMOwo+PiArfQo+ PiArCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgZXJyb3JfcmVwb3J0X2VycnAoRXJyb3IgKiplcnJw KQo+PiArewo+PiArICAgIGFzc2VydChlcnJwICYmICplcnJwKTsKPj4gKyAgICBlcnJvcl9yZXBv cnRfZXJyKCplcnJwKTsKPj4gKyAgICAqZXJycCA9IE5VTEw7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRp YyBpbmxpbmUgdm9pZCB3YXJuX3JlcG9ydF9lcnJwKEVycm9yICoqZXJycCkKPj4gK3sKPj4gKyAg ICBhc3NlcnQoZXJycCAmJiAqZXJycCk7Cj4+ICsgICAgd2Fybl9yZXBvcnRfZXJyKCplcnJwKTsK Pj4gKyAgICAqZXJycCA9IE5VTEw7Cj4+ICt9Cj4+ICsKPj4gKwo+PiAgIC8qCj4+ICAgICogSnVz dCBsaWtlIGVycm9yX3NldGcoKSwgZXhjZXB0IHlvdSBnZXQgdG8gc3BlY2lmeSB0aGUgZXJyb3Ig Y2xhc3MuCj4+ICAgICogTm90ZTogdXNlIG9mIGVycm9yIGNsYXNzZXMgb3RoZXIgdGhhbiBFUlJP Ul9DTEFTU19HRU5FUklDX0VSUk9SIGlzCj4gCj4gVGhlc2UgYXBwZWFyIHRvIGJlIHVudXNlZCBh cGFydCBmcm9tIHRoZSBDb2NjaW5lbGxlIHNjcmlwdCBpbiBQQVRDSCAwMy4KPiAKPiBUaGV5IGFy ZSB1c2VkIGluIHRoZSBmdWxsICJbUkZDIHY1IDAwMC8xMjZdIGVycm9yOiBhdXRvIHByb3BhZ2F0 ZWQKPiBsb2NhbF9lcnIiIHNlcmllcy4gIE9wdGlvbnM6Cj4gCj4gMS4gUGljayBhIGZldyBtb3Jl IHBhdGNoZXMgaW50byB0aGlzIHBhcnQgSSBzZXJpZXMsIHNvIHRoZXNlIGd1eXMgY29tZQo+ICAg ICB3aXRoIHVzZXJzLgoKSXQgbmVlZHMgc29tZSBhZGRpdGlvbmFsIGVmZm9ydCBmb3IgdGhpcyBz ZXJpZXMuLiBCdXQgaXQncyBwb3NzaWJsZS4gU3RpbGwsCkkgdGhpbmsgdGhhdCB3ZSBhdCBsZWFz dCBzaG91bGQgbm90IHB1bGwgb3V0IHBhdGNoZXMgd2hpY2ggc2hvdWxkIGJlIGluCmZ1dHVyZSBz ZXJpZXMgKGZvciBleGFtcGxlIGZyb20gcHBjIG9yIGJsb2NrLykuLgoKR3JlcHBpbmcgdGhyb3Vn aCB2NToKICBmb3IgeCBpbiB7d2Fybl9yZXBvcnRfZXJycCxlcnJvcl9yZXBvcnRfZXJycCxlcnJv cl9mcmVlX2VycnB9OyBkbyBlY2hvID09ICR4ID09OyBnaXQgZ3JlcCAtbCAkeCB8IGdyZXAgLXYg Y29jY2luZWxsZSB8IGdyZXAgLXYgJ2Vycm9yXC5oJzsgZWNobzsgZG9uZQo9PSB3YXJuX3JlcG9y dF9lcnJwID09CmJsb2NrL2ZpbGUtcG9zaXguYwpody9wcGMvc3BhcHIuYwpody9wcGMvc3BhcHJf Y2Fwcy5jCmh3L3BwYy9zcGFwcl9pcnEuYwpody92ZmlvL3BjaS5jCm5ldC90YXAuYwpxb20vb2Jq ZWN0LmMKCj09IGVycm9yX3JlcG9ydF9lcnJwID09Cmh3L2Jsb2NrL3Zob3N0LXVzZXItYmxrLmMK dXRpbC9vc2xpYi1wb3NpeC5jCgo9PSBlcnJvcl9mcmVlX2VycnAgPT0KYmxvY2suYwpibG9jay9x YXBpLmMKYmxvY2svc2hlZXBkb2cuYwpibG9jay9zbmFwc2hvdC5jCmJsb2NrZGV2LmMKY2hhcmRl di9jaGFyLXNvY2tldC5jCmh3L2F1ZGlvL2ludGVsLWhkYS5jCmh3L2NvcmUvcWRldi1wcm9wZXJ0 aWVzLmMKaHcvcGNpLWJyaWRnZS9wY2lfYnJpZGdlX2Rldi5jCmh3L3BjaS1icmlkZ2UvcGNpZV9w Y2lfYnJpZGdlLmMKaHcvc2NzaS9tZWdhc2FzLmMKaHcvc2NzaS9tcHRzYXMuYwpody91c2IvaGNk LXhoY2kuYwppby9uZXQtbGlzdGVuZXIuYwptaWdyYXRpb24vY29sby5jCnFnYS9jb21tYW5kcy1w b3NpeC5jCnFnYS9jb21tYW5kcy13aW4zMi5jCnV0aWwvcWVtdS1zb2NrZXRzLmMKCldoYXQgZG8g eW91IHdhbnQgdG8gYWRkPwoKPiAKPiAyLiBQdW50IHRoaXMgcGF0Y2ggdG8gdGhlIGZpcnN0IHBh cnQgdGhhdCBoYXMgdXNlcnMsIGFsb25nIHdpdGggdGhlCj4gICAgIHBhcnQgb2YgdGhlIENvY2Np bmVsbGUgc2NyaXB0IHRoYXQgZGVhbHMgd2l0aCB0aGVtLgoKQnV0IGNvY2NpbmVsbGUgc2NyaXB0 IHdvdWxkIGJlIHdyb25nLCBpZiB3ZSBkcm9wIHRoaXMgcGFydCBmcm9tIGl0LiBJIHRoaW5rLAp0 aGF0IGFmdGVyIGNvbW1pdCB3aGljaCBhZGRzIGNvY2NpbmVsbGUgc2NyaXB0LCBpdCBzaG91bGQg d29yayB3aXRoIGFueSBmaWxlLApub3Qgb25seSBzdWJzZXQgb2YgdGhlc2Ugc2VyaWVzLgoKU28s IGl0J3MgcHJvYmFibHkgT0sgZm9yIG5vdyB0byBkcm9wIHRoZXNlIGZ1bmN0aW9ucywgZm9yY2lu ZyB0aGVpciBhZGRpdGlvbiBpZgpjb2NjaW5lbGxlIHNjcmlwdCB3aWxsIGJlIGFwcGxpZWQgd2hl cmUgdGhlc2UgZnVuY3Rpb25zIGFyZSBuZWVkZWQuIFdlIGNhbiwgZm9yCmV4YW1wbGUgY29tbWVu dCB0aGVzZSB0aHJlZSBmdW5jdGlvbnMuCgpTcGxpdHRpbmcgY29jY2luZWxsZSBzY3JpcHQgaW50 byB0d28gcGFydHMsIHdoaWNoIHdpbGwgYmUgaW4gZGlmZmVyZW50IHNlcmllcyB3aWxsCm5vdCBo ZWxwIGFueSBwYXRjaC1wb3J0aW5nIHByb2Nlc3Nlcy4KCk1vcmVvdmVyLCB0aGlzIHdpbGwgY3Jl YXRlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGZ1dHVyZSBzZXJpZXMgdXBkYXRpbmcgb3RoZXIgZmls ZXMuCgpTbywgSSBkb24ndCBsaWtlIFsyLl0uLgoKPiAKPiAzLiBEbyBub3RoaW5nOiBhY2NlcHQg dGhlIGZ1bmN0aW9ucyB3aXRob3V0IHVzZXJzLgoKT0sgZm9yIG1lKQoKPiAKPiBJIGhhYml0dWFs bHkgZGlzbGlrZSAzLiwgYnV0IHJldmlld2luZyB0aGUgcmVzdCBvZiB0aGlzIHNlcmllcyBtaWdo dAo+IG1ha2UgbWUgb3ZlcnJpZGUgdGhhdCBkaXNsaWtlLgo+IAoKLS0tLS0tLS0tLS0tLS0tLQoK c2FtZSBncmVwIHdpdGggbWFpbnRhaW5lcnM6CiAgZm9yIHggaW4ge3dhcm5fcmVwb3J0X2VycnAs ZXJyb3JfcmVwb3J0X2VycnAsZXJyb3JfZnJlZV9lcnJwfTsgZG8gZWNobyA9PSAkeCA9PTsgZ2l0 IGdyZXAgLWwgJHggfCBncmVwIC12IGNvY2NpbmVsbGUgfCBncmVwIC12ICdlcnJvclwuaCcgfCB3 aGlsZSByZWFkIGY7IGRvIGVjaG8gJGY7IC4vc2NyaXB0cy9nZXRfbWFpbnRhaW5lci5wbCAtZiAt LW5vLXJvbGVzdGF0cyAkZiB8IGdyZXAgLXYgJ3FlbXUtYmxvY2tcfHFlbXUtZGV2ZWwnIHwgc2Vk IC1lICdzL14vICAgLyc7IGRvbmU7IGVjaG87IGRvbmUKPT0gd2Fybl9yZXBvcnRfZXJycCA9PQpi bG9jay9maWxlLXBvc2l4LmMKICAgIEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CiAgICBN YXggUmVpdHogPG1yZWl0ekByZWRoYXQuY29tPgpody9wcGMvc3BhcHIuYwogICAgRGF2aWQgR2li c29uIDxkYXZpZEBnaWJzb24uZHJvcGJlYXIuaWQuYXU+CiAgICBxZW11LXBwY0Bub25nbnUub3Jn Cmh3L3BwYy9zcGFwcl9jYXBzLmMKICAgIERhdmlkIEdpYnNvbiA8ZGF2aWRAZ2lic29uLmRyb3Bi ZWFyLmlkLmF1PgogICAgcWVtdS1wcGNAbm9uZ251Lm9yZwpody9wcGMvc3BhcHJfaXJxLmMKICAg IERhdmlkIEdpYnNvbiA8ZGF2aWRAZ2lic29uLmRyb3BiZWFyLmlkLmF1PgogICAgcWVtdS1wcGNA bm9uZ251Lm9yZwpody92ZmlvL3BjaS5jCiAgICBBbGV4IFdpbGxpYW1zb24gPGFsZXgud2lsbGlh bXNvbkByZWRoYXQuY29tPgpuZXQvdGFwLmMKICAgIEphc29uIFdhbmcgPGphc293YW5nQHJlZGhh dC5jb20+CnFvbS9vYmplY3QuYwogICAgUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNv bT4KICAgICJEYW5pZWwgUC4gQmVycmFuZ8OpIiA8YmVycmFuZ2VAcmVkaGF0LmNvbT4KICAgIEVk dWFyZG8gSGFia29zdCA8ZWhhYmtvc3RAcmVkaGF0LmNvbT4KCj09IGVycm9yX3JlcG9ydF9lcnJw ID09Cmh3L2Jsb2NrL3Zob3N0LXVzZXItYmxrLmMKICAgICJNaWNoYWVsIFMuIFRzaXJraW4iIDxt c3RAcmVkaGF0LmNvbT4KICAgIEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CiAgICBNYXgg UmVpdHogPG1yZWl0ekByZWRoYXQuY29tPgp1dGlsL29zbGliLXBvc2l4LmMKICAgIFBhb2xvIEJv bnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+Cgo9PSBlcnJvcl9mcmVlX2VycnAgPT0KYmxvY2su YwogICAgS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KICAgIE1heCBSZWl0eiA8bXJlaXR6 QHJlZGhhdC5jb20+CmJsb2NrL3FhcGkuYwogICAgTWFya3VzIEFybWJydXN0ZXIgPGFybWJydUBy ZWRoYXQuY29tPgogICAgS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KICAgIE1heCBSZWl0 eiA8bXJlaXR6QHJlZGhhdC5jb20+CmJsb2NrL3NoZWVwZG9nLmMKICAgIExpdSBZdWFuIDxuYW1l aS51bml4QGdtYWlsLmNvbT4KICAgIEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CiAgICBN YXggUmVpdHogPG1yZWl0ekByZWRoYXQuY29tPgogICAgc2hlZXBkb2dAbGlzdHMud3BrZy5vcmcK YmxvY2svc25hcHNob3QuYwogICAgS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KICAgIE1h eCBSZWl0eiA8bXJlaXR6QHJlZGhhdC5jb20+CmJsb2NrZGV2LmMKICAgIE1hcmt1cyBBcm1icnVz dGVyIDxhcm1icnVAcmVkaGF0LmNvbT4KICAgIEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+ CiAgICBNYXggUmVpdHogPG1yZWl0ekByZWRoYXQuY29tPgpjaGFyZGV2L2NoYXItc29ja2V0LmMK ICAgICJNYXJjLUFuZHLDqSBMdXJlYXUiIDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+CiAg ICBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgpody9hdWRpby9pbnRlbC1oZGEu YwogICAgR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+Cmh3L2NvcmUvcWRldi1wcm9w ZXJ0aWVzLmMKICAgIFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CiAgICAiRGFu aWVsIFAuIEJlcnJhbmfDqSIgPGJlcnJhbmdlQHJlZGhhdC5jb20+CiAgICBFZHVhcmRvIEhhYmtv c3QgPGVoYWJrb3N0QHJlZGhhdC5jb20+Cmh3L3BjaS1icmlkZ2UvcGNpX2JyaWRnZV9kZXYuYwog ICAgIk1pY2hhZWwgUy4gVHNpcmtpbiIgPG1zdEByZWRoYXQuY29tPgogICAgTWFyY2VsIEFwZmVs YmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+Cmh3L3BjaS1icmlkZ2UvcGNpZV9wY2lf YnJpZGdlLmMKICAgICJNaWNoYWVsIFMuIFRzaXJraW4iIDxtc3RAcmVkaGF0LmNvbT4KICAgIE1h cmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgpody9zY3NpL21lZ2Fz YXMuYwogICAgSGFubmVzIFJlaW5lY2tlIDxoYXJlQHN1c2UuY29tPgogICAgUGFvbG8gQm9uemlu aSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KICAgIEZhbSBaaGVuZyA8ZmFtQGV1cGhvbi5uZXQ+Cmh3 L3Njc2kvbXB0c2FzLmMKICAgIFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CiAg ICBGYW0gWmhlbmcgPGZhbUBldXBob24ubmV0Pgpody91c2IvaGNkLXhoY2kuYwogICAgR2VyZCBI b2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CmlvL25ldC1saXN0ZW5lci5jCiAgICAiRGFuaWVs IFAuIEJlcnJhbmfDqSIgPGJlcnJhbmdlQHJlZGhhdC5jb20+Cm1pZ3JhdGlvbi9jb2xvLmMKICAg IEhhaWxpYW5nIFpoYW5nIDx6aGFuZy56aGFuZ2hhaWxpYW5nQGh1YXdlaS5jb20+CiAgICBKdWFu IFF1aW50ZWxhIDxxdWludGVsYUByZWRoYXQuY29tPgogICAgIkRyLiBEYXZpZCBBbGFuIEdpbGJl cnQiIDxkZ2lsYmVydEByZWRoYXQuY29tPgpxZ2EvY29tbWFuZHMtcG9zaXguYwogICAgTWljaGFl bCBSb3RoIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPgpxZ2EvY29tbWFuZHMtd2luMzIuYwog ICAgTWljaGFlbCBSb3RoIDxtZHJvdGhAbGludXgudm5ldC5pYm0uY29tPgp1dGlsL3FlbXUtc29j a2V0cy5jCiAgICAiRGFuaWVsIFAuIEJlcnJhbmfDqSIgPGJlcnJhbmdlQHJlZGhhdC5jb20+CiAg ICBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KCgoKLS0gCkJlc3QgcmVnYXJkcywK VmxhZGltaXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=