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=-6.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_SBL,URIBL_SBL_A 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 AC64AC43603 for ; Thu, 5 Dec 2019 09:41:28 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 672142464D for ; Thu, 5 Dec 2019 09:41:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="QkLJr1FN" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 672142464D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52002 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icndX-0005Pa-KK for qemu-devel@archiver.kernel.org; Thu, 05 Dec 2019 04:41:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59142) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icnbp-0004Wp-Gq for qemu-devel@nongnu.org; Thu, 05 Dec 2019 04:39:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1icnbk-0004YO-Na for qemu-devel@nongnu.org; Thu, 05 Dec 2019 04:39:41 -0500 Received: from mail-eopbgr20093.outbound.protection.outlook.com ([40.107.2.93]:30222 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1icnb3-0003eC-1u; Thu, 05 Dec 2019 04:38:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lgbmmPUW15cSoetFA3ZWreoJdiz/el29JWIPI5TnrdMeYgIX+sd9bf/Z0pacAEOnB1Tv73bj/P97RyVIVJpfnCvXqXqzUzjFaJTvEUTw7ZrYka38MboYkwoTH+GmIGwqKUPNSna/tjXkEYcztZDGbr2P2JiXuWeKzcqXsz6HnQWwZB9ipAROkn1LX28j2a5P84z2ZNC7eIqsBd9HGKBN/E0tNmll6rNEn7KiqwdICyuZ3lidcgj+moP4HcsJ2S6TDyRPzVZ92IbocUS53ugSiMGCOgJxURTLNYH0hINNl9lcTAwI5i2/o23N1embqUJj6QbPoZ/GRlE/h09Si+PYNg== 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=ia1p69Vw40bANxIuoeSQaYjHJYbA1cGLl9V08AlorT0=; b=WloxzEqTOA/f84qsLhHHAWfUySOH3TbQFjj9G+L3uI1g/YScEiCurtcd0qSiw40nTE5gINNaJOF44xbQPY7tmpn0DDSUAlPLDb21I0yMG4A5DaChi+iFnMjmNK2dI50ihv6m8aA37nQjVqvQ4FrO5pViRsnt9QzQi/eIIkpdseIJjRJ3XwSGASTngdmiULfV84Y0oG4FSfXkTRN430N9xsIEdwX5N+SKgAShYu/7uTzcuuEEd8DF6vTE6S5jibEHCaVxn3TcBza9cb7TE8D0jWpWj6Idva/b9fUoSV7vOnmrCOL9lW31L1wHneXTzG1l9pI2oirOyMhuEsc+T1Y73Q== 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=ia1p69Vw40bANxIuoeSQaYjHJYbA1cGLl9V08AlorT0=; b=QkLJr1FNVx7QQXGiFeXr2rmDS+fqIScBFoDPV9YYNcF1JAVQp8PojDKXhry5FVGRDXxPRnTAbK9NcvuoqpkivztsKd4z0hRluXFSdpwcg3YM09jmG7I7q1S6aB1zU4zd+fcWWp1u0DGJj70k7p08wRVcj6h/CWweHP1c+P4vYJQ= Received: from AM6PR08MB4423.eurprd08.prod.outlook.com (20.179.7.140) by AM6PR08MB5157.eurprd08.prod.outlook.com (10.255.121.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.18; Thu, 5 Dec 2019 09:38:49 +0000 Received: from AM6PR08MB4423.eurprd08.prod.outlook.com ([fe80::11a9:a944:c946:3030]) by AM6PR08MB4423.eurprd08.prod.outlook.com ([fe80::11a9:a944:c946:3030%7]) with mapi id 15.20.2516.014; Thu, 5 Dec 2019 09:38:49 +0000 From: Vladimir Sementsov-Ogievskiy To: Markus Armbruster Subject: Re: [RFC v5 024/126] error: auto propagated local_err Thread-Topic: [RFC v5 024/126] error: auto propagated local_err Thread-Index: AQHVgE3c5dwPNEl0z0OyUhbNfTU1EqeqZpzagAE4WYA= Date: Thu, 5 Dec 2019 09:38:49 +0000 Message-ID: <55393c08-5bda-8042-1a95-f350b3781d99@virtuozzo.com> References: <20191011160552.22907-1-vsementsov@virtuozzo.com> <20191011160552.22907-25-vsementsov@virtuozzo.com> <87muc8p24w.fsf@dusky.pond.sub.org> In-Reply-To: <87muc8p24w.fsf@dusky.pond.sub.org> Accept-Language: ru-RU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1PR0902CA0025.eurprd09.prod.outlook.com (2603:10a6:7:15::14) To AM6PR08MB4423.eurprd08.prod.outlook.com (2603:10a6:20b:bf::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=vsementsov@virtuozzo.com; x-ms-exchange-messagesentrepresentingtype: 1 x-tagtoolbar-keys: D20191205123843275 x-originating-ip: [185.231.240.5] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 131543c0-e3c1-4dcb-969f-08d77966eea0 x-ms-traffictypediagnostic: AM6PR08MB5157: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 02426D11FE x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(366004)(39850400004)(346002)(376002)(396003)(199004)(189003)(76176011)(6512007)(66476007)(7406005)(4326008)(102836004)(229853002)(186003)(36756003)(81156014)(7336002)(86362001)(66946007)(31696002)(2906002)(305945005)(99286004)(6916009)(71200400001)(6486002)(7366002)(5660300002)(14444005)(54906003)(6506007)(52116002)(64756008)(71190400001)(316002)(26005)(66446008)(81166006)(14454004)(478600001)(66574012)(8936002)(66556008)(8676002)(11346002)(25786009)(2616005)(31686004)(7416002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM6PR08MB5157; H:AM6PR08MB4423.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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: lirdQib7k4PxnfJ+vDdfG+yoKfBMvF4GgPpvWhMQUT0OjE0FJX8JlYokHPfK19o4lkhN46RptVNpTH46xCbgsUSlu4HW7pT/mTXWE2Ivjb9TIKQM60Xp9egWPpu7FgGhFnUeLR/J8tkz26wmrPQL8x5GVpHOMYohnrevfPycAfltZubsAwbYR0jeosKm2A+Tym+xLSHYzSr7tvscIcUV90NCxgBo/dRUjGmW3eSGBxxRsir01a87oMmdHFKEzdwFllCk8jWjeZPfimUz/GmQaQmWRGBYb8Zo4y69kssEyGDZr/swePPikZegCQopC+WbgPET2HP73mC61kKF2TxUn+k3k222tNl0x0IJkLm5k342mLCWw3DUMaSKszKtTtZeI3GY86fccMxEryDNtKlwkjIc8KsAOD4q+9sHMeP9AYYZa3xBoEgH/GTrzKqGdjbL Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 131543c0-e3c1-4dcb-969f-08d77966eea0 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2019 09:38:49.7229 (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: LhcoyOJ5bEmmfrdgXnTpGdf1tL/cuSq/l6GPmhOsKiruDJsofxQBmJwqa3tEeYao5TbvIg7vA83OWS2QxenMON/C14K7RKKqDOdqwBaJ4hw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5157 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.2.93 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ronnie Sahlberg , Jeff Cody , Jan Kiszka , Alberto Garcia , Hailiang Zhang , "qemu-block@nongnu.org" , Aleksandar Rikalo , Halil Pasic , =?utf-8?B?SGVydsOpIFBvdXNzaW5lYXU=?= , Anthony Perard , Samuel Thibault , Laszlo Ersek , Jason Wang , Laurent Vivier , Eduardo Habkost , Xie Changlong , Peter Lieven , "Dr. David Alan Gilbert" , Beniamino Galvani , Eric Auger , Alex Williamson , Stefan Hajnoczi , John Snow , Richard Henderson , Kevin Wolf , Andrew Jeffery , Chris Wulff , Subbaraya Sundeep , Michael Walle , "qemu-ppc@nongnu.org" , Bastian Koppelmann , Igor Mammedov , Fam Zheng , Peter Maydell , "sheepdog@lists.wpkg.org" , Matthew Rosato , David Hildenbrand , Palmer Dabbelt , Eric Farman , Max Filippov , Hannes Reinecke , Stefano Stabellini , "Gonglei \(Arei\)" , Liu Yuan , Artyom Tarasenko , Thomas Huth , Amit Shah , Stefan Weil , Greg Kurz , Yuval Shaia , "qemu-s390x@nongnu.org" , "qemu-arm@nongnu.org" , Peter Chubb , =?utf-8?B?Q8OpZHJpYyBMZSBHb2F0ZXI=?= , Stafford Horne , "qemu-riscv@nongnu.org" , Cornelia Huck , Aleksandar Markovic , Aurelien Jarno , Paul Burton , Sagar Karandikar , Paul Durrant , Anthony Green , Gerd Hoffmann , "Edgar E. Iglesias" , Guan Xuetao , Ari Sundholm , Juan Quintela , Michael Roth , Christian Borntraeger , Joel Stanley , Jason Dillaman , Antony Pavlov , "xen-devel@lists.xenproject.org" , "integration@gluster.org" , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , "Richard W.M. Jones" , Andrew Baumann , Max Reitz , Denis Lunev , "Michael S. Tsirkin" , Mark Cave-Ayland , "qemu-devel@nongnu.org" , Vincenzo Maffione , Marek Vasut , =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= , Alistair Francis , Pavel Dovgalyuk , Giuseppe Lettieri , Luigi Rizzo , David Gibson , Tony Krowiak , =?utf-8?B?RGFuaWVsIFAuIEJlcnJhbmfDqQ==?= , Xiao Guangrong , Pierre Morel , Wen Congyang , Jean-Christophe Dubois , Paolo Bonzini , Stefan Berger Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" MDQuMTIuMjAxOSAxNzo1OSwgTWFya3VzIEFybWJydXN0ZXIgd3JvdGU6DQo+IFZsYWRpbWlyIFNl bWVudHNvdi1PZ2lldnNraXkgPHZzZW1lbnRzb3ZAdmlydHVvenpvLmNvbT4gd3JpdGVzOg0KPiAN Cj4+IEhlcmUgaXMgaW50cm9kdWNlZCBFUlJQX0FVVE9fUFJPUEFHQVRFIG1hY3JvLCB0byBiZSB1 c2VkIGF0IHN0YXJ0IG9mDQo+PiBmdW5jdGlvbnMgd2l0aCBlcnJwIE9VVCBwYXJhbWV0ZXIuDQo+ Pg0KPj4gSXQgaGFzIHRocmVlIGdvYWxzOg0KPj4NCj4+IDEuIEZpeCBpc3N1ZSB3aXRoIGVycm9y X2ZhdGFsICYgZXJyb3JfcHJlcGVuZC9lcnJvcl9hcHBlbmRfaGludDogdXNlcg0KPj4gY2FuJ3Qg c2VlIHRoaXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgYmVjYXVzZSBleGl0KCkgaGFwcGVucyBp bg0KPj4gZXJyb3Jfc2V0ZyBlYXJsaWVyIHRoYW4gaW5mb3JtYXRpb24gaXMgYWRkZWQuIFtSZXBv cnRlZCBieSBHcmVnIEt1cnpdDQo+Pg0KPj4gMi4gRml4IGlzc3VlIHdpdGggZXJyb3JfYWJvcnQg JiBlcnJvcl9wcm9wYWdhdGU6IHdoZW4gd2Ugd3JhcA0KPj4gZXJyb3JfYWJvcnQgYnkgbG9jYWxf ZXJyK2Vycm9yX3Byb3BhZ2F0ZSwgcmVzdWx0aW5nIGNvcmVkdW1wIHdpbGwNCj4+IHJlZmVyIHRv IGVycm9yX3Byb3BhZ2F0ZSBhbmQgbm90IHRvIHRoZSBwbGFjZSB3aGVyZSBlcnJvciBoYXBwZW5l ZC4NCj4gDQo+IEkgZ2V0IHdoYXQgeW91IG1lYW4sIGJ1dCBJIGhhdmUgcGxlbnR5IG9mIGNvbnRl eHQuDQo+IA0KPj4gKHRoZSBtYWNybyBpdHNlbGYgZG9lc24ndCBmaXggdGhlIGlzc3VlLCBidXQg aXQgYWxsb3dzIHRvIFszLl0gZHJvcCBhbGwNCj4+IGxvY2FsX2VycitlcnJvcl9wcm9wYWdhdGUg cGF0dGVybiwgd2hpY2ggd2lsbCBkZWZpbml0ZWx5IGZpeCB0aGUgaXNzdWUpDQo+IA0KPiBUaGUg cGFyZW50aGVzaXMgaXMgbm90IHBhcnQgb2YgdGhlIGdvYWwuDQo+IA0KPj4gW1JlcG9ydGVkIGJ5 IEtldmluIFdvbGZdDQo+Pg0KPj4gMy4gRHJvcCBsb2NhbF9lcnIrZXJyb3JfcHJvcGFnYXRlIHBh dHRlcm4sIHdoaWNoIGlzIHVzZWQgdG8gd29ya2Fyb3VuZA0KPj4gdm9pZCBmdW5jdGlvbnMgd2l0 aCBlcnJwIHBhcmFtZXRlciwgd2hlbiBjYWxsZXIgd2FudHMgdG8ga25vdyByZXN1bHRpbmcNCj4+ IHN0YXR1cy4gKE5vdGU6IGFjdHVhbGx5IHRoZXNlIGZ1bmN0aW9ucyBjb3VsZCBiZSBtZXJlbHkg dXBkYXRlZCB0bw0KPj4gcmV0dXJuIGludCBlcnJvciBjb2RlKS4NCj4+DQo+PiBUbyBhY2hpZXZl IHRoZXNlIGdvYWxzLCB3ZSBuZWVkIHRvIGFkZCBpbnZvY2F0aW9uIG9mIHRoZSBtYWNybyBhdCBz dGFydA0KPj4gb2YgZnVuY3Rpb25zLCB3aGljaCBuZWVkcyBlcnJvcl9wcmVwZW5kL2Vycm9yX2Fw cGVuZF9oaW50ICgxLik7IGFkZA0KPj4gaW52b2NhdGlvbiBvZiB0aGUgbWFjcm8gYXQgc3RhcnQg b2YgZnVuY3Rpb25zIHdoaWNoIGRvDQo+PiBsb2NhbF9lcnIrZXJyb3JfcHJvcGFnYXRlIHNjZW5h cmlvIHRoZSBjaGVjayBlcnJvcnMsIGRyb3AgbG9jYWwgZXJyb3JzDQo+PiBmcm9tIHRoZW0gYW5k IGp1c3QgdXNlICplcnJwIGluc3RlYWQgKDIuLCAzLikuDQo+IA0KPiBUaGUgcGFyYWdyYXBoIHRh bGtzIGFib3V0IHR3byBjYXNlczogMS4gYW5kIDIuKzMuIA0KDQpIbW0sIEkgZG9uJ3QgdGhpbmsg c28uLiAxLiBhbmQgMi4gYXJlIGlzc3Vlcy4gMy4gaXMgYSByZWZhY3RvcmluZy4uIFdlIGp1c3QN CmZpeCBhY2hpZXZlIDIgYW5kIDMgYnkgb25lIGFjdGlvbi4NCg0KPiBNYWtlcyBtZSB0aGluayB3 ZQ0KPiB3YW50IHR3byBwYXJhZ3JhcGhzLCBlYWNoIGlsbHVzdHJhdGVkIHdpdGggYW4gZXhhbXBs ZS4NCj4gDQo+IFdoYXQgYWJvdXQgeW91IHByb3ZpZGUgdGhlIGV4YW1wbGVzLCBhbmQgdGhlbiBJ IHRyeSB0byBwb2xpc2ggdGhlIHByb3NlPw0KDQoxOiBlcnJvcl9mYXRhbCBwcm9ibGVtDQoNCkFz c3VtZSB0aGUgZm9sbG93aW5nIGNvZGUgZmxvdzoNCg0KaW50IGYxKGVycnApIHsNCiAgICAuLi4N CiAgICByZXQgPSBmMihlcnJwKTsNCiAgICBpZiAocmV0IDwgMCkgew0KICAgICAgIGVycm9yX2Fw cGVuZF9oaW50KGVycnAsICJ2ZXJ5IHVzZWZ1bCBoaW50Iik7DQogICAgICAgcmV0dXJuIHJldDsN CiAgICB9DQogICAgLi4uDQp9DQoNCk5vdywgaWYgd2UgY2FsbCBmMSB3aXRoICZlcnJvcl9mYXRh bCBhcmd1bWVudCBhbmQgZjIgZmFpbHMsIHRoZSBwcm9ncmFtDQp3aWxsIGV4aXQgaW1tZWRpYXRl bHkgaW5zaWRlIGYyLCB3aGVuIHNldHRpbmcgdGhlIGVycnAuIFVzZXIgd2lsbCBub3QNCnNlZSB0 aGUgaGludC4NCg0KU28sIGluIHRoaXMgY2FzZSB3ZSBzaG91bGQgdXNlIGxvY2FsX2Vyci4NCg0K MjogZXJyb3JfYWJvcnQgcHJvYmxlbQ0KDQpOb3csIGNvbnNpZGVyIGZ1bmN0aW9ucyB3aXRob3V0 IHJldHVybiB2YWx1ZS4gV2Ugbm9ybWFsbHkgdXNlIGxvY2FsX2Vycg0KdmFyaWFibGUgdG8gY2F0 Y2ggZmFpbHVyZXM6DQoNCnZvaWQgZjEoZXJycCkgew0KICAgIEVycm9yICpsb2NhbF9lcnIgPSBO VUxMOw0KICAgIC4uLg0KICAgIGYyKCZsb2NhbF9lcnIpOw0KICAgIGlmIChsb2NhbF9lcnIpIHsN CiAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAsIGxvY2FsX2Vycik7DQogICAgICAgIHJldHVy bjsNCiAgICB9DQogICAgLi4uDQp9DQoNCk5vdywgaWYgd2UgY2FsbCBmMiB3aXRoICZlcnJvcl9h Ym9ydCBhbmQgZjIgZmFpbHMsIHRoZSBzdGFjayBpbiByZXN1bHRpbmcNCmNyYXNoIGR1bXAgd2ls bCBwb2ludCB0byBlcnJvcl9wcm9wYWdhdGUsIG5vdCB0byB0aGUgZmFpbHVyZSBwb2ludCBpbiBm MiwNCndoaWNoIGNvbXBsaWNhdGVzIGRlYnVnZ2luZy4NCg0KU28sIHdlIHNob3VsZCBuZXZlciB3 cmFwIGVycm9yX2Fib3J0IGJ5IGxvY2FsX2Vyci4NCg0KPT09DQoNCk91ciBzb2x1dGlvbjoNCg0K LSBGaXhlcyBbMS5dLCBhZGRpbmcgaW52b2NhdGlvbiBvZiBuZXcgbWFjcm8gaW50byBmdW5jdGlv bnMgd2l0aCBlcnJvcl9hcHBlbl9oaW50L2Vycm9yX3ByZXBlbmQsDQogICBOZXcgbWFjcm8gd2ls bCB3cmFwIGVycm9yX2ZhdGFsLg0KLSBGaXhlcyBbMi5dLCBieSBzd2l0Y2hpbmcgZnJvbSBoYW5k LXdyaXR0ZW4gbG9jYWxfZXJyIHRvIHNtYXJ0IG1hY3JvLCB3aGljaCBuZXZlcg0KICAgd3JhcHMg ZXJyb3JfYWJvcnQuDQotIEhhbmRsZXMgWzMuXSwgYnkgc3dpdGNoaW5nIHRvIG1hY3JvLCB3aGlj aCBpcyBsZXNzIGNvZGUNCi0gQWRkaXRpb25hbGx5LCBtYWNybyBkb2Vzbid0IHdyYXAgbm9ybWFs IG5vbi16ZXJvIGVycnAsIHRvIGF2b2lkIGV4dHJhIHByb3BhZ2F0aW9ucw0KICAgKGluIGZhY3Qs IGVycm9yX3Byb3BhZ2F0ZSBpcyBjYWxsZWQsIGJ1dCByZXR1cm5zIGltbWVkaWF0ZWx5IG9uIGZp cnN0IGlmICghbG9jYWxfZXJyKSkNCg0KPiANCj4+IFNpZ25lZC1vZmYtYnk6IFZsYWRpbWlyIFNl bWVudHNvdi1PZ2lldnNraXkgPHZzZW1lbnRzb3ZAdmlydHVvenpvLmNvbT4NCj4+IFJldmlld2Vk LWJ5OiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4NCj4+IC0tLQ0KPj4NCj4+IENDOiBH ZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4+IENDOiAiR29uZ2xlaSAoQXJlaSki IDxhcmVpLmdvbmdsZWlAaHVhd2VpLmNvbT4NCj4+IENDOiBFZHVhcmRvIEhhYmtvc3QgPGVoYWJr b3N0QHJlZGhhdC5jb20+DQo+PiBDQzogSWdvciBNYW1tZWRvdiA8aW1hbW1lZG9AcmVkaGF0LmNv bT4NCj4+IENDOiBMYXVyZW50IFZpdmllciA8bHZpdmllckByZWRoYXQuY29tPg0KPj4gQ0M6IEFt aXQgU2hhaCA8YW1pdEBrZXJuZWwub3JnPg0KPj4gQ0M6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+DQo+PiBDQzogTWF4IFJlaXR6IDxtcmVpdHpAcmVkaGF0LmNvbT4NCj4+IENDOiBKb2hu IFNub3cgPGpzbm93QHJlZGhhdC5jb20+DQo+PiBDQzogQXJpIFN1bmRob2xtIDxhcmlAdHV4ZXJh LmNvbT4NCj4+IENDOiBQYXZlbCBEb3ZnYWx5dWsgPHBhdmVsLmRvdmdhbHVrQGlzcHJhcy5ydT4N Cj4+IENDOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPg0KPj4gQ0M6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4NCj4+IENDOiBGYW0gWmhlbmcgPGZhbUBl dXBob24ubmV0Pg0KPj4gQ0M6IFN0ZWZhbiBXZWlsIDxzd0B3ZWlsbmV0ei5kZT4NCj4+IENDOiBS b25uaWUgU2FobGJlcmcgPHJvbm5pZXNhaGxiZXJnQGdtYWlsLmNvbT4NCj4+IENDOiBQZXRlciBM aWV2ZW4gPHBsQGthbXAuZGU+DQo+PiBDQzogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+ DQo+PiBDQzogIkRlbmlzIFYuIEx1bmV2IiA8ZGVuQG9wZW52ei5vcmc+DQo+PiBDQzogTWFya3Vz IEFybWJydXN0ZXIgPGFybWJydUByZWRoYXQuY29tPg0KPj4gQ0M6IEFsYmVydG8gR2FyY2lhIDxi ZXJ0b0BpZ2FsaWEuY29tPg0KPj4gQ0M6IEphc29uIERpbGxhbWFuIDxkaWxsYW1hbkByZWRoYXQu Y29tPg0KPj4gQ0M6IFdlbiBDb25neWFuZyA8d2VuY29uZ3lhbmcyQGh1YXdlaS5jb20+DQo+PiBD QzogWGllIENoYW5nbG9uZyA8eGllY2hhbmdsb25nLmRAZ21haWwuY29tPg0KPj4gQ0M6IExpdSBZ dWFuIDxuYW1laS51bml4QGdtYWlsLmNvbT4NCj4+IENDOiAiUmljaGFyZCBXLk0uIEpvbmVzIiA8 cmpvbmVzQHJlZGhhdC5jb20+DQo+PiBDQzogSmVmZiBDb2R5IDxjb2R5cHJpbWVAZ21haWwuY29t Pg0KPj4gQ0M6ICJNYXJjLUFuZHLDqSBMdXJlYXUiIDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5j b20+DQo+PiBDQzogIkRhbmllbCBQLiBCZXJyYW5nw6kiIDxiZXJyYW5nZUByZWRoYXQuY29tPg0K Pj4gQ0M6IFJpY2hhcmQgSGVuZGVyc29uIDxydGhAdHdpZGRsZS5uZXQ+DQo+PiBDQzogR3JlZyBL dXJ6IDxncm91Z0BrYW9kLm9yZz4NCj4+IENDOiAiTWljaGFlbCBTLiBUc2lya2luIiA8bXN0QHJl ZGhhdC5jb20+DQo+PiBDQzogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFp bC5jb20+DQo+PiBDQzogQmVuaWFtaW5vIEdhbHZhbmkgPGIuZ2FsdmFuaUBnbWFpbC5jb20+DQo+ PiBDQzogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPg0KPj4gQ0M6ICJD w6lkcmljIExlIEdvYXRlciIgPGNsZ0BrYW9kLm9yZz4NCj4+IENDOiBBbmRyZXcgSmVmZmVyeSA8 YW5kcmV3QGFqLmlkLmF1Pg0KPj4gQ0M6IEpvZWwgU3RhbmxleSA8am9lbEBqbXMuaWQuYXU+DQo+ PiBDQzogQW5kcmV3IEJhdW1hbm4gPEFuZHJldy5CYXVtYW5uQG1pY3Jvc29mdC5jb20+DQo+PiBD QzogIlBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIiA8cGhpbG1kQHJlZGhhdC5jb20+DQo+PiBDQzog QW50b255IFBhdmxvdiA8YW50b255bnBhdmxvdkBnbWFpbC5jb20+DQo+PiBDQzogSmVhbi1DaHJp c3RvcGhlIER1Ym9pcyA8amNkQHRyaWJ1ZHVib2lzLm5ldD4NCj4+IENDOiBQZXRlciBDaHViYiA8 cGV0ZXIuY2h1YmJAbmljdGEuY29tLmF1Pg0KPj4gQ0M6IFN1YmJhcmF5YSBTdW5kZWVwIDxzdW5k ZWVwLmxrbWxAZ21haWwuY29tPg0KPj4gQ0M6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0 LmNvbT4NCj4+IENDOiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpckBhbGlzdGFpcjIzLm1lPg0K Pj4gQ0M6ICJFZGdhciBFLiBJZ2xlc2lhcyIgPGVkZ2FyLmlnbGVzaWFzQGdtYWlsLmNvbT4NCj4+ IENDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+PiBDQzog QW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+DQo+PiBDQzogUGF1bCBE dXJyYW50IDxwYXVsQHhlbi5vcmc+DQo+PiBDQzogUGF1bCBCdXJ0b24gPHBidXJ0b25Ad2F2ZWNv bXAuY29tPg0KPj4gQ0M6IEFsZWtzYW5kYXIgUmlrYWxvIDxhcmlrYWxvQHdhdmVjb21wLmNvbT4N Cj4+IENDOiBDaHJpcyBXdWxmZiA8Y3J3dWxmZkBnbWFpbC5jb20+DQo+PiBDQzogTWFyZWsgVmFz dXQgPG1hcmV4QGRlbnguZGU+DQo+PiBDQzogRGF2aWQgR2lic29uIDxkYXZpZEBnaWJzb24uZHJv cGJlYXIuaWQuYXU+DQo+PiBDQzogQ29ybmVsaWEgSHVjayA8Y29odWNrQHJlZGhhdC5jb20+DQo+ PiBDQzogSGFsaWwgUGFzaWMgPHBhc2ljQGxpbnV4LmlibS5jb20+DQo+PiBDQzogQ2hyaXN0aWFu IEJvcm50cmFlZ2VyIDxib3JudHJhZWdlckBkZS5pYm0uY29tPg0KPj4gQ0M6ICJIZXJ2w6kgUG91 c3NpbmVhdSIgPGhwb3Vzc2luQHJlYWN0b3Mub3JnPg0KPj4gQ0M6IFhpYW8gR3Vhbmdyb25nIDx4 aWFvZ3Vhbmdyb25nLmVyaWNAZ21haWwuY29tPg0KPj4gQ0M6IEF1cmVsaWVuIEphcm5vIDxhdXJl bGllbkBhdXJlbDMyLm5ldD4NCj4+IENDOiBBbGVrc2FuZGFyIE1hcmtvdmljIDxhbWFya292aWNA d2F2ZWNvbXAuY29tPg0KPj4gQ0M6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZS1heWxhbmRA aWxhbmRlLmNvLnVrPg0KPj4gQ0M6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+DQo+ PiBDQzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4+IENDOiBZdXZhbCBTaGFp YSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4NCj4+IENDOiBQYWxtZXIgRGFiYmVsdCA8cGFsbWVy QHNpZml2ZS5jb20+DQo+PiBDQzogU2FnYXIgS2FyYW5kaWthciA8c2FnYXJrQGVlY3MuYmVya2Vs ZXkuZWR1Pg0KPj4gQ0M6IEJhc3RpYW4gS29wcGVsbWFubiA8a2Jhc3RpYW5AbWFpbC51bmktcGFk ZXJib3JuLmRlPg0KPj4gQ0M6IERhdmlkIEhpbGRlbmJyYW5kIDxkYXZpZEByZWRoYXQuY29tPg0K Pj4gQ0M6IFRob21hcyBIdXRoIDx0aHV0aEByZWRoYXQuY29tPg0KPj4gQ0M6IEVyaWMgRmFybWFu IDxmYXJtYW5AbGludXguaWJtLmNvbT4NCj4+IENDOiBNYXR0aGV3IFJvc2F0byA8bWpyb3NhdG9A bGludXguaWJtLmNvbT4NCj4+IENDOiBIYW5uZXMgUmVpbmVja2UgPGhhcmVAc3VzZS5jb20+DQo+ PiBDQzogTWljaGFlbCBXYWxsZSA8bWljaGFlbEB3YWxsZS5jYz4NCj4+IENDOiBBcnR5b20gVGFy YXNlbmtvIDxhdGFyNHFlbXVAZ21haWwuY29tPg0KPj4gQ0M6IFN0ZWZhbiBCZXJnZXIgPHN0ZWZh bmJAbGludXguaWJtLmNvbT4NCj4+IENDOiBTYW11ZWwgVGhpYmF1bHQgPHNhbXVlbC50aGliYXVs dEBlbnMtbHlvbi5vcmc+DQo+PiBDQzogQWxleCBXaWxsaWFtc29uIDxhbGV4LndpbGxpYW1zb25A cmVkaGF0LmNvbT4NCj4+IENDOiBUb255IEtyb3dpYWsgPGFrcm93aWFrQGxpbnV4LmlibS5jb20+ DQo+PiBDQzogUGllcnJlIE1vcmVsIDxwbW9yZWxAbGludXguaWJtLmNvbT4NCj4+IENDOiBNaWNo YWVsIFJvdGggPG1kcm90aEBsaW51eC52bmV0LmlibS5jb20+DQo+PiBDQzogSGFpbGlhbmcgWmhh bmcgPHpoYW5nLnpoYW5naGFpbGlhbmdAaHVhd2VpLmNvbT4NCj4+IENDOiBKdWFuIFF1aW50ZWxh IDxxdWludGVsYUByZWRoYXQuY29tPg0KPj4gQ0M6ICJEci4gRGF2aWQgQWxhbiBHaWxiZXJ0IiA8 ZGdpbGJlcnRAcmVkaGF0LmNvbT4NCj4+IENDOiBMdWlnaSBSaXp6byA8cml6em9AaWV0LnVuaXBp Lml0Pg0KPj4gQ0M6IEdpdXNlcHBlIExldHRpZXJpIDxnLmxldHRpZXJpQGlldC51bmlwaS5pdD4N Cj4+IENDOiBWaW5jZW56byBNYWZmaW9uZSA8di5tYWZmaW9uZUBnbWFpbC5jb20+DQo+PiBDQzog SmFuIEtpc3prYSA8amFuLmtpc3prYUBzaWVtZW5zLmNvbT4NCj4+IENDOiBBbnRob255IEdyZWVu IDxncmVlbkBtb3hpZWxvZ2ljLmNvbT4NCj4+IENDOiBTdGFmZm9yZCBIb3JuZSA8c2hvcm5lQGdt YWlsLmNvbT4NCj4+IENDOiBHdWFuIFh1ZXRhbyA8Z3h0QG1wcmMucGt1LmVkdS5jbj4NCj4+IEND OiBNYXggRmlsaXBwb3YgPGpjbXZia2JjQGdtYWlsLmNvbT4NCj4+IENDOiBxZW11LWJsb2NrQG5v bmdudS5vcmcNCj4+IENDOiBpbnRlZ3JhdGlvbkBnbHVzdGVyLm9yZw0KPj4gQ0M6IHNoZWVwZG9n QGxpc3RzLndwa2cub3JnDQo+PiBDQzogcWVtdS1hcm1Abm9uZ251Lm9yZw0KPj4gQ0M6IHhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPj4gQ0M6IHFlbXUtcHBjQG5vbmdudS5vcmcNCj4+ IENDOiBxZW11LXMzOTB4QG5vbmdudS5vcmcNCj4+IENDOiBxZW11LXJpc2N2QG5vbmdudS5vcmcN Cj4+DQo+PiAgIGluY2x1ZGUvcWFwaS9lcnJvci5oIHwgMzggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKykN Cj4+DQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9xYXBpL2Vycm9yLmggYi9pbmNsdWRlL3FhcGkv ZXJyb3IuaA0KPj4gaW5kZXggZDY4OThkODMzYi4uNDcyMzhkOTA2NSAxMDA2NDQNCj4+IC0tLSBh L2luY2x1ZGUvcWFwaS9lcnJvci5oDQo+PiArKysgYi9pbmNsdWRlL3FhcGkvZXJyb3IuaA0KPj4g QEAgLTM0NSw2ICszNDUsNDQgQEAgdm9pZCBlcnJvcl9zZXRfaW50ZXJuYWwoRXJyb3IgKiplcnJw LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvckNsYXNzIGVycl9jbGFzcywgY29u c3QgY2hhciAqZm10LCAuLi4pDQo+PiAgICAgICBHQ0NfRk1UX0FUVFIoNiwgNyk7DQo+PiAgIA0K Pj4gK3R5cGVkZWYgc3RydWN0IEVycm9yUHJvcGFnYXRvciB7DQo+PiArICAgIEVycm9yICpsb2Nh bF9lcnI7DQo+PiArICAgIEVycm9yICoqZXJycDsNCj4+ICt9IEVycm9yUHJvcGFnYXRvcjsNCj4+ ICsNCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgZXJyb3JfcHJvcGFnYXRvcl9jbGVhbnVwKEVycm9y UHJvcGFnYXRvciAqcHJvcCkNCj4+ICt7DQo+PiArICAgIGVycm9yX3Byb3BhZ2F0ZShwcm9wLT5l cnJwLCBwcm9wLT5sb2NhbF9lcnIpOw0KPj4gK30NCj4+ICsNCj4+ICtHX0RFRklORV9BVVRPX0NM RUFOVVBfQ0xFQVJfRlVOQyhFcnJvclByb3BhZ2F0b3IsIGVycm9yX3Byb3BhZ2F0b3JfY2xlYW51 cCk7DQo+PiArDQo+PiArLyoNCj4+ICsgKiBFUlJQX0FVVE9fUFJPUEFHQVRFDQo+PiArICoNCj4+ ICsgKiBUaGlzIG1hY3JvIGlzIGNyZWF0ZWQgdG8gYmUgdGhlIGZpcnN0IGxpbmUgb2YgYSBmdW5j dGlvbiB3aXRoIEVycm9yICoqZXJycA0KPj4gKyAqIE9VVCBwYXJhbWV0ZXIuIEl0J3MgbmVlZGVk IG9ubHkgaW4gY2FzZXMgd2hlcmUgd2Ugd2FudCB0byB1c2UgZXJyb3JfcHJlcGVuZCwNCj4+ICsg KiBlcnJvcl9hcHBlbmRfaGludCBvciBkZXJlZmVyZW5jZSAqZXJycC4gSXQncyBzdGlsbCBzYWZl IChidXQgdXNlbGVzcykgaW4NCj4+ICsgKiBvdGhlciBjYXNlcy4NCj4+ICsgKg0KPj4gKyAqIElm IGVycnAgaXMgTlVMTCBvciBwb2ludHMgdG8gZXJyb3JfZmF0YWwsIGl0IGlzIHJld3JpdHRlbiB0 byBwb2ludCB0byBhDQo+PiArICogbG9jYWwgRXJyb3Igb2JqZWN0LCB3aGljaCB3aWxsIGJlIGF1 dG9tYXRpY2FsbHkgcHJvcGFnYXRlZCB0byB0aGUgb3JpZ2luYWwNCj4+ICsgKiBlcnJwIG9uIGZ1 bmN0aW9uIGV4aXQgKHNlZSBlcnJvcl9wcm9wYWdhdG9yX2NsZWFudXApLg0KPj4gKyAqDQo+PiAr ICogQWZ0ZXIgaW52b2NhdGlvbiBvZiB0aGlzIG1hY3JvIGl0IGlzIGFsd2F5cyBzYWZlIHRvIGRl cmVmZXJlbmNlIGVycnANCj4+ICsgKiAoYXMgaXQncyBub3QgTlVMTCBhbnltb3JlKSBhbmQgdG8g YWRkIGluZm9ybWF0aW9uIChieSBlcnJvcl9wcmVwZW5kIG9yDQo+PiArICogZXJyb3JfYXBwZW5k X2hpbnQpDQo+PiArICogKGFzLCBpZiBpdCB3YXMgZXJyb3JfZmF0YWwsIHdlIHN3YXBwZWQgaXQg d2l0aCBhIGxvY2FsX2Vycm9yIHRvIGJlDQo+PiArICogcHJvcGFnYXRlZCBvbiBjbGVhbnVwKS4N Cj4+ICsgKg0KPj4gKyAqIE5vdGU6IHdlIGRvbid0IHdyYXAgdGhlIGVycm9yX2Fib3J0IGNhc2Us IGFzIHdlIHdhbnQgcmVzdWx0aW5nIGNvcmVkdW1wDQo+PiArICogdG8gcG9pbnQgdG8gdGhlIHBs YWNlIHdoZXJlIHRoZSBlcnJvciBoYXBwZW5lZCwgbm90IHRvIGVycm9yX3Byb3BhZ2F0ZS4NCj4+ ICsgKi8NCj4+ICsjZGVmaW5lIEVSUlBfQVVUT19QUk9QQUdBVEUoKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+PiArICAgIGdfYXV0byhFcnJvclByb3BhZ2F0b3IpIF9hdXRv X2VycnBfcHJvcCA9IHsuZXJycCA9IGVycnB9OyAgXA0KPj4gKyAgICBlcnJwID0gKChlcnJwID09 IE5VTEwgfHwgKmVycnAgPT0gZXJyb3JfZmF0YWwpICAgICAgICAgICAgIFwNCj4+ICsgICAgICAg ICAgICA/ICZfYXV0b19lcnJwX3Byb3AubG9jYWxfZXJyIDogZXJycCkNCj4+ICsNCj4+ICAgLyoN Cj4+ICAgICogU3BlY2lhbCBlcnJvciBkZXN0aW5hdGlvbiB0byBhYm9ydCBvbiBlcnJvci4NCj4+ ICAgICogU2VlIGVycm9yX3NldGcoKSBhbmQgZXJyb3JfcHJvcGFnYXRlKCkgZm9yIGRldGFpbHMu DQo+IA0KPiBNaXNzaW5nOiB1cGRhdGUgb2YgdGhlIGJpZyBjb21tZW50IHN0YXJ0aW5nIHdpdGgg IkVycm9yIHJlcG9ydGluZyBzeXN0ZW0NCj4gbG9vc2VseSBwYXR0ZXJuZWQgYWZ0ZXIgR2xpYidz IEdFcnJvci4iDQo+IA0KDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KVmxhZGltaXINCg==