From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id YE0oFrFrt2e8qDcAWB0awg (envelope-from ) for ; Thu, 20 Feb 2025 12:51:45 -0500 Received: by simark.ca (Postfix, from userid 112) id 57CCD1E105; Thu, 20 Feb 2025 12:51:45 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=unavailable autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 9CC2B1E05C for ; Thu, 20 Feb 2025 12:51:44 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 36950385841C for ; Thu, 20 Feb 2025 17:51:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36950385841C Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.129.114]) by sourceware.org (Postfix) with ESMTP id 169EA3858D20 for ; Thu, 20 Feb 2025 17:51:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 169EA3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 169EA3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.114 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1740073862; cv=none; b=rhzwIxDn9ckCR2QE/F0UMRmRvooNG2I/1x2r0i8vwKtW/XGHAPrZeoQH2NJ4zLe8Lv0PqcVv0x+dEU+ov0xl3jrn+Qx3ddonr/UWKtxf5hcyp+Q7slwGo4hCMnOOVmk4/YRFCXPNwSPsGxJEYfJkB1zbBRb4vvUsbbJ7pnZUdf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1740073862; c=relaxed/simple; bh=+LXY3Z3dFLzZh74Duuah9ULnLT56r049mm8ZAFsP95Y=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=qMZTYNZB3+0GduZGOg6utagZrAb1A3YXtVQqj1vzOb1u3snd6eCY+0FKs3jjqftWudm+NJ6vX/7dQ1ERe/DwskbSZNpdFD0GEnm0q+k4DZOdcHhuYuQ7pxmtwNjcp6NWWsNmDdIdWK4TY3CcBdJgnagI6VnXEDkGMDj+kW/R8BA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 169EA3858D20 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-345-qmgrIEliPb-hGG7CEKkAbg-1; Thu, 20 Feb 2025 12:50:57 -0500 X-MC-Unique: qmgrIEliPb-hGG7CEKkAbg-1 X-Mimecast-MFC-AGG-ID: qmgrIEliPb-hGG7CEKkAbg_1740073856 Received: from SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) by MW5PR17MB5968.namprd17.prod.outlook.com (2603:10b6:303:1c9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.20; Thu, 20 Feb 2025 17:50:54 +0000 Received: from SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::38a7:a6f2:3b95:bc26]) by SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::38a7:a6f2:3b95:bc26%7]) with mapi id 15.20.8466.015; Thu, 20 Feb 2025 17:50:54 +0000 From: =?utf-8?B?SmFuIFZyYW7DvQ==?= To: "simark@simark.ca" , "gdb-patches@sourceware.org" CC: "aburgess@redhat.com" Subject: Re: [RFC 0/9] Attempt to unify Python object's lifecycle Thread-Topic: [RFC 0/9] Attempt to unify Python object's lifecycle Thread-Index: AQHbcKiVpBbtrj43Ukec2ngf8M5RCbNPQVeAgAFdUIA= Date: Thu, 20 Feb 2025 17:50:54 +0000 Message-ID: <6779ca1e67acc2081194631fb01b423215401d2a.camel@labware.com> References: <20250127104435.823519-1-jan.vrany@labware.com> <3714b9a2-a8cb-423e-878b-a80f3b52f8e9@simark.ca> In-Reply-To: <3714b9a2-a8cb-423e-878b-a80f3b52f8e9@simark.ca> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA0PR17MB4314:EE_|MW5PR17MB5968:EE_ x-ms-office365-filtering-correlation-id: 422933a9-25c2-4120-2fb1-08dd51d71f6d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018 x-microsoft-antispam-message-info: =?utf-8?B?VExMK3Z6QUozc0d3QVlKTHA0aXhKMXYvVHhhYTZVNzVveUpKM3ZXTVdDa0RI?= =?utf-8?B?VjhHWWhDV3drYVprM0hLZGNKU3RzSDNiNzlUa3Z0YU9yRnRMcW5YQms5bHI2?= =?utf-8?B?bHRCdmRENEJDZk1hL0FCY1N1aXc5NlRNU2NhZnpPbFpFUmt4MVl0RDVPeXJx?= =?utf-8?B?MEVqbC8zaGdIU0d0ZGx6VmMrK3BUeHUwRkRTZFZteWlWNUNCSHVqUmFINWNG?= =?utf-8?B?cjgyZkwvdzRpejFYdkRLTlR6RHlFdmgvaHk2cUFLdVNsbHlZTUNHTStrOHRi?= =?utf-8?B?YnFtKzY1R3BmZ3M1YURoWklaNUpDRFlBYVBmZzY4SWdaR1RKemZISFRjaFhl?= =?utf-8?B?ZVlCYm9tQ2lCYVVLSjErQVcyN203ZDA0Mmh4cUNZUUd3a3c3MjFjemFPN1c5?= =?utf-8?B?dHFUWkhXSU9CVHZ2cjg4aU9iZFZsUVA4ZkJicUl6YXYvTDRjSUJkbUNramtE?= =?utf-8?B?OUVSaXZBOWRkNmNlY1NiOWVhMytyMHcvVlcxRk94N3BxOTljR3VMdys5cVNu?= =?utf-8?B?eksxMVVZNEpidEY1WUYrTVFyTG1YRFdYRHo4VHZhVXVPNmpFNUl2Y2M4MEJV?= =?utf-8?B?R003MitidXYxREVTQzB6bnB4NHdmOUxFaHppOUtWZUx0d0VxTGZoOU5aVFFv?= =?utf-8?B?V2c0blExc3lsU2dKaERsTXIrS1ZVYmdGVmFhZzduNExXVDRTckZ0ZlZxNi9a?= =?utf-8?B?RWVlNHNnbVE4ckU5RWt2Y3JETm5yWUgrbDE3Zmc4cnVtMlYxaVZ6bSs3Mlk2?= =?utf-8?B?dnNHUkNiRlNTak9hWHNEYy8xSWxkTWxMTjArdXhsSlpCOTU4U0RkbTQwamZa?= =?utf-8?B?ZzhRYWYwc0U4NkdQOHp5aWlXWnU5VmpkUUc1N2VhYXNCRE1UZ3FUMHZ2Mml5?= =?utf-8?B?Tkh2YS96blpjVllrdUM2a0xNRFB6d1FFZWo1ZWIyTTJZUElLenJIdU9tMnI4?= =?utf-8?B?U3YyQmdnQW9lTG56S2Y3UGp0bmloU3BsUTJjRkoycnlPUzlZeEVsVUpvTlVG?= =?utf-8?B?VXpJQkJPa2VncFJhaWJZZTlqdnV1MWdIVzdwK3Zrd3c3ZlQxYnlIUDFYMVhx?= =?utf-8?B?SytyTnI2di9hdVpwS1N5WGZQNWJBd0NaMStrOXlObGxVUGhGVW04WlRwVjNG?= =?utf-8?B?RTBvSWd4SDhCWmt2L29sWE5hazNOaVdYa0FRYk5lcDZaMDIwV3hMbHBZb3VV?= =?utf-8?B?K3h5azRLNGpQK0d6bUErYzdSdkxwSEtINHRaSHdwMmlvQW5BWTJmTTVLUVpI?= =?utf-8?B?ckNEa1hzTUFHSDZ4TWVRMFhxTjBJTTVHWHhBMVpvdWl4M05IMnJhRWlnMERv?= =?utf-8?B?WkRSSXB3U3ZSTytqVjdla3A1RDFGWndFQlhaT3czTnBPNE9TN0xwYzl6K3Ey?= =?utf-8?B?MElFclkzYmp3WjBGWHI2dDhza3NNQlh1Ym5VOTQxbzVhZVJ6YzlTbmFhS29o?= =?utf-8?B?Ym5aVG02bFBMaXQreHYyWUZLWCtVTlRQa3ZTbkJvSytPNUhFcGU1WHRMVlA5?= =?utf-8?B?Ly9zYkxJdElOZElvODAvVmdkUTI5cWhHREsvcWlCY2NDME1MTS9aMlk4emdq?= =?utf-8?B?ZGNXYmhqVUlVb3h0U0JPWjV5MEViUWhranV1YmJXTDcrL1ZpU2hscmNXeFp3?= =?utf-8?B?SlQwdWVHeUs3cW50bXo1UFNFWGI0TlI5anI4R0NIWG9RMEtxSE1STTlQYVpl?= =?utf-8?B?TzdqeHZITWI5aDl5dVd3REROKzJYNzZJVTZzWjBOVEFuSnlod0VGK3NVdEhB?= =?utf-8?B?bXd3NGRtR2RiMDEvVHhJZEk1WnJRUzYvZzBOZ1VYY0ZwNjluZGxDOWZ4ZXA3?= =?utf-8?B?b2poK0huOGd5NHZocVJjMDBVd0dLdXVTMFBPa2VQMDlNUm9WR1VwaXZLRVRI?= =?utf-8?B?cWdrTTBGcmpOaVpNVDlyeTVwNUtJb09GU1BrZVprTHJiSTNSZkh5SW91bTRS?= =?utf-8?B?T04rNTNRTlpGMnhrdTZpaWxIVnh2WVV2a0FHU2dxSDFkOEZsWHlzN1BBdDBE?= =?utf-8?B?VWZQQ2tkcWxnPT0=?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA0PR17MB4314.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SGJIOERPeFIvN04yR3ZRQnBLeFlHTFFSVGRBRVRKSk82anRDRlNiY2RaWkxK?= =?utf-8?B?Q3J2SjZUS0kyVFR1Z2I4SlFVYVhzNDhEejZQZ1BQcFcvMmE3SElEc3Q4VFNh?= =?utf-8?B?KzBieFdIWWxQcFpiRmk3akVPVUpVMVE2TUZBQU94WnE4RFpwQndPR1BpMysr?= =?utf-8?B?YzV6UFhSb1A0aWtzUjFtQ05zMVErWU45VVlkbmhta1p1a3RydW00ZlV1dnVY?= =?utf-8?B?OUFzT3VoOU5BS3NUdUd0UUxSZHlpZGFJMy82cjRPZDc3NjZlY3RVRExzbDhn?= =?utf-8?B?NGxVQUR3OW13UXpnUXlqVVNmWkZvZ25kNGtvWVpEalFxYXE4TzJOa0RPbU8w?= =?utf-8?B?czNzQ3dyb0RKaVVURGl0ci80VEdlMXdtN2FSd2p1TFh0SXpOYlBScERLTFpK?= =?utf-8?B?YUpEY3lkSVcrNXA5NDE5NjRpQnZzODdHMi95d2dKTUJ0a1VSM0p4WTV1UE5G?= =?utf-8?B?ZENtcWdpcFF1ekpLTHBFUTZ2dlZyY2ltWnpCNWxFTjVTMXpyaVZEbnVKRzZP?= =?utf-8?B?T0xJVXhDYmZmVjBlUGlhTXUydTlEb0hYdDdtUEYyM0FRZVhoWXlvVG81Q1dG?= =?utf-8?B?SFp0d2hUMHl0YmR4cTI2Y09TSEtnakZTOTd4QVdFeVl6VTBSRWpWSy9IMFpO?= =?utf-8?B?aE80QnNwcTlieURFbkEraEVITmh3WVIvaWtIN2VQOVcxa1VSYVNUNEJOcGlK?= =?utf-8?B?bUhHWGJFdUpxME1oQmlYcjZkeUE2RXU4a290bFBPR2tzNDZudUFESXcwdGdF?= =?utf-8?B?N0lzd1M4UzNvNC9nTWczQVJrbzI4UlF2cVNxMmlkTmNVd3VkcGtoMHBGTng3?= =?utf-8?B?UU1tcUJ5Nm9NT3I2bTVCYzIzR3luR3RKTnFYVTMvcFNnQis4TlNGb2I3eHZD?= =?utf-8?B?bjBwMldaV0lOdWxZNDF4cUdQajVjSW8yaC9ZVVlIWGwvRkVCZXByd1M3Wm50?= =?utf-8?B?M1o1QTlBUUlBQU9YOTNya1E1M2lKc2pkUUxUSXFRbU55VURrQWtJYnl6aU9B?= =?utf-8?B?dWtIZ2toVXY1a2doZVZHc0lRK2pEeFAzQXdEb0VUYU5nL1pRVzJTcUE2eU1W?= =?utf-8?B?SlI2RW14a0NBYnEzaGEzOXo0QUJZV0NVZ01sZXFXNlVUcW95UWFPaFgvM2Zm?= =?utf-8?B?UktDSmJjV1hiV0wzajdkcWt4blNXSnRLUWFaMFFLcDhXcjU4QU5XSHR2WCtl?= =?utf-8?B?ZUR6MkhiSmdCZnh3QnpiTXVNTDJIYi9VUFpKb3g1d1dEMDdBY1prVlF3VDJh?= =?utf-8?B?aFhUSndoYkJJQmp1QmNyd1BXVTkwUHNsdkZOTU1BMTAvTnp0eU9wYTk1YXhu?= =?utf-8?B?ekpqK0ZHVmhFeFJ0c1B0cnJJb2pPemRlU3ZJU0xjaUg4UXUrekJZWmhFa3Y3?= =?utf-8?B?SCtyTlFuNDJuZmpHN0Fpb3hERlAzOHIyUno3TnQ0RHZzMmtjNWt6bUE2TG1o?= =?utf-8?B?ZktNRmJXdmtDMSsxV0pWQ2tDKzM2eCtRTlMvc3pwdERTemJKdy9VZHRTMmtU?= =?utf-8?B?S3M2amxXd2pMclBNYTNYdTNWTlpsTEJGMnVydDJkNC9DcGhSeDgzQkFVQ3Fj?= =?utf-8?B?OE9yMDFiblNSSWlIUE5NTWZwWFRXOWh6Nk4xSVEzMTFsRkNYWUE1UlB0WFVS?= =?utf-8?B?cXFvbmc1b29XVjdDZFdGaDVaUzRqL3M3Q3lzRngwM3RIQlRTQU42d2RFTDVK?= =?utf-8?B?bWtGQkxGd1d3MEZEbE4rNUdQM2IvVnoxcUhnb1cxTWJjVlR5UmU0VUl3elZD?= =?utf-8?B?YW1STkRQdDEzWDFycnpuM3ZGRmY2MnF6Z2l4T01uTzk4OWdLRU9LNGdWL2oz?= =?utf-8?B?ZFhJR0x4b3d0WUtOdmRHRHZQQUpPY3plc1Z6dFVjNjZWRFN3VXYyZjIrTUpT?= =?utf-8?B?VjFOSW0zbjNzZnVhUWpjL2hKc0NRQTR5cnZjVFJjaGQwZkFqbUErNGdyZWdw?= =?utf-8?B?Nk1iOWV0V0RyWUZydnBLdi9kVWRUOGExTllLVng5bnluWVZwdFpQZEpXTXhp?= =?utf-8?B?cll2WTNDU2x4WHlLUXVSci81UlZ4bjdpWDJEVTB0YWQvUTZRWDhsTVBXejRn?= =?utf-8?B?MXdXZVF2cWloVnNMTW1md2xWTXFraVdwUzB4aFRxZmVaaUdhNDNqQnRWcnRj?= =?utf-8?B?aUxUY1VJUFJpQ282clJReWJ4S0RjZGZjdm1vdzhzeG1GM3B3Zys5ckpvenRr?= =?utf-8?B?REE9PQ==?= MIME-Version: 1.0 X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA0PR17MB4314.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 422933a9-25c2-4120-2fb1-08dd51d71f6d X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2025 17:50:54.3040 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2ZAlQX8HN768WG9wtN/Vs6A+/fixF+ZioKFdNJZBZUNWFeRLZ8PdvJhdTtARGlyfWOyEcxx6xXe5CXOvnA+vDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR17MB5968 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 8FaQza60WdetMHnzO1567vVBR5POXkVeYofQge0YQFA_1740073856 X-Mimecast-Originator: labware.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-ID: <1C1D3FC984527448AF24C20D16537F08@namprd17.prod.outlook.com> Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org T24gV2VkLCAyMDI1LTAyLTE5IGF0IDE2OjAwIC0wNTAwLCBTaW1vbiBNYXJjaGkgd3JvdGU6DQo+ IA0KPiANCj4gT24gMjAyNS0wMS0yNyAwNTo0NCwgSmFuIFZyYW55IHdyb3RlOg0KPiA+IEhpLA0K PiA+IA0KPiA+IHRoaXMgUkZDIGlzIGFuIGF0dGVtcHQgdG8gc3lzdGVtYXRpY2FsbHkgYWRkcmVz cyBBbmRyZXcncw0KPiA+IGNvbW1lbnQgb24gYSBwYXRjaCBJIHN1Ym1pdHRlZCBlYXJsaWVyIFsx XS4gSW4gcGFydGljdWxhciwNCj4gPiB0aGlzIHBhcnQ6DQo+ID4gDQo+ID4gPiBJIGRvbid0IHJl YWxseSBsaWtlIHRoZSBhcHByb2FjaCB0YWtlbiBieSB0aGlzIGZ1bmN0aW9uLsKgIEVhY2gNCj4g PiA+IHRpbWUgdGhlDQo+ID4gPiBmdW5jdGlvbiBpcyBjYWxsZWQgd2UgZ2V0IGEgbmV3IGdkYi5D b21wdW5pdCBvYmplY3QgY3JlYXRlZCBhbmQNCj4gPiA+IGNoYWluZWQNCj4gPiA+IG9udG8gdGhl IG9iamZpbGUuDQo+ID4gDQo+ID4gVGhpcyBpcyBpbiBmYWN0IHRydWUgZm9yIG90aGVyIG9iamVj dHMgLSBnZGIuU3ltdGFiLCBnZGIuU3ltYm9sLA0KPiA+IGdkYi5UeXBlLiBNb3Jlb3ZlciBlYWNo IG9mIHRoZXNlIG9iamVjdHMgaGF2ZSB0aGVpciBvd24gY29weQ0KPiA+IG9mIChsYXJnZWx5IHNh bWUpIGhvdXNla2VlcGluZyBjb2RlLiBUaGUgZ2RiLkJsb2NrIHVzZWQgdG8gYmUNCj4gPiB0aGUg c2FtZSBidXQgbm90IGxvbmcgYWdvIGl0IHdhcyBjaGFuZ2VkIHNvIGdkYi5CbG9ja3MgYXJlIG5v dw0KPiA+IGludGVybmVkIChtZW1vaXplZCkuIEZyb20gdGhlIHVzZXIgcG9pbnQgb2Ygdmlldywg SSBmb3VuZCBpdCBiaXQNCj4gPiBjb3VudGVyLWludHVpdGl2ZS4NCj4gPiANCj4gPiBNeSBpZGVh IHdhcyB0byByZWZhY3RvciB0aGlzIGhvdXNla2VlcGluZyBjb2RlIGludG8gYSBjb21tb24gY2xh c3MuDQo+ID4gVGhpcyBSRkMgaXMgcmVzdWx0IG9mIHNldmVyYWwgaXRlcmF0aW9ucy4gVGVzdGVk IG9uIHg4Nl82NC1saW51eC4NCj4gPiANCj4gPiBGaXJzdCBmb3VyIGNvbW1pdHMgZXhwYW5kIGV4 aXN0aW5nIGNvZGUgdG8gaW50ZXJuIChtZW1vaXplKQ0KPiA+IGdkYi5TeW10YWIsIGdkYi5TeW1i b2wgYW5kIGdkYi5UeXBlLiBUaGUgcmVzdCB0aGVuIGludHJvZHVjZXMNCj4gPiB0ZW1wbGF0ZSBj bGFzc2VzIHRoYXQgaW1wbGVtZW50IG5lY2Vzc2FyeSBob3VzZWtlZXBpbmcgYW5kDQo+ID4gY29u dmVydHMgZ2RiLlN5bXRhYiwgZ2RiLlN5bWJvbCBhbmQgZ2RiLlR5cGUgdG8gdXNlIGl0Lg0KPiA+ IEl0IGNvdWxkIGdvIGZ1cnRoZXIgKG9uZSBjYW4gY29udmVydCBnZGIuQmxvY2sgdG9vIGFuZA0K PiA+IGdkYi5WYWx1ZSBhbmQgZ2RiLlZhbHVlLnR5cGUgYW5kIGR5bmFtaWNfdHlwZSBjb3VsZCBi ZQ0KPiA+IGZ1cnRoZXIgc2ltcGxpZmllZCB0b28pIGJ1dCBJIGRlY2lkZWQgdG8gc3RvcCBoZXJl Lg0KPiA+IA0KPiA+IFRoZSBtYWluIHJlYXNvbiBpcyB0aGF0IGl0IHR1cm5lZCBub3QgdG8gYmUg YXMgc2ltcGxlIGFzDQo+ID4gSSB0aG91Z2h0IC0gdGhlcmUgc2VlbSB0byBiZSBmZXcgZGlmZmVy ZW5jZXMgaGVyZSBhbmQgdGhlcmUNCj4gPiAoc2VlIFsyXSkuIFRoaXMgY29tcGxpY2F0ZWQgdGhl IGhvdXNla2VlcGluZyBjbGFzc2VzDQo+ID4gKGdkYnB5X3JlZ2lzdHJ5IGFuZCBhc3NvY2lhdGVk ICJzdG9yYWdlIikuIE15IEMrKyBpcw0KPiA+IGlzIHByZXR0eSBiYXNpYyBzbyBwZXJoYXBzIHRo ZXJlJ3MgYmV0dGVyIGFuZCBzaW1wbGVyIHdheQ0KPiA+IG9mIGRvaW5nIGl0LiBBbm90aGVyIHJl YXNvbiBpcyB0aGF0IEkgd2FzIGhvcGluZyBmb3Igc29tZSBjb2RlDQo+ID4gcmVkdWN0aW9uIGlu IHRlcm1zIG9mIHNpemUgYnV0IGxvb2tpbmcgYXQgdGhlIHJlc3VsdCwNCj4gPiB0aGVyZSdzIGhh cmRseSBhbnkuIE9uIHRoZSBvdGhlciBoYW5kLCB0aGUgbGlmZWN5Y2xlIG1hbmFnZW1lbnQNCj4g PiBpcyBtb3JlIHVuaWZpZWQgYWNyb3NzIGRpZmZlcmVudCBQeXRob24gb2JqZWN0cy4NCj4gPiAN Cj4gPiBBbGwgaW4gYWxsLCBJJ20gbm90IHN1cmUgdGhpcyBpcyB0aGUgYmVzdCBhcHByb2FjaCBh bmQgd29ydGgNCj4gPiBpdC4gQnkgdGhpcyBSRkMsIEknZCBsaWtlIHRvIHNvbGljaXQgZmVlZGJh Y2sgZnJvbSBleHBlcmllbmNlZA0KPiA+IEdEQiBkZXZlbG9wZXJzIG9uIGhvdyB0byBtb3ZlIG9u Lg0KPiA+IA0KPiA+IEJhc2ljYWxseSBJIHNlZSBmb2xsb3dpbmcgb3B0aW9uczoNCj4gPiANCj4g PiAxKSBEbyBub3QgY2hhbmdlIGFueXRoaW5nIGluIHRoaXMgYXJlYSAoSSdtIHBlcmZlY3RseQ0K PiA+IMKgwqAgaGFwcHkgd2l0aCB0aGF0KS4NCj4gPiAyKSBJbnRlcm4gKG1lbW9pemUpIFB5dGhv biBvYmplY3RzICh3aGVyZSBpdCBtYWtlcyBzZW5zZSkNCj4gPiDCoMKgIGJ1dCBrZWVwIHRoZSBj dXJyZW50IGFwcHJvYWNoLiBCYXNpY2FsbHkgZmlyc3QgZm91cg0KPiA+IMKgwqAgY29tbWl0cyBv ZiB0aGlzIFJGQy4NCj4gPiAzKSBDb250aW51ZSB3b3JraW5nIG9uIHRoaXMuDQo+ID4gDQo+ID4g VGhhbmtzLA0KPiA+IA0KPiA+IEphbg0KPiA+IA0KPiA+IFsxXToNCj4gPiBodHRwczovL2luYm94 LnNvdXJjZXdhcmUub3JnL2dkYi1wYXRjaGVzLzg3bzcwYXIzNHouZnNmQHJlZGhhdC5jb20NCj4g PiBbMl06DQo+ID4gaHR0cHM6Ly9pbmJveC5zb3VyY2V3YXJlLm9yZy9nZGIvNmM3M2Y4MzRkM2Y3 YjU0NTE4OGUxOTk5MTI1ZTdhZTYzYWU4M2VhYi5jYW1lbEB2cmFueS5pby9ULyN1DQo+IA0KPiBJ J20gc29ycnksIEkgZG9uJ3QgaGF2ZSBhbnkgYW5zd2VycyBmb3IgeW91ciBxdWVzdGlvbnMgaW4g WzJdLg0KPiANCj4gSSBzY2FubmVkIHlvdXIgcGF0Y2ggc2VyaWVzLCBhbmQgSSdtIG5vdCBzdXJl IGFib3V0IG9uZSB0aGluZzogb25jZQ0KPiB0aGUNCj4gdXNlciBpcyBkb25lIHdpdGggYSBQeXRo b24gb2JqZWN0IGFuZCByZWxlYXNlcyBhbGwgdGhlaXIgcmVmZXJlbmNlLA0KPiBkbw0KPiB3ZSBk ZWxldGUgdGhlIFB5dGhvbiBvYmplY3QsIG9yIGRvIHdlIGtlZXAgaXQgYXJvdW5kIGZvciB0aGUg bmV4dA0KPiB0aW1lDQo+IGl0IG1pZ2h0IGJlIG5lZWRlZD/CoCBJIGd1ZXNzIGJvdGggd291bGQg YmUgdmFsaWQgYXBwcm9hY2hlcy4NCg0KSW4gdGhlIHNlcmllcyBJIGhhdmUgcG9zdGVkIFB5dGhv biBvYmplY3RzIGFyZSBrZXB0IGFyb3VuZCBhbmQNCmRlc3Ryb3llZCBvbmx5IHdoZW4gb3duZXIg aXMgZ29uZS4gU28gaXQgaW1wbGVtZW50cyBjaG9pY2UgMw0KZnJvbSBjaG9pY2VzIGJlbG93LiAN Cg0KPiANCj4gTGV0IG1lIHN1bW1hcml6ZSBvdXIgY2hvaWNlcywgc2VlIGlmIEkgZ2V0IGl0IHJp Z2h0Og0KPiANCj4gwqAxLiBObyBtZW1vaXphdGlvbiBhdCBhbGw6IGFsbCBjYWxscyB0bywgZS5n LiwgYGJsb2NrLmNvbXB1bml0YCwgd2lsbA0KPiDCoHJldHVybiBhIG5ldyBgZ2RiLkNvbXBVbml0 YC7CoCBPbmNlIHRoZSB1c2VyIHJlbGVhc2VzIHRoZWlyDQo+IHJlZmVyZW5jZXMNCj4gwqBvbiB0 aGF0IGBnZGIuQ29tcFVuaXRgLCBpdCBpcyBmcmVlZC7CoCBGb3Igc29tZSB0eXBlcywgd2UgbmVl ZCB0bw0KPiB0cmFjaw0KPiDCoHRoZSBQeXRob24gb2JqZWN0cyB0aGF0IGFyZSBhbGl2ZSAoZS5n LiB0aHJvdWdoIHRoZSByZWdpc3RyeSB5b3UNCj4gbWFkZSkNCj4gwqBpbiBvcmRlciB0byBpbnZh bGlkYXRlIHRoZW0gaWYgdGhlIGJhY2tpbmcgb2JqZWN0IGRpc2FwcGVhcnMuwqAgVGhlDQo+IMKg cmVnaXN0cnkgaG9sZHMgbm8gcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QuwqAgV2hlbiB0aGUgcmVm Y291bnQgb2YgdGhlDQo+IMKgUHl0aG9uIG9iamVjdCBnZXRzIHRvIDAgKHRoZSB1c2VyIGlzIGRv bmUgd2l0aCBpdCksIHRoZSBvYmplY3QgZ2V0cw0KPiDCoHJlbW92ZWQgZnJvbSB0aGUgcmVnaXN0 cnkgKHRocm91Z2ggdGhlIHRwX2RlYWxsb2MgY2FsbGJhY2spLg0KPiANCj4gwqAyLiBUZW1wb3Jh cnkgbWVtb2l6YXRpb246IGEgZmlyc3QgY2FsbCB0byBgYmxvY2suY29tcHVuaXRgIHdpbGwNCj4g cmV0dXJuDQo+IMKgYSBuZXcgYGdkYi5Db21wVW5pdGAsIHdoaWNoIGdldHMgc2F2ZWQgaW4gdGhl IHBlci1vYmpmaWxlIHJlZ2lzdHJ5LsKgDQo+IElmDQo+IMKgdGhlIHVzZXIgcmVxdWVzdHMgdGhl IHNhbWUgY29tcCB1bml0LCB3ZSBjYW4gcmV0dXJuIHRoZSBzYW1lIFB5dGhvbg0KPiDCoG9iamVj dC7CoCBUaGUgcmVnaXN0cnkgc3RpbGwgZG9lc24ndCBob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBQ eXRob24NCj4gwqBvYmplY3QuwqAgTGlrZSBmb3IgdGhlIHByZXZpb3VzIGNhc2UsIHdoZW4gdGhl IHVzZXIgaXMgZG9uZSB3aXRoIHRoZQ0KPiDCoG9iamVjdCwgd2UgcmVtb3ZlIGl0IGZyb20gb3Vy IHJlZ2lzdHJ5ICh0aHJvdWdoIHRoZSB0cF9kZWFsbG9jDQo+IMKgY2FsbGJhY2spLsKgIElmIHRo ZSB1c2VyIHJlcXVlc3RzIGEgUHl0aG9uIG9iamVjdCBmb3IgdGhlIHNhbWUgY29tcA0KPiB1bml0 DQo+IMKgbGF0ZXIsIGEgbmV3IFB5dGhvbiBvYmplY3Qgd2lsbCBiZSBjcmVhdGVkLg0KPiANCj4g wqAzLiBQZXJtYW5lbnQgbWVtb2l6YXRpb246IGxpa2UgdGVtcG9yYXJ5IG1lbW9pemF0aW9uLCBl eGNlcHQgdGhhdA0KPiB0aGUNCj4gwqByZWdpc3RyeSBob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBQ eXRob24gb2JqZWN0LsKgIFdoZW4gdGhlIHVzZXIgZHJvcHMNCj4gwqBhbGwgdGhlaXIgcmVmZXJl bmNlcywgdGhlIHJlZ2lzdHJ5IGtlZXBzIHRoZSBQeXRob24gYWxpdmUsIHN1Y2ggdGhhdA0KPiBp Zg0KPiDCoHRoZXkgcmVxdWVzdCBhIFB5dGhvbiBvYmplY3QgZm9yIHRoZSBzYW1lIGNvbXAgdW5p dCBsYXRlciwgdGhleSB3aWxsDQo+IMKgZ2V0IHRoZSBzYW1lIFB5dGhvbiBvYmplY3QgYXMgYmVm b3JlLsKgIFRoZSBQeXRob24gb2JqZWN0cyBvbmx5IGdldA0KPiDCoGRlbGV0ZWQgd2hlbiBlaXRo ZXIgdGhlIG93bmluZyBvYmpmaWxlIGdldHMgZGVsZXRlZCBvciB0aGUgb3duaW5nDQo+IGFyY2gN Cj4gwqBnZXRzIGRlbGV0ZWQgKGZvciB0aGUgZm9ybWVyLCBpdCBtZWFucyB0aGUgb2JqZWN0cyB3 aWxsIGV4aXN0IHVudGlsDQo+IHRoZQ0KPiDCoGVuZCBvZiB0aGUgcHJvY2VzcywgYXMgYXJjaGVz IGRvbid0IGdldCBkZWxldGVkKS4NCj4gDQo+IFdpdGggYXBwcm9hY2ggMSwgZm9yIHRoZSBvYmpl Y3RzIHdlIG5lZWQgdG8gdHJhY2sgKHRvIGludmFsaWRhdGUNCj4gZXZlbnR1YWxseSkgd2UgY2Vy dGFpbmx5IHdhbnQgdG8gZm9yZ2V0IGFib3V0IFB5dGhvbiBvYmplY3RzIHRoYXQgdGhlDQo+IHVz ZXIgaXMgZG9uZSB3aXRoLCBhbmQgbm90IGhvbGQgb250byB0aGVtIGZvcmV2ZXIgKG90aGVyd2lz ZSwgdGhhdA0KPiB3b3VsZA0KPiBiZSBsaWtlIGEgbWVtb3J5IGxlYWspLsKgIElmIHRoZSB1c2Vy IGRlY2lkZXMgdG8ga2VlcCBhbGl2ZSA1MDAwMA0KPiBQeXRob24NCj4gb2JqZWN0cyB3cmFwcGlu ZyB0aGUgc2FtZSBjb21wIHVuaXQsIHRoZW4gd2UgbmVlZCB0byB0cmFjayB0aGVtIGFsbC7CoA0K PiBJZg0KPiBvbmUgb2YgdGhvc2UgNTAwMDAgb2JqZWN0cyBnZXRzIGRlbGV0ZWQgKGl0cyByZWZj b3VudCBkcm9wcyB0byAwKSwgd2UNCj4gbmVlZCB0byBmaW5kIGl0IGluIHRoZSBsaW5rZWQgbGlz dCBvZiBhdCBsZWFzdCA1MDAwMCBpdGVtcyB0byByZW1vdmUNCj4gaXQuDQo+IFRoYXQgc291bmRz IGJhZC7CoMKgDQoNClRoZSB3YXkgaXQgaXMgY3VycmVudGx5IGltcGxlbWVudGVkLCBpdCBpcyBv a2F5LiBQeXRob24gb2JqZWN0cw0KdGhlbXNlbHZlcyBmb3JtIHRoZSBkb3VibHktbGlua2VkIGxp c3Qgc28gb25lIGNhbiByZW1vdmUgaXQgZnJvbQ0KdGhlIGxpc3QgZWFzaWx5IC0gdGhlcmUncyBu byBuZWVkIHRvICJmaW5kIiBpdC4gDQoNCj4gU28gZm9yIHRoZSBvYmplY3RzIHRoYXQgd2UgbmVl ZCB0byB0cmFjayBpbiBvcmRlciB0bw0KPiBpbnZhbGlkYXRlIGlmIG5lZWRlZCwgSSBndWVzcyBp dCBpcyBlYXN5IGVub3VnaCBhbmQgbWFrZXMgc2Vuc2UgdG8gZG8NCj4gc29tZSBtZW1vaXphdGlv bi4NCj4gDQo+IEFuZCB0aGVyZSBpcyB2YWx1ZSBpbiBiZWluZyBjb25zaXN0ZW50IGFuZCBwcmVk aWN0YWJsZSwgc28gaWYgd2UgZG8NCj4gc29tZQ0KPiBtZW1vaXphdGlvbiBmb3Igc29tZSBvYmpl Y3RzLCB3ZSBtaWdodCBhcyB3ZWxsIGRvIGl0IGZvciBhbGwgb2JqZWN0cw0KPiAoZXNwZWNpYWxs eSBpZiBpdCBjYW4gZWFzaWx5IGJlIGFic3RyYWN0ZWQgYXdheSkuDQo+IA0KPiBCZXR3ZWVuIDIg YW5kIDMsIGFnYWluLCBpdCBpcyBhIG1lbW9yeSB2cyB0aW1lIHRyYWRlb2ZmLsKgIElmIHlvdSBh cmUNCj4gbG9vcGluZyBvdmVyIGFsbCBzeW1ib2xzLCBnZXQgdGhlIENVIGZyb20gdGhlIHN5bWJv bCB0byBjaGVjaw0KPiBzb21ldGhpbmcNCj4gYW5kIHRoZW4gdGhyb3cgdGhlIENVIGF3YXksIGRv IHlvdSBwcmVmZXIgdG8gY3JlYXRlL2RlbGV0ZSBhIFB5dGhvbg0KPiBvYmplY3QgZXZlcnkgdGlt ZT/CoCBJZiBub3QsIHRoYXQgbWVhbnMga2VlcGluZyBzb21lIFB5dGhvbiBvYmplY3RzDQo+IGFy b3VuZCAiZm9yZXZlciIgKHVudGlsIHRoZSBvYmpmaWxlIGdldHMgZGVsZXRlLCBvciByZWFsbHkg Zm9yZXZlciBpbg0KPiB0aGUgY2FzZSBvZiBhcmNoLW93bmVkIG9iamVjdHMpLCB0aGF0IG1heSBu ZXZlciBnZXQgdXNlZCBhZ2Fpbi4NCj4gSW50dWl0aXZlbHkgSSdkIHNheSBJJ20gc2xpZ2h0bHkg aW4gZmF2b3Igb2YganVzdCBkb2luZyB0ZW1wb3JhcnkNCj4gbWVtb2l6YXRpb24sIGJlY2F1c2Ug SSdtIGhvcGluZyB0aGF0IGFsbG9jYXRpbmcvaW5pdGlhbGl6aW5nL2RlbGV0aW5nDQo+IGENCj4g UHl0aG9uIG9iamVjdCBpcyBmYXN0IGVub3VnaCwgYW5kIEkgZG9uJ3QgcmVhbGx5IGxpa2UgdGhl IGlkZWEgb2YNCj4ga2VlcGluZyB1bnVzZWQgdGhpbmdzIGFyb3VuZCwgYnV0IGJlbmNobWFya3Mg LyBwcm9maWxpbmcgd291bGQgaGVscC4NCg0KSSBoYXZlIG5vIHN0cm9uZyBwcmVmZXJlbmNlIGhl cmUuIGdkYi5CbG9jayBjdXJyZW50bHkgaW1wbGVtZW50cw0KdGVtcG9yYXJ5IG1lbW9pemF0aW9u ICgyKS4gTXkgY29kZSBpbXBsZW1lbnRzIHBlcm1hbWVudCBtZW1vaXphdGlvbiAoMykNCm1haW5s eSBiZWNhdXNlIHRoaXMgaXMgd2hhdCBBbmRyZXcgc3VnZ2VzdGVkIChpZiBJwqB1bmRlcnN0b29k wqDCoA0KY29ycmVjdGx5KS4gDQoNCkknbGwgdHJ5IHRvIGFkYXB0IHRoZSBjb2RlIHRvIGRvIHRl bXBvcmFyeSBtZW1vaXphdGlvbiB0byBzZWUgaG93IGl0DQpmZWVscy4gDQoNCj4gDQo+IE92ZXJh bGwsIEkgd291bGQgc2F5IHRoYXQgSSB0aGluayBtZW1vaXphdGlvbiBpcyBhIGdvb2QgaWRlYSBh bmQgSQ0KPiBsaWtlDQo+IHdoZXJlIHlvdSdyZSBnb2luZyB3aXRoIHRoaXMgc2VyaWVzLg0KPiAN Cg0KVGhhbmtzLA0KSmFuDQo=