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 1ogOWU-0000f2-42 for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Oct 2022 10:54:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ogOWS-0007kv-VX for pgsql-hackers@arkaria.postgresql.org; Thu, 06 Oct 2022 10:54:36 +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 1ogOWS-0007kl-JH for pgsql-hackers@lists.postgresql.org; Thu, 06 Oct 2022 10:54:36 +0000 Received: from esa19.fujitsucc.c3s2.iphmx.com ([216.71.158.62]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ogOWP-0005UC-53 for pgsql-hackers@lists.postgresql.org; Thu, 06 Oct 2022 10:54:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1665053674; x=1696589674; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=zLwWWSJcH3MOz/MD8ZPSlV8iEOo6bC38R8wikgH6GO8=; b=NjnEKP51qwJoOaDZRiwI1Zwl71cMzrapXHnYzk37MhRonrBIGIUE45Tc i0c1Vj7rB2hlCMt++NGbRkeY/Jplp2v+SVsaYGNBVTpLw9YEpGqa47r7F EgJGQRkFXdP2/AbboASy3EAnYle8K7+upjaYtHrhOOIeNNOfDskk+hB3T TjmgloNQVjKjp0mMjnhBbTJQ5Vi8tWHS7gvDUc5/5ASzKCmQD84DmNpHg fQRxQT3WaCYGkdfWjuVg3w50pN0Io32OBa36kuVorLggPbYXcP60C0SIl F/+pcvyzFup+9swTf0IFj5uSDCprqm9YhU5TcWVF0zPDyKLOMCmj3qQ7I w==; X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="66536992" X-IronPort-AV: E=Sophos;i="5.95,163,1661785200"; d="scan'208";a="66536992" Received: from mail-os0jpn01lp2108.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.108]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2022 19:54:31 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELrusdPS5qxJDrEe2CMNWJaz+TbbZNya9PtoJ/c1zbkWj0Gj2waXKjHpcBu/c67SAvbhW29/EASklZ+Z1vjVvr01R6nFxEdyJWK9VstuIQXPpvbagpRSnlV280tIOLyK9X+X9XclE4rFx1UIR4VC7C2ilZfmUOvu9CErKhOJxI92uTnQZeJvD64l7Qe1xwXyMSujcUQstUseGs38VydglOEZC+zRzLiDp2T5Z8d/6Uf77XtGHlQZZ2RBptG7nxubon2Kh8YcrCzyBE0C9GudQ4DMHABi6Hpq4e+ss5AbZYO+r1AAmC1irK2zfH4dB954s7b5haM0rUJy3HCV4esnFQ== 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=zLwWWSJcH3MOz/MD8ZPSlV8iEOo6bC38R8wikgH6GO8=; b=K2F+jdEosz+9KhwLlQashPWVdqh4hwbVPQD1nIJLtK4GrXDlg/+X6j3IAMXzq6KjAA1Sunwnz6GbSowN65gkyf24wkh1N/v5UhyQkdh2JdeHjjSFHLP0mPU9IsktGhUI30SjJJeDqrkIPQp28oINAKK7KnqYJv1WlIaOanPq/8JLPqXHzQ1z03vPwQhXE9LPTZyI5e9UbxXakz/Kh0jOJh0bmdn0R5/ynbuSGmq9QjerWN6wVHR8rN5Vjq9xbNoja8GtKXF01wFw7WXiQ8i+O+ENlVVEYHBB4+wXkZaui9QMGCa4qSI4dRQoTaOs7B+SFHLpQdvTtmNrY82CtysyzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com (2603:1096:404:8056::13) by OS3PR01MB6088.jpnprd01.prod.outlook.com (2603:1096:604:d6::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.32; Thu, 6 Oct 2022 10:54:24 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::17a9:e329:aedd:22ff]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::17a9:e329:aedd:22ff%6]) with mapi id 15.20.5676.032; Thu, 6 Oct 2022 10:54:23 +0000 From: "kuroda.hayato@fujitsu.com" To: 'Amit Kapila' CC: "houzj.fnst@fujitsu.com" , Dilip Kumar , Masahiko Sawada , "shiy.fnst@fujitsu.com" , Peter Smith , PostgreSQL Hackers , "wangw.fnst@fujitsu.com" Subject: RE: Perform streaming logical transactions by background workers and parallel apply Thread-Topic: Perform streaming logical transactions by background workers and parallel apply Thread-Index: AQHYSXX67NoYEfdPmEWsDniEZU+Lb6zlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACmRgIAB78qAgAqL+oCADJWRgIAGVm0AgAGAQICAAerMgIABYRWAgAgvEYCAAWyzgIAGSRYAgAFBqICAAFYagIABchmAgAGqzwCAATq/gIAFJCcAgAAGs4CABE7agIAK5WIAgABrY4CABb89gIADiS0AgAEu2oCAADxqUIAGB4WAgABVQwCAAXQv4IAAZbiAgALSbLCACyz3gIAAB5tw Date: Thu, 6 Oct 2022 10:54:23 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjItMTAtMDZUMTA6NDY6?= =?utf-8?B?MDlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD0xZTI4Mzc0OC0yYTJiLTQyMzct?= =?utf-8?B?OWZkMi1iNmM3MjcyNTc2NzM7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYAPR01MB5866:EE_|OS3PR01MB6088:EE_ x-ms-office365-filtering-correlation-id: 5821d674-0bb0-44dd-ea11-08daa7892137 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7qNuWQKhgb5eJL7dVGEKmjlX8drxjetO3APDcnC1piC3mkbooMqiCISdIwHMlMo1hoCGo9Y8kLhbnXcEN7LCEnlrWeU5/1+GQHgcGqjjqSj+ZeP3wsJyUvmFQxDJVEjYSyXpudh4G9uU9Syf6/Lfzxl5xJoLUCUMHISmr05i9HXagZvmSAi/p/P0+IELsH+87NZnGcebgNNuLbqEJisDqXbYhjlqz8+LbDDsY8D92f+8VMZJNcK1UVng1ZhpeNnrPF4HqmKUacZrU9F9u1Oonsx+XbzeOBYi8KmGIfIVkv6DYSZR2wP1NuEzvb37REAeKZ8phWMzExIJ2RaBbrJ5svLlw2QNUlPqT7Uhf0f1dDjgA4gAbN33yRZvyRczgsKJvosghIyJQrgluKFYVsmmMPEFQIqgmtBO6re9vD8gT1hN6sc/E+xBbBB7a3jgL4ZeML5SLBiiaNZ4I1sxj0sVOvcKbpHxBtiTvUvADgxjtRr0CgwCPGNHe4AWBdH7Cla9Z0M5m5GcU7Spn/RypUr8nps4ijQ48HFIyhM4XxqfPT8rI3mvXEB6hPMzFO5Z57ArQ3DGfIOEVNO76FVi8fruwsaG+lBfy9gW/yCNqILjJoEUTFwLmhqcheGdO0XyF/n9sm0KJfoeEU7mmEShCJDBt+h8aLsVVCQODH8W2Ob8w+1PnwHdFpYydah+5anOU6t2+0ruVft5QMpaL6Q6MZ018ptpiBQJsOj76E1MQTvfODpQXdldK670SRQdWAtE55+ENrIsB00SoSbXC0ugUN/B0bnB2uzpGaTNIUdkO4JqXTY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYAPR01MB5866.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(136003)(396003)(39860400002)(366004)(1590799012)(451199015)(8676002)(6916009)(83380400001)(38100700002)(186003)(122000001)(38070700005)(4744005)(82960400001)(71200400001)(2906002)(8936002)(5660300002)(52536014)(55016003)(41300700001)(478600001)(6506007)(9686003)(26005)(7696005)(107886003)(66476007)(66946007)(64756008)(66446008)(66556008)(316002)(4326008)(76116006)(85182001)(33656002)(1580799009)(86362001)(54906003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VmZzMU44ZzZ0OWF5NllpTGZNZ2h1Z0VhVUR0c3ZXUUZHVGthbzdEUVc3VXJL?= =?utf-8?B?dzNRZE5MSTlUaVRPYUoxUWNOVWV0ODRHSkFZWTlqTStqdi9rT0YyTDBzczhZ?= =?utf-8?B?M3pwM2w1Q2src3BJUkd6T3Q3VTFieUc5VVVvZzljTnJkSlN1UEZDT2tNa1Fo?= =?utf-8?B?RHo0VEtTeWRadEtvUkFmZ3FFUGdVbExoTFZEK2xNWkVqUDg3bkY1eFFxSDAx?= =?utf-8?B?UExxQzliZ3NXZHdDVjhQcjliOTMwTjZ0cG13akM5RkFVbi9GRHN5Mmw5Nm5n?= =?utf-8?B?MWtmUHJQN2xmck1ZS2o5UW1BY0Q3cFViVUprYVlVa2ZmWDlUQzN0YUhLSEtZ?= =?utf-8?B?bkVnZWNkbmM1Q1pFcFJuNUQ4Uk01Q1owUVU3dUUwMGY3WDRGT0V5VzRxeW9I?= =?utf-8?B?ZmFwWnNLV3UySDZkMmRMdXBZT2hEeC96ZzE1UW5NbnVZMGRSaXJQTnZReStw?= =?utf-8?B?TjkrZjdwWlFSRDB6a0R0Sk1yc3dlUnZPYjBiWUhMWUhvZERnY2ZRYUFBczBC?= =?utf-8?B?bTZZRUxtekxLamkzTEJwczlUbnExS3BYeXo2ZkFQbi90MHl6RjB0VDh5dEJl?= =?utf-8?B?TmhxemQzOXVMczRIdng3d3VyTXZRRmdnbFFXVHFjWjZ4UmtBSktCZEFSbzZu?= =?utf-8?B?M2QrYkVyeGlVZTV0VGo5bGs1RXQ1cmJpajVXY1c4eTYwM0t2NDRKbmJqOWdu?= =?utf-8?B?bnNMYStDVEZOOVBsekVMbWVESDlqMjVtOHlVRVJ6d3RsMjkvWUs4eGdOYk13?= =?utf-8?B?VU9oNEFzUy9mREU5NjBCN1hJODMyZzlobTVmRHQzT29IaFdmazhMQzJvYndv?= =?utf-8?B?ajh0azd1cks1c0FWUnVXc2g4enNjdkdiNHBmbGtPYVBUUkN4LzZrekJtNVBE?= =?utf-8?B?UDRRd3ZuN21aazFsUThFZDd4Vm02Vm04NU0zMXVjOHY3czZ5QUZpeVVwZWFU?= =?utf-8?B?NjQ1bm9FcVhIZ0g3anVhNU0vOU44SGNkZzhiSy9ROXlHN0wra1RlS0ZBVVBq?= =?utf-8?B?N3FzeFVRSjQrV1loblBvZS95RHlnNWpmNlMrSUg5aTFZQWxRd09Wb0pYVW45?= =?utf-8?B?dGhHdjJUZ0VlbGJsOHNUTnMwbWhJeXVwSTBKY1g4SHdtWDVoM0pMM1pPaDM2?= =?utf-8?B?aXF3ZDNvaEo0NHVCamtIM05DekNDUmtLSEsrZ3hLczVuR1VxMU56S09SR0lo?= =?utf-8?B?Z240YUJwWVREbVJqZ1JLM0pHMTBaS1lUeGNyQXVKNU80d0J5UDJPaDFlVmxV?= =?utf-8?B?bDU1Zm5zUlJDSUYwL1FtTyt3cndrdklBR3BEUWVvUlNiTDNtbkwyc3VmVEZQ?= =?utf-8?B?RG8rZDBSTjVXbGc5NjhRWG9KNzZ0Vk16U1dDNDdpTFlFaTFpRyswYWJmb0Jj?= =?utf-8?B?TWdwK09Tcys4T2hsekFrbzIxYnZnSjdETVFWSGxaaDBzWGh1YU5wOUpUWHR0?= =?utf-8?B?cnFTMk81MmUwWDVLM2N2S2IySUJKZHFITC94UDkrcTBYd3VlTUJkazd0ekVZ?= =?utf-8?B?UTJKUGo1MjAzbG1OTm9UZWFrM0hWT2xRbzNQR0VXQzdmN3NidEhJNlNFbkcx?= =?utf-8?B?cnVYMHRIRmd2SnJudHdQcVVPSUx1TEtxcXUzNUF5eUQvQ1NQWVJ5cjdLWDI5?= =?utf-8?B?djNGeFVZY0VNZzliZ2hGYWJnaGZ4QXg0OERHUE9BU0F2TFJiQUFQN2VOcE1l?= =?utf-8?B?dWJSVjE5TVN3c2FUc01JbXhuVlN1ZFZ6YkJvcmJRcnpEYXlweXVCdFkvS0g4?= =?utf-8?B?bWprWGxZZXd2ZEl0NWw5NHZ5RU9CZ1FtZmIrZ1V1aU44ZmFrSFRWdUhlZXFi?= =?utf-8?B?UVhaMVJWL3luUHdPQlpWMjhuNW1hRXM0MWFvSHg3RlZLOUtlVHZMZ0E3NEh1?= =?utf-8?B?UGJBREZVSHgyaWZzOE40NGhSYnJvU1hvTjEzdHNNUlM3Y2NTT3V2cnU4NGNo?= =?utf-8?B?U29abmVGbHdUbXRRQkNLRzdXcUZxZzZUYjZySzV1VzFNMGFVZ0wzaEpJMkpk?= =?utf-8?B?aFB0SldxbDBlRXh2bktza2xjb25vNGRTakEweDhLUjFtU2RqTm5uQXR4MExn?= =?utf-8?B?eXRxb2JHdnRod2xEU1JGWkpZNXpJNWZ5YThlNVE5dTNnMit2WEduYldDZzkw?= =?utf-8?B?MUdncHdpekQvc0JhK09EODJyd09xakc0eThET2R4bVR6QmFqOUdKN2RGVXNV?= =?utf-8?B?V3c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /MC6TsQhdzb2ProsKt7LerAume2hPsHuFtr5tPZBJpz4JuWTqckloX75Q7jakzp782Ra7Q6JQM3KHiNod52Gajl49Ow0N9jVG540ZijSZOksL26Gvt29NTupGOMZQdrfzsEKVHu3osBz1gcUXIAK1lcofHYMtmxO1wimeFim+xxoOPOSWOHYZCOqd60oMin+9HD3/tnKRICO2s/K+jOcoMu0EWcq9s6FJ/cfeTMCpPGjVVMAHUsQHmJk7GnkGcJZUZOwH78axmkLspqAyCRGLFVmiw8pFGtt3FMm+d1zw53h6OBIdcyig9+JXo/ejbAoqJFskbWn1brwoQBsM+kUjY/k20PL3qlCE+9rcWlbJVDr65OF/ZU4nOYaCuIq5fN3YQgVaK1+C27j+hzEaFnwLPVq/4fK3gMYQFf1VTSiSOQozRQwL0hH8DCsuQCmpokhcSIj9ePyHqcpIaN5lO9rjr/AGy49cts5cIFA1Qg7lHlIBAlIgq/Wc+30FcEjZG0jEVkIPhZiNwn7GfwnSt/Kg70DxYtyslirR4f/tE1zUKpZn7whRzh4zvkL3kqTxvYscFkbGuUdOSeZy1IHG5ars4WEbPvwSNO6w8aZRpEw/Z4+WSDL4qaGx8C6wcv9zHmdHl7cF13pZzF6VBqCX4dBpUcbJ9vYx5cVuGko8qZF0mDHMWFRAXb2n/70Qs04aanxH5FcQ5/c6dhIXlSFYgGMJGzwv9BQw0fc5PRLzuvj9ZJk0ZwVna9t6h98WynR/Om8rAKHQNtv0uCHrDdtcHQdzFde5ONdIW3nYpTR+doW6gaoapenEIOw0GCgOrLKMT2JrRzY2jaeY6EFmiIEf1LG9UOGGAqfGKduIGKe9oKfTTFp5bZ1e/w5lYcHQpjpu0fZiaUb817XxfNmtV4M2dcBfA== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5821d674-0bb0-44dd-ea11-08daa7892137 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2022 10:54:23.5704 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +UG+kKmytDYhzxWj7YwkaMJIQZzcCBVLbDf+4AzfSxBBKBIwjGPZwrx6v1AQxrjfbqxjzck46ciFkM04iMzash5kNaHvwDgt+EPrzLJd87w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB6088 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBBbWl0LA0KDQo+IENhbid0IHdlIHVzZSBXYWl0TGF0Y2ggaW4gdGhlIGNhc2Ugb2YgU0hN X01RX1dPVUxEX0JMT0NLIGFzIHdlIGFyZQ0KPiB1c2luZyBpdCBmb3IgdGhlIHNhbWUgY2FzZSBh dCBzb21lIG90aGVyIHBsYWNlIGluIHRoZSBjb2RlPyBXZSBjYW4gdXNlDQo+IHRoZSBzYW1lIG5h cCB0aW1lIGFzIHdlIGFyZSB1c2luZyBpbiB0aGUgbGVhZGVyIGFwcGx5IHdvcmtlci4NCg0KSSdt IG5vdCBzdXJlIHdoZXRoZXIgc3VjaCBhIHNob3J0IG5hcCB0aW1lIGlzIG5lZWRlZCBvciBub3Qu DQpCZWNhdXNlIHVubGlrZSBsZWFkZXIgYXBwbHkgd29ya2VyLCBwYXJhbGxlbCBhcHBseSB3b3Jr ZXJzIGRvIG5vdCBoYXZlIHRpbWVvdXQgbGlrZSB3YWxfcmVjZWl2ZXJfdGltZW91dCwNCnNvIHRo ZXkgZG8gbm90IGhhdmUgdG8gY2hlY2sgc28gZnJlcXVlbnRseSBhbmQgc2VuZCBmZWVkYmFjayB0 byBwdWJsaXNoZXIuDQpCdXQgYmFzaWNhbGx5IEkgYWdyZWUgdGhhdCB3ZSBjYW4gdXNlIHNhbWUg bG9naWMgYXMgbGVhZGVyLg0KDQpCZXN0IFJlZ2FyZHMsDQpIYXlhdG8gS3Vyb2RhDQpGVUpJVFNV IExJTUlURUQNCg0K