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 1oQ6sZ-0008To-Ha for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Aug 2022 12:50:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oQ6sY-0000Jb-Ex for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Aug 2022 12:50:06 +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 1oQ6sY-0000JI-0x for pgsql-hackers@lists.postgresql.org; Mon, 22 Aug 2022 12:50:06 +0000 Received: from esa4.fujitsucc.c3s2.iphmx.com ([68.232.151.214]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQ6sQ-00084J-Vr for pgsql-hackers@lists.postgresql.org; Mon, 22 Aug 2022 12:50:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1661172599; x=1692708599; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Mcrtfb+WklctycTJUWY9mFzEwUb9gKwRPFvZjGRXw9Q=; b=TvAs1D52YtGVz+PCcm1fgtUEpoyJM0SbZPI/bG299tia/odpvx7PSfv3 2l4JsJDojfGiun7FGRJsObdnk8elUiB8yybUW7wkmaXF5qc+PNBQZTkvV txuobfzpjSFSaiP/I7Y9LEjhYRO5fmDZTd9Da1MIzvbtZrOiMLMioE/F2 8NCsueYuAvpns/G6jk6f7fCZlytRDCAJUBWJbDLKRmzScFYxYpuFO8VN8 iUI4cbhL4mDoH7W+GfUfG1aCcXW/0Io/e/0VFrZZ1ZIM6RaIkPZ7UKST+ If6aP8knTopLa3tP83ignU16t9o1qHqIH2e5XEz/8rmA1rITugAxfqWDE w==; X-IronPort-AV: E=McAfee;i="6500,9779,10447"; a="71041764" X-IronPort-AV: E=Sophos;i="5.93,254,1654527600"; d="scan'208";a="71041764" Received: from mail-tycjpn01lp2177.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.177]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Aug 2022 21:49:57 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LXGKonpoOlCXpEiT7GAuyVDqyq4j3TmrM60nNjghrx+3e6VbwEUhy8nY3epyrtzTTtsJJ8v2/JsolCLtaMxuMHK5UAP1Vk0ouJ9MtzfjoALQVWfNwN6DKis6J7Y+0hVOtNHwFYjcEd952UFvYeitYFOAHWMV4YURheraRwxg8ZUDgXNh1idQYT1Ahtin6BB3eN6/YOxrtVjmyIZBE/4RcFc4k/Olk+H3CKicNUJSEwhyvbjOswUDSqwDkLyT22OsTOHfqAo63o+sDdz8qLrnJccpwp6g2z0yj3smWFtkzbB1HZzRyRuPiIwDtl+LLSIA9FlGwtzb4d7w7bq93msE1g== 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=Mcrtfb+WklctycTJUWY9mFzEwUb9gKwRPFvZjGRXw9Q=; b=G5HZKHJb16H+wrS0q/hM8sFM+pWz02jPR2gaHvfcws7wk9+DGQQzrG98joClP+daZ+mvrWwtH6K5czJQOQGctt8RlLFIFBvgePldatIwYDPAC4rBS8t1ALDR5cJ1a3IhazogZ11MuB0WUnJmyot7EShiUq6IhZFw1yYfH8cP5dENcuePHb2cG92ECv7jZrmoBOH5rpxNffjUKeNmQNGYCWsa3jSShneDGBP52FCAHUDyLQGqw1domUwe5ZPv98COFtLGLj6tqY+0IWExlbAFs/V9nj+qTvub57bKHIX9kWdgeneF5RYOxwuuLP8JtZARraDJM7htlKwIMDf2VRR34Q== 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 TYWPR01MB9971.jpnprd01.prod.outlook.com (2603:1096:400:1d5::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Mon, 22 Aug 2022 12:49:53 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::20fd:c7be:ddad:974c]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::20fd:c7be:ddad:974c%2]) with mapi id 15.20.5546.023; Mon, 22 Aug 2022 12:49:53 +0000 From: "kuroda.hayato@fujitsu.com" To: "wangw.fnst@fujitsu.com" CC: Amit Kapila , "houzj.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: AQHYSXX67NoYEfdPmEWsDniEZU+Lb6zlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACmRgIAB78qAgAqL+oCADJWRgIAGVm0AgAGAQICACD/QIA== Date: Mon, 22 Aug 2022 12:49:53 +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?NTBfQWN0aW9uSWQ9MTU0MzMzYzMtYzQ1Ny00YTljLTk0MjctYjNkZDQ3Y2Fm?= =?utf-8?B?OThjO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOC0xNlQwNzoyOToxOFo7TVNJUF9MYWJl?= =?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-office365-filtering-correlation-id: 55d81984-c38c-495f-9904-08da843ccf1e x-ms-traffictypediagnostic: TYWPR01MB9971:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vgq/e5tvV8ljyUfPoJoSKFYSc170d5RmPrqQ0rzNgnoHd0hRRRKNdVP6qxmL/bKJF2w8q2uRHFfJTcU0+TuM7B+4jjvPFon4wP6qLyWEZ5wkO+vMiwsryJZLRG7o5R6dOaqI6AyPP/MWrsEk3XyqP9pfbdRilt65F5ymPRfjpqZUkYkn6jAdhAjefZ9DBq0HMHkikloHwU3+zuSy60pPhL1bUmtYfVPfjCfyGGS50vuGHDv+1WA4PGLyoPwNbzO4bfpseCTOZhjX2Uv94PhT8ifw4eFiDct+BtK/oSEibVLodZrOZocopkwYuvAm8DxzpZhs/WKbMkaR43GJCsJ55tIjqQsOTZ9/yNkVCiL0ZxEOTzC3UwoTSX/Vq8SzUoXB3F2bMPAKBsZ4vWtgqPoB/o/HDafK1WSQS04XiF2Sbe6J8E5ABP+ircwU/hpvIAqkT27SfiNKZztSPmQGJ++NgzI6vYPWLfdySbQ/WD90udAJNibjZXCpjYuyY2ayMAltVS8DwgjHoBZGxTxa+1PDBbCkUxGeMqXAsnK5EPnOOU5gdlj1DmLqYCPJsDZExRzdCov0nGaQGk+b1OZrjZuSa57JtaCZvJTIldM8xF/OhbdX6/BRbSVQ9dwtWXiosXJHzDLp39ohlYN5fkh5eUVsAqJp0SH78EDO7GQBi34jGpG+jegimp7gh8p/LJWXTCjbXstT/Is3sW420+dnkzjCqCNrRDpsp3cv8XUNMBtpuBJb0o235hwx3Zo8IBi06aTCzPzYE9ZaQGu4Qr00xiKPDGcPe1r5VZb4xe+/ZLm0aDv4GVPrI5pS+N5v9nkBiKTxcSzYym8UDEbXkrnp9WDyWL+M8gOqLGsjSaNAQipe4G2hkhrtnvHEW6+Wf+glKPR7OvK3SMXWEUlj66I+qsOFUg== 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:(13230016)(4636009)(396003)(346002)(39860400002)(136003)(376002)(366004)(54906003)(45080400002)(76116006)(66946007)(8676002)(64756008)(66446008)(4326008)(66476007)(86362001)(66556008)(55016003)(6636002)(82960400001)(316002)(38070700005)(26005)(6506007)(7696005)(9686003)(186003)(1580799003)(52536014)(83380400001)(71200400001)(122000001)(966005)(478600001)(41300700001)(85182001)(8936002)(6862004)(33656002)(2906002)(38100700002)(5660300002)(21314003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0llRmRtTE9uWjdaTnJjMHpuTm9WVE1FV2E3dUhEUWxONkszRk1sQ0IxKzc2?= =?utf-8?B?UmEvd0ViOFlQTzZlWmpKR2kwdExuK1hJazRiU1NWZ0dKTWNkQmJkNUQ0aEQr?= =?utf-8?B?cmU2MTZDd0plMDlpY3Z1bzkwTFdKeFhNb1ZieWxVVVVCYW83d2JHbWJaQkVN?= =?utf-8?B?WjVqMUJUUFRGVWpPMUdGeFpDaDVISnFqNG9hWWlhN1RhbUVGQ2pjUStaZmhx?= =?utf-8?B?VFdGbmU0eGpENzFmQzNJMzlPYjcrcTFaVldBdGZXMGtEeXJmNmh5bkt1SldN?= =?utf-8?B?S2Z0ZUJSNFFxSzVZV21HWis5N1N2dzg4aXR0RXN3NURsMmhYQjBXa1lSWjJT?= =?utf-8?B?NnYzOEZ3cmZBaXhaeXBNWXI3TGdjTjJoVE54MGxQb3FUNmNzeExmaGE2OWp4?= =?utf-8?B?NEtLTnhYV0xhY3BKemNYKzVoYVJQSXlFVGdwdmt3Qmo3R08vOTduSXFNYW1l?= =?utf-8?B?N1lubGI1YmlvMkdYbVFpZEgyQ3lSWUZocm83aFJQd2VJRWhEYklaKzdYenNF?= =?utf-8?B?Ymh3S3lLbVVNeElER0VubDdqTzFpTThBRUhXeWJrTjFFK3JYdklMT2pUekRI?= =?utf-8?B?QkFjWWhPMVA0dGkxd3VwU3Z3VkRhczdmWU80YlFwWkswbjM1WjlmY09hR1Jn?= =?utf-8?B?TDA5enk1bHVkZFArWElXd0dPbWhqOEYxQkc5ck9WVFRkdGNJWWhVcUdydFo0?= =?utf-8?B?RnJxWnlVVUZKWTFLNkZ6c08rWDhtNVZNM09pMUxnYTUzNHJOWHI0VzhqZC9x?= =?utf-8?B?bS9xcUxPU3FiZXpIcVl3dVkrS1lNbXIwWitRWkZkRjNFbjRxbFVNSXBWUWk0?= =?utf-8?B?U2dhdkNDbVFJcXhwMmFYY2xQeDZFTmlaWFFGTWw1RThuSkF3b1VMc0g4UWp4?= =?utf-8?B?NUVvM3VxWnYyY1J2UE5iSWdYNFJuODFiVFpBZ0twWDVFOCt6bytkSkdvZFJt?= =?utf-8?B?Q3NNcjNZaEpqdkZvendvaW1ZcmZpb0FJQmEyUVVkOFpZWTBrQTNsSnRoQWhI?= =?utf-8?B?OWZla1Q5K01XNXluTWN6b1JvdklwZWtvUlZRU1Bya1FSTXlKUkdNWUZWMVdI?= =?utf-8?B?eGtwZ2VORTExbndWZXpYamtodUYxaUxYOHBiSTVlWXZNUXFFdlRvQXZWQm1C?= =?utf-8?B?SmV5WWxLd2dRMzdkSmc3bG11OGJaa3g5Y2p3TUFXaW9ZVHlia083cCt6RTlW?= =?utf-8?B?OGJYN1BQejczNVo4ME8xL2hEY010dGpmUll0a3ptWWtTT0dKUEEvNWR1aXg2?= =?utf-8?B?ZGJsa0tGZXZ1OHlwUVVWNnZkdm5SbGRVRlN0eWREVGQ5VTBNMUZoUUZBaUp4?= =?utf-8?B?ajJGRkRMcFZOeHBpay8xeE9MOG9vcUFqalJvVzRZUTgrcktxQkZLWHNWWFRl?= =?utf-8?B?ZzMzZWtwK1RrSE1zdCt6Q0crUEZwRVRnQ2pjNFVoT3Jyb09TMzNTRXlPdGZY?= =?utf-8?B?OXhZOTBISytZb0NUWkJHUk9lUG1PbzZ6N0dldXBRTGZsYmZWZ1VtMy9RNkwv?= =?utf-8?B?M25Va2JZa09MRXdHZytUZUsxaEszRXlWVGpsazRMdjdxV1FWeW9GUGVXazF2?= =?utf-8?B?eG90a2VZeVdaangvZlQ4NXhMU1RMNUQ3cEZVY3h0VDFEUFhMV25JTGhiRGZH?= =?utf-8?B?Vk1ocys5V21NV3JvdzB1bGNqSXBKdGI4NEtnM1pZbHczWlQxOEpwVURiMWNx?= =?utf-8?B?OTd2ejg1WmZqdTFYeWFDOXowV2hld1RQcFpIVVF3aHhlN2FCdDlJT1hqMUZm?= =?utf-8?B?UGRET3VzSWtmcllielBiQkhORnlBeWhyaXJ2ZkJralliQVVqdmFGL3BjY1VT?= =?utf-8?B?czYzM0RuZjVYUDJuQlZaS2VGVksrbGZZVUlUT3NqeTJ2QXFjRndZOWF2bEZM?= =?utf-8?B?eW9pVnBoOFE5L3dqYTkyVDc2amh3SUdFVlIxbi84cmR1cEhsVnpZRVR3TEox?= =?utf-8?B?MWtWU3VjRGhKT0hCYVZKbEpMWFpURDIyWTdrZUJnMnpzMzFKRWpGUWdBTmIw?= =?utf-8?B?c2s4REZxTkpTTXpKUVVMaWxkRzRLZTF2RFJXcFdUbHIrYTVLRFJrdEtSb28z?= =?utf-8?B?U0N4VUp0c0FCb25IcHg2YmEwdGNyYnlwWHp2MkVrN0VUdDkxVm9JVysxRDRj?= =?utf-8?B?ZUd0OUlxdmRjQ3Zjd0lpVVFpLzBoazdvV0k5RjI1SFVDSG9NZUVCcENURXNo?= =?utf-8?B?V2c9PQ==?= 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: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55d81984-c38c-495f-9904-08da843ccf1e X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2022 12:49:53.3983 (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: aEIm8FHztP/ubONHvVyTpzwiXELU2tJ5Tub8EnVTe2oWAcAIxB2OhTmQYxzPNYq1vw0Kx9L8z0c7AFE8/fBOyj3uYw7dgtLm7uad2AniUyY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB9971 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBXYW5nLA0KDQpUaGFuayB5b3UgZm9yIHVwZGF0aW5nIHRoZSBwYXRjaCEgRm9sbG93aW5n cyBhcmUgY29tbWVudHMgYWJvdXQgdjIzLTAwMDEgYW5kIHYyMy0wMDA1Lg0KDQp2MjMtMDAwMQ0K DQowMS4gbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sDQoNCisgIDxwYXJhPg0KKyAgIFdoZW4gdGhl IHN0cmVhbWluZyBtb2RlIGlzIDxsaXRlcmFsPnBhcmFsbGVsPC9saXRlcmFsPiwgdGhlIGZpbmlz aCBMU04gb2YNCisgICBmYWlsZWQgdHJhbnNhY3Rpb25zIG1heSBub3QgYmUgbG9nZ2VkLiBJbiB0 aGF0IGNhc2UsIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8NCisgICBjaGFuZ2UgdGhlIHN0cmVhbWlu ZyBtb2RlIHRvIDxsaXRlcmFsPm9uPC9saXRlcmFsPiBhbmQgY2F1c2UgdGhlIHNhbWUNCisgICBj b25mbGljdHMgYWdhaW4gc28gdGhlIGZpbmlzaCBMU04gb2YgdGhlIGZhaWxlZCB0cmFuc2FjdGlv biB3aWxsIGJlIHdyaXR0ZW4NCisgICB0byB0aGUgc2VydmVyIGxvZy4gRm9yIHRoZSB1c2FnZSBv ZiBmaW5pc2ggTFNOLCBwbGVhc2UgcmVmZXIgdG8gPGxpbmsNCisgICBsaW5rZW5kPSJzcWwtYWx0 ZXJzdWJzY3JpcHRpb24iPjxjb21tYW5kPkFMVEVSIFNVQlNDUklQVElPTiAuLi4NCisgICBTS0lQ PC9jb21tYW5kPjwvbGluaz4uDQorICA8L3BhcmE+DQoNCkkgd2FzIG5vdCBzdXJlIGFib3V0IHN0 cmVhbWluZz0nb2ZmJyBtb2RlLiBJcyB0aGVyZSBhbnkgcmVhc29ucyB0aGF0IG9ubHkgT04gbW9k ZSBpcyBmb2N1c2VkPw0KDQowMi4gcHJvdG9jb2wuc2dtbA0KDQorICAgICAgPHZhcmxpc3RlbnRy eT4NCisgICAgICAgPHRlcm0+SW50NjQgKFhMb2dSZWNQdHIpPC90ZXJtPg0KKyAgICAgICA8bGlz dGl0ZW0+DQorICAgICAgICA8cGFyYT4NCisgICAgICAgICBUaGUgTFNOIG9mIHRoZSBhYm9ydC4g VGhpcyBmaWVsZCBpcyBhdmFpbGFibGUgc2luY2UgcHJvdG9jb2wgdmVyc2lvbg0KKyAgICAgICAg IDQuDQorICAgICAgICA8L3BhcmE+DQorICAgICAgIDwvbGlzdGl0ZW0+DQorICAgICAgPC92YXJs aXN0ZW50cnk+DQorDQorICAgICAgPHZhcmxpc3RlbnRyeT4NCisgICAgICAgPHRlcm0+SW50NjQg KFRpbWVzdGFtcFR6KTwvdGVybT4NCisgICAgICAgPGxpc3RpdGVtPg0KKyAgICAgICAgPHBhcmE+ DQorICAgICAgICAgQWJvcnQgdGltZXN0YW1wIG9mIHRoZSB0cmFuc2FjdGlvbi4gVGhlIHZhbHVl IGlzIGluIG51bWJlcg0KKyAgICAgICAgIG9mIG1pY3Jvc2Vjb25kcyBzaW5jZSBQb3N0Z3JlU1FM IGVwb2NoICgyMDAwLTAxLTAxKS4gVGhpcyBmaWVsZCBpcw0KKyAgICAgICAgIGF2YWlsYWJsZSBz aW5jZSBwcm90b2NvbCB2ZXJzaW9uIDQuDQorICAgICAgICA8L3BhcmE+DQorICAgICAgIDwvbGlz dGl0ZW0+DQorICAgICAgPC92YXJsaXN0ZW50cnk+DQorDQoNCkl0IHNlZW1zIHRoYXQgY2hhbmdl cyBhcmUgaW4gdGhlIHZhcmlhYmxlbGlzdCBmb3Igc3RyZWFtIGNvbW1pdC4NCkkgdGhpbmsgdGhl c2UgYXJlIGluY2x1ZGVkIGluIHRoZSBzdHJlYW0gYWJvcnQgbWVzc2FnZSwgc28gaXQgc2hvdWxk IGJlIG1vdmVkLg0KDQowMy4gZGVjb2RlLmMNCg0KLSAgICAgICAgICAgICAgICAgICAgICAgUmVv cmRlckJ1ZmZlckZvcmdldChjdHgtPnJlb3JkZXIsIHBhcnNlZC0+c3VieGFjdHNbaV0sIGJ1Zi0+ b3JpZ3B0cik7DQorICAgICAgICAgICAgICAgICAgICAgICBSZW9yZGVyQnVmZmVyRm9yZ2V0KGN0 eC0+cmVvcmRlciwgcGFyc2VkLT5zdWJ4YWN0c1tpXSwgYnVmLT5vcmlncHRyLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bW1pdF90aW1lKTsNCiAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgUmVvcmRlckJ1 ZmZlckZvcmdldChjdHgtPnJlb3JkZXIsIHhpZCwgYnVmLT5vcmlncHRyKTsNCisgICAgICAgICAg ICAgICBSZW9yZGVyQnVmZmVyRm9yZ2V0KGN0eC0+cmVvcmRlciwgeGlkLCBidWYtPm9yaWdwdHIs IGNvbW1pdF90aW1lKTsNCg0KJ2NvbW1pdF90aW1lJyBoYXMgYmVlbiBwYXNzZWQgYXMgYXJndW1l bnQgJ2Fib3J0X3RpbWUnLCBJIHRoaW5rIGl0IG1heSBiZSBjb25mdXNpbmcuDQpIb3cgYWJvdXQg YWRkaW5nIGEgY29tbWVudCBhYm92ZSwgbGlrZToNCiJJbiBjYXNlIG9mIHN0cmVhbWVkIHRyYW5z YWN0aW9ucywgdGhleSBhcmUgcmVnYXJkZWQgYXMgYmVpbmcgYWJvcnRlZCBhdCBjb21taXRfdGlt ZSINCg0KMDQuIGxhdW5jaGVyLmMNCg0KMDQuYQ0KDQorICAgICAgIHdvcmtlci0+bWFpbl93b3Jr ZXJfcGlkID0gaXNfc3Vid29ya2VyID8gTXlQcm9jUGlkIDogMDsNCg0KWW91IGNhbiB1c2UgSW52 YWxpZFBpZCBpbnN0ZWFkIG9mIDAuDQrvvIhJIHRob3VnaHQgcGlkIHNob3VsZCBiZSByZXByZXNl bnRlZCBieSB0aGUgZGF0YXR5cGUgcGlkX3QsIGJ1dCBpbiBzb21lIGNvZGVzIGl0IGlzIGRlZmlu ZWQgYXMgaW50Li4uKSANCg0KMDQuYg0KDQorICAgICAgIHdvcmtlci0+bWFpbl93b3JrZXJfcGlk ID0gMDsNCg0KWW91IGNhbiB1c2UgSW52YWxpZFBpZCBpbnN0ZWFkIG9mIDAsIHNhbWUgYXMgYWJv dmUuDQoNCjA1LiBvcmlnaW4uYw0KDQogdm9pZA0KLXJlcGxvcmlnaW5fc2Vzc2lvbl9zZXR1cChS ZXBPcmlnaW5JZCBub2RlKQ0KK3JlcGxvcmlnaW5fc2Vzc2lvbl9zZXR1cChSZXBPcmlnaW5JZCBu b2RlLCBpbnQgYWNxdWlyZWRfYnkpDQoNCklJVUMgdGhlIHNhbWUgc2xvdCBjYW4gYmUgdXNlZCBv bmx5IHdoZW4gdGhlIGFwcGx5IG1haW4gd29ya2VyIGhhcyBhbHJlYWR5IGFjcXVpcmVkIHRoZSBz bG90DQphbmQgdGhlIHN1YndvcmtlciBmb3IgdGhlIHNhbWUgc3Vic2NyaXB0aW9uIHRyaWVzIHRv IGFjcXVpcmUsIGJ1dCBpdCBjYW5ub3QgdW5kZXJzdGFuZCBmcm9tIGNvbW1lbnRzLg0KSG93IGFi b3V0IGFkZGluZyBjb21tZW50cywgb3IgYW4gYXNzZXJ0aW9uIHRoYXQgYWNxdWlyZWRfYnkgaXMg c2FtZSBhcyBzZXNzaW9uX3JlcGxpY2F0aW9uX3N0YXRlLT5hY3F1aXJlZF9ieSA/DQpNb3Jlb3Zl ciBhY3F1aXJlZF9ieSBzaG91bGQgYmUgY29tcGFyZWQgd2l0aCBJbnZhbGlkUGlkLCBiYXNlZCBv biBhYm92ZSBjb21tZW50cy4NCg0KMDYuIHByb3RvLmMNCg0KIHZvaWQNCiBsb2dpY2FscmVwX3dy aXRlX3N0cmVhbV9hYm9ydChTdHJpbmdJbmZvIG91dCwgVHJhbnNhY3Rpb25JZCB4aWQsDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh bnNhY3Rpb25JZCBzdWJ4aWQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLCBYTG9nUmVjUHRyIGFi b3J0X2xzbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIHdyaXRlX2Fib3J0X2xzbg0KDQpJIHRoaW5rIHdyaXRlX2Fib3J0X2xz biBtYXkgYmUgbm90IG5lZWRlZCwNCmJlY2F1c2UgYWJvcnRfbHNuIGNhbiBiZSB1c2VkIGZvciBj b250cm9sbGluZyB3aGV0aGVyIGFib3J0X1hYWCBmaWVsZHMgc2hvdWxkIGJlIGZpbGxlZCBvciBu b3QuDQoNCjA3LiB3b3JrZXIuYw0KDQorLyoNCisgKiBUaGUgbnVtYmVyIG9mIGNoYW5nZXMgZHVy aW5nIG9uZSBzdHJlYW1pbmcgYmxvY2sgKG9ubHkgZm9yIGFwcGx5IGJhY2tncm91bmQNCisgKiB3 b3JrZXJzKQ0KKyAqLw0KK3N0YXRpYyB1aW50MzIgbmNoYW5nZXMgPSAwOw0KDQpUaGlzIHZhcmlh YmxlIGlzIHVzZWQgb25seSBieSB0aGUgbWFpbiBhcHBseSB3b3JrZXIsIHNvIHRoZSBjb21tZW50 IHNlZW1zIG5vdCBjb3JyZWN0Lg0KSG93IGFib3V0ICIuLi4ob25seSBmb3IgU1VCU1RSRUFNX1BB UkFMTEVMIGNhc2UpIj8NCg0KdjIzLTAwMDUNCg0KMDguIG1vbml0b3Jpbmcuc2dtbA0KDQpJIGNh bm5vdCBkZWNpZGUgd2hpY2ggb3B0aW9uIHByb3Bvc2VkIGluIFsxXSBpcyBiZXR0ZXIsIGJ1dCBm b2xsb3dpbmdzIGRlc2NyaXB0aW9ucyBhcmUgbmVlZGVkIGluIGJvdGggY2FzZXMuDQooSW4gWzJd IEkgaGFkIGludGVuZGVkIHRvIHByb3Bvc2Ugc29tZXRoaW5nIGxpa2Ugb3B0aW9uIDIpDQoNCjA4 LmENCg0KWW91IGNhbiBhZGQgYSBkZXNjcmlwdGlvbiB0aGF0IHRoZSBmaWVsZCAncmVsaWQnIHdp bGwgYmUgTlVMTCBldmVuIGZvciBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlci4NCg0KMDguYg0KDQpZ b3UgY2FuIGFkZCBhIGRlc2NyaXB0aW9uIHRoYXQgZmllbGRzICdyZWNlaXZlZF9sc24nLCAnbGFz dF9tc2dfc2VuZF90aW1lJywgJ2xhc3RfbXNnX3JlY2VpcHRfdGltZScsDQonbGF0ZXN0X2VuZF9s c24nLCAnbGF0ZXN0X2VuZF90aW1lJyB3aWxsIGJlIE5VTEwgZm9yIGFwcGx5IGJhY2tncm91bmQg d29ya2VyLg0KDQoNClsxXTogaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9D QUh1dCUyQlB1UHdkd1pxWEJKanRVJTJCUjlOVUxiT3B4TUclM0RpMmhtcWdnJTJCN3Awcm1LMGhy dyU0MG1haWwuZ21haWwuY29tDQpbMl06IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3Nh Z2UtaWQvVFlBUFIwMU1CNTg2NjBCNDczMkU3RjgwQjMyMjE3NEEzRjU2MjklNDBUWUFQUjAxTUI1 ODY2LmpwbnByZDAxLnByb2Qub3V0bG9vay5jb20NCg0KQmVzdCBSZWdhcmRzLA0KSGF5YXRvIEt1 cm9kYQ0KRlVKSVRTVSBMSU1JVEVEDQoNCg==