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 1wukIg-000tSQ-2U for pgsql-hackers@arkaria.postgresql.org; Fri, 14 Aug 2026 05:17:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wukId-00HH8t-1g for pgsql-hackers@arkaria.postgresql.org; Fri, 14 Aug 2026 05:17:48 +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.96) (envelope-from ) id 1wukIc-00HH8l-30 for pgsql-hackers@lists.postgresql.org; Fri, 14 Aug 2026 05:17:48 +0000 Received: from mail-qt1-x832.google.com ([2607:f8b0:4864:20::832]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wukIa-00000000elD-0WVZ for pgsql-hackers@lists.postgresql.org; Fri, 14 Aug 2026 05:17:47 +0000 Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-51c8e2e39easo6958991cf.0 for ; Thu, 13 Aug 2026 22:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20251104.gappssmtp.com; s=20251104; t=1786684662; x=1787289462; darn=lists.postgresql.org; h=mime-version:user-agent:content-type:references:in-reply-to:date:cc :to:from:subject:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=ygoqeRzRnfhYuvl5xxBdQGxDZt4xv8fQronp0eUU9qE=; b=Th7FJKWq+/TN6H5Ks9Nhvwwq40v3vGFvOB22PUD/Cz0duo11mgvZG15hCFlsxDqufD ddkhwofJ7GooKFiytjHHS21SEzOyXWNqlGlO15g+Sk386fvu25HNEu1WkwhMPJ1PxRH/ MVJKzvRwfwNUaeEfnfsGH8siVdvPUsf2ww9/9D73E+83dSWM1qxQlCUk5TAvWnPWJnNu tbyNw/+wlGTkfi/OgcGGfjxmgb1DWMKJVsuFTmw3OrhvhKpGGqxoWfq5V/4d6K7Np71y BHbNm1nfLeJJBY10ObiEQ7bPhcOtQC3TOUq/y9MI+zS1VclN465NnZORKLmUOyVMLVH7 XJ6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786684662; x=1787289462; h=mime-version:user-agent:content-type:references:in-reply-to:date:cc :to:from:subject:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=ygoqeRzRnfhYuvl5xxBdQGxDZt4xv8fQronp0eUU9qE=; b=hAe2JfRkrBbz5KUSp8OTh8SfVuG9GALtkJQy0bcJBc1xI3Ebl81BztyF4kG2Bt7IiR E1zVvmGvKulUfWnV+NTqAa8ax4tYE0mzL/Jaggd5TKc1H93PVwqnpJuXucY/yQmcZVFh tuqO1HM+QkEp2nRYEn5CqfMF6raG0TWsyeg6YdiO+0SIbQdwp6Y0AWpfdX+sLY42k3xR kkNL/a4jxogqHs0OClKXO0w7NpPXEfPduk75iFgFscEychOmJx/IjQkkSPN89Zp/1WD0 OktHB1Rj0YVl3G6l99srFCJ3bnatqyr1jcwR2wtdgM6h3U/6Z7KBOdSNhzCLBOmJFDJI 9pww== X-Forwarded-Encrypted: i=1; AHgh+RpV2nW80qUU72sCwe3Ov8PA4Eh7Fo3LwtztfFE4Y0QjPihfGFSPwl6/vj0LrIIVIY1+mNx5172HJhE3VsuF@lists.postgresql.org X-Gm-Message-State: AOJu0Yw2ilDFzllFDxrzpT/v8okHimN1hJZnPxbR0VDC83lt9QrOW1t/ aaUZ092t6EoATfIh2WfJvLWUWKvZglZLNR+NFGequ0td4hYLmt0ZA7l04NCRYurFew== X-Gm-Gg: AR+sD138WmiOPw7vH9u8IILnoX4qhv9LwCEiJreie8U4TKZq3qur0ePT3iSynLIKAso W3cZP905LstOH6Gsxgp9gx0N6nkIrFMhuC7zWfHeVZTIAkOydQdmS37yT9hhiyYiZEfWOGwoCCM 3dXIBEP6g7gAocWl3MRAZIfTTLCvMSi2qrJzq5lJSkD15qFkRf5HOM8amqydjd/yGXEgfki3r2C fxGf9wsd5wWPj8dg3xMRF8q7xihQz2AXJPK5lxmj6mo6uFvsfMtD6hNzq7QHdh64Z3G3uZF84VZ 2w43JYV8j8T4tMEo2gaLAPaVdHcwbvYAlp6QRUXPBfhXdPEtjC1O/JzdM+4kdw1ajtuWX4PL6iu g48IFzepfEh1YxvIYPw1+/wYhuXlg+VM+G+DF+BsHPiRrA8h6HlsaXr+nvmsfoVN7p1leSwNdgo RURY9mQ6dKgi1JIv8fMjOrs7rhaKG7Lzmjl3n+KdcuBmukQga8YMmBZ2iDDZgHNIElLsXOZ/mbG 5GO/MtCti26A6VCT0gNuEIp1+ZM X-Received: by 2002:a05:622a:2b05:b0:52d:78c9:9377 with SMTP id d75a77b69052e-52d8556bea3mr37549061cf.36.1786684662377; Thu, 13 Aug 2026 22:17:42 -0700 (PDT) Received: from [172.20.11.108] (syn-072-043-184-126.biz.spectrum.com. [72.43.184.126]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-52d83f00957sm13065111cf.9.2026.08.13.22.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Aug 2026 22:17:41 -0700 (PDT) Message-ID: <3d2bf8bebb21ded729431fa25c92d2425fa615f5.camel@j-davis.com> Subject: Re: Crash issue in PG18.5 regression From: Jeff Davis To: Andres Freund , Heikki Linnakangas Cc: =?ISO-8859-1?Q?=C1lvaro?= Herrera , "Masashi Kamura (Fujitsu)" , "'pgsql-hackers@lists.postgresql.org'" Date: Thu, 13 Aug 2026 22:17:40 -0700 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-iIyKo4ylk6yfLjtK5D3u" User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-iIyKo4ylk6yfLjtK5D3u Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2026-08-11 at 14:31 -0400, Andres Freund wrote: > Hm. If I infer the pg_strlower() API correctly - it's utterly > underdocumented Agreed. Patch attached. > I'd also make i size_t, given that the input is size_t.=C2=A0 Perhaps > practically > no problem, but I see no reason to not use size_t here. Patch attached for that, too. I also attached patches to make all the functions work with collate_is_c, and fixed up the -1 API in 18. Regards, Jeff Davis --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename="vPG18-0001-Fixup-5f003855e7-for-srclen-0.patch" Content-Type: text/x-patch; name="vPG18-0001-Fixup-5f003855e7-for-srclen-0.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzZGFiYzhjNGNjYzliNGIwZDZkYmU4Zjg3MzUzZjUxMWQ2ODYyYmI0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDEzIEF1ZyAyMDI2IDIwOjU3OjIwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOCAxLzRd IEZpeHVwIDVmMDAzODU1ZTcgZm9yIHNyY2xlbiA8IDAuCgpObyBhY3R1YWwgcHJvYmxlbSBiZWNh dXNlIG5vIGNhbGxlcnMgdXNlZCB0aGF0IGFzcGVjdCBvZiB0aGUgQVBJLgoKT25seSBjb21taXQg dG8gMTgsIGJlY2F1c2UgdGhhdCBwYXJ0IG9mIHRoZSBBUEkgd2FzIHJlbW92ZWQgaW4gY29tbWl0 CjZkMjJjNjdjM2IuCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL3YzNnNzYXlnZjdn cmIzcXpmc2podGR6aTdrcWQ0NWRzNTZueXVmN2dpNXFqbWw0cWJiQGV6bWZxem1obHJzMgotLS0K IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyB8IDggKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdfbG9jYWxlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKaW5kZXgg MmY4ZDVmZWE4ZjIuLjljNzIxZWZiNTJmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvcGdfbG9jYWxlLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jCkBA IC0xMzI4LDYgKzEzMjgsOCBAQCBzaXplX3QKIHBnX3N0cmxvd2VyKGNoYXIgKmRzdCwgc2l6ZV90 IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc3NpemVfdCBzcmNsZW4sCiAJCQlwZ19sb2NhbGVf dCBsb2NhbGUpCiB7CisJc3JjbGVuID0gKHNyY2xlbiA8IDApID8gc3RybGVuKHNyYykgOiBzcmNs ZW47CisKIAlpZiAobG9jYWxlLT5jdHlwZV9pc19jKQogCQlyZXR1cm4gc3RybG93ZXJfYyhkc3Qs IGRzdHNpemUsIHNyYywgc3JjbGVuKTsKIAllbHNlIGlmIChsb2NhbGUtPnByb3ZpZGVyID09IENP TExQUk9WSURFUl9CVUlMVElOKQpAQCAtMTM0OSw2ICsxMzUxLDggQEAgc2l6ZV90CiBwZ19zdHJ0 aXRsZShjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNzaXplX3Qg c3JjbGVuLAogCQkJcGdfbG9jYWxlX3QgbG9jYWxlKQogeworCXNyY2xlbiA9IChzcmNsZW4gPCAw KSA/IHN0cmxlbihzcmMpIDogc3JjbGVuOworCiAJaWYgKGxvY2FsZS0+Y3R5cGVfaXNfYykKIAkJ cmV0dXJuIHN0cnRpdGxlX2MoZHN0LCBkc3RzaXplLCBzcmMsIHNyY2xlbik7CiAJZWxzZSBpZiAo bG9jYWxlLT5wcm92aWRlciA9PSBDT0xMUFJPVklERVJfQlVJTFRJTikKQEAgLTEzNzAsNiArMTM3 NCw4IEBAIHNpemVfdAogcGdfc3RydXBwZXIoY2hhciAqZHN0LCBzaXplX3QgZHN0c2l6ZSwgY29u c3QgY2hhciAqc3JjLCBzc2l6ZV90IHNyY2xlbiwKIAkJCXBnX2xvY2FsZV90IGxvY2FsZSkKIHsK KwlzcmNsZW4gPSAoc3JjbGVuIDwgMCkgPyBzdHJsZW4oc3JjKSA6IHNyY2xlbjsKKwogCWlmIChs b2NhbGUtPmN0eXBlX2lzX2MpCiAJCXJldHVybiBzdHJ1cHBlcl9jKGRzdCwgZHN0c2l6ZSwgc3Jj LCBzcmNsZW4pOwogCWVsc2UgaWYgKGxvY2FsZS0+cHJvdmlkZXIgPT0gQ09MTFBST1ZJREVSX0JV SUxUSU4pCkBAIC0xMzkxLDYgKzEzOTcsOCBAQCBzaXplX3QKIHBnX3N0cmZvbGQoY2hhciAqZHN0 LCBzaXplX3QgZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzc2l6ZV90IHNyY2xlbiwKIAkJICAg cGdfbG9jYWxlX3QgbG9jYWxlKQogeworCXNyY2xlbiA9IChzcmNsZW4gPCAwKSA/IHN0cmxlbihz cmMpIDogc3JjbGVuOworCiAJLyogaW4gdGhlIEMgbG9jYWxlLCBjYXNlZm9sZGluZyBpcyB0aGUg c2FtZSBhcyBsb3dlcmNhc2luZyAqLwogCWlmIChsb2NhbGUtPmN0eXBlX2lzX2MpCiAJCXJldHVy biBzdHJsb3dlcl9jKGRzdCwgZHN0c2l6ZSwgc3JjLCBzcmNsZW4pOwotLSAKMi40My4wCgo= --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename*0=vPG18-0002-pg_locale.c-unicode_case.c-use-size_t-for-iter.pat; filename*1=ch Content-Type: text/x-patch; name="vPG18-0002-pg_locale.c-unicode_case.c-use-size_t-for-iter.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA2ZjExMTYzZjUyYjMyMGYxYjRlZjFjYjY2YTA2YTczZjIxMGRlNDZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDEzIEF1ZyAyMDI2IDIxOjEyOjM0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOCAyLzRd IHBnX2xvY2FsZS5jLCB1bmljb2RlX2Nhc2UuYzogdXNlIHNpemVfdCBmb3IKIGl0ZXJhdGlvbi4K Ck5vIGFjdHVhbCBwcm9ibGVtLCBqdXN0IGNsZWFudXAuIE9ubHkgcmVsZXZhbnQgdG8gMTggYW5k IDE5LgoKU3VnZ2VzdGVkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRp c2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vdjM2c3NheWdmN2dyYjNxemZzamh0ZHppN2tx ZDQ1ZHM1Nm55dWY3Z2k1cWptbDRxYmJAZXptZnF6bWhscnMyCi0tLQogc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3BnX2xvY2FsZS5jIHwgNiArKystLS0KIHNyYy9jb21tb24vdW5pY29kZV9jYXNlLmMg ICAgICAgICB8IDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jCmluZGV4IDljNzIxZWZiNTJmLi44 ZTc5Y2NiZDlmNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwpAQCAtMTI3Nyw3ICsxMjc3 LDcgQEAgZ2V0X2NvbGxhdGlvbl9hY3R1YWxfdmVyc2lvbihjaGFyIGNvbGxwcm92aWRlciwgY29u c3QgY2hhciAqY29sbGNvbGxhdGUpCiBzdGF0aWMgc2l6ZV90CiBzdHJsb3dlcl9jKGNoYXIgKmRz dCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbikKIHsKLQlp bnQJCQlpOworCXNpemVfdAkJaTsKIAogCWZvciAoaSA9IDA7IGkgPCBzcmNsZW4gJiYgaSA8IGRz dHNpemU7IGkrKykKIAkJZHN0W2ldID0gcGdfYXNjaWlfdG9sb3dlcihzcmNbaV0pOwpAQCAtMTI5 MSw3ICsxMjkxLDcgQEAgc3RhdGljIHNpemVfdAogc3RydGl0bGVfYyhjaGFyICpkc3QsIHNpemVf dCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4pCiB7CiAJYm9vbAkJd2Fz YWxudW0gPSBmYWxzZTsKLQlpbnQJCQlpOworCXNpemVfdAkJaTsKIAogCWZvciAoaSA9IDA7IGkg PCBzcmNsZW4gJiYgaSA8IGRzdHNpemU7IGkrKykKIAl7CkBAIC0xMzE1LDcgKzEzMTUsNyBAQCBz dHJ0aXRsZV9jKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6 ZV90IHNyY2xlbikKIHN0YXRpYyBzaXplX3QKIHN0cnVwcGVyX2MoY2hhciAqZHN0LCBzaXplX3Qg ZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuKQogewotCWludAkJCWk7CisJ c2l6ZV90CQlpOwogCiAJZm9yIChpID0gMDsgaSA8IHNyY2xlbiAmJiBpIDwgZHN0c2l6ZTsgaSsr KQogCQlkc3RbaV0gPSBwZ19hc2NpaV90b3VwcGVyKHNyY1tpXSk7CmRpZmYgLS1naXQgYS9zcmMv Y29tbW9uL3VuaWNvZGVfY2FzZS5jIGIvc3JjL2NvbW1vbi91bmljb2RlX2Nhc2UuYwppbmRleCA4 NjM5YjIwM2UwYy4uODZlMGI1N2Q3ZDMgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vdW5pY29kZV9j YXNlLmMKKysrIGIvc3JjL2NvbW1vbi91bmljb2RlX2Nhc2UuYwpAQCAtMzQxLDcgKzM0MSw3IEBA IGNoZWNrX2ZpbmFsX3NpZ21hKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwg c2l6ZV90IG9mZnNldCkKIAlpbnQJCQl1bGVuOwogCiAJLyogaXRlcmF0ZSBiYWNrd2FyZHMgbG9v a2luZyBmb3IgcHJlY2VkaW5nIGNoYXJhY3RlciAqLwotCWZvciAoaW50IGkgPSBvZmZzZXQ7IGkg PiAwOykKKwlmb3IgKHNpemVfdCBpID0gb2Zmc2V0OyBpID4gMDspCiAJewogCQkvKiBza2lwIGJh Y2t3YXJkcyB0aHJvdWdoIGNvbnRpbnVhdGlvbiBieXRlcyAqLwogCQlpLS07CkBAIC0zNjksNyAr MzY5LDcgQEAgY2hlY2tfZmluYWxfc2lnbWEoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBzaXpl X3QgbGVuLCBzaXplX3Qgb2Zmc2V0KQogCXVsZW4gPSB1dGY4X21ibGVuKChjb25zdCB1bnNpZ25l ZCBjaGFyICopIHN0ciArIG9mZnNldCk7CiAKIAkvKiBpdGVyYXRlIGZvcndhcmQgbG9va2luZyBm b3IgZm9sbG93aW5nIGNoYXJhY3RlciAqLwotCWZvciAoaW50IGkgPSBvZmZzZXQgKyB1bGVuOyBp IDwgbGVuOykKKwlmb3IgKHNpemVfdCBpID0gb2Zmc2V0ICsgdWxlbjsgaSA8IGxlbjspCiAJewog CQl1bGVuID0gdXRmOF9tYmxlbigoY29uc3QgdW5zaWduZWQgY2hhciAqKSBzdHIgKyBpKTsKIAot LSAKMi40My4wCgo= --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename="vPG18-0003-Add-missing-comments-in-pg_locale.c.patch" Content-Type: text/x-patch; name="vPG18-0003-Add-missing-comments-in-pg_locale.c.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3MGViZGQwNjFmOWFlMTU4YjE2NzQ0NTNlNGE2ZTAzZGIxYjc0ODE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjMyOjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOCAzLzRd IEFkZCBtaXNzaW5nIGNvbW1lbnRzIGluIHBnX2xvY2FsZS5jLgoKU3VnZ2VzdGVkLWJ5OiBBbmRy ZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdy LmVzL20vdjNubml3Y3J4ZWptY2Z2ejU2eGJkMjJocGhwcnFsZXVvcm5kNmhxa213MmJsN2tnbXpA Y255dHoyZWU1bHRrCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ19sb2NhbGUuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdfbG9jYWxlLmMKaW5kZXggOGU3OWNjYmQ5ZjYuLmMyMTYxOWY4NWNkIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BnX2xvY2FsZS5jCkBAIC0xMzI0LDYgKzEzMjQsMjAgQEAgc3RydXBwZXJfYyhj aGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4p CiAJcmV0dXJuIHNyY2xlbjsKIH0KIAorLyoKKyAqIHBnX3N0cmxvd2VyKCkKKyAqCisgKiBDb252 ZXJ0IHNyYyB0byBsb3dlcmNhc2UsIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBsZW5ndGggKG5vdCBp bmNsdWRpbmcKKyAqIHRlcm1pbmF0aW5nIE5VTCkuCisgKgorICogc3JjIG11c3QgYmUgaW4gdGhl IGRhdGFiYXNlIGVuY29kaW5nIHdpdGggbm8gZW1iZWRkZWQgTlVMcy4gIElmIHNyY2xlbiBpcwor ICogLTEsIHNyYyBtdXN0IGJlIE5VTC10ZXJtaW5hdGVkLiAgSWYgZHN0c2l6ZSBpcyB6ZXJvLCBk c3QgbWF5IGJlIE5VTEwsIHdoaWNoCisgKiBpcyB1c2VmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBy ZXF1aXJlZCBidWZmZXIgc2l6ZSBiZWZvcmUgYWxsb2NhdGluZy4KKyAqCisgKiBJZiB0aGUgcmVz dWx0IGxlbmd0aCBpcyBsZXNzIHRoYW4gZHN0c2l6ZSwgdGhlIE5VTC10ZXJtaW5hdGVkIHJlc3Vs dCBpcworICogc3RvcmVkIGluIGRzdC4gIE90aGVyd2lzZSwgdGhlIGNvbnRlbnRzIG9mIGRzdCBh cmUgdW5kZWZpbmVkLCBhbmQgdGhlCisgKiBjYWxsZXIgc2hvdWxkIHVzZSB0aGUgcmV0dXJuIHZh bHVlIHRvIHJlc2l6ZSB0aGUgYnVmZmVyIGFuZCByZXRyeS4KKyAqLwogc2l6ZV90CiBwZ19zdHJs b3dlcihjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNzaXplX3Qg c3JjbGVuLAogCQkJcGdfbG9jYWxlX3QgbG9jYWxlKQpAQCAtMTM0Nyw2ICsxMzYxLDIwIEBAIHBn X3N0cmxvd2VyKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc3Np emVfdCBzcmNsZW4sCiAJcmV0dXJuIDA7CQkJCQkvKiBrZWVwIGNvbXBpbGVyIHF1aWV0ICovCiB9 CiAKKy8qCisgKiBwZ19zdHJ0aXRsZSgpCisgKgorICogQ29udmVydCBzcmMgdG8gdGl0bGVjYXNl LCBhbmQgcmV0dXJuIHRoZSByZXN1bHQgbGVuZ3RoIChub3QgaW5jbHVkaW5nCisgKiB0ZXJtaW5h dGluZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3 aXRoIG5vIGVtYmVkZGVkIE5VTHMuICBJZiBzcmNsZW4gaXMKKyAqIC0xLCBzcmMgbXVzdCBiZSBO VUwtdGVybWluYXRlZC4gIElmIGRzdHNpemUgaXMgemVybywgZHN0IG1heSBiZSBOVUxMLCB3aGlj aAorICogaXMgdXNlZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgcmVxdWlyZWQgYnVmZmVyIHNpemUg YmVmb3JlIGFsbG9jYXRpbmcuCisgKgorICogSWYgdGhlIHJlc3VsdCBsZW5ndGggaXMgbGVzcyB0 aGFuIGRzdHNpemUsIHRoZSBOVUwtdGVybWluYXRlZCByZXN1bHQgaXMKKyAqIHN0b3JlZCBpbiBk c3QuICBPdGhlcndpc2UsIHRoZSBjb250ZW50cyBvZiBkc3QgYXJlIHVuZGVmaW5lZCwgYW5kIHRo ZQorICogY2FsbGVyIHNob3VsZCB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byByZXNpemUgdGhlIGJ1 ZmZlciBhbmQgcmV0cnkuCisgKi8KIHNpemVfdAogcGdfc3RydGl0bGUoY2hhciAqZHN0LCBzaXpl X3QgZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzc2l6ZV90IHNyY2xlbiwKIAkJCXBnX2xvY2Fs ZV90IGxvY2FsZSkKQEAgLTEzNzAsNiArMTM5OCwyMCBAQCBwZ19zdHJ0aXRsZShjaGFyICpkc3Qs IHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNzaXplX3Qgc3JjbGVuLAogCXJldHVy biAwOwkJCQkJLyoga2VlcCBjb21waWxlciBxdWlldCAqLwogfQogCisvKgorICogcGdfc3RydXBw ZXIoKQorICoKKyAqIENvbnZlcnQgc3JjIHRvIHVwcGVyY2FzZSwgYW5kIHJldHVybiB0aGUgcmVz dWx0IGxlbmd0aCAobm90IGluY2x1ZGluZworICogdGVybWluYXRpbmcgTlVMKS4KKyAqCisgKiBz cmMgbXVzdCBiZSBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxz LiAgSWYgc3JjbGVuIGlzCisgKiAtMSwgc3JjIG11c3QgYmUgTlVMLXRlcm1pbmF0ZWQuICBJZiBk c3RzaXplIGlzIHplcm8sIGRzdCBtYXkgYmUgTlVMTCwgd2hpY2gKKyAqIGlzIHVzZWZ1bCBmb3Ig Y2FsY3VsYXRpbmcgdGhlIHJlcXVpcmVkIGJ1ZmZlciBzaXplIGJlZm9yZSBhbGxvY2F0aW5nLgor ICoKKyAqIElmIHRoZSByZXN1bHQgbGVuZ3RoIGlzIGxlc3MgdGhhbiBkc3RzaXplLCB0aGUgTlVM LXRlcm1pbmF0ZWQgcmVzdWx0IGlzCisgKiBzdG9yZWQgaW4gZHN0LiAgT3RoZXJ3aXNlLCB0aGUg Y29udGVudHMgb2YgZHN0IGFyZSB1bmRlZmluZWQsIGFuZCB0aGUKKyAqIGNhbGxlciBzaG91bGQg dXNlIHRoZSByZXR1cm4gdmFsdWUgdG8gcmVzaXplIHRoZSBidWZmZXIgYW5kIHJldHJ5LgorICov CiBzaXplX3QKIHBnX3N0cnVwcGVyKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNo YXIgKnNyYywgc3NpemVfdCBzcmNsZW4sCiAJCQlwZ19sb2NhbGVfdCBsb2NhbGUpCkBAIC0xMzkz LDYgKzE0MzUsMTkgQEAgcGdfc3RydXBwZXIoY2hhciAqZHN0LCBzaXplX3QgZHN0c2l6ZSwgY29u c3QgY2hhciAqc3JjLCBzc2l6ZV90IHNyY2xlbiwKIAlyZXR1cm4gMDsJCQkJCS8qIGtlZXAgY29t cGlsZXIgcXVpZXQgKi8KIH0KIAorLyoKKyAqIHBnX3N0cmZvbGQoKQorICoKKyAqIENhc2Vmb2xk IHNyYywgYW5kIHJldHVybiB0aGUgcmVzdWx0IGxlbmd0aCAobm90IGluY2x1ZGluZyB0ZXJtaW5h dGluZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3 aXRoIG5vIGVtYmVkZGVkIE5VTHMuICBJZiBzcmNsZW4gaXMKKyAqIC0xLCBzcmMgbXVzdCBiZSBO VUwtdGVybWluYXRlZC4gIElmIGRzdHNpemUgaXMgemVybywgZHN0IG1heSBiZSBOVUxMLCB3aGlj aAorICogaXMgdXNlZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgcmVxdWlyZWQgYnVmZmVyIHNpemUg YmVmb3JlIGFsbG9jYXRpbmcuCisgKgorICogSWYgdGhlIHJlc3VsdCBsZW5ndGggaXMgbGVzcyB0 aGFuIGRzdHNpemUsIHRoZSBOVUwtdGVybWluYXRlZCByZXN1bHQgaXMKKyAqIHN0b3JlZCBpbiBk c3QuICBPdGhlcndpc2UsIHRoZSBjb250ZW50cyBvZiBkc3QgYXJlIHVuZGVmaW5lZCwgYW5kIHRo ZQorICogY2FsbGVyIHNob3VsZCB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byByZXNpemUgdGhlIGJ1 ZmZlciBhbmQgcmV0cnkuCisgKi8KIHNpemVfdAogcGdfc3RyZm9sZChjaGFyICpkc3QsIHNpemVf dCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNzaXplX3Qgc3JjbGVuLAogCQkgICBwZ19sb2Nh bGVfdCBsb2NhbGUpCkBAIC0xNDMyLDEyICsxNDg3LDEwIEBAIHBnX3N0cmNvbGwoY29uc3QgY2hh ciAqYXJnMSwgY29uc3QgY2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogLyoKICAqIHBn X3N0cm5jb2xsCiAgKgotICogQ2FsbCB1Y29sX3N0cmNvbGxVVEY4KCksIHVjb2xfc3RyY29sbCgp LCBzdHJjb2xsX2woKSBvciB3Y3Njb2xsX2woKSBhcwotICogYXBwcm9wcmlhdGUgZm9yIHRoZSBn aXZlbiBsb2NhbGUsIHBsYXRmb3JtLCBhbmQgZGF0YWJhc2UgZW5jb2RpbmcuIElmIHRoZQotICog bG9jYWxlIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSB0aGUgZGF0YWJhc2UgY29sbGF0aW9uLgorICog Q29tcGFyZSBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gbG9jYWxlLgogICoKLSAqIFRo ZSBpbnB1dCBzdHJpbmdzIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcu IElmIGFuIGlucHV0Ci0gKiBzdHJpbmcgaXMgTlVMLXRlcm1pbmF0ZWQsIGl0cyBsZW5ndGggbWF5 IGJlIHNwZWNpZmllZCBhcyAtMS4KKyAqIFN0cmluZ3MgbXVzdCBiZSBlbmNvZGVkIGluIHRoZSBk YXRhYmFzZSBlbmNvZGluZyB3aXRoIG5vIGVtYmVkZGVkIE5VTHMuICBJZgorICogYW4gaW5wdXQg c3RyaW5nIGlzIE5VTC10ZXJtaW5hdGVkLCBpdHMgbGVuZ3RoIG1heSBiZSBzcGVjaWZpZWQgYXMg LTEuCiAgKgogICogVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgYnJlYWtpbmcgdGllcyBp ZiB0aGUgY29sbGF0aW9uIGlzCiAgKiBkZXRlcm1pbmlzdGljOyB0aGlzIG1haW50YWlucyBjb25z aXN0ZW5jeSB3aXRoIHBnX3N0cm54ZnJtKCksIHdoaWNoIGNhbm5vdApAQCAtMTQ1Myw5ICsxNTA2 LDYgQEAgcGdfc3RybmNvbGwoY29uc3QgY2hhciAqYXJnMSwgc3NpemVfdCBsZW4xLCBjb25zdCBj aGFyICphcmcyLCBzc2l6ZV90IGxlbjIsCiAvKgogICogUmV0dXJuIHRydWUgaWYgdGhlIGNvbGxh dGlvbiBwcm92aWRlciBzdXBwb3J0cyBwZ19zdHJ4ZnJtKCkgYW5kCiAgKiBwZ19zdHJueGZybSgp OyBvdGhlcndpc2UgZmFsc2UuCi0gKgotICoKLSAqIE5vIHNpbWlsYXIgcHJvYmxlbSBpcyBrbm93 biBmb3IgdGhlIElDVSBwcm92aWRlci4KICAqLwogYm9vbAogcGdfc3RyeGZybV9lbmFibGVkKHBn X2xvY2FsZV90IGxvY2FsZSkKQEAgLTE0ODYsOSArMTUzNiw5IEBAIHBnX3N0cnhmcm0oY2hhciAq ZGVzdCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgZGVzdHNpemUsIHBnX2xvY2FsZV90IGxvY2Fs ZSkKICAqIG9yZGluYXJ5IHN0cmNtcCgpIG9uIHRyYW5zZm9ybWVkIHN0cmluZ3MgaXMgZXF1aXZh bGVudCB0byBwZ19zdHJjb2xsKCkgb24KICAqIHVudHJhbnNmb3JtZWQgc3RyaW5ncy4KICAqCi0g KiBUaGUgaW5wdXQgc3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rp bmcuIElmIHRoZSBpbnB1dAotICogc3RyaW5nIGlzIE5VTC10ZXJtaW5hdGVkLCBpdHMgbGVuZ3Ro IG1heSBiZSBzcGVjaWZpZWQgYXMgLTEuIElmICdkZXN0c2l6ZScKLSAqIGlzIHplcm8sICdkZXN0 JyBtYXkgYmUgTlVMTC4KKyAqIFN0cmluZyBtdXN0IGJlIGVuY29kZWQgaW4gdGhlIGRhdGFiYXNl IGVuY29kaW5nIHdpdGggbm8gZW1iZWRkZWQgTlVMcy4gIElmCisgKiBzcmNsZW4gaXMgLTEsIHNy YyBtdXN0IGJlIE5VTC10ZXJtaW5hdGVkLiAgSWYgJ2Rlc3RzaXplJyBpcyB6ZXJvLCAnZGVzdCcK KyAqIG1heSBiZSBOVUxMLgogICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQgcGdfc3Ry bnhmcm0oKSBzYWZlbHkuIFRoZSBjYWxsZXIgc2hvdWxkIGNoZWNrCiAgKiBwZ19zdHJ4ZnJtX2Vu YWJsZWQoKSBmaXJzdCwgb3RoZXJ3aXNlIHRoaXMgZnVuY3Rpb24gbWF5IHJldHVybiB3cm9uZwpA QCAtMTUzNCw4ICsxNTg0LDggQEAgcGdfc3RyeGZybV9wcmVmaXgoY2hhciAqZGVzdCwgY29uc3Qg Y2hhciAqc3JjLCBzaXplX3QgZGVzdHNpemUsCiAgKiBtZW1jbXAoKSBvbiB0aGUgYnl0ZSBzZXF1 ZW5jZSBpcyBlcXVpdmFsZW50IHRvIHBnX3N0cm5jb2xsKCkgb24KICAqIHVudHJhbnNmb3JtZWQg c3RyaW5ncy4gVGhlIHJlc3VsdCBpcyBub3QgbnVsLXRlcm1pbmF0ZWQuCiAgKgotICogVGhlIGlu cHV0IHN0cmluZyBtdXN0IGJlIGVuY29kZWQgaW4gdGhlIGRhdGFiYXNlIGVuY29kaW5nLiBJZiB0 aGUgaW5wdXQKLSAqIHN0cmluZyBpcyBOVUwtdGVybWluYXRlZCwgaXRzIGxlbmd0aCBtYXkgYmUg c3BlY2lmaWVkIGFzIC0xLgorICogU3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJh c2UgZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxzLiBJZgorICogdGhlIGlucHV0IHN0cmlu ZyBpcyBOVUwtdGVybWluYXRlZCwgaXRzIGxlbmd0aCBtYXkgYmUgc3BlY2lmaWVkIGFzIC0xLgog ICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQgcGdfc3Rybnhmcm1fcHJlZml4KCkgc2Fm ZWx5LiBUaGUgY2FsbGVyIHNob3VsZAogICogY2hlY2sgcGdfc3RyeGZybV9wcmVmaXhfZW5hYmxl ZCgpIGZpcnN0LCBvdGhlcndpc2UgdGhpcyBmdW5jdGlvbiBtYXkgcmV0dXJuCi0tIAoyLjQzLjAK Cg== --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename*0=vPG18-0004-Ensure-all-pg_locale.h-APIs-work-with-collate_.pat; filename*1=ch Content-Type: text/x-patch; name="vPG18-0004-Ensure-all-pg_locale.h-APIs-work-with-collate_.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyN2UzMzZhMmFkZDI2NjBmYTI4YmE0MTBkYzg4ODhhYWM3YmU5ZmIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjQ2OjQ4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOCA0LzRd IEVuc3VyZSBhbGwgcGdfbG9jYWxlLmggQVBJcyB3b3JrIHdpdGggY29sbGF0ZV9pc19jLgoKU3Vn Z2VzdGVkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vdjM2c3NheWdmN2dyYjNxemZzamh0ZHppN2txZDQ1ZHM1Nm55 dWY3Z2k1cWptbDRxYmJAZXptZnF6bWhscnMyCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyB8IDY0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwppbmRleCBjMjE2MTlmODVjZC4uYWQ5ZjQx NmVjMTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKQEAgLTE0ODEsNyArMTQ4MSwxMCBA QCBwZ19zdHJmb2xkKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywg c3NpemVfdCBzcmNsZW4sCiBpbnQKIHBnX3N0cmNvbGwoY29uc3QgY2hhciAqYXJnMSwgY29uc3Qg Y2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUtPmNvbGxh dGUtPnN0cm5jb2xsKGFyZzEsIC0xLCBhcmcyLCAtMSwgbG9jYWxlKTsKKwlpZiAobG9jYWxlLT5j b2xsYXRlID09IE5VTEwpCisJCXJldHVybiBzdHJjbXAoYXJnMSwgYXJnMik7CisJZWxzZQorCQly ZXR1cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJuY29sbChhcmcxLCAtMSwgYXJnMiwgLTEsIGxvY2Fs ZSk7CiB9CiAKIC8qCkBAIC0xNTAwLDcgKzE1MDMsMjAgQEAgaW50CiBwZ19zdHJuY29sbChjb25z dCBjaGFyICphcmcxLCBzc2l6ZV90IGxlbjEsIGNvbnN0IGNoYXIgKmFyZzIsIHNzaXplX3QgbGVu MiwKIAkJCXBnX2xvY2FsZV90IGxvY2FsZSkKIHsKLQlyZXR1cm4gbG9jYWxlLT5jb2xsYXRlLT5z dHJuY29sbChhcmcxLCBsZW4xLCBhcmcyLCBsZW4yLCBsb2NhbGUpOworCWlmIChsb2NhbGUtPmNv bGxhdGUgPT0gTlVMTCkKKwl7CisJCWludAkJCXJlc3VsdDsKKworCQlsZW4xID0gKGxlbjEgPCAw KSA/IHN0cmxlbihhcmcxKSA6IGxlbjE7CisJCWxlbjIgPSAobGVuMiA8IDApID8gc3RybGVuKGFy ZzIpIDogbGVuMjsKKwkJcmVzdWx0ID0gbWVtY21wKGFyZzEsIGFyZzIsIE1pbihsZW4xLCBsZW4y KSk7CisKKwkJaWYgKChyZXN1bHQgPT0gMCkgJiYgKGxlbjEgIT0gbGVuMikpCisJCQlyZXN1bHQg PSAobGVuMSA8IGxlbjIpID8gLTEgOiAxOworCQlyZXR1cm4gcmVzdWx0OworCX0KKwllbHNlCisJ CXJldHVybiBsb2NhbGUtPmNvbGxhdGUtPnN0cm5jb2xsKGFyZzEsIGxlbjEsIGFyZzIsIGxlbjIs IGxvY2FsZSk7CiB9CiAKIC8qCkBAIC0xNTEwLDYgKzE1MjYsOSBAQCBwZ19zdHJuY29sbChjb25z dCBjaGFyICphcmcxLCBzc2l6ZV90IGxlbjEsIGNvbnN0IGNoYXIgKmFyZzIsIHNzaXplX3QgbGVu MiwKIGJvb2wKIHBnX3N0cnhmcm1fZW5hYmxlZChwZ19sb2NhbGVfdCBsb2NhbGUpCiB7CisJaWYg KGxvY2FsZS0+Y29sbGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gdHJ1ZTsKKwogCS8qCiAJICogbG9j YWxlLT5jb2xsYXRlLT5zdHJueGZybSBpcyBzdGlsbCBhIHJlcXVpcmVkIG1ldGhvZCwgZXZlbiBp ZiBpdCBtYXkKIAkgKiBoYXZlIHRoZSB3cm9uZyBiZWhhdmlvciwgYmVjYXVzZSB0aGUgcGxhbm5l ciB1c2VzIGl0IGZvciBlc3RpbWF0ZXMgaW4KQEAgLTE1MjYsNyArMTU0NSwxMCBAQCBwZ19zdHJ4 ZnJtX2VuYWJsZWQocGdfbG9jYWxlX3QgbG9jYWxlKQogc2l6ZV90CiBwZ19zdHJ4ZnJtKGNoYXIg KmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3RzaXplLCBwZ19sb2NhbGVfdCBsb2Nh bGUpCiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3Rybnhmcm0oZGVzdCwgZGVzdHNpemUs IHNyYywgLTEsIGxvY2FsZSk7CisJaWYgKGxvY2FsZS0+Y29sbGF0ZSA9PSBOVUxMKQorCQlyZXR1 cm4gcGdfc3Rybnhmcm0oZGVzdCwgZGVzdHNpemUsIHNyYywgc3RybGVuKHNyYyksIGxvY2FsZSk7 CisJZWxzZQorCQlyZXR1cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJueGZybShkZXN0LCBkZXN0c2l6 ZSwgc3JjLCAtMSwgbG9jYWxlKTsKIH0KIAogLyoKQEAgLTE1NTIsNiArMTU3NCwxOCBAQCBzaXpl X3QKIHBnX3N0cm54ZnJtKGNoYXIgKmRlc3QsIHNpemVfdCBkZXN0c2l6ZSwgY29uc3QgY2hhciAq c3JjLCBzc2l6ZV90IHNyY2xlbiwKIAkJCXBnX2xvY2FsZV90IGxvY2FsZSkKIHsKKwlpZiAobG9j YWxlLT5jb2xsYXRlID09IE5VTEwpCisJeworCQlzcmNsZW4gPSAoc3JjbGVuIDwgMCkgPyBzdHJs ZW4oc3JjKSA6IHNyY2xlbjsKKworCQlpZiAoZGVzdHNpemUgPiBzcmNsZW4pCisJCXsKKwkJCW1l bWNweShkZXN0LCBzcmMsIHNyY2xlbik7CisJCQlkZXN0W3NyY2xlbl0gPSAnXDAnOworCQl9CisK KwkJcmV0dXJuIHNyY2xlbjsKKwl9CiAJcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3Rybnhmcm0o ZGVzdCwgZGVzdHNpemUsIHNyYywgc3JjbGVuLCBsb2NhbGUpOwogfQogCkBAIC0xNTYyLDcgKzE1 OTYsMTAgQEAgcGdfc3Rybnhmcm0oY2hhciAqZGVzdCwgc2l6ZV90IGRlc3RzaXplLCBjb25zdCBj aGFyICpzcmMsIHNzaXplX3Qgc3JjbGVuLAogYm9vbAogcGdfc3RyeGZybV9wcmVmaXhfZW5hYmxl ZChwZ19sb2NhbGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54 ZnJtX3ByZWZpeCAhPSBOVUxMKTsKKwlpZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJCXJl dHVybiB0cnVlOworCWVsc2UKKwkJcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtX3By ZWZpeCAhPSBOVUxMKTsKIH0KIAogLyoKQEAgLTE1NzQsNyArMTYxMSwxMCBAQCBzaXplX3QKIHBn X3N0cnhmcm1fcHJlZml4KGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3Rz aXplLAogCQkJCSAgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUtPmNvbGxh dGUtPnN0cm54ZnJtX3ByZWZpeChkZXN0LCBkZXN0c2l6ZSwgc3JjLCAtMSwgbG9jYWxlKTsKKwlp ZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJCXJldHVybiBwZ19zdHJueGZybV9wcmVmaXgo ZGVzdCwgZGVzdHNpemUsIHNyYywgc3RybGVuKHNyYyksIGxvY2FsZSk7CisJZWxzZQorCQlyZXR1 cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJueGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywg LTEsIGxvY2FsZSk7CiB9CiAKIC8qCkBAIC0xNTk5LDcgKzE2MzksMTkgQEAgc2l6ZV90CiBwZ19z dHJueGZybV9wcmVmaXgoY2hhciAqZGVzdCwgc2l6ZV90IGRlc3RzaXplLCBjb25zdCBjaGFyICpz cmMsCiAJCQkJICAgc3NpemVfdCBzcmNsZW4sIHBnX2xvY2FsZV90IGxvY2FsZSkKIHsKLQlyZXR1 cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJueGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywg c3JjbGVuLCBsb2NhbGUpOworCWlmIChsb2NhbGUtPmNvbGxhdGUgPT0gTlVMTCkKKwl7CisJCXNp emVfdAkJbGVuOworCisJCXNyY2xlbiA9IChzcmNsZW4gPCAwKSA/IHN0cmxlbihzcmMpIDogc3Jj bGVuOworCQlsZW4gPSBNaW4oc3JjbGVuLCBkZXN0c2l6ZSk7CisKKwkJaWYgKGRlc3RzaXplID4g MCkKKwkJCW1lbWNweShkZXN0LCBzcmMsIGxlbik7CisJCXJldHVybiBsZW47CisJfQorCWVsc2UK KwkJcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3Rybnhmcm1fcHJlZml4KGRlc3QsIGRlc3RzaXpl LCBzcmMsIHNyY2xlbiwgbG9jYWxlKTsKIH0KIAogLyoKLS0gCjIuNDMuMAoK --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename*0=vPG19-0001-pg_locale.c-unicode_case.c-use-size_t-for-iter.pat; filename*1=ch Content-Type: text/x-patch; name="vPG19-0001-pg_locale.c-unicode_case.c-use-size_t-for-iter.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjMWE1MzJkMzhhZTYzZjI3ZmY3MDVhNmJiZGVjNzhjYTVhZWQ1YjZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDEzIEF1ZyAyMDI2IDIxOjEyOjM0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOSAxLzNd IHBnX2xvY2FsZS5jLCB1bmljb2RlX2Nhc2UuYzogdXNlIHNpemVfdCBmb3IKIGl0ZXJhdGlvbi4K Ck5vIGFjdHVhbCBwcm9ibGVtLCBqdXN0IGNsZWFudXAuIE9ubHkgcmVsZXZhbnQgdG8gMTggYW5k IDE5LgoKU3VnZ2VzdGVkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRp c2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vdjM2c3NheWdmN2dyYjNxemZzamh0ZHppN2tx ZDQ1ZHM1Nm55dWY3Z2k1cWptbDRxYmJAZXptZnF6bWhscnMyCi0tLQogc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3BnX2xvY2FsZS5jIHwgNiArKystLS0KIHNyYy9jb21tb24vdW5pY29kZV9jYXNlLmMg ICAgICAgICB8IDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jCmluZGV4IDExZDQ4YTM5MTZlLi45 ZWI5OTQ4N2U1NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwpAQCAtMTI3MCw3ICsxMjcw LDcgQEAgZ2V0X2NvbGxhdGlvbl9hY3R1YWxfdmVyc2lvbihjaGFyIGNvbGxwcm92aWRlciwgY29u c3QgY2hhciAqY29sbGNvbGxhdGUpCiBzdGF0aWMgc2l6ZV90CiBzdHJsb3dlcl9jKGNoYXIgKmRz dCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbikKIHsKLQlp bnQJCQlpOworCXNpemVfdAkJaTsKIAogCWZvciAoaSA9IDA7IGkgPCBzcmNsZW4gJiYgaSA8IGRz dHNpemU7IGkrKykKIAkJZHN0W2ldID0gcGdfYXNjaWlfdG9sb3dlcihzcmNbaV0pOwpAQCAtMTI4 NCw3ICsxMjg0LDcgQEAgc3RhdGljIHNpemVfdAogc3RydGl0bGVfYyhjaGFyICpkc3QsIHNpemVf dCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4pCiB7CiAJYm9vbAkJd2Fz YWxudW0gPSBmYWxzZTsKLQlpbnQJCQlpOworCXNpemVfdAkJaTsKIAogCWZvciAoaSA9IDA7IGkg PCBzcmNsZW4gJiYgaSA8IGRzdHNpemU7IGkrKykKIAl7CkBAIC0xMzA4LDcgKzEzMDgsNyBAQCBz dHJ0aXRsZV9jKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6 ZV90IHNyY2xlbikKIHN0YXRpYyBzaXplX3QKIHN0cnVwcGVyX2MoY2hhciAqZHN0LCBzaXplX3Qg ZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuKQogewotCWludAkJCWk7CisJ c2l6ZV90CQlpOwogCiAJZm9yIChpID0gMDsgaSA8IHNyY2xlbiAmJiBpIDwgZHN0c2l6ZTsgaSsr KQogCQlkc3RbaV0gPSBwZ19hc2NpaV90b3VwcGVyKHNyY1tpXSk7CmRpZmYgLS1naXQgYS9zcmMv Y29tbW9uL3VuaWNvZGVfY2FzZS5jIGIvc3JjL2NvbW1vbi91bmljb2RlX2Nhc2UuYwppbmRleCBk ZDViM2JhODZkMC4uNzQ0YjkxMTZiMTIgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24vdW5pY29kZV9j YXNlLmMKKysrIGIvc3JjL2NvbW1vbi91bmljb2RlX2Nhc2UuYwpAQCAtMzM2LDcgKzMzNiw3IEBA IGNoZWNrX2ZpbmFsX3NpZ21hKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwg c2l6ZV90IG9mZnNldCkKIAlpbnQJCQl1bGVuOwogCiAJLyogaXRlcmF0ZSBiYWNrd2FyZHMgbG9v a2luZyBmb3IgcHJlY2VkaW5nIGNoYXJhY3RlciAqLwotCWZvciAoaW50IGkgPSBvZmZzZXQ7IGkg PiAwOykKKwlmb3IgKHNpemVfdCBpID0gb2Zmc2V0OyBpID4gMDspCiAJewogCQkvKiBza2lwIGJh Y2t3YXJkcyB0aHJvdWdoIGNvbnRpbnVhdGlvbiBieXRlcyAqLwogCQlpLS07CkBAIC0zNjQsNyAr MzY0LDcgQEAgY2hlY2tfZmluYWxfc2lnbWEoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBzaXpl X3QgbGVuLCBzaXplX3Qgb2Zmc2V0KQogCXVsZW4gPSB1dGY4X21ibGVuKChjb25zdCB1bnNpZ25l ZCBjaGFyICopIHN0ciArIG9mZnNldCk7CiAKIAkvKiBpdGVyYXRlIGZvcndhcmQgbG9va2luZyBm b3IgZm9sbG93aW5nIGNoYXJhY3RlciAqLwotCWZvciAoaW50IGkgPSBvZmZzZXQgKyB1bGVuOyBp IDwgbGVuOykKKwlmb3IgKHNpemVfdCBpID0gb2Zmc2V0ICsgdWxlbjsgaSA8IGxlbjspCiAJewog CQl1bGVuID0gdXRmOF9tYmxlbigoY29uc3QgdW5zaWduZWQgY2hhciAqKSBzdHIgKyBpKTsKIAot LSAKMi40My4wCgo= --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename="vPG19-0002-Add-missing-comments-in-pg_locale.c.patch" Content-Type: text/x-patch; name="vPG19-0002-Add-missing-comments-in-pg_locale.c.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA4MWFkMTE2MWVkODY0ZTE1NzJlNTMxOWVlY2VjMDM3NjcwZTk0MGI0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjMyOjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOSAyLzNd IEFkZCBtaXNzaW5nIGNvbW1lbnRzIGluIHBnX2xvY2FsZS5jLgoKU3VnZ2VzdGVkLWJ5OiBBbmRy ZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdy LmVzL20vdjNubml3Y3J4ZWptY2Z2ejU2eGJkMjJocGhwcnFsZXVvcm5kNmhxa213MmJsN2tnbXpA Y255dHoyZWU1bHRrCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ19sb2NhbGUuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdfbG9jYWxlLmMKaW5kZXggOWViOTk0ODdlNTcuLmRhMzI1OTAzOTZmIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BnX2xvY2FsZS5jCkBAIC0xMzE3LDYgKzEzMTcsMjAgQEAgc3RydXBwZXJfYyhj aGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4p CiAJcmV0dXJuIHNyY2xlbjsKIH0KIAorLyoKKyAqIHBnX3N0cmxvd2VyKCkKKyAqCisgKiBDb252 ZXJ0IHNyYyB0byBsb3dlcmNhc2UsIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBsZW5ndGggKG5vdCBp bmNsdWRpbmcKKyAqIHRlcm1pbmF0aW5nIE5VTCkuCisgKgorICogc3JjIG11c3QgYmUgaW4gdGhl IGRhdGFiYXNlIGVuY29kaW5nIHdpdGggbm8gZW1iZWRkZWQgTlVMcy4gIElmIGRzdHNpemUgaXMK KyAqIHplcm8sIGRzdCBtYXkgYmUgTlVMTCwgd2hpY2ggaXMgdXNlZnVsIGZvciBjYWxjdWxhdGlu ZyB0aGUgcmVxdWlyZWQgYnVmZmVyCisgKiBzaXplIGJlZm9yZSBhbGxvY2F0aW5nLgorICoKKyAq IElmIHRoZSByZXN1bHQgbGVuZ3RoIGlzIGxlc3MgdGhhbiBkc3RzaXplLCB0aGUgTlVMLXRlcm1p bmF0ZWQgcmVzdWx0IGlzCisgKiBzdG9yZWQgaW4gZHN0LiAgT3RoZXJ3aXNlLCB0aGUgY29udGVu dHMgb2YgZHN0IGFyZSB1bmRlZmluZWQsIGFuZCB0aGUKKyAqIGNhbGxlciBzaG91bGQgdXNlIHRo ZSByZXR1cm4gdmFsdWUgdG8gcmVzaXplIHRoZSBidWZmZXIgYW5kIHJldHJ5LgorICovCiBzaXpl X3QKIHBnX3N0cmxvd2VyKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNy Yywgc2l6ZV90IHNyY2xlbiwKIAkJCXBnX2xvY2FsZV90IGxvY2FsZSkKQEAgLTEzMjcsNiArMTM0 MSwyMCBAQCBwZ19zdHJsb3dlcihjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFy ICpzcmMsIHNpemVfdCBzcmNsZW4sCiAJCXJldHVybiBsb2NhbGUtPmN0eXBlLT5zdHJsb3dlcihk c3QsIGRzdHNpemUsIHNyYywgc3JjbGVuLCBsb2NhbGUpOwogfQogCisvKgorICogcGdfc3RydGl0 bGUoKQorICoKKyAqIENvbnZlcnQgc3JjIHRvIHRpdGxlY2FzZSwgYW5kIHJldHVybiB0aGUgcmVz dWx0IGxlbmd0aCAobm90IGluY2x1ZGluZworICogdGVybWluYXRpbmcgTlVMKS4KKyAqCisgKiBz cmMgbXVzdCBiZSBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxz LiAgSWYgZHN0c2l6ZSBpcworICogemVybywgZHN0IG1heSBiZSBOVUxMLCB3aGljaCBpcyB1c2Vm dWwgZm9yIGNhbGN1bGF0aW5nIHRoZSByZXF1aXJlZCBidWZmZXIKKyAqIHNpemUgYmVmb3JlIGFs bG9jYXRpbmcuCisgKgorICogSWYgdGhlIHJlc3VsdCBsZW5ndGggaXMgbGVzcyB0aGFuIGRzdHNp emUsIHRoZSBOVUwtdGVybWluYXRlZCByZXN1bHQgaXMKKyAqIHN0b3JlZCBpbiBkc3QuICBPdGhl cndpc2UsIHRoZSBjb250ZW50cyBvZiBkc3QgYXJlIHVuZGVmaW5lZCwgYW5kIHRoZQorICogY2Fs bGVyIHNob3VsZCB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byByZXNpemUgdGhlIGJ1ZmZlciBhbmQg cmV0cnkuCisgKi8KIHNpemVfdAogcGdfc3RydGl0bGUoY2hhciAqZHN0LCBzaXplX3QgZHN0c2l6 ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuLAogCQkJcGdfbG9jYWxlX3QgbG9jYWxl KQpAQCAtMTMzNyw2ICsxMzY1LDIwIEBAIHBnX3N0cnRpdGxlKGNoYXIgKmRzdCwgc2l6ZV90IGRz dHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbiwKIAkJcmV0dXJuIGxvY2FsZS0+ Y3R5cGUtPnN0cnRpdGxlKGRzdCwgZHN0c2l6ZSwgc3JjLCBzcmNsZW4sIGxvY2FsZSk7CiB9CiAK Ky8qCisgKiBwZ19zdHJ1cHBlcigpCisgKgorICogQ29udmVydCBzcmMgdG8gdXBwZXJjYXNlLCBh bmQgcmV0dXJuIHRoZSByZXN1bHQgbGVuZ3RoIChub3QgaW5jbHVkaW5nCisgKiB0ZXJtaW5hdGlu ZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3aXRo IG5vIGVtYmVkZGVkIE5VTHMuICBJZiBkc3RzaXplIGlzCisgKiB6ZXJvLCBkc3QgbWF5IGJlIE5V TEwsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcXVpcmVkIGJ1ZmZlcgor ICogc2l6ZSBiZWZvcmUgYWxsb2NhdGluZy4KKyAqCisgKiBJZiB0aGUgcmVzdWx0IGxlbmd0aCBp cyBsZXNzIHRoYW4gZHN0c2l6ZSwgdGhlIE5VTC10ZXJtaW5hdGVkIHJlc3VsdCBpcworICogc3Rv cmVkIGluIGRzdC4gIE90aGVyd2lzZSwgdGhlIGNvbnRlbnRzIG9mIGRzdCBhcmUgdW5kZWZpbmVk LCBhbmQgdGhlCisgKiBjYWxsZXIgc2hvdWxkIHVzZSB0aGUgcmV0dXJuIHZhbHVlIHRvIHJlc2l6 ZSB0aGUgYnVmZmVyIGFuZCByZXRyeS4KKyAqLwogc2l6ZV90CiBwZ19zdHJ1cHBlcihjaGFyICpk c3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4sCiAJCQlw Z19sb2NhbGVfdCBsb2NhbGUpCkBAIC0xMzQ3LDYgKzEzODksMTkgQEAgcGdfc3RydXBwZXIoY2hh ciAqZHN0LCBzaXplX3QgZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuLAog CQlyZXR1cm4gbG9jYWxlLT5jdHlwZS0+c3RydXBwZXIoZHN0LCBkc3RzaXplLCBzcmMsIHNyY2xl biwgbG9jYWxlKTsKIH0KIAorLyoKKyAqIHBnX3N0cmZvbGQoKQorICoKKyAqIENhc2Vmb2xkIHNy YywgYW5kIHJldHVybiB0aGUgcmVzdWx0IGxlbmd0aCAobm90IGluY2x1ZGluZyB0ZXJtaW5hdGlu ZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3aXRo IG5vIGVtYmVkZGVkIE5VTHMuICBJZiBkc3RzaXplIGlzCisgKiB6ZXJvLCBkc3QgbWF5IGJlIE5V TEwsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcXVpcmVkIGJ1ZmZlcgor ICogc2l6ZSBiZWZvcmUgYWxsb2NhdGluZy4KKyAqCisgKiBJZiB0aGUgcmVzdWx0IGxlbmd0aCBp cyBsZXNzIHRoYW4gZHN0c2l6ZSwgdGhlIE5VTC10ZXJtaW5hdGVkIHJlc3VsdCBpcworICogc3Rv cmVkIGluIGRzdC4gIE90aGVyd2lzZSwgdGhlIGNvbnRlbnRzIG9mIGRzdCBhcmUgdW5kZWZpbmVk LCBhbmQgdGhlCisgKiBjYWxsZXIgc2hvdWxkIHVzZSB0aGUgcmV0dXJuIHZhbHVlIHRvIHJlc2l6 ZSB0aGUgYnVmZmVyIGFuZCByZXRyeS4KKyAqLwogc2l6ZV90CiBwZ19zdHJmb2xkKGNoYXIgKmRz dCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbiwKIAkJICAg cGdfbG9jYWxlX3QgbG9jYWxlKQpAQCAtMTM5MiwxMSArMTQ0Nyw5IEBAIHBnX3N0cmNvbGwoY29u c3QgY2hhciAqYXJnMSwgY29uc3QgY2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogLyoK ICAqIHBnX3N0cm5jb2xsCiAgKgotICogQ2FsbCB1Y29sX3N0cmNvbGxVVEY4KCksIHVjb2xfc3Ry Y29sbCgpLCBzdHJjb2xsX2woKSBvciB3Y3Njb2xsX2woKSBhcwotICogYXBwcm9wcmlhdGUgZm9y IHRoZSBnaXZlbiBsb2NhbGUsIHBsYXRmb3JtLCBhbmQgZGF0YWJhc2UgZW5jb2RpbmcuIElmIHRo ZQotICogbG9jYWxlIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSB0aGUgZGF0YWJhc2UgY29sbGF0aW9u LgorICogQ29tcGFyZSBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gbG9jYWxlLgogICoK LSAqIFRoZSBpbnB1dCBzdHJpbmdzIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5j b2RpbmcuCisgKiBTdHJpbmdzIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rp bmcgd2l0aCBubyBlbWJlZGRlZCBOVUxzLgogICoKICAqIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2li bGUgZm9yIGJyZWFraW5nIHRpZXMgaWYgdGhlIGNvbGxhdGlvbiBpcwogICogZGV0ZXJtaW5pc3Rp YzsgdGhpcyBtYWludGFpbnMgY29uc2lzdGVuY3kgd2l0aCBwZ19zdHJueGZybSgpLCB3aGljaCBj YW5ub3QKQEAgLTE0MTIsOSArMTQ2NSw2IEBAIHBnX3N0cm5jb2xsKGNvbnN0IGNoYXIgKmFyZzEs IHNpemVfdCBsZW4xLCBjb25zdCBjaGFyICphcmcyLCBzaXplX3QgbGVuMiwKIC8qCiAgKiBSZXR1 cm4gdHJ1ZSBpZiB0aGUgY29sbGF0aW9uIHByb3ZpZGVyIHN1cHBvcnRzIHBnX3N0cnhmcm0oKSBh bmQKICAqIHBnX3N0cm54ZnJtKCk7IG90aGVyd2lzZSBmYWxzZS4KLSAqCi0gKgotICogTm8gc2lt aWxhciBwcm9ibGVtIGlzIGtub3duIGZvciB0aGUgSUNVIHByb3ZpZGVyLgogICovCiBib29sCiBw Z19zdHJ4ZnJtX2VuYWJsZWQocGdfbG9jYWxlX3QgbG9jYWxlKQpAQCAtMTQ0NSw4ICsxNDk1LDgg QEAgcGdfc3RyeGZybShjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBkZXN0c2l6 ZSwgcGdfbG9jYWxlX3QgbG9jYWxlKQogICogb3JkaW5hcnkgc3RyY21wKCkgb24gdHJhbnNmb3Jt ZWQgc3RyaW5ncyBpcyBlcXVpdmFsZW50IHRvIHBnX3N0cmNvbGwoKSBvbgogICogdW50cmFuc2Zv cm1lZCBzdHJpbmdzLgogICoKLSAqIFRoZSBpbnB1dCBzdHJpbmcgbXVzdCBiZSBlbmNvZGVkIGlu IHRoZSBkYXRhYmFzZSBlbmNvZGluZy4gSWYgJ2Rlc3RzaXplJyBpcwotICogemVybywgJ2Rlc3Qn IG1heSBiZSBOVUxMLgorICogU3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2Ug ZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxzLiAgSWYKKyAqICdkZXN0c2l6ZScgaXMgemVy bywgJ2Rlc3QnIG1heSBiZSBOVUxMLgogICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQg cGdfc3Rybnhmcm0oKSBzYWZlbHkuIFRoZSBjYWxsZXIgc2hvdWxkIGNoZWNrCiAgKiBwZ19zdHJ4 ZnJtX2VuYWJsZWQoKSBmaXJzdCwgb3RoZXJ3aXNlIHRoaXMgZnVuY3Rpb24gbWF5IHJldHVybiB3 cm9uZwpAQCAtMTQ5Miw3ICsxNTQyLDcgQEAgcGdfc3RyeGZybV9wcmVmaXgoY2hhciAqZGVzdCwg Y29uc3QgY2hhciAqc3JjLCBzaXplX3QgZGVzdHNpemUsCiAgKiBtZW1jbXAoKSBvbiB0aGUgYnl0 ZSBzZXF1ZW5jZSBpcyBlcXVpdmFsZW50IHRvIHBnX3N0cm5jb2xsKCkgb24KICAqIHVudHJhbnNm b3JtZWQgc3RyaW5ncy4gVGhlIHJlc3VsdCBpcyBub3QgbnVsLXRlcm1pbmF0ZWQuCiAgKgotICog VGhlIGlucHV0IHN0cmluZyBtdXN0IGJlIGVuY29kZWQgaW4gdGhlIGRhdGFiYXNlIGVuY29kaW5n LgorICogU3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcgd2l0 aCBubyBlbWJlZGRlZCBOVUxzLgogICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQgcGdf c3Rybnhmcm1fcHJlZml4KCkgc2FmZWx5LiBUaGUgY2FsbGVyIHNob3VsZAogICogY2hlY2sgcGdf c3RyeGZybV9wcmVmaXhfZW5hYmxlZCgpIGZpcnN0LCBvdGhlcndpc2UgdGhpcyBmdW5jdGlvbiBt YXkgcmV0dXJuCi0tIAoyLjQzLjAKCg== --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename*0=vPG19-0003-Ensure-all-pg_locale.h-APIs-work-with-collate_.pat; filename*1=ch Content-Type: text/x-patch; name="vPG19-0003-Ensure-all-pg_locale.h-APIs-work-with-collate_.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBhY2YwMjE2NThjY2MzOGUwMWJkYTJmYjk5MDBjMWQwZWNhY2YxNTM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjQ2OjQ4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcxOSAzLzNd IEVuc3VyZSBhbGwgcGdfbG9jYWxlLmggQVBJcyB3b3JrIHdpdGggY29sbGF0ZV9pc19jLgoKU3Vn Z2VzdGVkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vdjM2c3NheWdmN2dyYjNxemZzamh0ZHppN2txZDQ1ZHM1Nm55 dWY3Z2k1cWptbDRxYmJAZXptZnF6bWhscnMyCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwppbmRleCBkYTMyNTkwMzk2Zi4uMmI1MDFh N2I2YjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKQEAgLTE0NDEsNyArMTQ0MSwxMCBA QCBwZ19kb3duY2FzZV9pZGVudChjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFy ICpzcmMsIHNpemVfdCBzcmNsZW4pCiBpbnQKIHBnX3N0cmNvbGwoY29uc3QgY2hhciAqYXJnMSwg Y29uc3QgY2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUt PmNvbGxhdGUtPnN0cmNvbGwoYXJnMSwgYXJnMiwgbG9jYWxlKTsKKwlpZiAobG9jYWxlLT5jb2xs YXRlID09IE5VTEwpCisJCXJldHVybiBzdHJjbXAoYXJnMSwgYXJnMik7CisJZWxzZQorCQlyZXR1 cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJjb2xsKGFyZzEsIGFyZzIsIGxvY2FsZSk7CiB9CiAKIC8q CkBAIC0xNDU5LDcgKzE0NjIsMTYgQEAgaW50CiBwZ19zdHJuY29sbChjb25zdCBjaGFyICphcmcx LCBzaXplX3QgbGVuMSwgY29uc3QgY2hhciAqYXJnMiwgc2l6ZV90IGxlbjIsCiAJCQlwZ19sb2Nh bGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RybmNvbGwoYXJnMSwg bGVuMSwgYXJnMiwgbGVuMiwgbG9jYWxlKTsKKwlpZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwp CisJeworCQlpbnQJCQlyZXN1bHQgPSBtZW1jbXAoYXJnMSwgYXJnMiwgTWluKGxlbjEsIGxlbjIp KTsKKworCQlpZiAoKHJlc3VsdCA9PSAwKSAmJiAobGVuMSAhPSBsZW4yKSkKKwkJCXJlc3VsdCA9 IChsZW4xIDwgbGVuMikgPyAtMSA6IDE7CisJCXJldHVybiByZXN1bHQ7CisJfQorCWVsc2UKKwkJ cmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RybmNvbGwoYXJnMSwgbGVuMSwgYXJnMiwgbGVuMiwg bG9jYWxlKTsKIH0KIAogLyoKQEAgLTE0NjksNiArMTQ4MSw5IEBAIHBnX3N0cm5jb2xsKGNvbnN0 IGNoYXIgKmFyZzEsIHNpemVfdCBsZW4xLCBjb25zdCBjaGFyICphcmcyLCBzaXplX3QgbGVuMiwK IGJvb2wKIHBnX3N0cnhmcm1fZW5hYmxlZChwZ19sb2NhbGVfdCBsb2NhbGUpCiB7CisJaWYgKGxv Y2FsZS0+Y29sbGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gdHJ1ZTsKKwogCS8qCiAJICogbG9jYWxl LT5jb2xsYXRlLT5zdHJueGZybSBpcyBzdGlsbCBhIHJlcXVpcmVkIG1ldGhvZCwgZXZlbiBpZiBp dCBtYXkKIAkgKiBoYXZlIHRoZSB3cm9uZyBiZWhhdmlvciwgYmVjYXVzZSB0aGUgcGxhbm5lciB1 c2VzIGl0IGZvciBlc3RpbWF0ZXMgaW4KQEAgLTE0ODUsNyArMTUwMCwxMCBAQCBwZ19zdHJ4ZnJt X2VuYWJsZWQocGdfbG9jYWxlX3QgbG9jYWxlKQogc2l6ZV90CiBwZ19zdHJ4ZnJtKGNoYXIgKmRl c3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3RzaXplLCBwZ19sb2NhbGVfdCBsb2NhbGUp CiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RyeGZybShkZXN0LCBkZXN0c2l6ZSwgc3Jj LCBsb2NhbGUpOworCWlmIChsb2NhbGUtPmNvbGxhdGUgPT0gTlVMTCkKKwkJcmV0dXJuIHBnX3N0 cm54ZnJtKGRlc3QsIGRlc3RzaXplLCBzcmMsIHN0cmxlbihzcmMpLCBsb2NhbGUpOworCWVsc2UK KwkJcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RyeGZybShkZXN0LCBkZXN0c2l6ZSwgc3JjLCBs b2NhbGUpOwogfQogCiAvKgpAQCAtMTUxMCw2ICsxNTI4LDE2IEBAIHNpemVfdAogcGdfc3Rybnhm cm0oY2hhciAqZGVzdCwgc2l6ZV90IGRlc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBz cmNsZW4sCiAJCQlwZ19sb2NhbGVfdCBsb2NhbGUpCiB7CisJaWYgKGxvY2FsZS0+Y29sbGF0ZSA9 PSBOVUxMKQorCXsKKwkJaWYgKGRlc3RzaXplID4gc3JjbGVuKQorCQl7CisJCQltZW1jcHkoZGVz dCwgc3JjLCBzcmNsZW4pOworCQkJZGVzdFtzcmNsZW5dID0gJ1wwJzsKKwkJfQorCisJCXJldHVy biBzcmNsZW47CisJfQogCXJldHVybiBsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtKGRlc3QsIGRl c3RzaXplLCBzcmMsIHNyY2xlbiwgbG9jYWxlKTsKIH0KIApAQCAtMTUyMCw3ICsxNTQ4LDEwIEBA IHBnX3N0cm54ZnJtKGNoYXIgKmRlc3QsIHNpemVfdCBkZXN0c2l6ZSwgY29uc3QgY2hhciAqc3Jj LCBzaXplX3Qgc3JjbGVuLAogYm9vbAogcGdfc3RyeGZybV9wcmVmaXhfZW5hYmxlZChwZ19sb2Nh bGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtX3ByZWZp eCAhPSBOVUxMKTsKKwlpZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJCXJldHVybiB0cnVl OworCWVsc2UKKwkJcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtX3ByZWZpeCAhPSBO VUxMKTsKIH0KIAogLyoKQEAgLTE1MzIsNyArMTU2MywxMCBAQCBzaXplX3QKIHBnX3N0cnhmcm1f cHJlZml4KGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3RzaXplLAogCQkJ CSAgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUtPmNvbGxhdGUtPnN0cnhm cm1fcHJlZml4KGRlc3QsIGRlc3RzaXplLCBzcmMsIGxvY2FsZSk7CisJaWYgKGxvY2FsZS0+Y29s bGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gcGdfc3Rybnhmcm1fcHJlZml4KGRlc3QsIGRlc3RzaXpl LCBzcmMsIHN0cmxlbihzcmMpLCBsb2NhbGUpOworCWVsc2UKKwkJcmV0dXJuIGxvY2FsZS0+Y29s bGF0ZS0+c3RyeGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywgbG9jYWxlKTsKIH0KIAog LyoKQEAgLTE1NTYsNyArMTU5MCwxNiBAQCBzaXplX3QKIHBnX3N0cm54ZnJtX3ByZWZpeChjaGFy ICpkZXN0LCBzaXplX3QgZGVzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywKIAkJCQkgICBzaXplX3Qg c3JjbGVuLCBwZ19sb2NhbGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+ c3Rybnhmcm1fcHJlZml4KGRlc3QsIGRlc3RzaXplLCBzcmMsIHNyY2xlbiwgbG9jYWxlKTsKKwlp ZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJeworCQlzaXplX3QJCWxlbiA9IE1pbihzcmNs ZW4sIGRlc3RzaXplKTsKKworCQlpZiAoZGVzdHNpemUgPiAwKQorCQkJbWVtY3B5KGRlc3QsIHNy YywgbGVuKTsKKwkJcmV0dXJuIGxlbjsKKwl9CisJZWxzZQorCQlyZXR1cm4gbG9jYWxlLT5jb2xs YXRlLT5zdHJueGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywgc3JjbGVuLCBsb2NhbGUp OwogfQogCiBib29sCi0tIAoyLjQzLjAKCg== --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename="vPG20-0001-Add-missing-comments-in-pg_locale.c.patch" Content-Type: text/x-patch; name="vPG20-0001-Add-missing-comments-in-pg_locale.c.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkYWFlYTRjMzM4YWZiMWMxMzg5ZmZiZmE2YWMzM2QwYmMzOGE1YjQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjMyOjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcyMCAxLzJd IEFkZCBtaXNzaW5nIGNvbW1lbnRzIGluIHBnX2xvY2FsZS5jLgoKU3VnZ2VzdGVkLWJ5OiBBbmRy ZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdy LmVzL20vdjNubml3Y3J4ZWptY2Z2ejU2eGJkMjJocGhwcnFsZXVvcm5kNmhxa213MmJsN2tnbXpA Y255dHoyZWU1bHRrCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ19sb2NhbGUuYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvcGdfbG9jYWxlLmMKaW5kZXggOWViOTk0ODdlNTcuLmRhMzI1OTAzOTZmIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BnX2xvY2FsZS5jCkBAIC0xMzE3LDYgKzEzMTcsMjAgQEAgc3RydXBwZXJfYyhj aGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4p CiAJcmV0dXJuIHNyY2xlbjsKIH0KIAorLyoKKyAqIHBnX3N0cmxvd2VyKCkKKyAqCisgKiBDb252 ZXJ0IHNyYyB0byBsb3dlcmNhc2UsIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBsZW5ndGggKG5vdCBp bmNsdWRpbmcKKyAqIHRlcm1pbmF0aW5nIE5VTCkuCisgKgorICogc3JjIG11c3QgYmUgaW4gdGhl IGRhdGFiYXNlIGVuY29kaW5nIHdpdGggbm8gZW1iZWRkZWQgTlVMcy4gIElmIGRzdHNpemUgaXMK KyAqIHplcm8sIGRzdCBtYXkgYmUgTlVMTCwgd2hpY2ggaXMgdXNlZnVsIGZvciBjYWxjdWxhdGlu ZyB0aGUgcmVxdWlyZWQgYnVmZmVyCisgKiBzaXplIGJlZm9yZSBhbGxvY2F0aW5nLgorICoKKyAq IElmIHRoZSByZXN1bHQgbGVuZ3RoIGlzIGxlc3MgdGhhbiBkc3RzaXplLCB0aGUgTlVMLXRlcm1p bmF0ZWQgcmVzdWx0IGlzCisgKiBzdG9yZWQgaW4gZHN0LiAgT3RoZXJ3aXNlLCB0aGUgY29udGVu dHMgb2YgZHN0IGFyZSB1bmRlZmluZWQsIGFuZCB0aGUKKyAqIGNhbGxlciBzaG91bGQgdXNlIHRo ZSByZXR1cm4gdmFsdWUgdG8gcmVzaXplIHRoZSBidWZmZXIgYW5kIHJldHJ5LgorICovCiBzaXpl X3QKIHBnX3N0cmxvd2VyKGNoYXIgKmRzdCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNy Yywgc2l6ZV90IHNyY2xlbiwKIAkJCXBnX2xvY2FsZV90IGxvY2FsZSkKQEAgLTEzMjcsNiArMTM0 MSwyMCBAQCBwZ19zdHJsb3dlcihjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFy ICpzcmMsIHNpemVfdCBzcmNsZW4sCiAJCXJldHVybiBsb2NhbGUtPmN0eXBlLT5zdHJsb3dlcihk c3QsIGRzdHNpemUsIHNyYywgc3JjbGVuLCBsb2NhbGUpOwogfQogCisvKgorICogcGdfc3RydGl0 bGUoKQorICoKKyAqIENvbnZlcnQgc3JjIHRvIHRpdGxlY2FzZSwgYW5kIHJldHVybiB0aGUgcmVz dWx0IGxlbmd0aCAobm90IGluY2x1ZGluZworICogdGVybWluYXRpbmcgTlVMKS4KKyAqCisgKiBz cmMgbXVzdCBiZSBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxz LiAgSWYgZHN0c2l6ZSBpcworICogemVybywgZHN0IG1heSBiZSBOVUxMLCB3aGljaCBpcyB1c2Vm dWwgZm9yIGNhbGN1bGF0aW5nIHRoZSByZXF1aXJlZCBidWZmZXIKKyAqIHNpemUgYmVmb3JlIGFs bG9jYXRpbmcuCisgKgorICogSWYgdGhlIHJlc3VsdCBsZW5ndGggaXMgbGVzcyB0aGFuIGRzdHNp emUsIHRoZSBOVUwtdGVybWluYXRlZCByZXN1bHQgaXMKKyAqIHN0b3JlZCBpbiBkc3QuICBPdGhl cndpc2UsIHRoZSBjb250ZW50cyBvZiBkc3QgYXJlIHVuZGVmaW5lZCwgYW5kIHRoZQorICogY2Fs bGVyIHNob3VsZCB1c2UgdGhlIHJldHVybiB2YWx1ZSB0byByZXNpemUgdGhlIGJ1ZmZlciBhbmQg cmV0cnkuCisgKi8KIHNpemVfdAogcGdfc3RydGl0bGUoY2hhciAqZHN0LCBzaXplX3QgZHN0c2l6 ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuLAogCQkJcGdfbG9jYWxlX3QgbG9jYWxl KQpAQCAtMTMzNyw2ICsxMzY1LDIwIEBAIHBnX3N0cnRpdGxlKGNoYXIgKmRzdCwgc2l6ZV90IGRz dHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbiwKIAkJcmV0dXJuIGxvY2FsZS0+ Y3R5cGUtPnN0cnRpdGxlKGRzdCwgZHN0c2l6ZSwgc3JjLCBzcmNsZW4sIGxvY2FsZSk7CiB9CiAK Ky8qCisgKiBwZ19zdHJ1cHBlcigpCisgKgorICogQ29udmVydCBzcmMgdG8gdXBwZXJjYXNlLCBh bmQgcmV0dXJuIHRoZSByZXN1bHQgbGVuZ3RoIChub3QgaW5jbHVkaW5nCisgKiB0ZXJtaW5hdGlu ZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3aXRo IG5vIGVtYmVkZGVkIE5VTHMuICBJZiBkc3RzaXplIGlzCisgKiB6ZXJvLCBkc3QgbWF5IGJlIE5V TEwsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcXVpcmVkIGJ1ZmZlcgor ICogc2l6ZSBiZWZvcmUgYWxsb2NhdGluZy4KKyAqCisgKiBJZiB0aGUgcmVzdWx0IGxlbmd0aCBp cyBsZXNzIHRoYW4gZHN0c2l6ZSwgdGhlIE5VTC10ZXJtaW5hdGVkIHJlc3VsdCBpcworICogc3Rv cmVkIGluIGRzdC4gIE90aGVyd2lzZSwgdGhlIGNvbnRlbnRzIG9mIGRzdCBhcmUgdW5kZWZpbmVk LCBhbmQgdGhlCisgKiBjYWxsZXIgc2hvdWxkIHVzZSB0aGUgcmV0dXJuIHZhbHVlIHRvIHJlc2l6 ZSB0aGUgYnVmZmVyIGFuZCByZXRyeS4KKyAqLwogc2l6ZV90CiBwZ19zdHJ1cHBlcihjaGFyICpk c3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBzcmNsZW4sCiAJCQlw Z19sb2NhbGVfdCBsb2NhbGUpCkBAIC0xMzQ3LDYgKzEzODksMTkgQEAgcGdfc3RydXBwZXIoY2hh ciAqZHN0LCBzaXplX3QgZHN0c2l6ZSwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc3JjbGVuLAog CQlyZXR1cm4gbG9jYWxlLT5jdHlwZS0+c3RydXBwZXIoZHN0LCBkc3RzaXplLCBzcmMsIHNyY2xl biwgbG9jYWxlKTsKIH0KIAorLyoKKyAqIHBnX3N0cmZvbGQoKQorICoKKyAqIENhc2Vmb2xkIHNy YywgYW5kIHJldHVybiB0aGUgcmVzdWx0IGxlbmd0aCAobm90IGluY2x1ZGluZyB0ZXJtaW5hdGlu ZyBOVUwpLgorICoKKyAqIHNyYyBtdXN0IGJlIGluIHRoZSBkYXRhYmFzZSBlbmNvZGluZyB3aXRo IG5vIGVtYmVkZGVkIE5VTHMuICBJZiBkc3RzaXplIGlzCisgKiB6ZXJvLCBkc3QgbWF5IGJlIE5V TEwsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcXVpcmVkIGJ1ZmZlcgor ICogc2l6ZSBiZWZvcmUgYWxsb2NhdGluZy4KKyAqCisgKiBJZiB0aGUgcmVzdWx0IGxlbmd0aCBp cyBsZXNzIHRoYW4gZHN0c2l6ZSwgdGhlIE5VTC10ZXJtaW5hdGVkIHJlc3VsdCBpcworICogc3Rv cmVkIGluIGRzdC4gIE90aGVyd2lzZSwgdGhlIGNvbnRlbnRzIG9mIGRzdCBhcmUgdW5kZWZpbmVk LCBhbmQgdGhlCisgKiBjYWxsZXIgc2hvdWxkIHVzZSB0aGUgcmV0dXJuIHZhbHVlIHRvIHJlc2l6 ZSB0aGUgYnVmZmVyIGFuZCByZXRyeS4KKyAqLwogc2l6ZV90CiBwZ19zdHJmb2xkKGNoYXIgKmRz dCwgc2l6ZV90IGRzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNyY2xlbiwKIAkJICAg cGdfbG9jYWxlX3QgbG9jYWxlKQpAQCAtMTM5MiwxMSArMTQ0Nyw5IEBAIHBnX3N0cmNvbGwoY29u c3QgY2hhciAqYXJnMSwgY29uc3QgY2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogLyoK ICAqIHBnX3N0cm5jb2xsCiAgKgotICogQ2FsbCB1Y29sX3N0cmNvbGxVVEY4KCksIHVjb2xfc3Ry Y29sbCgpLCBzdHJjb2xsX2woKSBvciB3Y3Njb2xsX2woKSBhcwotICogYXBwcm9wcmlhdGUgZm9y IHRoZSBnaXZlbiBsb2NhbGUsIHBsYXRmb3JtLCBhbmQgZGF0YWJhc2UgZW5jb2RpbmcuIElmIHRo ZQotICogbG9jYWxlIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSB0aGUgZGF0YWJhc2UgY29sbGF0aW9u LgorICogQ29tcGFyZSBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gbG9jYWxlLgogICoK LSAqIFRoZSBpbnB1dCBzdHJpbmdzIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5j b2RpbmcuCisgKiBTdHJpbmdzIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rp bmcgd2l0aCBubyBlbWJlZGRlZCBOVUxzLgogICoKICAqIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2li bGUgZm9yIGJyZWFraW5nIHRpZXMgaWYgdGhlIGNvbGxhdGlvbiBpcwogICogZGV0ZXJtaW5pc3Rp YzsgdGhpcyBtYWludGFpbnMgY29uc2lzdGVuY3kgd2l0aCBwZ19zdHJueGZybSgpLCB3aGljaCBj YW5ub3QKQEAgLTE0MTIsOSArMTQ2NSw2IEBAIHBnX3N0cm5jb2xsKGNvbnN0IGNoYXIgKmFyZzEs IHNpemVfdCBsZW4xLCBjb25zdCBjaGFyICphcmcyLCBzaXplX3QgbGVuMiwKIC8qCiAgKiBSZXR1 cm4gdHJ1ZSBpZiB0aGUgY29sbGF0aW9uIHByb3ZpZGVyIHN1cHBvcnRzIHBnX3N0cnhmcm0oKSBh bmQKICAqIHBnX3N0cm54ZnJtKCk7IG90aGVyd2lzZSBmYWxzZS4KLSAqCi0gKgotICogTm8gc2lt aWxhciBwcm9ibGVtIGlzIGtub3duIGZvciB0aGUgSUNVIHByb3ZpZGVyLgogICovCiBib29sCiBw Z19zdHJ4ZnJtX2VuYWJsZWQocGdfbG9jYWxlX3QgbG9jYWxlKQpAQCAtMTQ0NSw4ICsxNDk1LDgg QEAgcGdfc3RyeGZybShjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBkZXN0c2l6 ZSwgcGdfbG9jYWxlX3QgbG9jYWxlKQogICogb3JkaW5hcnkgc3RyY21wKCkgb24gdHJhbnNmb3Jt ZWQgc3RyaW5ncyBpcyBlcXVpdmFsZW50IHRvIHBnX3N0cmNvbGwoKSBvbgogICogdW50cmFuc2Zv cm1lZCBzdHJpbmdzLgogICoKLSAqIFRoZSBpbnB1dCBzdHJpbmcgbXVzdCBiZSBlbmNvZGVkIGlu IHRoZSBkYXRhYmFzZSBlbmNvZGluZy4gSWYgJ2Rlc3RzaXplJyBpcwotICogemVybywgJ2Rlc3Qn IG1heSBiZSBOVUxMLgorICogU3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2Ug ZW5jb2Rpbmcgd2l0aCBubyBlbWJlZGRlZCBOVUxzLiAgSWYKKyAqICdkZXN0c2l6ZScgaXMgemVy bywgJ2Rlc3QnIG1heSBiZSBOVUxMLgogICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQg cGdfc3Rybnhmcm0oKSBzYWZlbHkuIFRoZSBjYWxsZXIgc2hvdWxkIGNoZWNrCiAgKiBwZ19zdHJ4 ZnJtX2VuYWJsZWQoKSBmaXJzdCwgb3RoZXJ3aXNlIHRoaXMgZnVuY3Rpb24gbWF5IHJldHVybiB3 cm9uZwpAQCAtMTQ5Miw3ICsxNTQyLDcgQEAgcGdfc3RyeGZybV9wcmVmaXgoY2hhciAqZGVzdCwg Y29uc3QgY2hhciAqc3JjLCBzaXplX3QgZGVzdHNpemUsCiAgKiBtZW1jbXAoKSBvbiB0aGUgYnl0 ZSBzZXF1ZW5jZSBpcyBlcXVpdmFsZW50IHRvIHBnX3N0cm5jb2xsKCkgb24KICAqIHVudHJhbnNm b3JtZWQgc3RyaW5ncy4gVGhlIHJlc3VsdCBpcyBub3QgbnVsLXRlcm1pbmF0ZWQuCiAgKgotICog VGhlIGlucHV0IHN0cmluZyBtdXN0IGJlIGVuY29kZWQgaW4gdGhlIGRhdGFiYXNlIGVuY29kaW5n LgorICogU3RyaW5nIG11c3QgYmUgZW5jb2RlZCBpbiB0aGUgZGF0YWJhc2UgZW5jb2Rpbmcgd2l0 aCBubyBlbWJlZGRlZCBOVUxzLgogICoKICAqIE5vdCBhbGwgcHJvdmlkZXJzIHN1cHBvcnQgcGdf c3Rybnhmcm1fcHJlZml4KCkgc2FmZWx5LiBUaGUgY2FsbGVyIHNob3VsZAogICogY2hlY2sgcGdf c3RyeGZybV9wcmVmaXhfZW5hYmxlZCgpIGZpcnN0LCBvdGhlcndpc2UgdGhpcyBmdW5jdGlvbiBt YXkgcmV0dXJuCi0tIAoyLjQzLjAKCg== --=-iIyKo4ylk6yfLjtK5D3u Content-Disposition: attachment; filename*0=vPG20-0002-Ensure-all-pg_locale.h-APIs-work-with-collate_.pat; filename*1=ch Content-Type: text/x-patch; name="vPG20-0002-Ensure-all-pg_locale.h-APIs-work-with-collate_.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3ZmJjZmVlZWIwNGVjZWZlOTE3YzI5ZTUzMjM3ZDc5ZDQ0NDc3OTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDEyIEF1ZyAyMDI2IDA3OjQ2OjQ4IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2UEcyMCAyLzJd IEVuc3VyZSBhbGwgcGdfbG9jYWxlLmggQVBJcyB3b3JrIHdpdGggY29sbGF0ZV9pc19jLgoKU3Vn Z2VzdGVkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vdjM2c3NheWdmN2dyYjNxemZzamh0ZHppN2txZDQ1ZHM1Nm55 dWY3Z2k1cWptbDRxYmJAZXptZnF6bWhscnMyCkJhY2twYXRjaC10aHJvdWdoOiAxOAotLS0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYwppbmRleCBkYTMyNTkwMzk2Zi4uMmI1MDFh N2I2YjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKQEAgLTE0NDEsNyArMTQ0MSwxMCBA QCBwZ19kb3duY2FzZV9pZGVudChjaGFyICpkc3QsIHNpemVfdCBkc3RzaXplLCBjb25zdCBjaGFy ICpzcmMsIHNpemVfdCBzcmNsZW4pCiBpbnQKIHBnX3N0cmNvbGwoY29uc3QgY2hhciAqYXJnMSwg Y29uc3QgY2hhciAqYXJnMiwgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUt PmNvbGxhdGUtPnN0cmNvbGwoYXJnMSwgYXJnMiwgbG9jYWxlKTsKKwlpZiAobG9jYWxlLT5jb2xs YXRlID09IE5VTEwpCisJCXJldHVybiBzdHJjbXAoYXJnMSwgYXJnMik7CisJZWxzZQorCQlyZXR1 cm4gbG9jYWxlLT5jb2xsYXRlLT5zdHJjb2xsKGFyZzEsIGFyZzIsIGxvY2FsZSk7CiB9CiAKIC8q CkBAIC0xNDU5LDcgKzE0NjIsMTYgQEAgaW50CiBwZ19zdHJuY29sbChjb25zdCBjaGFyICphcmcx LCBzaXplX3QgbGVuMSwgY29uc3QgY2hhciAqYXJnMiwgc2l6ZV90IGxlbjIsCiAJCQlwZ19sb2Nh bGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RybmNvbGwoYXJnMSwg bGVuMSwgYXJnMiwgbGVuMiwgbG9jYWxlKTsKKwlpZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwp CisJeworCQlpbnQJCQlyZXN1bHQgPSBtZW1jbXAoYXJnMSwgYXJnMiwgTWluKGxlbjEsIGxlbjIp KTsKKworCQlpZiAoKHJlc3VsdCA9PSAwKSAmJiAobGVuMSAhPSBsZW4yKSkKKwkJCXJlc3VsdCA9 IChsZW4xIDwgbGVuMikgPyAtMSA6IDE7CisJCXJldHVybiByZXN1bHQ7CisJfQorCWVsc2UKKwkJ cmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RybmNvbGwoYXJnMSwgbGVuMSwgYXJnMiwgbGVuMiwg bG9jYWxlKTsKIH0KIAogLyoKQEAgLTE0NjksNiArMTQ4MSw5IEBAIHBnX3N0cm5jb2xsKGNvbnN0 IGNoYXIgKmFyZzEsIHNpemVfdCBsZW4xLCBjb25zdCBjaGFyICphcmcyLCBzaXplX3QgbGVuMiwK IGJvb2wKIHBnX3N0cnhmcm1fZW5hYmxlZChwZ19sb2NhbGVfdCBsb2NhbGUpCiB7CisJaWYgKGxv Y2FsZS0+Y29sbGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gdHJ1ZTsKKwogCS8qCiAJICogbG9jYWxl LT5jb2xsYXRlLT5zdHJueGZybSBpcyBzdGlsbCBhIHJlcXVpcmVkIG1ldGhvZCwgZXZlbiBpZiBp dCBtYXkKIAkgKiBoYXZlIHRoZSB3cm9uZyBiZWhhdmlvciwgYmVjYXVzZSB0aGUgcGxhbm5lciB1 c2VzIGl0IGZvciBlc3RpbWF0ZXMgaW4KQEAgLTE0ODUsNyArMTUwMCwxMCBAQCBwZ19zdHJ4ZnJt X2VuYWJsZWQocGdfbG9jYWxlX3QgbG9jYWxlKQogc2l6ZV90CiBwZ19zdHJ4ZnJtKGNoYXIgKmRl c3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3RzaXplLCBwZ19sb2NhbGVfdCBsb2NhbGUp CiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RyeGZybShkZXN0LCBkZXN0c2l6ZSwgc3Jj LCBsb2NhbGUpOworCWlmIChsb2NhbGUtPmNvbGxhdGUgPT0gTlVMTCkKKwkJcmV0dXJuIHBnX3N0 cm54ZnJtKGRlc3QsIGRlc3RzaXplLCBzcmMsIHN0cmxlbihzcmMpLCBsb2NhbGUpOworCWVsc2UK KwkJcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+c3RyeGZybShkZXN0LCBkZXN0c2l6ZSwgc3JjLCBs b2NhbGUpOwogfQogCiAvKgpAQCAtMTUxMCw2ICsxNTI4LDE2IEBAIHNpemVfdAogcGdfc3Rybnhm cm0oY2hhciAqZGVzdCwgc2l6ZV90IGRlc3RzaXplLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBz cmNsZW4sCiAJCQlwZ19sb2NhbGVfdCBsb2NhbGUpCiB7CisJaWYgKGxvY2FsZS0+Y29sbGF0ZSA9 PSBOVUxMKQorCXsKKwkJaWYgKGRlc3RzaXplID4gc3JjbGVuKQorCQl7CisJCQltZW1jcHkoZGVz dCwgc3JjLCBzcmNsZW4pOworCQkJZGVzdFtzcmNsZW5dID0gJ1wwJzsKKwkJfQorCisJCXJldHVy biBzcmNsZW47CisJfQogCXJldHVybiBsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtKGRlc3QsIGRl c3RzaXplLCBzcmMsIHNyY2xlbiwgbG9jYWxlKTsKIH0KIApAQCAtMTUyMCw3ICsxNTQ4LDEwIEBA IHBnX3N0cm54ZnJtKGNoYXIgKmRlc3QsIHNpemVfdCBkZXN0c2l6ZSwgY29uc3QgY2hhciAqc3Jj LCBzaXplX3Qgc3JjbGVuLAogYm9vbAogcGdfc3RyeGZybV9wcmVmaXhfZW5hYmxlZChwZ19sb2Nh bGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtX3ByZWZp eCAhPSBOVUxMKTsKKwlpZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJCXJldHVybiB0cnVl OworCWVsc2UKKwkJcmV0dXJuIChsb2NhbGUtPmNvbGxhdGUtPnN0cm54ZnJtX3ByZWZpeCAhPSBO VUxMKTsKIH0KIAogLyoKQEAgLTE1MzIsNyArMTU2MywxMCBAQCBzaXplX3QKIHBnX3N0cnhmcm1f cHJlZml4KGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGRlc3RzaXplLAogCQkJ CSAgcGdfbG9jYWxlX3QgbG9jYWxlKQogewotCXJldHVybiBsb2NhbGUtPmNvbGxhdGUtPnN0cnhm cm1fcHJlZml4KGRlc3QsIGRlc3RzaXplLCBzcmMsIGxvY2FsZSk7CisJaWYgKGxvY2FsZS0+Y29s bGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gcGdfc3Rybnhmcm1fcHJlZml4KGRlc3QsIGRlc3RzaXpl LCBzcmMsIHN0cmxlbihzcmMpLCBsb2NhbGUpOworCWVsc2UKKwkJcmV0dXJuIGxvY2FsZS0+Y29s bGF0ZS0+c3RyeGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywgbG9jYWxlKTsKIH0KIAog LyoKQEAgLTE1NTYsNyArMTU5MCwxNiBAQCBzaXplX3QKIHBnX3N0cm54ZnJtX3ByZWZpeChjaGFy ICpkZXN0LCBzaXplX3QgZGVzdHNpemUsIGNvbnN0IGNoYXIgKnNyYywKIAkJCQkgICBzaXplX3Qg c3JjbGVuLCBwZ19sb2NhbGVfdCBsb2NhbGUpCiB7Ci0JcmV0dXJuIGxvY2FsZS0+Y29sbGF0ZS0+ c3Rybnhmcm1fcHJlZml4KGRlc3QsIGRlc3RzaXplLCBzcmMsIHNyY2xlbiwgbG9jYWxlKTsKKwlp ZiAobG9jYWxlLT5jb2xsYXRlID09IE5VTEwpCisJeworCQlzaXplX3QJCWxlbiA9IE1pbihzcmNs ZW4sIGRlc3RzaXplKTsKKworCQlpZiAoZGVzdHNpemUgPiAwKQorCQkJbWVtY3B5KGRlc3QsIHNy YywgbGVuKTsKKwkJcmV0dXJuIGxlbjsKKwl9CisJZWxzZQorCQlyZXR1cm4gbG9jYWxlLT5jb2xs YXRlLT5zdHJueGZybV9wcmVmaXgoZGVzdCwgZGVzdHNpemUsIHNyYywgc3JjbGVuLCBsb2NhbGUp OwogfQogCiBib29sCi0tIAoyLjQzLjAKCg== --=-iIyKo4ylk6yfLjtK5D3u--