From n2029@ndensan.co.jp Tue Mar 29 03:26:35 2022 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 1nZ2VG-0000E9-A2 for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 03:26:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ2VE-0002xd-7Z for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 03:26:40 +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 1nZ2VD-0002xT-Sr for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 03:26:39 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by makus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ2VA-0000Hi-PQ for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 03:26:38 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: Subject: About Unicode IVS Date: Tue, 29 Mar 2022 12:26:35 +0900 Message-ID: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_00E3_01D84368.3B20E160" X-Mailer: Microsoft Outlook 16.0 thread-index: AdhDHFEtTeiX5fipRsiU84hhOc2zig== Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_00E3_01D84368.3B20E160 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 Best regards, ------=_NextPart_000_00E3_01D84368.3B20E160 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

H= i,

<= o:p> 

In the Length () function, it = will be 2 characters where you want it to be 1 character.

Is it possible to respond by changing the =
settings such as changing the collation setting like SQL =
Server?
Also, if you understand how to deal with it (eg, create your =
own function), it would be helpful if you could provide as much =
information as you can.

<= o:p> 

Best = regards,<= o:p>

------=_NextPart_000_00E3_01D84368.3B20E160-- From david.g.johnston@gmail.com Tue Mar 29 03:37:50 2022 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 1nZ2gA-0001DH-Cd for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 03:37:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ2g9-0000dA-7Z for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 03:37:57 +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 1nZ2g8-0000d1-Qi for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 03:37:56 +0000 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nZ2g6-0000M8-Ay for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 03:37:55 +0000 Received: by mail-ej1-x634.google.com with SMTP id bq8so18495757ejb.10 for ; Mon, 28 Mar 2022 20:37:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ZZM8zSTTRDHKpoj6kSHg4MRikNyAJfoBHgNbghpbWe8=; b=KVaLFYIuPIyv3KDuq3UDW56DHutns1RrCVcufSaVMbJwhopKSBegn/oMcLq/kMgYtx pQTkTYTPtRUNkbMXkBONeBU/e+CKZ0dAnsXiW7iOdhCYNFWkQWxAEqPPbP+7uo4XV2Dx yaQswg4uTf1qifE70YpnaRqMQN9RSPt4fCqKhspARZUOzN/8y/HbSl3aG98gHb5az5Bc SflIGA59Vgfg6kkvqkHFI5WoBJz1ssUkdh69mAeOuEyaujugCsZYa8yax8XIEHMdN+DU FH88FE4vIkDsyz3NlucfzunmF7E03Dkwld/wWWlH06bu+A9TEprA8B99gFb0tP1XWje9 rmzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ZZM8zSTTRDHKpoj6kSHg4MRikNyAJfoBHgNbghpbWe8=; b=Xm60ikFxlLoe/x9QUpYMT8QGyfYMSOMz994qjmfi1qbBe4jNZhRXEWQJ1PUc5r54wf pk2yhwMq3WYpOtUuZxLbSRxcZiFCnQZlqydA86IC1EvEwfnNZi9IFwxCvUnR7SUuzDyk eSkBaDVqCTuIor0An0VM4yMISw8r3QQJCnzJ375w8fRwOKEaVYW7OgK9kV1+HOMRTK1g 50e4XIPJ2kP/7Rdqd4p0QoiXMTb/BBWm1ozHxOIQIiEf0qlkNE4qyLj9lhqJfzPFc0fj yjpCVDP+YmrKUCh7BV739lVHJp2BMqzmFnC9guADjItnuIMyVqw0wgL8XNceELiwBUeF Akng== X-Gm-Message-State: AOAM530VP7x/0XH2OEk5L5rg/Q1/0GLO/WEaU1Tx3xNtCoRqwfbRoJLe iVEZro360dDgQlCuO2nMdSusFGesQnpYu7qw4LdCB+Fn X-Google-Smtp-Source: ABdhPJxBXq4l0cc+5CoE8svjJ8O8TnnN0cYYQljp9+mdgrxK71fMcPhYKX4L2xJgvJjSOipqXNGGUYJPgY6zdijOWss= X-Received: by 2002:a17:907:6093:b0:6e0:dabf:1a9f with SMTP id ht19-20020a170907609300b006e0dabf1a9fmr16898768ejc.424.1648525071669; Mon, 28 Mar 2022 20:37:51 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:640c:f44:b0:151:e8c0:9f7 with HTTP; Mon, 28 Mar 2022 20:37:50 -0700 (PDT) In-Reply-To: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> From: "David G. Johnston" Date: Mon, 28 Mar 2022 20:37:50 -0700 Message-ID: Subject: Re: About Unicode IVS To: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= Cc: "pgsql-admin@lists.postgresql.org" Content-Type: multipart/alternative; boundary="0000000000004cdce905db53272a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004cdce905db53272a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 wrote: > Hi, > > > > In the Length () function, it will be 2 characters where you want it to b= e > 1 character. > > Is it possible to respond by changing the settings such as changing the c= ollation setting like SQL Server? > > Also, if you understand how to deal with it (eg, create your own function= ), it would be helpful if you could provide as much information as you can. > > > > Try char_length(text) instead. David J. --0000000000004cdce905db53272a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <= ;n2029@ndensan.co.jp> wrote:<= br>

Hi,

=C2=A0

In the Length () function, it will be 2 characters where you wa= nt it to be 1 character.

Is it possible to respo=
nd by changing the settings such as changing the collation setting like SQL=
 Server?
=
Also, if you understand how to deal with it (eg, cr=
eate your own function), it would be helpful if you could provide as much i=
nformation as you can.

=C2=A0


Try char_length(text= ) instead.

David J.
=C2=A0
--0000000000004cdce905db53272a-- From n2029@ndensan.co.jp Tue Mar 29 04:34:49 2022 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 1nZ3ZR-0005Ga-19 for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 04:35:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ3ZO-0004K2-Gd for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 04:35:02 +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 1nZ3ZN-0004Jf-Ty for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 04:35:02 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by makus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ3ZE-0000mB-VL for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 04:34:59 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'David G. Johnston'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> In-Reply-To: Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 13:34:49 +0900 Message-ID: <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_00F7_01D84371.C350AF80" X-Mailer: Microsoft Outlook 16.0 thread-index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOurK0EM1A= Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_00F7_01D84371.C350AF80 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =20 thank you for your reply. It will be 2 characters. =20 select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) =20 select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) =20 $ psql -l = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+-= -------------------- D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 (4 =E8=A1=8C) =20 =20 $ cat pgdata/PG_VERSION 13 =20 Moto. =20 From: David G. Johnston =20 Sent: Tuesday, March 29, 2022 12:38 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 Cc: pgsql-admin@lists.postgresql.org Subject: Re: About Unicode IVS =20 On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = > wrote: Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 =20 Try char_length(text) instead. =20 David J. =20 ------=_NextPart_000_00F7_01D84371.C350AF80 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

 

thank you for your = reply.

It will be 2 = characters.

 

select char_length(U&'\+008FBA' || = U&'\+0E0102');

char_length

-------------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 2

(1 =E8=A1=8C)

 

select length('=E8=BE=BA󠄂');

length

--------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1=8C)

 

select char_length('=E8=BE=BA󠄂');

char_length

-------------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 2

(1 =E8=A1=8C)

 

$ psql -l

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8= =80=E8=A6=A7

=C2=A0=C2=A0 =E5=90=8D=E5=89=8D=C2=A0=C2=A0=C2=A0 | = =E6=89=80=E6=9C=89=E8=80=85=C2=A0 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3= =82=B0 | = =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) |=C2=A0=C2=A0=C2=A0 = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90

-----------+---------+------------------+----------+--------= -----------+---------------------

D209007=C2=A0=C2=A0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |

postgres=C2=A0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |

template0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 | = =3Dc/D209007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0| = D209007=3DCTc/D209007

template1 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 | = =3Dc/D209007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = D209007=3DCTc/D209007

(4 =E8=A1=8C)

 

 

$ cat pgdata/PG_VERSION

13

 

Moto.

 

From:<= /b> David G. = Johnston <david.g.johnston@gmail.com>
Sent: Tuesday, = March 29, 2022 12:38 PM
To:
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = <n2029@ndensan.co.jp>
Cc: = pgsql-admin@lists.postgresql.org
Subject: Re: About Unicode = IVS

 



On Monday, March 28, 2022, =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> = wrote:

Hi,

 

In the Length () function, it will be 2 characters = where you want it to be 1 character.

Is it possible =
to respond by changing the settings such as changing the collation =
setting like SQL Server?
Also, if you =
understand how to deal with it (eg, create your own function), it would =
be helpful if you could provide as much information as you =
can.

 

 

Try char_length(text) = instead.

 

David = J.

 

------=_NextPart_000_00F7_01D84371.C350AF80-- From gmyers@retailexpress.com Tue Mar 29 07:45:40 2022 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 1nZ6Y3-0002Ig-Sq for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 07:45:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ6Y2-00044C-Kw for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 07:45:50 +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 1nZ6Y2-000443-0v for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 07:45:50 +0000 Received: from mail-ej1-x662.google.com ([2a00:1450:4864:20::662]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nZ6Xy-0002PV-JH for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 07:45:48 +0000 Received: by mail-ej1-x662.google.com with SMTP id a8so33201843ejc.8 for ; Tue, 29 Mar 2022 00:45:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retailexpress.com; s=google; h=from:references:in-reply-to:mime-version:thread-index:date :message-id:subject:to:cc; bh=qJlhqE/CdCuhJ12vS3LpeL2sThhGjkiQhGYFTkHCefQ=; b=ECqtTVdx50Qw/mvH9nSR22MrfrVTpvuyZ1q7KCR4RYrNrztx+uj5s/XhP7ZKIn3QGX TGYXgBOrCDhmdb30mEzdWflMK2DZy2NRMrU4pT46EMOLaaxBRnRjHrZvZZ2yah7481Y2 DMPc9NFGgfoSEsQolcYCD865/zdrZloENMZV0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc; bh=qJlhqE/CdCuhJ12vS3LpeL2sThhGjkiQhGYFTkHCefQ=; b=0o/wp3thBkUD+n/dmpCqN4sODhU0Ndg0lTjed8jffUsbGC8WRieuT4qjwfWfjGwvhQ JB++BNhZjVcRbjTckY+i3ZPtC/f3rhPXJUTEqFrrTOCGXKqMT0sRVp/ngp1m1zyOirPE v7DRJJTkAA+sdLsL7uJpZzkzYiuUsRG1+xL708OB2KAjqSipdvGFXIcX6J/NegI7qpMC 3cMsbqbtcGkhnQUwLNNBcKr6Ji64mlgE/eISFXz0+pAvG4OdAiir9Kb7Dbgo+fxYKAGr rT7A3IWK8Q+L9MqkjFILOv1hB1FDHKvgOwDFllgJh92sTUtAZXlgnGXmuw9KVPBsugD5 qGbQ== X-Gm-Message-State: AOAM530J9jA8fEDgPFyL4t+wVHnssuI/komKsBgXLuh8Pkwojl6FLN89 kroBsuR6ixG8NfyyfKLxCk0kvcpOH20nnWYqkbaVY+TlF5ebcg== X-Google-Smtp-Source: ABdhPJw2AQFGwaXcG3fjc9Py0ZSHX5ywLH8MXbUxwF+2+nX458Y00HIJSC6vO0QL66KoJ7u8bvTNd/Gyfgvg X-Received: by 2002:a17:907:7f94:b0:6da:64ec:fabc with SMTP id qk20-20020a1709077f9400b006da64ecfabcmr32816968ejc.717.1648539944729; Tue, 29 Mar 2022 00:45:44 -0700 (PDT) Received: from eu2gs2.smtp.exclaimer.net (eu2gs2.smtp.exclaimer.net. [40.127.253.49]) by smtp-relay.gmail.com with ESMTPS id q19-20020a1709066ad300b006d6534ef289sm63861ejs.59.2022.03.29.00.45.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Mar 2022 00:45:44 -0700 (PDT) X-Relaying-Domain: retailexpress.com Received: from mail-lj1-f197.google.com (209.85.208.197) by eu2gs2.smtp.exclaimer.net (40.127.253.49) with Exclaimer Signature Manager ESMTP Proxy eu2gs2.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_ECDHE_WITH_AES256_SHA1); Tue, 29 Mar 2022 07:45:44 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 11979948 X-ExclaimerImprintLatency: 6818390 X-ExclaimerImprintAction: cf28a491994646c7bc5ccc3e4c8a7fad Content-Type: multipart/related; boundary="----_=_NextPart_c3198631-5ea5-4056-ba34-29df9ffe8fe0" Received: by mail-lj1-f197.google.com with SMTP id v2-20020a2e9f42000000b00247e9c3f0e1so7108988ljk.1 for ; Tue, 29 Mar 2022 00:45:43 -0700 (PDT) X-Received: by 2002:a2e:8610:0:b0:249:7bc4:bbb8 with SMTP id a16-20020a2e8610000000b002497bc4bbb8mr1499326lji.370.1648539942470; Tue, 29 Mar 2022 00:45:42 -0700 (PDT) X-Received: by 2002:a2e:8610:0:b0:249:7bc4:bbb8 with SMTP id a16-20020a2e8610000000b002497bc4bbb8mr1499310lji.370.1648539942225; Tue, 29 Mar 2022 00:45:42 -0700 (PDT) From: Graham Myers References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> In-Reply-To: <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHqsltEyQA== Date: Tue, 29 Mar 2022 08:45:40 +0100 Message-ID: Subject: RE: About Unicode IVS To: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= , "David G. Johnston" Cc: pgsql-admin@lists.postgresql.org List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. ------_=_NextPart_c3198631-5ea5-4056-ba34-29df9ffe8fe0 Content-Type: multipart/alternative; boundary="000000000000a79c0a05db569d04" --000000000000a79c0a05db569d04 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Why do you expect the concatenation of two characters to return a length of one? *From:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 *Sent:* 29 March 2022 05:35 *To:* 'David G. Johnston' *Cc:* pgsql-admin@lists.postgresql.org *Subject:* RE: About Unicode IVS thank you for your reply. It will be 2 characters. select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) $ psql -l =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99= =E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | =E3=82=A8=E3=83= =B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 | =E7=85=A7=E5= =90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5= =AD=90) | =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+---= ------------------ D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | =3Dc/D209007 + | | | | | D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | =3Dc/D209007 + | | | | | D209007=3DCTc/D209007 (4 =E8=A1=8C) $ cat pgdata/PG_VERSION 13 Moto. *From:* David G. Johnston *Sent:* Tuesday, March 29, 2022 12:38 PM *To:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 *Cc:* pgsql-admin@lists.postgresql.org *Subject:* Re: About Unicode IVS Graham Myers On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 wrote: Hi, In the Length () function, it will be 2 characters where you want it to be 1 character. Is it possible to respond by changing the settings such as changing the collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own function), it would be helpful if you could provide as much information as you can. Try char_length(text) instead. David J. --000000000000a79c0a05db569d04 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable

Why do you expect the concatenation of two characters to return a length= of one?=C2=A0

=C2=A0


Graham Myers​
3D""
=
 
=

From: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Sent= : 29 March 2022 05:35
To: 'David G. Johnston' <david.g.johnston@gmail.com&g= t;
Cc: pgsql-= admin@lists.postgresql.org
Subject: RE: About Unicode IVS

=C2=A0

= = =C2=A0

thank you for your reply.

It wi= ll be 2 characters.

=C2=A0

select char_length(U&'\+008FBA' || U&'\+0= E0102');

char_length

-------------

=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1= =8C)

=C2=A0

select length('= =E8=BE=BA=F3=A0=84=82');

length

--------

= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 = =E8=A1=8C)

=C2=A0

select char_length(&= #39;=E8=BE=BA=F3=A0= =84=82');

char_length

-------------

=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1= =8C)

=C2=A0

$ psql -l

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83= =BC=E3=82=B9=E4=B8=80=E8=A6=A7

=C2= =A0=C2=A0 =E5=90=8D=E5=89= =8D=C2=A0=C2=A0=C2=A0 | =E6=89=80=E6=9C=89=E8=80=85=C2=A0 | =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3= =E3=83=B3=E3=82=B0 | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90= =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90

-----------+---------+------------------+----------+-----= --------------+---------------------

D20900= 7=C2=A0=C2=A0 | D209007 | UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |

postgres= =C2=A0 | D209007 | UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 |

template0 | D209007= | UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 | =3Dc/D209007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0| D209007=3DCTc/D209007

template1 | D209007 | UTF8=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | =3Dc/D209007=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +

= = =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 | D209007=3DCTc/D209007

(4 =E8=A1=8C)

=C2=A0

=C2=A0

$ cat pgdata/PG_VERSION

13

=C2=A0

Moto.

=C2=A0

From: David G.= Johnston <david.g.johnsto= n@gmail.com>
Sent: Tuesday, March 29, 2022 12:38 PM
To:
=E8=8D=92=E4= =BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Cc: pgsql-admin@lists.postgresql.org
= Subject: Re: About Unicode IVS

=C2=A0


=
On Monday, March 28, 2022,
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> wrote:

Hi,

=C2=A0

In the Length () function, = it will be 2 characters where you want it to be 1 character.

Is it possible to respond by chan=
ging the settings such as changing the collation setting like SQL Server?
Also, if you underst= and how to deal with it (eg, create your own function), it would be helpful= if you could provide as much information as you can.

=C2=A0

=C2=A0

<= span lang=3D"EN-US" style=3D"mso-fareast-language:JA">Try char_length(text)= instead.

=C2=A0

David J.

=C2=A0

--000000000000a79c0a05db569d04-- ------_=_NextPart_c3198631-5ea5-4056-ba34-29df9ffe8fe0 Content-Type: image/png; name="image564879.png" Content-Transfer-Encoding: base64 Content-ID: Content-Description: image564879.png Content-Disposition: inline; creation-date="Tue, 29 Mar 2022 07:45:44 +0000"; filename=image564879.png; modification-date="Tue, 29 Mar 2022 07:45:44 +0000"; size=3837 iVBORw0KGgoAAAANSUhEUgAAAjcAAAB8CAMAAACi9mEaAAAACVBMVEUAAAAApKcAAADWePEqAAAA A3RSTlP//wDXyg1BAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGx2lUWHRYTUw6Y29tLmFkb2JlLnht cAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1Q IENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4g PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1l bnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3Av MS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5z OnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMi IHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHhtcDpD cmVhdGVEYXRlPSIyMDE4LTEwLTEyVDE1OjUyOjIzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAy MS0wNy0xNlQxMDowMzo1MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wNy0xNlQxMDow Mzo1MSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjIi IHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJ RD0ieG1wLmlpZDpjNDlkZjYxMy01N2IwLTRhYWItYmEzNS0zY2VkMTZiZTM0Y2IiIHhtcE1NOkRv Y3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2FmODYyNC05M2NiLWI4NGEtOTUzOC04 NWU1MTQ3NWRiZTMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MmRjYmYzZC0x Yjc0LTQwMWYtOTVmYi1hYzJiOTdmMGNjOTUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxy ZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjgy ZGNiZjNkLTFiNzQtNDAxZi05NWZiLWFjMmI5N2YwY2M5NSIgc3RFdnQ6d2hlbj0iMjAxOC0xMC0x MlQxNTo1MjoyMyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIy LjQgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0 YW5jZUlEPSJ4bXAuaWlkOjdhMTI0NTUxLWEwNWQtNDljNS04MTkyLWZhNGM4OWI5NWEzNiIgc3RF dnQ6d2hlbj0iMjAyMS0wNy0xM1QwOTo0MjoyNyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0i QWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJk ZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmM0OWRm NjEzLTU3YjAtNGFhYi1iYTM1LTNjZWQxNmJlMzRjYiIgc3RFdnQ6d2hlbj0iMjAyMS0wNy0xNlQx MDowMzo1MSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQg KE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rv cnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQg 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 H71RKNDlAAAAAElFTkSuQmCC ------_=_NextPart_c3198631-5ea5-4056-ba34-29df9ffe8fe0-- From n2029@ndensan.co.jp Tue Mar 29 08:21:18 2022 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 1nZ76X-0005Cr-RA for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:21:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ76V-0000o3-KV for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:21:27 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ76V-0000nu-6x for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:21:27 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by magus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ76Q-0004Bf-Pe for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:21:26 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'Graham Myers'" , "'David G. Johnston'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> In-Reply-To: Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 17:21:18 +0900 Message-ID: <011201d84345$f704a1f0$e50de5d0$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0113_01D84391.66EE6CD0" X-Mailer: Microsoft Outlook 16.0 thread-index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHoBhUx+7qyKsE/g Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_0113_01D84391.66EE6CD0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0114_01D84391.66EE6CD0" ------=_NextPart_001_0114_01D84391.66EE6CD0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable thank you for your reply. =20 This is because two characters display one character. This includes Unicode Variant Selectors and Combining Characters. =20 Moto. =20 From: Graham Myers =20 Sent: Tuesday, March 29, 2022 4:46 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 ; David G. = Johnston Cc: pgsql-admin@lists.postgresql.org Subject: RE: About Unicode IVS =20 Why do you expect the concatenation of two characters to return a length = of one? =20 =20 =09 Graham Myers=E2=80=8B =20 From: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 >=20 Sent: 29 March 2022 05:35 To: 'David G. Johnston' > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: RE: About Unicode IVS =20 =20 thank you for your reply. It will be 2 characters. =20 select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) =20 select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) =20 $ psql -l = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+-= -------------------- D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 (4 =E8=A1=8C) =20 =20 $ cat pgdata/PG_VERSION 13 =20 Moto. =20 From: David G. Johnston >=20 Sent: Tuesday, March 29, 2022 12:38 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: Re: About Unicode IVS =20 On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = > wrote: Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 =20 Try char_length(text) instead. =20 David J. =20 ------=_NextPart_001_0114_01D84391.66EE6CD0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

thank you for your = reply.

 

This is because two characters = display one character.

This includes Unicode Variant = Selectors and Combining Characters.

 

Moto.

 

From:<= /b> Graham = Myers <gmyers@retailexpress.com>
Sent: Tuesday, March = 29, 2022 4:46 PM
To:
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = <n2029@ndensan.co.jp>; David G. Johnston = <david.g.johnston@gmail.com>
Cc: = pgsql-admin@lists.postgresql.org
Subject: RE: About Unicode = IVS

 

Why do you = expect the concatenation of two characters to return a length of = one? 

 =

G= raham Myers=E2= =80=8B<= o:p>

 

From:<= /b> = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90= <n2029@ndensan.co.jp> =
Sent: 29 March 2022 05:35
To: 'David G. Johnston' = <david.g.johnston@gmail.com= >
Cc: pgsql-admin@lists.postgr= esql.org
Subject: RE: About Unicode IVS

 

 

thank you for your = reply.

It will be 2 = characters.

 

select char_length(U&'\+008FBA' = || U&'\+0E0102');

char_length

-------------

        &= nbsp;  2

(1 = =E8=A1=8C)

 

select length('=E8=BE=BA󠄂');

length

--------

      = 2

(1 = =E8=A1=8C)

 

select char_length('=E8=BE=BA󠄂');

char_length

-------------

        &= nbsp;  2

(1 = =E8=A1=8C)

 

$ psql -l

        &= nbsp;           &n= bsp;           &nb= sp;     =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82= =B9=E4=B8=80=E8=A6=A7

   =E5=90=8D=E5=89=8D    | =E6=89=80=E6=9C=89=E8=80=85  | =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82= =A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) |    = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99= =90

-----------+---------+------------------+--------= --+-------------------+---------------------

D209007   | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

postgres  | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

template0 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

        &= nbsp;  |         = |            =       = |          = |            =        | D209007=3DCTc/D209007

template1 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

        &= nbsp;  |         = |            =       = |          = |            =        | D209007=3DCTc/D209007

(4 =E8=A1=8C)

 

 

$ cat pgdata/PG_VERSION

13

 

Moto.

 

From:<= /b> David G. = Johnston <david.g.johnston@gmail.com= >
Sent: Tuesday, March 29, 2022 12:38 PM
To: =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Cc:= pgsql-admin@lists.postgr= esql.org
Subject: Re: About Unicode IVS

 



On Monday, March 28, 2022, =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> = wrote:

Hi,

 

In the Length () = function, it will be 2 characters where you want it to be 1 = character.

Is it possible to respond by changing the settings such as =
changing the collation setting like SQL Server?
Also, if you =
understand how to deal with it (eg, create your own function), it would =
be helpful if you could provide as much information as you =
can.

 

 

Try char_length(text) instead.

 

David J.

 

------=_NextPart_001_0114_01D84391.66EE6CD0-- ------=_NextPart_000_0113_01D84391.66EE6CD0 Content-Type: image/png; name="image001.png" Content-Transfer-Encoding: base64 Content-ID: iVBORw0KGgoAAAANSUhEUgAAAKoAAAAlCAYAAADSkHKPAAAAAXNSR0ICQMB9xQAAAAlwSFlzAAAO xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAAvbSURBVHja 7VwLdFTlEf4R5FnkYYEEUIKYBqoBCsijUkCoFdRKRC3FUqWtVVuhHFppBesDFGpVaoNSWSTAWZLN 7mY35AVBEGvltNWi1XOAAkFFxVJ7RBQf5RXdzuzOhsnw33v/u0n2bMjuOd/Z7L0z/+Pe784/M//c qEWLFqk00kh1pC9CGmmipswklWoN+Kohumn0z3Wh3xjoLPo/n507z2Gu7ZlsdzrWiR3rkiZq6hJ1 IOCoIT4AVAPuALQl/XEu9BsDHjb2YYAP2bl/A/rbzPVmJruLji1lx0rTRE1dol4CiCSAraQ/IUH9 RFHBxr5Oc36VzVx/xOQO0bF8duy5NFFTl6hfFzf6t4BbNfglYLeQ/Q5gKPt9AjDXQt8EK1lbRwC3 aWTGsiX7kIaoxwAXWcz1Vib3Dh37Azu2OU3U5kPUfjay7QA7mOxSYZE/A3RowFiuY2296yB7N5NF gq93sqppop5dRB3iIF/BZB8AXMp+fw7IbMBYfsDaeg+DHwu5NoC9TPYbgK+x3x8BuqaJenYTNddB /p9MdomwqMeSRFTua77IshevsePfa1FEVV5vX1VZOVIV+HKVL2iPYBSXahtz0w6iujpX5ee3SzJR v0AfEDACCStwAyAoSP0tsmbckhUA/gp43gJb0a9NlKiUDqthcj9m52az4ztaGFGDOcofOqAqNkZU kT+ifAFrFAcjKlwO34GngLCt6xM1OAjaeduoHURZFX6vgYt3ThKJWgsYA/iHQfRdSvrj2bHDgG/S t53uTxtAVJ5lOMSvD3wyyP2In89rUUs/kGyACoTeUuWGJKuqhm9/8RkNFhRkR8laXmXWzoYKIH3J duUJ9kji0p+NyXDA2xqCYbC0B7CM5VEnsvP/w6Q5oCfedAyINMB2xzeAqFuZTAiQBbiAkCl86FfQ ArcoHxVIlgVkfUOVVUbUel9EFRZbA0kYs5x/OqNRj7c/kPVNo3YQG5/Fdp5PIlGH0nEk7Dvi3P0a /StEMNVHZAkk2ibqo2LaiVJgeP5TwE/I3cDfxwnHxJgntbhgCvzMC4FkNa7I6isOaCxrlgqG9huT NVwWgYckpDyeHkkg6hB27mLAAbHUjnUgau+mCqZEnrWSuR7v2rgZgRYZ9YNF7KcC4X3GZI26AYGV WrIGNGTFv0tKYyRHlNP3i39DH/g9eFj6JDM9RcHVl2L5H2dB1M+c9tsTJSo9NMfZ+evZOdwGvpFh mRhTT0OiVpxV6SkgK1jWkhpXZC3ye/SkL6lP1mAY/65SXt9CVeh/uA7ri5ZAoPaE8vmGJzuPCp/p QuYgFnFofFRcdidT1sAOg3VBogNRF7FzaOXb2MzpXNKv25ig47MciIrZhHsdgBsNHZtNHhVI1hcs 4t5odG5C1sqoZV2lJT230IEQkLV0Lyzz/VIp4Y95ScApJoc5y85EPLf79Yd1Nxs+M4Wb0Z6Od6eC k7qNBoN5cauK/uxXxAN3kOSeSGD8PZtVwh/IdAH4rHuMLWuMrM+c0c4jj3QFn3VHdMnHdtAnDYY/ Aqs6MglEvUQXTFnIPihkXxJW0BRHLIh6C5P5gBH1TrGUdzeY1yDR50LAVPb7fZJb7nLs6H70aFZE JbL2jZK13IVlLSwuqNP3+Uao6q3D1dp1N4I78XE0Fxsna3HwCJA1DzDKEdXVo2AsXRIgalvAgDgM 5Psz+cGUuxxAlnWUBYbxPmi7U7f0n0PZhmxec0A1p9n0UOW6mFsf6u9iSl3h1utwGlM8u9FJjM0J OP/WNn22jiOBe5GQrrlgvrcPLNm7jd2AWIAVJSv4n9PIgqJubb2gyh+KBVboDjgBrXog/DqQNcPl xekFeJwBI+tVFlhJSyr6dSvobyyTm2PQzxJq/4+AuwCtiDj55PvlAa4hnxcxiSxgHvm9eCxLtNmV xqEbq4fGiX3+HHAV4DKhj7nXJ8X8nYDz6CTamUguxN8BbzIESH6yFfmo+gwr1jYK3edobt9Ft6VR iJoQWSsZWdcVXguErK1b+qWsCQoBaNUDoZ1uyErbo4nUhX4qfq+06aNAyF7HrNkxF31i9qEoXnBC RHM77p1ILNIfkeDcezJLHzbUwRLJq9k16QBYIzIqVvgPYD5lWH5N29m55M60cu8reDy9IYrfbewG xLIBa4msU4Cop7RkNQXqYd/+0C4cS4LBFAZMJx3wX1q+twtdj6b9+UJmJjvXUQRJtTZ98jY2kH5v QfRThvpYzd+N0lpu535YnX6N5VmhH9ZkCbYA9tP5BWzuK4Tun8myct1iwKvsPJJzMaXZ0OK+7Nqi sig+M2rV3JC1OBgjq7fwKiDqiUYhaxDJ6u2dAFGnoH/ogCzSxe3SXUJ/Hmv7epEpCIq+JVHn2PS5 RPQzgJZ+TtTv2+jfIsZym8YiTzSY+4XkS0trfI9DHIB++iCWxfiQ6S5zuEfoY48mvSH0jeWVIxOy qPXI6ndB1pgbsC6qu9Y7udHIiq6Ig2XVEDXHpY87TNQFoFWcRoHM+yJDcL4DUW+w6aeV6Od2IgAn 6hiHsW5R9YutJVGzXMz7PqHb2YXuGOHODG3yqN/aZ/VkKH9wp6reEgt07ICkemE7FrJshOi9TdQN CIZPNpIbsAczEy6IelEC0SpG0Z+IxP8+kY7K1OhJos5w6IfXws6lxD4n6gQH/XXcTdEQtb+LOc8V urOVYaWbxho/oyxqb5ucqOSz9lIl4TWwtPuBPM4Il1dBUDT1tGUNH4tG9IkQtZ5lDf8LNygMiIrW cAEtk9NtcJMSrxbD53Ly/XTBwEyLviVR82xu7kBWgBIht6KDIOpEB33+8NypIeoUWgkybNCR2utH OV2uj/6kF/Abuk6juY5wBaR/j5H+egqWUPdqnW6TELXBRPd6r1GlFbE614aQtSzqBuzVkVUQ9Tht EZ40iERnatoaq5H7vQ15JFFXURAxT+AxVb/GtYZSWxmMqLVk5TYBtlGwwcGzFJ9QxJ4jNhJW0tyx XPFzC9zBxj9B2RfExNt9C/A0d6soENxvqIvljN9OWaLGyFr0UKwKK9BAslaiG7APt2wdlv5MctgP 0g2zwgwL8s0T7e2KBxEGRMWHxKRoeyrp9xUWFd82WGqgfzvp87cTviDi3+2gO1+Th36QovKjDrr4 gIxnul0oqNtIuqcc9O9LWaLGNgUKfxElWmOQNQBk9Z4mq6r/ch6vR+1CT70VOrjw39DqnGdA1GtV rGbVp2JFJRx7abNgnNh54kSNv0r9qOYml9O4LhfJ9npF43QcXYAZFsh22DwZzWSfpCVdPrjtLXRz hO6rmnnkpixRo4MpKl6sKjdhxX/DAiwkazBUE7esRJZSZfgWqs1Nepqsyl9o/1xGxVVKFE1riHoz O9deoI3FFikn6hUWgVNd7lWzK8RlBjZBLUV7cmkiptkJkem4V2wKLE5potJ26z0qVPql8pc0hmXd r1YUZLE95jhZBydwMx4XN2IGHZcvA27iltht1G9A1Ani/FrR/2MORM1pkvsWc1FqWT/jXeh2Ebq/ S3mixsjqW6AqNjWWG7AfC7jpgmBwUsaXVsML+Sur4InSR6XivC9ZRCWZbaL/R22ImuWy/zzKkPRz kHuAWcWPKZBDl+tn9G33es4PhUWd1iyISmR9oNECrED4DUbW1rSN9xqlT+wwjHzVE+wivq7OfH0E d3EqBCEW0rl2SSBqH3XmvyK6y4KorxjMe3M8NadiRScRyhTsIB96gcBLoo/VpHsTO4ZpsyKNrl9Y 02262CBliUpkvT/qs6J1xVxpIkCibnshAq7E0Xjtq4oVQ282iJyXi0AB00e9LAiF/9LxgLRsZFH5 682zXBJV5kGvtJDL0Gz1TtdkPEzRi9qdTRbSVK9QUSWUir1W7ka32vL6pjJRiaxz1IaK1Wp9cQNQ tFqFy4qir77k57dhVhD31lfboICi8/jvSQ6kyqbdIJRdQzcNrfJDrI2RLonajYK4uH6OjWwmFYKs pkALH7TBbEymeEqxsjtqdxade5nynhw7KIK/TDOm3rRxsdxCt4bmd2VKJ/zTaH4gX78ODdFVhgXU 6QufRrPA/wFI6+3woQzIwwAAAABJRU5ErkJggg== ------=_NextPart_000_0113_01D84391.66EE6CD0-- From gmyers@retailexpress.com Tue Mar 29 08:26:09 2022 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 1nZ7BE-0005Yf-6l for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:26:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ7BC-00054e-HE for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:26:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ7BC-00054S-4C for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:26:18 +0000 Received: from mail-ed1-x564.google.com ([2a00:1450:4864:20::564]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nZ7B9-0004Ds-Cq for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:26:17 +0000 Received: by mail-ed1-x564.google.com with SMTP id h1so19807220edj.1 for ; Tue, 29 Mar 2022 01:26:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retailexpress.com; s=google; h=from:references:in-reply-to:mime-version:thread-index:date :message-id:subject:to:cc; bh=XzcJgfhgW1rteANdQ5at6lVWK57kdZko2eQ6vsGVQdg=; b=HXWJv//t4m457QSTLjpjseTNg/12j0UUdwdDc11fgiFuJgDmnOFAAa8FSLiJzdKGca e4NWPB7+5znlJYmDiQpjFku+HoMrvMPKE2cbZcpJqxaCoTEqgLG17WmEnPzBhQ4LUswq 7xPaPD5NljHWI626DgO9v8GrqfmQkQaaGbVLY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc; bh=XzcJgfhgW1rteANdQ5at6lVWK57kdZko2eQ6vsGVQdg=; b=7Sv/LbH5rPvU/QbX4GYoIHKIvYl6ifMKOIj9r7v0L2gcY6CXyB7l5E6wNivUhXHfid wO3t5Oruj+4todXs2h83VgJ9sFHJJgSfng96tJFhADvHc9WLfhx6ES0tND1z8R3GjQ1c BYlUlvoagJwZQ485rKPnYSizB0UFryCKqFvfKtuNsbeoHHezSNa1VnQSBlYW3vJg0pRx CtMf/Su8iL8s5MqKJM3i443X9vSno/napLbveDtBc+gCBPd2hll87SycWZc2h90IGoSk /AY+LuwIVFD9N5jfWOKgcEnkOY8gY6224SGI62ZPSb2UTOiYIePlggy32GbTZBP0ReYq Mimg== X-Gm-Message-State: AOAM532TB8nFe9sgaTu2Q+AFJVVpDWXGX4qCGPrrys5otUObi3EVYdPF z60sdIM8/6D2YYuQBkL+pHKrkxSBgA38bb/7vQ/RtlixhpNCZQ== X-Google-Smtp-Source: ABdhPJz7erQvLJk9a0wHfzQiTbhYMfhtsZHApWuuXcGtiyI81FOqd6c2yEo1sejli+X3ZhYCpGUWPf99KN3H X-Received: by 2002:aa7:d398:0:b0:419:d011:fe8b with SMTP id x24-20020aa7d398000000b00419d011fe8bmr3125562edq.168.1648542373776; Tue, 29 Mar 2022 01:26:13 -0700 (PDT) Received: from eu1gs3..smtp.exclaimer.net (eu1gs3.smtp.exclaimer.net. [20.50.220.146]) by smtp-relay.gmail.com with ESMTPS id o3-20020a170906774300b006cf74f10a4esm66871ejn.235.2022.03.29.01.26.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Mar 2022 01:26:13 -0700 (PDT) X-Relaying-Domain: retailexpress.com Received: from mail-lf1-f69.google.com (209.85.167.69) by eu1gs3..smtp.exclaimer.net (20.50.220.146) with Exclaimer Signature Manager ESMTP Proxy eu1gs3..smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_ECDHE_WITH_AES256_SHA1); Tue, 29 Mar 2022 08:26:13 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 6620255 X-ExclaimerImprintLatency: 3003225 X-ExclaimerImprintAction: 53d41891c5c54806b1e59b1694431647 Received: by mail-lf1-f69.google.com with SMTP id cf15-20020a056512280f00b0044a7b923686so2069287lfb.20 for ; Tue, 29 Mar 2022 01:26:13 -0700 (PDT) X-Received: by 2002:a05:6512:2307:b0:44a:ace4:9330 with SMTP id o7-20020a056512230700b0044aace49330mr1641914lfu.339.1648542372147; Tue, 29 Mar 2022 01:26:12 -0700 (PDT) X-Received: by 2002:a05:6512:2307:b0:44a:ace4:9330 with SMTP id o7-20020a056512230700b0044aace49330mr1641869lfu.339.1648542371281; Tue, 29 Mar 2022 01:26:11 -0700 (PDT) From: Graham Myers References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <011201d84345$f704a1f0$e50de5d0$@ndensan.co.jp> In-Reply-To: <011201d84345$f704a1f0$e50de5d0$@ndensan.co.jp> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHoBhUx+7gJWKTq9rHgAGlA= Date: Tue, 29 Mar 2022 09:26:09 +0100 Message-ID: Subject: RE: About Unicode IVS To: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= , "David G. Johnston" Cc: pgsql-admin@lists.postgresql.org Content-Type: multipart/related; boundary="000000000000702af605db572e44" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --000000000000702af605db572e44 Content-Type: multipart/alternative; boundary="000000000000702af505db572e43" --000000000000702af505db572e43 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thanks you for the explanation, Unicode always blows my mind =F0=9F=98=8A = The problems is that postgres is counting code points which in your example is two. *From:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 *Sent:* 29 March 2022 09:21 *To:* 'Graham Myers' ; 'David G. Johnston' < david.g.johnston@gmail.com> *Cc:* pgsql-admin@lists.postgresql.org *Subject:* RE: About Unicode IVS thank you for your reply. This is because two characters display one character. This includes Unicode Variant Selectors and Combining Characters. Moto. *From:* Graham Myers *Sent:* Tuesday, March 29, 2022 4:46 PM *To:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 ; David G. = Johnston < david.g.johnston@gmail.com> *Cc:* pgsql-admin@lists.postgresql.org *Subject:* RE: About Unicode IVS Why do you expect the concatenation of two characters to return a length of one? Graham Myers=E2=80=8B *From:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 *Sent:* 29 March 2022 05:35 *To:* 'David G. Johnston' *Cc:* pgsql-admin@lists.postgresql.org *Subject:* RE: About Unicode IVS thank you for your reply. It will be 2 characters. select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) $ psql -l =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99= =E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | =E3=82=A8=E3=83= =B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 | =E7=85=A7=E5= =90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5= =AD=90) | =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+---= ------------------ D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | =3Dc/D209007 + | | | | | D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | =3Dc/D209007 + | | | | | D209007=3DCTc/D209007 (4 =E8=A1=8C) $ cat pgdata/PG_VERSION 13 Moto. *From:* David G. Johnston *Sent:* Tuesday, March 29, 2022 12:38 PM *To:* =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 *Cc:* pgsql-admin@lists.postgresql.org *Subject:* Re: About Unicode IVS Graham Myers On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 wrote: Hi, In the Length () function, it will be 2 characters where you want it to be 1 character. Is it possible to respond by changing the settings such as changing the collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own function), it would be helpful if you could provide as much information as you can. Try char_length(text) instead. David J. --000000000000702af505db572e43 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable

Thanks you for the explanation, Unicode always blows my mind =F0=9F=98=8A=C2=A0 The problems is that postgres is counting co= de points which in your example is two.

= =C2=A0


<= /table>
Graham Myers​
=3D""=
 

From: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.= co.jp>
Sent: 29 March 2022 09:21
To: 'Graha= m Myers' <gmyers@retaile= xpress.com>; 'David G. Johnston' <david.g.johnston@gmail.com>
Cc: <= a href=3D"mailto:pgsql-admin@lists.postgresql.org">pgsql-admin@lists.postgr= esql.org
Subject: RE: About Unicode IVS

=C2=A0

thank you for your reply.

= =C2=A0

=

=C2=A0

Moto.

=C2=A0

From: Graham Myers <= gmyers@retailexpress.com>= ;
Sent: Tuesday, March 29, 2022 4:46 PM
To:
=E8=8D=92=E4=BA=95=E5=85=83=E6= =88=90 <n2= 029@ndensan.co.jp>; David G. Johnston <david.g.johnston@gmail.com>
Cc: pgsql-admin@lists.postgresql.= org
Subject: RE: About Unicode IVS

= =C2=A0

Why do you expect the concatenatio= n of two characters to return a length of one?=C2=A0

=C2=A0

Graham=C2=A0Myers=E2=80=8B

= =C2=A0

From= : =E8=8D=92=E4=BA=95=E5=85=83=E6= =88=90 <n2= 029@ndensan.co.jp>
Sent: 29 March 2022 05:35
To: 'David G. Johnston' <david.g.johnston@gmail.com>
Cc: pgsql-admin@lists.postgresql.org
S= ubject: RE: About Unicode IVS

=C2=A0

=C2=A0

thank you for your reply.

It will be 2 characters.<= span style=3D"mso-fareast-language:JA">

=C2=A0

select char_length(U&'\+008FBA' || U&a= mp;'\+0E0102');

c= har_length

-------------<= /span>

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1= =8C)

=C2=A0

select length('=E8=BE=BA= =F3=A0=84=82');

lengt= h

--------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2=

<= span lang=3D"EN-US" style=3D"color:#1f497d">(1 =E8=A1=8C)

=C2=A0

select char_length('=E8=BE=BA=F3=A0=84=82');

char_length

-------------=

= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1=8C)

=C2=A0

$ psql -l

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7

=C2=A0=C2=A0 =E5=90=8D=E5=89=8D=C2=A0=C2=A0=C2=A0 | =E6=89=80=E6=9C=89=E8=80=85=C2=A0 | =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83= =B3=E3=82=B0 | <= span lang=3D"JA" style=3D"color:#1f497d">=E7=85=A7=E5=90=88=E9=A0=86=E5=BA= =8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97= =E5=AD=90) |=C2=A0=C2= =A0=C2=A0 =E3=82=A2=E3=82= =AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90

-----------+---------+------------------+----------+--------= -----------+---------------------

D209007=C2=A0=C2=A0 | D209007 | UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |

postgres=C2=A0 | D209007 | UTF8=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |

template0 | D209007 | UTF8=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | =3Dc/D209007= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0| D209007=3DCTc/D209007

template1 | D209007 | UTF8=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | =3Dc/D209= 007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | D209007=3DCTc/D209007

(4 =E8=A1=8C)

=C2=A0

=C2=A0

$ cat pgdata/PG_VERSION

13

=C2=A0

Moto.

=C2=A0

Fro= m: David G. Johnston <david.g.johnston@gmail.com>
Sent: Tuesday, March 29, 2022 12:38 PM
To:
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Cc:
pg= sql-admin@lists.postgresql.org
Subject: Re: About Unicode IVS=

=C2=A0<= span style=3D"mso-fareast-language:JA">



On Monday, Mar= ch 28, 2022, = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@nd= ensan.co.jp> wrote:

Hi,

=C2=A0

In the Length () function, it will be 2 ch= aracters where you want it to be 1 character.

Is it possible to respond by changing the settings such=
 as changing the collation setting like SQL Server?
Also, if you understand how to deal =
with it (eg, create your own function), it would be helpful if you could pr=
ovide as much information as you can.

=C2=A0

=C2=A0

Try char_leng= th(text) instead.

=

=C2=A0<= /p>

David J.

=C2=A0=

--000000000000702af505db572e43-- --000000000000702af605db572e44 Content-Type: image/png; name="image001.png" Content-Disposition: inline; filename="image001.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 2c2e73468c3b5d5b_0.1 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 6QufRrPA/wFI6+3woQzIwwAAAABJRU5ErkJggg== --000000000000702af605db572e44 Content-Type: image/png; name="image428881.png" Content-Transfer-Encoding: base64 Content-ID: Content-Description: image428881.png Content-Disposition: inline; creation-date="Tue, 29 Mar 2022 08:26:13 +0000"; filename=image428881.png; modification-date="Tue, 29 Mar 2022 08:26:13 +0000"; size=3837 iVBORw0KGgoAAAANSUhEUgAAAjcAAAB8CAMAAACi9mEaAAAACVBMVEUAAAAApKcAAADWePEqAAAA A3RSTlP//wDXyg1BAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGx2lUWHRYTUw6Y29tLmFkb2JlLnht cAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1Q IENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4g PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1l bnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3Av MS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5z OnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMi IHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHhtcDpD cmVhdGVEYXRlPSIyMDE4LTEwLTEyVDE1OjUyOjIzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAy MS0wNy0xNlQxMDowMzo1MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wNy0xNlQxMDow Mzo1MSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjIi IHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJ RD0ieG1wLmlpZDpjNDlkZjYxMy01N2IwLTRhYWItYmEzNS0zY2VkMTZiZTM0Y2IiIHhtcE1NOkRv Y3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Y2FmODYyNC05M2NiLWI4NGEtOTUzOC04 NWU1MTQ3NWRiZTMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MmRjYmYzZC0x Yjc0LTQwMWYtOTVmYi1hYzJiOTdmMGNjOTUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxy ZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjgy ZGNiZjNkLTFiNzQtNDAxZi05NWZiLWFjMmI5N2YwY2M5NSIgc3RFdnQ6d2hlbj0iMjAxOC0xMC0x MlQxNTo1MjoyMyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIy LjQgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0 YW5jZUlEPSJ4bXAuaWlkOjdhMTI0NTUxLWEwNWQtNDljNS04MTkyLWZhNGM4OWI5NWEzNiIgc3RF dnQ6d2hlbj0iMjAyMS0wNy0xM1QwOTo0MjoyNyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0i QWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJk ZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmM0OWRm NjEzLTU3YjAtNGFhYi1iYTM1LTNjZWQxNmJlMzRjYiIgc3RFdnQ6d2hlbj0iMjAyMS0wNy0xNlQx MDowMzo1MSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQg KE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rv cnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQg 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 H71RKNDlAAAAAElFTkSuQmCC --000000000000702af605db572e44-- From n2029@ndensan.co.jp Tue Mar 29 08:52:45 2022 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 1nZ7aw-0007BY-VZ for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:52:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ7av-0001gb-SB for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 08:52:53 +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 1nZ7av-0001gR-4E for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:52:53 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by makus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ7aq-0002zh-IN for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 08:52:51 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'Graham Myers'" , "'David G. Johnston'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <011201d84345$f704a1f0$e50de5d0$@ndensan.co.jp> In-Reply-To: Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 17:52:45 +0900 Message-ID: <012001d8434a$5bf28150$13d783f0$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0121_01D84395.CBDD0F80" X-Mailer: Microsoft Outlook 16.0 thread-index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHoBhUx+7gJWKTq9AekeJhOsaL8q0A== Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_0121_01D84395.CBDD0F80 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0122_01D84395.CBDD3690" ------=_NextPart_001_0122_01D84395.CBDD3690 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Where should I make a request if I want Postgresql to handle it? Is this mailing list all right? =20 Moto. =20 From: Graham Myers =20 Sent: Tuesday, March 29, 2022 5:26 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 ; David G. = Johnston Cc: pgsql-admin@lists.postgresql.org Subject: RE: About Unicode IVS =20 Thanks you for the explanation, Unicode always blows my mind = =F0=9F=98=8A The problems is that postgres is counting code points = which in your example is two. =20 =09 Graham Myers=E2=80=8B =20 From: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 >=20 Sent: 29 March 2022 09:21 To: 'Graham Myers' >; 'David G. Johnston' = > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: RE: About Unicode IVS =20 thank you for your reply. =20 This is because two characters display one character. This includes Unicode Variant Selectors and Combining Characters. =20 Moto. =20 From: Graham Myers >=20 Sent: Tuesday, March 29, 2022 4:46 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 >; David G. Johnston = > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: RE: About Unicode IVS =20 Why do you expect the concatenation of two characters to return a length = of one? =20 =20 =09 Graham Myers=E2=80=8B =20 From: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 >=20 Sent: 29 March 2022 05:35 To: 'David G. Johnston' > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: RE: About Unicode IVS =20 =20 thank you for your reply. It will be 2 characters. =20 select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) =20 select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) =20 $ psql -l = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+-= -------------------- D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 (4 =E8=A1=8C) =20 =20 $ cat pgdata/PG_VERSION 13 =20 Moto. =20 From: David G. Johnston >=20 Sent: Tuesday, March 29, 2022 12:38 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: Re: About Unicode IVS =20 On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = > wrote: Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 =20 Try char_length(text) instead. =20 David J. =20 ------=_NextPart_001_0122_01D84395.CBDD3690 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Where should I make a request if = I want Postgresql to handle it?

Is this mailing list all = right?

 

Moto.

 

From:<= /b> Graham = Myers <gmyers@retailexpress.com>
Sent: Tuesday, March = 29, 2022 5:26 PM
To:
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = <n2029@ndensan.co.jp>; David G. Johnston = <david.g.johnston@gmail.com>
Cc: = pgsql-admin@lists.postgresql.org
Subject: RE: About Unicode = IVS

 

Thanks you = for the explanation, Unicode always blows my mind 😊  The = problems is that postgres is counting code points which in your example = is two.

 =

G= raham Myers=E2= =80=8B<= o:p>

 

From:<= /b> = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90= <n2029@ndensan.co.jp> =
Sent: 29 March 2022 09:21
To: 'Graham Myers' <gmyers@retailexpress.com>= ; 'David G. Johnston' <david.g.johnston@gmail.com= >
Cc: pgsql-admin@lists.postgr= esql.org
Subject: RE: About Unicode IVS

 

thank you for your = reply.

 

This is because two characters = display one character.

This includes Unicode Variant = Selectors and Combining Characters.

 

Moto.

 

From:<= /b> Graham = Myers <gmyers@retailexpress.com>=
Sent: Tuesday, March 29, 2022 4:46 PM
To: =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>; David = G. Johnston <david.g.johnston@gmail.com= >
Cc: pgsql-admin@lists.postgr= esql.org
Subject: RE: About Unicode IVS

 

Why do you = expect the concatenation of two characters to return a length of = one? 

 =

G= raham Myers=E2= =80=8B

 

From:<= /b> = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90= <n2029@ndensan.co.jp> =
Sent: 29 March 2022 05:35
To: 'David G. Johnston' = <david.g.johnston@gmail.com= >
Cc: pgsql-admin@lists.postgr= esql.org
Subject: RE: About Unicode IVS

 

 

thank you for your = reply.

It will be 2 = characters.

 

select char_length(U&'\+008FBA' = || U&'\+0E0102');

char_length

-------------

        &= nbsp;  2

(1 = =E8=A1=8C)

 

select length('=E8=BE=BA󠄂');

length

--------

      = 2

(1 = =E8=A1=8C)

 

select char_length('=E8=BE=BA󠄂');

char_length

-------------

        &= nbsp;  2

(1 = =E8=A1=8C)

 

$ psql -l

        &= nbsp;           &n= bsp;           &nb= sp;     =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82= =B9=E4=B8=80=E8=A6=A7

   =E5=90=8D=E5=89=8D    | =E6=89=80=E6=9C=89=E8=80=85  | =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82= =A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) |    = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99= =90

-----------+---------+------------------+--------= --+-------------------+---------------------

D209007   | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

postgres  | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

template0 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

        &= nbsp;  |         = |            =       = |          = |            =        | D209007=3DCTc/D209007

template1 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

        &= nbsp;  |         = |            =       = |          = |            =        | D209007=3DCTc/D209007

(4 =E8=A1=8C)

 

 

$ cat pgdata/PG_VERSION

13

 

Moto.

 

From:<= /b> David G. = Johnston <david.g.johnston@gmail.com= >
Sent: Tuesday, March 29, 2022 12:38 PM
To: =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Cc:= pgsql-admin@lists.postgr= esql.org
Subject: Re: About Unicode IVS

 



On Monday, March 28, 2022, =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> = wrote:

Hi,

 

In the Length () = function, it will be 2 characters where you want it to be 1 = character.

Is it possible to respond by =
changing the settings such as changing the collation setting like SQL =
Server?
Also, if you understand how to =
deal with it (eg, create your own function), it would be helpful if you =
could provide as much information as you can.

 

 

Try char_length(text) instead.

 

David J.

 

------=_NextPart_001_0122_01D84395.CBDD3690-- ------=_NextPart_000_0121_01D84395.CBDD0F80 Content-Type: image/png; name="image002.png" Content-Transfer-Encoding: base64 Content-ID: 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 ------=_NextPart_000_0121_01D84395.CBDD0F80 Content-Type: image/png; name="image003.png" Content-Transfer-Encoding: base64 Content-ID: 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 6QufRrPA/wFI6+3woQzIwwAAAABJRU5ErkJggg== ------=_NextPart_000_0121_01D84395.CBDD0F80-- From msalais@msym.fr Tue Mar 29 09:34:40 2022 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 1nZ8Fk-0001x1-IX for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 09:35:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ8Fj-0005M5-6u for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 09:35:03 +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 1nZ8Fi-0005Li-Jy for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 09:35:02 +0000 Received: from mout.kundenserver.de ([217.72.192.75]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ8FZ-0003LS-EB for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 09:35:01 +0000 Received: from ANAT ([78.197.128.121]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.184]) with ESMTPSA (Nemesis) id 1N5n3t-1o5fmi1Bmt-017Ezo; Tue, 29 Mar 2022 11:34:43 +0200 From: "Michel SALAIS" To: =?utf-8?B?J+iNkuS6leWFg+aIkCc=?= , "'David G. Johnston'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> In-Reply-To: <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 11:34:40 +0200 Message-ID: <006501d84350$37bae6f0$a730b4d0$@msym.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0066_01D84360.FB498350" X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHqslu3ZMA== Content-Language: fr X-Provags-ID: V03:K1:HUp0zfuf3sRrMeoPhmcGdNgv7e5HFyT3XnFDX3mHOhlntIMCODS DbiUWKXVu3Ceg5TfSmRS4Ud0n9BvqW+DBMS+8AoQnzKeWpRdU4rpPKentZvXX9+1BwquoZl 1C+ptj49SDny2QV4nFwIcC3Fv4gGR/07SbVLzfKAxShCu0IP/jaVfyZDdbsF9cLeFLR0uTl sPBNQudTpnO0I/ZMAYc0A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:MoropDAl680=:8ZjlXk55OBvuWDn3+/rcCs I45jSxRaIl7iwtgketLMvH035KX/zF0NzkPvFMrEoqL0idgstM/gy4ZnL5pmjkl878eg3VMjc U2zmpq3rUOW17pwqwgmjIcWkZnScwKKIvRKf6L6gFzUL6HI+J4OsAEcPaVsgyS55I8fsV+T2Z TU0TT2KF62KmhFYh9NpAzq+pkHAtgK9vqTLDTf+Cod4iUml0VLS7HXTlVW5AzIW0FnmLdaCms nf9SHTQGGlWFhr6uYUoNGO0iE4Q9Fyw7DWDPZkbkjeh0B5D+me9Ua+aLilNSfdscuHXDUhId1 l9KclbmM6pGlAMr71n+P0RCpA7elSVYMRytqtS5rR2E/21iIYdjrmF3LBJ7IJkG2wQsN1bjVW zaXWb/CvxLgV+98fwc43QNdeQLlDoAzN+eT3Fb5MLK7ow+tnZihkxtGhhmlGh55LAp9FmxGEs hGTp7p5t41eeePAtMyKOxtg9QAfjXLedAYLbN1AV681grUlFrpceR0rUERw+/1UlBS/wDXzSq 4RyStKo4fo/FWm9IvOXNTrEEQReFuTQbIJIv+TfPxuVd6JpW9seRojYfFSzIfdKLF+zVKEDzq kEizGnu70oAOBAZFvfrIr608KE1BG0puyuqLmrrI18YRlXPLT26KzHwfEfMFoOA6jW651V7NQ zkqzeGdpKpNKBHREvQeMWZ6RUs6lac6KVWEQsVE9CYedoTBetREV5QxpO7jQZTuQOEWY= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_0066_01D84360.FB498350 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, I think this has something to do with collation and ctype. As I see you = have it set to =E2=80=9CC=E2=80=9D for all your databases (even if I = don=E2=80=99t understand your titles =F0=9F=98=8A). =20 Michel SALAIS =20 De : =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 =20 Envoy=C3=A9 : mardi 29 mars 2022 06:35 =C3=80 : 'David G. Johnston' Cc : pgsql-admin@lists.postgresql.org Objet : RE: About Unicode IVS =20 =20 thank you for your reply. It will be 2 characters. =20 select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) =20 select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) =20 $ psql -l = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+-= -------------------- D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 (4 =E8=A1=8C) =20 =20 $ cat pgdata/PG_VERSION 13 =20 Moto. =20 From: David G. Johnston >=20 Sent: Tuesday, March 29, 2022 12:38 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: Re: About Unicode IVS =20 On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = > wrote: Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 =20 Try char_length(text) instead. =20 David J. =20 ------=_NextPart_000_0066_01D84360.FB498350 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Hi,

I think this has something to do with collation and ctype. = As I see you have it set to =E2=80=9CC=E2=80=9D for all your databases = (even if I don=E2=80=99t understand your titles 😊).

 

Michel = SALAIS

 

De : = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = <n2029@ndensan.co.jp>
Envoy=C3=A9 : mardi 29 mars = 2022 06:35
=C3=80 : 'David G. Johnston' = <david.g.johnston@gmail.com>
Cc : = pgsql-admin@lists.postgresql.org
Objet : RE: About = Unicode IVS

 

 

thank you for your reply.

It will be 2 characters.

 

select char_length(U&'\+008FBA' || = U&'\+0E0102');

char_length

-------------

       =     2

(1 =E8=A1=8C)

 

select length('=E8=BE=BA󠄂');

length

--------

      = 2

(1 =E8=A1=8C)

 

select char_length('=E8=BE=BA󠄂');

char_length

-------------

       =     2

(1 =E8=A1=8C)

 

$ psql -l

       =             &= nbsp;           &n= bsp;      =E3=83=87=E3=83=BC=E3=82=BF= =E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7

   =E5=90=8D=E5=89=8D=     | =E6=89=80=E6=9C=89=E8=80=85=   | =E3=82=A8=E3=83=B3=E3=82=B3= =E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 | =E7=85=A7=E5=90=88=E9=A0=86= =E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94= =E7=AE=97=E5=AD=90) |    =E3=82=A2=E3=82=AF=E3=82=BB= =E3=82=B9=E6=A8=A9=E9=99=90

-----------+---------+------------------+-= ---------+-------------------+---------------------

=

D209007   | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

postgres  | D209007 | = UTF8           &nb= sp; | C        | = C            =      |

template0 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

       =     |         = |            =       = |          = |            =        | = D209007=3DCTc/D209007

template1 | D209007 | = UTF8           &nb= sp; | C        | = C            =      | = =3Dc/D209007         = +

       =     |         = |            =       = |          = |            =        | = D209007=3DCTc/D209007

(4 =E8=A1=8C)

 

 

$ cat = pgdata/PG_VERSION

13

 

Moto.

 

From: David G. Johnston <david.g.johnston@gmail.com= >
Sent: Tuesday, March 29, 2022 12:38 PM
To: =
=E8=8D=92=E4=BA=95=E5=85= =83=E6=88=90 <n2029@ndensan.co.jp>
Cc:= pgsql-admin@lists.postgr= esql.org
Subject: Re: About Unicode = IVS

 



On Monday, March 28, 2022, =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> = wrote:

Hi,

 

In the Length () function, it = will be 2 characters where you want it to be 1 character.

Is it possible to respond by =
changing the settings such as changing the collation setting like SQL =
Server?
Also, if you understand how =
to deal with it (eg, create your own function), it would be helpful if =
you could provide as much information as you can.

 

 

=

Try char_length(text) = instead.

 

=

David = J.

 

------=_NextPart_000_0066_01D84360.FB498350-- From n2029@ndensan.co.jp Tue Mar 29 09:55:29 2022 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 1nZ8Zk-0003Mv-3j for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 09:55: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 1nZ8Zi-0002Ga-1T for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 09:55: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 1nZ8Zh-0002GR-1Y for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 09:55:41 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by makus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ8ZY-0003YB-C6 for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 09:55:39 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'Michel SALAIS'" , "'David G. Johnston'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <006501d84350$37bae6f0$a730b4d0$@msym.fr> In-Reply-To: <006501d84350$37bae6f0$a730b4d0$@msym.fr> Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 18:55:29 +0900 Message-ID: <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_012D_01D8439E.8F75B7A0" X-Mailer: Microsoft Outlook 16.0 thread-index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHoDP/CCzax89Y2A Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multipart message in MIME format. ------=_NextPart_000_012D_01D8439E.8F75B7A0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable thank you for your reply. Changing the collation order and CTYPE did not change the behavior. =20 =20 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+-------------+------------------= -+--------------------- D209007 | D209007 | UTF8 | C | C = | postgres | D209007 | UTF8 | C | C = | template0 | D209007 | UTF8 | C | C = | =3Dc/D209007 + | | | | = | D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C = | =3Dc/D209007 + | | | | = | D209007=3DCTc/D209007 template2 | D209007 | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 = | (5 =E8=A1=8C) =20 D209007=3D# \c template2 =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9"template2"=E3=81=AB= =E3=83=A6=E3=83=BC=E3=82=B6"D209007"=E3=81=A8=E3=81=97=E3=81=A6=E6=8E=A5=E7= =B6=9A=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82 template2=3D# select char_length(U&'\+0000E6' || U&'\+000300'); char_length ------------- 2 (1 =E8=A1=8C) =20 template2=3D# select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 template2=3D# select length(U&'\+008FBA' || U&'\+0E0102'); length -------- 2 (1 =E8=A1=8C) =20 Moto. =20 From: Michel SALAIS =20 Sent: Tuesday, March 29, 2022 6:35 PM To: '=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90' ; 'David = G. Johnston' Cc: pgsql-admin@lists.postgresql.org Subject: RE: About Unicode IVS =20 Hi, I think this has something to do with collation and ctype. As I see you = have it set to =E2=80=9CC=E2=80=9D for all your databases (even if I = don=E2=80=99t understand your titles =F0=9F=98=8A). =20 Michel SALAIS =20 De : =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 >=20 Envoy=C3=A9 : mardi 29 mars 2022 06:35 =C3=80 : 'David G. Johnston' > Cc : pgsql-admin@lists.postgresql.org = =20 Objet : RE: About Unicode IVS =20 =20 thank you for your reply. It will be 2 characters. =20 select char_length(U&'\+008FBA' || U&'\+0E0102'); char_length ------------- 2 (1 =E8=A1=8C) =20 select length('=E8=BE=BA=F3=A0=84=82'); length -------- 2 (1 =E8=A1=8C) =20 select char_length('=E8=BE=BA=F3=A0=84=82'); char_length ------------- 2 (1 =E8=A1=8C) =20 $ psql -l = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 -----------+---------+------------------+----------+-------------------+-= -------------------- D209007 | D209007 | UTF8 | C | C | postgres | D209007 | UTF8 | C | C | template0 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 template1 | D209007 | UTF8 | C | C | = =3Dc/D209007 + | | | | | = D209007=3DCTc/D209007 (4 =E8=A1=8C) =20 =20 $ cat pgdata/PG_VERSION 13 =20 Moto. =20 From: David G. Johnston >=20 Sent: Tuesday, March 29, 2022 12:38 PM To: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > Cc: pgsql-admin@lists.postgresql.org = =20 Subject: Re: About Unicode IVS =20 On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = > wrote: Hi, =20 In the Length () function, it will be 2 characters where you want it to = be 1 character. Is it possible to respond by changing the settings such as changing the = collation setting like SQL Server? Also, if you understand how to deal with it (eg, create your own = function), it would be helpful if you could provide as much information = as you can. =20 =20 Try char_length(text) instead. =20 David J. =20 ------=_NextPart_000_012D_01D8439E.8F75B7A0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

thank you for your = reply.

Changing the collation order and = CTYPE did not change the behavior.

 

 

=C2=A0=C2=A0 =E5=90=8D=E5=89=8D=C2=A0=C2=A0=C2=A0 | = =E6=89=80=E6=9C=89=E8=80=85=C2=A0 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3= =82=B0 |=C2=A0 = =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F=C2=A0=C2=A0 | = Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) |=C2=A0=C2=A0=C2=A0 = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90

-----------+---------+------------------+-------------+-----= --------------+---------------------

D209007=C2=A0=C2=A0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |

postgres=C2=A0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 |

template0 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 | = =3Dc/D209007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = D209007=3DCTc/D209007

template1 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = C=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 | = =3Dc/D209007=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = +

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= = |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | = D209007=3DCTc/D209007

template2 | D209007 | = UTF8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 | ja_JP.UTF-8 | ja_JP.UTF-8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = |

(5 =E8=A1=8C)

 

D209007=3D# \c template2

=E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9"template2"=E3=81=AB=E3=83=A6=E3=83=BC=E3=82= =B6"D209007"=E3=81=A8=E3=81=97=E3=81=A6=E6=8E=A5= =E7=B6=9A=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82

template2=3D# select char_length(U&'\+0000E6' || = U&'\+000300');

char_length

-------------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 2

(1 =E8=A1=8C)

 

template2=3D# select char_length(U&'\+008FBA' || = U&'\+0E0102');

char_length

-------------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 2

(1 =E8=A1=8C)

 

template2=3D# select length(U&'\+008FBA' || = U&'\+0E0102');

length

--------

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2

(1 =E8=A1=8C)

 

Moto.

 

From:<= /b> Michel = SALAIS <msalais@msym.fr>
Sent: Tuesday, March 29, 2022 = 6:35 PM
To: '
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90' = <n2029@ndensan.co.jp>; 'David G. Johnston' = <david.g.johnston@gmail.com>
Cc: = pgsql-admin@lists.postgresql.org
Subject: RE: About Unicode = IVS

 

Hi,

I think this has something to do with collation and ctype. = As I see you have it set to =E2=80=9CC=E2=80=9D for all your databases = (even if I don=E2=80=99t understand your titles 😊).

 

Michel = SALAIS

 

De : = =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90= <n2029@ndensan.co.jp> =
Envoy=C3=A9 : mardi 29 mars 2022 = 06:35
=C3=80 : 'David G. Johnston' <david.g.johnston@gmail.com= >
Cc : pgsql-admin@lists.postgr= esql.org
Objet : RE: About Unicode = IVS

 

 

thank you for your = reply.

It will be 2 = characters.

 

select char_length(U&'\+008FBA' || = U&'\+0E0102');

char_length

-------------

        &= nbsp;  2

(1 =E8=A1=8C)

 

select length('=E8=BE=BA󠄂');

length

--------

      2

(1 =E8=A1=8C)

 

select char_length('=E8=BE=BA󠄂');

char_length

-------------

        &= nbsp;  2

(1 =E8=A1=8C)

 

$ psql -l

        &= nbsp;           &n= bsp;           &nb= sp;     =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82= =B9=E4=B8=80=E8=A6=A7

   =E5=90=8D=E5=89=8D    | =E6=89=80=E6=9C=89=E8=80=85  | =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82= =A3=E3=83=B3=E3=82=B0 | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) |    =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99= =90

-----------+---------+------------------+----------+--------= -----------+---------------------

D209007   | D209007 | UTF8        &= nbsp;    | C       = | C        &= nbsp;        |

postgres  | D209007 | UTF8        &= nbsp;    | C       = | C        &= nbsp;        |

template0 | D209007 | UTF8        &= nbsp;    | C       = | C        &= nbsp;        | =3Dc/D209007        <= /span> +

        &= nbsp;  |        <= /span> |        &= nbsp;         |        &= nbsp; |        &= nbsp;          | D209007=3DCTc/D209007

template1 | D209007 | UTF8        &= nbsp;    | C       = | C        &= nbsp;        | =3Dc/D209007        <= /span> +

        &= nbsp;  |        <= /span> |        &= nbsp;         |        &= nbsp; |        &= nbsp;          | D209007=3DCTc/D209007

(4 =E8=A1=8C)

 

 

$ cat pgdata/PG_VERSION

13

 

Moto.

 

From:<= /b> David G. = Johnston <david.g.johnston@gmail.com= >
Sent: Tuesday, March 29, 2022 12:38 PM
To: =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp>
Cc:= pgsql-admin@lists.postgr= esql.org
Subject: Re: About Unicode = IVS

 



On Monday, March 28, 2022, =
=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 <n2029@ndensan.co.jp> = wrote:

Hi,

 

In the Length () function, it will be 2 characters = where you want it to be 1 character.

Is it possible =
to respond by changing the settings such as changing the collation =
setting like SQL Server?
Also, if you =
understand how to deal with it (eg, create your own function), it would =
be helpful if you could provide as much information as you =
can.

 

 

Try char_length(text) = instead.

 

David = J.

 

------=_NextPart_000_012D_01D8439E.8F75B7A0-- From holger@jakobs.com Tue Mar 29 10:02:18 2022 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 1nZ8gF-0003xw-Nb for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 10:02:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ8gE-0001Ee-LN for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 10:02:26 +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 1nZ8gD-0001Dn-Tw for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 10:02:26 +0000 Received: from jakobs.com ([85.214.83.89] helo=rs.plausibolo.de) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ8gA-0003c9-KE for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 10:02:24 +0000 Received: from localhost (localhost [127.0.0.1]) by rs.plausibolo.de (Postfix) with ESMTP id E582E380733; Tue, 29 Mar 2022 12:02:19 +0200 (CEST) Received: from rs.plausibolo.de ([IPv6:::1]) by localhost (h2367442.stratoserver.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id cn-wS2pvODYT; Tue, 29 Mar 2022 12:02:19 +0200 (CEST) Received: from [192.168.178.197] (ip-037-201-154-253.um10.pools.vodafone-ip.de [37.201.154.253]) by rs.plausibolo.de (Postfix) with ESMTPSA id 86E50380722; Tue, 29 Mar 2022 12:02:19 +0200 (CEST) Message-ID: <15e893e2-1237-27f4-58ba-5ea59499fa3d@jakobs.com> Date: Tue, 29 Mar 2022 12:02:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Content-Language: de-DE To: pgsql-admin@lists.postgresql.org References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <006501d84350$37bae6f0$a730b4d0$@msym.fr> <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> From: Holger Jakobs Subject: Re: About Unicode IVS In-Reply-To: <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------xZKWGx3oagZMNFuFRW0XE00N" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------xZKWGx3oagZMNFuFRW0XE00N Content-Type: multipart/mixed; boundary="------------2bzvuH0TkFreAWtBLnA0L3zv"; protected-headers="v1" From: Holger Jakobs To: pgsql-admin@lists.postgresql.org Message-ID: <15e893e2-1237-27f4-58ba-5ea59499fa3d@jakobs.com> Subject: Re: About Unicode IVS References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <006501d84350$37bae6f0$a730b4d0$@msym.fr> <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> In-Reply-To: <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> --------------2bzvuH0TkFreAWtBLnA0L3zv Content-Type: multipart/alternative; boundary="------------3iEvnaTynPAAoHDQtSTR8JD0" --------------3iEvnaTynPAAoHDQtSTR8JD0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SXQncyB0b3RhbGx5IGNvcnJlY3QgdGhhdCB0aGUgdHdvIGNoYXJhY3RlcnMgYXJlIHN0aWxs IHR3byBjaGFyYWN0ZXJzLg0KDQpZb3Ugd291bGQgaGF2ZSB0byBub3JtYWxpemUgdGhlIHN0 cmluZyBmaXJzdCwgc28gdGhhdCB0aGUgY29tYmluYXRpb24gDQpiZWNvbWVzIG9uZSBjaGFy YWN0ZXIuDQoNCk1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0b3BpYywgd2hpY2ggaXMg aW4gcGFydCBiZXlvbmQgUG9zdGdyZVNRTDoNCg0KICAqIGh0dHBzOi8vc3RhY2tvdmVyZmxv dy5jb20vcXVlc3Rpb25zLzc5MzEyMDQvd2hhdC1pcy1ub3JtYWxpemVkLXV0Zi04LWFsbC1h Ym91dA0KICAqIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaWNvZGVfZXF1aXZh bGVuY2UNCg0KUmVnYXJkcywNCg0KSG9sZ2VyDQoNCg0KQW0gMjkuMDMuMjIgdW0gMTE6NTUg c2NocmllYiDojZLkupXlhYPmiJA6DQo+DQo+IHRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4N Cj4NCj4gQ2hhbmdpbmcgdGhlIGNvbGxhdGlvbiBvcmRlciBhbmQgQ1RZUEUgZGlkIG5vdCBj aGFuZ2UgdGhlIGJlaGF2aW9yLg0KPg0KPiDlkI3liY18IOaJgOacieiAhcKgIHwg44Ko44Oz 44Kz44O844OH44Kj44Oz44KwfCDnhaflkIjpoIbluo/CoMKgIHwgQ3R5cGUo5aSJ5o+b5ryU 566X5a2QKSB8IA0KPiDjgqLjgq/jgrvjgrnmqKnpmZANCj4NCj4gLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+DQo+IEQyMDkwMDfCoMKgIHwgRDIwOTAw NyB8IFVURjjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBDwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCBDIHwNCj4NCj4gcG9zdGdyZXPCoCB8IEQyMDkwMDcgfCBVVEY4wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwgQ8KgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQyB8DQo+DQo+IHRlbXBs YXRlMCB8IEQyMDkwMDcgfCBVVEY4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQ8KgwqDC oMKgwqDCoMKgwqDCoMKgIHwgQyB8IA0KPiA9Yy9EMjA5MDA3wqDCoMKgwqDCoMKgwqDCoCAr DQo+DQo+IHzCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHwgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IEQyMDkw MDc9Q1RjL0QyMDkwMDcNCj4NCj4gdGVtcGxhdGUxIHwgRDIwOTAwNyB8IFVURjjCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCBDwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBDIHwgDQo+ID1j L0QyMDkwMDfCoMKgwqDCoMKgwqDCoMKgICsNCj4NCj4gfMKgwqDCoMKgwqDCoMKgwqAgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCB8wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgRDIwOTAwNz1DVGMvRDIwOTAwNw0KPg0KPiB0ZW1wbGF0 ZTIgfCBEMjA5MDA3IHwgVVRGOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGphX0pQLlVU Ri04IHwgamFfSlAuVVRGLTggfA0KPg0KPiAoNSDooYwpDQo+DQo+IEQyMDkwMDc9IyBcYyB0 ZW1wbGF0ZTINCj4NCj4g44OH44O844K/44OZ44O844K5InRlbXBsYXRlMiLjgavjg6bjg7zj grYiRDIwOTAwNyLjgajjgZfjgabmjqXntprjgZfjgb7jgZfjgZ/jgIINCj4NCj4gdGVtcGxh dGUyPSMgc2VsZWN0IGNoYXJfbGVuZ3RoKFUmJ1wrMDAwMEU2JyB8fCBVJidcKzAwMDMwMCcp Ow0KPg0KPiBjaGFyX2xlbmd0aA0KPg0KPiAtLS0tLS0tLS0tLS0tDQo+DQo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgIDINCj4NCj4gKDEg6KGMKQ0KPg0KPiB0ZW1wbGF0ZTI9IyBzZWxlY3Qg Y2hhcl9sZW5ndGgoVSYnXCswMDhGQkEnIHx8IFUmJ1wrMEUwMTAyJyk7DQo+DQo+IGNoYXJf bGVuZ3RoDQo+DQo+IC0tLS0tLS0tLS0tLS0NCj4NCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAg Mg0KPg0KPiAoMSDooYwpDQo+DQo+IHRlbXBsYXRlMj0jIHNlbGVjdCBsZW5ndGgoVSYnXCsw MDhGQkEnIHx8IFUmJ1wrMEUwMTAyJyk7DQo+DQo+IGxlbmd0aA0KPg0KPiAtLS0tLS0tLQ0K Pg0KPiDCoMKgwqDCoMKgIDINCj4NCj4gKDEg6KGMKQ0KPg0KPiBNb3RvLg0KPg0KPiAqRnJv bToqTWljaGVsIFNBTEFJUyA8bXNhbGFpc0Btc3ltLmZyPg0KPiAqU2VudDoqIFR1ZXNkYXks IE1hcmNoIDI5LCAyMDIyIDY6MzUgUE0NCj4gKlRvOiogJ+iNkuS6leWFg+aIkCcgPG4yMDI5 QG5kZW5zYW4uY28uanA+OyAnRGF2aWQgRy4gSm9obnN0b24nIA0KPiA8ZGF2aWQuZy5qb2hu c3RvbkBnbWFpbC5jb20+DQo+ICpDYzoqIHBnc3FsLWFkbWluQGxpc3RzLnBvc3RncmVzcWwu b3JnDQo+ICpTdWJqZWN0OiogUkU6IEFib3V0IFVuaWNvZGUgSVZTDQo+DQo+IEhpLA0KPg0K PiBJIHRoaW5rIHRoaXMgaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIGNvbGxhdGlvbiBhbmQg Y3R5cGUuIEFzIEkgc2VlIA0KPiB5b3UgaGF2ZSBpdCBzZXQgdG8g4oCcQ+KAnSBmb3IgYWxs IHlvdXIgZGF0YWJhc2VzIChldmVuIGlmIEkgZG9u4oCZdCANCj4gdW5kZXJzdGFuZCB5b3Vy IHRpdGxlcyDwn5iKKS4NCj4NCj4gL01pY2hlbCBTQUxBSVMvDQo+DQo+IC8vDQo+DQo+ICpE ZcKgOirojZLkupXlhYPmiJA8bjIwMjlAbmRlbnNhbi5jby5qcD4NCj4gKkVudm95w6nCoDoq IG1hcmRpIDI5IG1hcnMgMjAyMiAwNjozNQ0KPiAqw4DCoDoqICdEYXZpZCBHLiBKb2huc3Rv bicgPGRhdmlkLmcuam9obnN0b25AZ21haWwuY29tPg0KPiAqQ2PCoDoqIHBnc3FsLWFkbWlu QGxpc3RzLnBvc3RncmVzcWwub3JnDQo+ICpPYmpldMKgOiogUkU6IEFib3V0IFVuaWNvZGUg SVZTDQo+DQo+IHRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4NCj4NCj4gSXQgd2lsbCBiZSAy IGNoYXJhY3RlcnMuDQo+DQo+IHNlbGVjdCBjaGFyX2xlbmd0aChVJidcKzAwOEZCQScgfHwg VSYnXCswRTAxMDInKTsNCj4NCj4gY2hhcl9sZW5ndGgNCj4NCj4gLS0tLS0tLS0tLS0tLQ0K Pg0KPiAyDQo+DQo+ICgxIOihjCkNCj4NCj4gc2VsZWN0IGxlbmd0aCgn6L6686CEgicpOw0K Pg0KPiBsZW5ndGgNCj4NCj4gLS0tLS0tLS0NCj4NCj4gMg0KPg0KPiAoMSDooYwpDQo+DQo+ IHNlbGVjdCBjaGFyX2xlbmd0aCgn6L6686CEgicpOw0KPg0KPiBjaGFyX2xlbmd0aA0KPg0K PiAtLS0tLS0tLS0tLS0tDQo+DQo+IDINCj4NCj4gKDEg6KGMKQ0KPg0KPiAkIHBzcWwgLWwN Cj4NCj4g44OH44O844K/44OZ44O844K55LiA6KanDQo+DQo+IOWQjeWJjXwg5omA5pyJ6ICF fCDjgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrB8IOeFp+WQiOmghuW6j3wgQ3R5cGUo5aSJ5o+b 5ryU566X5a2QKSB844Ki44Kv44K744K55qip6ZmQDQo+DQo+IC0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiBEMjA5MDA3fCBEMjA5MDA3IHwgVVRGOHwg Q3wgQ3wNCj4NCj4gcG9zdGdyZXN8IEQyMDkwMDcgfCBVVEY4fCBDfCBDfA0KPg0KPiB0ZW1w bGF0ZTAgfCBEMjA5MDA3IHwgVVRGOHwgQ3wgQ3wgPWMvRDIwOTAwNysNCj4NCj4gfHx8fHwg RDIwOTAwNz1DVGMvRDIwOTAwNw0KPg0KPiB0ZW1wbGF0ZTEgfCBEMjA5MDA3IHwgVVRGOHwg Q3wgQ3wgPWMvRDIwOTAwNysNCj4NCj4gfHx8fHwgRDIwOTAwNz1DVGMvRDIwOTAwNw0KPg0K PiAoNCDooYwpDQo+DQo+ICQgY2F0IHBnZGF0YS9QR19WRVJTSU9ODQo+DQo+IDEzDQo+DQo+ IE1vdG8uDQo+DQo+ICpGcm9tOipEYXZpZCBHLiBKb2huc3RvbiA8ZGF2aWQuZy5qb2huc3Rv bkBnbWFpbC5jb20+DQo+ICpTZW50OiogVHVlc2RheSwgTWFyY2ggMjksIDIwMjIgMTI6Mzgg UE0NCj4gKlRvOiog6I2S5LqV5YWD5oiQPG4yMDI5QG5kZW5zYW4uY28uanA+DQo+ICpDYzoq IHBnc3FsLWFkbWluQGxpc3RzLnBvc3RncmVzcWwub3JnDQo+ICpTdWJqZWN0OiogUmU6IEFi b3V0IFVuaWNvZGUgSVZTDQo+DQo+DQo+DQo+IE9uIE1vbmRheSwgTWFyY2ggMjgsIDIwMjIs IOiNkuS6leWFg+aIkDxuMjAyOUBuZGVuc2FuLmNvLmpwPiB3cm90ZToNCj4NCj4gICAgIEhp LA0KPg0KPiAgICAgSW4gdGhlIExlbmd0aCAoKSBmdW5jdGlvbiwgaXQgd2lsbCBiZSAyIGNo YXJhY3RlcnMgd2hlcmUgeW91IHdhbnQNCj4gICAgIGl0IHRvIGJlIDEgY2hhcmFjdGVyLg0K Pg0KPiAgICAgSXMgaXQgcG9zc2libGUgdG8gcmVzcG9uZCBieSBjaGFuZ2luZyB0aGUgc2V0 dGluZ3Mgc3VjaCBhcw0KPiAgICAgY2hhbmdpbmcgdGhlIGNvbGxhdGlvbiBzZXR0aW5nIGxp a2UgU1FMIFNlcnZlcj8NCj4NCj4gICAgIEFsc28sIGlmIHlvdSB1bmRlcnN0YW5kIGhvdyB0 byBkZWFsIHdpdGggaXQgKGVnLCBjcmVhdGUgeW91ciBvd24NCj4gICAgIGZ1bmN0aW9uKSwg aXQgd291bGQgYmUgaGVscGZ1bCBpZiB5b3UgY291bGQgcHJvdmlkZSBhcyBtdWNoDQo+ICAg ICBpbmZvcm1hdGlvbiBhcyB5b3UgY2FuLg0KPg0KPiBUcnkgY2hhcl9sZW5ndGgodGV4dCkg aW5zdGVhZC4NCj4NCj4gRGF2aWQgSi4NCj4NCi0tIA0KSG9sZ2VyIEpha29icywgQmVyZ2lz Y2ggR2xhZGJhY2gsIFRlbC4gKzQ5LTE3OC05NzU5MDEyDQoNCg== --------------3iEvnaTynPAAoHDQtSTR8JD0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGh0bWw+DQogIDxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCiAgPC9oZWFkPg0KICA8Ym9k eT4NCiAgICA8cD5JdCdzIHRvdGFsbHkgY29ycmVjdCB0aGF0IHRoZSB0d28gY2hhcmFjdGVy cyBhcmUgc3RpbGwgdHdvDQogICAgICBjaGFyYWN0ZXJzLjwvcD4NCiAgICA8cD5Zb3Ugd291 bGQgaGF2ZSB0byBub3JtYWxpemUgdGhlIHN0cmluZyBmaXJzdCwgc28gdGhhdCB0aGUNCiAg ICAgIGNvbWJpbmF0aW9uIGJlY29tZXMgb25lIGNoYXJhY3Rlci48L3A+DQogICAgPHA+TW9y ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHRvcGljLCB3aGljaCBpcyBpbiBwYXJ0IGJleW9u ZA0KICAgICAgUG9zdGdyZVNRTDo8YnI+DQogICAgPC9wPg0KICAgIDx1bD4NCiAgICAgIDxs aT48YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwczovL3N0YWNr b3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83OTMxMjA0L3doYXQtaXMtbm9ybWFsaXplZC11dGYt OC1hbGwtYWJvdXQiPmh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzc5MzEy MDQvd2hhdC1pcy1ub3JtYWxpemVkLXV0Zi04LWFsbC1hYm91dDwvYT48L2xpPg0KICAgICAg PGxpPjxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vZW4u d2lraXBlZGlhLm9yZy93aWtpL1VuaWNvZGVfZXF1aXZhbGVuY2UiPmh0dHBzOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL1VuaWNvZGVfZXF1aXZhbGVuY2U8L2E+PC9saT4NCiAgICA8L3Vs Pg0KICAgIDxwPlJlZ2FyZHMsPC9wPg0KICAgIDxwPkhvbGdlcjxicj4NCiAgICA8L3A+DQog ICAgPHA+PGJyPg0KICAgIDwvcD4NCiAgICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgi PkFtIDI5LjAzLjIyIHVtIDExOjU1IHNjaHJpZWIg6I2S5LqV5YWD5oiQOjxicj4NCiAgICA8 L2Rpdj4NCiAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIg0KICAgICAgY2l0ZT0ibWlkOjAx MmMwMWQ4NDM1MyQxZjhhOGQzMCQ1ZTlmYTc5MCRAbmRlbnNhbi5jby5qcCI+DQogICAgICA8 bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh cnNldD1VVEYtOCI+DQogICAgICA8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1p Y3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZA0KICAgICAgICBtZWRpdW0pIj4NCiAgICAgIDxz dHlsZT5AZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiLvvK3vvLMg44K044K344OD44KvIjsN CglwYW5vc2UtMToyIDExIDYgOSA3IDIgNSA4IDIgNDt9QGZvbnQtZmFjZQ0KCXtmb250LWZh bWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O31A Zm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiLvvK3vvLMg77yw44K044K344OD44KvIjsNCglw YW5vc2UtMToyIDExIDYgMCA3IDIgNSA4IDIgNDt9QGZvbnQtZmFjZQ0KCXtmb250LWZhbWls eToi44O7772t44O7772zIOe5p++9tOe5p++9t+e5neODu+OBkSI7DQoJcGFub3NlLTE6MCAw IDAgMCAwIDAgMCAwIDAgMDt9QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0K CXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O31AZm9udC1mYWNlDQoJe2ZvbnQtZmFt aWx5OiJDYWxpYnJpIExpZ2h0IjsNCglwYW5vc2UtMToyIDE1IDMgMiAyIDIgNCAzIDIgNDt9 QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYg OSAyIDIgNCAzIDIgNDt9QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDvvK3vvLMg44K0 44K344OD44KvIjsNCglwYW5vc2UtMToyIDExIDYgOSA3IDIgNSA4IDIgNDt9QGZvbnQtZmFj ZQ0KCXtmb250LWZhbWlseToiXEDvvK3vvLMg77yw44K044K344OD44KvIjsNCglwYW5vc2Ut MToyIDExIDYgMCA3IDIgNSA4IDIgNDt9QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiU2Vn b2UgVUkgRW1vamkiOw0KCXBhbm9zZS0xOjIgMTEgNSAyIDQgMiA0IDIgMiAzO31AZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOODu++9reODu++9syDnuafvvbTnuafvvbfnuZ3jg7vj gZEiO31AZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiLDvzJkw78zMyAgMGI0MGI3MGMzMGFm IjsNCglwYW5vc2UtMTowIDAgMCAwIDAgMCAwIDAgMCAwO31wLk1zb05vcm1hbCwgbGkuTXNv Tm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowbW07DQoJbWFyZ2luLWJvdHRvbTou MDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6Iu+8re+8syDvvLDj grTjgrfjg4Pjgq8iO31hOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1w cmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7 fWE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJp b3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7 fXByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwg 5pu45byP5LuY44GNIFwo5paH5a2XXCkiOw0KCW1hcmdpbjowbW07DQoJbWFyZ2luLWJvdHRv bTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6Iu+8re+8syDj grTjgrfjg4Pjgq8iO31zcGFuLkhUTUwNCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwg5pu45byP 5LuY44GNIFwo5paH5a2XXCkiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5 bGUtbGluazoiSFRNTCDmm7jlvI/ku5jjgY0iOw0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5l dyI7fXAubXNvbm9ybWFsMCwgbGkubXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDANCgl7bXNv LXN0eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOw0KCW1h cmdpbi1yaWdodDowbW07DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJbWFyZ2lu LWxlZnQ6MG1tOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6Iu+8re+8syDv vLDjgrTjgrfjg4Pjgq8iO31wLlByZm9ybWF0SFRNTCwgbGkuUHJmb3JtYXRIVE1MLCBkaXYu UHJmb3JtYXRIVE1MDQoJe21zby1zdHlsZS1uYW1lOiJQcsOpZm9ybWF0w6kgSFRNTCI7DQoJ bXNvLXN0eWxlLWxpbms6IlByw6lmb3JtYXTDqSBIVE1MIENhciI7DQoJbWFyZ2luOjBtbTsN CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh bWlseToi77yt77yzIO+8sOOCtOOCt+ODg+OCryI7fXNwYW4uUHJmb3JtYXRIVE1MQ2FyDQoJ e21zby1zdHlsZS1uYW1lOiJQcsOpZm9ybWF0w6kgSFRNTCBDYXIiOw0KCW1zby1zdHlsZS1w cmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiUHLDqWZvcm1hdMOpIEhUTUwiOw0KCWZv bnQtZmFtaWx5OkNvbnNvbGFzO31zcGFuLnkyaXFmYw0KCXttc28tc3R5bGUtbmFtZTp5Mmlx ZmM7fS5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZv bnQtc2l6ZToxMC4wcHQ7fWRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7 fTwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6 ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2Ij4NCjx2OnRleHRib3ggaW5zZXQ9IjUuODVwdCwu N3B0LDUuODVwdCwuN3B0IiAvPg0KPC9vOnNoYXBlZGVmYXVsdHM+PC94bWw+PCFbZW5kaWZd LS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRp dCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91 dD48L3htbD48IVtlbmRpZl0tLT4NCiAgICAgIDxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+ DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTomcXVvdDvvvK3vvLMNCiAgICAgICAgICAgIOOCtOOCt+ODg+OCryZxdW90OyIgbGFuZz0i RU4iPnRoYW5rIHlvdSBmb3IgeW91ciByZXBseS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQog ICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTom cXVvdDvvvK3vvLMNCiAgICAgICAgICAgIOOCtOOCt+ODg+OCryZxdW90OyIgbGFuZz0iRU4i PkNoYW5naW5nIHRoZSBjb2xsYXRpb24gb3JkZXIgYW5kIENUWVBFDQogICAgICAgICAgICBk aWQgbm90IGNoYW5nZSB0aGUgYmVoYXZpb3IuPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q777yt77yzIOOCtOOCt+ODg+OCryZxdW90OyIgbGFu Zz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0K ICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMx RjQ5N0QiIGxhbmc9IkVOLVVTIj48bzpwPsKgPC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAg PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+OD u++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNl cmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj48bzpwPsKgPC9vOnA+PC9zcGFuPjwv cD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O7 44GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgIDwvc3Bh bj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reOD u++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2Nv bG9yOiMxRjQ5N0QiPuWQjeWJjTxzcGFuIGxhbmc9IkVOLVVTIj7CoMKgwqANCiAgICAgICAg ICAgICAgfCA8L3NwYW4+5omA5pyJ6ICFPHNwYW4gbGFuZz0iRU4tVVMiPsKgIHwgPC9zcGFu PuOCqOODs+OCs+ODvOODh+OCo+ODs+OCsDxzcGFuDQogICAgICAgICAgICAgIGxhbmc9IkVO LVVTIj4gfMKgIDwvc3Bhbj7nhaflkIjpoIbluo88c3BhbiBsYW5nPSJFTi1VUyI+wqDCoCB8 DQogICAgICAgICAgICAgIEN0eXBlKDwvc3Bhbj7lpInmj5vmvJTnrpflrZA8c3BhbiBsYW5n PSJFTi1VUyI+KSB8wqDCoMKgIDwvc3Bhbj7jgqLjgq/jgrvjgrnmqKnpmZA8c3Bhbg0KICAg ICAgICAgICAgICBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4N CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQog ICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTom cXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZx dW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IEQyMDkwMDfCoMKgIHwN CiAgICAgICAgICAgIEQyMDkwMDcgfCBVVEY4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwg Q8KgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQ8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgDQogICAgICAgICAgICB8PG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t 44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7 Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiBwb3N0Z3Jlc8KgIHwNCiAgICAgICAgICAg IEQyMDkwMDcgfCBVVEY4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgQ8KgwqDCoMKgwqDC oMKgwqDCoMKgIHwgQ8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgDQogICAgICAg ICAgICB8PG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAg ICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3 RCIgbGFuZz0iRU4tVVMiPiB0ZW1wbGF0ZTAgfA0KICAgICAgICAgICAgRDIwOTAwNyB8IFVU RjjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBDwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBD wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqANCiAgICAgICAgICAgIHwgPWMvRDIw OTAwN8KgwqDCoMKgwqDCoMKgwqAgKzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAg PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+OD u++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNl cmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoA0K ICAgICAgICAgICAgfMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoA0KICAgICAgICAgICAgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IEQyMDkwMDc9Q1RjL0QyMDkw MDc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAg ICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBs YW5nPSJFTi1VUyI+IHRlbXBsYXRlMSB8DQogICAgICAgICAgICBEMjA5MDA3IHwgVVRGOMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IEPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IEPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoA0KICAgICAgICAgICAgfCA9Yy9EMjA5MDA3 wqDCoMKgwqDCoMKgwqDCoCArPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t 44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7 Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKgwqDCoMKgDQogICAg ICAgICAgICB8wqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgDQogICAgICAgICAgICB8wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgRDIwOTAwNz1DVGMvRDIwOTAwNzxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg 57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9 IkVOLVVTIj4gdGVtcGxhdGUyIHwNCiAgICAgICAgICAgIEQyMDkwMDcgfCBVVEY4wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgamFfSlAuVVRGLTggfCBqYV9KUC5VVEYtOMKgwqDCoMKg wqDCoA0KICAgICAgICAgICAgfDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9 reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlm O2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4oNSA8L3NwYW4+PHNwYW4NCiAgICAgICAg ICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAg IOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIj7ooYw8 c3BhbiBsYW5nPSJFTi1VUyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQogICAg ICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bh bj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+RDIwOTAw Nz0jIFxjDQogICAgICAgICAgICB0ZW1wbGF0ZTI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQog ICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTom cXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZx dW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIj7jg4fjg7zjgr/jg5njg7zjgrk8c3BhbiBsYW5n PSJFTi1VUyI+InRlbXBsYXRlMiI8L3NwYW4+44Gr44Om44O844K2PHNwYW4NCiAgICAgICAg ICAgICAgbGFuZz0iRU4tVVMiPiJEMjA5MDA3Ijwvc3Bhbj7jgajjgZfjgabmjqXntprjgZfj gb7jgZfjgZ/jgII8c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9zcGFu PjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md 44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj50ZW1wbGF0 ZTI9Iw0KICAgICAgICAgICAgc2VsZWN0IGNoYXJfbGVuZ3RoKFUmYW1wOydcKzAwMDBFNicg fHwgVSZhbXA7J1wrMDAwMzAwJyk7PG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7 772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2Vy aWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiBjaGFyX2xlbmd0aDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn 772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4t LS0tLS0tLS0tLS0tPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772z DQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6 IzFGNDk3RCIgbGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKgwqDCoMKgIDI8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5 p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+ KDEgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7 44O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDss c2VyaWY7Y29sb3I6IzFGNDk3RCI+6KGMPHNwYW4gbGFuZz0iRU4tVVMiPik8bzpwPjwvbzpw Pjwvc3Bhbj48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDn uafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0i RU4tVVMiPjxvOnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQog ICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFG NDk3RCIgbGFuZz0iRU4tVVMiPnRlbXBsYXRlMj0jDQogICAgICAgICAgICBzZWxlY3QgY2hh cl9sZW5ndGgoVSZhbXA7J1wrMDA4RkJBJyB8fCBVJmFtcDsnXCswRTAxMDInKTs8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9 tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1V UyI+IGNoYXJfbGVuZ3RoPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7 772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29s b3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPi0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKg wqDCoMKgwqDCoMKgwqAgMjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reOD u++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2Nv bG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4oMSA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAg IHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5 p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIj7ooYw8c3Bh biBsYW5nPSJFTi1VUyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQogICAgICAg IDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvj g7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90Oyxz ZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bhbj48 L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neOD u+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+dGVtcGxhdGUy PSMNCiAgICAgICAgICAgIHNlbGVjdCBsZW5ndGgoVSZhbXA7J1wrMDA4RkJBJyB8fCBVJmFt cDsnXCswRTAxMDInKTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vv vbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xv cjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IGxlbmd0aDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4tLS0tLS0tLTxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn 772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVO LVVTIj7CoMKgwqDCoMKgIDI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3j g7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtj b2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+KDEgPC9zcGFuPjxzcGFuDQogICAgICAgICAg ICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDn uafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCI+6KGMPHNw YW4gbGFuZz0iRU4tVVMiPik8bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KICAgICAg ICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7 44O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDss c2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPjxvOnA+wqA8L286cD48L3NwYW4+ PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1m YW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3j g7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPk1vdG8uPG86 cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDn uafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0i RU4tVVMiPjxvOnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8ZGl2Pg0KICAgICAg ICAgIDxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMQ0K ICAgICAgICAgICAgMS4wcHQ7cGFkZGluZzozLjBwdCAwbW0gMG1tIDBtbSI+DQogICAgICAg ICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3Bhbg0KICAgICAgICAgICAgICAgICAg c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90 OyxzYW5zLXNlcmlmIg0KICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkZyb206PC9z cGFuPjwvYj48c3Bhbg0KICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiINCiAgICAgICAg ICAgICAgICBsYW5nPSJFTi1VUyI+IE1pY2hlbCBTQUxBSVMgPGEgY2xhc3M9Im1vei10eHQt bGluay1yZmMyMzk2RSIgaHJlZj0ibWFpbHRvOm1zYWxhaXNAbXN5bS5mciI+Jmx0O21zYWxh aXNAbXN5bS5mciZndDs8L2E+IDxicj4NCiAgICAgICAgICAgICAgICA8Yj5TZW50OjwvYj4g VHVlc2RheSwgTWFyY2ggMjksIDIwMjIgNjozNSBQTTxicj4NCiAgICAgICAgICAgICAgICA8 Yj5Ubzo8L2I+ICc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPuiNkuS6 leWFg+aIkDwvc3Bhbj48c3Bhbg0Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIg0KICAgICAgICAgICAgICAgIGxh bmc9IkVOLVVTIj4nIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9Im1h aWx0bzpuMjAyOUBuZGVuc2FuLmNvLmpwIj4mbHQ7bjIwMjlAbmRlbnNhbi5jby5qcCZndDs8 L2E+OyAnRGF2aWQgRy4NCiAgICAgICAgICAgICAgICBKb2huc3RvbicgPGEgY2xhc3M9Im1v ei10eHQtbGluay1yZmMyMzk2RSIgaHJlZj0ibWFpbHRvOmRhdmlkLmcuam9obnN0b25AZ21h aWwuY29tIj4mbHQ7ZGF2aWQuZy5qb2huc3RvbkBnbWFpbC5jb20mZ3Q7PC9hPjxicj4NCiAg ICAgICAgICAgICAgICA8Yj5DYzo8L2I+IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2 aWF0ZWQiIGhyZWY9Im1haWx0bzpwZ3NxbC1hZG1pbkBsaXN0cy5wb3N0Z3Jlc3FsLm9yZyI+ cGdzcWwtYWRtaW5AbGlzdHMucG9zdGdyZXNxbC5vcmc8L2E+PGJyPg0KICAgICAgICAgICAg ICAgIDxiPlN1YmplY3Q6PC9iPiBSRTogQWJvdXQgVW5pY29kZSBJVlM8bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwv c3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuDQpzdHlsZT0i Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt c2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiDQogICAgICAgICAgICBsYW5nPSJG UiI+SGksPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3Bhbg0Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIg0K ICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkkgdGhpbmsgdGhpcyBoYXMgc29tZXRoaW5nIHRv IGRvIHdpdGggY29sbGF0aW9uDQogICAgICAgICAgICBhbmQgY3R5cGUuIEFzIEkgc2VlIHlv dSBoYXZlIGl0IHNldCB0byDigJxD4oCdIGZvciBhbGwgeW91cg0KICAgICAgICAgICAgZGF0 YWJhc2VzIChldmVuIGlmIEkgZG9u4oCZdCB1bmRlcnN0YW5kIHlvdXIgdGl0bGVzIDwvc3Bh bj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6JnF1b3Q7U2Vnb2UgVUkNCiAgICAgICAgICAgIEVtb2ppJnF1b3Q7LHNhbnMtc2VyaWY7 bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiDQogICAgICAgICAgICBsYW5nPSJFTi1VUyI+ 8J+Yijwvc3Bhbj48c3Bhbg0Kc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOkVO LVVTIg0KICAgICAgICAgICAgbGFuZz0iRU4tVVMiPikuPG86cD48L286cD48L3NwYW4+PC9w Pg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bhbg0Kc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21z by1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIg0KICAgICAgICAgICAgbGFuZz0iRU4tVVMiPjxv OnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8ZGl2Pg0KICAgICAgICAgIDxwIGNs YXNzPSJNc29Ob3JtYWwiPjxpPjxzcGFuDQogICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQt c2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpDQogICAgICAgICAgICAgICAg TGlnaHQmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUYzODY0IiBsYW5nPSJGUiI+TWljaGVs DQogICAgICAgICAgICAgICAgU0FMQUlTPG86cD48L286cD48L3NwYW4+PC9pPjwvcD4NCiAg ICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48aT48c3Bhbg0KICAgICAgICAgICAgICAg IHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaQ0KICAg ICAgICAgICAgICAgIExpZ2h0JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGMzg2NCIgbGFu Zz0iRlIiPjxvOnA+wqA8L286cD48L3NwYW4+PC9pPjwvcD4NCiAgICAgICAgPC9kaXY+DQog ICAgICAgIDxkaXY+DQogICAgICAgICAgPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LXRvcDpzb2xpZCAjRTFFMUUxDQogICAgICAgICAgICAxLjBwdDtwYWRkaW5nOjMuMHB0IDBt bSAwbW0gMG1tIj4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFu DQogICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiDQogICAgICAgICAgICAgICAgICBs YW5nPSJGUiI+RGXCoDo8L3NwYW4+PC9iPjxzcGFuDQogICAgICAgICAgICAgICAgc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z LXNlcmlmIg0KICAgICAgICAgICAgICAgIGxhbmc9IkZSIj4gPC9zcGFuPjxzcGFuDQogICAg ICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 77yt77yzIOOCtOOCt+ODg+OCryZxdW90OyI+6I2S5LqV5YWD5oiQPC9zcGFuPjxzcGFuDQpz dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7 LHNhbnMtc2VyaWYiDQogICAgICAgICAgICAgICAgbGFuZz0iRlIiPiAmbHQ7PGEgaHJlZj0i bWFpbHRvOm4yMDI5QG5kZW5zYW4uY28uanAiDQogICAgICAgICAgICAgICAgICBtb3otZG8t bm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiPm4yMDI5QG5k ZW5zYW4uY28uanA8L2E+Jmd0Ow0KICAgICAgICAgICAgICAgIDxicj4NCiAgICAgICAgICAg ICAgICA8Yj5FbnZvecOpwqA6PC9iPiBtYXJkaSAyOSBtYXJzIDIwMjIgMDY6MzU8YnI+DQog ICAgICAgICAgICAgICAgPGI+w4DCoDo8L2I+ICdEYXZpZCBHLiBKb2huc3RvbicgJmx0Ozxh DQogICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86ZGF2aWQuZy5qb2huc3RvbkBnbWFp bC5jb20iDQogICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNz PSJtb3otdHh0LWxpbmstZnJlZXRleHQiPmRhdmlkLmcuam9obnN0b25AZ21haWwuY29tPC9h PiZndDs8YnI+DQogICAgICAgICAgICAgICAgPGI+Q2PCoDo8L2I+IDxhDQogICAgICAgICAg ICAgICAgICBocmVmPSJtYWlsdG86cGdzcWwtYWRtaW5AbGlzdHMucG9zdGdyZXNxbC5vcmci DQogICAgICAgICAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3ot dHh0LWxpbmstZnJlZXRleHQiPnBnc3FsLWFkbWluQGxpc3RzLnBvc3RncmVzcWwub3JnPC9h Pjxicj4NCiAgICAgICAgICAgICAgICA8Yj5PYmpldMKgOjwvYj4gUkU6IEFib3V0IFVuaWNv ZGUgSVZTPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAg ICA8L2Rpdj4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRlIi PjxvOnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAg ICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIg bGFuZz0iRlIiPjxvOnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q777yt77yzDQogICAg ICAgICAgICDjgrTjgrfjg4Pjgq8mcXVvdDsiIGxhbmc9IkVOIj50aGFuayB5b3UgZm9yIHlv dXIgcmVwbHkuPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6 JnF1b3Q777yt77yzIOOCtOOCt+ODg+OCryZxdW90OyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OiZxdW90O++8re+8sw0KICAgICAgICAgICAg44K044K344OD44Kv JnF1b3Q7IiBsYW5nPSJFTiI+SXQgd2lsbCBiZSAyIGNoYXJhY3RlcnMuPC9zcGFuPjxzcGFu DQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q777yt77yzIOOCtOOCt+OD g+OCryZxdW90OyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAg ICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90 O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7 LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj48bzpwPsKgPC9vOnA+PC9zcGFu PjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md 44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj5zZWxlY3QN CiAgICAgICAgICAgIGNoYXJfbGVuZ3RoKFUmYW1wOydcKzAwOEZCQScgfHwgVSZhbXA7J1wr MEUwMTAyJyk7PG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQog ICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFG NDk3RCIgbGFuZz0iRU4tVVMiPmNoYXJfbGVuZ3RoPG86cD48L286cD48L3NwYW4+PC9wPg0K ICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEm cXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPi0tLS0tLS0tLS0tLS08 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDC oMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IDI8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+KDEgPC9z cGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCI+6KGMPC9zcGFu PjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7 772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29s b3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPik8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAg ICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bh bj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+c2VsZWN0 DQogICAgICAgICAgICBsZW5ndGgoJzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+6L66PC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1 b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVv dDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPvOghIInKTs8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5 p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+ bGVuZ3RoPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAg ICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3 RCIgbGFuZz0iRU4tVVMiPi0tLS0tLS0tPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAg ICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFu Zz0iRU4tVVMiPsKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJm b250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9 t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IDI8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAg IOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5n PSJFTi1VUyI+KDEgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFG NDk3RCI+6KGMPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6 JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEm cXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPik8bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9 t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+PG86 cD7CoDwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAg IOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5n PSJFTi1VUyI+c2VsZWN0DQogICAgICAgICAgICBjaGFyX2xlbmd0aCgnPC9zcGFuPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj7ovro8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0 eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9 tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1V UyI+86CEgicpOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0K ICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMx RjQ5N0QiIGxhbmc9IkVOLVVTIj5jaGFyX2xlbmd0aDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4tLS0tLS0tLS0tLS0t PG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKg wqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1 b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVv dDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiAyPG86cD48L286cD48L3Nw YW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u dC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfn uZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPigxIDwv c3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuihjDwvc3Bh bj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reOD u++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2Nv bG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4pPG86cD48L286cD48L3NwYW4+PC9wPg0KICAg ICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1 b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVv dDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPjxvOnA+wqA8L286cD48L3Nw YW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u dC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfn uZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiQgcHNx bCAtbDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gPC9zcGFuPjxzcGFu DQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCI+44OH44O844K/44OZ44O844K5 5LiA6KanPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1 b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVv dDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9y OiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafv vbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4t VVMiPiA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7l kI3liY08L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiDQogICAgICAgICAgICBs YW5nPSJFTi1VUyI+wqDCoMKgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHwgPC9zcGFuPjxzcGFuDQog ICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5omA5pyJ6ICFPC9zcGFuPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIg0KICAgICAgICAgICAgbGFuZz0iRU4tVVMiPsKgPC9z cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAg ICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdE IiBsYW5nPSJFTi1VUyI+IHwgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29s b3I6IzFGNDk3RCI+44Ko44Oz44Kz44O844OH44Kj44Oz44KwPC9zcGFuPjxzcGFuDQogICAg ICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAg ICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIg bGFuZz0iRU4tVVMiPiB8IDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9y OiMxRjQ5N0QiPueFp+WQiOmghuW6jzwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9 ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn 772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4g fCBDdHlwZSg8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij7lpInmj5vmvJTnrpflrZA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+KSB8PC9z cGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0iRU4t VVMiPsKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gPC9zcGFuPjxzcGFu DQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCI+44Ki44Kv44K744K55qip6ZmQ PC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7 772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2Vy aWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CiAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GR JnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAg ICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+RDIwOTAwNzwvc3Bhbj48c3Bh bg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKg PC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7 772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2Vy aWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiB8IEQyMDkwMDcgfA0KICAgICAgICAg ICAgVVRGODwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMi PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5 bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn7720 57mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVT Ij4gfCBDPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCIg bGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafv vbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4t VVMiPiB8IEM8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdE IiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8L3NwYW4+ PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vv vbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xv cjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAg ICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90 OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+cG9zdGdyZXM8L3NwYW4+PHNw YW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqA8 L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vv va3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJp Zjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHwgRDIwOTAwNyB8DQogICAgICAgICAg ICBVVEY4PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHls ZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTn uafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMi PiB8IEM8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBs YW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0 eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9 tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1V UyI+IHwgQzwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi IGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48 c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9 sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9y OiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gfDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAg ICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90 O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7 LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj50ZW1wbGF0ZTAgfA0KICAgICAg ICAgICAgRDIwOTAwNyB8IFVURjg8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi DQogICAgICAgICAgICBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPC9z cGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t 44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7 Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiB8IEM8L3NwYW4+PHNwYW4NCiAgICAgICAg ICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqA8 L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vv va3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJp Zjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHwgQzwvc3Bhbj48c3Bhbg0KICAgICAg ICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZv bnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn7723 57md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gfA0K ICAgICAgICAgICAgPWMvRDIwOTAwNzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCIgbGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAg ICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAg IOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5n PSJFTi1VUyI+ICs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDC oMKgwqDCoMKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250 LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5 neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHw8L3Nw YW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1V UyI+wqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZv bnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn7723 57md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gfDwv c3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVO LVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPC9zcGFuPjxzcGFuDQog ICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAg ICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3 RCIgbGFuZz0iRU4tVVMiPiB8PC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29s b3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPsKgwqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48c3Bh bg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0K ICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMx RjQ5N0QiIGxhbmc9IkVOLVVTIj4gfDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6 JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEm cXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiA8L3NwYW4+PHNwYW4N CiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqA8L3Nw YW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3j g7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtj b2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+fA0KICAgICAgICAgICAgRDIwOTAwNz1DVGMv RDIwOTAwNzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCiAgICAgICAgPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAg ICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5 N0QiIGxhbmc9IkVOLVVTIj50ZW1wbGF0ZTEgfA0KICAgICAgICAgICAgRDIwOTAwNyB8IFVU Rjg8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiDQogICAgICAgICAgICBsYW5n PSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAg ICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAg ICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFu Zz0iRU4tVVMiPiB8IEM8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJjb2xvcjoj MUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAg ICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAg ICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBs YW5nPSJFTi1VUyI+IHwgQzwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9y OiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+OD u++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNl cmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gfA0KICAgICAgICAgICAgPWMvRDIw OTAwNzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPsKg wqDCoMKgwqDCoMKgwqA8L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZh bWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neOD u+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+ICs8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDCoMKgwqA8 L3NwYW4+PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vv va3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJp Zjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHw8L3NwYW4+PHNwYW4NCiAgICAgICAg ICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+wqDCoMKgwqDCoMKgwqDC oDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O+OD u++9reODu++9sw0KICAgICAgICAgICAg57mn772057mn772357md44O744GRJnF1b3Q7LHNl cmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj4gfDwvc3Bhbj48c3Bhbg0KICAgICAg ICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0i Zm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafv vbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPiB8 PC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29sb3I6IzFGNDk3RCIgbGFuZz0i RU4tVVMiPsKgwqDCoMKgwqDCoMKgwqDCoDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5 bGU9ImZvbnQtZmFtaWx5OiZxdW90O+ODu++9reODu++9sw0KICAgICAgICAgICAg57mn7720 57mn772357md44O744GRJnF1b3Q7LHNlcmlmO2NvbG9yOiMxRjQ5N0QiIGxhbmc9IkVOLVVT Ij4gfDwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiIGxh bmc9IkVOLVVTIj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8L3NwYW4+ PHNwYW4NCiAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vv vbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xv cjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+IHwNCiAgICAgICAgICAgIEQyMDkwMDc9Q1RjL0Qy MDkwMDc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAg ICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdE IiBsYW5nPSJFTi1VUyI+KDQgPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iY29s b3I6IzFGNDk3RCI+6KGMPC9zcGFuPjxzcGFuDQogICAgICAgICAgICBzdHlsZT0iZm9udC1m YW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3j g7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPik8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAgICAgICAgIOe5p++9 tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdEIiBsYW5nPSJFTi1V UyI+PG86cD7CoDwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3jg7vvvbMNCiAgICAg ICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtjb2xvcjojMUY0OTdE IiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bhbj48L3A+DQogICAgICAgIDxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDvjg7vvva3j g7vvvbMNCiAgICAgICAgICAgIOe5p++9tOe5p++9t+e5neODu+OBkSZxdW90OyxzZXJpZjtj b2xvcjojMUY0OTdEIiBsYW5nPSJFTi1VUyI+JCBjYXQNCiAgICAgICAgICAgIHBnZGF0YS9Q R19WRVJTSU9OPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQog ICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFG NDk3RCIgbGFuZz0iRU4tVVMiPjEzPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7 772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2Vy aWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPjxvOnA+wqA8L286cD48L3NwYW4+PC9w Pg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1p bHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafvvbTnuafvvbfnuZ3jg7vj gZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4tVVMiPk1vdG8uPG86cD48 L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q744O7772t44O7772zDQogICAgICAgICAgICDnuafv vbTnuafvvbfnuZ3jg7vjgZEmcXVvdDssc2VyaWY7Y29sb3I6IzFGNDk3RCIgbGFuZz0iRU4t VVMiPjxvOnA+wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0iTXNvTm9y bWFsIj48Yj48c3Bhbg0KICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiDQogICAgICAgICAg ICAgIGxhbmc9IkVOLVVTIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4NCiAgICAgICAgICAgIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss c2Fucy1zZXJpZiINCiAgICAgICAgICAgIGxhbmc9IkVOLVVTIj4gRGF2aWQgRy4gSm9obnN0 b24gJmx0OzxhDQogICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpkYXZpZC5nLmpvaG5zdG9u QGdtYWlsLmNvbSINCiAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBjbGFz cz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0Ij5kYXZpZC5nLmpvaG5zdG9uQGdtYWlsLmNvbTwv YT4mZ3Q7DQogICAgICAgICAgICA8YnI+DQogICAgICAgICAgICA8Yj5TZW50OjwvYj4gVHVl c2RheSwgTWFyY2ggMjksIDIwMjIgMTI6MzggUE08YnI+DQogICAgICAgICAgICA8Yj5Ubzo8 L2I+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+6I2S5LqV5YWD5oiQ PC9zcGFuPjxzcGFuDQpzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiDQogICAgICAgICAgICBsYW5nPSJFTi1VUyI+ ICZsdDs8YSBocmVmPSJtYWlsdG86bjIwMjlAbmRlbnNhbi5jby5qcCINCiAgICAgICAgICAg ICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0 Ij5uMjAyOUBuZGVuc2FuLmNvLmpwPC9hPiZndDs8YnI+DQogICAgICAgICAgICA8Yj5DYzo8 L2I+IDxhDQogICAgICAgICAgICAgIGhyZWY9Im1haWx0bzpwZ3NxbC1hZG1pbkBsaXN0cy5w b3N0Z3Jlc3FsLm9yZyINCiAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBj bGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0Ij5wZ3NxbC1hZG1pbkBsaXN0cy5wb3N0Z3Jl c3FsLm9yZzwvYT48YnI+DQogICAgICAgICAgICA8Yj5TdWJqZWN0OjwvYj4gUmU6IEFib3V0 IFVuaWNvZGUgSVZTPG86cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bhbj48L3A+ DQogICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48YnI+ DQogICAgICAgICAgICA8YnI+DQogICAgICAgICAgICBPbiBNb25kYXksIE1hcmNoIDI4LCAy MDIyLCA8L3NwYW4+6I2S5LqV5YWD5oiQPHNwYW4gbGFuZz0iRU4tVVMiPg0KICAgICAgICAg ICAgJmx0OzxhIGhyZWY9Im1haWx0bzpuMjAyOUBuZGVuc2FuLmNvLmpwIg0KICAgICAgICAg ICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRl eHQiPm4yMDI5QG5kZW5zYW4uY28uanA8L2E+Jmd0Ow0KICAgICAgICAgICAgd3JvdGU6PG86 cD48L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVy Om5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQw0KICAgICAgICAgIDEuMHB0O3BhZGRp bmc6MG1tIDBtbSAwbW0NCjYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4w cHQ7bWFyZ2luLXJpZ2h0OjBtbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCiAgICAgICAgICA8 ZGl2Pg0KICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCINCiAgICAgICAgICAgICAg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj48c3Bhbg0KICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtU aW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWYiDQogICAgICAgICAgICAgICAgbGFuZz0iRU4t VVMiPkhpLDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w Pg0KICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCINCiAgICAgICAgICAgICAgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv Ij48c3Bhbg0KICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtUaW1l cyBOZXcgUm9tYW4mcXVvdDssc2VyaWYiDQogICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMi PsKgPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQog ICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIg0KICAgICAgICAgICAgICBzdHlsZT0i bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz cGFuDQogICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O8O/MmTDvzMz DQogICAgICAgICAgICAgICAgMGI0MGI3MGMzMGFmJnF1b3Q7LHNlcmlmIiBsYW5nPSJFTiI+ SW4gdGhlIExlbmd0aCAoKQ0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uLCBpdCB3aWxsIGJl IDIgY2hhcmFjdGVycyB3aGVyZSB5b3Ugd2FudCBpdCB0bw0KICAgICAgICAgICAgICAgIGJl IDEgY2hhcmFjdGVyLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw YW4+PC9wPg0KICAgICAgICAgICAgPHByZT48c3BhbiBsYW5nPSJFTiI+SXMgaXQgcG9zc2li bGUgdG8gcmVzcG9uZCBieSBjaGFuZ2luZyB0aGUgc2V0dGluZ3Mgc3VjaCBhcyBjaGFuZ2lu ZyB0aGUgY29sbGF0aW9uIHNldHRpbmcgbGlrZSBTUUwgU2VydmVyPzwvc3Bhbj48c3BhbiBs YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQogICAgICAgICAgICA8cHJl PjxzcGFuIGxhbmc9IkVOIj5BbHNvLCBpZiB5b3UgdW5kZXJzdGFuZCBob3cgdG8gZGVhbCB3 aXRoIGl0IChlZywgY3JlYXRlIHlvdXIgb3duIGZ1bmN0aW9uKSwgaXQgd291bGQgYmUgaGVs cGZ1bCBpZiB5b3UgY291bGQgcHJvdmlkZSBhcyBtdWNoIGluZm9ybWF0aW9uIGFzIHlvdSBj YW4uPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4N CiAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiDQogICAgICAgICAgICAgIHN0eWxl PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ PHNwYW4NCiAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMg TmV3IFJvbWFuJnF1b3Q7LHNlcmlmIg0KICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj7C oDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KICAg ICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAgICAgIDxkaXY+DQog ICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+ wqA8L286cD48L3NwYW4+PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdj4NCiAg ICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VHJ5IGNo YXJfbGVuZ3RoKHRleHQpDQogICAgICAgICAgICAgIGluc3RlYWQuPG86cD48L286cD48L3Nw YW4+PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICA8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD7CoDwvbzpwPjwvc3Bh bj48L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2Pg0KICAgICAgICAgIDxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5EYXZpZCBKLjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXY+DQogICAgICAgICAg PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPsKgPG86cD48L286cD48 L3NwYW4+PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvYmxvY2tx dW90ZT4NCiAgICA8cHJlIGNsYXNzPSJtb3otc2lnbmF0dXJlIiBjb2xzPSI3MiI+LS0gDQpI b2xnZXIgSmFrb2JzLCBCZXJnaXNjaCBHbGFkYmFjaCwgVGVsLiArNDktMTc4LTk3NTkwMTI8 L3ByZT4NCiAgPC9ib2R5Pg0KPC9odG1sPg0K --------------3iEvnaTynPAAoHDQtSTR8JD0-- --------------2bzvuH0TkFreAWtBLnA0L3zv-- --------------xZKWGx3oagZMNFuFRW0XE00N Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wmMEABEIACMWIQScuJCxWJK1p5BOebGKV5yTsxlhugUCYkLZKgUDAAAAAAAKCRCKV5yTsxlhuiZc AKCJcM8S8cQrZcbGcNHCcHFO0UBtsQCgiJdirclUiDs+2ZFLGTLf3JGSnkc= =x4ra -----END PGP SIGNATURE----- --------------xZKWGx3oagZMNFuFRW0XE00N-- From tgl@sss.pgh.pa.us Tue Mar 29 10:25:56 2022 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 1nZ93B-00059L-S8 for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 10:26:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ939-0005H2-CC for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 10:26:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ939-0005Gs-1g for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 10:26:07 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ934-0005AK-H8 for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 10:26:06 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 22TAPu7K1107957; Tue, 29 Mar 2022 06:25:56 -0400 From: Tom Lane To: Holger Jakobs cc: pgsql-admin@lists.postgresql.org, n2029@ndensan.co.jp Subject: Re: About Unicode IVS In-reply-to: <15e893e2-1237-27f4-58ba-5ea59499fa3d@jakobs.com> References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <006501d84350$37bae6f0$a730b4d0$@msym.fr> <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> <15e893e2-1237-27f4-58ba-5ea59499fa3d@jakobs.com> Comments: In-reply-to Holger Jakobs message dated "Tue, 29 Mar 2022 12:02:18 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1107955.1648549556.1@sss.pgh.pa.us> Date: Tue, 29 Mar 2022 06:25:56 -0400 Message-ID: <1107956.1648549556@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Holger Jakobs writes: > It's totally correct that the two characters are still two characters. > You would have to normalize the string first, so that the combination > becomes one character. Yeah. In principle the normalize() function ought to do this for you. But it doesn't seem to shorten the given example for me; I'm not sure if that means the example is incorrect, or if it's a bug in normalize(). u8=# select octet_length(U&'\+008FBA' || U&'\+0E0102'); octet_length -------------- 7 (1 row) u8=# select octet_length(normalize(U&'\+008FBA' || U&'\+0E0102')); octet_length -------------- 7 (1 row) regards, tom lane From n2029@ndensan.co.jp Tue Mar 29 11:03:45 2022 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 1nZ9dl-0007hX-3G for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 11:03:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZ9dj-0005xw-Vu for pgsql-admin@arkaria.postgresql.org; Tue, 29 Mar 2022 11:03:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZ9dj-0005qq-L1 for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 11:03:55 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by magus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZ9de-0005ZV-Fn for pgsql-admin@lists.postgresql.org; Tue, 29 Mar 2022 11:03:54 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'Tom Lane'" , "'Holger Jakobs'" Cc: References: <00e201d8431c$cb38eb40$61aac1c0$@ndensan.co.jp> <00f601d84326$5367cf00$fa376d00$@ndensan.co.jp> <006501d84350$37bae6f0$a730b4d0$@msym.fr> <012c01d84353$1f8a8d30$5e9fa790$@ndensan.co.jp> <15e893e2-1237-27f4-58ba-5ea59499fa3d@jakobs.com> <1107956.1648549556@sss.pgh.pa.us> In-Reply-To: <1107956.1648549556@sss.pgh.pa.us> Subject: RE: About Unicode IVS Date: Tue, 29 Mar 2022 20:03:45 +0900 Message-ID: <013501d8435c$a8f1c9e0$fad55da0$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 thread-index: AQHjbJJi0v014goMGofTVeHbofwGGgJNxTOuAs0qQHoDP/CCzQHZXpaPAIhlApYBPZ/8AqxgDdaw Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk thank you for your reply. In SQL Server, the variant character selector is treated as one = character with two characters. The collation order is = Japanese_XJIS_140_CS_AS_KS_WS_VSS_UTF8. Moto. -----Original Message----- From: Tom Lane =20 Sent: Tuesday, March 29, 2022 7:26 PM To: Holger Jakobs Cc: pgsql-admin@lists.postgresql.org; n2029@ndensan.co.jp Subject: Re: About Unicode IVS Holger Jakobs writes: > It's totally correct that the two characters are still two characters. > You would have to normalize the string first, so that the combination=20 > becomes one character. Yeah. In principle the normalize() function ought to do this for you. = But it doesn't seem to shorten the given example for me; I'm not sure if = that means the example is incorrect, or if it's a bug in normalize(). u8=3D# select octet_length(U&'\+008FBA' || U&'\+0E0102'); octet_length -------------- 7 (1 row) u8=3D# select octet_length(normalize(U&'\+008FBA' || U&'\+0E0102')); = octet_length -------------- 7 (1 row) regards, tom lane From n2029@ndensan.co.jp Wed Mar 30 00:06:06 2022 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 1nZLqs-0003mb-Ai for pgsql-admin@arkaria.postgresql.org; Wed, 30 Mar 2022 00:06:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nZLqp-0007Xw-VU for pgsql-admin@arkaria.postgresql.org; Wed, 30 Mar 2022 00:06:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZLqp-0007Xn-Ki for pgsql-admin@lists.postgresql.org; Wed, 30 Mar 2022 00:06:15 +0000 Received: from inet-gw.ndensan.co.jp ([192.47.64.84]) by magus.postgresql.org with smtp (Exim 4.92) (envelope-from ) id 1nZLqk-0003da-FU for pgsql-admin@lists.postgresql.org; Wed, 30 Mar 2022 00:06:14 +0000 From: =?UTF-8?B?6I2S5LqV5YWD5oiQ?= To: "'Holger Jakobs'" Cc: References: <8cbb85bf50e6354095b09548a54ec1d8@ndensan.co.jp> In-Reply-To: <8cbb85bf50e6354095b09548a54ec1d8@ndensan.co.jp> Subject: RE: Re: About Unicode IVS Date: Wed, 30 Mar 2022 09:06:06 +0900 Message-ID: <001801d843c9$f39d4f10$dad7ed30$@ndensan.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 thread-index: AQHg0FDR+HndrFh/LBHUTHyc0s3IH6zF8vdg Content-Language: ja List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Variant forms cannot be solved by normalization. Moto. -------- =E5=85=83=E3=81=AE=E3=83=A1=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8 = -------- =E4=BB=B6=E5=90=8D: Re: About Unicode IVS =E6=97=A5=E4=BB=98: 2022-03-29 19:02 =E7=99=BA=E4=BF=A1=E8=80=85: Holger Jakobs =E5=AE=9B=E5=85=88: pgsql-admin@lists.postgresql.org It's totally correct that the two characters are still two characters. You would have to normalize the string first, so that the combination = becomes one character. More information about this topic, which is in part beyond PostgreSQL: * https://stackoverflow.com/questions/7931204/what-is-normalized-utf-8-all-= about [1] * https://en.wikipedia.org/wiki/Unicode_equivalence [2] Regards, Holger Am 29.03.22 um 11:55 schrieb =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90: > thank you for your reply. >=20 > Changing the collation order and CTYPE did not change the behavior. >=20 > =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F > | Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 >=20 >=20 -----------+---------+------------------+-------------+------------------= -+--------------------- >=20 >=20 > D209007 | D209007 | UTF8 | C | C > | >=20 > postgres | D209007 | UTF8 | C | C > | >=20 > template0 | D209007 | UTF8 | C | C > | =3Dc/D209007 + >=20 > | | | | > | D209007=3DCTc/D209007 >=20 > template1 | D209007 | UTF8 | C | C > | =3Dc/D209007 + >=20 > | | | | > | D209007=3DCTc/D209007 >=20 > template2 | D209007 | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 > | >=20 > (5 =E8=A1=8C) >=20 > D209007=3D# c template2 >=20 >=20 =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9"template2"=E3=81=AB= =E3=83=A6=E3=83=BC=E3=82=B6"D209007"=E3=81=A8=E3=81=97=E3=81=A6=E6=8E=A5=E7= =B6=9A=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82 >=20 >=20 > template2=3D# select char_length(U&'+0000E6' || U&'+000300'); >=20 > char_length >=20 > ------------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > template2=3D# select char_length(U&'+008FBA' || U&'+0E0102'); >=20 > char_length >=20 > ------------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > template2=3D# select length(U&'+008FBA' || U&'+0E0102'); >=20 > length >=20 > -------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > Moto. >=20 > FROM: Michel SALAIS > SENT: Tuesday, March 29, 2022 6:35 PM > TO: '=E8=8D=92=E4=BA=95=E5=85=83=E6=88=90' ; = 'David G. Johnston' > > CC: pgsql-admin@lists.postgresql.org > SUBJECT: RE: About Unicode IVS >=20 > Hi, >=20 > I think this has something to do with collation and ctype. As I see=20 > you have it set to =E2=80=9CC=E2=80=9D for all your databases (even if = I don=E2=80=99t=20 > understand your titles =F0=9F=98=8A). >=20 > _Michel SALAIS_ >=20 > _ _ >=20 > DE : =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > ENVOY=C3=89 : mardi 29 mars 2022 06:35 > =C3=80 : 'David G. Johnston' CC :=20 > pgsql-admin@lists.postgresql.org OBJET : RE: About Unicode IVS >=20 > thank you for your reply. >=20 > It will be 2 characters. >=20 > select char_length(U&'+008FBA' || U&'+0E0102'); >=20 > char_length >=20 > ------------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > select length('=E8=BE=BA=F3=A0=84=82'); >=20 > length >=20 > -------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > select char_length('=E8=BE=BA=F3=A0=84=82'); >=20 > char_length >=20 > ------------- >=20 > 2 >=20 > (1 =E8=A1=8C) >=20 > $ psql -l >=20 > = =E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9=E4=B8=80=E8=A6=A7 >=20 > =E5=90=8D=E5=89=8D | =E6=89=80=E6=9C=89=E8=80=85 | = =E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3=E3=82=B0 = | =E7=85=A7=E5=90=88=E9=A0=86=E5=BA=8F | > Ctype(=E5=A4=89=E6=8F=9B=E6=BC=94=E7=AE=97=E5=AD=90) | = =E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9=E6=A8=A9=E9=99=90 >=20 >=20 -----------+---------+------------------+----------+-------------------+-= -------------------- >=20 >=20 > D209007 | D209007 | UTF8 | C | C > | >=20 > postgres | D209007 | UTF8 | C | C > | >=20 > template0 | D209007 | UTF8 | C | C > | =3Dc/D209007 + >=20 > | | | | > | D209007=3DCTc/D209007 >=20 > template1 | D209007 | UTF8 | C | C > | =3Dc/D209007 + >=20 > | | | | > | D209007=3DCTc/D209007 >=20 > (4 =E8=A1=8C) >=20 > $ cat pgdata/PG_VERSION >=20 > 13 >=20 > Moto. >=20 > FROM: David G. Johnston > SENT: Tuesday, March 29, 2022 12:38 PM > TO: =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 > CC: pgsql-admin@lists.postgresql.org > SUBJECT: Re: About Unicode IVS >=20 > On Monday, March 28, 2022, =E8=8D=92=E4=BA=95=E5=85=83=E6=88=90 = wrote: >=20 >> Hi, >>=20 >> In the Length () function, it will be 2 characters where you want it=20 >> to be 1 character. >>=20 >> Is it possible to respond by changing the settings such as changing=20 >> the collation setting like SQL Server? >>=20 >> Also, if you understand how to deal with it (eg, create your own=20 >> function), it would be helpful if you could provide as much=20 >> information as you can. >=20 > Try char_length(text) instead. >=20 > David J. -- Holger Jakobs, Bergisch Gladbach, Tel. +49-178-9759012 Links: ------ [1]=20 https://stackoverflow.com/questions/7931204/what-is-normalized-utf-8-all-= about [2] https://en.wikipedia.org/wiki/Unicode_equivalence