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 1pRrjP-0001hT-2a for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Feb 2023 09:36:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pRrjN-00046v-PE for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Feb 2023 09:36:09 +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 1pRrjN-00046l-BM for pgsql-hackers@lists.postgresql.org; Tue, 14 Feb 2023 09:36:09 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pRrjJ-0005hE-Ka for pgsql-hackers@lists.postgresql.org; Tue, 14 Feb 2023 09:36:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1676367365; x=1707903365; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hnbgLXQ1lD73dIwIcGC8xmvNeiN5N3zrZoeMbHZ3mqU=; b=h0LC/SxRiVD9JrrMwxX08G8h/OEtFuvJbOgP6eeBHtuF8Xi4r6hQnYjm TJIX60aUDv/AEui8DJTYpUxRaPc3D7S3qmfu4NquQ6VFCWlv7chqhuR19 l2YIcuJ6FtRnrcXXED9N6InuP3HaQMO9V3Enw9FKnivfQhRcBG603dX6r 4tzQmhrWf4wK2a9Jo7sVbSddWQ1KaPkWgQsXiUK9X6iI3uLWwDjMSrTnW y96REem1hQE8DiXZF+BjnXGqzZLYtJnIzvEnzBdj3R4Irnr6Hc8zRQSZp 4hVDz+r9YtZS45ws/gY9LDP1jRzYPe9SMg3awWEmBCqV+Sp08F9XKjV0d A==; X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="85152986" X-IronPort-AV: E=Sophos;i="5.97,296,1669042800"; d="scan'208";a="85152986" Received: from mail-psaapc01lp2041.outbound.protection.outlook.com (HELO APC01-PSA-obe.outbound.protection.outlook.com) ([104.47.26.41]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Feb 2023 18:36:02 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eSHgfUf15yT2DJftxcpIM4k/dVO/+pn9tt+aC3inA6ypaMscW3dko508qaK0eaev7ROqyXvGDXSkOv5J0mTbYCwjgsRGolxitxVk5LaLm06IJv+2ivIra9hGXJ3aWZIN2ny16gwqKEM8EIXm0NjvDTHnLcx+pArSjobVylMf+NRjkpule3fdPEWzGsz1x0J3CsWR++KlOIEcDfJ9c/G9+arv13tHuL8qWHwacDHGPFO1SwTsRnvpdZxcc+qfRzqffI70gVjghwhafNdXybd4aT8UDLAT/M7Xpf0EsbpYb+qjoXgSFy9bue3ZO1rsDhlHRrWBweDaJc8FQDGsvGsnNw== 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=hnbgLXQ1lD73dIwIcGC8xmvNeiN5N3zrZoeMbHZ3mqU=; b=QAVLEBLq04ZzWfd++h8hRC3H0ls6SJMwDFltVItqfqmf/BSZkWxTGD8LYYUfmWGYlc39RpTkPIGJNBTpWnsIyhxlRXKEiq2cCgX7GNgPdY6Y+PSiHrVu4WxERy/Kt/FhOI1llb9kFP1tfTZaMsHc9wT8k3UojZ1zxXsl/eJ3kQsr3VXxLU5tkULXy4VyBbIL1s/G8VB4t9VG5Sx/vxLblS6VfVMU50NdSCmiLUjNgB/lbUflGmadCiQnRWzIFzI27SYPZLrJgvNkikSvzP096+HGqev5Lh6kwRRa3THEXAjdgeY6ekY7L4dGeEP39QKzzMeBLm8/d0WSF3a/BP98/Q== 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 OS0PR01MB5556.jpnprd01.prod.outlook.com (2603:1096:604:a1::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.24; Tue, 14 Feb 2023 09:35:59 +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.024; Tue, 14 Feb 2023 09:35:59 +0000 From: "shiy.fnst@fujitsu.com" To: "shiy.fnst@fujitsu.com" , =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= , Amit Kapila 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+CAAPJNAIBQzYTQgADl8QCABa1vgIAAnAmAgAJCyOCAAjPXgIAhRLMAgCd0kQCACRS1gIApNn4AgAM5QoCAAAlUAIAQwyqAgAsHsICABLrhgIAEaA8AgBFyYKCAAXaO4A== Date: Tue, 14 Feb 2023 09:35:58 +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?NTBfQWN0aW9uSWQ9NjU2MTBiYzktZGE1My00YTgxLTg0ZWQtZjYwZDQ2YTJj?= =?utf-8?B?M2Y2O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMy0wMi0xM1QxMDo1OToyMlo7TVNJUF9MYWJl?= =?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_|OS0PR01MB5556:EE_ x-ms-office365-filtering-correlation-id: 0c74e1b8-d5e1-4f6b-13db-08db0e6ee12f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wH992zNNymAQ2/79Y8Hs0JXaWubALzImkkJ8+PLRAY64Xa0dH1+p1KIvT421HctJ5TEA5NzzRPyDmIbnwN+MLQQv3xsEPZrvPLFvrkc6vBi4RbXShIfRDqsOK7FSyfecWrWnmHwoqjgBXiILedJu3+8eQzTn3KnSPB4I7FrNf1ohQFzQJJDGQK9cqgZP3/BsCBFpphEoCctIQTOUTKALIQnoeCm+j19R/rTW0y9Z2kFMYk3fepBoim8djMSJ3OogAJDoG2ElEJXGcHtRly2DDWK4CHiN2QfXTiz8GWjmI3UdpibNTMPAxQuEdvh1fefm48CC0yVp27HbxeOX1xBmY4QNC/IWmDf70dwvbGW9gHnwOaoelF7vFtPa4XKPuLHHaIcTc6WeT2XFidagH/J4M/CEGpNd9Up7lu9FsfAsrIbRvrqi64OrGSnwDCTP0a/SLT87SAzrdZ/j7TDQOIDkOrnq3QYB90Zom4kxX+oyAX3CaSy/Ftm80ZXkKP6b1/mngEptQ69PWd9EOt6CTkk5a8EYLqyT48PjMCI9NO972jzxKrOHHkv3Si1XxkNbAw0RlFTXfbx26BUWRb9XWZfbwh88YH1PdYLWnhYj4xUw2ls6fv/ayNAC/itVjOqPQEGJalb+nvjOFxhI754CbQhO4RWXczB0mbsNCfSxeAptBB1PnezuYiWgwkedbpoxIO6qEkvWGQmZ1WErUCyINOg4jb8vZs4wphYzswJEKO+wxvs= 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)(39860400002)(396003)(376002)(366004)(136003)(346002)(1590799015)(451199018)(1580799012)(85182001)(54906003)(110136005)(316002)(4326008)(64756008)(52536014)(76116006)(66476007)(66446008)(66556008)(41300700001)(122000001)(66946007)(8676002)(38070700005)(38100700002)(82960400001)(55016003)(33656002)(86362001)(53546011)(7696005)(186003)(26005)(6506007)(9686003)(71200400001)(5660300002)(8936002)(2906002)(478600001)(66574015)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ajBFUXlHdjU3S1RiY2pBeHhNbUJkQk8xeEZWdEdYMHZ0Vi9BRjNkMWdhSDU3?= =?utf-8?B?M0Npb2F4WXJVK21vOUt3M0xLZ0x3dENqOUJKZGpjL0tsUXdscjlyekVlRE1l?= =?utf-8?B?MG41Sk1US2ZrOUc4R2tUQUV3QXJXaHNvVkdGSDhZVlIva3JZaTIxNHBHNU5P?= =?utf-8?B?alYrcFIxOGRFV2lrck53ODZjTXZIWGV1bGRXTU82MitrUEJqR3FkOG5FYXdq?= =?utf-8?B?aDhQdlBjUGd4RGlJZ1ZQTVc3QjZmM2xhUitjRmVHK0szN3I2d0k1T0d4L25G?= =?utf-8?B?Wjh3WDYyRmxPZUpuMHpBK1VNRTBaYjJnb2N4TTN0UGp1Z3kxRUFYN0JUVDZa?= =?utf-8?B?K3dqNDhrS2xOaHUrZE1PY0dFVVBxbHV3KzNGWTA1MnY4UUVaeFRUalBEZjJ0?= =?utf-8?B?bWtlOVVnam1ZaVUzdi92TURpcmd0a1JXczBwTFFSdExYbUZwRGJzajFDL2dL?= =?utf-8?B?UmJ3RkhrVUFsbE1ic2RNdms3TTB3ZnM3aWY4Q1M1OVIyT3gvVW1SbkhOek5B?= =?utf-8?B?QkluemtFeXJYem1KRE5EckJ4SkVKcnZmM1NpQ3FIQ01odDdvVUNyME9jUy9i?= =?utf-8?B?V01pNFBYYlR0aGZZclMzT2xtOWZkbThaRUtCR2dMVTFwNHZPU2Y0ZTJuYVVn?= =?utf-8?B?Rk1waExvSDlIUWFEQ3FkeEpSM0pFUkczNG5DbWFFZ2xYSE1PeVFUWVRrV2dJ?= =?utf-8?B?QWJlZzBRNzhqNnA3N0hrMkZYanZuODRwZXBEWVF1c2dLa25LVHNxOGs5aFUz?= =?utf-8?B?ZU9tbUw4MFpUT3NCdUsyVGtoNE1PcEpiS3R5Y0VteXdjU1YybThmQzBRc0E3?= =?utf-8?B?dkNrSjM5bGZYQnVSUE1BakRHYWhOT1VvMzVQSDAzN05Yc2ZueFhMb3lYajdO?= =?utf-8?B?ejcyM3NGZFhJTkJ6M1puczlWelRlbTlSV1ZkNFNKMjZOdFN5UmF6Ym11ZFJT?= =?utf-8?B?UUlCaFBXRnFxWnNua0ROWjVRVUVQa2VONGptZnlFVko5WlBIbUpOUWFQOEFu?= =?utf-8?B?N3JvNS9VbllTY2hKVHdZZGtZejRiU29YeURMTUUreUJqb1hOUjNMc0RGYXFY?= =?utf-8?B?T1gvTlpMOW9IQ21Ec0kwSHFoM25IakxNcHZBbXQyK2dDL0tXby9jSmc1NHVq?= =?utf-8?B?Z2VVa0swSlNTaWt3MXg3ODcyUXZnK0Z0OExRV0UreU5IYmI4WVZ5b0tjS01T?= =?utf-8?B?WWNUK0NQQ04yRHFVTlRjaHVVc0NBQWoxYlhFTWIwY1pQaEFvY20wSU8yYW9Q?= =?utf-8?B?RDYwZ1llMmVOSGZtZmJZeW9kYkxpTysxZGlJUFRQUGtNZzZHcldBOUZTdWJ3?= =?utf-8?B?ejNqT3JxcWNRSHB2NEsrd0VJdFgralQ3ZnIwNmxmSFJ4c21vWVZ6ejBUZFp1?= =?utf-8?B?bk1YdjYrcmpTY1JCZWZRblJHWExnNTBQU2V2LzkrN294YXdsZk1Genh2QzNY?= =?utf-8?B?Mm9ickhuSHp5QStSRmg0MTBjVFJNWjFzaDQ3MkxPbTFhS0dxQ2VQWVMxaGd1?= =?utf-8?B?RkRTeFZqWFh1UlIwdkxicnh1amFVa1RWaS9vNHFjZ0lqVm1CYnp2UC9GQnh1?= =?utf-8?B?SXdHNnBuaWtYRnhCREJBaXA1ZFRhVER6dzZCdEc3S3NHYmwrSU9TeVdvM29h?= =?utf-8?B?UmRpeTFiM3FqNG1Mbm5iNEhxTnIxN3JYRXNTSzZtTU00K2JLaldYRUdvRWQ3?= =?utf-8?B?VXIybi9Fdy9kKzJ0MmRwSDQzN0tHNGw3NGx2Q05KMXpUQnBhSUtjV0hXWXpU?= =?utf-8?B?Lzd5cmZDRVppUVNpRjZZVzdYYVpsMEJ3Vk4vejZhQU1PWmVnRlo4STVGR2sv?= =?utf-8?B?TjNYc25nMDdlRzlkQXhObWUwanB0Y1J1WUNZN3lndGVOU2VDTkpUVmY1TU5T?= =?utf-8?B?S25GQ1o5ZHpZQ1VOalQ0NzgwaE44WGZCcHVoalZvb2pNMHFVWjZMU3pVeVhi?= =?utf-8?B?Q0NzalIwWGZKTDl1ZC8wV05lbnd6TzZVK3dmd1Z4bEVucGpZQjRWekZMU0JX?= =?utf-8?B?WlplSmpRcVA0VVM3NUhEUldpSTFGdmNPYXNHQmpwVU1NQlBYRDZ6NTlhbUlt?= =?utf-8?B?YURoMXpJczhlMUJjY0xsY1BRUDdqSUhxQW44VFNxSThoSytVNU1yelNsd1VH?= =?utf-8?Q?v5z0tnSA3SEb1VyJn+gRtUziB?= 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: MmoZ+Gloap2Ss/68qEcadgWSYe1uZioCf70rbNAAk625sscLW0zSHYbmNCon2Bq5MgF6/KustqTcTYFHOMxWQpaZVy9KzBmUHBzftavln9gyGKFDsZKG8jCY53wroOOgHpQIIc38URuLQpoFQpY8tOxkC0kBUQ63Fx204W2qvCfvX35JWF/ARkhWaeK+dZ18Bkt3a5E1N8nUvfruIjy1HOg8YeDzUc90ZNv1TL02GtpOcLFTf1mf1BNpt/iVyz1gJ3m5Pdv7pzEbF1ZC5bpFohlxV67ckIv8OE25PCufKfvU72G3HP+UtwDGhBviam5JpXcxC2Qq+az95pbj8Iup9gyffr2N5CvK2IsY0azib/h3m7O16NjuW89njAEnFO6R3eG/XPmVm3/6lnZr4NF6Nc9QxgSilt+ifAdnozfLqqps5/TPwAwfKJ3/ejvA/JCQWCUeTnQ0G6AaTtqGfCebhVFD7mTb79WDVkv/QkrxHH6ukayjvG/Dm7tgNpYfaILKOoo3lXiUx4MT2/O1rfoWgyCMZdKM8Q49j+z63vVRsKBr5znrYvEXQbTgnmqvw4hhlM1C2WdpBs2CzvcjNBqcK89+B0j2g6igws5NZ8V6Q3EXBB4ADzx2Wt4xRWDZDgZlw6Z21nC0b1pr6SKpBWd/AMBmHqtsKy2EAcrI6dgTlxiMy5LvY6FXLTCX0xemlZLAGIWjIvaaqRxJxDToax+t/nA+J7v/T13qRne/wLFl9LSw5YNT+xIhVon8khGJ3ZRj8+I+bFpKYyZllsEzjXRJoG9bv/jJaCIwCq0ccAgghe/BFCI1pf5Re1ofZcNvRKfnuxXZPPndfqFykIXuRuF93OOAtlLK4WXf/wJ/+dweZwjNSNpW9z+tkFpCsEr0uLJo 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: 0c74e1b8-d5e1-4f6b-13db-08db0e6ee12f X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2023 09:35:58.9739 (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: gMtwX9g6EvUF0/LSc48dTiehFDtsuEqcrSR9As0aDGzepV5OmsrMTzyudlzJNpcvqnCYra7mMinxvLc1W3OTYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS0PR01MB5556 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gTW9uLCBGZWIgMTMsIDIwMjMgNzowMSBQTSBzaGl5LmZuc3RAZnVqaXRzdS5jb20gPHNoaXku Zm5zdEBmdWppdHN1LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIEZlYiAyLCAyMDIzIDQ6MzQg UE0gw5ZuZGVyIEthbGFjxLEgPG9uZGVya2FsYWNpQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4NCj4g Pj4NCj4gPj4gYW5kIGlmIHRoZXJlJ3MgbW9yZQ0KPiA+PiB0aGFuIG9uZSBjYW5kaWRhdGUgaW5k ZXggcGljayBhbnkgb25lLiBBZGRpdGlvbmFsbHksIHdlIGNhbiBhbGxvdw0KPiA+PiBkaXNhYmxp bmcgdGhlIHVzZSBvZiBhbiBpbmRleCBzY2FuIGZvciB0aGlzIHBhcnRpY3VsYXIgY2FzZS4gSWYg d2UgYXJlDQo+ID4+IHRvbyB3b3JyaWVkIGFib3V0IEFQSSBjaGFuZ2UgZm9yIGFsbG93aW5nIHVz ZXJzIHRvIHNwZWNpZnkgdGhlIGluZGV4DQo+ID4+IHRoZW4gd2UgY2FuIGRvIHRoYXQgbGF0ZXIg b3IgYXMgYSBzZXBhcmF0ZSBwYXRjaC4NCj4gPj4NCj4gPg0KPiA+IE9uIHYyMywgSSBkcm9wcGVk IHRoZSBwbGFubmVyIHN1cHBvcnQgZm9yIHBpY2tpbmcgdGhlIGluZGV4LiBJbnN0ZWFkLCBpdCBz aW1wbHkNCj4gPiBpdGVyYXRlcyBvdmVyIHRoZSBpbmRleGVzIGFuZCBwaWNrcyB0aGUgZmlyc3Qg b25lIHRoYXQgaXMgc3VpdGFibGUuDQo+ID4NCj4gPiBJJ20gY3VycmVudGx5IHRoaW5raW5nIG9u IGhvdyB0byBlbmFibGUgdXNlcnMgdG8gb3ZlcnJpZGUgdGhpcyBkZWNpc2lvbi4NCj4gPiBPbmUg b3B0aW9uIEknbSBsZWFuaW5nIHRvd2FyZHMgaXMgdG8gYWRkIGEgc3ludGF4IGxpa2UgdGhlIGZv bGxvd2luZzoNCj4gPg0KPiA+IEFMVEVSIFNVQlNDUklQVElPTiAuLiBBTFRFUiBUQUJMRSAuLi4g U0VUIElOREVYIC4uLg0KPiA+DQo+ID4gVGhvdWdoLCB0aGF0IHNob3VsZCBwcm9iYWJseSBiZSBh IHNlcGVyYXRlIHBhdGNoLiBJJ20gZ29pbmcgdG8gd29yaw0KPiA+IG9uIHRoYXQsIGJ1dCBzdGls bCB3YW50ZWQgdG8gc2hhcmUgdjIzIGdpdmVuIHBpY2tpbmcgdGhlIGluZGV4IHNvdW5kcw0KPiA+ IGNvbXBsZW1lbnRhcnksIG5vdCBzdHJpY3RseSByZXF1aXJlZCBhdCB0aGlzIHBvaW50Lg0KPiA+ DQo+IA0KPiBUaGFua3MgZm9yIHlvdXIgcGF0Y2guIEhlcmUgYXJlIHNvbWUgY29tbWVudHMuDQo+ IA0KDQpIaSwNCg0KSGVyZSBhcmUgc29tZSBjb21tZW50cyBvbiB0aGUgdGVzdCBjYXNlcy4NCg0K MS4gaW4gdGVzdCBjYXNlICJTVUJTQ1JJUFRJT04gUkUtQ0FMQ1VMQVRFUyBJTkRFWCBBRlRFUiBD UkVBVEUvRFJPUCBJTkRFWCINCisjIG5vdywgaW5nZXN0IG1vcmUgZGF0YSBhbmQgY3JlYXRlIGlu ZGV4IG9uIGNvbHVtbiB5IHdoaWNoIGhhcyBoaWdoZXIgY2FyZGluYWxpdHkNCisjIHNvIHRoYXQg dGhlIGZ1dHVyZSBjb21tYW5kcyB1c2UgdGhlIGluZGV4IG9uIGNvbHVtbiB5DQorJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywNCisJIklOU0VSVCBJTlRPIHRlc3RfcmVwbGlj YV9pZF9mdWxsIFNFTEVDVCA1MCwgaSBGUk9NIGdlbmVyYXRlX3NlcmllcygwLDMxMDApaTsiKTsN Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywNCisJIkNSRUFURSBJTkRF WCB0ZXN0X3JlcGxpY2FfaWRfZnVsbF9pZHkgT04gdGVzdF9yZXBsaWNhX2lkX2Z1bGwoeSkiKTsN Cg0KV2UgZG9uJ3QgcGljayB0aGUgY2hlYXBlc3QgaW5kZXggaW4gdGhlIGN1cnJlbnQgcGF0Y2gs IHNvIHNob3VsZCB3ZSBtb2RpZnkgdGhpcw0KcGFydCBvZiB0aGUgdGVzdD8NCg0KQlRXLCB0aGUg Zm9sbG93aW5nIGNvbW1lbnQgaW4gRmluZExvZ2ljYWxSZXBVc2FibGVJbmRleCgpIG5lZWQgdG8g YmUgY2hhbmdlZCwNCnRvby4NCg0KKwkJICogV2UgYXJlIGxvb2tpbmcgZm9yIG9uZSBtb3JlIG9w cG9ydHVuaXR5IGZvciB1c2luZyBhbiBpbmRleC4gSWYNCisJCSAqIHRoZXJlIGFyZSBhbnkgaW5k ZXhlcyBkZWZpbmVkIG9uIHRoZSBsb2NhbCByZWxhdGlvbiwgdHJ5IHRvIHBpY2sNCisJCSAqIHRo ZSBjaGVhcGVzdCBpbmRleC4NCg0KDQoyLiBJcyB0aGVyZSBhbnkgcmVhc29ucyB3aHkgd2UgbmVl ZCB0aGUgdGVzdCBjYXNlICJTVUJTQ1JJUFRJT04gVVNFUyBJTkRFWCBXSVRIDQpEUk9QUEVEIENP TFVNTlMiPyBIYXMgdGhlcmUgYmVlbiBhIHByb2JsZW0gcmVsYXRlZCB0byBkcm9wcGVkIGNvbHVt bnMgYmVmb3JlPw0KDQozLiBpbiB0ZXN0IGNhc2UgIlNVQlNDUklQVElPTiBVU0VTIElOREVYIE9O IFBBUlRJVElPTkVEIFRBQkxFUyINCisjIGRlbGV0ZXMgcm93cyBhbmQgbW92ZXMgYmV0d2VlbiBw YXJ0aXRpb25zDQorJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywNCisJIkRF TEVURSBGUk9NIHVzZXJzX3RhYmxlX3BhcnQgV0hFUkUgdXNlcl9pZCA9IDEgYW5kIHZhbHVlXzEg PSAxOyIpOw0KKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsDQorCSJERUxF VEUgRlJPTSB1c2Vyc190YWJsZV9wYXJ0IFdIRVJFIHVzZXJfaWQgPSAxMiBhbmQgdmFsdWVfMSA9 IDEyOyIpOw0KDQoibW92ZXMgYmV0d2VlbiBwYXJ0aXRpb25zIiBpbiB0aGUgY29tbWVudCBzZWVt cyB3cm9uZy4NCg0KNC4gaW4gdGVzdCBjYXNlICJTVUJTQ1JJUFRJT04gRE9FUyBOT1QgVVNFIElO REVYRVMgV0lUSCBPTkxZIEVYUFJFU1NJT05TIg0KKyMgdXBkYXRlIDIgcm93cw0KKyRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsDQorCSJVUERBVEUgcGVvcGxlIFNFVCBmaXJz dG5hbWUgPSAnTmFuJyBXSEVSRSBmaXJzdG5hbWUgPSAnZmlyc3RfbmFtZV8xJzsiKTsNCiskbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLA0KKwkiVVBEQVRFIHBlb3BsZSBTRVQg Zmlyc3RuYW1lID0gJ05hbicgV0hFUkUgZmlyc3RuYW1lID0gJ2ZpcnN0X25hbWVfMicgQU5EIGxh c3RuYW1lID0gJ2xhc3RfbmFtZV8yJzsiKTsNCisNCisjIG1ha2Ugc3VyZSB0aGUgaW5kZXggaXMg bm90IHVzZWQgb24gdGhlIHN1YnNjcmliZXINCiskcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsDQorCSJzZWxlY3QgaWR4X3NjYW4gZnJvbSBwZ19zdGF0X2Fs bF9pbmRleGVzIHdoZXJlIGluZGV4cmVsbmFtZSA9ICdwZW9wbGVfbmFtZXMnIik7DQoraXMoJHJl c3VsdCwgcXEoMCksICdlbnN1cmUgc3Vic2NyaWJlciB0YXBfc3ViX3JlcF9mdWxsIHVwZGF0ZXMg dHdvIHJvd3MgdmlhIHNlcS4gc2NhbiB3aXRoIGluZGV4IG9uIGV4cHJlc3Npb25zJyk7DQorDQoN CkkgdGhpbmsgaXQgd291bGQgYmUgYmV0dGVyIHRvIGNhbGwgd2FpdF9mb3JfY2F0Y2h1cCgpIGJl Zm9yZSB0aGUgY2hlY2sgYmVjYXVzZQ0Kd2Ugd2FudCB0byBjaGVjayB0aGUgaW5kZXggaXMgTk9U IHVzZWQuIE90aGVyd2lzZSB0aGUgY2hlY2sgbWF5IHBhc3MgYmVjYXVzZSB0aGUNCnJvd3MgaGF2 ZSBub3QgeWV0IGJlZW4gdXBkYXRlZCBvbiBzdWJzY3JpYmVyLg0KDQo1LiBpbiB0ZXN0IGNhc2Ug IlNVQlNDUklQVElPTiBCRUhBVklPUiBXSVRIIEVOQUJMRV9JTkRFWFNDQU4iDQorIyBzaG93IHRo YXQgaW5kZXggaXMgbm90IHVzZWQgZXZlbiB3aGVuIGVuYWJsZV9pbmRleHNjYW49ZmFsc2UNCisk cmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsDQorCSJzZWxl Y3QgaWR4X3NjYW4gZnJvbSBwZ19zdGF0X2FsbF9pbmRleGVzIHdoZXJlIGluZGV4cmVsbmFtZSA9 ICd0ZXN0X3JlcGxpY2FfaWRfZnVsbF9pZHgnIik7DQoraXMoJHJlc3VsdCwgcXEoMCksICdlbnN1 cmUgc3Vic2NyaWJlciBoYXMgbm90IHVzZWQgaW5kZXggd2l0aCBlbmFibGVfaW5kZXhzY2FuPWZh bHNlJyk7DQoNClNob3VsZCB3ZSByZW1vdmUgdGhlIHdvcmQgImV2ZW4iIGluIHRoZSBjb21tZW50 Pw0KDQo2LiANCkluIGVhY2ggdGVzdCBjYXNlIHdlIHJlLWNyZWF0ZSBwdWJsaWNhdGlvbnMsIHN1 YnNjcmlwdGlvbnMsIGFuZCB0YWJsZXMuIENvdWxkIHdlDQpjcmVhdGUgb25seSBvbmUgcHVibGlj YXRpb24gYW5kIG9uZSBzdWJzY3JpcHRpb24gYXQgdGhlIGJlZ2lubmluZywgYW5kIHVzZSB0aGVt DQppbiBhbGwgdGVzdCBjYXNlcz8gSSB0aGluayB0aGlzIGNhbiBzYXZlIHNvbWUgdGltZSBydW5u aW5nIHRoZSB0ZXN0IGZpbGUuDQoNClJlZ2FyZHMsDQpTaGkgWXUNCg==