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 1pS8ra-000575-Gx for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Feb 2023 03:53:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pS8rZ-0005d9-33 for pgsql-hackers@arkaria.postgresql.org; Wed, 15 Feb 2023 03:53:45 +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 1pS8rY-0005d0-MU for pgsql-hackers@lists.postgresql.org; Wed, 15 Feb 2023 03:53:44 +0000 Received: from esa6.fujitsucc.c3s2.iphmx.com ([68.232.159.83]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pS8rU-0007Gv-8E for pgsql-hackers@lists.postgresql.org; Wed, 15 Feb 2023 03:53:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1676433220; x=1707969220; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=B5vV3RnkvYfZjseEmuRPhDBfTeSdzaB4RTnqwwKdiDw=; b=OWBjREEZLGAXMy50bJki+FlRtydxLDDAjReWrVd7iZUNSO/CLRXnNUlS nQKmdW/XCLA22oMYAR9MUPbYyk4y4XFhaFKuLpm5bgtdagvIPsnv5ONiC Z7Wc2TKBR3BcNUZlKUANX7z7+dQ2DoRyW/CFabtS2WTy68ijM+949Pl+5 ME+QXJMCD88nYPGcugd3VAvCXLlCnYXYll2+Lawc+lJMcCl43pwhqFwyJ +++U/o2sXqgUF1qtUgIxce3O1a4luNzUaGI0rutX/E5+0bvOA31rg3RYH Op6kPtMtfHSJ4KXKJeYMYclK4PzGh3kQAWCT9m8j6a2cSjWtVVkBnpibq Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="77046227" X-IronPort-AV: E=Sophos;i="5.97,298,1669042800"; d="scan'208";a="77046227" Received: from mail-tyzapc01lp2047.outbound.protection.outlook.com (HELO APC01-TYZ-obe.outbound.protection.outlook.com) ([104.47.110.47]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 12:53:37 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KUrRGXML5tgwgB9Zo5QWrcIomf94gwUL55oZa7aodOwujSmpClJgt2h/s1iaDCY+t98VDVNyxCHBPlnlh7/HEwXeAMPAUmFqix933A+1i0hHq7AGZaq5J1H7J2Si+1R6kd2bJNZTF6xGfm9L37uA+chzSVUQY/j1p8/MoyNXjm4Vzpq46MWh4MpfFH0AJ1Sdxb3e41A+pMf40ITDe6bSDkU6H6Ov2BXT4AEFIyF1ZOoKAiEajvmsAPkc6n/iIYb1MCefu+X9wW6yRg0wYz4xDq3ZjoLHMfMbfhvf3w2hMErSZe5/q30f5wVcD4mpljTkwgXd54qcZfIOXF0/AgZMvQ== 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=B5vV3RnkvYfZjseEmuRPhDBfTeSdzaB4RTnqwwKdiDw=; b=AD+rLvRJwCCeY4unK/QwMOjcWNHhScKuyThMFfvSjo9Vgbb3tiNy3/lMuxN7pBakk5M2rV42et4N25Vp34W4A74EvpM7CAEW4TBliDk1OLQX6s7rA8Ti5bXypivdDIh1CxYP6zA8nYwO57z1L+umPk6yfpv9Tb5uXGThen3RIT46doSWXJa4kf0M3AcWbqhOE1358Wotrlwn87Su+62Jueu2nvHFbxqcwEzCpw6QP5DOemeU45O4AEhe9r51um47aEOOtA5WnalwXTkud1TqtOXnlgyal/ITj4vPAjy/cPEseYq9LEHUt784YUW4Zc3sZbJ22JqnoYIZq9MRQc3M3Q== 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 OSZPR01MB6310.jpnprd01.prod.outlook.com (2603:1096:604:f7::9) by TY3PR01MB9715.jpnprd01.prod.outlook.com (2603:1096:400:22a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.26; Wed, 15 Feb 2023 03:53:34 +0000 Received: from OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::dd83:55c2:b961:f53d]) by OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::dd83:55c2:b961:f53d%3]) with mapi id 15.20.6086.026; Wed, 15 Feb 2023 03:53:34 +0000 From: "shiy.fnst@fujitsu.com" To: Amit Kapila , =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= CC: Marco Slot , Tom Lane , Andres Freund , "wangw.fnst@fujitsu.com" , PostgreSQL Hackers Subject: RE: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Topic: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Index: AQHYlfR7hf0+d/C4EkWQSOVngV415q2Ds22AgAGwZACAAVjRgIAAp0wAgAFDuYCAAfjlAIAVnJQAgAUWeQCAByaZAIALYnOAgAQe1+CAAPJNAIBQzYTQgADl8QCABa1vgIAAnAmAgAJCyOCAAjPXgIAhRLMAgCd0kQCACRS1gIApNn4AgAM5QoCAAAlUAIAQwyqAgAsHsICABLrhgIAEaA8AgANUUgCAEMtDgA== Date: Wed, 15 Feb 2023 03:53:34 +0000 Message-ID: References: <20221206184756.2fdpd4epvyftutoe@awork3.anarazel.de> <3466340.1673117404@sss.pgh.pa.us> <20230109200347.ps43ri7llrxusgu5@awork3.anarazel.de> <4184492.1673296630@sss.pgh.pa.us> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZjAyM2YxOTQtNjMxNC00NDM3LWFhNzctZDFmODBhYmM4?= =?utf-8?B?OTE3O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMy0wMi0xNVQwMzo1MTo0OVo7TVNJUF9MYWJl?= =?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: OSZPR01MB6310:EE_|TY3PR01MB9715:EE_ x-ms-office365-filtering-correlation-id: 6a2db0fe-300c-4aad-66b6-08db0f0835e7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y61Xis+orgPNEB5vyGEFCZbYurmkLvPFVOoseSE+dW4vxkLHKTiKelCDyF8LX86/zfapcm+JV1j0DuuC23SlFjj5U5obvnqZdkXG8otBV3gV3d1p86uZa2zkxcIT8+r3WbsJJ+moEDv1CmQ4EepSVvi/41/vro5PW5kk4CG2PlyZpB3iiz2jOPZ6+zNkIYukblhNatJ9OaTibFoXpfb+CSTz/s4W3kyIJMMRNp6OCJePBPtlDfTbIP5F4ujYaBZgzNYrzb5I7IgdyUiIcaxgCYL6dpnrr+DIIBogLZT6ipz7ZBAbuW0YzLc1vfOPa3bAwvY4xxB2zKYbKYtgL3pksWMKI6sSllfKXBunvHzq9ePbk+xcBpJDUjGjOtka/rK4s1mNutgPd0wzWyaPjkb0PyDXRhUDP8DUUAExmSFxohqfN5GDH2wO7edEZLU+6GuN8NIwDblLVkY35ENqwdq2ZK6t0obWzSg8+VpQK55wmwbNiNApwRwUAVTO7hEmrdlrhWGswKjylpOQqW1BTdoXLU3IZ8XyNbuYlhS9tDJC8enynVJOYpICYkkkxPRrxZWRRRbRCSTfn9iIdeGTLsoNrDZ1CstI5HkNSLRgfg2lDjsyx5OhTpuNXQqlNWL4h3lXkoHeGihAhhuqfWUthRv25FrmGWiJ7bar3UUtjjNMhmJsZmZWXXvV9ubZLTRoFCPrizJSHIuifIuzINB65SdNmwFfFgIk1g+kQWTC/B9y8a0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSZPR01MB6310.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(39860400002)(376002)(366004)(346002)(1590799015)(451199018)(76116006)(66946007)(8936002)(4326008)(66476007)(52536014)(5660300002)(64756008)(54906003)(110136005)(66556008)(66446008)(2906002)(41300700001)(1580799012)(8676002)(316002)(7696005)(478600001)(55016003)(71200400001)(6506007)(9686003)(186003)(85182001)(26005)(53546011)(83380400001)(66574015)(38100700002)(33656002)(122000001)(38070700005)(82960400001)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TFRyS0EyV3ZpeFFqZ1Z3NHdDMm9adlg3WUpsNGk2S1p4WDU3WVlROTVrb0x1?= =?utf-8?B?djNtWWdIOTFRWWpSNUZBK1dHYjY5VDIvTDFNZ2dTdjZub20vMUczdWdzbmdB?= =?utf-8?B?b2FjbjZFdU1qNGl6T3dtbkRrbFJJekZ2QTZtNlBPOXN2WTNnbjJWQjVxUFBM?= =?utf-8?B?bVc2V3FLOTB0bHN2c2FTeXJnRXhzWWhsNEFxejdqZVlqMklPN2doYU0wdkx2?= =?utf-8?B?d0s1aWxPaytZSVlhNW11bHYwL2N1eThoSFdEcFUwUWVpeS9xcmpvVWVKM1dq?= =?utf-8?B?R3dLTkdpMzlaTnlld2ZDUHlXWUl4MEVCeVJIY3hqWVE4b2pWK3piMllNZ0l4?= =?utf-8?B?WjhDV3JHOW5LWjRpblV6VlJXcHEyNnVqaVQ0SWV5QTdkZHlGcWdVZm5uNGNV?= =?utf-8?B?blM3b0xmTjNURFltSi9jeEUzYVhoM0F3RDQ4MmhNWGJVc1FNdWM1YWVGZUhJ?= =?utf-8?B?dCsyeGR6aDdBUjlkbGJsSkR6bUhpdUo2RkVzbExCRExoZzdQNzZ2bE5pSk9W?= =?utf-8?B?b1d6Z1dxcXpnVTdiOWVOYlQxeHBwWUk2K0JudXV1VzRnMjdSSEQycEJjK0Vu?= =?utf-8?B?aWNaelY2RHJGa3ArYTJLUTV5M2FPLzlseDhvKzJkWnMrSkJZMTVCRExpZTRn?= =?utf-8?B?TVVhcXFqUi9XTmZSblJONlExMnAzS0VKZy9xSGd0d2RTNVhLbzRTOVgrdVMw?= =?utf-8?B?YnJHdGI3dExUYU5HSmFZUjJ2bnJiL0lWWGt6ajdPL1dTcVovQzZHUUpxeWR4?= =?utf-8?B?dXltSVdyQllSQm03TENtdTFFWGJVMC8rVWNEZkFIbFNrclg5ZTJ2MzhvUHY2?= =?utf-8?B?WW5waU93YitZTzAwaGtMTi9rOGFzRUJyTHpXWlVWMGU1YTZIT2pHZ0c5OExV?= =?utf-8?B?Q2ZsSXB1eTkrY1AyMkw0M2oySURNL2hnbEMzNkM0TzNVZGprWVN0VjNneS9p?= =?utf-8?B?blcvTUZtblZDTW43M2h6dElzVWEvR3JreHBIRTFYc2tGdDh1djFPaFYwc2kr?= =?utf-8?B?bEd0ZFRNYjRRZG5TVUNTL1VsRFFZd3A0dGU1anRZM0pFVTM5Wnh0bHlMTndC?= =?utf-8?B?TExDbEFta29VTWtmc0owNDloY2RnOWpERzlGT3B0WWhUenVISmt0WEhqU2Zz?= =?utf-8?B?Q1o4N2NwVkFCUXd1cUx1Wm5nZU56L0xWZGsxY0FOcjFZOVhnY2Y1Q3d3aHQz?= =?utf-8?B?Z3FZZ3ZPVTN1YXZuOERwYU0vNFBvVE0vT1J3OGZFK2dEQ0FsMzVJMkpvQy9s?= =?utf-8?B?MksvenV5aGh1MnF5K3IzSlBpUnZxRytyNVpYblNudXJCRnBTMVA0cWwza3Bn?= =?utf-8?B?QitSS0xWaFZqd0x1a1l1cGs3bldxZThXVVMxbG5rZ2xJcS96cGU3SGF5OWdF?= =?utf-8?B?VnJySm5qbnFDai96ZWVSRUxuUVE4M2dLRlZQSHdYSys1ajZEVWcwQytQUHR2?= =?utf-8?B?RkdON0NDZXdvQUpqdG1IdXJEWW85bDBlbnJ5VG5LWWx4V2xVSTBGK2xzVzFh?= =?utf-8?B?Q3l4OUJlTHpTRFc3NXA4bnNMdFhkaUpiK0lQYnNBM1hYV2hHeDdrdnBNTUFy?= =?utf-8?B?aThsNmVjYTMrYURQUWdJTHF3TENjZkR5ME9mUGdIanRzTm9TNDZtVHRuRnpw?= =?utf-8?B?ME1heGE2UmFhVURQWjdscWZydjMvcUJwMklJWkxRUnMxTXVOOEZoS3FWUWNQ?= =?utf-8?B?S2FJdysxUGQza3A5Z1phbFBLMkVrb1U5cytWeE5DeVlHai9YY0xUSGxrYVhr?= =?utf-8?B?T2xVUlF3TnZPNWJyUjA2cjBhZERZaWdiZUp5cytlMmkzenVNdWxwWmI3UzVa?= =?utf-8?B?MzZsVWhoUkR0bnhubUgreGNSbXg5YUpZcVhzam9IQ010ME50Y3VhcHZvSjVZ?= =?utf-8?B?L3pBdXorekhuZndBa20xL0hOZzN1SzJMTi9EZDFjKzR0NzBDNXJLS1cra3gx?= =?utf-8?B?cFZONFBnMlRneE5SaVZ5MEVJbS9KRXpMSDhCSjVYNVhKam9CWVRjZ2h1bmNQ?= =?utf-8?B?TkhnNjczUnBOWk83VEUzeEdBR3VxV09vQWx3cFN4bzJZRktyR0kyZHJTMFpV?= =?utf-8?B?UWVCVGdnR0Z4eUFDeWJ6d1R0SGgrVzhVUXZVRXNKdCsvTks5SHpSRFBzaXF4?= =?utf-8?Q?SZvVM5RFl64pajfwxCAysU8XQ?= 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: kF4Kpvk2pc+wSyPuHPgsUL/FMwhRTTRLXQbv9RwtvuJgUU4Fm+varqLEZcDE8LmTPnjjhcUI/NbfyJ31i1gPB1TX757v3lqkdf9skaIXApG3sSkPojfwYCuGeZNlk7f72CgD3OPOcPvklJXi3ka2vXzrI49g5G8Rqea8Xa9kr0XZxlbCPyKWwnprQxzVgeYpe+PeCcu0gpj0GgQd3e/c1B292qZwj1IQdsXmJpoXKCfK6CrP/W+92IM1n1XC5h7TtzLeJ6H60gTU9HsUY3X1owbMXPY+iaF0Nbi3G/nBw6nzniPbtVi45/Zdjtlbu3WevbHOk4QPUYBBegzfCeZQPCOozk7H0pCaXmqU85IWvcd8DU7K5ChxGCTwR629a0n1ilEnIa3N3O2g+6vhG3gVHSykz3hSQ/8VIlQ+DASliuifhoYEXr7lbP1VaFZ5zv74EVRZfkDnDH3kktIUZRuqPdCXWh7K+OxCqhnygyCBuXZHwEkRdTmklIakcS479jHzpL/eKt9gvavQd1bxAiCS7atGrJsJOJCUvzcM4u9s+hUSezMCR0oUFFLLHEazEpsrpi25oEL6yPddhdRLDDXQ6CJOA76Ne1/O9C9iGLSQApSBds2TyAx/5JyQyyhD7DtnqUxFg/UbXalhCKGL6bDiWGUwpkTPzopYO4FIVb5LYjEcIg0aUaF9UFNGexoFC0filX8+cdQDU/jaKQKt/lui03hecr1vfRBlTDFFk2/ky096f7+dgqLB0encEFSIYLrDO+wRiFDqN0ZeW/v9hc/baL2l/XoZy0+UbrfG/HiTDHSWXL64dArneBZcho/3mASLwCuVWHRNE6X0zH0akKvmENL9xWAT/CQf/QfLpbrxp/kiCZ6XBehgqD3yAdeKVf0A X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OSZPR01MB6310.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a2db0fe-300c-4aad-66b6-08db0f0835e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Feb 2023 03:53:34.0944 (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: zlORh/y/P7tQLxZz+QBJ7QFvUZvmolwidW23VF6sV3pcLxfq7kBZNeqbExKS8p3okgh5ZPNUYcqzBUtJJMateg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY3PR01MB9715 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gU2F0LCBGZWIgNCwgMjAyMyA3OjI0IFBNIEFtaXQgS2FwaWxhIDxhbWl0LmthcGlsYTE2QGdt YWlsLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIEZlYiAyLCAyMDIzIGF0IDI6MDMgUE0gw5Zu ZGVyIEthbGFjxLEgPG9uZGVya2FsYWNpQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPj4NCj4g Pj4gYW5kIGlmIHRoZXJlJ3MgbW9yZQ0KPiA+PiB0aGFuIG9uZSBjYW5kaWRhdGUgaW5kZXggcGlj ayBhbnkgb25lLiBBZGRpdGlvbmFsbHksIHdlIGNhbiBhbGxvdw0KPiA+PiBkaXNhYmxpbmcgdGhl IHVzZSBvZiBhbiBpbmRleCBzY2FuIGZvciB0aGlzIHBhcnRpY3VsYXIgY2FzZS4gSWYgd2UgYXJl DQo+ID4+IHRvbyB3b3JyaWVkIGFib3V0IEFQSSBjaGFuZ2UgZm9yIGFsbG93aW5nIHVzZXJzIHRv IHNwZWNpZnkgdGhlIGluZGV4DQo+ID4+IHRoZW4gd2UgY2FuIGRvIHRoYXQgbGF0ZXIgb3IgYXMg YSBzZXBhcmF0ZSBwYXRjaC4NCj4gPj4NCj4gPg0KPiA+IE9uIHYyMywgSSBkcm9wcGVkIHRoZSBw bGFubmVyIHN1cHBvcnQgZm9yIHBpY2tpbmcgdGhlIGluZGV4LiBJbnN0ZWFkLCBpdCBzaW1wbHkN Cj4gPiBpdGVyYXRlcyBvdmVyIHRoZSBpbmRleGVzIGFuZCBwaWNrcyB0aGUgZmlyc3Qgb25lIHRo YXQgaXMgc3VpdGFibGUuDQo+ID4NCj4gPiBJJ20gY3VycmVudGx5IHRoaW5raW5nIG9uIGhvdyB0 byBlbmFibGUgdXNlcnMgdG8gb3ZlcnJpZGUgdGhpcyBkZWNpc2lvbi4NCj4gPiBPbmUgb3B0aW9u IEknbSBsZWFuaW5nIHRvd2FyZHMgaXMgdG8gYWRkIGEgc3ludGF4IGxpa2UgdGhlIGZvbGxvd2lu ZzoNCj4gPg0KPiA+IEFMVEVSIFNVQlNDUklQVElPTiAuLiBBTFRFUiBUQUJMRSAuLi4gU0VUIElO REVYIC4uLg0KPiA+DQo+ID4gVGhvdWdoLCB0aGF0IHNob3VsZCBwcm9iYWJseSBiZSBhIHNlcGVy YXRlIHBhdGNoLiBJJ20gZ29pbmcgdG8gd29yaw0KPiA+IG9uIHRoYXQsIGJ1dCBzdGlsbCB3YW50 ZWQgdG8gc2hhcmUgdjIzIGdpdmVuIHBpY2tpbmcgdGhlIGluZGV4IHNvdW5kcw0KPiA+IGNvbXBs ZW1lbnRhcnksIG5vdCBzdHJpY3RseSByZXF1aXJlZCBhdCB0aGlzIHBvaW50Lg0KPiA+DQo+IA0K PiBJIGFncmVlIHRoYXQgaXQgY291bGQgYmUgYSBzZXBhcmF0ZSBwYXRjaC4gSG93ZXZlciwgZG8g eW91IHRoaW5rIHdlDQo+IG5lZWQgc29tZSB3YXkgdG8gZGlzYWJsZSBwaWNraW5nIHRoZSBpbmRl eCBzY2FuPyBUaGlzIGlzIHRvIGF2b2lkDQo+IGNhc2VzIHdoZXJlIHNlcXVlbmNlIHNjYW4gY291 bGQgYmUgYmV0dGVyIG9yIGRvIHdlIHRoaW5rIHRoZXJlIHdvbid0DQo+IGV4aXN0IHN1Y2ggYSBj YXNlPw0KPiANCg0KSSB0aGluayBzdWNoIGEgY2FzZSBleGlzdHMuIEkgdHJpZWQgdGhlIGZvbGxv d2luZyBjYXNlcyBiYXNlZCBvbiB2MjMgcGF0Y2guDQoNCiMgU3RlcCAxLg0KQ3JlYXRlIHB1Ymxp Y2F0aW9uLCBzdWJzY3JpcHRpb24gYW5kIHRhYmxlcy4NCi0tIG9uIHB1Ymxpc2hlcg0KY3JlYXRl IHRhYmxlIHRibCAoYSBpbnQpOw0KYWx0ZXIgdGFibGUgdGJsIHJlcGxpY2EgaWRlbnRpdHkgZnVs bDsNCmNyZWF0ZSBwdWJsaWNhdGlvbiBwdWIgZm9yIHRhYmxlIHRibDsNCg0KLS0gb24gc3Vic2Ny aWJlcg0KY3JlYXRlIHRhYmxlIHRibCAoYSBpbnQpOw0KY3JlYXRlIGluZGV4IGlkeF9hIG9uIHRi bChhKTsNCmNyZWF0ZSBzdWJzY3JpcHRpb24gc3ViIGNvbm5lY3Rpb24gJ2RibmFtZT1wb3N0Z3Jl cyBwb3J0PTU0MzInIHB1YmxpY2F0aW9uIHB1YjsNCg0KIyBTdGVwIDIuDQpTZXR1cCBzeW5jaHJv bm91cyByZXBsaWNhdGlvbi4NCg0KIyBTdGVwIDMuDQpFeGVjdXRlIFNRTCBxdWVyeSBvbiBwdWJs aXNoZXIuDQoNCi0tIGNhc2UgMSAoQWxsIHZhbHVlcyBhcmUgZHVwbGljYXRlZCkNCnRydW5jYXRl IHRibDsNCmluc2VydCBpbnRvIHRibCBzZWxlY3QgMSBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDEw MDAwKWk7DQp1cGRhdGUgdGJsIHNldCBhPWErMTsNCg0KLS0gY2FzZSAyDQp0cnVuY2F0ZSB0Ymw7 DQppbnNlcnQgaW50byB0Ymwgc2VsZWN0IGklMyBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDEwMDAw KWk7DQp1cGRhdGUgdGJsIHNldCBhPWErMTsNCg0KLS0gY2FzZSAzDQp0cnVuY2F0ZSB0Ymw7DQpp bnNlcnQgaW50byB0Ymwgc2VsZWN0IGklNSBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDEwMDAwKWk7 DQp1cGRhdGUgdGJsIHNldCBhPWErMTsNCg0KLS0gY2FzZSA0DQp0cnVuY2F0ZSB0Ymw7DQppbnNl cnQgaW50byB0Ymwgc2VsZWN0IGklMTAgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMCwxMDAwMClpOw0K dXBkYXRlIHRibCBzZXQgYT1hKzE7DQoNCi0tIGNhc2UgNQ0KdHJ1bmNhdGUgdGJsOw0KaW5zZXJ0 IGludG8gdGJsIHNlbGVjdCBpJTEwMCBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDEwMDAwKWk7DQp1 cGRhdGUgdGJsIHNldCBhPWErMTsNCg0KLS0gY2FzZSA2DQp0cnVuY2F0ZSB0Ymw7DQppbnNlcnQg aW50byB0Ymwgc2VsZWN0IGklMTAwMCBmcm9tIGdlbmVyYXRlX3NlcmllcygwLDEwMDAwKWk7DQp1 cGRhdGUgdGJsIHNldCBhPWErMTsNCg0KLS0gY2FzZSA3IChObyBkdXBsaWNhdGUgdmFsdWUpDQp0 cnVuY2F0ZSB0Ymw7DQppbnNlcnQgaW50byB0Ymwgc2VsZWN0IGkgZnJvbSBnZW5lcmF0ZV9zZXJp ZXMoMCwxMDAwMClpOw0KdXBkYXRlIHRibCBzZXQgYT1hKzE7DQoNCiMgUmVzdWx0DQpUaGUgdGlt ZSBleGVjdXRpbmcgdXBkYXRlICh0aGUgYXZlcmFnZSBvZiAzIHJ1bnMgaXMgdGFrZW4sIHRoZSB1 bml0IGlzDQptaWxsaXNlY29uZHMpOg0KDQorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSsN CnwgICAgICAgIHwgcGF0Y2hlZCB8ICBtYXN0ZXIgfA0KKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0rDQp8IGNhc2UgMSB8IDM5MzMuNjggfCAxMjk4LjMyIHwNCnwgY2FzZSAyIHwgMTgwMy40 NiB8IDEyOTQuNDIgfA0KfCBjYXNlIDMgfCAxMzgwLjgyIHwgMTI5OS45MCB8DQp8IGNhc2UgNCB8 IDEwNDIuNjAgfCAxMzAwLjIwIHwNCnwgY2FzZSA1IHwgIDY5MS42OSB8IDEyOTcuNTEgfA0KfCBj YXNlIDYgfCAgNTc4LjUwIHwgMTMwMC42OSB8DQp8IGNhc2UgNyB8ICA1NjYuNDUgfCAxMzAyLjE3 IHwNCistLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKw0KDQpJbiBjYXNlIDF+MywgdGhlcmUn cyBhbiBvdmVyaGVhZCBhZnRlciBhcHBseWluZyB0aGUgcGF0Y2guIEluIG90aGVyIGNhc2VzLCB0 aGUNCnBhdGNoIGltcHJvdmVkIHRoZSBwZXJmb3JtYW5jZS4gQXMgbW9yZSBkdXBsaWNhdGUgdmFs dWVzLCB0aGUgZ3JlYXRlciB0aGUNCm92ZXJoZWFkIGFmdGVyIGFwcGx5aW5nIHRoZSBwYXRjaC4N Cg0KUmVnYXJkcywNClNoaSBZdQ0KDQo=