AW: German "umlaut insensitive" query
<[email protected]> Mon, 23 Sep 2019 05:57:19 +0000
| Newsgroups | gmane.comp.db.postgresql.sql |
|---|---|
| Message-ID | <242EFA74EBC4CE45AD34310EEB2145E70E49A6BB@DLDEFFMIMP03EXC.intra.dlr.de> |
------=_NextPart_000_0021_01D571E4.8587A840 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0022_01D571E4.8587A840" ------=_NextPart_001_0022_01D571E4.8587A840 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Thanks for the quick answer. I am looking forward to the new PostgresSQL = version. Thanks =20 Jakob =20 Von: Jonathan S. Katz [mailto:[email protected]]=20 Gesendet: Freitag, 20. September 2019 14:17 An: Witczak, Jakob Cc: [email protected] Betreff: Re: German "umlaut insensitive" query =20 =20 On Sep 20, 2019, at 4:36 AM, <[email protected]> = <[email protected]> wrote: =20 Hi, =20 i found an entry from 2004, where it is about the German Umlaute and i = have the same problem. <https://www.postgresql.org/message-id/4135E7F5.4070002%40stroetgen.de> = https://www.postgresql.org/message-id/4135E7F5.4070002%40stroetgen.de =20 I also found this article: = <https://dba.stackexchange.com/questions/195502/postgres-collate-example-= in-select> = https://dba.stackexchange.com/questions/195502/postgres-collate-example-i= n-select =20 Are there other possibilities today (for example COLLATE) besides = replace() to process the German Umlaute? In the long term, we also want to use it for other countries. =20 There is a feature in the upcoming PostgreSQL 12 release that allows for accent insensitive queries: =20 https://www.postgresql.org/docs/12/collation.html#COLLATION-NONDETERMINIS= TIC =20 This is part of PostgreSQL=E2=80=99s support for ICU collations. =20 Thanks, =20 Jonathan ------=_NextPart_001_0022_01D571E4.8587A840 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" = xmlns:o=3D"urn:schemas-microsoft-com:office:office" = xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" = xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta = http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta = name=3DGenerator content=3D"Microsoft Word 14 (filtered = medium)"><style><!-- /* Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} span.E-MailFormatvorlage17 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 2.0cm 70.85pt;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue = vlink=3Dpurple style=3D'word-wrap: break-word;-webkit-nbsp-mode: = space;-webkit-line-break: after-white-space'><div = class=3DWordSection1><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Thanks for the quick answer. I am looking forward to the new = PostgresSQL version. </span><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Thanks<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Jakob<o:p></o:p></span></p><p = class=3DMsoNormal><o:p> </o:p></p><div><div = style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm = 0cm 0cm'><p class=3DMsoNormal><b><span = style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span><= /b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> = Jonathan S. Katz [mailto:[email protected]] = <br><b>Gesendet:</b> Freitag, 20. September 2019 14:17<br><b>An:</b> = Witczak, Jakob<br><b>Cc:</b> [email protected]<br><b>Betreff:</b> = Re: German "umlaut insensitive" = query<o:p></o:p></span></p></div></div><p = class=3DMsoNormal><o:p> </o:p></p><p = class=3DMsoNormal><o:p> </o:p></p><div><blockquote = style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><div><p = class=3DMsoNormal>On Sep 20, 2019, at 4:36 AM, <<a = href=3D"mailto:[email protected]">[email protected]</a>> <<a = href=3D"mailto:[email protected]">[email protected]</a>> = wrote:<o:p></o:p></p></div><p = class=3DMsoNormal><o:p> </o:p></p><div><div><p = class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Hi,</span><= span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'> </spa= n><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>i found an = entry from 2004, where it is about the German Umlaute and i have the = same problem.</span><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><a = href=3D"https://www.postgresql.org/message-id/4135E7F5.4070002%40stroetge= n.de" id=3DLPlnk721696><span lang=3DEN-US = style=3D'color:purple'>https://www.postgresql.org/message-id/4135E7F5.407= 0002%40stroetgen.de</span></a><o:p></o:p></span></p></div><div><p = class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'> </spa= n><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>I also = found this article:</span><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><a = href=3D"https://dba.stackexchange.com/questions/195502/postgres-collate-e= xample-in-select" id=3DLPNoLP171326><span lang=3DEN-US = style=3D'color:purple'>https://dba.stackexchange.com/questions/195502/pos= tgres-collate-example-in-select</span></a><o:p></o:p></span></p></div><di= v><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'> </spa= n><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>Are there = other possibilities today (for example COLLATE) besides replace() to = process the German Umlaute?</span><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div><div><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'>In the = long term, we also want to use it for other countries.</span><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p>= </span></p></div></div></blockquote><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>There is a feature in the upcoming PostgreSQL 12 = release that<o:p></o:p></p></div><div><p class=3DMsoNormal>allows for = accent insensitive queries:<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal><a = href=3D"https://www.postgresql.org/docs/12/collation.html#COLLATION-NONDE= TERMINISTIC">https://www.postgresql.org/docs/12/collation.html#COLLATION-= NONDETERMINISTIC</a><o:p></o:p></p></div><p = class=3DMsoNormal><o:p> </o:p></p><div><p class=3DMsoNormal>This is = part of PostgreSQL=E2=80=99s support for ICU = collations.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Thanks,<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Jonathan<o:p></o:p></p></div></div></body></html> ------=_NextPart_001_0022_01D571E4.8587A840-- ------=_NextPart_000_0021_01D571E4.8587A840 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIaETCCA8Mw ggKroAMCAQICAQEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSswKQYDVQQKDCJULVN5 c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5c3RlbXMgVHJ1c3Qg Q2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAyMB4XDTA4MTAwMTEw NDAxNFoXDTMzMTAwMTIzNTk1OVowgYIxCzAJBgNVBAYTAkRFMSswKQYDVQQKDCJULVN5c3RlbXMg RW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5c3RlbXMgVHJ1c3QgQ2VudGVy MSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAyMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAql/aG1/oc5Hl2lz0ouZH5fNoVWAFHQKks5tZ8x6KrzSt/A3C2UgZ7mmP ySD8IaoHGe2wXKxlx1/tAnx7fC0b1rq5gMIYghaE+mawCMZUI4HkzblJP/ZPbjdIKDgPxb7naHD9 OZdN0seYkVCqxESzI305R+lSYtYSk163MZZCBft2px6j9cL86XrFbKlxT+rLeLxgr8fe9NnLvn4z pW6Ug/A0+iGr6o5yoD+k3jBb74ZNapVbQ0SoEBUc5QFXxZjx5gYokaogxbdTJlFDsgsRlVjhwA92 2cCNfIHzcnCeb/4ajtlfNcaybzR8vkhP4lo519ideJ6fhj4DXhmLRKLVxwIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUv1kgNgB5oKAia4zV8mHSuCzL gkowDQYJKoZIhvcNAQELBQADggEBADEDomELH3TocjbGbflNnvoiqOGBVs/Nu5/qq5EZOK+qfBVN 87ajjaX0jvZEqafoIZWtPgBiFojwArr8YSPmM5swems2YnutBCOEWGXi2yuK5yVTN2JTX7zaAWIp oqYnceY6In7Bbx2VcCBKBzTf6v8VgOW613rYW3V8BXopR35AqDETd81AO7RRR3ouEeNHEd6dZtCL 1VRm+oNV6nzCKYkb6W+zzuIFhMkvPniFYm7JX8F4Y3RYwEgYDJk566TMGrV5Wo0VnNgUDfZ6B1fH IoMFLTybJSY9GLOpQ3zIyKtkjw6jv5wbnTDb2tAZLqo88fszgHbkza0ZTwUnjhOhbsIwggUSMIID +qADAgECAgkA4wvV+K8l2YEwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAkRFMSswKQYDVQQK DCJULVN5c3RlbXMgRW50ZXJwcmlzZSBTZXJ2aWNlcyBHbWJIMR8wHQYDVQQLDBZULVN5c3RlbXMg VHJ1c3QgQ2VudGVyMSUwIwYDVQQDDBxULVRlbGVTZWMgR2xvYmFsUm9vdCBDbGFzcyAyMB4XDTE2 MDIyMjEzMzgyMloXDTMxMDIyMjIzNTk1OVowgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQKEzxWZXJl aW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4x EDAOBgNVBAsTB0RGTi1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtg1/9moUHN0vqHl4pzq5lN 6mc5WqFggEcVToyVsuXPztNXS43O+FZsFVV2B+pG/cgDRWM+cNSrVICxI5y+NyipCf8FXRgPxJiZ N7Mg9mZ4F4fCnQ7MSjLnFp2uDo0peQcAIFTcFV9Kltd4tjTTwXS1nem/wHdN6r1ZB+BaL2w8pQDc Nb1lDY9/Mm3yWmpLYgHurDg0WUU2SQXaeMpqbVvAgWsRzNI8qIv4cRrKO+KA3Ra0Z3qLNupOkSk9 s1FcragMvp0049ENF4N1xDkesJQLEvHVaY4l9Lg9K7/AjsMeO6W/VRCrKq4Xl14zzsjz9AkH4wKG MUZrAcUQDBHHWekCAwEAAaOCAXQwggFwMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUk+PYMiba 1fFKpZFK4OpL4qIMz+EwHwYDVR0jBBgwFoAUv1kgNgB5oKAia4zV8mHSuCzLgkowEgYDVR0TAQH/ BAgwBgEB/wIBAjAzBgNVHSAELDAqMA8GDSsGAQQBga0hgiwBAQQwDQYLKwYBBAGBrSGCLB4wCAYG Z4EMAQICMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUvcmwvVGVs ZVNlY19HbG9iYWxSb290X0NsYXNzXzIuY3JsMIGGBggrBgEFBQcBAQR6MHgwLAYIKwYBBQUHMAGG IGh0dHA6Ly9vY3NwMDMzNi50ZWxlc2VjLmRlL29jc3ByMEgGCCsGAQUFBzAChjxodHRwOi8vcGtp MDMzNi50ZWxlc2VjLmRlL2NydC9UZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jZXIwDQYJKoZI hvcNAQELBQADggEBAIcL/z4Cm2XIVi3WO5qYi3FP2ropqiH5Ri71sqQPrhE4eTizDnS6dl2e6BiC lmLbTDPo3flq3zK9LExHYFV/53RrtCyD2HlrtrdNUAtmB7Xts5et6u5/MOaZ/SLick0+hFvu+c+Z 6n/XUjkurJgARH5pO7917tALOxrN5fcPImxHhPalR6D90Bo0fa3SPXez7vTXTf/D6OWST1k+kEcQ SrCFWMBvf/iu7QhCnh7U3xQuTY+8npTD5+32GPg8SecmqKc22CzeIs2LgtjZeOJVEqM7h0S2EQvV DFKvaYwPBt/QolOLV5h7z/0HJPT8vcP9SpIClxvyt7bPZYoaorVyGTkwggWsMIIElKADAgECAgcb Y7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1 ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYD VQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5WjCBjTELMAkGA1UEBhMCREUxRTBDBgNV BAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHpl cyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9iYWwgSXNz dWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ07eRxH3h+Gy8Zp1xCeOdfZ ojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6IOhDuV+UefwRRNuu6cG1joL6WLkDh0YNM Zj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5BpBb+Q/6RAcL0D57+eGIgfn5mITQ5HjUhf ZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1UriGuXtQX1TX8izKvWKMKztFwUkP7agCwf9 TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfRCng8h0uwN89Tyjo4EPPLR22MZD08WkVK usqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQD AgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGCLAEBBDAdBgNVHQ4EFgQU azqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAUk+PYMiba1fFKpZFK4OpL4qIMz+EwgY8G A1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1j YS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwt cm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYIKwYBBQUH MAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBKBggrBgEFBQcwAoY+ aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY2FjZXJ0L2NhY2Vy dC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzIt Y2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCBeEWkTqR/DlXwCbFq PnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyosa0zCLYkhmI2THhuUPDVbmCNT1IxQ5dG dfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4nwDO/afr0X9XLchMX9wQEZc+lgQCXISo KTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KNSGMlJTx6e1du94oFOO+4oK4v9NsH1VuE GMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb+qQTkPp8ftkLYF3sv8pBoGH7EUkp2Kgt dRXYShjqFu9VNCIaE40GMIIFvjCCBKagAwIBAgIMIYNXDZ73R/EtAflTMA0GCSqGSIb3DQEBCwUA MIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERl dXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQD DBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4XDTE5MDgyNjEzMDcxMFoXDTIyMDgyNTEz MDcxMFowZTELMAkGA1UEBhMCREUxPjA8BgNVBAoMNURldXRzY2hlcyBaZW50cnVtIGZ1ZXIgTHVm dC0gdW5kIFJhdW1mYWhydCBlLlYuIChETFIpMRYwFAYDVQQDDA1KYWtvYiBXaXRjemFrMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj8LeoHD1vhyiJ5PHWr25cjs/aeyOEn7/gzS450ln tIF5DOdqnbmkX2Ux13/yheAX5Yc62zNcv4dbghRmQ6Mla64LNn8LUYo8jFlCxHp/r4ItzxElqOYL 7VYIA9b1ph1b2qJVToboqDez6X+ZUKO6CwZEH/zF4rR1y1Ni3jh0z7+DUQeLZeRgR0LAkrsu6JyB X/pZbscsCnGP+Kp5dLmvbuhKdsto7QV0NcwC+QzuoGOyX6trTewRA5NABPfwsccaD72X65jASWhb Fa9QD7l9p32XIv4tWcReVuEqlEu0iAbA3oCtl2gGPxIH/UF2RdKYe+Mi7L7OqaTdsZ2M+WO5wQID AQABo4ICQzCCAj8wPgYDVR0gBDcwNTAPBg0rBgEEAYGtIYIsAQEEMBAGDisGAQQBga0hgiwBAQQE MBAGDisGAQQBga0hgiwCAQQEMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgUgMBMGA1UdJQQMMAoG CCsGAQUFBwMEMB0GA1UdDgQWBBRYRYw6vsryz0STmlP5bfywLDp0qzAfBgNVHSMEGDAWgBRrOpiL +fJTidrgrbIyHgkf6Ko7dDAfBgNVHREEGDAWgRRKYWtvYi5XaXRjemFrQGRsci5kZTCBjQYDVR0f BIGFMIGCMD+gPaA7hjlodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHVi L2NybC9jYWNybC5jcmwwP6A9oDuGOWh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2Jh bC1nMi9wdWIvY3JsL2NhY3JsLmNybDCB2wYIKwYBBQUHAQEEgc4wgcswMwYIKwYBBQUHMAGGJ2h0 dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBJBggrBgEFBQcwAoY9aHR0cDov L2NkcDEucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBJ BggrBgEFBQcwAoY9aHR0cDovL2NkcDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9j YWNlcnQvY2FjZXJ0LmNydDANBgkqhkiG9w0BAQsFAAOCAQEAdXpgqPWXZzMqi91fj9PLuiUFjiO3 BVAAwqHA/EPLef80URe8psgRK86OAHjIPgZXrhSDdT5UJqVmExroCA1hLKAFlAEWp0OWqsbxbt89 tdArcPL62i6iHzT2AiXh5miBx8EDBIiLlI57lO0fRS15Yaua0XMi7V1QkrExHo8ahA1dpD1vb4gV 1KXIpYeHwxb5i5benVayGP7WBq7VIkNbF5/y7nL53X75zYyxcc0X9MJlzFwvr6sCJ/ynBI/pRc80 inIOP5SC9CkhLpHkVWUzwQU5g78QdIZSMudqBJY+iei6tK/eUsoKCr1gs7P7h+k2MhGmBS3FRntr G8SlN6FKPzCCBb4wggSmoAMCAQICDCGDVxO+3YXBB7eLlDANBgkqhkiG9w0BAQsFADCBjTELMAkG A1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4g Rm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UEAwwcREZOLVZl cmVpbiBHbG9iYWwgSXNzdWluZyBDQTAeFw0xOTA4MjYxMzA3MTZaFw0yMjA4MjUxMzA3MTZaMGUx CzAJBgNVBAYTAkRFMT4wPAYDVQQKDDVEZXV0c2NoZXMgWmVudHJ1bSBmdWVyIEx1ZnQtIHVuZCBS YXVtZmFocnQgZS5WLiAoRExSKTEWMBQGA1UEAwwNSmFrb2IgV2l0Y3phazCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAJi+Z3DCexGFYm9mWe/V498ilA3zzeCFjMXob5Nn5sHIHuHVy9Cu imVTA8iE1Yet0wtBXibpnX9qEV5YkvSyTOaYJ5b/pLQoU2Z6idizr0ylfZws5vHotav/BYG2z/tK rPHkBgMv0IVOcUvcFWvYPiN8waqhKzTBFG5N4RklVnJpAty/rGeSH/sncU+BnEgu+ELPGR3GzJle oPB50cvt3u5vlG38Bu4nmw/THP5duPer9aLc/hgv6WxIlP9fBEr/rulN+QaRS2W4mCOOLOsLHJmY SukD9VNCt35Gr+BCaXWuwjWsTZZZjeA1KMHYrCzmwMQKxu5yfBFFhUkQd2xG4DMCAwEAAaOCAkMw ggI/MD4GA1UdIAQ3MDUwDwYNKwYBBAGBrSGCLAEBBDAQBg4rBgEEAYGtIYIsAQEEBDAQBg4rBgEE AYGtIYIsAgEEBDAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIGwDATBgNVHSUEDDAKBggrBgEFBQcD BDAdBgNVHQ4EFgQUImN8hkISrZean3uaG082Q5PbvRQwHwYDVR0jBBgwFoAUazqYi/nyU4na4K2y Mh4JH+iqO3QwHwYDVR0RBBgwFoEUSmFrb2IuV2l0Y3pha0BkbHIuZGUwgY0GA1UdHwSBhTCBgjA/ oD2gO4Y5aHR0cDovL2NkcDEucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jcmwvY2Fj cmwuY3JsMD+gPaA7hjlodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHVi L2NybC9jYWNybC5jcmwwgdsGCCsGAQUFBwEBBIHOMIHLMDMGCCsGAQUFBzABhidodHRwOi8vb2Nz cC5wY2EuZGZuLmRlL09DU1AtU2VydmVyL09DU1AwSQYIKwYBBQUHMAKGPWh0dHA6Ly9jZHAxLnBj YS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwSQYIKwYBBQUH MAKGPWh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY2FjZXJ0L2Nh Y2VydC5jcnQwDQYJKoZIhvcNAQELBQADggEBAFokhn9VwJqv074ZcvwdyrMTd+nodJOoiZHcuq8t fwHNnX5d6osGTgKE6aa79kgDu1X3zmfDzUb2mlahb1Rk210Otx+XGjvojYAkq9sGYS1x5e9eTxqM fccDz05vXv5H4QKZfQytL77ifVZwGJYm7N6gGW/3SzzDT1hjHIq3MzO54/8Fn1pgwGFsKjgacZpF 8aC08CkiZ9gcGBMTFkDaJ4jzVYWXbguYbcjPLFORwEJWIAujqcRdQUdIZsZ0h5LvMabo4GFrK7Jh 4O7e8vgvI/tKjOKA4tTiiasZz3v1JedQECrf8W7JJb+U9O0TXNA2qYAQhnNk4m3lODQTygxmVX0x ggQ7MIIENwIBATCBnjCBjTELMAkGA1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRl cnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZO LVBLSTElMCMGA1UEAwwcREZOLVZlcmVpbiBHbG9iYWwgSXNzdWluZyBDQQIMIYNXE77dhcEHt4uU MAkGBSsOAwIaBQCgggJxMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8X DTE5MDkyMzA1NTcxOFowIwYJKoZIhvcNAQkEMRYEFJds0AtrSEJ7NAN279V+2ufRYZdXMIGrBgkq hkiG9w0BCQ8xgZ0wgZowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBFjAKBggqhkiG9w0DBzALBglg hkgBZQMEAQIwDgYIKoZIhvcNAwICAgCAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgFAMA0GCCqGSIb3 DQMCAgEoMAcGBSsOAwIaMAsGCWCGSAFlAwQCAzALBglghkgBZQMEAgIwCwYJYIZIAWUDBAIBMIGv BgkrBgEEAYI3EAQxgaEwgZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZv ZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsM B0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCGDVw2e90fx LQH5UzCBsQYLKoZIhvcNAQkQAgsxgaGggZ4wgY0xCzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJl aW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4x EDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMMHERGTi1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0EC DCGDVw2e90fxLQH5UzANBgkqhkiG9w0BAQEFAASCAQAn4gYdeBzqxN29PQLicv2MNikNUCQ6mS2r TY/021ikMnTQMP75emaIqGJHKlsXTLqfKzXkyxFmlGRiuWtmnSkStWzA1Z98uf821Lhz/7zNSO2t XzXwnXFU7kp2od9xX3zRekCadbVivqjs1srw9NY9lT6Ylvz4UOA2IPuxEHtLX0KEmrC6G6JOncfu 67ajmfr9MhlrDiKK0+TqSFFRTSeFPnAEa/2+JYJ0spya0FUzas0b+LpDPhZ5g+mKnjILrt/eTank ezdTFgoTvh7Qra1cbM0PXWDvbkUXNtBuHzhlg/AQNUu3rXyHFKju71L2l9MC44r3bdjtK1ojKmIG k/xIAAAAAAAA ------=_NextPart_000_0021_01D571E4.8587A840--