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 1oloNt-0007dE-If for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Oct 2022 09:32:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oloNs-00071j-6Z for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Oct 2022 09:32:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oloNr-0006wt-Hp for pgsql-hackers@lists.postgresql.org; Fri, 21 Oct 2022 09:32:07 +0000 Received: from esa4.fujitsucc.c3s2.iphmx.com ([68.232.151.214]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oloNk-0001Rt-Nj for pgsql-hackers@lists.postgresql.org; Fri, 21 Oct 2022 09:32:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1666344722; x=1697880722; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=IRVZPxnyTYQkjleKsdMwQyEiV/R0WrTcbqo538Hthl4=; b=fbQxePPiF6Nv5LSZwt8oQ8GbiQAq0ca6aRoPXot+C8wr5y3HN1Zx+EO3 bgrsD3er0AUmG/qcmWWEbFVaxNkVY+DL5IKpWU/tuFGRJA+Kcmyl3ys0W J2g+63sDVrZMYBengZGz3UrSndaLyuswEXSIhtQCU8jyqGNzU/eg5n+3w QhxbbhMBVqEBERiDp8w3taC3FIwbBT3GjG2tF2LtJA/ioC4bAIwfa2qp9 UKjlaMIqNRYq47VFE2tXB4cVUihAltIqjxAWWfqLfyCs+WTt/HxND/FIU kt/7xdzB6ILiwgcMo+fKs2vHyV5B6eF6q115tiWA/Xt/YMXajnTgcpA+q Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10506"; a="75924753" X-IronPort-AV: E=Sophos;i="5.95,200,1661785200"; d="scan'208";a="75924753" Received: from mail-os0jpn01lp2110.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.110]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Oct 2022 18:31:46 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EzC6nsPs0qmkHZpHhu0X+N3EFP7XgqPCL4UmOpq+s7nJcMOJrP8KIl1+1kQNXcnQqhPe9nfkCerxY6lArqpwfM6v2PN517JbMD+d7m4lmFpHKL6kKPZTY5ANg6PDIY+c99KMaJRXqEIqUeXEmcfLIiOLq49ExK1ueawnrAYPkswq355QeskVmTV734rTErPRmVY0ex3xwMaAF2lhpmckP050HLA70HkVsugGOZmrz90YPdAS0JouD2dG8IXEbzcCbggVp6sFCJN6fn2VtwKiTgxtGwhDRzGQ0M0KV9GwKmRr+dEBcGrpo/MRBEgihypUTz2sKCIGyQM3kO7OqAiuTA== 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=IRVZPxnyTYQkjleKsdMwQyEiV/R0WrTcbqo538Hthl4=; b=Tj2TqAKUOQuBoCRB6xDGTDZUn8HG3fSev0Os74YHP7zBevu1s/cy3jOOq44pn/WAucSCwJRtAXNxxz2V0pm6pyXNFYcAqpHvqr1TvWeM+HG2wzHZTFO9nMOnFw4guHqDhdrRAPl9WdqXEzaOXHAX/pjfvl3XAnKMMs9jTwXNPPPf+fyAsPvMGKHBl9Pp8qy7Afz9EKo3W4Cz7tChIX5UVdaEhaa+C1tkafyjfGOBb34YDC1hzP9fszEEgXKyutudVEf/P5UglZebccbWGb6LZwK/7yNAtysjyHGcbLcPVvLppZJ6zIxCJCKKuTX3N0Fn8GFaOA/N2QbMUXwEakQKXw== 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 OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by OS3PR01MB7972.jpnprd01.prod.outlook.com (2603:1096:604:1be::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Fri, 21 Oct 2022 09:31:42 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::8dc0:c0c6:acd:def0]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::8dc0:c0c6:acd:def0%7]) with mapi id 15.20.5723.035; Fri, 21 Oct 2022 09:31:42 +0000 From: "houzj.fnst@fujitsu.com" To: "kuroda.hayato@fujitsu.com" CC: Amit Kapila , "wangw.fnst@fujitsu.com" , Dilip Kumar , Masahiko Sawada , "shiy.fnst@fujitsu.com" , Peter Smith , PostgreSQL Hackers 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: AQHYSXX5ZKpBKXxeUU2FhEhnmXQum6zlu9SQgAkSooCACBQ0gIABsTcwgAA1vECAAqHFgIAE/jVwgAXct9CAADkRgIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACghoIAB8TqAgAqL+oCADJWRgIAGVm0AgAGAQICAAerMgIABYRWAgAgnZ+CAAXRdgIAGBUSQgAGFeoCAAFYagIABb5aggAGsWiCAATu3gIAEyyEAgABeLHCABFBngIAK5WIAgABrY4CABb89gIADiS0AgAEu2oCAAHBpgIADPWcAgAS/1gCABHgYgIAKpESAgAfOw4CAA0tmAIAAMWoQgAX4G4CAAc+XQIAAblAAgALN3+A= Date: Fri, 21 Oct 2022 09:31:42 +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?NTBfQWN0aW9uSWQ9MzBmZDhjM2ItZDk1My00ZDUzLWEyM2ItZDVlM2JkMjk4?= =?utf-8?B?NmMwO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFRO+/ou++gA==?= =?utf-8?B?776LO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX1NldERhdGU9MjAyMi0xMC0xOVQwNjoxNTowMlo7TVNJUF9MYWJl?= =?utf-8?B?bF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfU2l0ZUlk?= =?utf-8?Q?=3Da19f121d-81e1-4858-a9d8-736e267fd4c7;?= 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: OS0PR01MB5716:EE_|OS3PR01MB7972:EE_ x-ms-office365-filtering-correlation-id: 1fd1fe3f-6ed3-46a0-dd5f-08dab347104b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hBFm1e8fSaSVG7FqMcAjV7wcEC81h3+O2klqRKzTWaYicXhKd+tGBX69PkgFAUHbxbYQfstIlJxeRayOo2BE58rwFBQG/fv65T3EUOBDxELv7zLYI1yJhEFLVmmtP1sHN+3eMSkHY3qPTooICIulypyVcqHoktm7bZ0NN4u3aPJRbO3+G93RDFPsFae1gtttBt5/hHi/Ftcof5T8lQElMJLWzge4QtLgPJJIPE3BOQJ9ltFEBuuLdbk5cLJZFTynItAbzwzq5A+n/+QqfVeYx9EWBdESkL9wHVFrQFE6fR94DybWggC0TJ7XgPixjyol0ZxDfD5TgCn34PrpQQnxceaVl2SwKsv5INbHxw4hT2VG9o8RgKDLtTQditN5jDn7EiovypYrhOK32KIFga8Iqh6EMr2rrGXGfS9ry2WQMA9aBn/gnnnqCFkqIkYlK4Hxi5F4UzWoLPT7AKTz9BJpi8HGBmfx3wU987TMUUDLRuGR0B3eOUobmWNSD2i6RxDvYmDyL2dfxxuU3PZXX1neY9AmznNr9Fnn9m/OgAM0GivXgw8MLVg3srR8/uUmxWhindeK7bzvwQMnBRnwp9Y+ieTT/WMxPAFrWY44BIC9JhjAsQwW/fMwQnHy0NPm+ctEPU6pEGGuPdccKQ/obecFXBsajMd1cXllYC5AFbpE7cMR+Eabm2FODRVPmve2nLvCoOzIwqh+l0H55s9xN/XZy5oh1v0ToKpUwYVptWJvmM+FUxBIcG2F6OICdSQaFsphhtaDxY7T7UgrhTEKKuxzNbqHulWHFMiz/4Liz7b3EvI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(376002)(39860400002)(136003)(451199015)(1590799012)(186003)(6506007)(7696005)(26005)(6862004)(9686003)(5660300002)(52536014)(53546011)(8936002)(55016003)(83380400001)(2906002)(41300700001)(6636002)(316002)(54906003)(4326008)(71200400001)(64756008)(478600001)(66446008)(66476007)(66946007)(8676002)(66556008)(76116006)(122000001)(33656002)(86362001)(85182001)(38100700002)(38070700005)(82960400001)(1580799009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eWsyZjU5RU4zZWpzZnNqampQcnl6SVJXS2tTN2ZnUTUwQktISXV0L0c3RVlH?= =?utf-8?B?ZkVWVSt2ekpQY1RNOFpuZUVVd0hvOWFpam5mM1pzRkVVdk8wa3kyZVl4eExV?= =?utf-8?B?VnlKMDc0czQyR3QyTE95Y09ERm1VS3oxQ3hsYldHdjhUaVJqRzRIL3FrRVl2?= =?utf-8?B?T20wWjhubjFVSkFZNWFid0ljanIwTTh3enNTMVBXSnV4d1lFVWRsdi9vWXdR?= =?utf-8?B?TlFFTXJmWUR4Qit3NnRWbWgzR2N2cGgvWkdDaTdiNXJSbVh6MlF2RlVOandv?= =?utf-8?B?dzhJdGo5Tml0NVg0KzdDQm5rMTZPbXI5eTA1dW9Gb0JTU3R3dDVnK1kzb1Nl?= =?utf-8?B?VUpJQzdsYWxkTi9WYnF1VXV5OGpUbVlWcTY0bURSWUg5TXBFYlVEcGlRcTR5?= =?utf-8?B?WkZ3KzcvdXMwTUx5MjhRdFpTUXhqWHBvckNSTnRMT3M1QjB3WG53NHhxbjkw?= =?utf-8?B?ZitBNE9QS0EzdDdVZ0lZdWc2b2xEWVEzaWs5WkEyYUFMT3VqYVcwN0VEeVNL?= =?utf-8?B?dHhSMk95Sjg4bFNaeE1WODl0aTBqdEcwMlZwa1QxRk5zWGVIaUxuOG5KcDVJ?= =?utf-8?B?SmFDdW82VDF6VHY4RDh4WW5wVk8xRjZFend1SGM4cmJBaldXcng2NWR3TDZR?= =?utf-8?B?c2RIa1kyeWwwOWlrU1ZUU09WM2VxcjFYMHlXT1JpZ1lKekY0eWFNYkwxdmZW?= =?utf-8?B?L2NPU3FsZ2hJcGxibUp4R3djRW1xZlA2Sm1lVThQWXl5NEhUSjEzem40eDJv?= =?utf-8?B?RStGd1lXbGRHOVpKWFFmMG5wRFE5TlhuTW0yTCttbDFwYmU1VlVjSXJxNG5k?= =?utf-8?B?K3M1M1dVSEI3NTRES2l4cURIY2R5VGNCWmx3ZmdxT1hUNDIxMnBiS0FmMWZF?= =?utf-8?B?d0kyZzFYeEh5MXcweWs3eFROWElUak0yUXFYUjdKLzlHQ2lCRlkyUHlEc2k5?= =?utf-8?B?cko0cGNZdmxpYUxkY0ZkVU9ydU9CU2VCU1RCcVpnNUNaZWlEL05QOFpqTzB0?= =?utf-8?B?MnBXT2YzNUVaVFNEbjNzdXYzSlVrN0kvVzQzNEVQb0lHTkw2ZnR5cSs0aWhZ?= =?utf-8?B?eFk0NjRhUWpNRytGQUJaaVdxdjYvRnJBQ1llT3hXTzNzZTZ5T0MwbDZxYUwv?= =?utf-8?B?eFlKTjVEelZ4SjJwbElaQksyeFNmSHVDLy8vU2lQSU12T01GZEVxUC9RL3Ru?= =?utf-8?B?dDluVlVwUzc3bmVKOWpxZHBNaTNJWmEwNnhrMktEalFiZ2ZTNFA2eE1Ia1ZR?= =?utf-8?B?aDdNN0ZBRFBwOGs4R2t6VkNJWlNaTUd4akRCTWh6T1NuRks4bytQK0E0aEY0?= =?utf-8?B?b3hUS0V0MktmOWJjSHJwaEZ3RmZVU0ZSQ3JhRTNJZ044VkhHWUlUbWt6WFZL?= =?utf-8?B?dXZweGMvcytyKzFpK0ZndXJkSkxIUE1FUDd6YncxREdTWUY1TEpRWjhQWmRX?= =?utf-8?B?bmdZL2Q2UjIxZWlTTmpkWmFJRW9peFgyeGx3ZHdiSlM2TGU1UDdGTlRsM21n?= =?utf-8?B?UG9vblo3ZzY1NVNqR0lEa3RUa3pNaWltcEpkejFTcGtHYWk5NWJEaG1DU3lv?= =?utf-8?B?SkdCc0tvTk5RU3g5eU8wandab0tHYVpuWTI3K1AwRUd6MENIdlNLS1ZjZHMr?= =?utf-8?B?c21ZcjRhNXJ6QVRLT0MxdDVxZU9DcUc2cUpzZFIvOCtvdWt0S2pLbDFXTjFs?= =?utf-8?B?bnZYODFwRThoVWhBSDF1dGppZVhDTVlNY0xPTEtLMlVyWlQ4R3lQOVdzYmt2?= =?utf-8?B?RmEvL0xWRXhSRGJsRkdmWnZYQ3pOd05HT1QrSWxPVmlnVGRIejdJRnVGOUVy?= =?utf-8?B?VTRpcFk1Q1ZLcmdyMkpNQzdPaXRzdkNFRlAyV2VzZDhlZTdiV3o0V0pCYmxX?= =?utf-8?B?eUVSTkFmWi8xRnE0WHhHVGFvaTNPM3A5R3BrL0pDTGF0QWtWVXFmeFM1eWVv?= =?utf-8?B?cE50STdncTVoM2VXUlZTbGRVZTQ0bk9sU2Q3QXJIWFJucDRTa245NUp4Mlpj?= =?utf-8?B?RzRNUi85K290VlhHNHh5aExDMisxTzkxajlkemZwaktoaUNlZVo4Sm5OSTlr?= =?utf-8?B?UkpBWlU4SHc2WUxMNjdmLzJGcFdIQ2ZQbnFVVy9QYWY1dnB3U0ZScTc2azI3?= =?utf-8?Q?K/8FtPBc8ftgH9w7pJz6Vs6fG?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd1fe3f-6ed3-46a0-dd5f-08dab347104b X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2022 09:31:42.3647 (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: sqQ4vB+M7Ob5wbPA9gdriHnSlFz5kSSwKZDTYXgSVpB6Rv5lJ4TRPnduQPbdq3CnP8fj6ndSC61cg8U4qIwzNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB7972 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gV2VkbmVzZGF5LCBPY3RvYmVyIDE5LCAyMDIyIDg6NTAgUE0gS3Vyb2RhLCBIYXlhdG8v6buS 55SwIOmavOS6uiA8a3Vyb2RhLmhheWF0b0BmdWppdHN1LmNvbT4gd3JvdGU6DQo+IA0KPiA9PT0N Cj4gMDEuIGFwcGx5cGFyYWxsZWx3b3JrZXIuYyAtIFNJWkVfU1RBVFNfTUVTU0FHRQ0KPiANCj4g YGBgDQo+IC8qDQo+ICAqIFRoZXJlIGFyZSB0aHJlZSBmaWVsZHMgaW4gZWFjaCBtZXNzYWdlIHJl Y2VpdmVkIGJ5IHRoZSBwYXJhbGxlbCBhcHBseQ0KPiAgKiB3b3JrZXI6IHN0YXJ0X2xzbiwgZW5k X2xzbiBhbmQgc2VuZF90aW1lLiBCZWNhdXNlIHdlIGhhdmUgdXBkYXRlZCB0aGVzZQ0KPiAgKiBz dGF0aXN0aWNzIGluIHRoZSBsZWFkZXIgYXBwbHkgd29ya2VyLCB3ZSBjYW4gaWdub3JlIHRoZXNl IGZpZWxkcyBpbiB0aGUNCj4gICogcGFyYWxsZWwgYXBwbHkgd29ya2VyIChzZWUgZnVuY3Rpb24g TG9naWNhbFJlcEFwcGx5TG9vcCkuDQo+ICAqLw0KPiAjZGVmaW5lIFNJWkVfU1RBVFNfTUVTU0FH RSAoMiAqIHNpemVvZihYTG9nUmVjUHRyKSArIHNpemVvZihUaW1lc3RhbXBUeikpDQo+IGBgYA0K PiANCj4gQWNjb3JkaW5nIHRvIG90aGVyIGNvbW1lbnQgc3R5bGVzLCBpdCBzZWVtcyB0aGF0IHRo ZSBmaXJzdCBzZW50ZW5jZSBvZiB0aGUNCj4gY29tbWVudCBzaG91bGQgcmVwcmVzZW50IHRoZSBk YXRhdHlwZSBhbmQgdXNhZ2UsIG5vdCB0aGUgZGV0YWlsZWQgcmVhc29uLg0KPiBGb3IgZXhhbXBs ZSwgYWJvdXQgUGFyYWxsZWxBcHBseVdvcmtlcnNMaXN0LCB5b3Ugc2FpZCAiQSBsaXN0IC4uLiIu IEhvdyBhYm91dA0KPiBhZGRpbmcgbGlrZSBmb2xsb3dpbmcgbWVzc2FnZToNCj4gVGhlIG1lc3Nh Z2Ugc2l6ZSB0aGF0IGNhbiBiZSBza2lwcGVkIGJ5IHBhcmFsbGVsIGFwcGx5IHdvcmtlcg0KDQpU aGFua3MgZm9yIHRoZSBjb21tZW50cywgYnV0IHRoZSBjdXJyZW50IGRlc2NyaXB0aW9uIHNlZW1z IGVub3VnaCB0byBtZS4NCg0KPiB+fn4NCj4gMDIuIGFwcGx5cGFyYWxsZWx3b3JrZXIuYyAtIHBh cmFsbGVsX2FwcGx5X3N0YXJ0X3N1YnRyYW5zDQo+IA0KPiBgYGANCj4gCWlmIChjdXJyZW50X3hp ZCAhPSB0b3BfeGlkICYmDQo+IAkJIWxpc3RfbWVtYmVyX3hpZChzdWJ4YWN0bGlzdCwgY3VycmVu dF94aWQpKSBgYGANCj4gDQo+IEEgbWFjcm8gVHJhbnNhY3Rpb25JZEVxdWFscyBpcyBkZWZpbmVk IGluIGFjY2Vzcy90cmFuc2FtLmguIFNob3VsZCB3ZSB1c2UgaXQsDQo+IG9yIGlzIGl0IHRvbyB0 cml2aWFsPw0KDQpJIGNoZWNrZWQgdGhlIGV4aXN0aW5nIGNvZGVzLCBpdCBzZWVtcyBib3RoIHN0 eWxlIGFyZSBiZWluZyB1c2VkLg0KTWF5YmUgd2UgY2FuIHBvc3QgYSBzZXBhcmF0ZSBwYXRjaCB0 byByZXBsYWNlIHRoZW0gbGF0ZXIuDQoNCj4gfn5+DQo+IDA4LiB3b3JrZXIuYyAtIGFwcGx5X2hh bmRsZV9wcmVwYXJlX2ludGVybmFsDQo+IA0KPiBTYW1lIGFzIGFib3ZlLg0KPiANCj4gDQo+IH5+ fg0KPiAwOS4gd29ya2VyLmMgLSBtYXliZV9yZXJlYWRfc3Vic2NyaXB0aW9uDQo+IA0KPiBgYGAN Cj4gCS8qDQo+IAkgKiBFeGl0IGlmIGFueSBwYXJhbWV0ZXIgdGhhdCBhZmZlY3RzIHRoZSByZW1v dGUgY29ubmVjdGlvbiB3YXMNCj4gY2hhbmdlZC4NCj4gCSAqIFRoZSBsYXVuY2hlciB3aWxsIHN0 YXJ0IGEgbmV3IHdvcmtlci4NCj4gCSAqLw0KPiAJaWYgKHN0cmNtcChuZXdzdWItPmNvbm5pbmZv LCBNeVN1YnNjcmlwdGlvbi0+Y29ubmluZm8pICE9IDAgfHwNCj4gCQlzdHJjbXAobmV3c3ViLT5u YW1lLCBNeVN1YnNjcmlwdGlvbi0+bmFtZSkgIT0gMCB8fA0KPiAJCXN0cmNtcChuZXdzdWItPnNs b3RuYW1lLCBNeVN1YnNjcmlwdGlvbi0+c2xvdG5hbWUpICE9IDAgfHwNCj4gCQluZXdzdWItPmJp bmFyeSAhPSBNeVN1YnNjcmlwdGlvbi0+YmluYXJ5IHx8DQo+IAkJbmV3c3ViLT5zdHJlYW0gIT0g TXlTdWJzY3JpcHRpb24tPnN0cmVhbSB8fA0KPiAJCXN0cmNtcChuZXdzdWItPm9yaWdpbiwgTXlT dWJzY3JpcHRpb24tPm9yaWdpbikgIT0gMCB8fA0KPiAJCW5ld3N1Yi0+b3duZXIgIT0gTXlTdWJz Y3JpcHRpb24tPm93bmVyIHx8DQo+IAkJIWVxdWFsKG5ld3N1Yi0+cHVibGljYXRpb25zLCBNeVN1 YnNjcmlwdGlvbi0+cHVibGljYXRpb25zKSkNCj4gCXsNCj4gCQllcmVwb3J0KExPRywNCj4gCQkJ CShlcnJtc2coImxvZ2ljYWwgcmVwbGljYXRpb24gYXBwbHkgd29ya2VyIGZvcg0KPiBzdWJzY3Jp cHRpb24gXCIlc1wiIHdpbGwgcmVzdGFydCBiZWNhdXNlIG9mIGEgcGFyYW1ldGVyIGNoYW5nZSIs DQo+IAkJCQkJCU15U3Vic2NyaXB0aW9uLT5uYW1lKSkpOw0KPiANCj4gCQlwcm9jX2V4aXQoMCk7 DQo+IAl9DQo+IGBgYA0KPiANCj4gV2hlbiB0aGUgcGFyYWxsZWwgYXBwbHkgd29ya2VyIGhhcyBi ZWVuIGxhdW5jaGVkIGFuZCB0aGVuIHRoZSBzdWJzY3JpcHRpb24NCj4gb3B0aW9uIGhhcyBiZWVu IG1vZGlmaWVkLCB0aGUgc2FtZSBtZXNzYWdlIHdpbGwgYXBwZWFyIHR3aWNlLg0KPiBCdXQgaWYg dGhlIG9wdGlvbiAic3RyZWFtaW5nIiBpcyBjaGFuZ2VkIGZyb20gInBhcmFsbGVsIiB0byAib24i LCBvbmUgb2YgdGhlbQ0KPiB3aWxsIG5vdCByZXN0YXJ0IGFnYWluLg0KPiBTaG91bGQgd2UgbW9k aWZ5IG1lc3NhZ2U/DQoNClRoYW5rcywgaXQgc2VlbXMgYSB0aW1pbmcgcHJvYmxlbSwgaWYgdGhl IGxlYWRlciBjYXRjaCB0aGUgY2hhbmdlIGZpcnN0IGFuZCBzdG9wDQp0aGUgcGFyYWxsZWwgd29y a2VycywgdGhlIG1lc3NhZ2Ugd2lsbCBvbmx5IGFwcGVhciBvbmNlLiBCdXQgSSBhZ3JlZSB3ZSdk DQpiZXR0ZXIgbWFrZSB0aGUgbWVzc2FnZSBjbGVhci4gSSBjaGFuZ2VkIHRoZSBtZXNzYWdlIGlu IHBhcmFsbGVsIGFwcGx5IHdvcmtlci4NCldoaWxlIG9uIGl0LCBJIGFsc28gYWRqdXN0ZWQgc29t ZSBvdGhlciBtZXNzYWdlIHRvIGluY2x1ZGUgInBhcmFsbGVsIGFwcGx5DQp3b3JrZXIiIGlmIHRo ZXkgYXJlIGluIHBhcmFsbGVsIGFwcGx5IHdvcmtlci4NCg0KQmVzdCByZWdhcmRzLA0KSG91IHpq DQoNCg==