From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 5F34C3858D32 for ; Tue, 3 Jan 2023 01:07:29 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672708049; x=1704244049; h=from:to:cc:subject:date:message-id:mime-version; bh=QDCJbOzXN71kycWOiLZE+2PZgISXAYz4wdlxf600U8A=; b=mQZ4z9O55WW9i1oB0gofFLPcT/QL8WLtXsaxM9O9wyaMu+5RC/Rd0Enn mTH01hV1E/9n0BgId8d1+jgpFFM7cpqnPUxK3tfXXW9YTwTL3xEy8hjL2 QLuZyRt3ENwYjBBODAVGDehcG3apEdX8hg7Y9NUGgOq0gxt/yMAUlK5ex NfLTu9+wwCoE8i//R4doULow8NiXovKHngRcfWAZpt4Vs9dwQw/k6RYbY iYeSbNn8lYOFBmbSVYGOIexDR/cX9chv5/JmQSqc7xqN5w2JRalxgeL0Q dHPQxKN8jcGB7LyLlTldD1U99/ZrRzs3/roHw4DKx6/stxl8N8liDeZ+H A==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322791538" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208,217";a="322791538" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jan 2023 17:07:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="900002919" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208,217";a="900002919" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga006.fm.intel.com with ESMTP; 02 Jan 2023 17:07:27 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 2 Jan 2023 17:07:26 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 2 Jan 2023 17:07:25 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 2 Jan 2023 17:07:25 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 2 Jan 2023 17:07:25 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q7W8lxbb8MSYyTtSuApwZqlmsH1OOKevcUfFd80XLcuFJFn5mNnN2P2NH9x5BA1pk5TUnwEcWEKqdLIMFnIWzEb6OO8B+wCbqZqm9fTGaXJltNFpii2UueGN74pAFB5fPFUnQW3p8e+uOiNgAdwQXxJAOb9BCqCTxQ+8fzj+EqEioKq3tDINg0n8z3USLyvAXCQQIFprKbmYBcqmGqFzQqwc9VXPzr3t3t52x5lDERP8eeagTgdrIjV9+onFNerJzuzdW7ddC+i81kML96LUb2dsQMFypWxAZWTwrlZaEUkMDM4Pwkw8HMFCGr/Al6anCvY7Ty7A1mhp1fbj8fCe/w== 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=Veh1QPFxg4r60FHowFgptA7o2RcmBcMBFpXlZNpJC4U=; b=CXGQSSx+Rgkxy3Xh4GKreyFsXiYgSeS86iDCYrQZeCXWe0r/j4VUTx8Cvautl+zvpokDruYfwx0fStFt7NcJnJ71N/f90Ow+aL2Bd//hhVpEuV7fNhnpCV2RvBy/WF+84r1XdgrwSge9q8FeHaZnyvsNdTj9y72gt9VtQtQD/7R0274Gde9HSdjPEzF/SiNCktBrPjRVY8tdRvxbkL5VM5cQRWGmMkzUSjcF+RfVhoAYASZbcyHwIyK+kDuaf8XFimUMyAygype2F8thC3LE1ZnOELP/7D3J6C3Tp+ZJv2yLrd9jkQX2howfsHQBA/HEoVe6RFR2XOLGcOAeOUgLhw== 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 SA1PR11MB6846.namprd11.prod.outlook.com (2603:10b6:806:2b0::6) by CO1PR11MB4868.namprd11.prod.outlook.com (2603:10b6:303:90::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Tue, 3 Jan 2023 01:07:23 +0000 Received: from SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::ed5b:1235:1d94:b415]) by SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::ed5b:1235:1d94:b415%9]) with mapi id 15.20.5880.019; Tue, 3 Jan 2023 01:07:23 +0000 From: "Ijaz, Abdul B" To: "JiniSusan.George@amd.com" , "gdb-patches@sourceware.org" CC: "Ijaz, Abdul B" Subject: [PATCH 1/3] gdb: add support for DW_AT_trampoline in DWARF reader Thread-Topic: [PATCH 1/3] gdb: add support for DW_AT_trampoline in DWARF reader Thread-Index: AdkfCsF1lHjFa3IzTg2wqw0O9cT+8w== Date: Tue, 3 Jan 2023 01:07:23 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB6846:EE_|CO1PR11MB4868:EE_ x-ms-office365-filtering-correlation-id: 53ca23b6-c55a-4e75-2195-08daed26df17 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 439niGdK/BkIxLz1xgrd5Jvk0q7K5x0ZbgPwTg2vlTLWLZe5kG3ooLk2vjLNS7UblOZuyIjXumqsPJYHgWG9KznTtQwjVBp6eDodL+l0IDyeVHt4pr8UZEdGuTrh3EEzzZv/kN+bGf961IqLciGp2OHvPgVRzGTjDe8hM3ewlxjeOkS78v7p4/lurCON9dzl0mxqVRR0C33D+BedYkrh48crjMK1trb7QGo8rA7HCI2iCpihjIBUFJ47G75hQqM56gXrCtK7iHgg3TZZVJ29HN8s9KBDx8DpZ0KdKCvM8B/Qx7pQbCNANn2tmsajT6mA1Yo11lKQEXh5GoLYTy1W+Q9H8Mc5J677HrM2Ah17yeDQLQsWyHcGqztHuMTQIiqfoDtFe1v6i5/z+cJZstLvSJnM+FquJqMKxMpQ113UG9RPIqtjpVFpvRk6R2UMK4OnJ77TgRrXW1syYxcTJkGetxQ3Y5gzT+rYl29InJnZHfA/Unv/Lbw4CfdLeCTc4c77XxKqJs7uOQkvHCRyZUqLG/tBnJ4hhBf7SgZ2AHFLBYduyjPlcFOfRiUr3iuzGZMi5Qq2F+hLuXeFD3SIYEbzK+vqFvE+50BHPdu3W8yIlfFpg8h5YxBxLvTieCc9bqhiSf5PGhSJrhN7tc/iNvefoXmBq218E/VRkqT4hHhmtYBqD1feWjOo5fUhRwwOLPbSkyB7YQFaF1Lm+G9Xq/pBK9s4ILoenizfrbT506Xr2hW8296Ntddkf+c0pUL0TtUh x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6846.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(39860400002)(396003)(136003)(366004)(451199015)(52536014)(5660300002)(2906002)(8936002)(4326008)(41300700001)(8676002)(478600001)(30864003)(316002)(66476007)(76116006)(66946007)(110136005)(64756008)(66446008)(71200400001)(66556008)(45080400002)(9686003)(26005)(6506007)(33656002)(7696005)(107886003)(55016003)(83380400001)(82960400001)(166002)(38100700002)(122000001)(186003)(86362001)(38070700005)(22166006)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q0x2L0JJdGZEZjZQTnIxMmJmVmw3aGo5ZVYvMVBpM3U1STRBYWFFWmx0L1BO?= =?utf-8?B?aGsyV0tXenFUOEQzOFZlMFEvVDM5YlovVElOcEMyNmt4R0x1K0FUc0ZHaG9M?= =?utf-8?B?Uy9UWFlhWUVHdFkxcGc0eUFYL2l1MFl1NGxiVVUzcDk2emRRY1RYNnkyeUM2?= =?utf-8?B?NjZORkJPd2hBWTdkUmI3bU5ZTzlKRzZCaTYrMThQejVONUV1bzZVckRuRWZJ?= =?utf-8?B?bXFxVXYyYWpTS3BjZjVLQ0FBeWE0KzhzcCt1YXlqTFhxekQyd243Tm41RFBR?= =?utf-8?B?TlZSOUw3ZFVLWkNqYzhVNER2T0xUNlgrZkZZbk9scUd6UFVSTk9vRXBJWld3?= =?utf-8?B?dFpRN3FMakJDWU5KaHI1NWdMdncycVB5UFdzZnJrRFhSd1ZIeEhlMEFhNWF2?= =?utf-8?B?eFpEM3ZUZE5UdFQ4S2FYczdaWHYzNWRicTRRZUYycmkyb2dCc3pid3JSd3dp?= =?utf-8?B?L0hyU21rbDIxSjM3MlJRTTNHZHVMOWI0aHBqUHV6bGgwZWJKek9mQzQ1S2tn?= =?utf-8?B?WlkzT3VMbzRXSE1aTGhTVjZOZldVM3pTRlZFTmVFOC9QWW9QS21BVW8xOHVq?= =?utf-8?B?UUorMy9nL09tdUJSdm96ZjJFb25mZlNDWHlLUXUrNlp3NW5mRFRnbHpHWkgy?= =?utf-8?B?NFV4V1hITmkyeHd3ZVdQTFprRnoyaUNqNkFuenovaUFtblFtbFcveEdpRDNh?= =?utf-8?B?Tzk3LzhzYUZjN0thblg2MXExUXZ3YTBwSTUyZnZZaWNqQ0RtdDY1NWw3LzBB?= =?utf-8?B?blAra3NNbXZGY2JPdlgwQlRiMmVkUUZHNWhaTXc3dHRSL05keWpIeVhIcmsz?= =?utf-8?B?UTFWd0g5WGdudHJnNlhBUWRtcHJ3QjNpWVZWV2hRMWQ0dGZ1ckdOcWZ1czF2?= =?utf-8?B?UXpldzByZDBuTWxNUUZWMngyQllCM3NJMUtZc3VvRFVLWkFZVzhINElmeVpK?= =?utf-8?B?RnZ2VFVtNWk3TzQyenJjaWNCSHRubDNOWUxEVEp3a21QeisxQUlrMGhpMytD?= =?utf-8?B?ZDh3ZlVrWjV5RFpJeWl1V1haZWh3YjJNQnFPVW5yOHpTL25SbUdHMmpNTkY0?= =?utf-8?B?cXVjZzdHN210S1p1UTFKQmZqeXNibE5ZdFNIb0ZqbkYrdEljNzVjeHpKRjl5?= =?utf-8?B?NkJXTEFRdE9qeDArV2pMWm1rcmdRY3c4V01SNGxuMTVFTGx6S3hHc1BOcjVN?= =?utf-8?B?aGZvTzdqd09PdXhORnVBYk0wRjZMcTZqV29ZUXpZY3pVKzBucGZTRXZhQUpL?= =?utf-8?B?STJwM1d0azlvdUc3NkJnbHdkY0RCYWNYUW5SaHNHY3l5TVRDSXMraG81OGJM?= =?utf-8?B?bVBqTW5NMTA2TzlmVWREVDZrK2gzajh2QURKTkcrWmxZaTFXeXkxa3VvVDNH?= =?utf-8?B?ejhFTk1xdzgxbTFzYWZZWUFQOENYMStCVkc2dENYQWR5LzUveGNkenBoT3BU?= =?utf-8?B?RjBmNU9pR1pqWDJ2NVBRK3JmK1JDb1I1NURkQUk2dTlJWC8rd2x1Z1NMbE5p?= =?utf-8?B?WHZvNzg5RHd4a2R5Y1hPSzZkSmx6NGh4d2N5NlBKOUZtOE10RU9vK21CRGJS?= =?utf-8?B?UzBlNkRIaE5lRis2WW1DREhsOExRVHBKNFFYaE13SXJKR0lUek4ybzArVmdo?= =?utf-8?B?ek0rVU9VMkhSb3lUTG81ZkduZzNvL0UybVRLNUtxbEdXTHgyM1lxdWlsbGRS?= =?utf-8?B?YW9qelp2OWQ1bFY1OWQrTTNnU1dhaExIMFVad2p1YlFFSWlmOTQvZmhHeW9j?= =?utf-8?B?OTRYQTd6M09ZS2dPOXdVRnh5RGlsYlc1eWsyR1RKZlRUUFQyejk0UWtmRUdY?= =?utf-8?B?SUZqekk2TE1nOGltKy9iYkg2WThCd2tPc2pkZkx5SmU3TWZIbERBTHV6TXdn?= =?utf-8?B?ZmtNTVBTL01XSXVweXNrZ1VGNWs4MjQ5N1RrR1ZpNDNrUkhlNXRoTExsSU40?= =?utf-8?B?aiszQ0dDYmZnWGU1dVE0dWQ2RDUxWkhUOVdhN0RIYXlhQjBRNW5zeTNRT0or?= =?utf-8?B?RnBLRWlrcTcySjBEL2R3SHkrQkVRSlJoTmplaDdLWFVtOXJpSXdIWlkxN3dQ?= =?utf-8?B?ZjNSY1d3anhJYTV0b0NHMkgxYU1vVjFRUm1TZm1rMU1EYm1wZTFTSmFCM1c4?= =?utf-8?Q?p8AIe1Q+33A9TOsDjAE1sXu7x?= Content-Type: multipart/alternative; boundary="_000_SA1PR11MB68461013A408405EDFDDDDE1CBF49SA1PR11MB6846namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6846.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53ca23b6-c55a-4e75-2195-08daed26df17 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jan 2023 01:07:23.3409 (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: BvVylXqsdNBBvO1+ry3DsR1pKghVhTfrksh+mGrgl7OxX7bAmxSy0bMcn4k4ljYZ/nmEBBbGjatZUiDSuhjP8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4868 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_LOTSOFHASH,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_SA1PR11MB68461013A408405EDFDDDDE1CBF49SA1PR11MB6846namp_ Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 SGkgSmluaSwNCg0KDQoNClRoYW5rcyBmb3IgeW91ciBmZWVkYmFjayBvbiB0 aGUgcGF0Y2guDQoNCg0KDQoxKSAgUmVnYXJkaW5nIHNvbGliIGFuZCBzaWdu YWwgdHJhbXBvbGluZXMsIFN5bWJvbCB0cmFtcG9saW5lIG9yIHNvbGliIHRy YW1wb2xpbmUgbm90IGp1c3QgaWRlbnRpZmljYXRpb24gYnV0IGhhbmRsaW5n IGFsc28gaXMgY29tcGxldGVseSBkaWZmZXJlbnQgYXMgZmFyIGFzIEkgY2Fu IHVuZGVyc3RhbmQgYXMgY29tcGFyZSB0byBEV19BVF90cmFtcG9saW5lIERJ RS4gU2luY2UgZm9yIHRoZSBzaWduYWwgY2FzZSBpdCBpcyBoYW5kbGVkIGRp ZmZlcmVudGx5IGZvciBlYWNoIHRhcmdldCwgZm9yIHNvbGliIGl0IHRyYW1w b2xpbmUgc3ltYm9sIGlzIGluaXRpYWxpemVkICB3aGVuIHN5bWJvbCB0YWJs ZSBpcyBjcmVhdGVkIGZvciB1bmRlZmluZWQgc3ltYm9scyB0aGF0IGFyZSBk ZWZpbmVkIGluIHNvbWUgc2hhcmVkIGxpYiBpbmZvIHNvIGxhdGVyIHRoZW4g aXQgaXMgdXNlZCBmb3IgaGFuZGxpbmcgdHJhbXBvbGluZXMgd2hlcmVhcyBE V19BVF90cmFtcG9saW5lIGhhbmRsaW5nIGlzIGNvbW1vbiBmb3IgZWFjaCB0 YXJnZXQgYW5kIGVhY2ggdHJhbXBvbGluZSBoYXMgYSBkaWZmZXJlbnQgZnJh bWUgZm9yIGNhbGxlciBhbmQgY2FsbGVlIGZ1bmN0aW9ucy4NCg0KDQoNCjIp ICBSZWdhcmRpbmcgdGhlIG1hbmdsZWQvZGVtYW5nbGVkIG5hbWUgaXQgd2ls bCBiZSB1cGRhdGVkIGluIFYyIHRvIGxvb2sgZmlyc3QgbWFuZ2xlZCBhbmQg dGhlbiBkZW1hbmdsZWQgbmFtZS4NCg0KMykgIFJlZ2FyZGluZyBiaXRmaWVs ZCBhbGlnbm1lbnQgaW4gc3RydWN0IGZ1bmNfdHlwZSBib3RoIGlzX25vcmV0 dXJuICYgaXNfdHJhbXBvbGluZSB3aWxsIGJlIHB1dCB0b2dldGhlciB0byBz aW5nbGUgdW5zaWduZWQgaW50IHR5cGUgdmFsdWUgaW4gVjIgcGF0Y2guDQoN CjQpICBJbiBhZGRpdGlvbiwgcmVnYXJkaW5nIHRoaXMgcGF0Y2ggSSB0aGlu ayBzbyBmYXIgaW1wb3J0YW50IG1pc3NpbmcgcGFydCAgcmVnYXJkaW5nIHRo aXMgY2hhbmdlIHdvdWxkIGJlIGlmIHdlIHNob3VsZCBmaWx0ZXIgdGhlIHRy YW1wb2xpbmUgZnJhbWVzIGZvciBjb21tYW5kcyBsaWtlIGJhY2t0cmFjZSBv ciBmaW5pc2ggY29tbWFuZHMuIFNpbmNlIGluIGNhc2Ugd2UgZmlsdGVyIHRy YW1wb2xpbmUgZnJhbWUgd2hpbGUgcHJpbnRpbmcgdGhlbiBmcmFtZSBsZXZl bHMgbmVlZCBzb21lIHNwZWNpYWwgaGFuZGxpbmcgd2hpY2ggc2VlbXMgdG8g YmUgdHJpY2t5IHNvIHdvdWxkIGJlIG5pY2UgdG8gaGF2ZSBvdGhlcnMgb3Bp bmlvbiByZWdhcmRpbmcgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGZvciB0aGVz ZSB0cmFtcG9saW5lIGZyYW1lcyBpZiB3ZSBzaG91bGQgaGFuZGxlIGZyYW1l LT5sZXZlbCBmb3IgdHJhbXBvbGluZSBmcmFtZXMgaW4gZ2V0X3ByZXZfZnJh bWVfcmF3KCkgb3IganVzdCBza2lwcGluZyBzdWNoIGZyYW1lcyBpbiBzdGFj ayBwcmludCB3b3VsZCBiZSBvazoNCg0KDQoNCkFzIGFuIGV4YW1wbGUgd2hl cmUgZmlyc3QgYW5kIHNlY29uZCBmdW5jdGlvbnMgaGF2aW5nIHRyYW1wb2xp bmUgY2FsbHMgaW4gdGhlIERXQVJGOg0KDQpCYWNrdHJhY2Ugd2l0aG91dCBm aWx0ZXJpbmcgc28gZmFyIHNob3dzIHRyYW1wb2xpbmUgY2FsbHMgaW4gYmFj a3RyYWNlOg0KDQooZ2RiKSBiYWNrdHJhY2UgMw0KDQojMCAgc2Vjb25kICh4 PTIwLCB5PTkpIGF0IGNhbGwtc3RhY2suZjkwOjIwDQoNCiMxICAweDAwMDAw MDAwMDA0MDQ5ZjkgaW4gc2Vjb25kXy50NzRwLnQ3NXAgKCkgYXQgY2FsbC1z dGFjay5mOTA6MjkNCg0KIzIgIDB4MDAwMDAwMDAwMDQwNDlkMyBpbiBmaXJz dCAobnVtMT0xNiwgbnVtMj0zKSBhdCBjYWxsLXN0YWNrLmY5MDoyNw0KDQoN Cg0KSWYgd2UgZmlsdGVyIHRoZSB0cmFtcG9saW5lIGZyYW1lcyB3aGlsZSBw cmludGluZyBhbmQgaGFuZGxlIHRoZW0gZm9yIGNvbW1hbmRzIGxpa2UgZmlu aXNoIHRoZW4gQmFja3RyYWNlIHdpdGggZmlsdGVyaW5nIHdoZXJlIGZyYW1l ICMxIGFuZCAjMyBhcmUgdHJhbXBvbGluZSBmcmFtZXMgc28gdGhleSBhcmUg bm90IHNob3duIGluIGJhY2t0cmFjZToNCg0KKGdkYikgYmFja3RyYWNlIDMN Cg0KIzAgIHNlY29uZCAoeD0yMCwgeT05KSBhdCBjYWxsLXN0YWNrLmY5MDoy MA0KDQojMiAgMHgwMDAwMDAwMDAwNDA0OWQzIGluIGZpcnN0IChudW0xPTE2 LCBudW0yPTMpIGF0IGNhbGwtc3RhY2suZjkwOjI3DQoNCiM0ICAweDAwMDAw MDAwMDA0MDUxODMgaW4gTUFJTl9fIGF0IGNhbGwtc3RhY2suZjkwOjU3DQoN Cg0KDQoNCg0KVGhhbmtzICYgQmVzdCBSZWdhcmRzDQoNCkFiZHVsIEJhc2l0 IElqYXoNCg0KDQoNCj4+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCg0K Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQoNCj4+PiBGcm9tOiBH ZW9yZ2UsIEppbmkgU3VzYW4gPEppbmlTdXNhbi5HZW9yZ2VAYW1kLmNvbTxt YWlsdG86SmluaVN1c2FuLkdlb3JnZUBhbWQuY29tPj4NCg0KPj4+ICogSXMg dGhlcmUgYW55IGNvbW1vbiBncm91bmQgd2UgY2FuIGZpbmQgd2l0aCB0aGUg d2F5IHNvbGliIChsaW5rZXINCg0KPj4+IFBMVCkgdHJhbXBvbGluZXMgYXJl IGhhbmRsZWQgPyBJIGFtIE9LIGlmIHdlIGNhbid0LCBidXQgSSB0aGluayBp dA0KDQo+Pj4gbWlnaHQgYmUgYmV0dGVyIHRvIGNoZWNrIGFuZCBydWxlIGl0 IG91dC4NCg0KPj4NCg0KPj5JIGRvbid0IHF1aXRlIHVuZGVyc3RhbmQgd2hh dCB5b3UgbWVhbiBoZXJlIGJ1dCBhbSBhbHNvIG5vdCBzdXBlciBmYW1pbGlh ciB3aXRoDQoNCj4+dGhlIHNvbGliIGhhbmRsaW5nIHBhcnQgb2YgR0RCLiAg VGhlIGF0dGFjaGVkIHBhdGNoZXMgdHJlYXQgYW55IGZ1bmN0aW9uIHRoYXQN Cg0KPj53YXMgbWFya2VkIGFzIERXX0FUX1RyYW1wb2xpbmUgaW4gRFdBUkYg YnkgdGhlIGNvbXBpbGVyLiAgQXMgZmFyIGFzIEkga25vdw0KDQo+Pm5vdCBh IHNpbmdsZSBjb21waWxlciAoZXhjZXB0IGlmeCkgZW1pdHMgdGhpcyBhdHRy aWJ1dGUgdXAgdW50aWwgbm93LiAgSWYgYSBjb21waWxlcg0KDQo+PndlcmUg dG8gZ2VuZXJhdGUgRFdBUkYgZm9yIHRoZSBzb2xpYiB0cmFtcG9saW5lcyBh bmQgaWYgaXQgd2VyZSB0byBhZGQgdGhlDQoNCj4+YXR0cmlidXRlLCB3ZSBj b3VsZCBhbHNvIHRyZWF0IHNvbGliIHRyYW1wb2xpbmVzIHdpdGggdGhpcyBh cHByb2FjaC4NCg0KPj5CdXQgZ2VuZXJhbGx5LCB0aGUgRFdfQVRfdHJhbXBv bGluZSBpcyBpbmRlcGVuZGVudCBvZiBhbnkgb3RoZXIgR0RCDQoNCj4+dHJh bXBvbGluZSBoYW5kbGluZy4NCg0KPj5Ob3Qgc3VyZSB3aGV0aGVyIHRoaXMg YW5zd2VycyB5b3VyIHF1ZXN0aW9uLiAgTWF5YmUgeW91IGNhbiBlbGFib3Jh dGUgYSBiaXQNCg0KPj5tb3JlPw0KDQoNCg0KPkZyb20gd2hhdCBJIGNhbiBt YWtlIG91dCwgdGhlIHNvbGliIHRyYW1wb2xpbmVzIChtYXJrZWQgaW4gdGhl IG1pbmltYWwgc3ltYm9sIHRhYmxlIGFzIG1zX3R5cGUgPSBtc3Rfc29saWJf dHJhbXBvbGluZSkgYXJlIGlkZW50aWZpZWQgaW4gZ2RiIGZyb20gdGhlIGVs ZiBzeW1ib2wgdGFibGUgYmFzZWQgb24gdGhlaXIgdHlwZS4gKFRoZSBpZGVu dGlmaWNhdGlvbiBvZiB0aGVzZSB0cmFtcG9saW5lcyBhcmUgZGlmZmVyZW50 LCBhbmQgSSB3b3VsZCBub3QgdGhpbmsgdGhlcmUgd291bGQgYmUgYW55IGNv bW1vbiBncm91bmQgaGVyZSB3cnQgdGhlIGlkZW50aWZpY2F0aW9uKS4gQnV0 IHRoZXJlIGNvdWxkIGJlIHNvbWUgY29tbW9uIGdyb3VuZCB3cnQgdGhlIGhh bmRsaW5nLiBGb3IgZXhhbXBsZSwgd2hpbGUgc3RlcHBpbmcgdGhyb3VnaCB0 aGUgY29kZSwgd2UgZG9uJ3Qgc3RlcCBpbnRvIHRoZSBzb2xpYiB0cmFtcG9s aW5lcywgd2hpY2ggdHlwaWNhbGx5IGFyZSBuYW1lZCBhcyA8dGFyZ2V0X2Z1 bmNfbmFtZUBwbHQ8bWFpbHRvOnRhcmdldF9mdW5jX25hbWVAcGx0Pj4sIGJ1 dCB3ZSBlbmQgdXAgc3RlcHBpbmcgaW50byB0aGUgcmVzb2x2ZWQgdGFyZ2V0 IGZ1bmN0aW9uLiBJdCB3b3VsZCBiZSBncmVhdCBpZiB0aGF0IGNvdWxkIGJl IGNoZWNrZWQgb3V0LiBJZiBpdCBsb29rcyBsaWtlIHRoZXJlIGlzIG5vdGhp bmcgaW4gY29tbW9uLCB0aGF0J3MgZmluZSwgYnV0IGl0IHdvdWxkIGJlIGdy ZWF0IGlmIHdlIG1ha2UgdGhhdCBkZWNpc2lvbiBhZnRlciBjaGVja2luZyBp dCBvdXQuDQoNCg0KDQoNCg0KPj4+ICogQWxzbywgZG8gd2Ugd2FudCB0byBy ZXNvbHZlIGFuZCBkaXNwbGF5IHRoZSB0YXJnZXQgb2YgdGhlIHRyYW1wb2xp bmUNCg0KPj4+IGNvZGUgKGlmIHBvc3NpYmxlKSBpbiB0aGUgZGlzYXNzZW1i bGVkIGNvZGUgYWxzbyA/DQoNCj4+Pg0KDQo+Pg0KDQo+PlNvIHlvdSBtZWFu LCB3aGVuIEkgYW0gYWJvdXQgdG8gc3RlcCBpbnRvIGEgd3JhcHBlci9zdGVw IHRocm91Z2ggYSB3cmFwcGVyIEkNCg0KPj53b3VsZCBkaXNwbGF5IHRoZSB0 YXJnZXQgYXQgdGhlIHJlc3BlY3RpdmUgY2FsbCBzdGF0ZW1lbnQgd2l0aCBz b21lIG5vdGUgbGlrZQ0KDQo+Pg0KDQo+PihnZGIpIGRpc2Fzc2VtYmxlDQoN Cj4+Li4uDQoNCj4+MHgwODA0ODNmYSA8KzA+OiBwdXNoICVlYnANCg0KPj4w eDA4MDQ4M2ZiIDwrMT46IG1vdiAlZXNwLCVlYnANCg0KPj4weDA4MDQ4M2Zk IDwrMz46IHN1YiAkMHg4LCVlc3ANCg0KPj49PiAweDA4MDQ4NDAwIDwrNj46 IG1vdmwgJDB4MiwweDQoJWVzcCkNCg0KPj4weDA4MDQ4NDA4IDwrMTQ+OiBt b3ZsICQweDEsKCVlc3ApDQoNCj4+MHgwODA0ODQwZiA8KzIxPjogY2FsbCAw eDgwNDgzZWQgPGZ1bmM+ICh0cmFtcG9saW5lIHRvOiAweDEyMzQ1IDxvdGhl cj4pDQoNCj4+DQoNCj4+Pw0KDQo+PlNvIGEgY2hhbmdlIGluIHRoZSBwcmV0 dHlfcHJpbnRlciBmb3IgYXNzZW1ibHkgSSBhc3N1bWUgKG9yIHNvbWV3aGVy ZSBkZWVwZXIpLg0KDQo+Pg0KDQo+PlRoaXMgd291bGQgbWVhbiwgR0RCIHdv dWxkIGhhdmUgdG8gY2hlY2sgZXZlcnkgdGltZSBhIGNhbGwgYXBwZWFycw0K DQo+PnNvbWV3aGVyZSBpbiB0aGUgZGlzYXNzZW1ibHkgd2hldGhlciBvciBu b3QgdGhlIHRhcmdldCBpcyBhIHRyYW1wb2xpbmUsIGFuZCwgaWYNCg0KPj5z bywgR0RCIHdvdWxkIG5lZWQgdG8gcmVzb2x2ZSB0aGlzLg0KDQo+Pg0KDQo+ PkdlbmVyYWxseSwgSSB0aGluayB0aGlzIG1pZ2h0IGJlIGEgbmljZSBmZWF0 dXJlLiAgSSdsbCBoYXZlIGEgbG9vayB3aGV0aGVyIGl0IGNhbiBiZQ0KDQo+ PmRvbmUgd2l0aG91dCB0b28gbXVjaCBlZmZvcnQsIGJ1dCBpZiBpdCB0dXJu cyBvdXQgdG8gYmUgY29uc2lkZXJhYmx5IGRpZmZpY3VsdCBJJ2QNCg0KPj5y YXRoZXIgbGlrZSB0byBsZWF2ZSB0aGlzIGZvciBhIGRpZmZlcmVudCBwYXRj aC4NCg0KPj5JZiB0aGlzIGlzIGFscmVhZHkgZG9uZSBpbiB0aGUgb3RoZXIg dHJhbXBvbGluZSBjYXNlcyAoc29saWJzIGFuZCBzaWduYWxzKSBpdCBtaWdo dA0KDQo+PmJlIG5lZWRlZCBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhpcyBw YXRjaCB0aG91Z2guDQoNCg0KDQpJIHRoaW5rIHlvdSBjYW4gZGlzcmVnYXJk IHRoaXMgY29tbWVudCBvZiBtaW5lIHVubGVzcyB0aGUgZWZmb3J0IGludm9s dmVkIGlzIHRyaXZpYWwuIFdydCB0aGUgc29saWIgdHJhbXBvbGluZXMsIHRo ZSB0YXJnZXQgZnVuY3Rpb24gbmFtZXMgYXJlIGVtYmVkZGVkIGluIHRoZSBu YW1lcyBvZiB0aGUgdHJhbXBvbGluZXMgKGFzIDx0YXJnZXRfZnVuY3Rpb25f bmFtZT5AcGx0LCBhbmQgdGhlIGdkYiBkaXNhc3NlbWJsZXIgd291bGQgbm90 IGhhdmUgdG8gZG8gYW55dGhpbmcgc3BlY2lhbCB0byBnZXQgdGhhdCBkaXNw bGF5ZWQuDQoNCg0KDQo+Pj4gKiBBbHNvLCBkbyB3ZSB3YW50IHRvIHJlZmVy IHRvIHRoZXNlIHRyYW1wb2xpbmVzIGRpZmZlcmVudGx5IHNvIHRoYXQNCg0K Pj4+IHRoZXNlIGNhbiBiZSBkaXN0aW5ndWlzaGVkIGZyb20gdGhlIGxpbmtl ciBQTFQgdHJhbXBvbGluZXMgYW5kIHRoZQ0KDQo+Pj4gc2lnbmFsIHRyYW1w b2xpbmVzID8NCg0KPj4+DQoNCj4+DQoNCj4+SSBob3BlZCB0aGF0IHRoZSBw YXRjaGVzIG1hZGUgdGhlIGRpZmZlcmVuY2UgY2xlYXIgZW5vdWdoLiAgT3Ig Y2FuIHlvdSBwaW5wb2ludA0KDQo+PnNvbWV0aGluZyB0aGF0IHNlZW1zIHVu Y2xlYXI/ICBIb3cgd291bGQgeW91IGluc3RlYWQgcmVmZXIgdG8gdGhlbSwg SSBhbSBhIGJpdA0KDQo+Pmxvc3QgaGVyZSwgdG8gYmUgaG9uZXN0LiAgVGhl eSBhcmUsIGFmdGVyIGFsbCwgYWNjb3JkaW5nIHRvIHRoZWlyIERXQVJGL2Rl YnVnDQoNCj4+aW5mbyB0cmFtcG9saW5lcy4gIFJlZmVycmluZyB0byB0aGVt IGRpZmZlcmVudGx5IHdvdWxkIGluIG15IG9waW5pb24gbWF5YmUNCg0KPj5v YnNjdXJlIHRoaW5ncz8gIEJ1dCBtYXliZSB5b3UgaGFkIHNvbWV0aGluZyBp biBtaW5kLg0KDQoNCg0KSSB3YXMgb25seSByZWZlcnJpbmcgdG8gc29tZSB0 ZXJtIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gcmVmZXIgdG8gdGhlc2UgdHJh bXBvbGluZXMgKGxpa2UgaG93IHdlIGFscmVhZHkgaGF2ZSAnc29saWIgdHJh bXBvbGluZXMnIGFuZCAnc2lnbmFsIHRyYW1wb2xpbmVzJykuIEJ1dCBpZiBu b25lIG9mIHRoZSB0ZXJtcyAoY29tcGlsZXIgdHJhbXBvbGluZXMsIGRlYnVn IGluZm8gdHJhbXBvbGluZXMpIHNlZW0gdG8gZml0IHJpZ2h0LCB5b3UgY2Fu IGRpc3JlZ2FyZCB0aGlzIGNvbW1lbnQuDQoNCg0KDQo+Pj4gKiBJbiByZWFk LmMsIGluIHJlYWRfc3Vicm91dGluZV90eXBlKCksIHdoZXJlIHRoZSBEV19B VF90cmFtcG9saW5lDQoNCj4+PiBhdHRyaWJ1dGUgaXMgb2YgZm9ybSByZWZl cmVuY2UsIHdlIHNlZW0gdG8gYmUgc3RvcmluZyB0aGUgdmFsdWUNCg0KPj4+ IGNvcnJlc3BvbmRpbmcgdG8gdGhlICBEV19BVF9uYW1lIGF0dHJpYnV0ZSwg d2hlcmVhcyBpbiBtYW55IGNhc2VzIChDKysNCg0KPj4+IGFuZCBvdGhlciBs YW5ndWFnZXMpLCBpdCBtaWdodCBtYWtlIHNlbnNlIHRvIHN0b3JlIHRoZSBt YW5nbGVkIG5hbWUNCg0KPj4+IHR5cGljYWxseSBvYnRhaW5lZCBmcm9tIHRo ZSBEV19BVF9saW5rYWdlX25hbWUgYXR0cmlidXRlLiBHaXZlbiB0aGlzDQoN Cj4+PiBpdCBtaWdodCBiZSBnb29kIHRvIGhhdmUgYSBDKysgdGVzdCBjYXNl IGZvciB0aGlzIHdpdGggdHJhbXBvbGluZQ0KDQo+Pj4gdGFyZ2V0IGZ1bmN0 aW9ucyBpbnNpZGUgbmFtZXNwYWNlcyBhbHNvLiBNYXliZSB3aXRoIHRoZSBz YW1lIHRhcmdldA0KDQo+Pj4gZnVuY3Rpb24gbmFtZSB1bmRlciBtdWx0aXBs ZSBuYW1lc3BhY2VzLiBBbHNvLCB0aGUgY29tbWVudCBpbg0KDQo+Pj4gZ2Ri dHlwZXMuaCAoTGluZQ0KDQo+Pj4gMTg4MykgbWVudGlvbnMgbWFuZ2xlZCBu YW1lLCB3aGljaCBkb2VzIG5vdCBzZWVtIHRvIG1hdGNoID8NCg0KPj4NCg0K Pj5ZZXMsIEkgdGhpbmsgaW5pdGlhbGx5IHRoZSBjb21tZW50IHdhcyBpbnRl bmRlZCB0byBvbmx5IGRlc2NyaWJlIHRoZQ0KDQo+PkRXX0FUX3RyYW1wb2xp bmUgd2hlbiBpdHMgRk9STSBpcyBzdHJpbmcuICBUaGF0IHN0cmluZyBjb3Vs ZCBoYXZlIGJlZW4gYm90aCwNCg0KPj5tYW5nbGVkIGFuZCBkZW1hbmdsZWQu ICBCdXQgSSBnZXQgeW91ciBwb2ludC4gIEkgYW0gbm90IHN1cmUgd2hldGhl ciBzdG9yaW5nDQoNCj4+dGhlIGxpbmthZ2UgbmFtZSBvciB0aGUgJ25vcm1h bCcgbmFtZSBpcyBjb3JyZWN0IGhlcmUuICBJIHRoaW5rIHRoZXNlIGFyZSB0 d28NCg0KPj5kaWZmZXJlbnQgaXNzdWVzOiB3aGljaCBuYW1lIHNob3VsZCBi ZSBzdG9yZWQgYW5kIHNob3VsZCBpdCBiZSBkZW1hbmdsZWQgb3INCg0KPj5u b3QuICBCdXQgSSdsbCBjaGVjayB0aGlzIGFnYWluLiAgSSBndWVzcyBJJ2xs IGhhdmUgdG8gY2hlY2sgc3ltYm9sIGxvb2t1cCBhZ2FpbiBmb3INCg0KPj50 aGlzIGFuZCBzZWUgd2hhdCBtYWtlcyBtb3N0IHNlbnNlLg0KDQoNCg0KbG9v a3VwX21pbmltYWxfc3ltYm9sKCkgZG9lcyBhIDIgcGFzcyBzZWFyY2ggb3Zl ciBib3RoIHRoZSBtYW5nbGVkIGFuZCB0aGUgZGVtYW5nbGVkIG5hbWVzLiBJ ZiB3ZSBlbmQgdXAgY29tcGFyaW5nIHRoZSBkZW1hbmdsZWQgbmFtZXMsIHRo ZSBuYW1lIGxvb2t1cCBtaWdodCBiZSBpbmNvcnJlY3Qgc2luY2Ugd2Ugd2ls bCBub3QgYmUgY29tcGFyaW5nIGZ1bGx5IHF1YWxpZmllZCBuYW1lcy4NCg0K DQoNCj4+PiAqIEluIGdkYnR5cGVzLmg6DQoNCj4+Pg0KDQo+Pj4gMTgxNw0K DQo+Pj4gMTgxOCAgICAgdW5zaWduZWQgaW50IGlzX3RyYW1wb2xpbmUgOiAx Ow0KDQo+Pj4NCg0KPj4+IE1pZ2h0IGJlIGJldHRlciB0byBwb3NpdGlvbiB0 aGlzIGZpZWxkIGFzIHRoZSAzcmQgZmllbGQgZm9yIGJldHRlcg0KDQo+Pj4g c3RydWN0dXJlIHBhY2tpbmcgPw0KDQo+Pg0KDQo+PlRoZSBzdHJ1Y3R1cmUg d2FzIHBvb3JseSBwYWNrZWQgaW4gdGhlIGZpcnN0IHBsYWNlIEkgdGhpbmsu ICBXZSBoYXZlIHRoZQ0KDQo+PkVOVU1fQklURklFTEQgaW4gdGhlIGJlZ2lu bmluZyB3aGljaCBjYW4gYmUgZWl0aGVyIGFuIGVudW0gb3IgYW4gdW5zaWdu ZWQNCg0KPj5pbnQuICBJIGFtIG5vdCBzdXJlIHdoZXRoZXIgdGhlIHNpemUg b2YgYW4gZW51bSBpcyBkZWZpbmVkIHNvbWV3aGVyZSBidXQgSSdkDQoNCj4+ YXNzdW1lIGl0IGlzIGNvbXBpbGVyIGRlcGVuZGVudCBhbmQgdXN1YWxseSB0 aGUgc2l6ZSBvZiBhbiBpbnQ/DQoNCj4+VGhpcyBpcyBmb2xsb3dlZCBieSBh bm90aGVyIHVuc2lnbmVkIGludCBhbmQgdGhlbiBieSB0d28gcG9pbnRlcnMu DQoNCj4+DQoNCj4+SWYgd2UgYWltZWQgYXQgcHJvcGVyIHN0cnVjdHVyZSBw YWNraW5nIEknZCBhc3N1bWUgdGhlIHBvaW50ZXJzICh3aGljaCB3b3VsZA0K DQo+PnVzdWFsbHkgYmUgOCBieXRlcyB0byBhbGwgY29tZSBmaXJzdCwgdGhl biB0aGUgKHVuc2lnbmVkKSBpbnQncyB3aXRoIHRoZWlyICh1c3VhbGx5KQ0K DQo+PjQgYnl0ZXMsIGZvbGxvd2VkIGZpbmFsbHkgYnkgdGhlIGVudW0/DQoN Cj4+DQoNCj4+SSBjb25zaWRlcmVkIHRoaXMgd2hlbiBpbXBsZW1lbnRpbmcg aXQgYnV0IGl0IHNlZW1lZCBsaWtlIGFuIHVucmVsYXRlZCBjaGFuZ2UgdG8N Cg0KPj5tZS4gIEFzc3VtaW5nIGludCBpcyA0IGJ5dGVzIGFuZCB3ZSBhbGln biB0byA4IGJ5dGVzIG1vdmluZyBpc190cmFtcG9saW5lIHRvIHRoZQ0KDQo+ PjNyZCBwb3NpdGlvbiB3b3VsZCBhbHNvIG5vdCBkbyBhbnl0aGluZywgd291 bGQgaXQ/ICBXZSdkIGJlIGF0DQoNCj4+DQoNCj4+NCBieXRlDQoNCj4+NCBi eXRlDQoNCj4+NCBieXRlDQoNCj4+OCBieXRlDQoNCj4+OCBieXRlDQoNCj4+ OCBieXRlDQoNCj4+DQoNCj4+SW5zdGVhZCBvZg0KDQo+Pg0KDQo+PjQgYnl0 ZQ0KDQo+PjQgYnl0ZQ0KDQo+PjggYnl0ZQ0KDQo+PjggYnl0ZQ0KDQo+PjQg Ynl0ZQ0KDQo+PjggYnl0ZQ0KDQoNCg0KSSB0aGluayB5b3UgbWlzc2VkIHRh a2luZyB0aGUgYml0ZmllbGRzIChpc19ub3JldHVybiBhbmQgaXNfdHJhbXBv bGluZSkgaW50byBjb25zaWRlcmF0aW9uLiBJZiB0aGVzZSBnZXQgcGxhY2Vk IHRvZ2V0aGVyLCB0aGV5IHdvdWxkIGJlIGZpdHRlZCBpbnRvIG9uZSBpbnQg c2luY2UgYm90aCB0aGVzZSBhcmUganVzdCAxIGJpdCBlYWNoLg0KDQoNCg0K DQoNCj4+DQoNCj4+SSB0aGluayBzd2l0Y2hpbmcgaXNfdHJhbXBvbGluZSBh bmQgc2VsZl90cmFtcG9saW5lX3RhcmdldCB3b3VsZCBtYWtlIHRoZSBtb3N0 DQoNCj4+c2Vuc2UgaGVyZT8gKHdpdGhvdXQgdG91Y2hpbmcgdGhlIG90aGVy IG1lbWJlcnMpLg0KDQo+Pg0KDQo+Pj4gKiBpbmZydW4uYzogTGluZSA3MTU2 OiBJdCBtaWdodCBiZSBiZXR0ZXIgdG8gaGF2ZSB0aGUgJzEwJw0KDQo+Pj4g cmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgY2hhaW5lZCB0cmFtcG9saW5l IHRyYXZlcnNhbHMgYWxsb3dlZCBhcyBhIG1hY3JvLg0KDQo+Pj4NCg0KPj4N Cg0KPj5JIGFsc28gdGhvdWdodCBhYm91dCB0aGlzIHdoZW4gaW1wbGVtZW50 aW5nIGl0LiAgSSBiYWNrIHRoZW4gZGVjaWRlZCBhZ2FpbnN0IGl0DQoNCj4+ YnV0IHN1cmUsIEknbGwgYWRkIHRoYXQuDQoNCg0KDQpUaGFua3MsDQoNCkpp bmkuDQoNCg0KDQo+Pg0KDQo+Pj4gQSBmZXcgbml0cyBiZWxvdzoNCg0KPj4+ ICogaW5mcnVuLmMgOiBOaXRzOg0KDQo+Pj4gICAgICAgICAgICAgICAgTGlu ZSA3MTU0OiBzcGVsbGluZzogY2VydGlhbg0KDQo+Pj4gICAgICAgICAgTGlu ZSA5OTQxOiBzcGVsbGluZyA6IGZ1Y250aW9uDQoNCj4+Pg0KDQo+Pj4gKnN5 bXRhYi5oOiBOaXQ6IGxpbmUgMjI0Nzogc3BlbGxpbmc6IHdldGhlcg0KDQo+ Pg0KDQo+PlRoYW5rcyENCg0KPj5JJ2xsIGNoYW5nZSB0aGlzIGluIHYyIQ0K DQo+Pg0KDQo+Pj4NCg0KPj4+IFRoYW5rcywNCg0KPj4+IEppbmkuDQoNCj4+ Pg0KDQo+Pj4gPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KDQo+Pj4g Pj5Gcm9tOiBHZGItcGF0Y2hlcyA8Z2RiLXBhdGNoZXMtDQoNCj4+PiA+PmJv dW5jZXMramlnZW9yZ2U9YW1kLmNvbUBzb3VyY2V3YXJlLm9yZzxtYWlsdG86 YW1kLmNvbUBzb3VyY2V3YXJlLm9yZz4+IE9uIEJlaGFsZiBPZiBOaWxzLQ0K DQo+Pj4gQ2hyaXN0aWFuDQoNCj4+PiA+PktlbXBrZSB2aWEgR2RiLXBhdGNo ZXMNCg0KPj4+ID4+U2VudDogVGh1cnNkYXksIEp1bHkgNywgMjAyMiA1OjQ2 IFBNDQoNCj4+PiA+PlRvOiBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZzxt YWlsdG86Z2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmc+DQoNCj4+PiA+PlN1 YmplY3Q6IFtQQVRDSCAxLzNdIGdkYjogYWRkIHN1cHBvcnQgZm9yIERXX0FU X3RyYW1wb2xpbmUgaW4gRFdBUkYNCg0KPj4+IHJlYWRlcg0KDQo+Pj4gPj4N Cg0KPj4+ID4+W0NBVVRJT046IEV4dGVybmFsIEVtYWlsXQ0KDQo+Pj4gPj4N Cg0KPj4+ID4+RFdfQVRfdHJhbXBvbGluZSBjYW4gYmUgdXNlZCB0byBkZXNj cmliZSBjb21waWxlciBnZW5lcmF0ZWQNCg0KPj4+ID4+ZnVuY3Rpb25zDQoN Cj4+PiB0aGF0DQoNCj4+PiA+PnNlcnZlIHNvbWUgaW50ZXJtZWRpYXJ5IHB1 cnBvc2Ugb24gbWFraW5nIGEgY2FsbCB0byBhbm90aGVyDQoNCj4+PiA+PmZ1 bmN0aW9uLiAgQSBjb21waWxlciBjYW4gZW1pdCB0aGlzIHRhZyBpbiBvcmRl ciB0byBoZWxwIGEgZGVidWdnZXINCg0KPj4+ID4+aGlkZSB0aGUgdHJhbXBv bGluZXMNCg0KPj4+IGZyb20NCg0KPj4+ID4+YSB1c2VyLg0KDQo+Pj4gPj4N Cg0KPj4+ID4+VGhlIGF0dHJpYnV0ZSBpcyBvbmx5IGFwcGxpY2FibGUgdG8g RFdfVEFHX3N1YnJvdXRpbmUgYW5kDQoNCj4+PiA+PkRXX1RBR19pbmxpbmVk X3N1YnJvdXRpbmVzIHRhZ3MuICBJdCBjb250YWlucyBpbmZvcm1hdGlvbiBh Ym91dCB0aGUNCg0KPj4+ID4+dHJhbXBvbGluZSB0YXJnZXQgZWl0aGVyIGFz IGEgcmVmZXJlbmNlIHRvIGl0cyBESUUsIGFzIGl0cyBhZGRyZXNzDQoNCj4+ PiA+Pm9yIGl0cw0KDQo+Pj4gbmFtZS4NCg0KPj4+ID4+RFdfQVRfdHJhbXBv bGluZSBjYW4gYWxzbyBiZSBhIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBE SUUgaXMgYQ0KDQo+Pj4gPj50cmFtcG9saW5lDQoNCj4+PiBvcg0KDQo+Pj4g Pj5ub3QgYnV0IG5vdCBzcGVjaWZ5aW5nIHRoZSB0YXJnZXQgaWYgaXQgaXMg dW5rbm93bi4NCg0KPj4+ID4+DQoNCj4+PiA+PlRoaXMgcGF0Y2ggYWRkcyBz dXBwb3J0IHRvIEdEQiBmb3IgcmVhZGluZyB0aGUgRFdfQVRfdHJhbXBvbGlu ZQ0KDQo+Pj4gYXR0cmlidXRlLiAgSXQNCg0KPj4+ID4+c3RvcmVzIHRoZSBh dHRyaWJ1dGUgYW5kIGl0cyB2YWx1ZSBpbiB0aGUgdHlwZV9zcGVjaWZpYyBw YXJ0IG9mIGEgR0RCIHR5cGUuDQoNCj4+PiBUaGlzDQoNCj4+PiA+PnBhdGNo IGlzIGRvbmUgaW4gcHJlcGFyYXRpb24gb2YgdGhlIGZvbGxvd2luZyBwYXRj aGVzIHdoaWNoIHdpbGwgYWRkDQoNCj4+PiA+PmEgbWVjaGFuaXNtIHRvIGhp ZGUgRFdfQVRfdHJhbXBvbGluZSBzdWJyb3V0aW5lcyBmcm9tIHRoZSB1c2Vy Lg0KDQo+Pj4gPj4NCg0KPj4+ID4+Z2RiL0NoYW5nZUxvZzoNCg0KPj4+ID4+ MjAyMi0wNS0yMiAgTmlscy1DaHJpc3RpYW4gS2VtcGtlICA8bmlscy1jaHJp c3RpYW4ua2VtcGtlQGludGVsLmNvbTxtYWlsdG86bmlscy1jaHJpc3RpYW4u a2VtcGtlQGludGVsLmNvbT4+DQoNCj4+PiA+Pg0KDQo+Pj4gPj4gICAgICAg ICogZHdhcmYyL3JlYWQuYyAocmVhZF9zdWJyb3V0aW5lX3R5cGUpOiBSZWFk IGluIERXX0FUX3RyYW1wb2xpbmUuDQoNCj4+PiA+PiAgICAgICAgKiBnZGJ0 eXBlcy5jIChwcmludF90cmFtcG9saW5lX3RhcmdldF9pbmZvKTogTmV3IGhl bHBlciBtZXRob2QuDQoNCj4+PiA+PiAgICAgICAgKHJlY3Vyc2l2ZV9kdW1w X3R5cGUpOiBBZGQgdHJhbXBvbGluZSBpbmZvLg0KDQo+Pj4gPj4gICAgICAg IChjb3B5X3R5cGVfcmVjdXJzaXZlKTogQ29weSB0cmFtcG9saW5lIGluZm8u DQoNCj4+PiA+PiAgICAgICAgKiBnZGJ0eXBlcy5oIChmdW5jX3R5cGUpOiBB ZGQgdHJhbXBvbGluZSBzcGVjaWZpYyBmaWVsZHMuDQoNCj4+PiA+PiAgICAg ICAgKHRyYW1wb2xpbmVfdGFyZ2V0X2tpbmQpOiBOZXcgZW51bS4NCg0KPj4+ ID4+ICAgICAgICAodHJhbXBvbGluZV90YXJnZXQpOiBOZXcgc3RydWN0IGZv ciBzdG9yaW5nIERXX0FUX3RyYW1wb2xpbmUncw0KDQo+Pj4gPj4gICAgICAg IHZhbHVlLg0KDQo+Pj4gPj4gICAgICAgIChUWVBFX0lTX1RSQU1QT0xJTkUp OiBOZXcgZGVmaW5lLg0KDQo+Pj4gPj4gICAgICAgIChUWVBFX1RSQU1QT0xJ TkVfVEFSR0VUKTogTmV3IGRlZmluZS4NCg0KPj4+ID4+DQoNCj4+PiA+PlNp Z25lZC1vZmYtYnk6IE5pbHMtQ2hyaXN0aWFuIEtlbXBrZQ0KDQo+Pj4gPj48 bmlscy1jaHJpc3RpYW4ua2VtcGtlQGludGVsLmNvbTxtYWlsdG86bmlscy1j aHJpc3RpYW4ua2VtcGtlQGludGVsLmNvbT4+DQoNCj4+PiA+Pi0tLQ0KDQo+ Pj4gPj4gZ2RiL2R3YXJmMi9yZWFkLmMgfCA0MyArKysrKysrKysrKysrKysr KysrKysrKysrKw0KDQo+Pj4gPj4gZ2RiL2dkYnR5cGVzLmMgICAgfCAzMSAr KysrKysrKysrKysrKysrKysrDQoNCj4+PiA+PiBnZGIvZ2RidHlwZXMuaCAg ICB8IDc5DQoNCj4+PiA+PisrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrDQoNCj4+PiA+PiAzIGZpbGVzIGNoYW5nZWQs IDE1MyBpbnNlcnRpb25zKCspDQoNCj4+PiA+Pg0KDQo+Pj4gPj5kaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYyBp bmRleA0KDQo+Pj4gPj4yM2ZlNTY3OWNiZC4uN2Y4MGMzMWQwNTEgMTAwNjQ0 DQoNCj4+PiA+Pi0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jDQoNCj4+PiA+Pisr KyBiL2dkYi9kd2FyZjIvcmVhZC5jDQoNCj4+PiA+PkBAIC0xNjQ5MSw2ICsx NjQ5MSw0OSBAQCByZWFkX3N1YnJvdXRpbmVfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsDQoNCj4+PiBzdHJ1Y3QNCg0KPj4+ID4+ZHdhcmYyX2N1ICpj dSkNCg0KPj4+ID4+ICAgaWYgKHByb3RvdHlwZWRfZnVuY3Rpb25fcCAoZGll LCBjdSkpDQoNCj4+PiA+PiAgICAgZnR5cGUtPnNldF9pc19wcm90b3R5cGVk ICh0cnVlKTsNCg0KPj4+ID4+DQoNCj4+PiA+PisgIC8qIElmIHRoaXMgaXMg YSB0cmFtcG9saW5lIGZ1bmN0aW9uIHN0b3JlIGl0IGFuZCBpdHMgdGFyZ2V0 IGhlcmUuDQoNCj4+PiA+PisgKi8gYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUs IERXX0FUX3RyYW1wb2xpbmUsIGN1KTsgIGlmIChhdHRyICE9IG51bGxwdHIp DQoNCj4+PiA+PisgICAgew0KDQo+Pj4gPj4rICAgICAgQ09SRV9BRERSIGJh c2VhZGRyID0gb2JqZmlsZS0+dGV4dF9zZWN0aW9uX29mZnNldCAoKTsNCg0K Pj4+ID4+Kw0KDQo+Pj4gPj4rICAgICAgVFlQRV9JU19UUkFNUE9MSU5FIChm dHlwZSkgPSB0cnVlOw0KDQo+Pj4gPj4rICAgICAgVFlQRV9UUkFNUE9MSU5F X1RBUkdFVCAoZnR5cGUpDQoNCj4+PiA+PisgICAgICAgPSAodHJhbXBvbGlu ZV90YXJnZXQgKikgVFlQRV9aQUxMT0MgKGZ0eXBlLA0KDQo+Pj4gPj4rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl b2YNCg0KPj4+ID4+KyAodHJhbXBvbGluZV90YXJnZXQpKTsNCg0KPj4+ID4+ Kw0KDQo+Pj4gPj4rICAgICAgLyogQSBEV19BVF90cmFtcG9saW5lIGNhbiBi ZSBlaXRoZXIgYW4gYWRkcmVzcywgYSBmbGFnLCBhDQoNCj4+PiA+PisgcmVm ZXJlbmNlDQoNCj4+PiBvciBhDQoNCj4+PiA+PisgICAgICAgIHN0cmluZy4g ICovDQoNCj4+PiA+PisgICAgICBpZiAoYXR0ci0+Zm9ybV9pc19zdHJpbmcg KCkpDQoNCj4+PiA+PisgICAgICAgVFlQRV9UUkFNUE9MSU5FX1RBUkdFVCAo ZnR5cGUpLT5zZXRfdGFyZ2V0X3BoeXNuYW1lDQoNCj4+PiA+PisgICAgICAg ICAoYXR0ci0+YXNfc3RyaW5nICgpKTsNCg0KPj4+ID4+KyAgICAgIGVsc2Ug aWYgKGF0dHItPmZvcm1faXNfcmVmICgpKQ0KDQo+Pj4gPj4rICAgICAgIHsN Cg0KPj4+ID4+KyAgICAgICAgIGRpZV9pbmZvICp0YXJnZXRfZGllOw0KDQo+ Pj4gPj4rICAgICAgICAgZHdhcmYyX2N1ICp0YXJnZXRfY3UgPSBjdTsNCg0K Pj4+ID4+Kw0KDQo+Pj4gPj4rICAgICAgICAgdGFyZ2V0X2RpZSA9IGZvbGxv d19kaWVfcmVmIChkaWUsIGF0dHIsICZ0YXJnZXRfY3UpOw0KDQo+Pj4gPj4r ICAgICAgICAgY29uc3QgY2hhciogdGFyZ2V0X25hbWUgPSBkd2FyZjJfbmFt ZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsNCg0KPj4+ID4+KyAgICAgICAg IGlmICh0YXJnZXRfbmFtZSA9PSBudWxscHRyKQ0KDQo+Pj4gPj4rICAgICAg ICAgICB7DQoNCj4+PiA+PisgICAgICAgICAgICAgY29tcGxhaW50IChfKCJE V19BVF90cmFtcG9saW5lIHRhcmdldCBESUUgaGFzIG5vIG5hbWUgZm9yIg0K DQo+Pj4gPj4rICAgICAgICAgICAgICAgICAgICAgICAgInJlZmVyZW5jaW5n IERJRSAlcyBbaW4gbW9kdWxlICVzXSIpLA0KDQo+Pj4gPj4rICAgICAgICAg ICAgICAgICAgICAgICAgc2VjdF9vZmZzZXRfc3RyIChkaWUtPnNlY3Rfb2Zm KSwNCg0KPj4+ID4+KyAgICAgICAgICAgICAgICAgICAgICAgIG9iamZpbGVf bmFtZSAob2JqZmlsZSkpOw0KDQo+Pj4gPj4rICAgICAgICAgICB9DQoNCj4+ PiA+PisgICAgICAgICBUWVBFX1RSQU1QT0xJTkVfVEFSR0VUIChmdHlwZSkt PnNldF90YXJnZXRfcGh5c25hbWUNCg0KPj4+ID4+KHRhcmdldF9uYW1lKTsN Cg0KPj4+ID4+KyAgICAgICB9DQoNCj4+PiA+PisgICAgICBlbHNlIGlmIChh dHRyLT5mb3JtX2lzX3Vuc2lnbmVkICgpKQ0KDQo+Pj4gPj4rICAgICAgIFRZ UEVfVFJBTVBPTElORV9UQVJHRVQgKGZ0eXBlKS0+c2V0X3RhcmdldF9mbGFn IChhdHRyLQ0KDQo+Pj4gPmFzX2Jvb2xlYW4gKCkpOw0KDQo+Pj4gPj4rICAg ICAgZWxzZQ0KDQo+Pj4gPj4rICAgICAgIHsNCg0KPj4+ID4+KyAgICAgICAg IENPUkVfQUREUiB0YXJnZXRfYWRkciA9IGF0dHItPmFzX2FkZHJlc3MgKCk7 DQoNCj4+PiA+PisgICAgICAgICB0YXJnZXRfYWRkciA9IGdkYmFyY2hfYWRq dXN0X2R3YXJmMl9hZGRyIChvYmpmaWxlLT5hcmNoICgpLA0KDQo+Pj4gPj4r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0X2FkZHIgKyBiYXNlYWRkcik7DQoNCj4+PiA+PisgICAg ICAgICBUWVBFX1RSQU1QT0xJTkVfVEFSR0VUIChmdHlwZSktPnNldF90YXJn ZXRfcGh5c2FkZHINCg0KPj4+ICh0YXJnZXRfYWRkcik7DQoNCj4+PiA+Pisg ICAgICAgfQ0KDQo+Pj4gPj4rICAgIH0NCg0KPj4+ID4+Kw0KDQo+Pj4gPj4g ICAvKiBTdG9yZSB0aGUgY2FsbGluZyBjb252ZW50aW9uIGluIHRoZSB0eXBl IGlmIGl0J3MgYXZhaWxhYmxlIGluDQoNCj4+PiA+PiAgICAgIHRoZSBzdWJy b3V0aW5lIGRpZS4gIE90aGVyd2lzZSBzZXQgdGhlIGNhbGxpbmcgY29udmVu dGlvbiB0bw0KDQo+Pj4gPj4gICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBEV19D Q19ub3JtYWwuICAqLyBkaWZmIC0tZ2l0DQoNCj4+PiA+PmEvZ2RiL2dkYnR5 cGVzLmMgYi9nZGIvZ2RidHlwZXMuYyBpbmRleCBjOGY5ODU1NDg1OS4uNjZl MDQ4ODJkNDgNCg0KPj4+ID4+MTAwNjQ0DQoNCj4+PiA+Pi0tLSBhL2dkYi9n ZGJ0eXBlcy5jDQoNCj4+PiA+PisrKyBiL2dkYi9nZGJ0eXBlcy5jDQoNCj4+ PiA+PkBAIC01MjA1LDYgKzUyMDUsMzEgQEAgcHJpbnRfZml4ZWRfcG9pbnRf dHlwZV9pbmZvIChzdHJ1Y3QgdHlwZQ0KDQo+Pj4gKnR5cGUsIGludA0KDQo+ Pj4gPj5zcGFjZXMpDQoNCj4+PiA+PiAgICAgICAgICAgICAgdHlwZS0+Zml4 ZWRfcG9pbnRfc2NhbGluZ19mYWN0b3IgKCkuc3RyICgpLmNfc3RyICgpKTsN Cg0KPj4+ID4+fQ0KDQo+Pj4gPj4NCg0KPj4+ID4+Ky8qIFByaW50IHRoZSBj b250ZW50cyBvZiB0aGUgVFlQRSdzIHNlbGZfdHJhbXBvbGluZV90YXJnZXQs DQoNCj4+PiA+Pithc3N1bWluZyB0aGF0DQoNCj4+PiBpdHMNCg0KPj4+ID4+ KyAgIHR5cGUtc3BlY2lmaWMga2luZCBpcyBUWVBFX1NQRUNJRklDX0ZVTkMg YW5kIGlzX3RyYW1wb2xpbmUgaXMgbm90IDAuDQoNCj4+PiA+PisqLyBzdGF0 aWMgdm9pZCBwcmludF90cmFtcG9saW5lX3RhcmdldF9pbmZvIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgaW50DQoNCj4+PiA+PitzcGFjZXMpIHsNCg0KPj4+ID4+ KyAgc3dpdGNoIChUWVBFX1RSQU1QT0xJTkVfVEFSR0VUICh0eXBlKS0+dGFy Z2V0X2tpbmQgKCkpDQoNCj4+PiA+PisgICAgew0KDQo+Pj4gPj4rICAgIGNh c2UgVFJBTVBPTElORV9UQVJHRVRfUEhZU0FERFI6DQoNCj4+PiA+PisgICAg ICBnZGJfcHJpbnRmICgiJSpzdGFyZ2V0IHBoeXNhZGRyOiAweCVseFxuIiwg c3BhY2VzICsgMiwgIiIsDQoNCj4+PiA+PisgICAgICAgICAgICAgICAgIFRZ UEVfVFJBTVBPTElORV9UQVJHRVQgKHR5cGUpLT50YXJnZXRfcGh5c2FkZHIg KCkpOw0KDQo+Pj4gPj4rICAgICAgYnJlYWs7DQoNCj4+PiA+PisgICAgY2Fz ZSBUUkFNUE9MSU5FX1RBUkdFVF9QSFlTTkFNRToNCg0KPj4+ID4+KyAgICAg IGdkYl9wcmludGYgKCIlKnN0YXJnZXQgcGh5c25hbWU6ICVzXG4iLCBzcGFj ZXMgKyAyLCAiIiwNCg0KPj4+ID4+KyAgICAgICAgICAgICAgICAgVFlQRV9U UkFNUE9MSU5FX1RBUkdFVCAodHlwZSktPnRhcmdldF9waHlzbmFtZSAoKSk7 DQoNCj4+PiA+PisgICAgICBicmVhazsNCg0KPj4+ID4+KyAgICBjYXNlIFRS QU1QT0xJTkVfVEFSR0VUX0ZMQUc6DQoNCj4+PiA+PisgICAgICBnZGJfcHJp bnRmICgiJSpzdGFyZ2V0IGZsYWc6ICVkXG4iLCBzcGFjZXMgKyAyLCAiIiwN Cg0KPj4+ID4+KyAgICAgICAgICAgICAgICAgVFlQRV9UUkFNUE9MSU5FX1RB UkdFVCAodHlwZSktPnRhcmdldF9mbGFnICgpKTsNCg0KPj4+ID4+KyAgICAg IGJyZWFrOw0KDQo+Pj4gPj4rICAgIGRlZmF1bHQ6DQoNCj4+PiA+PisgICAg ICBnZGJfYXNzZXJ0X25vdF9yZWFjaGVkICgidW5oYW5kbGVkIHRyYW1wb2xp bmUgdGFyZ2V0IGtpbmQiKTsNCg0KPj4+ID4+KyAgICAgIGJyZWFrOw0KDQo+ Pj4gPj4rICAgIH0NCg0KPj4+ID4+K30NCg0KPj4+ID4+Kw0KDQo+Pj4gPj4g c3RhdGljIHN0cnVjdCBvYnN0YWNrIGRvbnRfcHJpbnRfdHlwZV9vYnN0YWNr Ow0KDQo+Pj4gPj4NCg0KPj4+ID4+IC8qIFByaW50IHRoZSBkeW5hbWljX3By b3AgUFJPUC4gICovIEBAIC01NTMxLDYgKzU1NTYsMTAgQEANCg0KPj4+ID4+ cmVjdXJzaXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGludA0K DQo+Pj4gc3BhY2VzKQ0KDQo+Pj4gPj4gICAgICAgIGdkYl9wcmludGYgKCIl KnNjYWxsaW5nX2NvbnZlbnRpb24gJWRcbiIsIHNwYWNlcywgIiIsDQoNCj4+ PiA+PiAgICAgICAgICAgICAgICAgICAgVFlQRV9DQUxMSU5HX0NPTlZFTlRJ T04gKHR5cGUpKTsNCg0KPj4+ID4+ICAgICAgICAvKiB0YWlsX2NhbGxfbGlz dCBpcyBub3QgcHJpbnRlZC4gICovDQoNCj4+PiA+PisgICAgICAgZ2RiX3By aW50ZiAoIiUqc2lzX3RyYW1wb2xpbmUgJWRcbiIsIHNwYWNlcywgIiIsDQoN Cj4+PiA+PisgICAgICAgICAgICAgICAgICAgVFlQRV9JU19UUkFNUE9MSU5F ICh0eXBlKSk7DQoNCj4+PiA+PisgICAgICAgaWYgKFRZUEVfSVNfVFJBTVBP TElORSAodHlwZSkpDQoNCj4+PiA+PisgICAgICAgICBwcmludF90cmFtcG9s aW5lX3RhcmdldF9pbmZvICh0eXBlLCBzcGFjZXMpOw0KDQo+Pj4gPj4gICAg ICAgIGJyZWFrOw0KDQo+Pj4gPj4NCg0KPj4+ID4+ICAgICAgIGNhc2UgVFlQ RV9TUEVDSUZJQ19TRUxGX1RZUEU6DQoNCj4+PiA+PkBAIC01NzYyLDYgKzU3 OTEsOCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSwNCg0KPj4+ID4+ICAgICAgIFRZUEVfQ0FMTElOR19DT05WRU5U SU9OIChuZXdfdHlwZSkgPQ0KDQo+Pj4gVFlQRV9DQUxMSU5HX0NPTlZFTlRJ T04NCg0KPj4+ID4+KHR5cGUpOw0KDQo+Pj4gPj4gICAgICAgVFlQRV9OT19S RVRVUk4gKG5ld190eXBlKSA9IFRZUEVfTk9fUkVUVVJOICh0eXBlKTsNCg0K Pj4+ID4+ICAgICAgIFRZUEVfVEFJTF9DQUxMX0xJU1QgKG5ld190eXBlKSA9 IE5VTEw7DQoNCj4+PiA+PisgICAgICBUWVBFX0lTX1RSQU1QT0xJTkUgKG5l d190eXBlKSA9IFRZUEVfSVNfVFJBTVBPTElORSAodHlwZSk7DQoNCj4+PiA+ PisgICAgICBUWVBFX1RSQU1QT0xJTkVfVEFSR0VUIChuZXdfdHlwZSkgPQ0K DQo+Pj4gVFlQRV9UUkFNUE9MSU5FX1RBUkdFVA0KDQo+Pj4gPj4rICh0eXBl KTsNCg0KPj4+ID4+ICAgICAgIGJyZWFrOw0KDQo+Pj4gPj4gICAgIGNhc2Ug VFlQRV9TUEVDSUZJQ19GTE9BVEZPUk1BVDoNCg0KPj4+ID4+ICAgICAgIFRZ UEVfRkxPQVRGT1JNQVQgKG5ld190eXBlKSA9IFRZUEVfRkxPQVRGT1JNQVQg KHR5cGUpOyBkaWZmDQoNCj4+PiA+PiAtLQ0KDQo+Pj4gZ2l0DQoNCj4+PiA+ PmEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaCBpbmRleCA3NDM3 ZTFkYjhhYi4uODQ2ZGUxMjg5YWQNCg0KPj4+IDEwMDY0NA0KDQo+Pj4gPj4t LS0gYS9nZGIvZ2RidHlwZXMuaA0KDQo+Pj4gPj4rKysgYi9nZGIvZ2RidHlw ZXMuaA0KDQo+Pj4gPj5AQCAtMTgxMSw2ICsxODExLDgzIEBAIHN0cnVjdCBm dW5jX3R5cGUNCg0KPj4+ID4+ICAgICAgICBjb250YWlucyB0aGUgbWV0aG9k LiAgKi8NCg0KPj4+ID4+DQoNCj4+PiA+PiAgICAgc3RydWN0IHR5cGUgKnNl bGZfdHlwZTsNCg0KPj4+ID4+Kw0KDQo+Pj4gPj4rICAgIC8qICogRm9yIGZ1 bmN0aW9ucyBtYXJrZWQgd2l0aCB0aGUgRFdfQVRfdHJhbXBvbGluZS4gIFRo ZXNlIGFyZQ0KDQo+Pj4gPj4rICAgICAgIGNvbXBpbGVyIGdlbmVyYXRlZCB3 cmFwcGVycyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gZnJvbSB0aGUgdXNlci4N Cg0KPj4+ID4+KyAqLw0KDQo+Pj4gPj4rDQoNCj4+PiA+PisgICAgdW5zaWdu ZWQgaW50IGlzX3RyYW1wb2xpbmUgOiAxOw0KDQo+Pj4gPj4rDQoNCj4+PiA+ PisgICAgc3RydWN0IHRyYW1wb2xpbmVfdGFyZ2V0ICpzZWxmX3RyYW1wb2xp bmVfdGFyZ2V0OyAgfTsNCg0KPj4+ID4+Kw0KDQo+Pj4gPj4rLyogVGhlIGtp bmQgb2YgbG9jYXRpb24gaGVsZCBieSB0aGlzIGNhbGwgc2l0ZSB0YXJnZXQu ICAqLyBlbnVtDQoNCj4+PiA+Pit0cmFtcG9saW5lX3RhcmdldF9raW5kDQoN Cj4+PiA+PisgIHsNCg0KPj4+ID4+KyAgICAvKiBBbiBhZGRyZXNzLiAgKi8N Cg0KPj4+ID4+KyAgICBUUkFNUE9MSU5FX1RBUkdFVF9QSFlTQUREUiwNCg0K Pj4+ID4+KyAgICAvKiBBIChtYW5nbGVkKSBuYW1lLiAgKi8NCg0KPj4+ID4+ KyAgICBUUkFNUE9MSU5FX1RBUkdFVF9QSFlTTkFNRSwNCg0KPj4+ID4+KyAg ICAvKiBBbiBmbGFnICh0YXJnZXQgaXMgdW5rbm93bikuICAqLw0KDQo+Pj4g Pj4rICAgIFRSQU1QT0xJTkVfVEFSR0VUX0ZMQUcsDQoNCj4+PiA+PisgIH07 DQoNCj4+PiA+PisNCg0KPj4+ID4+K3N0cnVjdCB0cmFtcG9saW5lX3Rhcmdl dA0KDQo+Pj4gPj4rICB7DQoNCj4+PiA+PisgICAgdHJhbXBvbGluZV90YXJn ZXRfa2luZCB0YXJnZXRfa2luZCAoKSBjb25zdA0KDQo+Pj4gPj4rICAgIHsN Cg0KPj4+ID4+KyAgICAgIHJldHVybiBtX3RhcmdldF9raW5kOw0KDQo+Pj4g Pj4rICAgIH0NCg0KPj4+ID4+Kw0KDQo+Pj4gPj4rICAgIHZvaWQgc2V0X3Rh cmdldF9waHlzYWRkciAoQ09SRV9BRERSIHBoeXNhZGRyKQ0KDQo+Pj4gPj4r ICAgIHsNCg0KPj4+ID4+KyAgICAgIG1fdGFyZ2V0X2tpbmQgPSBUUkFNUE9M SU5FX1RBUkdFVF9QSFlTQUREUjsNCg0KPj4+ID4+KyAgICAgIG1fdHJhbXBv bGluZV90YXJnZXQucGh5c2FkZHIgPSBwaHlzYWRkcjsNCg0KPj4+ID4+KyAg ICB9DQoNCj4+PiA+PisNCg0KPj4+ID4+KyAgICBDT1JFX0FERFIgdGFyZ2V0 X3BoeXNhZGRyICgpIGNvbnN0DQoNCj4+PiA+PisgICAgew0KDQo+Pj4gPj4r ICAgICAgZ2RiX2Fzc2VydCAobV90YXJnZXRfa2luZCA9PSBUUkFNUE9MSU5F X1RBUkdFVF9QSFlTQUREUik7DQoNCj4+PiA+PisgICAgICByZXR1cm4gbV90 cmFtcG9saW5lX3RhcmdldC5waHlzYWRkcjsNCg0KPj4+ID4+KyAgICB9DQoN Cj4+PiA+PisNCg0KPj4+ID4+KyAgICB2b2lkIHNldF90YXJnZXRfcGh5c25h bWUgKGNvbnN0IGNoYXIgKnBoeXNuYW1lKQ0KDQo+Pj4gPj4rICAgIHsNCg0K Pj4+ID4+KyAgICAgIG1fdGFyZ2V0X2tpbmQgPSBUUkFNUE9MSU5FX1RBUkdF VF9QSFlTTkFNRTsNCg0KPj4+ID4+KyAgICAgIG1fdHJhbXBvbGluZV90YXJn ZXQucGh5c25hbWUgPSBwaHlzbmFtZTsNCg0KPj4+ID4+KyAgICB9DQoNCj4+ PiA+PisNCg0KPj4+ID4+KyAgICBjb25zdCBjaGFyICp0YXJnZXRfcGh5c25h bWUgKCkgY29uc3QNCg0KPj4+ID4+KyAgICB7DQoNCj4+PiA+PisgICAgICBn ZGJfYXNzZXJ0IChtX3RhcmdldF9raW5kID09IFRSQU1QT0xJTkVfVEFSR0VU X1BIWVNOQU1FKTsNCg0KPj4+ID4+KyAgICAgIHJldHVybiBtX3RyYW1wb2xp bmVfdGFyZ2V0LnBoeXNuYW1lOw0KDQo+Pj4gPj4rICAgIH0NCg0KPj4+ID4+ Kw0KDQo+Pj4gPj4rICAgIHZvaWQgc2V0X3RhcmdldF9mbGFnIChib29sIGZs YWcpDQoNCj4+PiA+PisgICAgew0KDQo+Pj4gPj4rICAgICAgbV90YXJnZXRf a2luZCA9IFRSQU1QT0xJTkVfVEFSR0VUX0ZMQUc7DQoNCj4+PiA+PisgICAg ICBtX3RyYW1wb2xpbmVfdGFyZ2V0LmZsYWcgPSBmbGFnOw0KDQo+Pj4gPj4r ICAgIH0NCg0KPj4+ID4+Kw0KDQo+Pj4gPj4rICAgIGJvb2wgdGFyZ2V0X2Zs YWcgKCkgY29uc3QNCg0KPj4+ID4+KyAgICB7DQoNCj4+PiA+PisgICAgICBn ZGJfYXNzZXJ0IChtX3RhcmdldF9raW5kID09IFRSQU1QT0xJTkVfVEFSR0VU X0ZMQUcpOw0KDQo+Pj4gPj4rICAgICAgcmV0dXJuIG1fdHJhbXBvbGluZV90 YXJnZXQuZmxhZzsNCg0KPj4+ID4+KyAgICB9DQoNCj4+PiA+PisNCg0KPj4+ ID4+KyAgcHJpdmF0ZToNCg0KPj4+ID4+Kw0KDQo+Pj4gPj4rICAgIHVuaW9u DQoNCj4+PiA+PisgICAgew0KDQo+Pj4gPj4rICAgICAgLyogQWRkcmVzcy4g ICovDQoNCj4+PiA+PisgICAgICBDT1JFX0FERFIgcGh5c2FkZHI7DQoNCj4+ PiA+PisgICAgICAvKiBNYW5nbGVkIG5hbWUuICAqLw0KDQo+Pj4gPj4rICAg ICAgY29uc3QgY2hhciAqcGh5c25hbWU7DQoNCj4+PiA+PisgICAgICAvKiBG bGFnLiAgKi8NCg0KPj4+ID4+KyAgICAgIGJvb2wgZmxhZzsNCg0KPj4+ID4+ KyAgICB9IG1fdHJhbXBvbGluZV90YXJnZXQ7DQoNCj4+PiA+PisNCg0KPj4+ ID4+KyAgICAvKiAqIERpc2NyaW1pbmFudCBmb3IgdW5pb24gbV90cmFtcG9s aW5lX3RhcmdldC4gICovDQoNCj4+PiA+PisgICAgRU5VTV9CSVRGSUVMRCAo dHJhbXBvbGluZV90YXJnZXRfa2luZCkgbV90YXJnZXRfa2luZCA6IDI7DQoN Cj4+PiA+PiAgIH07DQoNCj4+PiA+Pg0KDQo+Pj4gPj4gLyogc3RydWN0IGNh bGxfc2l0ZV9wYXJhbWV0ZXIgY2FuIGJlIHJlZmVyZW5jZWQgaW4gY2FsbGVl cyBieQ0KDQo+Pj4gPj4gc2V2ZXJhbA0KDQo+Pj4gd2F5cy4gICovDQoNCj4+ PiA+PkBAIC0yMTcyLDYgKzIyNDksOCBAQCBleHRlcm4gdm9pZCBzZXRfdHlw ZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3QNCg0KPj4+IHR5cGUgKiwNCg0KPj4+ ID4+c3RydWN0IHR5cGUgKik7ICAjZGVmaW5lIFRZUEVfQ0FMTElOR19DT05W RU5USU9OKHRoaXN0eXBlKQ0KDQo+Pj4gPj5UWVBFX01BSU5fVFlQRSh0aGlz dHlwZSktPnR5cGVfc3BlY2lmaWMuZnVuY19zdHVmZi0NCg0KPj4+ID5jYWxs aW5nX2NvbnZlbnRpb24NCg0KPj4+ID4+ICNkZWZpbmUgVFlQRV9OT19SRVRV Uk4odGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRoaXN0eXBlKS0NCg0KPj4+ ID4+PnR5cGVfc3BlY2lmaWMuZnVuY19zdHVmZi0+aXNfbm9yZXR1cm4NCg0K Pj4+ID4+ICNkZWZpbmUgVFlQRV9UQUlMX0NBTExfTElTVCh0aGlzdHlwZSkg VFlQRV9NQUlOX1RZUEUodGhpc3R5cGUpLQ0KDQo+Pj4gPj4+dHlwZV9zcGVj aWZpYy5mdW5jX3N0dWZmLT50YWlsX2NhbGxfbGlzdA0KDQo+Pj4gPj4rI2Rl ZmluZSBUWVBFX0lTX1RSQU1QT0xJTkUodGhpc3R5cGUpDQoNCj4+PiA+PitU WVBFX01BSU5fVFlQRSh0aGlzdHlwZSktPnR5cGVfc3BlY2lmaWMuZnVuY19z dHVmZi0+aXNfdHJhbXBvbGluZQ0KDQo+Pj4gPj4rI2RlZmluZSBUWVBFX1RS QU1QT0xJTkVfVEFSR0VUKHRoaXN0eXBlKQ0KDQo+Pj4gPj4rVFlQRV9NQUlO X1RZUEUodGhpc3R5cGUpLT50eXBlX3NwZWNpZmljLmZ1bmNfc3R1ZmYtDQoN Cj4+PiA+c2VsZl90cmFtcG9saW5lX3Rhcg0KDQo+Pj4gPj4rZ2V0DQoNCj4+ PiA+PiAjZGVmaW5lIFRZUEVfQkFTRUNMQVNTKHRoaXN0eXBlLGluZGV4KSAo KHRoaXN0eXBlKS0+ZmllbGQNCg0KPj4+ID4+IChpbmRleCkudHlwZQ0KDQo+ Pj4gKCkpDQoNCj4+PiA+PiNkZWZpbmUgVFlQRV9OX0JBU0VDTEFTU0VTKHRo aXN0eXBlKSBUWVBFX0NQTFVTX1NQRUNJRklDKHRoaXN0eXBlKS0NCg0KPj4+ ID4+Pm5fYmFzZWNsYXNzZXMNCg0KPj4+ID4+ICNkZWZpbmUgVFlQRV9CQVNF Q0xBU1NfTkFNRSh0aGlzdHlwZSxpbmRleCkgKHRoaXN0eXBlLT5maWVsZA0K DQo+Pj4gKGluZGV4KS5uYW1lICgpKQ0KDQo+Pj4gPj4tLQ0KDQo+Pj4gPj4y LjI1LjENCg0KPj4+ID4+DQoNCj4+PiA+PkludGVsIERldXRzY2hsYW5kIEdt YkgNCg0KPj4+ID4+UmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEw LCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkNCg0KPj4+ID4+VGVsOiArNDkg ODkgOTkgODg1My0wLA0KDQo+Pj4gPj5odHRwczovL25hbTExLnNhZmVsaW5r cy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRncN Cg0KPj4+IHd3LmludA0KDQo+Pj4gPj5lbC5kZSUyRiZkYXRhPTA1JTdDMDEl N0NKaW5pU3VzYW4uR2VvcmdlJTQwYW1kLmNvbSU3QzljM2YNCg0KPj4+IDI4 YjUNCg0KPj4+DQoNCj4+Pj45OGNmNDlmODg4ZjkwOGRhNjAxMjcyYTAlN0Mz ZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzANCg0KPj4+ICU3 DQoNCj4+PiA+PkMwJTdDNjM3OTI3OTI5NjMyNTYxODcyJTdDVW5rbm93biU3 Q1RXRnBiR1pzYjNkOGV5SldJam9pTUMNCg0KPj4+IDR3TGoNCg0KPj4+ID4+ QXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJ Nk1uMCUzRCU3QzMwMDAlN0MNCg0KPj4+ICU3Qw0KDQo+Pj4gPj4lN0Mmc2Rh dGE9TUJhUTdYcFNaNFhGTzk2M2RueEYlMkZ5MVBEMGdjeDZrJTJGamRhaWZ4 b1NVYQ0KDQo+Pj4gWSUzRA0KDQo+Pj4gPj4mcmVzZXJ2ZWQ9MA0KDQo+Pj4g Pj48aHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29r LmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZ3DQoNCj4+PiB3dy5pbg0KDQo+Pj4g Pj50ZWwuZGUlMkYmZGF0YT0wNSU3QzAxJTdDSmluaVN1c2FuLkdlb3JnZSU0 MGFtZC5jb20lN0M5YzMNCg0KPj4+IGYyOGI1DQoNCj4+Pg0KDQo+Pj4+OThj ZjQ5Zjg4OGY5MDhkYTYwMTI3MmEwJTdDM2RkODk2MWZlNDg4NGU2MDhlMTFh ODJkOTk0ZTE4M2QlN0MwDQoNCj4+PiAlNw0KDQo+Pj4gPj5DMCU3QzYzNzky NzkyOTYzMjU2MTg3MiU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpv aU1DDQoNCj4+PiA0d0xqDQoNCj4+PiA+PkF3TURBaUxDSlFJam9pVjJsdU16 SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDAwJTdDDQoN Cj4+PiAlN0MNCg0KPj4+ID4+JTdDJnNkYXRhPU1CYVE3WHBTWjRYRk85NjNk bnhGJTJGeTFQRDBnY3g2ayUyRmpkYWlmeG9TVWENCg0KPj4+IFklM0QNCg0K Pj4+ID4+JnJlc2VydmVkPTA+DQoNCj4+PiA+Pk1hbmFnaW5nIERpcmVjdG9y czogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNoYXJvbiBIZWNrLCBUaWZmYW55 IERvb24NCg0KPj4+ID4+U2lsdmEgQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVy dmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1IFJlZ2lzdGVyZWQgT2ZmaWNlOg0K DQo+Pj4gTXVuaWNoDQoNCj4+PiA+PkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFt dHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgNCg0KPj4NCg0KPj5JbnRl bCBEZXV0c2NobGFuZCBHbWJIDQoNCj4+UmVnaXN0ZXJlZCBBZGRyZXNzOiBB bSBDYW1wZW9uIDEwLCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkNCg0KPj5U ZWw6ICs0OSA4OSA5OSA4ODUzLTAsDQoNCj4+aHR0cHM6Ly9uYW0xMS5zYWZl bGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYl MkZ3d3cuaW50DQoNCj4+ZWwuZGUlMkYmZGF0YT0wNSU3QzAxJTdDSmluaVN1 c2FuLkdlb3JnZSU0MGFtZC5jb20lN0NkNjJjM2UyMA0KDQo+PjkyYWE0NzA5 OGQ5OTA4ZGE2NGM3MjBhNyU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5 NGUxODNkJTdDMCUNCg0KPj43QzAlN0M2Mzc5MzMxMDM2NTQzOTc4OTclN0NV bmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TA0KDQo+PmpBd01E QWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4w JTNEJTdDMzAwMCU3QyU3Qw0KDQo+PiU3QyZzZGF0YT1TcU9ldDhHUlREZ01I eUxIOVRLa3ZuYWlLMU4wQU8xTlFHMDlQbG44aUpRJTNEJmENCg0KPj5tcDty ZXNlcnZlZD0wDQoNCj4+PGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3Rl Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGd3d3LmluDQoN Cj4+dGVsLmRlJTJGJmRhdGE9MDUlN0MwMSU3Q0ppbmlTdXNhbi5HZW9yZ2Ul NDBhbWQuY29tJTdDZDYyYzNlMg0KDQo+PjA5MmFhNDcwOThkOTkwOGRhNjRj NzIwYTclN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAN Cg0KPj4lN0MwJTdDNjM3OTMzMTAzNjU0Mzk3ODk3JTdDVW5rbm93biU3Q1RX RnBiR1pzYjNkOGV5SldJam9pTUM0DQoNCj4+d0xqQXdNREFpTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAl N0MNCg0KPj4lN0MlN0Mmc2RhdGE9U3FPZXQ4R1JURGdNSHlMSDlUS2t2bmFp SzFOMEFPMU5RRzA5UGxuOGlKUSUzDQoNCj4+RCZyZXNlcnZlZD0wPg0KDQo+ Pk1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNo YXJvbiBIZWNrLCBUaWZmYW55IERvb24gU2lsdmENCg0KPj5DaGFpcnBlcnNv biBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUgUmVnaXN0 ZXJlZCBPZmZpY2U6IE11bmljaA0KDQo+PkNvbW1lcmNpYWwgUmVnaXN0ZXI6 IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgNCg0KDQoNCkludGVs IERldXRzY2hsYW5kIEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1w ZW9uIDEwLCA4NTU3OSBOZXViaWJlcmcsIEdlcm1hbnkKVGVsOiArNDkgODkg OTkgODg1My0wLCB3d3cuaW50ZWwuZGUgPGh0dHA6Ly93d3cuaW50ZWwuZGU+ Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNo YXJvbiBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBlcnNvbiBv ZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJl ZCBPZmZpY2U6IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2Vy aWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg== --_000_SA1PR11MB68461013A408405EDFDDDDE1CBF49SA1PR11MB6846namp_--