Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qdaDa-004096-1s for psycopg@arkaria.postgresql.org; Tue, 05 Sep 2023 17:52:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qdaDY-003stv-RQ for psycopg@arkaria.postgresql.org; Tue, 05 Sep 2023 17:52:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qdaDY-003stc-CD for psycopg@lists.postgresql.org; Tue, 05 Sep 2023 17:52:00 +0000 Received: from mail-am0eur02on2079.outbound.protection.outlook.com ([40.107.247.79] helo=EUR02-AM0-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qdaDT-003EwW-VL for psycopg@postgresql.org; Tue, 05 Sep 2023 17:51:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HfmHzDQLIB/s2A5vag2ta/znY/r04N6OTqHDky5KaaFYy2VDl6rhSW0Kg18d2l28c5KTEtdodvM3ByQCuu2mDU0aoYqS5ISPXEZdOaGQ7aH0cmY0l1vXHL2Rm4Le/HAEFmHRPjyx1PA63Cnq1KmoDuh0hg/z95S9HIJqJxlbHYwK4WMcPPvrao1Q22/xDrPI+uZSzapVQhilE22aOd1a6Zs9wMjxxGb5Grjg62yASkAjvD41pTfZjKfnuLdhj6Y6VCupi6g0SowEQwqUXARQOcKHz/ySATli3Cdg7KRO+3r7lyXVll7AJR4RihLDpGjaf/K0M+Us7SsMe2DPStPHgA== 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=8Pnipvu9ech5b8megp+8AvuK4CH5R0aHmD77ONjsONc=; b=OflINxa8TNs02/UCVydm6yVfecsDgXTDVfFJeoldc1zaD84BnMuZVGccPRR4fS7grCrYL1ARyo7UDRzQKOd4xM+yCYu1X3vUSTdVU+PmJoUEwT2et92c8bV4aPvLR1pO/n7yiL1f22aWEclzCdDfKJOOE0Vw4zr/S8zkmQV7GaqBuG6GEAc/DjrU5YEUMO4K+5UR+pS/mEXtGpermXU+tLBvVzTMSXYYpL8lWIUIvJ+LwA7eNnaHMf56gRFkhMpZazgvWlOE6sxQ3+GVvB/MM0PqFFZDtKc7Dn/c+pfs2PFdV7CMk6HCGqJKfJ+MwtFB2Z4AvBDYYI1up8OfU9Omcw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tomtom.com; dmarc=pass action=none header.from=tomtom.com; dkim=pass header.d=tomtom.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tomtom.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8Pnipvu9ech5b8megp+8AvuK4CH5R0aHmD77ONjsONc=; b=e6WUR5/6jarNdCwExIQicYna4NAUivfQLc5GIVhpV8Dc2K8Dd7wKQAWaFj5cmWdZ2I8lx9PhELdoEFW1WnoH77m3hg3Y5spwykmeoPsOymBvxcEZCWaWVlJLrCUOlL4Agt2i6EWPV+6XWMtk1flUrRaaiNMeXMSo0DUu2aNXdeY= Received: from DB7PR07MB3916.eurprd07.prod.outlook.com (2603:10a6:5:7::33) by PAWPR07MB9950.eurprd07.prod.outlook.com (2603:10a6:102:38e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.30; Tue, 5 Sep 2023 17:51:52 +0000 Received: from DB7PR07MB3916.eurprd07.prod.outlook.com ([fe80::ad9a:cf80:52d5:859f]) by DB7PR07MB3916.eurprd07.prod.outlook.com ([fe80::ad9a:cf80:52d5:859f%7]) with mapi id 15.20.6745.030; Tue, 5 Sep 2023 17:51:52 +0000 From: David Raymond To: "psycopg@postgresql.org" Subject: CPU usage for queries, psycopg 2 vs 3 Thread-Topic: CPU usage for queries, psycopg 2 vs 3 Thread-Index: AdngG2Om+7oR5OUYTk6QRCXQ7I8s9w== Date: Tue, 5 Sep 2023 17:51:50 +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=tomtom.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB3916:EE_|PAWPR07MB9950:EE_ x-ms-office365-filtering-correlation-id: eea45ac4-1047-4d4a-3666-08dbae38c893 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 99w2UDskL+WOqQufovU7qC0vJomH1XaeJTIY+FLSkkGHmGQiRVqh92kMvm6cb6UgK10u5Y7ArVrMUfRSQTbuYtq6Ap1NHvB36767HVNWbfcdh6nyme6gY9tI7Y8a1Ahjg43e+pQeEu5YqWQJ4MjGHEjzL+iMYl1SuFuOFqYQKf8itn5NR3tzCb53XzYqgvI/WlsXfTaasLf9LhJxGTLQtnu48iPE6w2yh3dEM4zTWwtvC9vuxV5/aWelYtw6xwQ1ZT20Drr4TLbbPPbV2TBFaAxrEy/D1CFM7C3DIF9M48HCI8BGtjxHSsa2roCJ3b1dCk4I0yNg8WhDwTTxtKRIiar+RHyudUHIxBq4yrzA+2t3Fq3oTJ8Cgqy99ZQQKLRYYa/Btd1U0C10bthVWt/f+NtStRGf/Osi+xmWcM9nDKNNXTpsS0Qc0lpZQbW0M3KZgIDv6FsFo5WxqVKJFuLZ0COSlm4YeKkDw92iX0/AgUkws79mGtfpTl8fASLfh3v81FCn+ZtUEL4Qi91BPTCSFhGL0U1V9cGjY0zxWJfP2jlQ4SjkPU1L9YIanCoBAavVSZI4BvfM9TabkXkvf9U93piMBEXZhuX/5UuHqpKARxIq/TJV+pRb5K9nCnT/2HBEIpu05mSMgbC7/CMo5g4dpKesvCUAC5oqbmFzY4/4w5Q= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR07MB3916.eurprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(346002)(39860400002)(376002)(451199024)(1800799009)(186009)(122000001)(9686003)(6506007)(7696005)(71200400001)(52536014)(33656002)(38100700002)(55016003)(86362001)(38070700005)(2906002)(26005)(83380400001)(478600001)(66946007)(5660300002)(8936002)(8676002)(76116006)(6916009)(66446008)(64756008)(41300700001)(66476007)(66556008)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NUc1cnpBSndrUlAxUnlWTG5iemhUblBGMnErK0NMRldmWk1adXJNMFJERTN4?= =?utf-8?B?TGR6ZEtHTU10UjI4dTN4Tk9HYWQ1OHIvUk84VWJpSGN5RjBNZEZETVU0Smpr?= =?utf-8?B?dklQYS95MzNrUjdUZ096Rjc4dEplSW5vVk1jWGFrZDhaUUJKcFoyQTE5dlla?= =?utf-8?B?YmtvUTVKVE9tUk9IaDJ2RmJ5VDJWQms4eEhhamFydTdDT0NabTVzVjVZWnc0?= =?utf-8?B?TXNjZmh0Vk9Fb2ZNaWpST3Z2eUhwVTVyRlJUdGdJeE9zMlRNRklVYzVEOStN?= =?utf-8?B?L3UzdE0wVkxuMldXQ3psODA2UG9JYzF6M3pwOHVSV3llMGhRMExaVEN2RDEr?= =?utf-8?B?OWRCYUtXbFJiSWw1L2lFM0hqd09jSmY0RmRDcUdHR3VTakpzWWdZQW5XS285?= =?utf-8?B?VHpqSGc4Q0pNYlY2WEI5cmZSdGs4bGEzbnMxeDlFOVhjRVBwcnFGWWVjdU1L?= =?utf-8?B?OEVjUHdpOEFWdnY5WHl0aHllbm1PN1E0RmdDQjM5ZzNzT2VuRk9YVElNNjk4?= =?utf-8?B?RWFvcE53cFloWXl4WFFDZEdQZGZqNUFwcG1VdXQzM2E0alF3K3ZORUhuWUFC?= =?utf-8?B?Z3lHV0UwK1F5ZWZPRjFrQjJaTVhYcTdPZjZhR2FNZzYyaTdHUDBTVzVDZ29a?= =?utf-8?B?RWR6QThjdmVJMXBtUjkzYVBHRk1lTFRjM1VFUlJqZkY5ZnhOcjF3Zy8wZ3RV?= =?utf-8?B?dis3OG5zRisrV2VhT0pwQVR4Q3J4YTh0ak4wWlI0Q2lUNTJySUFqWFluL2Nt?= =?utf-8?B?SUZ6TlVlRFpybjhXVC9oc2UvYllWdFpHQkJ3SUt3d21xclp1ZStSem9NcVN4?= =?utf-8?B?cEl3WU44MUx5dCs1QU9PN1NPOTkvOVo3ZDhYNHZyaFhLYVdIdTltU2tUVnM1?= =?utf-8?B?bjZXUytDMGdnV2MvMHk0RXFxcnhLdDdmMkVKQVhVY0tjNVlPbXlaN2FVMUxs?= =?utf-8?B?VnlZbnpMWUhyaE10OStVT3RPZmJsSDdEU2pwMkZsSjl2NkwwenhFcXhqM2xY?= =?utf-8?B?SXZFaXVwck5mWlRmWWg4ZjRLWDZvdEFDV1h2cVU2eVh2TlUzNk8xRzdaYVh6?= =?utf-8?B?Nlc1WVFDK0FJRUYrM3lXU2l5S0VDK0lHbTN4c0NiQ09RS292YSs2WHpvNGhw?= =?utf-8?B?SDdjM1JqcGxNSHZ2U2tzQnFvVmkwM1djbVJIaDR1bnlNTzdZZEw5djRIbXUy?= =?utf-8?B?MW9kdDJxaXAvOFNaNUpKdHNkUWtQTG5zREJsWkJkNTAwQjBzZ0EvVGtKZDZx?= =?utf-8?B?TytmVStYOHBtMjBaUVJJc3RsbDhXV3dTVzM5MXNHUkNNM0FDemNBYkNBR1Mr?= =?utf-8?B?cFcyMkduVEpWbTY0REEvc3hmbS9qOUkwQ0VqWnpaREprd0gzaklPc1VBUU1F?= =?utf-8?B?V3dKMk5tTXltRzcvTktRMG5HT2ZiRXEzSXo1ZEVBa0hYK1cxaXFncFF3eDVV?= =?utf-8?B?UG1BbnZuY2U4RkNBVlgzRzR0N2JqTW9ucDBvR1dwb2F3TEpPZFVrQThqWkFm?= =?utf-8?B?ZjB3OEs1VlJTWjFYNkUxRHlEeXZNU1p5RFZQY3lITWdjaTVOeHZYQkh5L056?= =?utf-8?B?anVRMjJPRDhVb1c3c3VOWm4xZ0VsZFc2V29iYWlKaU5ab1FjZ004RFVlNmtX?= =?utf-8?B?L1JFUVJmZi9nL3dwSFhKa0tZbWZjR2RtVE04TXJnak5KN2loVHBwZjN4d2V1?= =?utf-8?B?RExnNTBzeUtuUDJRZUgwVGdUbEwvM0p4VG9TNGhEamwrNStNZzFEUXhTdEN3?= =?utf-8?B?OUFDRk4yQTdZb29uVnNVTUttcmRCUkpucnZSNmhmUEZwZUJJUU1mZGdBLzNS?= =?utf-8?B?WVJQcGxnbS8yUmhQZC9WT3VlN2s1TmZvako2ejBYYjVXNERCZEU5S1ZkRjEw?= =?utf-8?B?dmJyU0xCZGd0RldFMXU0YVRrMDhSeVd5UkMyd3Z1ZDMyZGtMRzdGdzM5NnZK?= =?utf-8?B?RXd0aHk4VkVRd05vb3VDeFJVWnFuNXA2QU4zOXFjajdydWY4R1djelp4SnFv?= =?utf-8?B?SUFzZVVrTDM1Rnl0MXM4T2UvdXFqL016MTlSd3RWUXpKSW4rSHJSR2wvY1My?= =?utf-8?B?Qm9NV3YwYU1KYkpWVHlrZ0VnYkFzWTM0U01wN2dXUEJnOFJBUlIyYVpnVkxD?= =?utf-8?Q?OeSvAEp2WCphZOb4CAVrZqgOD?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: tomtom.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB3916.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eea45ac4-1047-4d4a-3666-08dbae38c893 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2023 17:51:50.9467 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 374f8026-7b54-4a3a-b87d-328fa26ec10d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YgyUBqwYDahObS22pMIfSWXkwI1UdG0Fj6CGGZeatHVgGa8Di63ow99/JCl/gjFSMbXFxJuy9L04vo/to/70/+y+jaiwa0oi5xYI/ZdUNDM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR07MB9950 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SSd2ZSBub3RpY2VkIHRoYXQgQ1BVIHVzYWdlIGZvciBxdWVyaWVzIHNlZW1zIHRvIGhhdmUgZHJh c3RpY2FsbHkgaW5jcmVhc2VkIGdvaW5nIGZyb20gcHN5Y29wZzIgdG8gcHN5Y29wZzMuDQoNCklu IHBzeWNvcGcyIGEgY29ubmVjdGlvbiB3b3VsZCBzaXQgcXVpZXRseSB3aGlsZSB3YWl0aW5nIGZv ciB0aGUgcmVzdWx0cywgdXNpbmcgbmV4dCB0byBubyBDUFUuDQpJbiBwc3ljb3BnIGl0IGxvb2tz IGxpa2UgdGhlIHRocmVhZHMgYXJlIHVzaW5nIHRoZWlyIGNvcmUgYXQgZnVsbCBwb3dlciwgY29u dGludW91c2x5IGNoZWNraW5nIGZvciB0aGUgcmVzdWx0IGFzIGZhc3QgYXMgcG9zc2libGUsIGFu ZCBuZXZlciBzbGVlcGluZyBvciByZWxheGluZy4NCg0KU2VlIGJlbG93IGZvciBhIHNpbXBsZSBl eGFtcGxlIHNjcmlwdC4gRHVyaW5nIHRoZSBwc3ljb3BnMiBwYXJ0IHdoaWxlIHRoZSA4IHRocmVh ZHMgYXJlIHdhaXRpbmcgb24gcmVzdWx0cyBteSBwcm9jZXNzb3IgdXNhZ2Ugc2l0cyBhdCB0aGUg bm9ybWFsIGlkbGluZyAyLTMlLiBCdXQgaW4gdGhlIHBzeWNvcGczIHBhcnQsIHdoaWxlIHRoZSA4 IHRocmVhZHMgYXJlIHdhaXRpbmcgb24gcmVzdWx0cyBteSBwcm9jZXNzb3IgdXNhZ2UganVtcHMg dXAgdG8gNjItNjMlIG9yIHNvLg0KDQpJcyB0aGVyZSBhIHNldHRpbmcgb3IgY29uZmlndXJhdGlv biBJJ20gbWlzc2luZz8NClRoaXMgaXMgb24gV2luZG93cywgd2hlcmUgSSBpbnN0YWxsIHdpdGgg InBpcCBpbnN0YWxsIHBzeWNvcGcyLWJpbmFyeSIgYW5kICJwaXAgaW5zdGFsbCBwc3ljb3BnW2Jp bmFyeV0iDQpDdXJyZW50IHZlcnNpb25zIHNob3duIGJ5IHBpcCBsaXN0Og0KcHN5Y29wZyAgICAg ICAgICAgIDMuMS4xMCAgICAoVGhpcyBnZXRzIGluc3RhbGxlZCBldmVuIHdoZW4gdGVsbGluZyBp dCB0byBpbnN0YWxsIHBzeWNvcGdbYmluYXJ5XSkNCnBzeWNvcGctYmluYXJ5ICAgICAzLjEuMTAN CnBzeWNvcGcyLWJpbmFyeSAgICAyLjkuNw0KDQpBbmQgdGhlaXIgcmVwb3J0ZWQgLl9fdmVyc2lv bl9fDQpwc3ljb3BnLl9fdmVyc2lvbl9fOiAzLjEuMTANCnBzeWNvcGcyLl9fdmVyc2lvbl9fOiAy LjkuNyAoZHQgZGVjIHBxMyBleHQgbG82NCkNCg0KSSd2ZSBnb3Qgc2V2ZXJhbCBzY3JpcHRzIHdo ZXJlIEkgb3BlbiB1cCBtdWx0aXBsZSBjb25uZWN0aW9ucyB0byBtdWx0aXBsZSBzZXJ2ZXJzIGFu ZCBydW4gYSBudW1iZXIgb2YgcXVlcmllcyBvbiB0aGVtLCB3aGVyZSA5OCUgb2YgbXkgbWFjaGlu ZSdzIHRpbWUgc2hvdWxkIGJlIGp1c3QgcmVsYXhpbmcgYW5kIHdhaXRpbmcgZm9yIHRoZSBzZXJ2 ZXIgdG8gZmluaXNoIHRoZSBuZXh0IDEgdG8gMTUgbWludXRlIGxvbmcgcXVlcnkuIEkgZG9uJ3Qg bmVlZCB0byBjb250aW51ZSB0aGUgdmVyeSBtaWNyb3NlY29uZCB0aGUgcXVlcnkgY29tcGxldGVz LiBJcyB0aGVyZSBhbnl0aGluZyBJIGNhbiBkbyB0byBicmluZyBDUFUgdXNhZ2UgYmFjayBkb3du IHdpdGggcHN5Y29wZyAoMykgPw0KDQpUaGFuayB5b3UsDQoNCg0KDQppbXBvcnQgc3lzDQppbXBv cnQgdGhyZWFkaW5nDQoNCmltcG9ydCBwc3ljb3BnDQppbXBvcnQgcHN5Y29wZzINCg0KZGVmIGNv bm5lY3RBbmRSdW5TbGVlcDMoKToNCiAgICBjb25uID0gcHN5Y29wZy5jb25uZWN0KGhvc3QgPSAi bG9jYWxob3N0IiwgZGJuYW1lID0gIi4uLiIsIHVzZXIgPSAiLi4uIiwgcGFzc3dvcmQgPSAiLi4u IiwgYXV0b2NvbW1pdCA9IFRydWUpDQogICAgd2l0aCBjb25uLmN1cnNvcigpIGFzIGN1cjoNCiAg ICAgICAgY3VyLmV4ZWN1dGUoInNlbGVjdCBwZ19zbGVlcCgxNSk7IikNCiAgICBjb25uLmNsb3Nl KCkNCg0KZGVmIGNvbm5lY3RBbmRSdW5TbGVlcDIoKToNCiAgICBjb25uID0gcHN5Y29wZzIuY29u bmVjdChob3N0ID0gImxvY2FsaG9zdCIsIGRibmFtZSA9ICIuLi4iLCB1c2VyID0gIi4uLiIsIHBh c3N3b3JkID0gIi4uLiIpDQogICAgY29ubi5hdXRvY29tbWl0ID0gVHJ1ZQ0KICAgIHdpdGggY29u bi5jdXJzb3IoKSBhcyBjdXI6DQogICAgICAgIGN1ci5leGVjdXRlKCJzZWxlY3QgcGdfc2xlZXAo MTUpOyIpDQogICAgY29ubi5jbG9zZSgpDQoNCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6DQog ICAgcHJpbnQoIlB5dGhvbiB2ZXJzaW9uOiIsIHN5cy52ZXJzaW9uKQ0KICAgIHByaW50KCJwc3lj b3BnLl9fdmVyc2lvbl9fOiIsIHBzeWNvcGcuX192ZXJzaW9uX18pDQogICAgcHJpbnQoInBzeWNv cGcyLl9fdmVyc2lvbl9fOiIsIHBzeWNvcGcyLl9fdmVyc2lvbl9fKQ0KICAgIA0KICAgIG51bVRo cmVhZHMgPSA4DQogICAgDQogICAgcHJpbnQoIkNoZWNrIHlvdXIgQ1BVIHVzYWdlIGR1cmluZyB0 aGlzIHJ1biIpDQogICAgDQogICAgcHJpbnQoZiJRdWVyeWluZyB3aXRoIHtudW1UaHJlYWRzOixk fSB0aHJlYWRzIGluIHBzeWNvcGcyLi4uIikNCiAgICB0aHJlYWRzID0gW10NCiAgICBmb3IgbiBp biByYW5nZShudW1UaHJlYWRzKToNCiAgICAgICAgdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCh0 YXJnZXQgPSBjb25uZWN0QW5kUnVuU2xlZXAyKQ0KICAgICAgICB0aHJlYWRzLmFwcGVuZCh0aHJl YWQpDQogICAgICAgIHRocmVhZC5zdGFydCgpDQogICAgZm9yIHRocmVhZCBpbiB0aHJlYWRzOg0K ICAgICAgICB0aHJlYWQuam9pbigpDQogICAgcHJpbnQoIkFsbCBqb2luZWQuIikNCiAgICANCiAg ICBwcmludChmIlF1ZXJ5aW5nIHdpdGgge251bVRocmVhZHM6LGR9IHRocmVhZHMgaW4gcHN5Y29w ZzMuLi4iKQ0KICAgIHRocmVhZHMgPSBbXQ0KICAgIGZvciBuIGluIHJhbmdlKG51bVRocmVhZHMp Og0KICAgICAgICB0aHJlYWQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldCA9IGNvbm5lY3RBbmRS dW5TbGVlcDMpDQogICAgICAgIHRocmVhZHMuYXBwZW5kKHRocmVhZCkNCiAgICAgICAgdGhyZWFk LnN0YXJ0KCkNCiAgICBmb3IgdGhyZWFkIGluIHRocmVhZHM6DQogICAgICAgIHRocmVhZC5qb2lu KCkNCiAgICBwcmludCgiQWxsIGpvaW5lZC4iKQ0K