Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRkBE-0007Mt-Bp for pgsql-hackers@arkaria.postgresql.org; Wed, 09 Mar 2022 00:27:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nRkBD-00076H-0k for pgsql-hackers@arkaria.postgresql.org; Wed, 09 Mar 2022 00:27:51 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRkBC-00072j-Fq for pgsql-hackers@lists.postgresql.org; Wed, 09 Mar 2022 00:27:50 +0000 Received: from mail-sn1anam02on2079.outbound.protection.outlook.com ([40.107.96.79] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRkB9-0004n0-Ij for pgsql-hackers@postgresql.org; Wed, 09 Mar 2022 00:27:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jvHTJIHu1usgqH4FiEmcLojWN1b6tBgnugta+bWzwaZnl7MEGdfdZp2+KgSit/0eFlebsdacXjt5svQ+3gaRg83wjl30EcAeYQq3uFXN7QG6tG0kKbfJsrBaQ0MTrtvx+9K6qcRhk2HkF2+B6EKEdXcsDL0/M0qvM4zrjxtbVvHgR11aK3BLUnqLVb1xNHa9s8QV8cnb59ormYzckuZHVmBoK2qbV/bj8HFfn7+WnflydP8dkuNtM9JN16UUToMydApUlgQWs/1nYZ6EuzCM64Qb1f9EPuMw3UzwzWdUc9W2rvUzWlZztbfOsYkEAFdfj/d/I2r9YX28beyJbFALHA== 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=c3jOLVufhILBNIKoxFQ0k8MRDEzM/7lkNisOX7W07P8=; b=HKghYYt9JUgybYp4JGye77uMST7NaNKzoYgrc/QMRh1pdTbD1HxTqhgfEmgObmTI+t73De/5hW727L2XUh4k1QUawXPhaaa+lyh9iSc2xBgfLyv4KRWnR7sVP87S8tD4X3hvdbbsU9ZYI8uyC67kyEhErN1CUPyHtgquAR22tC/7cZv3S36ile17EXSl0XRHmws8zUQZ2vDkSYe0nUQJa8NT2j3JoOzut6UALF8cnov9NN3zEwLP6XVHZ9bbpZ5RNuF2PCBGo26meHboJD2AVH5XhCTzYVHNziRwzhCLIuysLowGtvMds0D6fgQ59XBxE9dUp3JAa4avEJnHsmDOBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c3jOLVufhILBNIKoxFQ0k8MRDEzM/7lkNisOX7W07P8=; b=bCTR//B8SCUTfDd32hs5A4VRuR4/6FfRA323J3cf+aW8J41OXlEBSsZujd+i927fJl81h//8yj/regXckSSlpU64aLbYoo53nlTkzqHJPkydbAGt7/Eb7HJrfpBrBh5qjY7TFu+GAIHPA49q3zFav1rR3063dF4rh4Kq/3UHUnY= Received: from CO1PR05MB8087.namprd05.prod.outlook.com (2603:10b6:303:db::16) by SN2PR05MB2672.namprd05.prod.outlook.com (2603:10b6:804:12::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.17; Wed, 9 Mar 2022 00:27:42 +0000 Received: from CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::615f:cd8c:40dd:8a99]) by CO1PR05MB8087.namprd05.prod.outlook.com ([fe80::615f:cd8c:40dd:8a99%3]) with mapi id 15.20.5061.018; Wed, 9 Mar 2022 00:27:42 +0000 From: Jacob Champion To: "Jelte.Fennema@microsoft.com" , "andres@anarazel.de" CC: "pgsql-hackers@postgresql.org" Subject: Re: Add non-blocking version of PQcancel Thread-Topic: Add non-blocking version of PQcancel Thread-Index: AQHYB8aXKcs4rAmCQEStdAtwrxT5+qxgHc6AgADsyQCAVX7VgA== Date: Wed, 9 Mar 2022 00:27:42 +0000 Message-ID: References: <20220113004411.3tdgiqdmmo4musb5@alap3.anarazel.de> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vmware.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7938dceb-02ea-4dc3-2606-08da0163a003 x-ms-traffictypediagnostic: SN2PR05MB2672:EE_ x-ms-exchange-atpmessageproperties: SA|SL x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EwtlalCb8URIO8YH855mYyn5hmfdklJuKz+7UHgIXSu3LZcWwSmNYmjn4ls7hWyQOvBiNGiSHD1u9CuKuOlB2WLlrJi5pIKhk/OpaX37Bs4GtLGTlMxhgZDqt2UmJV8mqZ6xCTK+oYwPZJB1BbHxsur5IaVvvU4qOVmmtKcuUKcHq9/cLAI0qRPJ87G3SL5vsXhGENLnKnCZkFNLHRnoYoJqPSpWht+qvwp2B/tqmhjd8+SNkDTGQu+eKYTd233aScAtwjDbHI0WP5dyMaQV+kX+YIgfHwFdz/5h+LaNAgfNc6zAwLBZeXlsE+qMKLU609czXHcuoxu74yO0S7Px5cSLBWBbsV3htEvC28AFnl+O2dss5PcYRu+eucgsjJsb+I0dAtJdGS2f8maQI2huDt2ZwYUXaV0iassUTsQRIMmyr6aIKq8Z4FjhpGUtG13S/nHhEyXmv76RtbhaWP3IkgyZTJrtfNl6zoBiEalO5MiAWUny8qidJqxTnDV6Il6BnyReaD8VVYzIyl1WtwmeQk0WpBnpKVEE9Ou3WkrSFcUhsR2Zktw0IJkp8R8Y8B42gjqCwjTlmyWus7IoLNZmPAA3axQBoFX58l0A/ee6knxfWw9TiJWDvFOZuquANaphJl8YuiTf+Tz/SkmNIfmTlMLIqjZFiTmnN2fiQtxX+hs+2ZANrav49Yw+fkkbGAoX0J6K6OiupNixYrS3bz6z/tHZa2DX91maNBtSj+iOEamhIZ7Z5DUZynt/fsshRqTY x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR05MB8087.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(76116006)(8676002)(38070700005)(508600001)(66446008)(6512007)(36756003)(122000001)(38100700002)(6486002)(4326008)(71200400001)(8936002)(64756008)(316002)(66556008)(26005)(2906002)(83380400001)(66476007)(5660300002)(66946007)(6506007)(2616005)(110136005)(86362001)(186003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cFZiU1hKc2ZIZFJYVGhpK2JaRCtxenJyWE1DVVhmTWVPQlBURktsaER5Yi9u?= =?utf-8?B?bGx2ZmJSa3c2blUrVWlvQm9meVJhTlBQdGtCSSt4UFdOWlN6eGFUVlZaR0tV?= =?utf-8?B?cEJjdUVGS0k4bDdRNVFBK1o0eTg5MWtSTmdZWG85enJxaGU4aHpwVkNvMk55?= =?utf-8?B?aktHNUpVSlhyM3NVTlpVMTlYYlZTVXBlNU1JYUt1NnIzTzdBOGNjeXlDSjlV?= =?utf-8?B?OVdXNy9USGpxcFZqM2dqWC90K1FFNWF5QVRjVmp2NGgzcjBTZzhZYkZqTUI0?= =?utf-8?B?S2U1S2Q0aDV2TmVmbHJaQkh0Z1Vmdk9uVEJHMkVyNmJqczMwVTFvalNVMS9N?= =?utf-8?B?T0I0bXhET3dnTHJPK3cyN2dhZ01pV05pSklVcHFJdk92aVYwbHZFdk9jeHd6?= =?utf-8?B?MWlLb2hNaHFFOW0xaElPazA5SXE4djdTL3Q1NU92RW96K0dWWkI3cUk5bi8y?= =?utf-8?B?NnVpeGZhWm40VFNEZlM4TGtNNlM1MWVRbzE4M2g4SnhpU0dOaGo1RTd2SUFT?= =?utf-8?B?Z3NyTkQwWDB0SUh2cDlPeHNSYk5RN0ViWjBMRWNXMTJwQ2RmYk50Zzg1WUU5?= =?utf-8?B?dG9NNHFrNWZSNWxzNmgyZmtsUVhsOGt0d1A0V0FiN1VoK1FobmdWR3Axd2pi?= =?utf-8?B?dmd4TStyYnlBZ091TFkvUm1jRE1xZXZlekRRSWxQRXVUeGIycGxkcjV4b0Iz?= =?utf-8?B?V3h5ZXpqM3JlV0luN2tEblh2TElRKzRUcWorZnh5TFAvZTNDVjlaQmdPd1Ra?= =?utf-8?B?SGhoVU4xNi9wRElWbmYzSTRjM04wWFJEVEhjNldDVDljZ2dxUUhOcUw4bkJN?= =?utf-8?B?RHU2OTBBT3FoNEJGWFp1NVdGVmZlNVlvcVp3dVVsNzU4blFYeXZ4Q2pPS3Vw?= =?utf-8?B?bGxqT2FtamM5clZla3NEbEcwYTMxNTFaSUZFTThLSExiOGdLbkIxY0Q4M0ZU?= =?utf-8?B?NC9sWXNCbHg0OWVRdDFsTkFzaGxxRU1iY09oSCtJYkRPU3dORHF0WWtYdG1Q?= =?utf-8?B?TDlpampkSXprY2U3cWQvdlRjeVJib01ya3FGZUVMRW9nZ1RTR0xnbjlLcmRV?= =?utf-8?B?bHhuYXNDOVFiZVpSN0ROOW1qTnNTQlZvZUNXcTJjNzVEZDRQbEdzci9iZy9E?= =?utf-8?B?dEtQbmoyMEZSS2lxUUlPT1FZRFJwKzNHOW1mMDgwZ1JaSGg1K1cvdmIyZDU3?= =?utf-8?B?Tmg3LzlUZ1JFY3o4YkV4VzFxbm9JbXZDZ1lGdlo4bnNtNlhxTzhZTjQ0ZWZ0?= =?utf-8?B?bXRxeEVOenNQQ0ZObXlqaU9zeDg0U2pMWFJOSFJpUFVSOE1ZWFVBNlZyQVJO?= =?utf-8?B?bzRVSU1xYjJpSUlRd3NqQ0xrcjVDVklrSmtJQ1YydlhiejY0YkZuWFE2V3M3?= =?utf-8?B?M1pncERabkQzNytUUFZ2MUxBeThtb3ZSUzhOSGE0eW1YdFVlcVh2Z0lIc3Fj?= =?utf-8?B?d1N1V3g2WEFsclRIR1I2aEI2UWpObFVsTDdvaUZvcVNiQmlzaXVlMTdnWTlx?= =?utf-8?B?Q3VibngrbGxEaU81ZzVUblpXZ1RsUlRLWnh0SHZhdFgyMnZObjhqNmw4clNR?= =?utf-8?B?UCtsRHUzZGE5Uld1ZFozRExKUlFuTGR2M3RLeGlxMEcxbDhZTzV6dW5NaUdF?= =?utf-8?B?L1dvN3U3OFQrZlZuWWxHVXVpdmpnTHhrekk1LzRWTGRaSTArbzV3Y0RuZkx6?= =?utf-8?B?NmhSbEFsV21INGNuK3ArTnJBS3JrK3VpZUp0WkpYc3BVU2svMzBUMkNSRlBt?= =?utf-8?B?OE1jdzNaeVJ5QmhsaS9SUThVVnNCRVpROU9zTG1pbkF3bXFVNkRMdmphUFlw?= =?utf-8?B?UStoVG5lNlJCMXdoKzNxZ1dEa0RyWk0wc3ZpNW9vTjRaTzBXb0lSNzl4M3VF?= =?utf-8?B?WUE0ZkRvdlo2NnkrQmNXK3VxakljcmZLVGRKM0NMam82Zy9Xd3dQYjNPU3d1?= =?utf-8?B?SWw2T2xjd2lsTi9xWVgxTlNKWGJLRW9wSDFQMW42RzJyRXhLUzJoMCtLZUw1?= =?utf-8?B?VFlDbENIK0RRPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR05MB8087.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7938dceb-02ea-4dc3-2606-08da0163a003 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Mar 2022 00:27:42.3516 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eIbtZf3qUaphfEhgUL7dIu5byzaUycjvEVcwXcXkxJf0WKT1XYdhW/OAY9BDVsoQV+CtTmIIScNCoHlfuhH79Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR05MB2672 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVGh1LCAyMDIyLTAxLTEzIGF0IDE0OjUxICswMDAwLCBKZWx0ZSBGZW5uZW1hIHdyb3RlOg0K PiBBdHRhY2hlZCBpcyBhbiB1cGRhdGVkIHBhdGNoIHdoaWNoIEkgYmVsaWV2ZSBmaXhlcyB3aW5k b3dzIGFuZCB0aGUgb3RoZXIgdGVzdCBmYWlsdXJlcy4NCj4gQXQgbGVhc3Qgb24gbXkgbWFjaGlu ZSBtYWtlIGNoZWNrLXdvcmxkIHBhc3NlcyBub3cgd2hlbiBjb21waWxlZCB3aXRoIC0tZW5hYmxl LXRhcC10ZXN0cw0KPiANCj4gSSBhbHNvIGluY2x1ZGVkIGEgc2Vjb25kIHBhdGNoIHdoaWNoIGFk ZHMgc29tZSBiYXNpYyBkb2N1bWVudGF0aW9uIGZvciB0aGUgbGlicHEgdGVzdHMuDQoNClRoaXMg aXMgbm90IGEgZnVsbCByZXZpZXcgYnkgYW55IG1lYW5zLCBidXQgaGVyZSBhcmUgbXkgdGhvdWdo dHMgc28NCmZhcjoNCg0KPiBOT1RFOiBJIGhhdmUgbm90IHRlc3RlZCB0aGlzIHdpdGggR1NTIGZv ciB0aGUgbW9tZW50LiBNeSBleHBlY3RhdGlvbiBpcw0KPiB0aGF0IHVzaW5nIHRoaXMgbmV3IEFQ SSB3aXRoIGEgR1NTIGNvbm5lY3Rpb24gd2lsbCByZXN1bHQgaW4gYQ0KPiBDT05ORUNUSU9OX0JB RCBzdGF0dXMgd2hlbiBjYWxsaW5nIFBRY2FuY2VsU3RhdHVzLiBUaGUgcmVhc29uIGZvciB0aGlz DQo+IGlzIHRoYXQgR1NTIHJlYWRzIHdpbGwgYWxzbyBuZWVkIHRvIGNvbW11bmljYXRlIGJhY2sg dGhhdCBhbiBFT0Ygd2FzDQo+IGZvdW5kLCBqdXN0IGxpa2UgSSd2ZSBkb25lIGZvciBUTFMgcmVh ZHMgYW5kIHVuZW5jcnlwdGVkIHJlYWRzLg0KDQpGb3Igd2hhdCBpdCdzIHdvcnRoLCBJIGRpZCBh IHNtb2tlIHRlc3Qgd2l0aCBhIEtlcmJlcm9zIGVudmlyb25tZW50IHZpYQ0KDQoNCiAgICAuL2xp YnBxX3BpcGVsaW5lIGNhbmNlbCAnLi4uIGdzc2VuY21vZGU9cmVxdWlyZScNCg0KYW5kIHRoZSB0 ZXN0cyBjbGFpbSB0byBwYXNzLg0KDQo+ICAgICAyLiBDYW5jZWwgY29ubmVjdGlvbnMgYmVuZWZp dCBhdXRvbWF0aWNhbGx5IGZyb20gYW55IGltcHJvdmVtZW50cyBtYWRlDQo+ICAgICAgICB0byB0 aGUgbm9ybWFsIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCBjb2RlcGF0aC4gRXhhbXBsZXMgb2Yg dGhpbmdzDQo+ICAgICAgICB0aGF0IGl0IGN1cnJlbnRseSBnZXRzIGZvciBmcmVlIGN1cnJlbnRs eSBhcmUgVExTIHN1cHBvcnQgYW5kDQo+ICAgICAgICBrZWVwYWxpdmUgc2V0dGluZ3MuDQoNClRo aXMgc2VlbXMgbGlrZSBhIGJpZyBjaGFuZ2UgY29tcGFyZWQgdG8gUFFjYW5jZWwoKTsgb25lIHRo YXQncyBub3QNCnJlYWxseSBoaW50ZWQgYXQgZWxzZXdoZXJlLiBIYXZpbmcgdGhlIGFzeW5jIHZl cnNpb24gb2YgYW4gQVBJIG9wZW4gdXANCmEgY29tcGxldGVseSBkaWZmZXJlbnQgY29kZSBwYXRo IHdpdGggbmV3IGZlYXR1cmVzIGlzIHByZXR0eSBzdXJwcmlzaW5nDQp0byBtZS4NCg0KQW5kIGRv ZXMgdGhlIGJhY2tlbmQgYWN0dWFsbHkgaGFuZGxlIGNhbmNlbCByZXF1ZXN0cyB2aWEgVExTIChv ciBHU1MpPw0KSXQgZGlkbid0IGxvb2sgdGhhdCB3YXkgZnJvbSBhIHF1aWNrIHNjYW4sIGJ1dCBJ IG1heSBoYXZlIG1pc3NlZA0Kc29tZXRoaW5nLg0KDQo+IEBAIC0xNTU1LDYgKzE2NjUsNyBAQCBw cmludF90ZXN0X2xpc3Qodm9pZCkNCj4gICAgIHByaW50Zigic2luZ2xlcm93XG4iKTsNCj4gICAg IHByaW50ZigidHJhbnNhY3Rpb25cbiIpOw0KPiAgICAgcHJpbnRmKCJ1bmlxdmlvbFxuIik7DQo+ ICsgICBwcmludGYoImNhbmNlbFxuIik7DQo+ICB9DQoNClRoaXMgc2hvdWxkIHByb2JhYmx5IGdv IG5lYXIgdGhlIHRvcDsgaXQgbG9va3MgbGlrZSB0aGUgZXhpc3RpbmcgbGlzdA0KaXMgYWxwaGFi ZXRpemVkLg0KDQpUaGUgbmV3IGNhbmNlbCB0ZXN0cyBkb24ndCBwcmludCBhbnkgZmVlZGJhY2su IEl0J2QgYmUgbmljZSB0byBnZXQgdGhlDQpzYW1lIHNvcnQgb2Ygb3V0cHV0IGFzIHRoZSBvdGhl ciB0ZXN0cy4NCg0KPiAgLyogaXNzdWUgYSBjYW5jZWwgcmVxdWVzdCAqLw0KPiAgZXh0ZXJuIGlu dCBQUWNhbmNlbChQR2NhbmNlbCAqY2FuY2VsLCBjaGFyICplcnJidWYsIGludCBlcnJidWZzaXpl KTsNCj4gK2V4dGVybiBQR2NhbmNlbENvbm4gKiBQUWNhbmNlbENvbm5lY3RTdGFydChQR2Nvbm4g KmNvbm4pOw0KPiArZXh0ZXJuIFBHY2FuY2VsQ29ubiAqIFBRY2FuY2VsQ29ubmVjdChQR2Nvbm4g KmNvbm4pOw0KPiArZXh0ZXJuIFBvc3RncmVzUG9sbGluZ1N0YXR1c1R5cGUgUFFjYW5jZWxDb25u ZWN0UG9sbChQR2NhbmNlbENvbm4gKiBjYW5jZWxDb25uKTsNCj4gK2V4dGVybiBDb25uU3RhdHVz VHlwZSBQUWNhbmNlbFN0YXR1cyhjb25zdCBQR2NhbmNlbENvbm4gKiBjYW5jZWxDb25uKTsNCj4g K2V4dGVybiBpbnQgUFFjYW5jZWxTb2NrZXQoY29uc3QgUEdjYW5jZWxDb25uICogY2FuY2VsQ29u bik7DQo+ICtleHRlcm4gY2hhciAqUFFjYW5jZWxFcnJvck1lc3NhZ2UoY29uc3QgUEdjYW5jZWxD b25uICogY2FuY2VsQ29ubik7DQo+ICtleHRlcm4gdm9pZCBQUWNhbmNlbEZpbmlzaChQR2NhbmNl bENvbm4gKiBjYW5jZWxDb25uKTsNCg0KVGhhdCdzIGEgbG90IG9mIG5ldyBlbnRyeSBwb2ludHMs IG1vc3Qgb2Ygd2hpY2ggZG9uJ3QgZG8gYW55dGhpbmcNCmV4Y2VwdCBjYWxsIHRoZWlyIHR3aW4g YWZ0ZXIgYSBwb2ludGVyIGNhc3QuIEhvdyBwYWluZnVsIHdvdWxkIGl0IGJlIHRvDQpqdXN0IHVz ZSB0aGUgZXhpc3RpbmcgQVBJcyBhcy1pcywgYW5kIGVycm9yIG91dCB3aGVuIGNhbGxpbmcNCnVu c3VwcG9ydGVkIGZ1bmN0aW9ucyBpZiBjb25uLT5jYW5jZWxSZXF1ZXN0IGlzIHRydWU/DQoNCi0t SmFjb2INCg==