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.96) (envelope-from ) id 1wpodE-001rWx-2g for pgsql-bugs@arkaria.postgresql.org; Fri, 31 Jul 2026 14:54:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wpodC-00GR99-2H for pgsql-bugs@arkaria.postgresql.org; Fri, 31 Jul 2026 14:54:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wpodB-00GR8m-20 for pgsql-bugs@lists.postgresql.org; Fri, 31 Jul 2026 14:54:38 +0000 Received: from m16.mail.126.com ([117.135.210.8]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wpocz-00000001GT4-10Su for pgsql-bugs@lists.postgresql.org; Fri, 31 Jul 2026 14:54:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version: Message-ID; bh=rR1v3kRaHpoPQxaFohCV4hC0tdUp3dQSiznzU5qi71s=; b=h HF2gD0R6VPEg+oQcy5XrER7vdzKkxGaujjpUDnzBAmWxDV2/jCyOFUt9bohcPUxC cUCTUulRSmiQg9wWNuH10bIEtcqeXPg5gmnWx/HpJLURBmI1Bpty9uTpK7yDEZbd GCCf9ZUkFG83bNmenUkEEOrSjIzLtx4OYCoCPaIm+8= Received: from ld_zju$126.com ( [125.120.163.162] ) by ajax-webmail-wmsvr-41-112 (Coremail) ; Fri, 31 Jul 2026 22:54:02 +0800 (CST) X-Originating-IP: [125.120.163.162] Date: Fri, 31 Jul 2026 22:54:02 +0800 (CST) From: ld_zju To: "Tender Wang" Cc: pgsql-bugs@lists.postgresql.org, "Tom Lane" Subject: Re:Re: DO NOT pull up a sublink when it has no join condition with the upper relation X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2023.4-cmXT build 20260511(2e539873) Copyright (c) 2002-2026 www.mailtech.cn 126com In-Reply-To: References: <13beb150.7b23.19fb3cf6efc.Coremail.ld_zju@126.com> X-NTES-SC: AL_Qu2TB/mbtk4v5CWbZOkfmU4Vhew/UMu3vfwu2YFUc8sOiCnA8Rsqe2RlN3vu8tCwKwaIvROzfzZL+sBCQbtmkzWFIKQd0UTkOg1KOGEkVg== Content-Type: multipart/alternative; boundary="----=_Part_119926_1644830648.1785509642537" MIME-Version: 1.0 Message-ID: <4a771336.7ba7.19fb8ab0129.Coremail.ld_zju@126.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: cCkvCgD3_1MLt2xqfTYnAA--.6509W X-CM-SenderInfo: hogb6ybx6rjloofrz/xtbBoAula2pstwvYoQAA3m X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------=_Part_119926_1644830648.1785509642537 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 VGhhbmsgeW91IGZvciB5b3VyIHF1aWNrIHJlc3BvbnNlLiAKCgpUaGUgcmVhc29uIHdoeSBJIHRo b3VnaHQgaXQgd2FzIGEgYnVnIGlzIG9ubHkgYmVjYXVzZSBvcmFjbGUgb3B0aW1pemVyIGNhbiBn ZW5lcmF0ZSBhIHBsYW4gc2VlbXMgdG8gYmUgbW9yZSByZWFzb25hYmxlLiBJdHMgZXhlY3V0aW9u IHBsYW4gZ29lcyBsaWtlICJzZWxlY3QgKiBmcm9tIHQxIHdoZXJlIGV4aXN0cyhzZWxlY3QgMSBm cm9tIHQyLCB0MyB3aGVyZSB0My5iPXQxLmIgYW5kIHQyLmE9dDMuYSk7IgoKCkkgaGF2ZSB0ZXN0 ZWQgdGhlIHN1Z2dlc3RlZCBhcHByb2FjaCB3aXRoICJvZmZzZXQgMCIgaW4gb3VyIHRlc3QgZW52 aXJvbm1lbnQuIEl0IGRvZXMgcmVzb2x2ZSB0aGUgaW1tZWRpYXRlIGlzc3VlIHdlIGVuY291bnRl cmVkLCBhbmQgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBpcyBhY2NlcHRhYmxlLgoKCgoKCgoKCgoK CkF0IDIwMjYtMDctMzEgMTA6NTI6NTUsICJUZW5kZXIgV2FuZyIgPHRuZHJ3YW5nQGdtYWlsLmNv bT4gd3JvdGU6Cj5sZF96anUgPGxkX3pqdUAxMjYuY29tPiDT2jIwMjbE6jfUwjMxyNXW3M7lIDAw OjE20LS1wKO6Cj4+Cj4+IEhpLAo+Pgo+PiBJJ3ZlIGVuY291bnRlcmVkIGEgc2NlbmFyaW8gd2hl cmUgcHVsbGluZyB1cCBhIHN1Ymxpbmsgbm90IG9ubHkgYnJpbmdzIG5vIGJlbmVmaXQgYnV0IGFj dHVhbGx5IGRlZ3JhZGVzIHRoZSBmaW5hbCBwbGFuIHNpZ25pZmljYW50bHkuCj4+Cj4+IEhlcmUg aXMgdGhlIHRlc3QgY2FzZToKPj4KPj4gY3JlYXRlIHRhYmxlIHQxKGEgaW50LGIgaW50LGMgaW50 LGQgaW50KTsKPj4gY3JlYXRlIHRhYmxlIHQyKGEgaW50LGIgaW50LGMgaW50LGQgaW50KTsKPj4g Y3JlYXRlIHRhYmxlIHQzKGEgaW50LGIgaW50LGMgaW50LGQgaW50KTsKPj4gaW5zZXJ0IGludG8g dDEgc2VsZWN0IGksaSxpLGkgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwxMDAwKSBpOwo+PiBpbnNl cnQgaW50byB0MiBzZWxlY3QgaSxpLGksaSBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDEwMDApIGk7 Cj4+IGluc2VydCBpbnRvIHQzIHNlbGVjdCBpLGksaSxpIGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEs MTApIGk7Cj4+Cj4+IGV4cGxhaW4gc2VsZWN0ICogZnJvbSB0MSB3aGVyZSBleGlzdHMoc2VsZWN0 IDEgZnJvbSB0MiB3aGVyZSB0Mi5hIGluKHNlbGVjdCB0My5hIGZyb20gdDMgd2hlcmUgdDMuYj10 MS5iKSk7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOCj4+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPj4gIE5lc3RlZCBMb29wIFNlbWkgSm9pbiAoY29zdD0wLjAwLi4yODQxODIzMi42NyBy b3dzPTkyNSB3aWR0aD0xNikKPj4gICAgSm9pbiBGaWx0ZXI6IChBTlkgKHQyLmEgPSAoU3ViUGxh biBhbnlfMSkuY29sMSkpCj4+ICAgIC0+IFNlcSBTY2FuIG9uIHQxIChjb3N0PTAuMDAuLjI4LjUw IHJvd3M9MTg1MCB3aWR0aD0xNikKPj4gICAgLT4gTWF0ZXJpYWxpemUgKGNvc3Q9MC4wMC4uMzcu NzUgcm93cz0xODUwIHdpZHRoPTQpCj4+ICAgICAgICAgIC0+IFNlcSBTY2FuIG9uIHQyIChjb3N0 PTAuMDAuLjI4LjUwIHJvd3M9MTg1MCB3aWR0aD00KQo+PiAgICBTdWJQbGFuIGFueV8xCj4+ICAg ICAgLT4gU2VxIFNjYW4gb24gdDMgKGNvc3Q9MC4wMC4uMzMuMTIgcm93cz05IHdpZHRoPTQpCj4+ ICAgICAgICAgICAgRmlsdGVyOiAoYiA9IHQxLmIpCj4+ICg4IHJvd3MpCj4+Cj4+IFRoZSBFWElT VFMgc3VibGluayBpcyBwdWxsZWQgdXAgYW5kIGpvaW5lZCB3aXRoIHQxIHZpYSBhIE5lc3RlZCBM b29wIFNlbWkgSm9pbi4gSG93ZXZlciwgc2luY2UgdGhlcmUgaXMgbm8gam9pbiBjb25kaXRpb24g YmV0d2VlbiB0MSBhbmQgdGhlIHN1YmxpbmsgKHRoZSBjb25kaXRpb24gdDMuYiA9IHQxLmIgaXMg aW5zaWRlIHRoZSBzdWJwbGFuKSwgdGhpcyByZXN1bHRzIGluIGEgQ2FydGVzaWFuIHByb2R1Y3Qg YmV0d2VlbiB0MSBhbmQgdDIsIGZvbGxvd2VkIGJ5IGZpbHRlcmluZyB0aHJvdWdoIHRoZSBzdWJw bGFuLiBXaXRoIHQxIGFuZCB0MiBib3RoIGhhdmluZyAxMDAwIHJvd3MsIHRoaXMgcHJvZHVjZXMg YSBsYXJnZSBpbnRlcm1lZGlhdGUgcmVzdWx0IHNldCAoMSwwMDAsMDAwIHJvd3MpIHdoZW4gdGhl IGFjdHVhbCByZXN1bHQgc2V0IGlzIG11Y2ggc21hbGxlci4KPj4KPj4gV291bGQgaXQgYmUgcG9z c2libGUgdGhhdCB0aGUgc3VibGluayBpcyBwdWxsZWQgdXAgb25seSB3aGVuIGl0IGhhcyBhbnkg am9pbiBjb25kaXRpb25zIHdpdGggdGhlIHVwcGVyIHJlbGF0aW9uPyBJZiBubyBzdWNoIGNvbmRp dGlvbnMgZXhpc3QsIGEgQ2FydGVzaWFuIHByb2R1Y3QgaXMgbGlrZWx5IGFuZCBwdWxsaW5nIHVw IHNob3VsZCBiZSBhdm9pZGVkLgo+Pgo+PiBBbnkgdGhvdWdodHMgb3Igc3VnZ2VzdGlvbnMgd291 bGQgYmUgYXBwcmVjaWF0ZWQhCj4KPllvdSBjYW4gYWRkICJvZmZzZXQgMCIgaW50byB0aGUgc3Vi cXVlcnk7IHRoZW4gdGhlIHBsYW4gc2hvdWxkIGJlIHdoYXQgeW91IHdhbnQuCj5wb3N0Z3Jlcz0j IGV4cGxhaW4gc2VsZWN0ICogZnJvbSB0MSB3aGVyZSBleGlzdHMoc2VsZWN0IDEgZnJvbSB0Mgo+ d2hlcmUgdDIuYSBpbihzZWxlY3QgdDEuYiBmcm9tIHQzIHdoZXJlIHQzLmI9dDEuYikgb2Zmc2V0 IDApOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4KPi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ IFNlcSBTY2FuIG9uIHQxICAoY29zdD0wLjAwLi4xOTY1MS4wMCByb3dzPTUwMCB3aWR0aD0xNikK PiAgIEZpbHRlcjogRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpCj4gICBTdWJQbGFuIGV4aXN0c18x Cj4gICAgIC0+ICBOZXN0ZWQgTG9vcCBTZW1pIEpvaW4gIChjb3N0PTAuMDAuLjE5LjY0IHJvd3M9 MSB3aWR0aD00KQo+ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdDIgIChjb3N0PTAuMDAuLjE4 LjUwIHJvd3M9MSB3aWR0aD0wKQo+ICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gdDEuYikK PiAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHQzICAoY29zdD0wLjAwLi4xLjEyIHJvd3M9MSB3 aWR0aD0wKQo+ICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gdDEuYikKPig4IHJvd3MpCj4K PkFuZCB0aGUgRXhlY3V0aW9uIFRpbWU6IDE3OC44NzcgbXM7IHdpdGhvdXQgIm9mZnNldCAwIiwg aXQgaXMgNDA0OC45NzAKPm1zIG9uIG15IG1hY2hpbmUuCj4KPkluIGNvbnZlcnRfRVhJU1RTX3N1 YmxpbmtfdG9fam9pbigpLCB3ZSBoYXZlOgo+ICAgIC8qCj4gICAgICogT24gdGhlIG90aGVyIGhh bmQsIHRoZSBXSEVSRSBjbGF1c2UgbXVzdCBjb250YWluIHNvbWUgVmFycyBvZiB0aGUKPiAgICAg KiBwYXJlbnQgcXVlcnksIGVsc2UgaXQncyBub3QgZ29ubmEgYmUgYSBqb2luLgo+ICAgICAqLwo+ ICAgIGlmICghY29udGFpbl92YXJzX29mX2xldmVsKHdoZXJlQ2xhdXNlLCAxKSkKPiAgICAgICAg cmV0dXJuIE5VTEw7Cj4KPldoZW4gd2UgcmVjdXJzZSBpbnRvIHRoZSB0aGlyZCBzdWJsaW5rIGlu Cj5jb250YWluX3ZhcnNfb2ZfbGV2ZWxfd2Fsa2VyKCksIHRoZSBsZXZlbHN1cCB3YXMgKzEoaS5l LiAyKQo+dDEuYiBpbiAidDMuYiA9IHQxLmIiIGlzIFZhciBbdmFybm89MSB2YXJhdHRubz0yIHZh cnR5cGU9MjMKPnZhcmxldmVsc3VwPTIgdmFycmV0dXJuaW5ndHlwZT1WQVJfUkVUVVJOSU5HX0RF RkFVTFQgdmFybm9zeW49MQo+dmFyYXR0bm9zeW49Ml0KPllvdSBjYW4gc2VlIHRoYXQgdmFybGV2 ZWxzdXAgaXMgMiwgc28KPmNvbnRhaW5fdmFyc19vZl9sZXZlbCh3aGVyZUNsYXVzZSwgMSkgcmV0 dXJucyB0cnVlLiBUaGVuIHRoZSBzdWJsaW5rCj5pcyBwdWxsZWQgdXAuCj4KPkkgbWFkZSBzb21l IGF0dGVtcHRzLgo+Cj4jMQo+V2UgY2FuJ3Qgc2ltcGx5IHJlbW92ZSB0aGUiKCpzdWJsZXZlbHNf dXApKys7ICIgaW4KPmNvbnRhaW5fdmFyc19vZl9sZXZlbF93YWxrZXIoKTsgYmVjYXVzZSBzb21l IG90aGVyIHBsYWNlcyBhbHNvIGNhbGwKPnRoaXMgZnVuY3Rpb24uCj5JZiB5b3UgZG8gdGhpcywg dGhlIHJlZ3Jlc3Npb24gd2lsbCBjcmFzaC4KPiMyCj5JIHJld3JvdGUgYSBzZXBhcmF0ZSB2ZXJz aW9uIGJhc2VkIG9uIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uCj5zcGVjaWZpY2FsbHkgZm9y IFN1YkxpbmsgcHVsbC11cC4gTXkgZ29hbCB3YXMgc2ltcGx5IHRvIHNlZSB3aGV0aGVyIGl0Cj53 b3VsZCBjYXVzZSBhbnkgcmVncmVzc2lvbiB0ZXN0IGZhaWx1cmVzLgo+VGhlIGF0dGFjaGVkIGlz IG15IHRlc3QuIEl0J3Mgb25seSBmb3IgdGVzdGluZy4KPlRvIG15IHN1cnByaXNlLCBhbGwgdGhl IHJlZ3Jlc3Npb24gdGVzdHMgcGFzc2VkLgo+Cj5JJ20gbm90IHN1cmUgaXQgaXMgYSBidWcuIFRo ZSBjb2RlIHdhcyBjb21taXR0ZWQgMTcgeWVhcnMgYWdvIGJ5IFRvbS4KPkFuZCBJJ20gbm90IHN1 cmUgeW91J3JlIHRoZSBmaXJzdCB0byByZXBvcnQgdGhpcyBpc3N1ZS4KPkkgZmVlbCB0aGF0IGlu IG1vc3QgY2FzZXMsIHRoZSBzZWNvbmQgcXVlcnkgd2lsbCByZWZlciB0byB0aGUgdG9wCj5xdWVy eSdzIGNvbHVtbiwgYW5kIHRoZSB0aGlyZCBxdWVyeSB3aWxsIHJlZmVyIHRvIHRoZSBzZWNvbmQg cXVlcnkncwo+Y29sdW1uLgo+Cj4tLSAKPlRoYW5rcywKPlRlbmRlciBXYW5nCg== ------=_Part_119926_1644830648.1785509642537 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBkYXRhLW50ZXM9Im50ZXNfbWFpbF9ib2R5X3Jvb3QiIHN0eWxlPSJsaW5lLWhlaWdodDox Ljc7Y29sb3I6IzAwMDAwMDtmb250LXNpemU6MTRweDtmb250LWZhbWlseTpBcmlhbCI+PGRpdiBp ZD0ic3BuRWRpdG9yQ29udGVudCI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTogMTZweDsiPjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogbm9ybWFsOyI+VGhh bmsgeW91IGZvciB5b3VyIHF1aWNrIHJlc3BvbnNlLjwvc3Bhbj4mbmJzcDs8L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsi PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE2cHg7Ij48c3BhbiBjbGFzcz0iIiBzdHlsZT0iZm9u dC1zaXplOiAxNnB4OyBjb2xvcjogcmdiKDE1LCAxNywgMjEpOyBmb250LWZhbWlseTogcXVvdGUt Y2prLXBhdGNoLCBJbnRlciwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3Rl bUZvbnQsICZxdW90O1NlZ29lIFVJJnF1b3Q7LCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50 YXJlbGwsICZxdW90O09wZW4gU2FucyZxdW90OywgJnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVvdDss IHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij5UaGUgcmVhc29uIHdoeSBJIHRob3Vn aHQgaXQgd2FzIGEgYnVnIGlzIG9ubHkgYmVjYXVzZSBvcmFjbGUgb3B0aW1pemVyIGNhbiBnZW5l cmF0ZSBhIHBsYW4gc2VlbXMgdG8gYmUgbW9yZSByZWFzb25hYmxlLiBJdHMgZXhlY3V0aW9uIHBs YW4gZ29lcyBsaWtlICI8L3NwYW4+c2VsZWN0ICogZnJvbSB0MSB3aGVyZSBleGlzdHMoc2VsZWN0 IDEgZnJvbSB0MiwgdDMgd2hlcmUgdDMuYj10MS5iIGFuZCB0Mi5hPXQzLmEpOyI8L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjog MDsiPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDE1LCAxNywgMjEpOyBmb250LWZhbWlseTogcXVv dGUtY2prLXBhdGNoLCBJbnRlciwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5 c3RlbUZvbnQsICZxdW90O1NlZ29lIFVJJnF1b3Q7LCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBD YW50YXJlbGwsICZxdW90O09wZW4gU2FucyZxdW90OywgJnF1b3Q7SGVsdmV0aWNhIE5ldWUmcXVv dDssIHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTZweDsiPkkg aGF2ZSB0ZXN0ZWQgdGhlIHN1Z2dlc3RlZCBhcHByb2FjaCB3aXRoICJvZmZzZXQgMCImbmJzcDtp biBvdXIgdGVzdCBlbnZpcm9ubWVudC4gSXQgZG9lcyByZXNvbHZlIHRoZSBpbW1lZGlhdGUgaXNz dWUgd2UgZW5jb3VudGVyZWQsIGFuZCB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IGlzIGFjY2VwdGFi bGUuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPjxicj48L2Rpdj48ZGl2IHN0 eWxlPSJtYXJnaW46IDA7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+PGJyPjwv ZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMDsiPjxicj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJw b3NpdGlvbjpyZWxhdGl2ZTt6b29tOjEiPjwvZGl2PjxkaXYgaWQ9ImRpdk5ldGVhc2VNYWlsQ2Fy ZCI+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwOyI+PGJyPjwvZGl2PjxwcmU+PGJyPkF0IDIw MjYtMDctMzEgMTA6NTI6NTUsICJUZW5kZXIgV2FuZyIgJmx0O3RuZHJ3YW5nQGdtYWlsLmNvbSZn dDsgd3JvdGU6CiZndDtsZF96anUgJmx0O2xkX3pqdUAxMjYuY29tJmd0OyDT2jIwMjbE6jfUwjMx yNXW3M7lIDAwOjE20LS1wKO6CiZndDsmZ3Q7CiZndDsmZ3Q7IEhpLAomZ3Q7Jmd0OwomZ3Q7Jmd0 OyBJJ3ZlIGVuY291bnRlcmVkIGEgc2NlbmFyaW8gd2hlcmUgcHVsbGluZyB1cCBhIHN1Ymxpbmsg bm90IG9ubHkgYnJpbmdzIG5vIGJlbmVmaXQgYnV0IGFjdHVhbGx5IGRlZ3JhZGVzIHRoZSBmaW5h bCBwbGFuIHNpZ25pZmljYW50bHkuCiZndDsmZ3Q7CiZndDsmZ3Q7IEhlcmUgaXMgdGhlIHRlc3Qg Y2FzZToKJmd0OyZndDsKJmd0OyZndDsgY3JlYXRlIHRhYmxlIHQxKGEgaW50LGIgaW50LGMgaW50 LGQgaW50KTsKJmd0OyZndDsgY3JlYXRlIHRhYmxlIHQyKGEgaW50LGIgaW50LGMgaW50LGQgaW50 KTsKJmd0OyZndDsgY3JlYXRlIHRhYmxlIHQzKGEgaW50LGIgaW50LGMgaW50LGQgaW50KTsKJmd0 OyZndDsgaW5zZXJ0IGludG8gdDEgc2VsZWN0IGksaSxpLGkgZnJvbSBnZW5lcmF0ZV9zZXJpZXMo MSwxMDAwKSBpOwomZ3Q7Jmd0OyBpbnNlcnQgaW50byB0MiBzZWxlY3QgaSxpLGksaSBmcm9tIGdl bmVyYXRlX3NlcmllcygxLDEwMDApIGk7CiZndDsmZ3Q7IGluc2VydCBpbnRvIHQzIHNlbGVjdCBp LGksaSxpIGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMTApIGk7CiZndDsmZ3Q7CiZndDsmZ3Q7IGV4 cGxhaW4gc2VsZWN0ICogZnJvbSB0MSB3aGVyZSBleGlzdHMoc2VsZWN0IDEgZnJvbSB0MiB3aGVy ZSB0Mi5hIGluKHNlbGVjdCB0My5hIGZyb20gdDMgd2hlcmUgdDMuYj10MS5iKSk7CiZndDsmZ3Q7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOCiZndDsmZ3Q7IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KJmd0OyZndDsgIE5lc3RlZCBMb29wIFNlbWkgSm9pbiAoY29zdD0wLjAwLi4yODQxODIzMi42 NyByb3dzPTkyNSB3aWR0aD0xNikKJmd0OyZndDsgICAgSm9pbiBGaWx0ZXI6IChBTlkgKHQyLmEg PSAoU3ViUGxhbiBhbnlfMSkuY29sMSkpCiZndDsmZ3Q7ICAgIC0mZ3Q7IFNlcSBTY2FuIG9uIHQx IChjb3N0PTAuMDAuLjI4LjUwIHJvd3M9MTg1MCB3aWR0aD0xNikKJmd0OyZndDsgICAgLSZndDsg TWF0ZXJpYWxpemUgKGNvc3Q9MC4wMC4uMzcuNzUgcm93cz0xODUwIHdpZHRoPTQpCiZndDsmZ3Q7 ICAgICAgICAgIC0mZ3Q7IFNlcSBTY2FuIG9uIHQyIChjb3N0PTAuMDAuLjI4LjUwIHJvd3M9MTg1 MCB3aWR0aD00KQomZ3Q7Jmd0OyAgICBTdWJQbGFuIGFueV8xCiZndDsmZ3Q7ICAgICAgLSZndDsg U2VxIFNjYW4gb24gdDMgKGNvc3Q9MC4wMC4uMzMuMTIgcm93cz05IHdpZHRoPTQpCiZndDsmZ3Q7 ICAgICAgICAgICAgRmlsdGVyOiAoYiA9IHQxLmIpCiZndDsmZ3Q7ICg4IHJvd3MpCiZndDsmZ3Q7 CiZndDsmZ3Q7IFRoZSBFWElTVFMgc3VibGluayBpcyBwdWxsZWQgdXAgYW5kIGpvaW5lZCB3aXRo IHQxIHZpYSBhIE5lc3RlZCBMb29wIFNlbWkgSm9pbi4gSG93ZXZlciwgc2luY2UgdGhlcmUgaXMg bm8gam9pbiBjb25kaXRpb24gYmV0d2VlbiB0MSBhbmQgdGhlIHN1YmxpbmsgKHRoZSBjb25kaXRp b24gdDMuYiA9IHQxLmIgaXMgaW5zaWRlIHRoZSBzdWJwbGFuKSwgdGhpcyByZXN1bHRzIGluIGEg Q2FydGVzaWFuIHByb2R1Y3QgYmV0d2VlbiB0MSBhbmQgdDIsIGZvbGxvd2VkIGJ5IGZpbHRlcmlu ZyB0aHJvdWdoIHRoZSBzdWJwbGFuLiBXaXRoIHQxIGFuZCB0MiBib3RoIGhhdmluZyAxMDAwIHJv d3MsIHRoaXMgcHJvZHVjZXMgYSBsYXJnZSBpbnRlcm1lZGlhdGUgcmVzdWx0IHNldCAoMSwwMDAs MDAwIHJvd3MpIHdoZW4gdGhlIGFjdHVhbCByZXN1bHQgc2V0IGlzIG11Y2ggc21hbGxlci4KJmd0 OyZndDsKJmd0OyZndDsgV291bGQgaXQgYmUgcG9zc2libGUgdGhhdCB0aGUgc3VibGluayBpcyBw dWxsZWQgdXAgb25seSB3aGVuIGl0IGhhcyBhbnkgam9pbiBjb25kaXRpb25zIHdpdGggdGhlIHVw cGVyIHJlbGF0aW9uPyBJZiBubyBzdWNoIGNvbmRpdGlvbnMgZXhpc3QsIGEgQ2FydGVzaWFuIHBy b2R1Y3QgaXMgbGlrZWx5IGFuZCBwdWxsaW5nIHVwIHNob3VsZCBiZSBhdm9pZGVkLgomZ3Q7Jmd0 OwomZ3Q7Jmd0OyBBbnkgdGhvdWdodHMgb3Igc3VnZ2VzdGlvbnMgd291bGQgYmUgYXBwcmVjaWF0 ZWQhCiZndDsKJmd0O1lvdSBjYW4gYWRkICJvZmZzZXQgMCIgaW50byB0aGUgc3VicXVlcnk7IHRo ZW4gdGhlIHBsYW4gc2hvdWxkIGJlIHdoYXQgeW91IHdhbnQuCiZndDtwb3N0Z3Jlcz0jIGV4cGxh aW4gc2VsZWN0ICogZnJvbSB0MSB3aGVyZSBleGlzdHMoc2VsZWN0IDEgZnJvbSB0MgomZ3Q7d2hl cmUgdDIuYSBpbihzZWxlY3QgdDEuYiBmcm9tIHQzIHdoZXJlIHQzLmI9dDEuYikgb2Zmc2V0IDAp OwomZ3Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4KJmd0Oy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQomZ3Q7IFNlcSBTY2FuIG9uIHQxICAoY29zdD0wLjAwLi4xOTY1MS4wMCByb3dzPTUwMCB3aWR0 aD0xNikKJmd0OyAgIEZpbHRlcjogRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpCiZndDsgICBTdWJQ bGFuIGV4aXN0c18xCiZndDsgICAgIC0mZ3Q7ICBOZXN0ZWQgTG9vcCBTZW1pIEpvaW4gIChjb3N0 PTAuMDAuLjE5LjY0IHJvd3M9MSB3aWR0aD00KQomZ3Q7ICAgICAgICAgICAtJmd0OyAgU2VxIFNj YW4gb24gdDIgIChjb3N0PTAuMDAuLjE4LjUwIHJvd3M9MSB3aWR0aD0wKQomZ3Q7ICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChhID0gdDEuYikKJmd0OyAgICAgICAgICAgLSZndDsgIFNlcSBTY2Fu IG9uIHQzICAoY29zdD0wLjAwLi4xLjEyIHJvd3M9MSB3aWR0aD0wKQomZ3Q7ICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChiID0gdDEuYikKJmd0Oyg4IHJvd3MpCiZndDsKJmd0O0FuZCB0aGUgRXhl Y3V0aW9uIFRpbWU6IDE3OC44NzcgbXM7IHdpdGhvdXQgIm9mZnNldCAwIiwgaXQgaXMgNDA0OC45 NzAKJmd0O21zIG9uIG15IG1hY2hpbmUuCiZndDsKJmd0O0luIGNvbnZlcnRfRVhJU1RTX3N1Ymxp bmtfdG9fam9pbigpLCB3ZSBoYXZlOgomZ3Q7ICAgIC8qCiZndDsgICAgICogT24gdGhlIG90aGVy IGhhbmQsIHRoZSBXSEVSRSBjbGF1c2UgbXVzdCBjb250YWluIHNvbWUgVmFycyBvZiB0aGUKJmd0 OyAgICAgKiBwYXJlbnQgcXVlcnksIGVsc2UgaXQncyBub3QgZ29ubmEgYmUgYSBqb2luLgomZ3Q7 ICAgICAqLwomZ3Q7ICAgIGlmICghY29udGFpbl92YXJzX29mX2xldmVsKHdoZXJlQ2xhdXNlLCAx KSkKJmd0OyAgICAgICAgcmV0dXJuIE5VTEw7CiZndDsKJmd0O1doZW4gd2UgcmVjdXJzZSBpbnRv IHRoZSB0aGlyZCBzdWJsaW5rIGluCiZndDtjb250YWluX3ZhcnNfb2ZfbGV2ZWxfd2Fsa2VyKCks IHRoZSBsZXZlbHN1cCB3YXMgKzEoaS5lLiAyKQomZ3Q7dDEuYiBpbiAidDMuYiA9IHQxLmIiIGlz IFZhciBbdmFybm89MSB2YXJhdHRubz0yIHZhcnR5cGU9MjMKJmd0O3ZhcmxldmVsc3VwPTIgdmFy cmV0dXJuaW5ndHlwZT1WQVJfUkVUVVJOSU5HX0RFRkFVTFQgdmFybm9zeW49MQomZ3Q7dmFyYXR0 bm9zeW49Ml0KJmd0O1lvdSBjYW4gc2VlIHRoYXQgdmFybGV2ZWxzdXAgaXMgMiwgc28KJmd0O2Nv bnRhaW5fdmFyc19vZl9sZXZlbCh3aGVyZUNsYXVzZSwgMSkgcmV0dXJucyB0cnVlLiBUaGVuIHRo ZSBzdWJsaW5rCiZndDtpcyBwdWxsZWQgdXAuCiZndDsKJmd0O0kgbWFkZSBzb21lIGF0dGVtcHRz LgomZ3Q7CiZndDsjMQomZ3Q7V2UgY2FuJ3Qgc2ltcGx5IHJlbW92ZSB0aGUiKCpzdWJsZXZlbHNf dXApKys7ICIgaW4KJmd0O2NvbnRhaW5fdmFyc19vZl9sZXZlbF93YWxrZXIoKTsgYmVjYXVzZSBz b21lIG90aGVyIHBsYWNlcyBhbHNvIGNhbGwKJmd0O3RoaXMgZnVuY3Rpb24uCiZndDtJZiB5b3Ug ZG8gdGhpcywgdGhlIHJlZ3Jlc3Npb24gd2lsbCBjcmFzaC4KJmd0OyMyCiZndDtJIHJld3JvdGUg YSBzZXBhcmF0ZSB2ZXJzaW9uIGJhc2VkIG9uIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uCiZn dDtzcGVjaWZpY2FsbHkgZm9yIFN1YkxpbmsgcHVsbC11cC4gTXkgZ29hbCB3YXMgc2ltcGx5IHRv IHNlZSB3aGV0aGVyIGl0CiZndDt3b3VsZCBjYXVzZSBhbnkgcmVncmVzc2lvbiB0ZXN0IGZhaWx1 cmVzLgomZ3Q7VGhlIGF0dGFjaGVkIGlzIG15IHRlc3QuIEl0J3Mgb25seSBmb3IgdGVzdGluZy4K Jmd0O1RvIG15IHN1cnByaXNlLCBhbGwgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgcGFzc2VkLgomZ3Q7 CiZndDtJJ20gbm90IHN1cmUgaXQgaXMgYSBidWcuIFRoZSBjb2RlIHdhcyBjb21taXR0ZWQgMTcg eWVhcnMgYWdvIGJ5IFRvbS4KJmd0O0FuZCBJJ20gbm90IHN1cmUgeW91J3JlIHRoZSBmaXJzdCB0 byByZXBvcnQgdGhpcyBpc3N1ZS4KJmd0O0kgZmVlbCB0aGF0IGluIG1vc3QgY2FzZXMsIHRoZSBz ZWNvbmQgcXVlcnkgd2lsbCByZWZlciB0byB0aGUgdG9wCiZndDtxdWVyeSdzIGNvbHVtbiwgYW5k IHRoZSB0aGlyZCBxdWVyeSB3aWxsIHJlZmVyIHRvIHRoZSBzZWNvbmQgcXVlcnkncwomZ3Q7Y29s dW1uLgomZ3Q7CiZndDstLSAKJmd0O1RoYW5rcywKJmd0O1RlbmRlciBXYW5nCjwvcHJlPjwvZGl2 Pg== ------=_Part_119926_1644830648.1785509642537--