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 1saVlD-009IZS-1i for pgsql-hackers@arkaria.postgresql.org; Sun, 04 Aug 2024 07:34:35 +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 1saVlA-008SHo-LF for pgsql-hackers@arkaria.postgresql.org; Sun, 04 Aug 2024 07:34:32 +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 1saVlA-008SHf-6a for pgsql-hackers@lists.postgresql.org; Sun, 04 Aug 2024 07:34:32 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1saVl6-0033Kc-I1 for pgsql-hackers@postgresql.org; Sun, 04 Aug 2024 07:34:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1722756869; x=1754292869; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GyzEmYEuQKQrXH/n4QAudJiXtn/F07RXtHup0JtF+Hs=; b=DnsT7T9oTouBZl/pHD154sZ2HryzMPxg+bwbOnssZM3ygCfDBWCtDiBd UwQQoQWkgOK5o8tw1aGHqBfTwDy7gNGKjJyH2fJB2saYrWsfkF3XJGZ/o CVGeR+hHr1jyV/kbHax380e4ENVacEwJ6t/xSorLbIBQUoyt2ANdqdRJO i9FU9xa7lp0WfLdQMSCmwSnJlkmtzIIkD9mAv5qC9qQda8LDwCC9WfmUt dOyfZREiV/7PlYy9+1fjLq4SrwAjtymZ+DnMTC2kcFr3mjR0RUMH5vr/i 6ygeysQCj9Kg6jF1uwiZTJzXLE2baBEYFm2nJnp/FIL2Ar47EQ11XJgmB w==; X-IronPort-AV: E=McAfee;i="6700,10204,11153"; a="38284761" X-IronPort-AV: E=Sophos;i="6.09,262,1716217200"; d="scan'208";a="38284761" Received: from mail-japaneastazlp17011030.outbound.protection.outlook.com (HELO TYVP286CU001.outbound.protection.outlook.com) ([40.93.73.30]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2024 16:34:25 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qgef8sGLUHULIRXo0RnLYluKMFaHj9IjjI3NchjVy92NWff+Tk1VUXRPkZXJ0zbiPVXeXEvchRMrI9xsXNv/PnyE1aLFpIFDwp7LMuN/ipqprv9ND9wHaQ78RrjRWOImtPusyKETw2VIpIo8Wm9xpEnfu0Ul18RZlPlRb0s4EdsiwCtT2tVQk0NDIJXcPks2OPdkEIGbpVNXnqJv0IN4rQT3RIOaMZYVLEiXS7NWgvMDjeLET0RXunSTS9e0Xjk/+vfqYQgurM+KOPqX/8rHBO0En0+MYACFaUPrsNkHwphMDUvH0M2asweOw0doYSLUOHHWKjV8bySb63OKXYwsHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=GyzEmYEuQKQrXH/n4QAudJiXtn/F07RXtHup0JtF+Hs=; b=ygesjxnFrPU5q+YXAL0PHz/8F7IvBsNAWQa9YIzgnaWNPcpKwRtjdRLIsQfmHepg0469aO1EqZ92CMxy8DPT7qJXQj27IioNzJULrl+llPIO0WuunVwnl1vZexOZetDU/3r41s1oNivyZ/ZAU6AJqdt/NxN/z54NMF08t5TmvOF+eK+cv5EG0IlNDLHbKWV9INraL4T/3zbkRbqIvMbv4IBVej+EjrJt+M8CAdjUloRoAAXsU0ym7s5Klg0l+LemWjLNnSykmiXffKfxuhm2dCPErjpHMnr4gcRB9pYqY2+ahT56YBW1HYaLS2Ho6pTtY+ZS+/uvcM6NBmsupP23uQ== 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 OS0PR01MB5428.jpnprd01.prod.outlook.com (2603:1096:604:94::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.25; Sun, 4 Aug 2024 07:34:21 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fca7:f02b:186b:2a7a]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::fca7:f02b:186b:2a7a%5]) with mapi id 15.20.7828.023; Sun, 4 Aug 2024 07:34:21 +0000 From: "Zhijie Hou (Fujitsu)" To: Amit Kapila , shveta malik CC: Nisha Moond , pgsql-hackers , Dilip Kumar , Jan Wieck , Tomas Vondra , Ashutosh Bapat Subject: RE: Conflict detection and logging in logical replication Thread-Topic: Conflict detection and logging in logical replication Thread-Index: AdrDrD42z+JL6kkyT+S5P3mFtvUPXACLiFVgABYkl4AAUAFDcAFgN2FgAW5M8IAAIjCy8AL280YAAATGC4ABxuRYgA== Date: Sun, 4 Aug 2024 07:34:21 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-AS, 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?NTBfQWN0aW9uSWQ9Y2Q4MTY1NjYtMzI1Yy00MjgwLWE3NjItMzY0NGNkZjBk?= =?utf-8?B?Yjc1O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFROKAiztNU0lQ?= =?utf-8?B?X0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0ZmVjZTA1MF9T?= =?utf-8?B?ZXREYXRlPTIwMjQtMDgtMDRUMDc6MzE6MDFaO01TSVBfTGFiZWxfYTcyOTVj?= =?utf-8?B?YzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX1NpdGVJZD1hMTlmMTIx?= =?utf-8?Q?d-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_|OS0PR01MB5428:EE_ x-ms-office365-filtering-correlation-id: 1551b550-27fd-4281-fe4d-08dcb457db51 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018|1580799027; x-microsoft-antispam-message-info: =?utf-8?B?NWIybWd6cFhhUlFORlkrOHQyT0FaTmtLUkhtNFhYMmxyQ2ZUaUlHUjNhd2pl?= =?utf-8?B?cE9JQWpYYVdrZm5MaERKTHc4UDdrVStDYkk3cVViSjEvaEVnWEYzbUt2bHFs?= =?utf-8?B?aWVEcmpkK2Evdzk5QS8vbi8wcEM1N2ZJMlZSaElkQnBWcDdMTGVQMEJML3ZH?= =?utf-8?B?SVBxL3dBVmNseGpuM082dHJoTXlxdFdRZ2xHZk5OU3ozRWF1VDlqcFBzZi9X?= =?utf-8?B?L3llWmVJcFQ1YXltTlNjQ2djYXoyWUU0dTRQNnJ3aVNYUUpXSkR6cjJweDZT?= =?utf-8?B?RTRqYnkvVE4xdHYrZlVqRHBmNWViTEZ3eitabzVXbndkSCtBNTRPRTRIV3VE?= =?utf-8?B?RmxzUDVMemNNSGJpREt6bzdPMHN0VkFkbktqRUhyRHl5REpsY2ZGRGNaZlJl?= =?utf-8?B?UFlOQWIrU0tnK0FtZk5RMlBJVkoxeXNoTm8xWVRXTkRJOGFzZXlqbkJnazZs?= =?utf-8?B?TDV4Rk9VZXJ0MDliTzV2ajZ6b3Z6Y3JCbnlHVGNkdElscU52WVgraEFJbzk2?= =?utf-8?B?clA2eHRuaStqWnJYUm1VNlJmaExZVkdSUUdVN0U0VFJBMnhyM2VYakE3bjBO?= =?utf-8?B?ejJmNVJNbm11bkk4SmVOaFlrMkRmNURNdUJMSDMrTVFEakphZlZOUlBRLy9C?= =?utf-8?B?ZW1xZU1YRjcwV1djQ3EyNi82cUNWTUsxMDZoOGJlbHpHVW5WR1NIOFN2KzZH?= =?utf-8?B?VzYwTS81ZHF4QkxzQ01yVHZuSHlNWWwzMkR2ekVRRE1kZ1ZuN2orYXFmaytm?= =?utf-8?B?MjNtWURGbittRThGZm91bXgzanp6UXN1WUVPa1Z5OWVhVWxlM3Q4ZzFxYUxw?= =?utf-8?B?SjRMNkdYNk10UmUvYTg5MkdJM2VTNG1EMFpiR0RpaHBiWTdQMEx2RDBTQXlH?= =?utf-8?B?S2F6T3lPdi81VFJ0bFU0UjNvWi84T1FrdUNIbTlMNzFyWDduRjY4U0F2a09U?= =?utf-8?B?ZWkrcHU0MHRKeERRaTJ3YW55TzRxVm9tZmhibVl1a05TYmN6K0ZKc0E4WGVX?= =?utf-8?B?RHRCQ2dxR0VxVXYxcFg5ejBhWU9FdDNsdE1tSllhb3JzenE2RFlCY2hoRVFu?= =?utf-8?B?dnNnSXpieXJRUzh6VjlhYkVnTmVpSzRGcDdWNkpuUlRWQWVwcGVvV0VDZ1hu?= =?utf-8?B?RzFHbmMybjdXbzVRL3hCaERSSWZTVXdiQ1ZEY01ieFhIRGlOYnFxR0cwREZu?= =?utf-8?B?N3RvMUlOdzhJaXZBU2FPcko1TVNiVk5pOWlNSGRjbmFvVGw1eWdhWUxaL0ZI?= =?utf-8?B?QkthUkdmTmNZQ2ErTGpXWTZZbXdhZm90ZHlEbTRLK2MxRW0xK1prWnNtK0I5?= =?utf-8?B?WTF6dEg2MlBHa284Z1YvdENSYUFObkVrcjNLTTF3Nkl4Z2ZSdUxjbHdkcmtX?= =?utf-8?B?WTdYb29ObVpQUG5HaEtaaVBRSWRicm5UVmo0S3kwTmpEQU9RS2VwODI0VXBH?= =?utf-8?B?emxFTzJQb2pKbTJPQ21VakFZYWlGbmRNWU95aHdjVE9mWE1iNGJJdWF2Y2ZM?= =?utf-8?B?dnJ4TE8xR1V3TVRUaWZJOHp5MWFHeGk3ZW05d0RFbndDWERVcDBrOVdiZjU5?= =?utf-8?B?U3h4VmtOaERxRy9SaGhhelVLMWlNeDFpVjJ6L2gwWmxzaVBZZHBNVjRwa0hk?= =?utf-8?B?Skt0WnBkZXJyQk4zNFdqU3NhbUtjaldnUlBYblVSeHFLOHVNQkFYdTFsWmxJ?= =?utf-8?B?d0doYTYvOEcrRkJ1RWNMV2tIUmlJTHhtWmNnSjlESlY3ZWZGdmJHM0pGbDYr?= =?utf-8?B?ZEVUbjdoa1cvUXZOUlZQb05wV3JVeU5xcllKdXcyVHRiR2VDMVFYd1hXV09y?= =?utf-8?B?aGZZemdyYW14cmZ1WkhBR1BGdnduZmwvbzBxN2srSGVvTzROZWZXNWIwR2No?= =?utf-8?B?L1VXMTR2V0xyN0hHeEhjYUVDWGNkbExPTERCVjUxZjZkbWVPRFE4ZVRxNFAy?= =?utf-8?Q?0hNzItI4NFM=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018)(1580799027);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZkVZV1BKcmJod21MM1Q5VmF6YXJPaEZ2dThzQlF2aVltSm13YzZKZWRKS25U?= =?utf-8?B?b3RjRi96ZSsxbGQxblpqeDdtb05JV3l6RVJLcjByQlM5VnJkWUZyMXZZMVNE?= =?utf-8?B?TStpYWNPWXNHbFcxZnUwODJkLys0WUpvbzJSQ0VZdXM3OVkrMEZ6STBLaU1l?= =?utf-8?B?SGdYUFFwUlFBdU1ZZnNla2Q0alNGVFh4djc0aW5NZmV1S25wdXdQLzNNc29u?= =?utf-8?B?WUhTWGxtNmZVOXllclpMVGM1Tnl4eklNZCs2V1RxSVJzd3FnSWJQdVo3M1Aw?= =?utf-8?B?QU80WHFCWDRtMHZwOElqV2FPR2RpK3gzOUlMcGlPVndNVUdBSEswaENFSjhh?= =?utf-8?B?ZzdERU5JbFZiTGhmRTJUZS91QWpNbUJQWnZUcWdUenVSTUNCT0NZU21MNHBZ?= =?utf-8?B?eTdsL2NiYVlkYzZwT3BZaGhkdU9aSlZwOXdadWV4ZVJUc05lWjkyZmJFL21P?= =?utf-8?B?M0RVK0RCNEhBZGFpMzhyMHlvaDNLSXBwaUxoWXl0RC96VWxGWS9CRktPWHAz?= =?utf-8?B?bzJaQXVZdkdDRCtPMmo4K095VEdmT1JzNktxaXBObXJmTVNndXN4VnRXQ3Zs?= =?utf-8?B?WnRpUmMyNzY0WXd4RlExTndpZ1ZRSkFRa3hVL3JuWWs3YlhZWVYrVTFaSkRp?= =?utf-8?B?aG1aUUhSUWF6eUx3S0taS1RwdTZwYTR6QjFFNEQzbEZjYUNpOHh2RHQ1cUpI?= =?utf-8?B?TmF6V08wcFZNOWMvMW8vS0hZck5nc2JBWkRMTURsc2dYQnJ1V0g0ZHRXSDNv?= =?utf-8?B?VXE0dC90UHQ3dXVTa1V2YmZVejVPVjNlVTF6bS94Zkd4eTJ1dk1QZ1VPbmJW?= =?utf-8?B?Y3lmc3JhTW5yNENGaVNyLzhkalpHS0JaSFk0d084SzJ6V0NPK0ZwSVZJWXk4?= =?utf-8?B?d0FOQTRtYlMrVmhpTVQ3aUVWS3huNUR3SUdCdWZHWCtPYU1Zd2Y3ZlUzeXlh?= =?utf-8?B?WVYwVUxsMlJYUU9sdVRkWGhxTXFDMHFnTzJFbTR6eTBkT1lSTUtJUVkwbTZZ?= =?utf-8?B?Sk00YjJqY2x4UkNqZTVqQ3hibXlNUWROdFpPZitOd2hHeFlXeFpKZTN2QU92?= =?utf-8?B?SkZKNW10cmx0THNMWHZhUUJqcEovZnlwNFkzQkFPNDg2NHdUV1IzNHVJVnli?= =?utf-8?B?STRrM3EvM0hRK21WKzByZ0sxaGw3QTZCWnVnRHpkWmZKT0dUaFJJVnZhK1pZ?= =?utf-8?B?NFgwekh0VjlFVWRGT1loYlVIbXJVeU1pTEtsMTdFRFFzMTUvZ2J5TnY4TGE0?= =?utf-8?B?UzNMQ0I1azJydG1CN0lmOEdqeWNCSEdkZlMzVmh5d3E4T0Z6V1FLRmlBL21t?= =?utf-8?B?eVhKNG4vSTFLbDFYYXloM25kOGJFWU9mQXVVS3JjNFhrazFzeEtlLzBpWHA3?= =?utf-8?B?a2VwWFJzNTdlUjBNR0VIN0FvZGhtbWpiZzFLb0ZYM3VmbHExVDg2TGJNQ2RU?= =?utf-8?B?UWp2d0RUc2xvczVZYTZMU05VR0FVWEVjK3IvL0Z1ZGlDdnpDeWhsaEp3Nnk4?= =?utf-8?B?bHdYckRMR3pPTWJOaStpTU42bXlSTkhocnJ0blFKZXoybWdDZWExbmlEbmsr?= =?utf-8?B?VE0zZVVHYWRFdDdtSlZBY3ZWd2NBN2JQdHNOOHlGK1Z5ZUY5YVh5c280b3hm?= =?utf-8?B?STVYK1VmR2c0MWdGRHVldmZCOVpjRE9kdFBMdDJmbk9NczAraTdOUVhVNEJk?= =?utf-8?B?dnhKYi9XakFUcnNBNStISHk0eEFzaFJzeWNpMy80S1cvZ3Q1VjE4dG9UZkhp?= =?utf-8?B?SE9Pcnh4ZnhXb1dST3gxblZick9pMzQ2OUhYdFhUSllSRnduMURkc2dlcitP?= =?utf-8?B?dERmQVRGK3drL2hoNmovM0JORnJGL1E4QUp2T2NlTFgrSFNUZHM2dDFlc2ZU?= =?utf-8?B?VmZCL29Da2o2OUlxWkZYRERDMjVXZ1dzT0FoNVF4YjBJMmUxMXZhcjhiOUpl?= =?utf-8?B?WC9lY0pZdlNjUjNTRXQwdmIxQlRFeVRvaENXUGtNOGtvZU1YTm1ockNzYXgv?= =?utf-8?B?T292YXdJQzU0eUVlc0NwZ2RiejR2alpOcEpBZjNDVzJPdXcwaVVLOW42RmVq?= =?utf-8?B?Z3IzRTFiSklCSzkzQnJ4OG9VZVNoY1FCODRpMWQxT3BPM1VNUTg0YzZxZG9G?= =?utf-8?Q?GvdawtTZpVvfaVnb7rEX3lCtd?= 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: HN7i9CZdXOjhlBAnXFfD9g31LlDCscAmigy+v8BczOBXtJJZkpm5ge4Pet+6fvA5EgIIY5tRoE6eoHFou3/5n0D4zo1EI16jGEVW/Ecgs9FSGvjBD4M41VqJz+GBDyiblSqLc3Bm9K3NDEF+alsmEVmnBY1mY0qSh8kiGQpyFHhATLf/1vgWyXHP15jrS2kgQKGyw2zorj89KCbIylzwKY89KrtYPKi/EIU0M+G+l87XRVM93OUKZGGaIUlOB24/jhp1HTxEva23T5SUEfTYvXYpQuU7M4bzgQnl0pEluQ1zjazKB8/Gufk7P3YONk0l9Qk2mq4P2Ed0u5OFVvPnzw21bSop9NrMRV+TiuSmYxcL7nibQvK1NG5We9z6cKlEST/qlU4G9DJ6xOOlgk7DIS7uAfMxEWTc+LshfnCSuoKvHnO8P00HMCqJzBQA2ce+mJHQAu5pviHgS7vM+b1og29S3dnVFtsCyGmZ5AgsKQt84PKx1cZsD9wwQ2i4Xxk19JOWac0YI6t2Oscj/e0T4s80lULNukI2ePBZFFWZo7ARZUeSp3UxvQBZsMDgwSFh+89pK0ZdMXOk4N7ytfNnZhOgCZ6fnOJUyNEqSnZv5CX0Tst61zdqO6j547JqbcaX 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: 1551b550-27fd-4281-fe4d-08dcb457db51 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2024 07:34:21.4099 (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: klV/xrsSlclH2Up9/YqaERVOty57rmcuWhN+FuIcy9Eu0Grj9ru3U4pYDdIO5vTfkuEwRXoTo5Jh6Gzen/EVCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS0PR01MB5428 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpZGF5LCBKdWx5IDI2LCAyMDI0IDI6MjYgUE0gQW1pdCBLYXBpbGEgPGFtaXQua2FwaWxh MTZAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+IE9uIEZyaSwgSnVsIDI2LCAyMDI0IGF0IDk6Mzni gK9BTSBzaHZldGEgbWFsaWsgPHNodmV0YS5tYWxpa0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+DQo+ ID4gT24gVGh1LCBKdWwgMTEsIDIwMjQgYXQgNzo0N+KAr0FNIFpoaWppZSBIb3UgKEZ1aml0c3Up DQo+ID4gPGhvdXpqLmZuc3RAZnVqaXRzdS5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IE9uIFdl ZG5lc2RheSwgSnVseSAxMCwgMjAyNCA1OjM5IFBNIHNodmV0YSBtYWxpaw0KPiA8c2h2ZXRhLm1h bGlrQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4NCj4gPiA+ID4gMikNCj4gPiA+ID4g QW5vdGhlciBjYXNlIHdoaWNoIG1pZ2h0IGNvbmZ1c2UgdXNlcjoNCj4gPiA+ID4NCj4gPiA+ID4g Q1JFQVRFIFRBQkxFIHQxIChwayBpbnRlZ2VyIHByaW1hcnkga2V5LCB2YWwxIGludGVnZXIsIHZh bDINCj4gPiA+ID4gaW50ZWdlcik7DQo+ID4gPiA+DQo+ID4gPiA+IE9uIFBVQjogaW5zZXJ0IGlu dG8gdDEgdmFsdWVzKDEsMTAsMTApOyBpbnNlcnQgaW50byB0MQ0KPiA+ID4gPiB2YWx1ZXMoMiwy MCwyMCk7DQo+ID4gPiA+DQo+ID4gPiA+IE9uIFNVQjogdXBkYXRlIHQxIHNldCBwaz0zIHdoZXJl IHBrPTI7DQo+ID4gPiA+DQo+ID4gPiA+IERhdGEgb24gUFVCOiB7MSwxMCwxMH0sIHsyLDIwLDIw fQ0KPiA+ID4gPiBEYXRhIG9uIFNVQjogezEsMTAsMTB9LCB7MywyMCwyMH0NCj4gPiA+ID4NCj4g PiA+ID4gTm93IG9uIFBVQjogdXBkYXRlIHQxIHNldCB2YWwxPTIwMCB3aGVyZSB2YWwxPTIwOw0K PiA+ID4gPg0KPiA+ID4gPiBPbiBTdWIsIEkgZ2V0IHRoaXM6DQo+ID4gPiA+IDIwMjQtMDctMTAg MTQ6NDQ6MDAuMTYwIElTVCBbNjQ4Mjg3XSBMT0c6ICBjb25mbGljdCB1cGRhdGVfbWlzc2luZw0K PiA+ID4gPiBkZXRlY3RlZCBvbiByZWxhdGlvbiAicHVibGljLnQxIg0KPiA+ID4gPiAyMDI0LTA3 LTEwIDE0OjQ0OjAwLjE2MCBJU1QgWzY0ODI4N10gREVUQUlMOiAgRGlkIG5vdCBmaW5kIHRoZSBy b3cNCj4gPiA+ID4gdG8gYmUgdXBkYXRlZC4NCj4gPiA+ID4gMjAyNC0wNy0xMCAxNDo0NDowMC4x NjAgSVNUIFs2NDgyODddIENPTlRFWFQ6ICBwcm9jZXNzaW5nIHJlbW90ZQ0KPiA+ID4gPiBkYXRh IGZvciByZXBsaWNhdGlvbiBvcmlnaW4gInBnXzE2Mzg5IiBkdXJpbmcgbWVzc2FnZSB0eXBlDQo+ ID4gPiA+ICJVUERBVEUiIGZvciByZXBsaWNhdGlvbiB0YXJnZXQgcmVsYXRpb24gInB1YmxpYy50 MSIgaW4NCj4gPiA+ID4gdHJhbnNhY3Rpb24gNzYwLCBmaW5pc2hlZCBhdCAwLzE1NkQ2NTgNCj4g PiA+ID4NCj4gPiA+ID4gVG8gdXNlciwgaXQgY291bGQgYmUgcXVpdGUgY29uZnVzaW5nLCBhcyB2 YWwxPTIwIGV4aXN0cyBvbiBzdWIgYnV0DQo+ID4gPiA+IHN0aWxsIGhlIGdldHMgdXBkYXRlX21p c3NpbmcgY29uZmxpY3QgYW5kIHRoZSAnREVUQUlMJyBpcyBub3QNCj4gPiA+ID4gc3VmZmljaWVu dCB0byBnaXZlIHRoZSBjbGFyaXR5LiBJIHRoaW5rIG9uIEhFQUQgYXMgd2VsbCAoaGF2ZSBub3QN Cj4gPiA+ID4gdGVzdGVkKSwgd2Ugd2lsbCBnZXQgc2FtZSBiZWhhdmlvciBpLmUuIHVwZGF0ZSB3 aWxsIGJlIGlnbm9yZWQgYXMNCj4gPiA+ID4gd2UgbWFrZSBzZWFyY2ggYmFzZWQgb24gUkkgKHBr IGluIHRoaXMgY2FzZSkuIFNvIHdlIGFyZSBub3QNCj4gPiA+ID4gd29yc2VuaW5nIHRoZSBzaXR1 YXRpb24sIGJ1dCBub3cgc2luY2Ugd2UgYXJlIGRldGVjdGluZyBjb25mbGljdCwgaXMgaXQNCj4g cG9zc2libGUgdG8gZ2l2ZSBiZXR0ZXIgZGV0YWlscyBpbiAnREVUQUlMJyBzZWN0aW9uIGluZGlj YXRpbmcgd2hhdCBpcyBhY3R1YWxseQ0KPiBtaXNzaW5nPw0KPiA+ID4NCj4gPiA+IEkgdGhpbmsg SXQncyBkb2FibGUgdG8gcmVwb3J0IHRoZSByb3cgdmFsdWUgdGhhdCBjYW5ub3QgYmUgZm91bmQg aW4NCj4gPiA+IHRoZSBsb2NhbCByZWxhdGlvbiwgYnV0IHRoZSBjb25jZXJuIGlzIHRoZSBwb3Rl bnRpYWwgcmlzayBvZg0KPiA+ID4gZXhwb3Npbmcgc29tZSBzZW5zaXRpdmUgZGF0YSBpbiB0aGUg bG9nLiBUaGlzIG1heSBiZSBPSywgYXMgd2UgYXJlDQo+ID4gPiBhbHJlYWR5IHJlcG9ydGluZyB0 aGUga2V5IHZhbHVlIGZvciBjb25zdHJhaW50cyB2aW9sYXRpb24sIHNvIGlmDQo+ID4gPiBvdGhl cnMgYWxzbyBhZ3JlZSwgd2UgY2FuIGFkZCB0aGUgcm93IHZhbHVlIGluIHRoZSBERVRBSUwgYXMg d2VsbC4NCj4gPg0KPiA+IFRoaXMgaXMgc3RpbGwgYXdhaXRpbmcgc29tZSBmZWVkYmFjay4gSSBm ZWVsIGl0IHdpbGwgYmUgZ29vZCB0byBhZGQNCj4gPiBzb21lIHBrIHZhbHVlIGF0LWxlYXN0IGlu IERFVEFJTCBzZWN0aW9uLCBsaWtlIHdlIGFkZCBmb3Igb3RoZXINCj4gPiBjb25mbGljdCB0eXBl cy4NCj4gPg0KPiANCj4gSSBhZ3JlZSB0aGF0IGRpc3BsYXlpbmcgcGsgd2hlcmUgYXBwbGljYWJs ZSBzaG91bGQgYmUgb2theSBhcyB3ZSBkaXNwbGF5IGl0IGF0DQo+IG90aGVyIHBsYWNlcyBidXQg dGhlIHNhbWUgd29uJ3QgYmUgcG9zc2libGUgd2hlbiB3ZSBkbyBzZXF1ZW5jZSBzY2FuIHRvDQo+ IGZldGNoIHRoZSByZXF1aXJlZCB0dXBsZS4gU28sIHRoZSBtZXNzYWdlIHdpbGwgYmUgZGlmZmVy ZW50IGluIHRoYXQgY2FzZSwgcmlnaHQ/DQoNCkFmdGVyIHNvbWUgcmVzZWFyY2gsIEkgdGhpbmsg d2UgY2FuIHJlcG9ydCB0aGUga2V5IHZhbHVlcyBpbiBERVRBSUwgaWYgdGhlDQphcHBseSB3b3Jr ZXIgdXNlcyBhbnkgdW5pcXVlIGluZGV4ZXMgdG8gZmluZCB0aGUgdHVwbGUgdG8gdXBkYXRlL2Rl bGV0ZS4NCk90aGVyd2lzZSwgd2UgY2FuIHRyeSB0byBvdXRwdXQgYWxsIGNvbHVtbiB2YWx1ZXMg aW4gREVUQUlMIGlmIHRoZSBjdXJyZW50IHVzZXINCm9mIGFwcGx5IHdvcmtlciBoYXMgU0VMRUNU IGFjY2VzcyB0byB0aGVzZSBjb2x1bW5zLg0KDQpUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB3aGF0 IHdlIGRvIHdoZW4gcmVwb3J0aW5nIHRhYmxlIGNvbnN0cmFpbnQgdmlvbGF0aW9uDQooZS5nLiB3 aGVuIHZpb2xhdGluZyBhIGNoZWNrIGNvbnN0cmFpbnQsIGl0IGNvdWxkIG91dHB1dCBhbGwgdGhl IGNvbHVtbiB2YWx1ZQ0KaWYgdGhlIGN1cnJlbnQgaGFzIGFjY2VzcyB0byBhbGwgdGhlIGNvbHVt bik6DQoNCi0gRmlyc3QsIHVzZSBzdXBlciB1c2VyIHRvIGNyZWF0ZSBhIHRhYmxlLg0KQ1JFQVRF IFRBQkxFIHQxIChjMSBpbnQsIGMyIGludCwgYzMgaW50IGNoZWNrIChjMyA8IDUpKTsNCg0KLSAx KSB1c2luZyBzdXBlciB1c2VyIHRvIGluc2VydCBhIHJvdyB0aGF0IHZpb2xhdGVzIHRoZSBjb25z dHJhaW50LiBXZSBzaG91bGQNCnNlZSBhbGwgdGhlIGNvbHVtbiB2YWx1ZS4NCg0KSU5TRVJUIElO VE8gdDEoYzMpIFZBTFVFUyAoNik7DQoJRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAidDEi IHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInQxX2MzX2NoZWNrIg0KCURFVEFJTDogIEZhaWxp bmcgcm93IGNvbnRhaW5zIChudWxsLCBudWxsLCA2KS4NCg0KLSAyKSB1c2UgYSB1c2VyIHdpdGhv dXQgYWNjZXNzIHRvIGFsbCB0aGUgY29sdW1ucy4gV2UgY2FuIG9ubHkgc2VlIHRoZSBpbnNlcnRl ZCBjb2x1bW4gYW5kIA0KQ1JFQVRFIFVTRVIgcmVncmVzc19wcml2X3VzZXIyOw0KR1JBTlQgSU5T RVJUIChjMSwgYzIsIGMzKSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjI7DQoNClNFVCBTRVNT SU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIyOw0KSU5TRVJUIElOVE8gdDEgKGMz KSBWQUxVRVMgKDYpOw0KDQoJRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAidDEiIHZpb2xh dGVzIGNoZWNrIGNvbnN0cmFpbnQgInQxX2MzX2NoZWNrIg0KCURFVEFJTDogIEZhaWxpbmcgcm93 IGNvbnRhaW5zIChjMykgPSAoNikuDQoNClRvIGFjaGlldmUgdGhpcywgSSB0aGluayB3ZSBjYW4g ZXhwb3NlIHRoZSBFeGVjQnVpbGRTbG90VmFsdWVEZXNjcmlwdGlvbg0KZnVuY3Rpb24gYW5kIHVz ZSBpdCBpbiBjb25mbGljdCByZXBvcnRpbmcuIFdoYXQgZG8geW91IHRoaW5rID8NCg0KQmVzdCBS ZWdhcmRzLA0KSG91IHpqDQo=