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 1qBiFQ-0004G3-6k for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2023 20:46:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qBiFO-00071c-PM for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2023 20:46:42 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBiFO-00071N-2V for pgsql-hackers@lists.postgresql.org; Tue, 20 Jun 2023 20:46:42 +0000 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qBiFF-003IyD-N7 for pgsql-hackers@postgresql.org; Tue, 20 Jun 2023 20:46:40 +0000 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-66767d628e2so1828240b3a.2 for ; Tue, 20 Jun 2023 13:46:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20221208.gappssmtp.com; s=20221208; t=1687293992; x=1689885992; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=+jHx6Y9uNuatGmaQpdeXwgLr0pXpzMYhOLKxvt7XxPM=; b=UuBbYQp4Ln381mOgy9GbuH/XimJxcL+4w5zhxlRFCU7cIrGKlfTE7QqwjrtJCasif2 tG3uM4tAAXFVMGA2twKcSHJsF9/2WMUc4L8rZzwST6aAWL7dZFvQgaPsauTti5x7mJ+U Y+GAzUuBMo3tU5IVq15KvdH3WiWZG6SRg53XigFVEthjRBRpzoYlJMYcX/8bZgoP8HP/ 8EURTwk+6OWvMgg4CTI3Uh+5tf/cOLAZ5JXBFvmdUbYsUfkrOzNssEs7KleZ6qydJCDN jMSzTWVZNo19IRxS1JkTrM8klDOFT/zD4eaWQeMhABmrTgTF//AmQejfkxdUoRLR5LoB frng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687293992; x=1689885992; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+jHx6Y9uNuatGmaQpdeXwgLr0pXpzMYhOLKxvt7XxPM=; b=djyR6mVVsZ770N1c4sPAOJiBRwGcIVkakxhHAEjjemb/ReO/VAPWleNe1vr1bSqwj2 3dVs2qeN+ferZ7cISnTAf1L3Tg9BI56lQGOhfJ2Hr6iRNqYpgA3nVDMoPDyMpRnFXbwS ZTu+dfwPcxPnDmBk3F76NaDNJrz36VQtUyWrd4Fiit2s5X0D8zH+sFBQUaAJZQhY4Yum 04eTnHbk6JkHBlNx+FNpsd12DFxPgLMlMak7+A45HYgieaMujd2nCYo3Li3X7jKRGlbW AIxIclJINnf5xeuDCAXQD2Yl5ZKukFffPVNjdK0/yqS/UdHnGgXFRh9izMZ24yIPzwNt AAqA== X-Gm-Message-State: AC+VfDw1TjMcbIL37k5Mu7nPBxI7eLpJBZn13OTiw3WdywdLywK7aCbT UegeMj7hflgNhQE1q0awb0wazw== X-Google-Smtp-Source: ACHHUZ4DylQ37yiIjsMDgG00lio8N1k/kDf9pfAzzsqHj4NBFQMPj4y7MjPgPKTVBatBiRgaXGclJA== X-Received: by 2002:a05:6a20:3c90:b0:123:b57:a3de with SMTP id b16-20020a056a203c9000b001230b57a3demr770905pzj.46.1687293992092; Tue, 20 Jun 2023 13:46:32 -0700 (PDT) Received: from jeff-laptop.lan (c-73-170-46-202.hsd1.ca.comcast.net. [73.170.46.202]) by smtp.gmail.com with ESMTPSA id h4-20020aa786c4000000b0065fd8075bb1sm1755278pfo.14.2023.06.20.13.46.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jun 2023 13:46:31 -0700 (PDT) Message-ID: <0012c5b184db333e27ebc3b480b1b9e012eef188.camel@j-davis.com> Subject: Re: collation-related loose ends before beta2 From: Jeff Davis To: Tom Lane Cc: pgsql-hackers@postgresql.org, Daniel Verite , Peter Eisentraut , Andrew Gierth , Joe Conway , Robert Haas , "Jonathan S. Katz" , Peter Geoghegan , Thomas Munro Date: Tue, 20 Jun 2023 13:46:29 -0700 In-Reply-To: <3502391.1687277764@sss.pgh.pa.us> References: <3502391.1687277764@sss.pgh.pa.us> Content-Type: multipart/mixed; boundary="=-iAoFpOzYHCkGym3pab0l" User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-iAoFpOzYHCkGym3pab0l Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2023-06-20 at 12:16 -0400, Tom Lane wrote: > Jeff Davis writes: > > Status on collation loose ends: >=20 > This all sounds good to me. Patches attached. 0001 also removes the code to get a default locale when ICU is being used, because that was a part of the same commit that changed the default provider to be ICU and I don't see a lot of value in keeping just that part. I'm planning to commit something similar to the attached patches tomorrow (Wednesday) unless I get more input. Regards, Jeff Davis --=-iAoFpOzYHCkGym3pab0l Content-Disposition: attachment; filename*0=v1-0001-initdb-change-default-locale-provider-back-to-lib.pat; filename*1=ch Content-Type: text/x-patch; name="v1-0001-initdb-change-default-locale-provider-back-to-lib.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAxYWFhYzZlMTU0ZDlhMWU0ZjcyOGQ3MzJmZDQxZWUyNjNkYjY5MDNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU dWUsIDIwIEp1biAyMDIzIDEyOjAzOjI2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MSAxLzJdIGlu aXRkYjogY2hhbmdlIGRlZmF1bHQgLS1sb2NhbGUtcHJvdmlkZXIgYmFjayB0byBsaWJjLgoKUmV2 ZXJ0cyAyN2I2MjM3N2I0LgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9lZmYwMzEw MzZiYWEwN2YzMjVkZTI5MjE1MzcxYTRjOWU2OWQ2MWYzLmNhbWVsQGotZGF2aXMuY29tCkRpc2N1 c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vMzM1Mzk0Ny4xNjgyMDkyMTMxQHNzcy5wZ2gucGEu dXMKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2luaXRkYi5zZ21sICAgICAgICAgICAgICAgICAgfCA0 MiArKysrKysrLS0tLS0tLS0tLS0tCiBzcmMvYmluL2luaXRkYi9pbml0ZGIuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAyMyArLS0tLS0tLS0tCiBzcmMvYmluL2luaXRkYi90LzAwMV9pbml0ZGIu cGwgICAgICAgICAgICAgICAgfCAgNSArKysKIHNyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsICAgICAgICAgICAgICB8ICAyICstCiBzcmMvYmluL3NjcmlwdHMvdC8wMjBfY3JlYXRlZGIu cGwgICAgICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNlLnBsICAg ICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9yZWdyZXNzL2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0 Zjgub3V0ICAgICB8ICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51dGY4 LnNxbCAgICAgfCAgNCArLQogOCBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA1NSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2luaXRkYi5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9pbml0ZGIuc2dtbAppbmRleCBmODUwZGM0MDRkLi4yMmYxMDExNzgx IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2luaXRkYi5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvaW5pdGRiLnNnbWwKQEAgLTkzLDI0ICs5MywxMCBAQCBQb3N0Z3JlU1FMIGRvY3Vt ZW50YXRpb24KICAgPC9wYXJhPgogCiAgIDxwYXJhPgotICAgQnkgZGVmYXVsdCwgPGNvbW1hbmQ+ aW5pdGRiPC9jb21tYW5kPiB1c2VzIHRoZSBJQ1UgbGlicmFyeSB0byBwcm92aWRlCi0gICBsb2Nh bGUgc2VydmljZXMgaWYgdGhlIHNlcnZlciB3YXMgYnVpbHQgd2l0aCBJQ1Ugc3VwcG9ydDsgb3Ro ZXJ3aXNlIGl0IHVzZXMKLSAgIHRoZSA8bGl0ZXJhbD5saWJjPC9saXRlcmFsPiBsb2NhbGUgcHJv dmlkZXIgKHNlZSA8eHJlZgotICAgbGlua2VuZD0ibG9jYWxlLXByb3ZpZGVycyIvPikuIFRvIGNo b29zZSB0aGUgc3BlY2lmaWMgSUNVIGxvY2FsZSBJRCB0bwotICAgYXBwbHksIHVzZSB0aGUgb3B0 aW9uIDxvcHRpb24+LS1pY3UtbG9jYWxlPC9vcHRpb24+LiAgTm90ZSB0aGF0IGZvcgotICAgaW1w bGVtZW50YXRpb24gcmVhc29ucyBhbmQgdG8gc3VwcG9ydCBsZWdhY3kgY29kZSwKLSAgIDxjb21t YW5kPmluaXRkYjwvY29tbWFuZD4gd2lsbCBzdGlsbCBzZWxlY3QgYW5kIGluaXRpYWxpemUgbGli YyBsb2NhbGUKLSAgIHNldHRpbmdzIHdoZW4gdGhlIElDVSBsb2NhbGUgcHJvdmlkZXIgaXMgdXNl ZC4KLSAgPC9wYXJhPgotCi0gIDxwYXJhPgotICAgQWx0ZXJuYXRpdmVseSwgPGNvbW1hbmQ+aW5p dGRiPC9jb21tYW5kPiBjYW4gdXNlIHRoZSBsb2NhbGUgcHJvdmlkZXIKLSAgIDxsaXRlcmFsPmxp YmM8L2xpdGVyYWw+LiBUbyBzZWxlY3QgdGhpcyBvcHRpb24sIHNwZWNpZnkKLSAgIDxsaXRlcmFs Pi0tbG9jYWxlLXByb3ZpZGVyPWxpYmM8L2xpdGVyYWw+LCBvciBidWlsZCB0aGUgc2VydmVyIHdp dGhvdXQgSUNVCi0gICBzdXBwb3J0LiBUaGUgPGxpdGVyYWw+bGliYzwvbGl0ZXJhbD4gbG9jYWxl IHByb3ZpZGVyIHRha2VzIHRoZSBsb2NhbGUKLSAgIHNldHRpbmdzIGZyb20gdGhlIGVudmlyb25t ZW50LCBhbmQgZGV0ZXJtaW5lcyB0aGUgZW5jb2RpbmcgZnJvbSB0aGUgbG9jYWxlCi0gICBzZXR0 aW5ncy4gIFRoaXMgaXMgYWxtb3N0IGFsd2F5cyBzdWZmaWNpZW50LCB1bmxlc3MgdGhlcmUgYXJl IHNwZWNpYWwKLSAgIHJlcXVpcmVtZW50cy4KKyAgIEJ5IGRlZmF1bHQsIDxjb21tYW5kPmluaXRk YjwvY29tbWFuZD4gdXNlcyB0aGUgbG9jYWxlIHByb3ZpZGVyCisgICA8bGl0ZXJhbD5saWJjPC9s aXRlcmFsPiAoc2VlIDx4cmVmIGxpbmtlbmQ9ImxvY2FsZS1wcm92aWRlcnMiLz4pLiBUaGUKKyAg IDxsaXRlcmFsPmxpYmM8L2xpdGVyYWw+IGxvY2FsZSBwcm92aWRlciB0YWtlcyB0aGUgbG9jYWxl IHNldHRpbmdzIGZyb20gdGhlCisgICBlbnZpcm9ubWVudCwgYW5kIGRldGVybWluZXMgdGhlIGVu Y29kaW5nIGZyb20gdGhlIGxvY2FsZSBzZXR0aW5ncy4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgpA QCAtMTIyLDYgKzEwOCwxNiBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgIHRoaXMgc2hv dWxkIGJlIHVzZWQgd2l0aCBjYXJlLgogICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBBbHRlcm5h dGl2ZWx5LCA8Y29tbWFuZD5pbml0ZGI8L2NvbW1hbmQ+IGNhbiB1c2UgdGhlIElDVSBsaWJyYXJ5 IHRvIHByb3ZpZGUKKyAgIGxvY2FsZSBzZXJ2aWNlcyBieSBzcGVjaWZ5aW5nIDxsaXRlcmFsPi0t bG9jYWxlLXByb3ZpZGVyPWljdTwvbGl0ZXJhbD4uIFRoZQorICAgc2VydmVyIG11c3QgYmUgYnVp bHQgd2l0aCBJQ1Ugc3VwcG9ydC4gVG8gY2hvb3NlIHRoZSBzcGVjaWZpYyBJQ1UgbG9jYWxlIElE CisgICB0byBhcHBseSwgdXNlIHRoZSBvcHRpb24gPG9wdGlvbj4tLWljdS1sb2NhbGU8L29wdGlv bj4uICBOb3RlIHRoYXQgZm9yCisgICBpbXBsZW1lbnRhdGlvbiByZWFzb25zIGFuZCB0byBzdXBw b3J0IGxlZ2FjeSBjb2RlLAorICAgPGNvbW1hbmQ+aW5pdGRiPC9jb21tYW5kPiB3aWxsIHN0aWxs IHNlbGVjdCBhbmQgaW5pdGlhbGl6ZSBsaWJjIGxvY2FsZQorICAgc2V0dGluZ3Mgd2hlbiB0aGUg SUNVIGxvY2FsZSBwcm92aWRlciBpcyB1c2VkLgorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBX aGVuIDxjb21tYW5kPmluaXRkYjwvY29tbWFuZD4gcnVucywgaXQgd2lsbCBwcmludCBvdXQgdGhl IGxvY2FsZSBzZXR0aW5ncwogICAgaXQgaGFzIGNob3Nlbi4gIElmIHlvdSBoYXZlIGNvbXBsZXgg cmVxdWlyZW1lbnRzIG9yIHNwZWNpZmllZCBtdWx0aXBsZQpAQCAtMjUxLDExICsyNDcsNiBAQCBQ b3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgICAgU3BlY2lmaWVzIHRoZSBJQ1UgbG9jYWxl IHdoZW4gdGhlIElDVSBwcm92aWRlciBpcyB1c2VkLiBMb2NhbGUgc3VwcG9ydAogICAgICAgICBp cyBkZXNjcmliZWQgaW4gPHhyZWYgbGlua2VuZD0ibG9jYWxlIi8+LgogICAgICAgIDwvcGFyYT4K LSAgICAgICA8cGFyYT4KLSAgICAgICAgSWYgdGhpcyBvcHRpb24gaXMgbm90IHNwZWNpZmllZCwg dGhlIGxvY2FsZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUKLSAgICAgICAgZW52aXJvbm1lbnQgaW4g d2hpY2ggPGNvbW1hbmQ+aW5pdGRiPC9jb21tYW5kPiBydW5zLiBUaGUgZW52aXJvbm1lbnQncwot ICAgICAgICBsb2NhbGUgaXMgbWF0Y2hlZCB0byBhIHNpbWlsYXIgSUNVIGxvY2FsZSBuYW1lLCBp ZiBwb3NzaWJsZS4KLSAgICAgICA8L3BhcmE+CiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8L3Zh cmxpc3RlbnRyeT4KIApAQCAtMzMwLDkgKzMyMSw4IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlv bgogICAgICAgICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBsb2NhbGUgcHJvdmlkZXIgZm9yIGRhdGFi YXNlcyBjcmVhdGVkIGluIHRoZSBuZXcKICAgICAgICAgY2x1c3Rlci4gIEl0IGNhbiBiZSBvdmVy cmlkZGVuIGluIHRoZSA8Y29tbWFuZD5DUkVBVEUKICAgICAgICAgREFUQUJBU0U8L2NvbW1hbmQ+ IGNvbW1hbmQgd2hlbiBuZXcgZGF0YWJhc2VzIGFyZSBzdWJzZXF1ZW50bHkKLSAgICAgICAgY3Jl YXRlZC4gIFRoZSBkZWZhdWx0IGlzIDxsaXRlcmFsPmljdTwvbGl0ZXJhbD4gaWYgdGhlIHNlcnZl ciB3YXMKLSAgICAgICAgYnVpbHQgd2l0aCBJQ1Ugc3VwcG9ydDsgb3RoZXJ3aXNlIHRoZSBkZWZh dWx0IGlzCi0gICAgICAgIDxsaXRlcmFsPmxpYmM8L2xpdGVyYWw+IChzZWUgPHhyZWYgbGlua2Vu ZD0ibG9jYWxlLXByb3ZpZGVycyIvPikuCisgICAgICAgIGNyZWF0ZWQuICBUaGUgZGVmYXVsdCBp cyA8bGl0ZXJhbD5saWJjPC9saXRlcmFsPiAoc2VlIDx4cmVmCisgICAgICAgIGxpbmtlbmQ9Imxv Y2FsZS1wcm92aWRlcnMiLz4pLgogICAgICAgIDwvcGFyYT4KICAgICAgIDwvbGlzdGl0ZW0+CiAg ICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMg Yi9zcmMvYmluL2luaXRkYi9pbml0ZGIuYwppbmRleCA3MWEzZDI2YzM3Li5mYTNhZjBkNzVjIDEw MDY0NAotLS0gYS9zcmMvYmluL2luaXRkYi9pbml0ZGIuYworKysgYi9zcmMvYmluL2luaXRkYi9p bml0ZGIuYwpAQCAtMTQzLDExICsxNDMsNyBAQCBzdGF0aWMgY2hhciAqbGNfbW9uZXRhcnkgPSBO VUxMOwogc3RhdGljIGNoYXIgKmxjX251bWVyaWMgPSBOVUxMOwogc3RhdGljIGNoYXIgKmxjX3Rp bWUgPSBOVUxMOwogc3RhdGljIGNoYXIgKmxjX21lc3NhZ2VzID0gTlVMTDsKLSNpZmRlZiBVU0Vf SUNVCi1zdGF0aWMgY2hhciBsb2NhbGVfcHJvdmlkZXIgPSBDT0xMUFJPVklERVJfSUNVOwotI2Vs c2UKIHN0YXRpYyBjaGFyIGxvY2FsZV9wcm92aWRlciA9IENPTExQUk9WSURFUl9MSUJDOwotI2Vu ZGlmCiBzdGF0aWMgY2hhciAqaWN1X2xvY2FsZSA9IE5VTEw7CiBzdGF0aWMgY2hhciAqaWN1X3J1 bGVzID0gTlVMTDsKIHN0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X3RleHRfc2VhcmNoX2NvbmZp ZyA9IE5VTEw7CkBAIC0yMzU3LDE5ICsyMzUzLDYgQEAgaWN1X3ZhbGlkYXRlX2xvY2FsZShjb25z dCBjaGFyICpsb2Nfc3RyKQogI2VuZGlmCiB9CiAKLS8qCi0gKiBEZXRlcm1pbmUgdGhlIGRlZmF1 bHQgSUNVIGxvY2FsZQotICovCi1zdGF0aWMgY2hhciAqCi1kZWZhdWx0X2ljdV9sb2NhbGUodm9p ZCkKLXsKLSNpZmRlZiBVU0VfSUNVCi0JcmV0dXJuIHBnX3N0cmR1cCh1bG9jX2dldERlZmF1bHQo KSk7Ci0jZWxzZQotCXBnX2ZhdGFsKCJJQ1UgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJ1aWxk Iik7Ci0jZW5kaWYKLX0KLQogLyoKICAqIHNldCB1cCB0aGUgbG9jYWxlIHZhcmlhYmxlcwogICoK QEAgLTI0MjksMTAgKzI0MTIsNyBAQCBzZXRsb2NhbGVzKHZvaWQpCiAKIAkJLyogYWNxdWlyZSBk ZWZhdWx0IGxvY2FsZSBmcm9tIHRoZSBlbnZpcm9ubWVudCwgaWYgbm90IHNwZWNpZmllZCAqLwog CQlpZiAoaWN1X2xvY2FsZSA9PSBOVUxMKQotCQl7Ci0JCQlpY3VfbG9jYWxlID0gZGVmYXVsdF9p Y3VfbG9jYWxlKCk7Ci0JCQlwcmludGYoXygiVXNpbmcgZGVmYXVsdCBJQ1UgbG9jYWxlIFwiJXNc Ii5cbiIpLCBpY3VfbG9jYWxlKTsKLQkJfQorCQkJcGdfZmF0YWwoIklDVSBsb2NhbGUgbXVzdCBi ZSBzcGVjaWZpZWQiKTsKIAogCQkvKiBjYW5vbmljYWxpemUgdG8gYSBsYW5ndWFnZSB0YWcgKi8K IAkJbGFuZ3RhZyA9IGljdV9sYW5ndWFnZV90YWcoaWN1X2xvY2FsZSk7CkBAIC0zMjczLDcgKzMy NTMsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQkJYnJlYWs7CiAJCQljYXNl IDg6CiAJCQkJbG9jYWxlID0gIkMiOwotCQkJCWxvY2FsZV9wcm92aWRlciA9IENPTExQUk9WSURF Ul9MSUJDOwogCQkJCWJyZWFrOwogCQkJY2FzZSA5OgogCQkJCXB3ZmlsZW5hbWUgPSBwZ19zdHJk dXAob3B0YXJnKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vaW5pdGRiL3QvMDAxX2luaXRkYi5wbCBi L3NyYy9iaW4vaW5pdGRiL3QvMDAxX2luaXRkYi5wbAppbmRleCA4YjRhY2I3MTQ4Li4yZDc0Njlk MmZjIDEwMDY0NAotLS0gYS9zcmMvYmluL2luaXRkYi90LzAwMV9pbml0ZGIucGwKKysrIGIvc3Jj L2Jpbi9pbml0ZGIvdC8wMDFfaW5pdGRiLnBsCkBAIC0xMDMsNiArMTAzLDExIEBAIFNLSVA6CiAK IGlmICgkRU5We3dpdGhfaWN1fSBlcSAneWVzJykKIHsKKwljb21tYW5kX2ZhaWxzX2xpa2UoCisJ CVsgJ2luaXRkYicsICctLW5vLXN5bmMnLCAnLS1sb2NhbGUtcHJvdmlkZXI9aWN1JywgIiR0ZW1w ZGlyL2RhdGEyIiBdLAorCQlxci9pbml0ZGI6IGVycm9yOiBJQ1UgbG9jYWxlIG11c3QgYmUgc3Bl Y2lmaWVkLywKKwkJJ2xvY2FsZSBwcm92aWRlciBJQ1UgcmVxdWlyZXMgLS1pY3UtbG9jYWxlJyk7 CisKIAljb21tYW5kX29rKAogCQlbCiAJCQknaW5pdGRiJywgJy0tbm8tc3luYycsCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90 LzAwMl9wZ19kdW1wLnBsCmluZGV4IDE1ODUyMTg4YzQuLjYzYmI0Njg5ZDQgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90 LzAwMl9wZ19kdW1wLnBsCkBAIC0xOTY1LDcgKzE5NjUsNyBAQCBteSAldGVzdHMgPSAoCiAJCWNy ZWF0ZV9zcWwgPT4KIAkJICAiQ1JFQVRFIERBVEFCQVNFIGR1bXBfdGVzdDIgTE9DQUxFID0gJ0Mn IFRFTVBMQVRFID0gdGVtcGxhdGUwOyIsCiAJCXJlZ2V4cCA9PiBxci9eCi0JCQlcUUNSRUFURSBE QVRBQkFTRSBkdW1wX3Rlc3QyIFxFLipcUUxPQ0FMRSA9ICdDJ1xFCisJCQlcUUNSRUFURSBEQVRB QkFTRSBkdW1wX3Rlc3QyIFxFLipcUUxPQ0FMRSA9ICdDJztcRQogCQkJL3htLAogCQlsaWtlID0+ IHsgcGdfZHVtcGFsbF9kYnByaXZzID0+IDEsIH0sCiAJfSwKZGlmZiAtLWdpdCBhL3NyYy9iaW4v c2NyaXB0cy90LzAyMF9jcmVhdGVkYi5wbCBiL3NyYy9iaW4vc2NyaXB0cy90LzAyMF9jcmVhdGVk Yi5wbAppbmRleCA1NzM4MzU2MWEwLi40MDI5MTkyNGU1IDEwMDY0NAotLS0gYS9zcmMvYmluL3Nj cmlwdHMvdC8wMjBfY3JlYXRlZGIucGwKKysrIGIvc3JjL2Jpbi9zY3JpcHRzL3QvMDIwX2NyZWF0 ZWRiLnBsCkBAIC0xMyw3ICsxMyw3IEBAIHByb2dyYW1fdmVyc2lvbl9vaygnY3JlYXRlZGInKTsK IHByb2dyYW1fb3B0aW9uc19oYW5kbGluZ19vaygnY3JlYXRlZGInKTsKIAogbXkgJG5vZGUgPSBQ b3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ21haW4nKTsKLSRub2RlLT5pbml0KGV4dHJh ID0+IFsnLS1sb2NhbGUtcHJvdmlkZXI9bGliYyddKTsKKyRub2RlLT5pbml0OwogJG5vZGUtPnN0 YXJ0OwogCiAkbm9kZS0+aXNzdWVzX3NxbF9saWtlKApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaWN1 L3QvMDEwX2RhdGFiYXNlLnBsIGIvc3JjL3Rlc3QvaWN1L3QvMDEwX2RhdGFiYXNlLnBsCmluZGV4 IGNiZTU0NjdmM2MuLjNiZWVlMmZmOTYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2ljdS90LzAxMF9k YXRhYmFzZS5wbAorKysgYi9zcmMvdGVzdC9pY3UvdC8wMTBfZGF0YWJhc2UucGwKQEAgLTEyLDcg KzEyLDcgQEAgaWYgKCRFTlZ7d2l0aF9pY3V9IG5lICd5ZXMnKQogfQogCiBteSAkbm9kZTEgPSBQ b3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ25vZGUxJyk7Ci0kbm9kZTEtPmluaXQoZXh0 cmEgPT4gWyctLWxvY2FsZS1wcm92aWRlcj1saWJjJ10pOworJG5vZGUxLT5pbml0OwogJG5vZGUx LT5zdGFydDsKIAogJG5vZGUxLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5pY3UudXRmOC5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgub3V0CmluZGV4IGRjOTZlNTkwZjcuLmI3 ZmJlZTQ0N2YgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5p Y3UudXRmOC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb2xsYXRlLmljdS51 dGY4Lm91dApAQCAtMTAyMyw3ICsxMDIzLDcgQEAgU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgVE8g V0FSTklORzsKIGRvICQkCiBCRUdJTgogICBFWEVDVVRFICdDUkVBVEUgQ09MTEFUSU9OIHRlc3Qw IChwcm92aWRlciA9IGljdSwgbG9jYWxlID0gJyB8fAotICAgICAgICAgIHF1b3RlX2xpdGVyYWwo KFNFTEVDVCBkYXRpY3Vsb2NhbGUgRlJPTSBwZ19kYXRhYmFzZSBXSEVSRSBkYXRuYW1lID0gY3Vy cmVudF9kYXRhYmFzZSgpKSkgfHwgJyk7JzsKKyAgICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxF Q1QgQ0FTRSBXSEVOIGRhdGxvY3Byb3ZpZGVyPSdpJyBUSEVOIGRhdGljdWxvY2FsZSBFTFNFIGRh dGNvbGxhdGUgRU5EIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0 YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwogQ1JFQVRFIENPTExBVElPTiB0ZXN0MCBGUk9N ICJDIjsgLS0gZmFpbCwgZHVwbGljYXRlIG5hbWUKQEAgLTEwMzEsNyArMTAzMSw3IEBAIEVSUk9S OiAgY29sbGF0aW9uICJ0ZXN0MCIgYWxyZWFkeSBleGlzdHMKIGRvICQkCiBCRUdJTgogICBFWEVD VVRFICdDUkVBVEUgQ09MTEFUSU9OIHRlc3QxIChwcm92aWRlciA9IGljdSwgbG9jYWxlID0gJyB8 fAotICAgICAgICAgIHF1b3RlX2xpdGVyYWwoKFNFTEVDVCBkYXRpY3Vsb2NhbGUgRlJPTSBwZ19k YXRhYmFzZSBXSEVSRSBkYXRuYW1lID0gY3VycmVudF9kYXRhYmFzZSgpKSkgfHwgJyk7JzsKKyAg ICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgQ0FTRSBXSEVOIGRhdGxvY3Byb3ZpZGVyPSdp JyBUSEVOIGRhdGljdWxvY2FsZSBFTFNFIGRhdGNvbGxhdGUgRU5EIEZST00gcGdfZGF0YWJhc2Ug V0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CiBFTkQKICQkOwog UkVTRVQgY2xpZW50X21pbl9tZXNzYWdlczsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL2NvbGxhdGUuaWN1LnV0Zjguc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5p Y3UudXRmOC5zcWwKaW5kZXggYTgwMDFiNGI4ZS4uMDc5ZDdhZTM5ZCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5pY3UudXRmOC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvY29sbGF0ZS5pY3UudXRmOC5zcWwKQEAgLTM2MiwxNCArMzYyLDE0IEBAIFNFVCBj bGllbnRfbWluX21lc3NhZ2VzIFRPIFdBUk5JTkc7CiBkbyAkJAogQkVHSU4KICAgRVhFQ1VURSAn Q1JFQVRFIENPTExBVElPTiB0ZXN0MCAocHJvdmlkZXIgPSBpY3UsIGxvY2FsZSA9ICcgfHwKLSAg ICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0aWN1bG9jYWxlIEZST00gcGdfZGF0YWJh c2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2UoKSkpIHx8ICcpOyc7CisgICAgICAg ICAgcXVvdGVfbGl0ZXJhbCgoU0VMRUNUIENBU0UgV0hFTiBkYXRsb2Nwcm92aWRlcj0naScgVEhF TiBkYXRpY3Vsb2NhbGUgRUxTRSBkYXRjb2xsYXRlIEVORCBGUk9NIHBnX2RhdGFiYXNlIFdIRVJF IGRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpKSB8fCAnKTsnOwogRU5ECiAkJDsKIENSRUFU RSBDT0xMQVRJT04gdGVzdDAgRlJPTSAiQyI7IC0tIGZhaWwsIGR1cGxpY2F0ZSBuYW1lCiBkbyAk JAogQkVHSU4KICAgRVhFQ1VURSAnQ1JFQVRFIENPTExBVElPTiB0ZXN0MSAocHJvdmlkZXIgPSBp Y3UsIGxvY2FsZSA9ICcgfHwKLSAgICAgICAgICBxdW90ZV9saXRlcmFsKChTRUxFQ1QgZGF0aWN1 bG9jYWxlIEZST00gcGdfZGF0YWJhc2UgV0hFUkUgZGF0bmFtZSA9IGN1cnJlbnRfZGF0YWJhc2Uo KSkpIHx8ICcpOyc7CisgICAgICAgICAgcXVvdGVfbGl0ZXJhbCgoU0VMRUNUIENBU0UgV0hFTiBk YXRsb2Nwcm92aWRlcj0naScgVEhFTiBkYXRpY3Vsb2NhbGUgRUxTRSBkYXRjb2xsYXRlIEVORCBG Uk9NIHBnX2RhdGFiYXNlIFdIRVJFIGRhdG5hbWUgPSBjdXJyZW50X2RhdGFiYXNlKCkpKSB8fCAn KTsnOwogRU5ECiAkJDsKIAotLSAKMi4zNC4xCgo= --=-iAoFpOzYHCkGym3pab0l Content-Disposition: attachment; filename="v1-0002-ICU-do-not-convert-locale-C-to-en-US-u-va-posix.patch" Content-Type: text/x-patch; name="v1-0002-ICU-do-not-convert-locale-C-to-en-US-u-va-posix.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBlMzM5MTIzYWU5YzQxYTExNjFkNTE2MTczZTY3YzU0M2Q1NTQyYTYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDE1IEp1biAyMDIzIDE1OjE4OjUwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MSAyLzJdIElD VTogZG8gbm90IGNvbnZlcnQgbG9jYWxlICdDJyB0byAnZW4tVVMtdS12YS1wb3NpeCcuCgpPbGRl ciB2ZXJzaW9ucyBvZiBJQ1UgY2Fub25pY2FsaXplICJDIiB0byAiZW4tVVMtdS12YS1wb3NpeCI7 IGJ1dApzdGFydGluZyBpbiBJQ1UgdmVyc2lvbiA2NCwgdGhlICJDIiBsb2NhbGUgaXMgY29uc2lk ZXJlZApvYnNvbGV0ZS4gUG9zdGdyZXMgY29tbWl0IGVhMWRiOGFlNzAgaW50cm9kdWNlZCBjb2Rl IHRvIGFsd2F5cwpjYW5vbmljYWxpemUgIkMiIHRvICJlbi1VUy11LXZhLXBvc2l4IiBmb3IgY29u c2lzdGVuY3kgYW5kCmNvbnZlbmllbmNlLCBidXQgaXQgd2FzIGRlZW1lZCB0b28gY29uZnVzaW5n LgoKVGhpcyBjb21taXQgcmVtb3ZlcyB0aGF0IGNvZGUsIHNvIHRoYXQgIkMiIGlzIHRyZWF0ZWQg bGlrZSBvdGhlciBJQ1UKbG9jYWxlIG5hbWVzOiBjYW5vbmljYWxpemF0aW9uIGlzIGF0dGVtcHRl ZCwgYW5kIGlmIGl0IGZhaWxzLCB0aGUKYmVoYXZpb3IgaXMgY29udHJvbGxlZCBieSBpY3VfdmFs aWRhdGlvbl9sZXZlbC4KCkEgc2ltaWxhciBjaGFuZ2Ugd2FzIHByZXZpb3VzbHkgY29tbWl0dGVk IGFzIGY3ZmFhOTk3NmMsIHRoZW4gcmV2ZXJ0ZWQKZHVlIHRvIGFuIElDVS12ZXJzaW9uLWRlcGVu ZGVudCB0ZXN0IGZhaWx1cmUuIFRoaXMgY29tbWl0IHVuLXJldmVydHMKaXQsIG9taXR0aW5nIHRo ZSB0ZXN0IGJlY2F1c2Ugd2Ugbm93IGV4cGVjdCB0aGUgYmVoYXZpb3IgdG8gZGVwZW5kIG9uCnRo ZSB2ZXJzaW9uIG9mIElDVSBiZWluZyB1c2VkLgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3Iu ZXMvbS8zYTIwMGFjYS00NjcyLTRiMzctZmM5MS01ZDE5OGEzMjM1MDMlNDBlaXNlbnRyYXV0Lm9y ZwpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL2Y4M2YwODllZTFlOWFjZDVkYmJiZjMz NTMyOTRkMjRlMWYxOTZlOTUuY2FtZWxAai1kYXZpcy5jb20KRGlzY3Vzc2lvbjogaHR0cHM6Ly9w b3N0Z3IuZXMvbS8zNzUyMGVjMWFlOTU5MWY4MzEzMmY4MmRiZDYyNWYzZmMyZDY5YzE2LmNhbWVs QGotZGF2aXMuY29tCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jICAgICAg ICAgICAgIHwgMjcgKysrKy0tLS0tLS0tLS0tLS0tLQogc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMg ICAgICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKy0tLS0tLS0tLS0tLS0KIC4uLi9yZWdyZXNz L2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgub3V0ICAgICB8ICAyICsrCiBzcmMvdGVzdC9yZWdy ZXNzL3NxbC9jb2xsYXRlLmljdS51dGY4LnNxbCAgICAgfCAgMiArKwogNCBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9j YWxlLmMKaW5kZXggMzFlM2IxNmFlMC4uNjlhMmZiMzM3NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3BnX2xvY2FsZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19s b2NhbGUuYwpAQCAtMjc4MywyNiArMjc4MywxMCBAQCBjaGFyICoKIGljdV9sYW5ndWFnZV90YWco Y29uc3QgY2hhciAqbG9jX3N0ciwgaW50IGVsZXZlbCkKIHsKICNpZmRlZiBVU0VfSUNVCi0JVUVy cm9yQ29kZQlzdGF0dXM7Ci0JY2hhcgkJbGFuZ1tVTE9DX0xBTkdfQ0FQQUNJVFldOwotCWNoYXIJ ICAgKmxhbmd0YWc7Ci0Jc2l6ZV90CQlidWZsZW4gPSAzMjsJLyogYXJiaXRyYXJ5IHN0YXJ0aW5n IGJ1ZmZlciBzaXplICovCi0JY29uc3QgYm9vbAlzdHJpY3QgPSB0cnVlOwotCi0Jc3RhdHVzID0g VV9aRVJPX0VSUk9SOwotCXVsb2NfZ2V0TGFuZ3VhZ2UobG9jX3N0ciwgbGFuZywgVUxPQ19MQU5H X0NBUEFDSVRZLCAmc3RhdHVzKTsKLQlpZiAoVV9GQUlMVVJFKHN0YXR1cykgfHwgc3RhdHVzID09 IFVfU1RSSU5HX05PVF9URVJNSU5BVEVEX1dBUk5JTkcpCi0JewotCQlpZiAoZWxldmVsID4gMCkK LQkJCWVyZXBvcnQoZWxldmVsLAotCQkJCQkoZXJybXNnKCJjb3VsZCBub3QgZ2V0IGxhbmd1YWdl IGZyb20gbG9jYWxlIFwiJXNcIjogJXMiLAotCQkJCQkJCWxvY19zdHIsIHVfZXJyb3JOYW1lKHN0 YXR1cykpKSk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCS8qIEMvUE9TSVggbG9jYWxlcyBhcmVu J3QgaGFuZGxlZCBieSB1bG9jX2dldExhbmd1YWdlVGFnKCkgKi8KLQlpZiAoc3RyY21wKGxhbmcs ICJjIikgPT0gMCB8fCBzdHJjbXAobGFuZywgInBvc2l4IikgPT0gMCkKLQkJcmV0dXJuIHBzdHJk dXAoImVuLVVTLXUtdmEtcG9zaXgiKTsKKwlVRXJyb3JDb2RlCSBzdGF0dXM7CisJY2hhcgkJKmxh bmd0YWc7CisJc2l6ZV90CQkgYnVmbGVuID0gMzI7CS8qIGFyYml0cmFyeSBzdGFydGluZyBidWZm ZXIgc2l6ZSAqLworCWNvbnN0IGJvb2wJIHN0cmljdCA9IHRydWU7CiAKIAkvKgogCSAqIEEgQkNQ NDcgbGFuZ3VhZ2UgdGFnIGRvZXNuJ3QgaGF2ZSBhIGNsZWFybHktZGVmaW5lZCB1cHBlciBsaW1p dCAoY2YuCkBAIC0yODg0LDggKzI4NjgsNyBAQCBpY3VfdmFsaWRhdGVfbG9jYWxlKGNvbnN0IGNo YXIgKmxvY19zdHIpCiAKIAkvKiBjaGVjayBmb3Igc3BlY2lhbCBsYW5ndWFnZSBuYW1lICovCiAJ aWYgKHN0cmNtcChsYW5nLCAiIikgPT0gMCB8fAotCQlzdHJjbXAobGFuZywgInJvb3QiKSA9PSAw IHx8IHN0cmNtcChsYW5nLCAidW5kIikgPT0gMCB8fAotCQlzdHJjbXAobGFuZywgImMiKSA9PSAw IHx8IHN0cmNtcChsYW5nLCAicG9zaXgiKSA9PSAwKQorCQlzdHJjbXAobGFuZywgInJvb3QiKSA9 PSAwIHx8IHN0cmNtcChsYW5nLCAidW5kIikgPT0gMCkKIAkJZm91bmQgPSB0cnVlOwogCiAJLyog c2VhcmNoIGZvciBtYXRjaGluZyBsYW5ndWFnZSB3aXRoaW4gSUNVICovCmRpZmYgLS1naXQgYS9z cmMvYmluL2luaXRkYi9pbml0ZGIuYyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCmluZGV4IGZh M2FmMGQ3NWMuLmE1Y2UxZjY2ZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5j CisrKyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCkBAIC0yMjQzLDI0ICsyMjQzLDEwIEBAIHN0 YXRpYyBjaGFyICoKIGljdV9sYW5ndWFnZV90YWcoY29uc3QgY2hhciAqbG9jX3N0cikKIHsKICNp ZmRlZiBVU0VfSUNVCi0JVUVycm9yQ29kZQlzdGF0dXM7Ci0JY2hhcgkJbGFuZ1tVTE9DX0xBTkdf Q0FQQUNJVFldOwotCWNoYXIJICAgKmxhbmd0YWc7Ci0Jc2l6ZV90CQlidWZsZW4gPSAzMjsJLyog YXJiaXRyYXJ5IHN0YXJ0aW5nIGJ1ZmZlciBzaXplICovCi0JY29uc3QgYm9vbAlzdHJpY3QgPSB0 cnVlOwotCi0Jc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotCXVsb2NfZ2V0TGFuZ3VhZ2UobG9jX3N0 ciwgbGFuZywgVUxPQ19MQU5HX0NBUEFDSVRZLCAmc3RhdHVzKTsKLQlpZiAoVV9GQUlMVVJFKHN0 YXR1cykgfHwgc3RhdHVzID09IFVfU1RSSU5HX05PVF9URVJNSU5BVEVEX1dBUk5JTkcpCi0Jewot CQlwZ19mYXRhbCgiY291bGQgbm90IGdldCBsYW5ndWFnZSBmcm9tIGxvY2FsZSBcIiVzXCI6ICVz IiwKLQkJCQkgbG9jX3N0ciwgdV9lcnJvck5hbWUoc3RhdHVzKSk7Ci0JCXJldHVybiBOVUxMOwot CX0KLQotCS8qIEMvUE9TSVggbG9jYWxlcyBhcmVuJ3QgaGFuZGxlZCBieSB1bG9jX2dldExhbmd1 YWdlVGFnKCkgKi8KLQlpZiAoc3RyY21wKGxhbmcsICJjIikgPT0gMCB8fCBzdHJjbXAobGFuZywg InBvc2l4IikgPT0gMCkKLQkJcmV0dXJuIHBzdHJkdXAoImVuLVVTLXUtdmEtcG9zaXgiKTsKKwlV RXJyb3JDb2RlCSBzdGF0dXM7CisJY2hhcgkJKmxhbmd0YWc7CisJc2l6ZV90CQkgYnVmbGVuID0g MzI7CS8qIGFyYml0cmFyeSBzdGFydGluZyBidWZmZXIgc2l6ZSAqLworCWNvbnN0IGJvb2wJIHN0 cmljdCA9IHRydWU7CiAKIAkvKgogCSAqIEEgQkNQNDcgbGFuZ3VhZ2UgdGFnIGRvZXNuJ3QgaGF2 ZSBhIGNsZWFybHktZGVmaW5lZCB1cHBlciBsaW1pdCAoY2YuCkBAIC0yMzI2LDggKzIzMTIsNyBA QCBpY3VfdmFsaWRhdGVfbG9jYWxlKGNvbnN0IGNoYXIgKmxvY19zdHIpCiAKIAkvKiBjaGVjayBm b3Igc3BlY2lhbCBsYW5ndWFnZSBuYW1lICovCiAJaWYgKHN0cmNtcChsYW5nLCAiIikgPT0gMCB8 fAotCQlzdHJjbXAobGFuZywgInJvb3QiKSA9PSAwIHx8IHN0cmNtcChsYW5nLCAidW5kIikgPT0g MCB8fAotCQlzdHJjbXAobGFuZywgImMiKSA9PSAwIHx8IHN0cmNtcChsYW5nLCAicG9zaXgiKSA9 PSAwKQorCQlzdHJjbXAobGFuZywgInJvb3QiKSA9PSAwIHx8IHN0cmNtcChsYW5nLCAidW5kIikg PT0gMCkKIAkJZm91bmQgPSB0cnVlOwogCiAJLyogc2VhcmNoIGZvciBtYXRjaGluZyBsYW5ndWFn ZSB3aXRoaW4gSUNVICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Nv bGxhdGUuaWN1LnV0Zjgub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb2xsYXRlLmlj dS51dGY4Lm91dAppbmRleCBiN2ZiZWU0NDdmLi43OGE5Y2IzOGZhIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvbGxhdGUuaWN1LnV0Zjgub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvY29sbGF0ZS5pY3UudXRmOC5vdXQKQEAgLTEwMjAsNiArMTAyMCw3 IEBAIENSRUFURSBST0xFIHJlZ3Jlc3NfdGVzdF9yb2xlOwogQ1JFQVRFIFNDSEVNQSB0ZXN0X3Nj aGVtYTsKIC0tIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGlzIHdheSB0byBjb3BlIHdpdGggdmFyeWlu ZyBuYW1lcyBmb3IgZW5jb2RpbmdzOgogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgVE8gV0FSTklO RzsKK1NFVCBpY3VfdmFsaWRhdGlvbl9sZXZlbCA9IGRpc2FibGVkOwogZG8gJCQKIEJFR0lOCiAg IEVYRUNVVEUgJ0NSRUFURSBDT0xMQVRJT04gdGVzdDAgKHByb3ZpZGVyID0gaWN1LCBsb2NhbGUg PSAnIHx8CkBAIC0xMDM0LDYgKzEwMzUsNyBAQCBCRUdJTgogICAgICAgICAgIHF1b3RlX2xpdGVy YWwoKFNFTEVDVCBDQVNFIFdIRU4gZGF0bG9jcHJvdmlkZXI9J2knIFRIRU4gZGF0aWN1bG9jYWxl IEVMU0UgZGF0Y29sbGF0ZSBFTkQgRlJPTSBwZ19kYXRhYmFzZSBXSEVSRSBkYXRuYW1lID0gY3Vy cmVudF9kYXRhYmFzZSgpKSkgfHwgJyk7JzsKIEVORAogJCQ7CitSRVNFVCBpY3VfdmFsaWRhdGlv bl9sZXZlbDsKIFJFU0VUIGNsaWVudF9taW5fbWVzc2FnZXM7CiBDUkVBVEUgQ09MTEFUSU9OIHRl c3QzIChwcm92aWRlciA9IGljdSwgbGNfY29sbGF0ZSA9ICdlbl9VUy51dGY4Jyk7IC0tIGZhaWws IG5lZWRzICJsb2NhbGUiCiBFUlJPUjogIHBhcmFtZXRlciAibG9jYWxlIiBtdXN0IGJlIHNwZWNp ZmllZApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29sbGF0ZS5pY3UudXRmOC5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51dGY4LnNxbAppbmRleCAwNzlk N2FlMzlkLi4zZGI5ZTI1OTEzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xs YXRlLmljdS51dGY4LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb2xsYXRlLmljdS51 dGY4LnNxbApAQCAtMzU4LDYgKzM1OCw3IEBAIENSRUFURSBTQ0hFTUEgdGVzdF9zY2hlbWE7CiAK IC0tIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGlzIHdheSB0byBjb3BlIHdpdGggdmFyeWluZyBuYW1l cyBmb3IgZW5jb2RpbmdzOgogU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgVE8gV0FSTklORzsKK1NF VCBpY3VfdmFsaWRhdGlvbl9sZXZlbCA9IGRpc2FibGVkOwogCiBkbyAkJAogQkVHSU4KQEAgLTM3 Myw2ICszNzQsNyBAQCBCRUdJTgogRU5ECiAkJDsKIAorUkVTRVQgaWN1X3ZhbGlkYXRpb25fbGV2 ZWw7CiBSRVNFVCBjbGllbnRfbWluX21lc3NhZ2VzOwogCiBDUkVBVEUgQ09MTEFUSU9OIHRlc3Qz IChwcm92aWRlciA9IGljdSwgbGNfY29sbGF0ZSA9ICdlbl9VUy51dGY4Jyk7IC0tIGZhaWwsIG5l ZWRzICJsb2NhbGUiCi0tIAoyLjM0LjEKCg== --=-iAoFpOzYHCkGym3pab0l--