From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 7B5313857809 for ; Tue, 20 Oct 2020 15:55:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7B5313857809 IronPort-SDR: u4obkOy3Be3JSITWNAuH9lqkzT8Q4c4Wpo4C0B+Q2lgKKdfRp/bu/WobWVLMCHogoM3aCXekzq LeIvbJYCtxxQ== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="167322344" X-IronPort-AV: E=Sophos;i="5.77,397,1596524400"; d="scan'208";a="167322344" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2020 08:55:14 -0700 IronPort-SDR: LHoKF8D7FA9gaESCMpHu6oRZOK0YtV2Cp8Ebubczp6ehWobijBSSRPfjQsPz9Ablm7Jqn8tfSr el8pp4nKagOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,397,1596524400"; d="scan'208";a="392419799" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga001.jf.intel.com with ESMTP; 20 Oct 2020 08:55:14 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 08:55:13 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 20 Oct 2020 08:55:13 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 20 Oct 2020 08:55:13 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 20 Oct 2020 08:55:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oWcBE01k50eF6euR1Uq3z0WbpuE0nmLuHoWXZreV9El2+aP0NZXNF+9BYMBXN69eAxNTR1IVDC2TDpYllOmqGxumiDtqm0vJjWFAIgnRuZbvXMsPtSTLyatlIHaLkrwZyBRGV2CkKDvyDCpHcj7yCp6dJoe+0x0Hz5zm5mBBiMYLTTAv7S7W/nS1bYbHh3QnGJCREk/6e+6afWSlbMOpMyZ1hp44OiHQ/89jQuJw1YhK1kq6vOq0vtDRLVX7VrIllav8ejNaYTWfQso22ba1NuatlMDLY2Ntv7W7BC2EN7KFqLUKcCEe/lAtic0e69qF6J4DJFz7LkXOczemECuLAA== 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=8+Co5I3NSkK8l2Z4IhBtvpl1m4V6bt7nE2e6XOGpruY=; b=obhSUv7GJjl8RcZrlLZ3U4hqS5e2/aU0Vmgnd7QvG+DC8A3FcbJcFz1dM5m/m4eaKVs8IRaUFux9HSEAnjPbx+DV6LIoNoK80caRYS1QDbaTLKcJDmGSpD0aAXbmu7NwycASRqryZoDwLUisdeQV1+C3sS84nll9hY3LCu+SLMF9zQu2NPwFrbtsfCZgd6ObWIkqg+GiovPqPki5Erh5pRIGYx6/sNfPk2KWqI+KiTJvVhUzWd0Qy9Nrvbk+r7YBDlXyMmNCkhI4FZ1ZBxN5DL2ZzMTjz1EBlCC4QpBZd0U/WnFqKSrN58mRcsZervLvElXAEh/G1BoAqGI3xnjkNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN6PR11MB1858.namprd11.prod.outlook.com (2603:10b6:404:100::22) by BN7PR11MB2642.namprd11.prod.outlook.com (2603:10b6:406:ab::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.23; Tue, 20 Oct 2020 15:55:11 +0000 Received: from BN6PR11MB1858.namprd11.prod.outlook.com ([fe80::145f:a2eb:7f23:6063]) by BN6PR11MB1858.namprd11.prod.outlook.com ([fe80::145f:a2eb:7f23:6063%10]) with mapi id 15.20.3477.028; Tue, 20 Oct 2020 15:55:11 +0000 From: "Strasuns, Mihails" To: Simon Marchi , "gdb-patches@sourceware.org" Subject: RE: [PATCH] gdb/dwarf: fix reading subprogram with DW_AT_specification (PR gdb/26693) Thread-Topic: [PATCH] gdb/dwarf: fix reading subprogram with DW_AT_specification (PR gdb/26693) Thread-Index: AQHWoWvgBBgjnoYiKUuELaVWCGkzf6mgpGwAgAALRQA= Date: Tue, 20 Oct 2020 15:55:11 +0000 Message-ID: References: <20201013141849.24640-1-simon.marchi@polymtl.ca> <4613bd56-8d18-0c60-40dd-878f2a6765be@polymtl.ca> In-Reply-To: <4613bd56-8d18-0c60-40dd-878f2a6765be@polymtl.ca> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action x-originating-ip: [95.90.197.157] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 045eebda-0b58-4e16-1d51-08d8751086d6 x-ms-traffictypediagnostic: BN7PR11MB2642: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 648JeuWzCk0MMSGZVnlzCB6GiIMUmmV9fBiGJg8LO8hooLzdU9rKi93BasMv6eDfpD/VKIXAnuCr9+0MB17yZhYrKXVp6lId75v3r0ujlA2Tmo+O5gah/nFXADql5OKuYQdcFQjBKIAAnJT2P6T4yDSWsV5G4dBKEn2OpIi/2YybL7Ohj9NmDv1RBfMDvwktaPWUjfxf/qhuflfwleD6SpKrFMgOIK0NXxpzUEW761bI8b0Mc5vyLA7gM6uvOfPy9rpqiLV3UYtT8zliJoNU40rBk6euQAB5xsrUdPQBsB+pdEJZ/S4uA7Mna5TWqWTA2OysCRfpn/GVYkw28Y1Zsoguw/qhypbmkKDujoEf9cd7G07XFbBakqxcDqeXkijYI/P5gXlDKoS+JavyXhC38ZUfi173cZRzzLB7Zyqx19Oo8xTF2OVNCfHiasiNlzHI x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB1858.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(86362001)(4001150100001)(71200400001)(8676002)(8936002)(30864003)(5660300002)(83380400001)(110136005)(316002)(53546011)(478600001)(186003)(6506007)(966005)(33656002)(66946007)(66556008)(64756008)(66446008)(52536014)(76116006)(66476007)(26005)(9686003)(55016002)(7696005)(2906002)(2004002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: a3KtEYyGbAR0L3u+kGJAqy9v5ERA8JIqDRxNLmcCHDD86NogIYagB1Eqf72qqO60tABrB2tIgcU68bKZdPr5G/ojBDb0SLGjRokW3EjU+dovJQ5iPvZsvYcRFMmP0FvB7AnOdChtLPAJniQxf/zjFyPVv3IKFZZz0J9axbqeyxtkqQVZI5xfsWPi38DsuwAb4ReQLN4iRqkPpvlEPvNxHE0ln1DPhzaKZYtnEmVvY8Pb/z1AdmubLYBvCbYP2rPmqIBsXCIlJ+ewa+PSXmr6UyxEeegSdzPtmZQkMowuu/kMf9nnRoBwSrqU8poPMgWMVyHx5xCwsl5qufCLPxc1Qo/gPLWPKcGkkpR9J8v93UAWxUHeAHQSiVoVyJFsvNt8ksKqKJOtIOj08meCv3cZ3BVIbvIlTJqXn/4fsOD/084oLGABnJ8xCCud44wlYDJOwIuXzlQfmqwW4499r63Zi+wNPoDxuIQPxXNQ1AsL849ZkjlZHSrwvQupen6kMVw70VbMfHZdYtKIzXqUs5UXSw7EcsFqia32keQdwFyzIV79VwYbDE1gRGPmPh1dAVMplRn9I/feH1vzy+AjS2/Cntfck7d03fcTG+AJqH+XSEHf0jg8up+7XXWnqzGuessVKO0VbV1OXROm4GS92ehmVw== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB1858.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 045eebda-0b58-4e16-1d51-08d8751086d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2020 15:55:11.3351 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 614OgPMkhxmowCyaIJpIcvGwl4Zw1J10/CfFOBCvvecQGLDpDaVnBCI9HWJa0sShdkPMKbcDkQq7y3eh19oWlLwYhIBFCNIvPw8kyttP9fo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2642 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Oct 2020 15:55:40 -0000 SGVsbG8sDQoNCkNvcHlpbmcgY29tbWVudCBmcm9tIGFub3RoZXIgdGhyZWFkIC0gSSBjYW4gY29u ZmlybSB0aGF0IHRoZSBmaXggd29ya3MgZm9yIHRoZSBvcmlnaW5hbCBhcHBsaWNhdGlvbiB3aGVy ZSB0aGUgcHJvYmxlbSB3YXMgZm91bmQsIGJ1dCBjYW4ndCBjb21tZW50IG9uIHRoZSBjb2RlIGl0 c2VsZi4NCg0KQlIsDQpNaWhhaWxzDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogU2ltb24gTWFyY2hpIDxzaW1vbi5tYXJjaGlAcG9seW10bC5jYT4NCj4gU2VudDogVHVl c2RheSwgT2N0b2JlciAyMCwgMjAyMCA1OjE0IFBNDQo+IFRvOiBnZGItcGF0Y2hlc0Bzb3VyY2V3 YXJlLm9yZw0KPiBDYzogU3RyYXN1bnMsIE1paGFpbHMgPG1paGFpbHMuc3RyYXN1bnNAaW50ZWwu Y29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBnZGIvZHdhcmY6IGZpeCByZWFkaW5nIHN1YnBy b2dyYW0gd2l0aA0KPiBEV19BVF9zcGVjaWZpY2F0aW9uIChQUiBnZGIvMjY2OTMpDQo+IA0KPiBQ aW5nLiAgVGhpcyBpcyB0aGUgbGFzdCBibG9ja2VyIGZvciB0aGUgcmVsZWFzZS4NCj4gDQo+IFNp bW9uDQo+IA0KPiBPbiAyMDIwLTEwLTEzIDEwOjE4IGEubS4sIFNpbW9uIE1hcmNoaSB3cm90ZToN Cj4gPiBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IDcxODhlZDAyZDJhNyAo IlJlcGxhY2UNCj4gPiBkd2FyZjJfcGVyX2N1X2RhdGE6OmN1IGJhY2tsaW5rIHdpdGggcGVyLW9i amZpbGUgbWFwIikuDQo+ID4NCj4gPiBUaGlzIHBhdGNoIHRhcmdldHMgYm90aCBtYXN0ZXIgYW5k IGdkYi0xMC1icmFuY2gsIHNpbmNlIHRoaXMgaXMgYQ0KPiA+IHJlZ3Jlc3Npb24gZnJvbSBHREIg OS4NCj4gPg0KPiA+IEFuYWx5c2lzDQo+ID4gLS0tLS0tLS0NCj4gPg0KPiA+IFRoZSBEV0FSRiBn ZW5lcmF0ZWQgYnkgdGhlIGluY2x1ZGVkIHRlc3QgY2FzZSBsb29rcyBsaWtlOg0KPiA+DQo+ID4g ICAgIDB4MDAwMDAwMGI6IERXX1RBR19jb21waWxlX3VuaXQNCj4gPiAgICAgICAgICAgICAgICAg ICBEV19BVF9sYW5ndWFnZSBbRFdfRk9STV9zZGF0YV0gICAgKDQpDQo+ID4NCj4gPiAgICAgMHgw MDAwMDAwZDogICBEV19UQUdfYmFzZV90eXBlDQo+ID4gICAgICAgICAgICAgICAgICAgICBEV19B VF9uYW1lIFtEV19GT1JNX3N0cmluZ10gICAgICgiaW50IikNCj4gPiAgICAgICAgICAgICAgICAg ICAgIERXX0FUX2J5dGVfc2l6ZSBbRFdfRk9STV9kYXRhMV0gKDB4MDQpDQo+ID4gICAgICAgICAg ICAgICAgICAgICBEV19BVF9lbmNvZGluZyBbRFdfRk9STV9zZGF0YV0gICg1KQ0KPiA+DQo+ID4g ICAgIDB4MDAwMDAwMTQ6ICAgRFdfVEFHX3N1YnByb2dyYW0NCj4gPiAgICAgICAgICAgICAgICAg ICAgIERXX0FUX25hbWUgW0RXX0ZPUk1fc3RyaW5nXSAgICAgKCJhcHBseSIpDQo+ID4NCj4gPiAg ICAgMHgwMDAwMDAxYjogICBEV19UQUdfc3VicHJvZ3JhbQ0KPiA+ICAgICAgICAgICAgICAgICAg ICAgRFdfQVRfc3BlY2lmaWNhdGlvbiBbRFdfRk9STV9yZWY0XSAgICAgICgweDAwMDAwMDE0ICJh cHBseSIpDQo+ID4gICAgICAgICAgICAgICAgICAgICBEV19BVF9sb3dfcGMgW0RXX0ZPUk1fYWRk cl0gICAgICgweDAwMDAwMDAwMDAwMDEyMzQpDQo+ID4gICAgICAgICAgICAgICAgICAgICBEV19B VF9oaWdoX3BjIFtEV19GT1JNX2RhdGE4XSAgICgweDAwMDAwMDAwMDAwMDAwMjApDQo+ID4NCj4g PiAgICAgMHgwMDAwMDAzMDogICAgIERXX1RBR190ZW1wbGF0ZV90eXBlX3BhcmFtZXRlcg0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBEV19BVF9uYW1lIFtEV19GT1JNX3N0cmluZ10gICAoIlQi KQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBEV19BVF90eXBlIFtEV19GT1JNX3JlZjRdICAg ICAoMHgwMDAwMDAwZCAiaW50IikNCj4gPg0KPiA+ICAgICAweDAwMDAwMDM3OiAgICAgTlVMTA0K PiA+DQo+ID4gICAgIDB4MDAwMDAwMzg6ICAgTlVMTA0KPiA+DQo+ID4gU2ltcGx5IGxvYWRpbmcg dGhlIGZpbGUgaW4gR0RCIG1ha2VzIGl0IGNyYXNoOg0KPiA+DQo+ID4gICAgICQgLi9nZGIgLW54 IC0tZGF0YS1kaXJlY3Rvcnk9ZGF0YS1kaXJlY3RvcnkNCj4gdGVzdHN1aXRlL291dHB1dHMvZ2Ri LmR3YXJmMi9wcjI2NjkzL3ByMjY2OTMNCj4gPiAgICAgWzFdICAgIDE1MTg4IGFib3J0IChjb3Jl IGR1bXBlZCkgIC4vZ2RiIC1ueCAtLWRhdGEtZGlyZWN0b3J5PWRhdGEtDQo+IGRpcmVjdG9yeQ0K PiA+DQo+ID4gVGhlIGNyYXNoIGhhcHBlbnMgaGVyZSwgd2hlcmUgaHRhYiAoYSBkd2FyZjJfY3U6 OmRpZV9oYXNoIGZpZWxkKSBpcw0KPiA+IHVuZXhwZWN0ZWRseSBOVUxMIHdoaWxlIGdlbmVyYXRp bmcgcGFydGlhbCBzeW1ib2xzOg0KPiA+DQo+ID4gICAgICMwICAweDAwMDA1NTU1NWZhMjgxODgg aW4gaHRhYl9maW5kX3dpdGhfaGFzaCAoaHRhYj0weDAsDQo+IGVsZW1lbnQ9MHg3ZmZmZmZmZmJm YTAsIGhhc2g9MjcpIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+IGdkYi9saWJpYmVy dHkvaGFzaHRhYi5jOjU5MQ0KPiA+ICAgICAjMSAgMHgwMDAwNTU1NTVjYjRlYjJlIGluIGZvbGxv d19kaWVfb2Zmc2V0IChzZWN0X29mZj0odW5rbm93bjogMjcpLA0KPiBvZmZzZXRfaW5fZHd6PTAs IHJlZl9jdT0weDdmZmZmZmZmYzExMCkgYXQgL2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy0NCj4g Z2RiL2dkYi9kd2FyZjIvcmVhZC5jOjIyOTUxDQo+ID4gICAgICMyICAweDAwMDA1NTU1NWNiNGVk ZmIgaW4gZm9sbG93X2RpZV9yZWYgKHNyY19kaWU9MHgwLA0KPiBhdHRyPTB4N2ZmZmZmZmZjMTMw LCByZWZfY3U9MHg3ZmZmZmZmZmMxMTApIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+ IGdkYi9nZGIvZHdhcmYyL3JlYWQuYzoyMjk2OA0KPiA+ICAgICAjMyAgMHgwMDAwNTU1NTVjYWE0 OGM1IGluIHBhcnRpYWxfZGllX2Z1bGxfbmFtZSAocGRpPTB4NjIxMDAwMTU3ZTcwLA0KPiBjdT0w eDYxNTAwMDAyM2Y4MCkgYXQgL2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy0NCj4gZ2RiL2dkYi9k d2FyZjIvcmVhZC5jOjg0NDENCj4gPiAgICAgIzQgIDB4MDAwMDU1NTU1Y2FhNGQ3OSBpbiBhZGRf cGFydGlhbF9zeW1ib2wgKHBkaT0weDYyMTAwMDE1N2U3MCwNCj4gY3U9MHg2MTUwMDAwMjNmODAp IGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+IGdkYi9nZGIvZHdhcmYyL3JlYWQuYzo4 NDY5DQo+ID4gICAgICM1ICAweDAwMDA1NTU1NWNhYTdkOGMgaW4gYWRkX3BhcnRpYWxfc3VicHJv Z3JhbQ0KPiAocGRpPTB4NjIxMDAwMTU3ZTcwLCBsb3dwYz0weDdmZmZmZmZmYzVjMCwgaGlnaHBj PTB4N2ZmZmZmZmZjNWUwLA0KPiBzZXRfYWRkcm1hcD0xLCBjdT0weDYxNTAwMDAyM2Y4MCkgYXQg L2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy0NCj4gZ2RiL2dkYi9kd2FyZjIvcmVhZC5jOjg3MzcN Cj4gPiAgICAgIzYgIDB4MDAwMDU1NTU1Y2FhMjY1YyBpbiBzY2FuX3BhcnRpYWxfc3ltYm9scw0K PiAoZmlyc3RfZGllPTB4NjIxMDAwMTU3ZTAwLCBsb3dwYz0weDdmZmZmZmZmYzVjMCwgaGlnaHBj PTB4N2ZmZmZmZmZjNWUwLA0KPiBzZXRfYWRkcm1hcD0xLCBjdT0weDYxNTAwMDAyM2Y4MCkgYXQg L2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy0NCj4gZ2RiL2dkYi9kd2FyZjIvcmVhZC5jOjgyMzAN Cj4gPiAgICAgIzcgIDB4MDAwMDU1NTU1Y2E5OGUzZiBpbiBwcm9jZXNzX3BzeW10YWJfY29tcF91 bml0X3JlYWRlcg0KPiAocmVhZGVyPTB4N2ZmZmZmZmZjNmIwLCBpbmZvX3B0cj0weDYwNjAwMDA5 NjUwZCAiXDAwM2ludCIsDQo+IGNvbXBfdW5pdF9kaWU9MHg2MjEwMDAxNTdkMTAsIHByZXRlbmRf bGFuZ3VhZ2U9bGFuZ3VhZ2VfbWluaW1hbCkgYXQNCj4gL2hvbWUvc2ltYXJrL3NyYy9iaW51dGls cy1nZGIvZ2RiL2R3YXJmMi9yZWFkLmM6NzYxNA0KPiA+ICAgICAjOCAgMHgwMDAwNTU1NTVjYTlh YTJjIGluIHByb2Nlc3NfcHN5bXRhYl9jb21wX3VuaXQNCj4gKHRoaXNfY3U9MHg2MjEwMDAxNTU1 MTAsIHBlcl9vYmpmaWxlPTB4NjEzMDAwMDA5ZjgwLA0KPiB3YW50X3BhcnRpYWxfdW5pdD1mYWxz ZSwgcHJldGVuZF9sYW5ndWFnZT1sYW5ndWFnZV9taW5pbWFsKSBhdA0KPiAvaG9tZS9zaW1hcmsv c3JjL2JpbnV0aWxzLWdkYi9nZGIvZHdhcmYyL3JlYWQuYzo3NzEyDQo+ID4gICAgICM5ICAweDAw MDA1NTU1NWNhYTA1MWEgaW4gZHdhcmYyX2J1aWxkX3BzeW10YWJzX2hhcmQNCj4gPiAocGVyX29i amZpbGU9MHg2MTMwMDAwMDlmODApIGF0DQo+ID4gL2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy1n ZGIvZ2RiL2R3YXJmMi9yZWFkLmM6ODA3Mw0KPiA+DQo+ID4gVGhlIHNwZWNpYWwgdGhpbmcgYWJv dXQgdGhpcyBEV0FSRiBpcyB0aGF0IHRoZSBzdWJwcm9ncmFtIGF0IDB4MWIgaXMgYQ0KPiA+IHRl bXBsYXRlIHNwZWNpYWxpemF0aW9uIGRlc2NyaWJlZCB3aXRoIERXX0FUX3NwZWNpZmljYXRpb24s IGFuZCBoYXMgbm8NCj4gPiBEV19BVF9uYW1lIGluIGl0c2VsZi4gIFRvIGNvbXB1dGUgdGhlIG5h bWUgb2YgdGhpcyBzdWJwcm9ncmFtLA0KPiA+IHBhcnRpYWxfZGllX2Z1bGxfbmFtZSBuZWVkcyB0 byBsb2FkIHRoZSBmdWxsIERJRSBmb3IgdGhpcyBwYXJ0aWFsIERJRS4NCj4gPiBUaGUgbmFtZSBp cyBnZW5lcmF0ZWQgZnJvbSB0aGUgdGVtcGxhdGVkIGZ1bmN0aW9uIG5hbWUgYW5kIHRoZSBhY3R1 YWwNCj4gPiB0ZW1wYWxhdGUgcGFyYW1ldGVyIHZhbHVlcyBvZiB0aGUgc3BlY2lhbGl6YXRpb24u DQo+ID4NCj4gPiBUbyBsb2FkIHRoZSBmdWxsIERJRSwgcGFydGlhbF9kaWVfZnVsbF9uYW1lIGNy ZWF0ZXMgYSBkdW1teSBEV0FSRg0KPiA+IGF0dHJpYnV0ZSBvZiBmb3JtIERXX0ZPUk1fcmVmX2Fk ZHIgdGhhdCBwb2ludHMgdG8gb3VyIHN1YnByb2dyYW0ncw0KPiA+IERJRSwgYW5kIGNhbGxzIGZv bGxvd19kaWVfcmVmIG9uIGl0LiAgVGhpcyBldmVudHVhbGx5IGNhdXNlcw0KPiA+IGxvYWRfZnVs bF9jb21wX3VuaXQgdG8gYmUgY2FsbGVkIGZvciB0aGUgZXhhY3Qgc2FtZSBDVSB3ZSBhcmUNCj4g PiBjdXJyZW50bHkgbWFraW5nIHBhcnRpYWwgc3ltYm9scyBmb3I6DQo+ID4NCj4gPiAgICAgIzAg IGxvYWRfZnVsbF9jb21wX3VuaXQgKHRoaXNfY3U9MHg2MjEwMDAxNTU1MTAsDQo+IHBlcl9vYmpm aWxlPTB4NjEzMDAwMDA5ZjgwLCBza2lwX3BhcnRpYWw9ZmFsc2UsDQo+IHByZXRlbmRfbGFuZ3Vh Z2U9bGFuZ3VhZ2VfbWluaW1hbCkgYXQgL2hvbWUvc2ltYXJrL3NyYy9iaW51dGlscy0NCj4gZ2Ri L2dkYi9kd2FyZjIvcmVhZC5jOjkyMzgNCj4gPiAgICAgIzEgIDB4MDAwMDU1NTU1Y2I0ZTk0MyBp biBmb2xsb3dfZGllX29mZnNldCAoc2VjdF9vZmY9KHVua25vd246IDI3KSwNCj4gb2Zmc2V0X2lu X2R3ej0wLCByZWZfY3U9MHg3ZmZmZmZmZmMxMTApIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRp bHMtDQo+IGdkYi9nZGIvZHdhcmYyL3JlYWQuYzoyMjk0Mg0KPiA+ICAgICAjMiAgMHgwMDAwNTU1 NTVjYjRlZGZiIGluIGZvbGxvd19kaWVfcmVmIChzcmNfZGllPTB4MCwNCj4gYXR0cj0weDdmZmZm ZmZmYzEzMCwgcmVmX2N1PTB4N2ZmZmZmZmZjMTEwKSBhdCAvaG9tZS9zaW1hcmsvc3JjL2JpbnV0 aWxzLQ0KPiBnZGIvZ2RiL2R3YXJmMi9yZWFkLmM6MjI5NjgNCj4gPiAgICAgIzMgIDB4MDAwMDU1 NTU1Y2FhNDhjNSBpbiBwYXJ0aWFsX2RpZV9mdWxsX25hbWUgKHBkaT0weDYyMTAwMDE1N2U3MCwN Cj4gY3U9MHg2MTUwMDAwMjNmODApIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+IGdk Yi9nZGIvZHdhcmYyL3JlYWQuYzo4NDQxDQo+ID4gICAgICM0ICAweDAwMDA1NTU1NWNhYTRkNzkg aW4gYWRkX3BhcnRpYWxfc3ltYm9sIChwZGk9MHg2MjEwMDAxNTdlNzAsDQo+IGN1PTB4NjE1MDAw MDIzZjgwKSBhdCAvaG9tZS9zaW1hcmsvc3JjL2JpbnV0aWxzLQ0KPiBnZGIvZ2RiL2R3YXJmMi9y ZWFkLmM6ODQ2OQ0KPiA+ICAgICAjNSAgMHgwMDAwNTU1NTVjYWE3ZDhjIGluIGFkZF9wYXJ0aWFs X3N1YnByb2dyYW0NCj4gKHBkaT0weDYyMTAwMDE1N2U3MCwgbG93cGM9MHg3ZmZmZmZmZmM1YzAs IGhpZ2hwYz0weDdmZmZmZmZmYzVlMCwNCj4gc2V0X2FkZHJtYXA9MSwgY3U9MHg2MTUwMDAwMjNm ODApIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+IGdkYi9nZGIvZHdhcmYyL3JlYWQu Yzo4NzM3DQo+ID4gICAgICM2ICAweDAwMDA1NTU1NWNhYTI2NWMgaW4gc2Nhbl9wYXJ0aWFsX3N5 bWJvbHMNCj4gKGZpcnN0X2RpZT0weDYyMTAwMDE1N2UwMCwgbG93cGM9MHg3ZmZmZmZmZmM1YzAs IGhpZ2hwYz0weDdmZmZmZmZmYzVlMCwNCj4gc2V0X2FkZHJtYXA9MSwgY3U9MHg2MTUwMDAwMjNm ODApIGF0IC9ob21lL3NpbWFyay9zcmMvYmludXRpbHMtDQo+IGdkYi9nZGIvZHdhcmYyL3JlYWQu Yzo4MjMwDQo+ID4gICAgICM3ICAweDAwMDA1NTU1NWNhOThlM2YgaW4gcHJvY2Vzc19wc3ltdGFi X2NvbXBfdW5pdF9yZWFkZXINCj4gKHJlYWRlcj0weDdmZmZmZmZmYzZiMCwgaW5mb19wdHI9MHg2 MDYwMDAwOTY1MGQgIlwwMDNpbnQiLA0KPiBjb21wX3VuaXRfZGllPTB4NjIxMDAwMTU3ZDEwLCBw cmV0ZW5kX2xhbmd1YWdlPWxhbmd1YWdlX21pbmltYWwpIGF0DQo+IC9ob21lL3NpbWFyay9zcmMv YmludXRpbHMtZ2RiL2dkYi9kd2FyZjIvcmVhZC5jOjc2MTQNCj4gPiAgICAgIzggIDB4MDAwMDU1 NTU1Y2E5YWEyYyBpbiBwcm9jZXNzX3BzeW10YWJfY29tcF91bml0DQo+ICh0aGlzX2N1PTB4NjIx MDAwMTU1NTEwLCBwZXJfb2JqZmlsZT0weDYxMzAwMDAwOWY4MCwNCj4gd2FudF9wYXJ0aWFsX3Vu aXQ9ZmFsc2UsIHByZXRlbmRfbGFuZ3VhZ2U9bGFuZ3VhZ2VfbWluaW1hbCkgYXQNCj4gL2hvbWUv c2ltYXJrL3NyYy9iaW51dGlscy1nZGIvZ2RiL2R3YXJmMi9yZWFkLmM6NzcxMg0KPiA+ICAgICAj OSAgMHgwMDAwNTU1NTVjYWEwNTFhIGluIGR3YXJmMl9idWlsZF9wc3ltdGFic19oYXJkDQo+ID4g KHBlcl9vYmpmaWxlPTB4NjEzMDAwMDA5ZjgwKSBhdA0KPiA+IC9ob21lL3NpbWFyay9zcmMvYmlu dXRpbHMtZ2RiL2dkYi9kd2FyZjIvcmVhZC5jOjgwNzMNCj4gPg0KPiA+IGxvYWRfZnVsbF9jb21w X3VuaXQgY3JlYXRlcyBhIGN1dHVfcmVhZGVyIGZvciB0aGUgQ1UuICBTaW5jZSBhDQo+ID4gZHdh cmYyX2N1IG9iamVjdCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhlIENVLCBsb2FkX2Z1bGxfY29tcF91 bml0IGlzDQo+ID4gZXhwZWN0ZWQgdG8gZmluZCBpdCBhbmQgcGFzcyBpdCB0byBjdXR1X3JlYWRl ciwgc28gdGhhdCBjdXR1X3JlYWRlcg0KPiA+IGRvZXNuJ3QgY3JlYXRlIGEgbmV3IGR3YXJmMl9j dSBmb3IgdGhlIENVLg0KPiA+DQo+ID4gQW5kIHRoaXMgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBiZWZvcmUgYW5kIGFmdGVyIHRoZSByZWdyZXNzaW9uLg0KPiA+IEJlZm9yZSBjb21taXQgNzE4 OGVkMDJkMmE3LCB0aGUgZHdhcmYyX3Blcl9jdV9kYXRhIC0+IGR3YXJmMl9jdSBsaW5rDQo+ID4g d2FzIGEgc2ltcGxlIHBvaW50ZXIgaW4gZHdhcmYyX3Blcl9jdV9kYXRhLiAgVGhpcyBwb2ludGVy IHdhcyBzZXQgdXANCj4gPiB3aGVuIHN0YXJ0aW5nIHRoZSByZWFkIHRoZSBwYXJ0aWFsIHN5bWJv bHMuICBTbyBpdCB3YXMgYWxyZWFkeQ0KPiA+IGF2YWlsYWJsZSBhdCB0aGF0IHBvaW50IHdoZXJl IGxvYWRfZnVsbF9jb21wX3VuaXQgZ2V0cyBjYWxsZWQuDQo+ID4gUG9zdC03MTg4ZWQwMmQyYTcs IHRoaXMgbGluayBpcyBwZXItb2JqZmlsZSwga2VwdCBpbiB0aGUNCj4gPiBkd2FyZjJfcGVyX29i amZpbGU6Om1fZHdhcmYyX2N1cyBoYXNoIG1hcC4gIFRoZSBlbnRyeSBpcyBvbmx5IHB1dCBpbg0K PiA+IHRoZSBoYXNoIG1hcCBvbmNlIHRoZSBwYXJ0aWFsIHN5bWJvbHMgaGF2ZSBiZWVuIHN1Y2Nl c3NmdWxseSByZWFkLCB3aGVuDQo+IGN1dHVfcmVhZGVyOjprZWVwIGlzIGNhbGxlZC4NCj4gPiBU aGVyZWZvcmUsIGl0IGlzIF9ub3RfIHNldCBhdCB0aGUgcG9pbnQgbG9hZF9mdWxsX2NvbXBfdW5p dCBpcyBjYWxsZWQuDQo+ID4NCj4gPiBBcyBhIGNvbnNlcXVlbmNlLCBhIG5ldyBkd2FyZjJfY3Ug b2JqZWN0IGdldHMgY3JlYXRlZCBhbmQgaW5pdGlhbGl6ZWQNCj4gPiBieSBsb2FkX2Z1bGxfY29t cF91bml0IChpbmNsdWRpbmcgaW5pdGlhbGl6aW5nIHRoYXQNCj4gPiBkd2FyZjJfY3U6OmRpZV9o YXNoIGZpZWxkKS4gIE1lYW53aGlsZSwgdGhlIGR3YXJmMl9jdSBvYmplY3QgY3JlYXRlZA0KPiA+ IGFuZCB1c2VkIGJ5IHRoZSBjYWxsZXJzIHVwIHRoZSBzdGFjayBkb2VzIG5vdCBnZXQgaW5pdGlh bGl6ZWQgZm9yIGZ1bGwNCj4gPiBzeW1ib2wgcmVhZGluZywgYW5kIHRoZSBkd2FyZjJfY3U6OmRp ZV9oYXNoIGZpZWxkIHN0YXlzIHVuZXhwZWN0ZWRseQ0KPiBOVUxMLg0KPiA+DQo+ID4gU29sdXRp b24NCj4gPiAtLS0tLS0tLQ0KPiA+DQo+ID4gU2luY2UgdGhlIGNhbGxlciBvZiBsb2FkX2Z1bGxf Y29tcF91bml0IGtub3dzIGFib3V0IHRoZSBleGlzdGluZw0KPiA+IGR3YXJmMl9jdSBvYmplY3Qg Zm9yIHRoZSBDVSB3ZSBhcmUgcmVhZGluZyAodGhlIG9uZQ0KPiA+IGxvYWRfZnVsbF9jb21wX3Vu aXQgaXMgZXhwZWN0ZWQgdG8gZmluZCksIHdlIGNhbiBzaW1wbHkgbWFrZSBpdCBwYXNzDQo+ID4g aXQgZG93biwgaW5zdGVhZCBvZiBoYXZpbmcgbG9hZF9mdWxsX2NvbXBfdW5pdCBsb29rIHVwIHRo ZSBwZXItb2JqZmlsZQ0KPiBtYXAuDQo+ID4NCj4gPiBsb2FkX2Z1bGxfY29tcF91bml0IHRoZXJl Zm9yZSBnZXRzIGEgbmV3IGBleGlzdGluZ19jdWAgcGFyYW1ldGVyLiAgQWxsDQo+ID4gb3RoZXIg Y2FsbGVycyBnZXQgdXBkYXRlZCB0byBwYXNzIGBwZXJfb2JqZmlsZS0+Z2V0X2N1IChwZXJfY3Up YCwgc28NCj4gPiB0aGUgYmVoYXZpb3Igc2hvdWxkbid0IGNoYW5nZSBmb3IgdGhlbSwgY29tcGFy ZWQgdG8gdGhlIGN1cnJlbnQgSEVBRC4NCj4gPg0KPiA+IEEgdGVzdCBpcyBhZGRlZCwgd2hpY2gg aXMgdGhlIGJhcmUgbWluaW11bSB0byByZXByb2R1Y2UgdGhlIGlzc3VlLg0KPiA+DQo+ID4gTm90 ZXMNCj4gPiAtLS0tLQ0KPiA+DQo+ID4gVGhlIG9yaWdpbmFsIHByb2JsZW0gd2FzIHJlcHJvZHVj ZWQgYnkgZG93bmxvYWRpbmcNCj4gPg0KPiA+DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL29uZWFw aS1zcmMvb25lVEJCL3JlbGVhc2VzL2Rvd25sb2FkL3YyMDIwLjMvdGJiLQ0KPiAyMDINCj4gPiAw LjMtbGluLnRneg0KPiA+DQo+ID4gYW5kIGxvYWRpbmcgbGlidGJiLnNvIGluIEdEQi4gIFRoaXMg Y29kZSB3YXMgY29tcGlsZWQgd2l0aCB0aGUgSW50ZWwNCj4gPiBDL0MrKyBjb21waWxlci4gIEkg d2FzIG5vdCBhYmxlIHRvIHJlcHJvZHVjZSB0aGUgaXNzdWUgdXNpbmcgR0NDLCBJDQo+ID4gdGhp bmsgYmVjYXVzZSBHQ0MgcHV0cyBhIERXX0FUX25hbWUgaW4gdGhlIHNwZWNpYWxpemVkIHN1YnBy b2dyYW0sIHNvDQo+ID4gdGhlcmUncyBubyBuZWVkIGZvciBwYXJ0aWFsX2RpZV9mdWxsX25hbWUg dG8gbG9hZCB0aGUgZnVsbCBESUUgb2YgdGhlDQo+ID4gc3VicHJvZ3JhbSwgYW5kIHRoZSBmYXVs dHkgY29kZSBkb2Vzbid0IGV4ZWN1dGUuDQo+ID4NCj4gPiBnZGIvQ2hhbmdlTG9nOg0KPiA+DQo+ ID4gCVBSIGdkYi8yNjY5Mw0KPiA+IAkqIGR3YXJmMi9yZWFkLmMgKGxvYWRfZnVsbF9jb21wX3Vu aXQpOiBBZGQgZXhpc3RpbmdfY3UNCj4gPiAJcGFyYW1ldGVyLg0KPiA+IAkobG9hZF9jdSk6IFBh c3MgZXhpc3RpbmcgQ1UuDQo+ID4gCShwcm9jZXNzX2ltcG9ydGVkX3VuaXRfZGllKTogTGlrZXdp c2UuDQo+ID4gCShmb2xsb3dfZGllX29mZnNldCk6IExpa2V3aXNlLg0KPiA+DQo+ID4gZ2RiL3Rl c3RzdWl0ZS9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAJUFIgZ2RiLzI2NjkzDQo+ID4gCSogZ2RiLmR3 YXJmMi90ZW1wbGF0ZS1zcGVjaWZpY2F0aW9uLWZ1bGwtbmFtZS5jOiBOZXcgdGVzdC4NCj4gPiAJ KiBnZGIuZHdhcmYyL3RlbXBsYXRlLXNwZWNpZmljYXRpb24tZnVsbC1uYW1lLmV4cDogTmV3IHRl c3QuDQo+ID4NCj4gPiBDaGFuZ2UtSWQ6IEk1N2M4MDQyZjk2YzQ1ZjE1Nzk3YTM4NDhlNGQzODQx ODFjNTZiYjQ0DQo+ID4gLS0tDQo+ID4gIGdkYi9kd2FyZjIvcmVhZC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDE1ICsrLS0NCj4gPiAgLi4uL3RlbXBsYXRlLXNwZWNpZmljYXRpb24t ZnVsbC1uYW1lLmMgICAgICAgIHwgMjIgKysrKysrDQo+ID4gIC4uLi90ZW1wbGF0ZS1zcGVjaWZp Y2F0aW9uLWZ1bGwtbmFtZS5leHAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysrKysNCj4gPiAg MyBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkgIGNyZWF0 ZSBtb2RlDQo+ID4gMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi90ZW1wbGF0ZS1zcGVj aWZpY2F0aW9uLWZ1bGwtbmFtZS5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IGdkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi90ZW1wbGF0ZS1zcGVjaWZpY2F0aW9uLWZ1bGwtbmFtZS5leHAN Cj4gPg0KPiA+IGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVh ZC5jIGluZGV4DQo+ID4gMmVjMzc4OTEzNWQ2Li5hOGI0ODM3NDIwMGMgMTAwNjQ0DQo+ID4gLS0t IGEvZ2RiL2R3YXJmMi9yZWFkLmMNCj4gPiArKysgYi9nZGIvZHdhcmYyL3JlYWQuYw0KPiA+IEBA IC0xNjA2LDYgKzE2MDYsNyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9hbGxfdHlwZV91bml0cw0KPiA+ IChkd2FyZjJfcGVyX29iamZpbGUgKnBlcl9vYmpmaWxlKTsNCj4gPg0KPiA+ICBzdGF0aWMgdm9p ZCBsb2FkX2Z1bGxfY29tcF91bml0IChkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSwNCj4gPiAg CQkJCSBkd2FyZjJfcGVyX29iamZpbGUgKnBlcl9vYmpmaWxlLA0KPiA+ICsJCQkJIGR3YXJmMl9j dSAqZXhpc3RpbmdfY3UsDQo+ID4gIAkJCQkgYm9vbCBza2lwX3BhcnRpYWwsDQo+ID4gIAkJCQkg ZW51bSBsYW5ndWFnZSBwcmV0ZW5kX2xhbmd1YWdlKTsNCj4gPg0KPiA+IEBAIC0yMzg1LDcgKzIz ODYsOCBAQCBsb2FkX2N1IChkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSwNCj4gZHdhcmYyX3Bl cl9vYmpmaWxlICpwZXJfb2JqZmlsZSwNCj4gPiAgICBpZiAocGVyX2N1LT5pc19kZWJ1Z190eXBl cykNCj4gPiAgICAgIGxvYWRfZnVsbF90eXBlX3VuaXQgKHBlcl9jdSwgcGVyX29iamZpbGUpOw0K PiA+ICAgIGVsc2UNCj4gPiAtICAgIGxvYWRfZnVsbF9jb21wX3VuaXQgKHBlcl9jdSwgcGVyX29i amZpbGUsIHNraXBfcGFydGlhbCwNCj4gbGFuZ3VhZ2VfbWluaW1hbCk7DQo+ID4gKyAgICBsb2Fk X2Z1bGxfY29tcF91bml0IChwZXJfY3UsIHBlcl9vYmpmaWxlLCBwZXJfb2JqZmlsZS0+Z2V0X2N1 DQo+IChwZXJfY3UpLA0KPiA+ICsJCQkgc2tpcF9wYXJ0aWFsLCBsYW5ndWFnZV9taW5pbWFsKTsN Cj4gPg0KPiA+ICAgIGR3YXJmMl9jdSAqY3UgPSBwZXJfb2JqZmlsZS0+Z2V0X2N1IChwZXJfY3Up Ow0KPiA+ICAgIGlmIChjdSA9PSBudWxscHRyKQ0KPiA+IEBAIC05MjMwLDEyICs5MjMyLDEyIEBA IGRpZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQNCj4gPiAqaXRlbV9yaHMp ICBzdGF0aWMgdm9pZCAgbG9hZF9mdWxsX2NvbXBfdW5pdCAoZHdhcmYyX3Blcl9jdV9kYXRhDQo+ ID4gKnRoaXNfY3UsDQo+ID4gIAkJICAgICBkd2FyZjJfcGVyX29iamZpbGUgKnBlcl9vYmpmaWxl LA0KPiA+ICsJCSAgICAgZHdhcmYyX2N1ICpleGlzdGluZ19jdSwNCj4gPiAgCQkgICAgIGJvb2wg c2tpcF9wYXJ0aWFsLA0KPiA+ICAJCSAgICAgZW51bSBsYW5ndWFnZSBwcmV0ZW5kX2xhbmd1YWdl KSAgew0KPiA+ICAgIGdkYl9hc3NlcnQgKCEgdGhpc19jdS0+aXNfZGVidWdfdHlwZXMpOw0KPiA+ DQo+ID4gLSAgZHdhcmYyX2N1ICpleGlzdGluZ19jdSA9IHBlcl9vYmpmaWxlLT5nZXRfY3UgKHRo aXNfY3UpOw0KPiA+ICAgIGN1dHVfcmVhZGVyIHJlYWRlciAodGhpc19jdSwgcGVyX29iamZpbGUs IE5VTEwsIGV4aXN0aW5nX2N1LCBza2lwX3BhcnRpYWwpOw0KPiA+ICAgIGlmIChyZWFkZXIuZHVt bXlfcCkNCj4gPiAgICAgIHJldHVybjsNCj4gPiBAQCAtMTAxMDEsNyArMTAxMDMsOCBAQCBwcm9j ZXNzX2ltcG9ydGVkX3VuaXRfZGllIChzdHJ1Y3QgZGllX2luZm8NCj4gPiAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkNCj4gPg0KPiA+ICAgICAgICAvKiBJZiBuZWNlc3NhcnksIGFkZCBpdCB0 byB0aGUgcXVldWUgYW5kIGxvYWQgaXRzIERJRXMuICAqLw0KPiA+ICAgICAgICBpZiAobWF5YmVf cXVldWVfY29tcF91bml0IChjdSwgcGVyX2N1LCBwZXJfb2JqZmlsZSwgY3UtPmxhbmd1YWdlKSkN Cj4gPiAtCWxvYWRfZnVsbF9jb21wX3VuaXQgKHBlcl9jdSwgcGVyX29iamZpbGUsIGZhbHNlLCBj dS0+bGFuZ3VhZ2UpOw0KPiA+ICsJbG9hZF9mdWxsX2NvbXBfdW5pdCAocGVyX2N1LCBwZXJfb2Jq ZmlsZSwgcGVyX29iamZpbGUtPmdldF9jdQ0KPiAocGVyX2N1KSwNCj4gPiArCQkJICAgICBmYWxz ZSwgY3UtPmxhbmd1YWdlKTsNCj4gPg0KPiA+ICAgICAgICBjdS0+cGVyX2N1LT5pbXBvcnRlZF9z eW10YWJzX3B1c2ggKHBlcl9jdSk7DQo+ID4gICAgICB9DQo+ID4gQEAgLTIyOTMxLDcgKzIyOTM0 LDggQEAgZm9sbG93X2RpZV9vZmZzZXQgKHNlY3Rfb2Zmc2V0IHNlY3Rfb2ZmLCBpbnQNCj4gPiBv ZmZzZXRfaW5fZHd6LA0KPiA+DQo+ID4gICAgICAgIC8qIElmIG5lY2Vzc2FyeSwgYWRkIGl0IHRv IHRoZSBxdWV1ZSBhbmQgbG9hZCBpdHMgRElFcy4gICovDQo+ID4gICAgICAgIGlmIChtYXliZV9x dWV1ZV9jb21wX3VuaXQgKGN1LCBwZXJfY3UsIHBlcl9vYmpmaWxlLCBjdS0+bGFuZ3VhZ2UpKQ0K PiA+IC0JbG9hZF9mdWxsX2NvbXBfdW5pdCAocGVyX2N1LCBwZXJfb2JqZmlsZSwgZmFsc2UsIGN1 LT5sYW5ndWFnZSk7DQo+ID4gKwlsb2FkX2Z1bGxfY29tcF91bml0IChwZXJfY3UsIHBlcl9vYmpm aWxlLCBwZXJfb2JqZmlsZS0+Z2V0X2N1DQo+IChwZXJfY3UpLA0KPiA+ICsJCQkgICAgIGZhbHNl LCBjdS0+bGFuZ3VhZ2UpOw0KPiA+DQo+ID4gICAgICAgIHRhcmdldF9jdSA9IHBlcl9vYmpmaWxl LT5nZXRfY3UgKHBlcl9jdSk7DQo+ID4gICAgICB9DQo+ID4gQEAgLTIyOTM5LDcgKzIyOTQzLDgg QEAgZm9sbG93X2RpZV9vZmZzZXQgKHNlY3Rfb2Zmc2V0IHNlY3Rfb2ZmLCBpbnQNCj4gb2Zmc2V0 X2luX2R3eiwNCj4gPiAgICAgIHsNCj4gPiAgICAgICAgLyogV2UncmUgbG9hZGluZyBmdWxsIERJ RXMgZHVyaW5nIHBhcnRpYWwgc3ltYm9sIHJlYWRpbmcuICAqLw0KPiA+ICAgICAgICBnZGJfYXNz ZXJ0IChwZXJfb2JqZmlsZS0+cGVyX2JmZC0+cmVhZGluZ19wYXJ0aWFsX3N5bWJvbHMpOw0KPiA+ IC0gICAgICBsb2FkX2Z1bGxfY29tcF91bml0IChjdS0+cGVyX2N1LCBwZXJfb2JqZmlsZSwgZmFs c2UsDQo+IGxhbmd1YWdlX21pbmltYWwpOw0KPiA+ICsgICAgICBsb2FkX2Z1bGxfY29tcF91bml0 IChjdS0+cGVyX2N1LCBwZXJfb2JqZmlsZSwgY3UsIGZhbHNlLA0KPiA+ICsJCQkgICBsYW5ndWFn ZV9taW5pbWFsKTsNCj4gPiAgICAgIH0NCj4gPg0KPiA+ICAgICpyZWZfY3UgPSB0YXJnZXRfY3U7 DQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3RlbXBsYXRl LXNwZWNpZmljYXRpb24tZnVsbC1uYW1lLmMNCj4gPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi90ZW1wbGF0ZS1zcGVjaWZpY2F0aW9uLWZ1bGwtbmFtZS5jDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjlkN2IyZjFhNGMyOA0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvdGVtcGxhdGUtc3BlY2lm aWNhdGlvbi1mdWxsLW5hbWUuYw0KPiA+IEBAIC0wLDAgKzEsMjIgQEANCj4gPiArLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4gPiArDQo+ID4gKyAg IENvcHlyaWdodCAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KPiA+ICsNCj4g PiArICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkNCj4gPiArICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4gPiArICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IN Cj4gPiArICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPiArDQo+ID4g KyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLA0KPiA+ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiA+ICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ID4gKyAgIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ID4gKw0KPiA+ICsgICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQ0KPiA+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlDQo+ID4g KyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLw0KPiA+ICsNCj4gPiAraW50DQo+ ID4gK21haW4gKHZvaWQpDQo+ID4gK3sNCj4gPiArICByZXR1cm4gMDsNCj4gPiArfQ0KPiA+IGRp ZmYgLS1naXQNCj4gPiBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi90ZW1wbGF0ZS1zcGVjaWZp Y2F0aW9uLWZ1bGwtbmFtZS5leHANCj4gPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi90ZW1w bGF0ZS1zcGVjaWZpY2F0aW9uLWZ1bGwtbmFtZS5leHANCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uODdiMzYwNGUwNzYwDQo+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi90ZW1wbGF0ZS1zcGVjaWZpY2F0 aW9uLWZ1bGwtbmFtZS5leHANCj4gPiBAQCAtMCwwICsxLDc1IEBADQo+ID4gKyMgQ29weXJpZ2h0 IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ID4gKw0KPiA+ICsjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IN Cj4gPiArbW9kaWZ5ICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcw0KPiA+ICtwdWJsaXNoZWQgYnkgIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZQ0KPiA+ICtMaWNlbnNlLCBvciAjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ID4gKyMNCj4gPiArIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgIw0K PiA+ICtidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZiAjDQo+ID4gK01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgIw0KPiBHTlUNCj4gPiArR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiA+ICsjDQo+ID4gKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgIw0KPiA+ICth bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4NCj4gPiArDQo+ID4gKyMgVGVzdCB0byByZXByb2R1Y2UgdGhlIGNyYXNoIGRl c2NyaWJlZCBpbiBQUiAyNjY5My4gIFRoZSBmb2xsb3dpbmcNCj4gPiArRFdBUkYgd2FzICMgY3Jh c2hpbmcgR0RCIHdoaWxlIGxvYWRpbmcgcGFydGlhbCBzeW1ib2xzOiBhDQo+ID4gK0RXX1RBR19z dWJwcm9ncmFtIHdpdGggYSAjIERXX0FUX3NwZWNpZmljYXRpb24gKHBvaW50aW5nIHRvIGFub3Ro ZXINCj4gPiArc3VicHJvZ3JhbSksIHdpdGhvdXQgYSBEV19BVF9uYW1lICMgYW5kIHdpdGggYSB0 ZW1wbGF0ZSBwYXJhbWV0ZXINCj4gPiArKERXX1RBR190ZW1wbGF0ZV90eXBlX3BhcmFtZXRlciku ICBNb3JlICMgcHJlY2lzZWx5LCB0aGUgY3Jhc2ggd2FzDQo+ID4gK2hhcHBlbmluZyB3aGVuIHRy eWluZyB0byBjb21wdXRlIHRoZSBmdWxsIG5hbWUgb2YgdGhlICMgc3VicHJvZ3JhbS4NCj4gPiAr DQo+ID4gK2xvYWRfbGliIGR3YXJmLmV4cA0KPiA+ICsNCj4gPiAraWYgeyFbZHdhcmYyX3N1cHBv cnRdfSB7DQo+ID4gKyAgICByZXR1cm4gMA0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGFuZGFyZF90 ZXN0ZmlsZSAuYyAuUw0KPiA+ICsNCj4gPiArc2V0IGFzbV9maWxlIFtzdGFuZGFyZF9vdXRwdXRf ZmlsZSAkc3JjZmlsZTJdIER3YXJmOjphc3NlbWJsZQ0KPiA+ICskYXNtX2ZpbGUgew0KPiA+ICsg ICAgY3Uge30gew0KPiA+ICsJRFdfVEFHX2NvbXBpbGVfdW5pdCB7DQo+ID4gKwkgICAge0RXX0FU X2xhbmd1YWdlIEBEV19MQU5HX0NfcGx1c19wbHVzfQ0KPiA+ICsgICAgICAgIH0gew0KPiA+ICsJ ICAgIGRlY2xhcmVfbGFiZWxzIHRlbXBsYXRlZF9zdWJwcm9ncmFtIGludA0KPiA+ICsNCj4gPiAr CSAgICBpbnQ6IERXX1RBR19iYXNlX3R5cGUgew0KPiA+ICsJCXtEV19BVF9uYW1lICJpbnQifQ0K PiA+ICsJCXtEV19BVF9ieXRlX3NpemUgNCBEV19GT1JNX2RhdGExfQ0KPiA+ICsJCXtEV19BVF9l bmNvZGluZyBARFdfQVRFX3NpZ25lZH0NCj4gPiArCSAgICB9DQo+ID4gKw0KPiA+ICsJICAgICMg VGhlIHRlbXBsYXRlZCBzdWJwcm9ncmFtLg0KPiA+ICsJICAgIHRlbXBsYXRlZF9zdWJwcm9ncmFt OiBEV19UQUdfc3VicHJvZ3JhbSB7DQo+ID4gKwkJe0RXX0FUX25hbWUgImFwcGx5In0NCj4gPiAr CSAgICB9DQo+ID4gKw0KPiA+ICsJICAgICMgVGhlIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uICh0 aGUgbG93IGFuZCBoaWdoIFBDIGFyZSBwaG9ueSkuDQo+ID4gKwkgICAgRFdfVEFHX3N1YnByb2dy YW0gew0KPiA+ICsJCXtEV19BVF9zcGVjaWZpY2F0aW9uIDokdGVtcGxhdGVkX3N1YnByb2dyYW19 DQo+ID4gKwkJe0RXX0FUX2xvd19wYyAweDEyMzQgRFdfRk9STV9hZGRyfQ0KPiA+ICsJCXtEV19B VF9oaWdoX3BjIDB4MjAgRFdfRk9STV9kYXRhOH0NCj4gPiArCSAgICB9IHsNCj4gPiArCQlEV19U QUdfdGVtcGxhdGVfdHlwZV9wYXJhbSB7DQo+ID4gKwkJICB7RFdfQVRfbmFtZSAiVCJ9DQo+ID4g KwkJICB7RFdfQVRfdHlwZSA6JGludCBEV19GT1JNX3JlZjR9DQo+ID4gKwkJfQ0KPiA+ICsJICAg IH0NCj4gPiArCX0NCj4gPiArICAgIH0NCj4gPiArfQ0KPiA+ICsNCj4gPiAraWYgeyBbcHJlcGFy ZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9IFwNCj4gPiArCSAg W2xpc3QgJHNyY2ZpbGUgJGFzbV9maWxlXSB7bm9kZWJ1Z31dIH0gew0KPiA+ICsgICAgcmV0dXJu IC0xDQo+ID4gK30NCj4gPiArDQo+ID4gK2lmICFbcnVudG9fbWFpbl0gew0KPiA+ICsgICAgcmV0 dXJuIC0xDQo+ID4gK30NCj4gPiArDQo+ID4gKyMgSnVzdCBhIHNhbml0eSBjaGVjayB0byBtYWtl IHN1cmUgR0RCIHNsdXJwZWQgdGhlIHN5bWJvbHMgY29ycmVjdGx5Lg0KPiA+ICtnZGJfdGVzdCAi cHJpbnQgYXBwbHk8aW50PiIgIiA9IHt2b2lkIFxcKHZvaWRcXCl9ICRoZXggPGFwcGx5PGludD5c XChcXCk+Ig0KPiA+IC0tDQo+ID4gMi4yOC4wDQo+ID4NCg0KSW50ZWwgRGV1dHNjaGxhbmQgR21i SApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAtMTIsIDg1NTc5IE5ldWJpYmVyZywg R2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZQpNYW5hZ2luZyBEaXJl Y3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBHYXJ5IEtlcnNoYXcKQ2hhaXJwZXJzb24gb2Yg dGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5p Y2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=