Index: stable/12/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c =================================================================== --- stable/12/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c (revision 341628) +++ stable/12/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c (revision 341629) @@ -1,211 +1,211 @@ /* $NetBSD: t_mbstowcs.c,v 1.1 2011/07/15 07:35:21 jruoho Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /*- * Copyright (c)2003 Citrus Project, * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include __COPYRIGHT("@(#) Copyright (c) 2011\ The NetBSD Foundation, inc. All rights reserved."); __RCSID("$NetBSD: t_mbstowcs.c,v 1.1 2011/07/15 07:35:21 jruoho Exp $"); #include #include #include #include #include #include #include #include #define REQUIRE_ERRNO(x, v) \ ATF_REQUIRE_MSG((x) != (v), "%s: %s", #x, strerror(errno)) #define SIZE 256 static struct test { const char *locale; const char *data; wchar_t wchars[64]; int widths[64]; int width; } tests[] = { { "en_US.UTF-8", "[\001\177][\302\200\337\277][\340\240\200\357\277\277][\360\220\200" "\200\364\217\277\277]", { 0x5B, 0x01, 0x7F, 0x5D, 0x5B, 0x80, 0x07FF, 0x5D, 0x5B, 0x0800, 0xFFFF, 0x5D, 0x5B, 0x10000, 0x10FFFF, 0x5D, 0x0A }, #ifdef __FreeBSD__ - { 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, + { 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, 1, -1, #else { 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, #endif 1, 1, -1, -1, 1, 1, -1, -1, 1, -1 }, -1 }, { "ja_JP.ISO2022-JP", "\033$B#J#I#S$G$9!#\033(Baaaa\033$B$\"$$$&$($*\033(B", { 0x4200234A, 0x42002349, 0x42002353, 0x42002447, 0x42002439, 0x42002123, 0x61, 0x61, 0x61, 0x61, 0x42002422, 0x42002424, 0x42002426, 0x42002428, 0x4200242A, 0x0A }, { 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, -1 }, 26 }, { "ja_JP.SJIS", "\202r\202i\202h\202r\202\305\202\267\201Baaaa\202\240\202\242" "\202\244\202\246\202\250", { 0x8272, 0x8269, 0x8268, 0x8272, 0x82C5, 0x82B7, 0x8142, 0x61, 0x61, 0x61, 0x61, 0x82A0, 0x82A2, 0x82A4, 0x82A6, 0x82A8, 0x0A }, { 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, -1 }, 28 }, { "ja_JP.eucJP", "\243\305\243\325\243\303\244\307\244\271\241\243aaaa\244\242\244" "\244\244\246\244\250\244\252", { 0xA3C5, 0xA3D5, 0xA3C3, 0xA4C7, 0xA4B9, 0xA1A3, 0x61, 0x61, 0x61, 0x61, 0xA4A2, 0xA4A4, 0xA4A6, 0xA4A8, 0xA4AA, 0x0A }, { 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, -1 }, 26 }, { NULL, NULL, {}, {}, 0 } }; ATF_TC(mbstowcs_basic); ATF_TC_HEAD(mbstowcs_basic, tc) { atf_tc_set_md_var(tc, "descr", "Checks wide character functions with different locales"); } ATF_TC_BODY(mbstowcs_basic, tc) { struct test *t; for (t = &tests[0]; t->data != NULL; ++t) { wchar_t wbuf[SIZE]; char buf[SIZE]; char visbuf[SIZE]; char *str; int i; ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C"); #ifdef __NetBSD__ ATF_REQUIRE(setlocale(LC_CTYPE, t->locale) != NULL); #else if (setlocale(LC_CTYPE, t->locale) == NULL) { fprintf(stderr, "Locale %s not found.\n", t->locale); continue; } #endif (void)strvis(visbuf, t->data, VIS_WHITE | VIS_OCTAL); (void)printf("Checking string: \"%s\"\n", visbuf); ATF_REQUIRE((str = setlocale(LC_ALL, NULL)) != NULL); (void)printf("Using locale: %s\n", str); REQUIRE_ERRNO((ssize_t)mbstowcs(wbuf, t->data, SIZE-1), -1); REQUIRE_ERRNO((ssize_t)wcstombs(buf, wbuf, SIZE-1), -1); if (strcmp(buf, t->data) != 0) { (void)strvis(visbuf, buf, VIS_WHITE | VIS_OCTAL); (void)printf("Conversion to wcs and back failed: " "\"%s\"\n", visbuf); atf_tc_fail("Test failed"); } /* The output here is implementation-dependent. */ for (i = 0; wbuf[i] != 0; ++i) { if (wbuf[i] == t->wchars[i] && wcwidth(wbuf[i]) == t->widths[i]) continue; (void)printf("At position %d:\n", i); (void)printf(" expected: 0x%04X (%d)\n", t->wchars[i], t->widths[i]); (void)printf(" got : 0x%04X (%d)\n", wbuf[i], wcwidth(wbuf[i])); atf_tc_fail("Test failed"); } if (wcswidth(wbuf, SIZE-1) != t->width) { (void)printf("Incorrect wcswidth:\n"); (void)printf(" expected: %d\n", t->width); (void)printf(" got : %d\n", wcswidth(wbuf, SIZE-1)); atf_tc_fail("Test failed"); } (void)printf("Ok.\n"); } } ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, mbstowcs_basic); return atf_no_error(); } Index: stable/12/share/ctypedef/C.UTF-8.src =================================================================== --- stable/12/share/ctypedef/C.UTF-8.src (revision 341628) +++ stable/12/share/ctypedef/C.UTF-8.src (revision 341629) @@ -1,6372 +1,35064 @@ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. The data is obtained from the # CLDR project, obtained from http://cldr.unicode.org/ # ----------------------------------------------------------------------------- comment_char * escape_char / LC_CTYPE - -********************************************************************** -* 0x0000 - 0x007F Basic Latin -* 0x0080 - 0x00FF Latin-1 Supplement -* 0x0100 - 0x017F Latin Extended-A -* 0x0180 - 0x024F Latin Extended-B -* 0x0250 - 0x02AF IPA Extensions -* 0x1D00 - 0x1D7F Phonetic Extensions -* 0x1D80 - 0x1DBF Phonetic Extensions Supplement -* 0x1E00 - 0x1EFF Latin Extended Additional -* 0x2150 - 0x218F Number Forms (partial - Roman Numerals) -* 0x2C60 - 0x2C7F Latin Extended-C -* 0xA720 - 0xA7FF Latin Extended-D -* 0xAB30 - 0xAB6F Latin Extended-E -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** -upper ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...; -lower ;...;;/ - ;/ +alpha ;/ ;/ - ;...;;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;...;;/ + ;...;;/ + ;...;;/ + ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + +cntrl ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;...;;/ + ;...; +digit ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + +graph ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ +

,

);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + +space ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + tolower (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (

,

);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,) - -********************************************************************** -* 0x0370 - 0x03FF Greek (No Coptic!) -* 0x1F00 - 0x1FFF Greek Extended -********************************************************************** -upper ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - -lower ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -toupper (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,) +toupper (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (

,

);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0400 - 0x04FF Cyrillic -* 0x0500 - 0x052F Cyrillic Supplementary -* 0x2DE0 - 0x2DFF Cyrillic Extended-A -* 0xA640 - 0xA69F Cyrillic Extended-B -********************************************************************** -upper ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -lower ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -alpha ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -punct ;/ - -toupper (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0530 - 0x058F Armenian -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -********************************************************************** -upper ;...;;/ - ;...; -lower ;...;;/ - ;...;;/ - ;...; -alpha -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -punct ;...;;/ - -toupper (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0590 - 0x05FF Hebrew -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -********************************************************************** -alpha ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -punct ;/ - ;/ - ;/ - ;/ - ;/ - - -********************************************************************** -* 0x0600 - 0x06FF Arabic -* 0x0750 - 0x074F Arabic Supplement -* 0x08A0 - 0x08FF Arabic Extended-A -* 0xFB50 - 0xFDFF Arabic Presentation Forms (partial) -* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (partial) -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;/ - ;/ - ;/ - ;/ - ;...;;/ - - -********************************************************************** -* 0x0900 - 0x097F Devanagari -* 0xA8E0 - 0xA8FF Devanagari Extended -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;/ - ;...;;/ - - -********************************************************************** -* 0x0900 - 0x097F Bengali -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0A00 - 0x0A7F Gurmukhi -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...; - -********************************************************************** -* 0x0A80 - 0x0AFF Gujarati -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0B00 - 0x0B7F Oriya -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0B80 - 0x0BFF Tamil -********************************************************************** -alpha ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; - -********************************************************************** -* 0x0C00 - 0x0C7F Telugu -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0C80 - 0x0CFF Kannada -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - - -********************************************************************** -* 0x0D00 - 0x0D7F Malayalam -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0D80 - 0x0DFF Sinhala -********************************************************************** -alpha ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0E00 - 0x0E7F Thai -********************************************************************** -alpha ;...;;/ - ;...;;/ - -graph ;...;;/ - ;...; -punct ;/ - ;/ - - -********************************************************************** -* 0x0E80 - 0x0EFF Lao -********************************************************************** -alpha ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; -graph ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0F00 - 0x0FFF Tibetan -********************************************************************** -alpha ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - -punct ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - - -********************************************************************** -* 0x1000 - 0x109F Myanmar -* 0xA9E0 - 0xA9FF Myanmar Extended-B -* 0xAA60 - 0xAA7F Myanmar Extended-A -********************************************************************** -alpha ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x10A0 - 0x10FF Georgia -* 0x2D00 - 0x2D2F Georgian Supplement -********************************************************************** -upper ;...;;/ - ;...;;/ - ;/ - -lower ;...;;/ - ;/ - -alpha ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -toupper (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x1100 - 0x11FF Hangul Jamo -* 0x3000 - 0x30FF CJK Symbols and Punctuation (partial) -* 0x3040 - 0x309F Hiragana -* 0x30A0 - 0x30FF Katakana -* 0x31F0 - 0x31FF Katakana Phonetic Extensions -* 0x3130 - 0x318F Hangul Compatibility Jamo (partial) -* 0x3200 - 0x32FF Enclosed CJK Letters and Months (partial) -* 0x3300 - 0x33FF CJK Compatibility -* 0x3400 - 0x4DB5 CJK Unified Ideographs Extension-A (added) -* 0x4E00 - 0x9FCC CJK Unified Ideographs (overridden) -* 0xAC00 - 0xA7A3 Hangul Syllables (partial) -* 0xD7B0 - 0xD7FF Hangul Jamo Extended-B -* 0xF900 - 0xFAFF CJK Compatibility Ideographs (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x1200 - 0x137F Ethiopic -* 0x1380 - 0x139F Ethiopic Supplement -* 0x2D80 - 0x2DDF Ethiopic Extended -* 0xAB00 - 0xAB2F Ethiopic Extended-A -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x13A0 - 0x13FF Cherokee -********************************************************************** -upper ;...;;/ - ;...; -lower ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x1780 - 0x17FF Khmer -* 0x19E0 - 0x19FF Khmer Symbols -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...;;/ - ;...; - -********************************************************************** -* 0x2D30 - 0x2D2F Tifinagh -********************************************************************** -alpha ;...;;/ - ;...;;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - -punct - -********************************************************************** -* 0xA000 - 0xA48F Yi Syllables -* 0xA490 - 0xA4CF Yi Radicals -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0xA500 - 0xA63F Vai -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x3130 - 0x318F Hangul Compatibility Jamo (partial) -* 0xA960 - 0xA97F Hangul Jamo Extended-A -* 0xAC00 - 0xA7A3 Hangul Syllables (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** - -******* REMAINING DEFINITIONS ARE MANUALLY ASSEMBLED ******* - -blank -digit ;; -punct ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -number ;...; -cntrl ;...; -graph ;...; - -punct ; -graph ; - -********************************************************************** -* Complete set of "special" characters -********************************************************************** - -special ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; - -********************************************************************** -* Supplement generated sections with "number" classification -********************************************************************** - -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x02B0 - 0x02FF Spacing Modification Letters -********************************************************************** - -graph ;...; -punct ;...;;/ - ;...;;/ - ;...;/ - -lower ;...;;/ - ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x0300 - 0x036F Combining Diacritical Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0300 - 0x0370 Coptic (Automatic section skips it) -********************************************************************** - -graph ;/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,);/ + (,) +upper ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ +

;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -upper ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -lower ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0700 - 0x074F Syriac -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0780 - 0x07BF Thaana -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x07C0 - 0x07FF Nko -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0x0800 - 0x083F Samaritan -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0840 - 0x085F Mandaic -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0x1400 - 0x167F Unified Canadian Aboriginal Syllabics -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1680 - 0x169F Ogham -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x16A0 - 0x16FF Runic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x1700 - 0x171F Tagalog -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1720 - 0x173F Hanunoo -********************************************************************** - -graph ;...; - -*********************************************************************** -* 0x1740 - 0x175F Buhid -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1760 - 0x177F Tagbanwa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1800 - 0x18AF Mongolian -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;/ - -digit ;...; - -********************************************************************** -* 0x18B0 - 0x18FF Unified CA Aboriginal Syllabics Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1900 - 0x194F Limbu -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1950 - 0x197F Tai Le -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1980 - 0x19DF New Tai Le -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1A00 - 0x1A1F Buginese -********************************************************************** - -graph ;...;;/ - ;/ - - -********************************************************************** -* 0x1A20 - 0x1AAF Tai Tham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;/ - ;...; -digit ;...;;/ - ;...; - -********************************************************************** -* 0x1AB0 - 0x1AFF Combining Diacritical Marks Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1B00 - 0x1B7F Balinese -********************************************************************** - -graph ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1B80 - 0x1BBF Sundanese -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1BC0 - 0x1BFF Batak -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1C00 - 0x1C4F Lepcha -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1C50 - 0x1C7F Ol Chiki -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1CC0 - 0x1CCF Sundanese Supplement -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1CD0 - 0x1CFF Vedic Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1DC0 - 0x1DFF Combining Diacritical Marks Supplement -********************************************************************** - -graph ;...;;/ - ;...;/ - - -********************************************************************** -* 0x2000 - 0x206F General Punctuation -********************************************************************** - -space ;...;;/ - ;...; -punct ;...;;/ - ;...; - -********************************************************************** -* 0x2070 - 0x209F Superscripts and Subscripts -********************************************************************** - -graph ;...; -digit -digit ;...; -digit ;...; -punct ;...; -punct ;...; -lower ;/ - ;/ - ;...; - -********************************************************************** -* 0x20A0 - 0x20CF Currency Symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x20D0 - 0x20FF Combining Diacritical Marks for Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x2100 - 0x214F Letterlike Symbols -********************************************************************** - -graph ;...; -punct ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - -upper ;; -lower -alpha ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -tolower (,);/ - (,);/ - (,) -toupper (,) - -********************************************************************** -* 0x2150 - 0x218F Number Forms (differential) -********************************************************************** - -number ;...;;/ - - -********************************************************************** -* 0x2190 - 0x21FF Arrows -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2200 - 0x22FF Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2300 - 0x23FF Miscellaneous Technical -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2400 - 0x243F Control Pictures -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2440 - 0x245F Optical Character Recognition -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2460 - 0x24FF Enclosed Alphanumerics -********************************************************************** - -graph ;...; -digit ;...; -digit ;...; -digit ;...; -digit -digit ;...; -digit -xdigit ;...; -xdigit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number -lower ;...; -upper ;...; -lower ;...; -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x2500 - 0x257F Box Drawing -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2580 - 0x259F Block Elements -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x25A0 - 0x25FF Geometric Shapes -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2600 - 0x26FF Miscellaneous symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2700 - 0x27BF Dingbats -********************************************************************** - -graph ;...; -digit ;...; -number -digit ;...; -number -digit ;...; -number -punct ;...;;/ - ;...; - -********************************************************************** -* 0x27C0 - 0x27EF Miscellaneous Mathematical Symbols-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x27F0 - 0x27FF Supplemental Arrows-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2800 - 0x28FF Braille Patterns -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2900 - 0x297F Supplemental Arrows-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2980 - 0x29FF Miscellaneouis Mathematical Symbols-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2A00 - 0x2AFF Supplemental Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2B00 - 0x2BFF Miscellaneous Symbols and Arrows -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; -punct ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x2C00 - 0x2C5F Glagolitic -********************************************************************** - -graph ;...;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ - ;...;/ - - -********************************************************************** -* 0x2C80 - 0x2CFF Coptic -********************************************************************** - -graph ;...;;/ - ;...; -number - -********************************************************************** -* 0x2E00 - 0x2E7F Supplemental Punctuation -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2E80 - 0x2EFF CJK Radicals Supplement -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2F00 - 0x2FDF Kangxi Radicals -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2FF0 - 0x2FFF Ideographic Description Characters -********************************************************************** - -punct ;...;/ - - -********************************************************************** -* 0x3000 - 0x30FF CJK Symbols and Punctuation -********************************************************************** - -space -graph ;...; -number ;/ - ;...;;/ - ;...; -alpha ;/ - ;/ - -punct ;...;;/ - ;...;;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x3100 - 0x312F Bopomofo -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x3190 - 0x319F Kanbun -********************************************************************** - -graph ;...;/ - -number ;...;/ - -punct ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x31A0 - 0x31BF : Bopomofo Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x31C0 - 0x31EF : CJK Strokes -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x4DC0 - 0x4DFF Yijing Hexagram Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA4D0 - 0xA4FF Lisu -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA6A0 - 0xA6FF Bamum -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0xA700 - 0xA71F Modifier Tone Letters -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xA800 - 0xA82F Syloti Nagri -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA830 - 0x083F Common Indic Number Forms -********************************************************************** - -number ;...; -graph ;...; - -********************************************************************** -* 0xA840 - 0xA87F Phags-pa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA880 - 0xA8DF Saurashra -********************************************************************** - -graph ;...;;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xA900 - 0xA92F Kayah Li -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0xA930 - 0xA95F Rejang -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0xA980 - 0xA9DF Javanese -********************************************************************** - -graph ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xAA00 - 0xAA5F Cham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0xAA80 - 0xAADF Tal Viet -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0xAAE0 - 0xAAFF Meetei Mayek Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xABC0 - 0xABFF Meetei Mayek -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0xE000 - 0xF8FF Private Use Area (from pre-CLDR data) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFB50 - 0xFDFF Arabic Presentation Forms (differential) -********************************************************************** - -punct ;/ - - -********************************************************************** -* 0xFE10 - 0xFE1F Vertical Forms -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xFE20 - 0xFE2F Combining Half Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFE30 - 0xFE4F CJK Compatibility Forms -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE50 - 0xFE6F Small Form Variants -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (differential) -********************************************************************** - -blank - -********************************************************************** -* 0xFF00 - 0xFFFF Half- and Fullwidth Punctuation (from pre-CLDR data) -********************************************************************** - -punct ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x10300 - 0x1032F Old Italic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x10330 - 0x1034F Gothic -********************************************************************** - -graph ;...; -number - -********************************************************************** -* 0x1D100 - 0x1D1FF Musical Symbols -********************************************************************** - -punct ;...;;/ - ;...;;/ - -cntrl ;...; -graph ;...; - -********************************************************************** -* 0x1D400 - 0x1D7FF Mathematical Alphanumeric Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F600 - 0x1F64F Emoticons (Emoji) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F680 - 0x1F6FF Transport and Map Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F700 - 0x1F77F Alchemical Symbols -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1F800 - 0x1F8FF Supplemental Arrows-C -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x20000 - 0x2A6D6 CJK Unified Ideographs Extension B -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2A700 - 0x2B734 CJK Unified Ideographs Extension C -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2B740 - 0x2B81D CJK Unified Ideographs Extension D -********************************************************************** - -alpha ;...; + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + END LC_CTYPE Index: stable/12/tools/tools/locale/Makefile =================================================================== --- stable/12/tools/tools/locale/Makefile (revision 341628) +++ stable/12/tools/tools/locale/Makefile (revision 341629) @@ -1,185 +1,179 @@ # $FreeBSD$ # See https://wiki.freebsd.org/LocaleNewApproach # Taken from FreeBSD svn [base]/user/edwin/locale/cldr # # needs: # devel/p5-Tie-IxHash # # Modified by John Marino to suit DragonFly needs # .OBJDIR: . .if !defined(UNIDIR) .error UNIDIR is not set .endif PASSON= UNIDIR="${UNIDIR}" ETCDIR= ${.CURDIR}/etc KNOWN= monetdef numericdef msgdef colldef ctypedef # timedef TYPES?= ${KNOWN} LOCALE_DESTDIR?= /tmp/generated-locales/ COLLATION_SPECIAL?= \ cs_CZ ISO8859-2 \ da_DK ISO8859-1 \ da_DK ISO8859-15 \ hr_HR ISO8859-2 \ hu_HU ISO8859-2 \ nb_NO ISO8859-1 \ nb_NO ISO8859-15 \ sk_SK ISO8859-2 \ sr_Latn_RS ISO8859-2 \ sr_Cyrl_RS ISO8859-5 \ zh_Hans_CN GB2312 \ zh_Hans_CN eucCN \ zh_Hant_TW Big5 \ zh_Hans_CN GB18030 \ zh_Hans_CN GBK \ ja_JP eucJP \ nn_NO ISO8859-15 \ nn_NO ISO8859-1 .for area enc in ${COLLATION_SPECIAL} COLLATIONS_SPECIAL_ENV+= ${area}.${enc} .endfor PASSON+= COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}" all: - cp ${ETCDIR}/common.UTF-8.src ${UNIDIR}/posix/xx_Comm_C.UTF-8.src .for t in ${TYPES} . if ${KNOWN:M${t}} test -d ${t} || mkdir ${t} make build-${t} . endif .endfor @echo "" @find . -name *failed .for t in ${TYPES} install: install-${t} install-${t}: . if ${KNOWN:M${t}} rm -rf ${.CURDIR}/${t}.draft rm -f ${.CURDIR}/../../../share/${t}/Makefile rm -f ${.CURDIR}/../../../share/${t}/*.src mv ${.CURDIR}/${t}/* ${.CURDIR}/../../../share/${t}/ . endif .endfor post-install: .for t in ${TYPES} . if ${KNOWN:M${t}} (cd ${.CURDIR}/../../../share/${t} && \ make && make install && make clean) . endif .endfor .for t in ${TYPES} gen-${t}: mkdir -p ${t} ${t}.draft perl -I tools tools/cldr2def.pl \ --unidir=$$(realpath ${UNIDIR}) \ --etc=$$(realpath ${ETCDIR}) \ --type=${t} build-${t}: gen-${t} env ${PASSON} tools/finalize ${t} .endfor -gen-ctypedef: transfer-rollup +gen-ctypedef: ctype-rollup static-colldef: gen-colldef build-colldef: static-colldef static-colldef: .for area enc in ${COLLATION_SPECIAL} awk -f tools/extract-colldef.awk ${UNIDIR}/posix/${area}.${enc}.src > \ colldef.draft/${area}.${enc}.src .endfor -transfer-rollup: - cp ${ETCDIR}/common.UTF-8.src ${UNIDIR}/posix/xx_Comm_C.UTF-8.src - -rollup: - perl -I tools tools/utf8-rollup.pl \ - --unidir=$$(realpath ${UNIDIR}) \ - --etc=$$(realpath ${ETCDIR}) +ctype-rollup: + perl -I tools tools/utf8-rollup.pl --unidir=$$(realpath ${UNIDIR}) clean: .for t in ${TYPES} rm -rf ${t} ${t}.draft .endfor BASE_LOCALES_OF_INTEREST?= \ af_ZA am_ET ar_AE ar_EG ar_JO ar_MA ar_QA ar_SA \ be_BY bg_BG ca_AD ca_ES ca_FR ca_IT \ cs_CZ da_DK de_AT de_CH de_DE el_GR en_AU en_CA \ en_GB en_HK en_IE en_NZ en_PH en_SG en_US en_ZA \ es_AR es_CR es_ES es_MX et_EE eu_ES fi_FI fr_BE \ fr_CA fr_CH fr_FR he_IL hi_IN hr_HR hu_HU hy_AM \ is_IS it_CH it_IT ja_JP ko_KR lt_LT lv_LV \ nb_NO nl_BE nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO \ ru_RU se_FI se_NO sk_SK sl_SI sv_FI sv_SE tr_TR \ uk_UA \ kk_KZ mn_MN sr_Cyrl_RS sr_Latn_RS \ zh_Hans_CN zh_Hant_HK zh_Hant_TW \ bn_IN gu_IN or_IN ta_IN te_IN kn_IN ml_IN si_LK \ th_TH lo_LA bo_IN my_MM pa_Guru_IN ka_GE chr_US \ km_KH shi_Tfng_MA ii_CN vai_Vaii_LR vi_VN ENCODINGS= Big5 \ CP1251 \ CP866 \ CP949 \ eucCN \ eucJP \ eucKR \ GB18030 \ GB2312 \ GBK \ ISO8859-1 \ ISO8859-13 \ ISO8859-15 \ ISO8859-2 \ ISO8859-5 \ ISO8859-7 \ ISO8859-9 \ KOI8-R \ KOI8-U \ SJIS \ US-ASCII \ UTF-8 \ POSIX: .if exists (${UNIDIR}/tools/java/cldr.jar) mkdir -p ${UNIDIR}/posix . for area in ${BASE_LOCALES_OF_INTEREST} . if !exists(${UNIDIR}/posix/${area}.UTF-8.src) java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ org.unicode.cldr.posix.GeneratePOSIX \ -d ${UNIDIR}/posix -m ${area} -c UTF-8 . endif . endfor . for area encoding in ${COLLATION_SPECIAL} . if !exists(${UNIDIR}/posix/${area}.${encoding}.src) java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ org.unicode.cldr.posix.GeneratePOSIX \ -d ${UNIDIR}/posix -m ${area} -c ${encoding} . endif . endfor . for enc in ${ENCODINGS} . if !exists(${UNIDIR}/posix/${enc}.cm) java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ org.unicode.cldr.posix.GenerateCharmap \ -d ${UNIDIR}/posix -c ${enc} . endif . endfor .else @echo "Please install CLDR toolset for the desired release" @echo "It should go at ${UNIDIR}/tools" .endif clean-POSIX: rm -f ${UNIDIR}/posix/* Index: stable/12/tools/tools/locale/etc/common.UTF-8.src =================================================================== --- stable/12/tools/tools/locale/etc/common.UTF-8.src (revision 341628) +++ stable/12/tools/tools/locale/etc/common.UTF-8.src (nonexistent) @@ -1,6372 +0,0 @@ -# Warning: Do not edit. This file is automatically generated from the -# tools in /usr/src/tools/tools/locale. The data is obtained from the -# CLDR project, obtained from http://cldr.unicode.org/ -# ----------------------------------------------------------------------------- - -comment_char * -escape_char / - -LC_CTYPE - -********************************************************************** -* 0x0000 - 0x007F Basic Latin -* 0x0080 - 0x00FF Latin-1 Supplement -* 0x0100 - 0x017F Latin Extended-A -* 0x0180 - 0x024F Latin Extended-B -* 0x0250 - 0x02AF IPA Extensions -* 0x1D00 - 0x1D7F Phonetic Extensions -* 0x1D80 - 0x1DBF Phonetic Extensions Supplement -* 0x1E00 - 0x1EFF Latin Extended Additional -* 0x2150 - 0x218F Number Forms (partial - Roman Numerals) -* 0x2C60 - 0x2C7F Latin Extended-C -* 0xA720 - 0xA7FF Latin Extended-D -* 0xAB30 - 0xAB6F Latin Extended-E -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** -upper ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...; -lower ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; -space ;...;;/ - -cntrl ;...;;/ - -graph ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - -digit ;...; -xdigit ;...;;/ - ;...;;/ - ;...; -blank ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (

,

);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (

,

);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0370 - 0x03FF Greek (No Coptic!) -* 0x1F00 - 0x1FFF Greek Extended -********************************************************************** -upper ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - -lower ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0400 - 0x04FF Cyrillic -* 0x0500 - 0x052F Cyrillic Supplementary -* 0x2DE0 - 0x2DFF Cyrillic Extended-A -* 0xA640 - 0xA69F Cyrillic Extended-B -********************************************************************** -upper ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -lower ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -alpha ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -punct ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0530 - 0x058F Armenian -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -********************************************************************** -upper ;...;;/ - ;...; -lower ;...;;/ - ;...;;/ - ;...; -alpha -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -punct ;...;;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0590 - 0x05FF Hebrew -* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial) -********************************************************************** -alpha ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...; -punct ;/ - ;/ - ;/ - ;/ - ;/ - - -********************************************************************** -* 0x0600 - 0x06FF Arabic -* 0x0750 - 0x074F Arabic Supplement -* 0x08A0 - 0x08FF Arabic Extended-A -* 0xFB50 - 0xFDFF Arabic Presentation Forms (partial) -* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (partial) -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;/ - ;/ - ;/ - ;/ - ;...;;/ - - -********************************************************************** -* 0x0900 - 0x097F Devanagari -* 0xA8E0 - 0xA8FF Devanagari Extended -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;/ - ;...;;/ - - -********************************************************************** -* 0x0900 - 0x097F Bengali -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0A00 - 0x0A7F Gurmukhi -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...; - -********************************************************************** -* 0x0A80 - 0x0AFF Gujarati -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0B00 - 0x0B7F Oriya -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0B80 - 0x0BFF Tamil -********************************************************************** -alpha ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; - -********************************************************************** -* 0x0C00 - 0x0C7F Telugu -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0C80 - 0x0CFF Kannada -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - - -********************************************************************** -* 0x0D00 - 0x0D7F Malayalam -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0D80 - 0x0DFF Sinhala -********************************************************************** -alpha ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - -graph ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; -punct - -********************************************************************** -* 0x0E00 - 0x0E7F Thai -********************************************************************** -alpha ;...;;/ - ;...;;/ - -graph ;...;;/ - ;...; -punct ;/ - ;/ - - -********************************************************************** -* 0x0E80 - 0x0EFF Lao -********************************************************************** -alpha ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; -graph ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x0F00 - 0x0FFF Tibetan -********************************************************************** -alpha ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - -punct ;...;;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - - -********************************************************************** -* 0x1000 - 0x109F Myanmar -* 0xA9E0 - 0xA9FF Myanmar Extended-B -* 0xAA60 - 0xAA7F Myanmar Extended-A -********************************************************************** -alpha ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x10A0 - 0x10FF Georgia -* 0x2D00 - 0x2D2F Georgian Supplement -********************************************************************** -upper ;...;;/ - ;...;;/ - ;/ - -lower ;...;;/ - ;/ - -alpha ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x1100 - 0x11FF Hangul Jamo -* 0x3000 - 0x30FF CJK Symbols and Punctuation (partial) -* 0x3040 - 0x309F Hiragana -* 0x30A0 - 0x30FF Katakana -* 0x31F0 - 0x31FF Katakana Phonetic Extensions -* 0x3130 - 0x318F Hangul Compatibility Jamo (partial) -* 0x3200 - 0x32FF Enclosed CJK Letters and Months (partial) -* 0x3300 - 0x33FF CJK Compatibility -* 0x3400 - 0x4DB5 CJK Unified Ideographs Extension-A (added) -* 0x4E00 - 0x9FCC CJK Unified Ideographs (overridden) -* 0xAC00 - 0xA7A3 Hangul Syllables (partial) -* 0xD7B0 - 0xD7FF Hangul Jamo Extended-B -* 0xF900 - 0xFAFF CJK Compatibility Ideographs (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x1200 - 0x137F Ethiopic -* 0x1380 - 0x139F Ethiopic Supplement -* 0x2D80 - 0x2DDF Ethiopic Extended -* 0xAB00 - 0xAB2F Ethiopic Extended-A -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x13A0 - 0x13FF Cherokee -********************************************************************** -upper ;...;;/ - ;...; -lower ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x1780 - 0x17FF Khmer -* 0x19E0 - 0x19FF Khmer Symbols -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...;;/ - ;...; - -********************************************************************** -* 0x2D30 - 0x2D2F Tifinagh -********************************************************************** -alpha ;...;;/ - ;...;;/ - -graph ;...;;/ - ;...;;/ - ;/ - ;/ - -punct - -********************************************************************** -* 0xA000 - 0xA48F Yi Syllables -* 0xA490 - 0xA4CF Yi Radicals -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0xA500 - 0xA63F Vai -********************************************************************** -alpha ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...; - -********************************************************************** -* 0x3130 - 0x318F Hangul Compatibility Jamo (partial) -* 0xA960 - 0xA97F Hangul Jamo Extended-A -* 0xAC00 - 0xA7A3 Hangul Syllables (partial) -* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial) -********************************************************************** - -******* REMAINING DEFINITIONS ARE MANUALLY ASSEMBLED ******* - -blank -digit ;; -punct ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -number ;...; -cntrl ;...; -graph ;...; - -punct ; -graph ; - -********************************************************************** -* Complete set of "special" characters -********************************************************************** - -special ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; - -********************************************************************** -* Supplement generated sections with "number" classification -********************************************************************** - -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x02B0 - 0x02FF Spacing Modification Letters -********************************************************************** - -graph ;...; -punct ;...;;/ - ;...;;/ - ;...;/ - -lower ;...;;/ - ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x0300 - 0x036F Combining Diacritical Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0300 - 0x0370 Coptic (Automatic section skips it) -********************************************************************** - -graph ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -upper ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -lower ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0700 - 0x074F Syriac -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0780 - 0x07BF Thaana -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x07C0 - 0x07FF Nko -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0x0800 - 0x083F Samaritan -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0840 - 0x085F Mandaic -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0x1400 - 0x167F Unified Canadian Aboriginal Syllabics -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1680 - 0x169F Ogham -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x16A0 - 0x16FF Runic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x1700 - 0x171F Tagalog -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1720 - 0x173F Hanunoo -********************************************************************** - -graph ;...; - -*********************************************************************** -* 0x1740 - 0x175F Buhid -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1760 - 0x177F Tagbanwa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1800 - 0x18AF Mongolian -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;/ - -digit ;...; - -********************************************************************** -* 0x18B0 - 0x18FF Unified CA Aboriginal Syllabics Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1900 - 0x194F Limbu -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1950 - 0x197F Tai Le -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1980 - 0x19DF New Tai Le -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1A00 - 0x1A1F Buginese -********************************************************************** - -graph ;...;;/ - ;/ - - -********************************************************************** -* 0x1A20 - 0x1AAF Tai Tham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;/ - ;...; -digit ;...;;/ - ;...; - -********************************************************************** -* 0x1AB0 - 0x1AFF Combining Diacritical Marks Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1B00 - 0x1B7F Balinese -********************************************************************** - -graph ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1B80 - 0x1BBF Sundanese -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1BC0 - 0x1BFF Batak -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1C00 - 0x1C4F Lepcha -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1C50 - 0x1C7F Ol Chiki -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1CC0 - 0x1CCF Sundanese Supplement -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1CD0 - 0x1CFF Vedic Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1DC0 - 0x1DFF Combining Diacritical Marks Supplement -********************************************************************** - -graph ;...;;/ - ;...;/ - - -********************************************************************** -* 0x2000 - 0x206F General Punctuation -********************************************************************** - -space ;...;;/ - ;...; -punct ;...;;/ - ;...; - -********************************************************************** -* 0x2070 - 0x209F Superscripts and Subscripts -********************************************************************** - -graph ;...; -digit -digit ;...; -digit ;...; -punct ;...; -punct ;...; -lower ;/ - ;/ - ;...; - -********************************************************************** -* 0x20A0 - 0x20CF Currency Symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x20D0 - 0x20FF Combining Diacritical Marks for Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x2100 - 0x214F Letterlike Symbols -********************************************************************** - -graph ;...; -punct ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - -upper ;; -lower -alpha ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -tolower (,);/ - (,);/ - (,) -toupper (,) - -********************************************************************** -* 0x2150 - 0x218F Number Forms (differential) -********************************************************************** - -number ;...;;/ - - -********************************************************************** -* 0x2190 - 0x21FF Arrows -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2200 - 0x22FF Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2300 - 0x23FF Miscellaneous Technical -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2400 - 0x243F Control Pictures -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2440 - 0x245F Optical Character Recognition -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2460 - 0x24FF Enclosed Alphanumerics -********************************************************************** - -graph ;...; -digit ;...; -digit ;...; -digit ;...; -digit -digit ;...; -digit -xdigit ;...; -xdigit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number -lower ;...; -upper ;...; -lower ;...; -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x2500 - 0x257F Box Drawing -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2580 - 0x259F Block Elements -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x25A0 - 0x25FF Geometric Shapes -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2600 - 0x26FF Miscellaneous symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2700 - 0x27BF Dingbats -********************************************************************** - -graph ;...; -digit ;...; -number -digit ;...; -number -digit ;...; -number -punct ;...;;/ - ;...; - -********************************************************************** -* 0x27C0 - 0x27EF Miscellaneous Mathematical Symbols-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x27F0 - 0x27FF Supplemental Arrows-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2800 - 0x28FF Braille Patterns -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2900 - 0x297F Supplemental Arrows-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2980 - 0x29FF Miscellaneouis Mathematical Symbols-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2A00 - 0x2AFF Supplemental Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2B00 - 0x2BFF Miscellaneous Symbols and Arrows -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; -punct ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x2C00 - 0x2C5F Glagolitic -********************************************************************** - -graph ;...;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x2C80 - 0x2CFF Coptic -********************************************************************** - -graph ;...;;/ - ;...; -number - -********************************************************************** -* 0x2E00 - 0x2E7F Supplemental Punctuation -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2E80 - 0x2EFF CJK Radicals Supplement -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2F00 - 0x2FDF Kangxi Radicals -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2FF0 - 0x2FFF Ideographic Description Characters -********************************************************************** - -punct ;...;/ - - -********************************************************************** -* 0x3000 - 0x30FF CJK Symbols and Punctuation -********************************************************************** - -space -graph ;...; -number ;/ - ;...;;/ - ;...; -alpha ;/ - ;/ - -punct ;...;;/ - ;...;;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x3100 - 0x312F Bopomofo -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x3190 - 0x319F Kanbun -********************************************************************** - -graph ;...;/ - -number ;...;/ - -punct ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x31A0 - 0x31BF : Bopomofo Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x31C0 - 0x31EF : CJK Strokes -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x4DC0 - 0x4DFF Yijing Hexagram Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA4D0 - 0xA4FF Lisu -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA6A0 - 0xA6FF Bamum -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0xA700 - 0xA71F Modifier Tone Letters -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xA800 - 0xA82F Syloti Nagri -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA830 - 0x083F Common Indic Number Forms -********************************************************************** - -number ;...; -graph ;...; - -********************************************************************** -* 0xA840 - 0xA87F Phags-pa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA880 - 0xA8DF Saurashra -********************************************************************** - -graph ;...;;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xA900 - 0xA92F Kayah Li -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0xA930 - 0xA95F Rejang -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0xA980 - 0xA9DF Javanese -********************************************************************** - -graph ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xAA00 - 0xAA5F Cham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0xAA80 - 0xAADF Tal Viet -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0xAAE0 - 0xAAFF Meetei Mayek Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xABC0 - 0xABFF Meetei Mayek -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0xE000 - 0xF8FF Private Use Area (from pre-CLDR data) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFB50 - 0xFDFF Arabic Presentation Forms (differential) -********************************************************************** - -punct ;/ - - -********************************************************************** -* 0xFE10 - 0xFE1F Vertical Forms -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xFE20 - 0xFE2F Combining Half Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFE30 - 0xFE4F CJK Compatibility Forms -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE50 - 0xFE6F Small Form Variants -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (differential) -********************************************************************** - -blank - -********************************************************************** -* 0xFF00 - 0xFFFF Half- and Fullwidth Punctuation (from pre-CLDR data) -********************************************************************** - -punct ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x10300 - 0x1032F Old Italic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x10330 - 0x1034F Gothic -********************************************************************** - -graph ;...; -number - -********************************************************************** -* 0x1D100 - 0x1D1FF Musical Symbols -********************************************************************** - -punct ;...;;/ - ;...;;/ - -cntrl ;...; -graph ;...; - -********************************************************************** -* 0x1D400 - 0x1D7FF Mathematical Alphanumeric Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F600 - 0x1F64F Emoticons (Emoji) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F680 - 0x1F6FF Transport and Map Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F700 - 0x1F77F Alchemical Symbols -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1F800 - 0x1F8FF Supplemental Arrows-C -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x20000 - 0x2A6D6 CJK Unified Ideographs Extension B -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2A700 - 0x2B734 CJK Unified Ideographs Extension C -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2B740 - 0x2B81D CJK Unified Ideographs Extension D -********************************************************************** - -alpha ;...; - -END LC_CTYPE Property changes on: stable/12/tools/tools/locale/etc/common.UTF-8.src ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1,4 +0,0 ## -Update locales cldr to v30.0.3 and unicode to 9.0.0 - -MFC after: 1 month -Relnotes: yes Index: stable/12/tools/tools/locale/etc/manual-input.UTF-8 =================================================================== --- stable/12/tools/tools/locale/etc/manual-input.UTF-8 (revision 341628) +++ stable/12/tools/tools/locale/etc/manual-input.UTF-8 (nonexistent) @@ -1,1006 +0,0 @@ - -******* REMAINING DEFINITIONS ARE MANUALLY ASSEMBLED ******* - -blank -digit ;; -punct ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -number ;...; -cntrl ;...; -graph ;...; - -punct ; -graph ; - -********************************************************************** -* Complete set of "special" characters -********************************************************************** - -special ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;...; - -********************************************************************** -* Supplement generated sections with "number" classification -********************************************************************** - -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -digit ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -digit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -number ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x02B0 - 0x02FF Spacing Modification Letters -********************************************************************** - -graph ;...; -punct ;...;;/ - ;...;;/ - ;...;/ - -lower ;...;;/ - ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x0300 - 0x036F Combining Diacritical Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0300 - 0x0370 Coptic (Automatic section skips it) -********************************************************************** - -graph ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -upper ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -lower ;/ - ;/ - ;/ - ;/ - ;/ - ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x0700 - 0x074F Syriac -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0780 - 0x07BF Thaana -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x07C0 - 0x07FF Nko -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0x0800 - 0x083F Samaritan -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x0840 - 0x085F Mandaic -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0x1400 - 0x167F Unified Canadian Aboriginal Syllabics -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1680 - 0x169F Ogham -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x16A0 - 0x16FF Runic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x1700 - 0x171F Tagalog -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1720 - 0x173F Hanunoo -********************************************************************** - -graph ;...; - -*********************************************************************** -* 0x1740 - 0x175F Buhid -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1760 - 0x177F Tagbanwa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1800 - 0x18AF Mongolian -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;/ - -digit ;...; - -********************************************************************** -* 0x18B0 - 0x18FF Unified CA Aboriginal Syllabics Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1900 - 0x194F Limbu -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1950 - 0x197F Tai Le -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1980 - 0x19DF New Tai Le -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0x1A00 - 0x1A1F Buginese -********************************************************************** - -graph ;...;;/ - ;/ - - -********************************************************************** -* 0x1A20 - 0x1AAF Tai Tham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;/ - ;...; -digit ;...;;/ - ;...; - -********************************************************************** -* 0x1AB0 - 0x1AFF Combining Diacritical Marks Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1B00 - 0x1B7F Balinese -********************************************************************** - -graph ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1B80 - 0x1BBF Sundanese -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1BC0 - 0x1BFF Batak -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0x1C00 - 0x1C4F Lepcha -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0x1C50 - 0x1C7F Ol Chiki -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0x1CC0 - 0x1CCF Sundanese Supplement -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1CD0 - 0x1CFF Vedic Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1DC0 - 0x1DFF Combining Diacritical Marks Supplement -********************************************************************** - -graph ;...;;/ - ;...;/ - - -********************************************************************** -* 0x2000 - 0x206F General Punctuation -********************************************************************** - -space ;...;;/ - ;...; -punct ;...;;/ - ;...; - -********************************************************************** -* 0x2070 - 0x209F Superscripts and Subscripts -********************************************************************** - -graph ;...; -digit -digit ;...; -digit ;...; -punct ;...; -punct ;...; -lower ;/ - ;/ - ;...; - -********************************************************************** -* 0x20A0 - 0x20CF Currency Symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x20D0 - 0x20FF Combining Diacritical Marks for Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x2100 - 0x214F Letterlike Symbols -********************************************************************** - -graph ;...; -punct ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - -upper ;; -lower -alpha ;/ - ;/ - ;...;;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;...;;/ - ;...; -tolower (,);/ - (,);/ - (,) -toupper (,) - -********************************************************************** -* 0x2150 - 0x218F Number Forms (differential) -********************************************************************** - -number ;...;;/ - - -********************************************************************** -* 0x2190 - 0x21FF Arrows -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2200 - 0x22FF Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2300 - 0x23FF Miscellaneous Technical -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2400 - 0x243F Control Pictures -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2440 - 0x245F Optical Character Recognition -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2460 - 0x24FF Enclosed Alphanumerics -********************************************************************** - -graph ;...; -digit ;...; -digit ;...; -digit ;...; -digit -digit ;...; -digit -xdigit ;...; -xdigit ;...; -number ;...; -number ;...; -number ;...; -number ;...; -number -lower ;...; -upper ;...; -lower ;...; -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) -tolower (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,) - -********************************************************************** -* 0x2500 - 0x257F Box Drawing -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2580 - 0x259F Block Elements -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x25A0 - 0x25FF Geometric Shapes -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2600 - 0x26FF Miscellaneous symbols -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2700 - 0x27BF Dingbats -********************************************************************** - -graph ;...; -digit ;...; -number -digit ;...; -number -digit ;...; -number -punct ;...;;/ - ;...; - -********************************************************************** -* 0x27C0 - 0x27EF Miscellaneous Mathematical Symbols-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x27F0 - 0x27FF Supplemental Arrows-A -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2800 - 0x28FF Braille Patterns -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2900 - 0x297F Supplemental Arrows-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2980 - 0x29FF Miscellaneouis Mathematical Symbols-B -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2A00 - 0x2AFF Supplemental Mathematical Operators -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2B00 - 0x2BFF Miscellaneous Symbols and Arrows -********************************************************************** - -graph ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; -punct ;...;;/ - ;...;/ - ;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x2C00 - 0x2C5F Glagolitic -********************************************************************** - -graph ;...;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x2C80 - 0x2CFF Coptic -********************************************************************** - -graph ;...;;/ - ;...; -number - -********************************************************************** -* 0x2E00 - 0x2E7F Supplemental Punctuation -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2E80 - 0x2EFF CJK Radicals Supplement -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2F00 - 0x2FDF Kangxi Radicals -********************************************************************** - -punct ;...; - -********************************************************************** -* 0x2FF0 - 0x2FFF Ideographic Description Characters -********************************************************************** - -punct ;...;/ - - -********************************************************************** -* 0x3000 - 0x30FF CJK Symbols and Punctuation -********************************************************************** - -space -graph ;...; -number ;/ - ;...;;/ - ;...; -alpha ;/ - ;/ - -punct ;...;;/ - ;...;;/ - ;...;/ - ;/ - ;...; - -********************************************************************** -* 0x3100 - 0x312F Bopomofo -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x3190 - 0x319F Kanbun -********************************************************************** - -graph ;...;/ - -number ;...;/ - -punct ;/ - ;/ - ;...;/ - - -********************************************************************** -* 0x31A0 - 0x31BF : Bopomofo Extended -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x31C0 - 0x31EF : CJK Strokes -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x4DC0 - 0x4DFF Yijing Hexagram Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA4D0 - 0xA4FF Lisu -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA6A0 - 0xA6FF Bamum -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0xA700 - 0xA71F Modifier Tone Letters -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xA800 - 0xA82F Syloti Nagri -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA830 - 0x083F Common Indic Number Forms -********************************************************************** - -number ;...; -graph ;...; - -********************************************************************** -* 0xA840 - 0xA87F Phags-pa -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xA880 - 0xA8DF Saurashra -********************************************************************** - -graph ;...;;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xA900 - 0xA92F Kayah Li -********************************************************************** - -digit ;...; -graph ;...; - -********************************************************************** -* 0xA930 - 0xA95F Rejang -********************************************************************** - -graph ;...;;/ - - -********************************************************************** -* 0xA980 - 0xA9DF Javanese -********************************************************************** - -graph ;...;;/ - ;/ - ;/ - -digit ;...; - -********************************************************************** -* 0xAA00 - 0xAA5F Cham -********************************************************************** - -graph ;...;;/ - ;...;;/ - ;...; -digit ;...; - -********************************************************************** -* 0xAA80 - 0xAADF Tal Viet -********************************************************************** - -graph ;...;;/ - ;...; - -********************************************************************** -* 0xAAE0 - 0xAAFF Meetei Mayek Extensions -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xABC0 - 0xABFF Meetei Mayek -********************************************************************** - -graph ;...; -digit ;...; - -********************************************************************** -* 0xE000 - 0xF8FF Private Use Area (from pre-CLDR data) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFB50 - 0xFDFF Arabic Presentation Forms (differential) -********************************************************************** - -punct ;/ - - -********************************************************************** -* 0xFE10 - 0xFE1F Vertical Forms -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0xFE20 - 0xFE2F Combining Half Marks -********************************************************************** - -graph ;...; - -********************************************************************** -* 0xFE30 - 0xFE4F CJK Compatibility Forms -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE50 - 0xFE6F Small Form Variants -********************************************************************** - -punct ;...; - -********************************************************************** -* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (differential) -********************************************************************** - -blank - -********************************************************************** -* 0xFF00 - 0xFFFF Half- and Fullwidth Punctuation (from pre-CLDR data) -********************************************************************** - -punct ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; - -********************************************************************** -* 0x10300 - 0x1032F Old Italic -********************************************************************** - -graph ;...; -number ;...; - -********************************************************************** -* 0x10330 - 0x1034F Gothic -********************************************************************** - -graph ;...; -number - -********************************************************************** -* 0x1D100 - 0x1D1FF Musical Symbols -********************************************************************** - -punct ;...;;/ - ;...;;/ - -cntrl ;...; -graph ;...; - -********************************************************************** -* 0x1D400 - 0x1D7FF Mathematical Alphanumeric Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F600 - 0x1F64F Emoticons (Emoji) -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F680 - 0x1F6FF Transport and Map Symbols -********************************************************************** - -graph ;...; - -********************************************************************** -* 0x1F700 - 0x1F77F Alchemical Symbols -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x1F800 - 0x1F8FF Supplemental Arrows-C -********************************************************************** - -graph ;...;/ - - -********************************************************************** -* 0x20000 - 0x2A6D6 CJK Unified Ideographs Extension B -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2A700 - 0x2B734 CJK Unified Ideographs Extension C -********************************************************************** - -alpha ;...; - -********************************************************************** -* 0x2B740 - 0x2B81D CJK Unified Ideographs Extension D -********************************************************************** - -alpha ;...; Property changes on: stable/12/tools/tools/locale/etc/manual-input.UTF-8 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: stable/12/tools/tools/locale/tools/utf8-rollup.pl =================================================================== --- stable/12/tools/tools/locale/tools/utf8-rollup.pl (revision 341628) +++ stable/12/tools/tools/locale/tools/utf8-rollup.pl (revision 341629) @@ -1,374 +1,192 @@ #!/usr/local/bin/perl -wC # $FreeBSD$ use strict; -#use File::Copy; -#use XML::Parser; -use Tie::IxHash; -#use Data::Dumper; use Getopt::Long; -#use Digest::SHA qw(sha1_hex); -#require "charmaps.pm"; - -if ($#ARGV != 1) { - print "Usage: $0 --unidir= --etc=\n"; +if ($#ARGV != 0) { + print "Usage: $0 --unidir=\n"; exit(1); } my $UNIDIR = undef; -my $ETCDIR = undef; my $result = GetOptions ( - "unidir=s" => \$UNIDIR, - "etc=s" => \$ETCDIR, + "unidir=s" => \$UNIDIR ); -my @SECTIONS = ( - ["en_US", "* 0x0000 - 0x007F Basic Latin\n" . - "* 0x0080 - 0x00FF Latin-1 Supplement\n" . - "* 0x0100 - 0x017F Latin Extended-A\n" . - "* 0x0180 - 0x024F Latin Extended-B\n" . - "* 0x0250 - 0x02AF IPA Extensions\n" . - "* 0x1D00 - 0x1D7F Phonetic Extensions\n" . - "* 0x1D80 - 0x1DBF Phonetic Extensions Supplement\n" . - "* 0x1E00 - 0x1EFF Latin Extended Additional\n" . - "* 0x2150 - 0x218F Number Forms (partial - Roman Numerals)\n". - "* 0x2C60 - 0x2C7F Latin Extended-C\n" . - "* 0xA720 - 0xA7FF Latin Extended-D\n" . - "* 0xAB30 - 0xAB6F Latin Extended-E\n" . - "* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial)\n". - "* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial)\n"], - ["el_GR", "* 0x0370 - 0x03FF Greek (No Coptic!)\n" . - "* 0x1F00 - 0x1FFF Greek Extended\n"], - ["ru_RU", "* 0x0400 - 0x04FF Cyrillic\n" . - "* 0x0500 - 0x052F Cyrillic Supplementary\n" . - "* 0x2DE0 - 0x2DFF Cyrillic Extended-A\n" . - "* 0xA640 - 0xA69F Cyrillic Extended-B\n"], - ["hy_AM", "* 0x0530 - 0x058F Armenian\n" . - "* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial)\n"], - ["he_IL", "* 0x0590 - 0x05FF Hebrew\n" . - "* 0xFB00 - 0xFF4F Alphabetic Presentation Forms (partial)\n"], - ["ar_SA", "* 0x0600 - 0x06FF Arabic\n" . - "* 0x0750 - 0x074F Arabic Supplement\n" . - "* 0x08A0 - 0x08FF Arabic Extended-A\n" . - "* 0xFB50 - 0xFDFF Arabic Presentation Forms (partial)\n" . - "* 0xFE70 - 0xFEFF Arabic Presentation Forms-B (partial)\n"], - ["hi_IN", "* 0x0900 - 0x097F Devanagari\n" . - "* 0xA8E0 - 0xA8FF Devanagari Extended\n"], - ["bn_IN", "* 0x0900 - 0x097F Bengali\n"], - ["pa_Guru_IN", "* 0x0A00 - 0x0A7F Gurmukhi\n"], - ["gu_IN", "* 0x0A80 - 0x0AFF Gujarati\n"], - ["or_IN", "* 0x0B00 - 0x0B7F Oriya\n"], - ["ta_IN", "* 0x0B80 - 0x0BFF Tamil\n"], - ["te_IN", "* 0x0C00 - 0x0C7F Telugu\n"], - ["kn_IN", "* 0x0C80 - 0x0CFF Kannada\n"], - ["ml_IN", "* 0x0D00 - 0x0D7F Malayalam\n"], - ["si_LK", "* 0x0D80 - 0x0DFF Sinhala\n"], - ["th_TH", "* 0x0E00 - 0x0E7F Thai\n"], - ["lo_LA", "* 0x0E80 - 0x0EFF Lao\n"], - ["bo_IN", "* 0x0F00 - 0x0FFF Tibetan\n"], - ["my_MM", "* 0x1000 - 0x109F Myanmar\n" . - "* 0xA9E0 - 0xA9FF Myanmar Extended-B\n" . - "* 0xAA60 - 0xAA7F Myanmar Extended-A\n"], - ["ka_GE", "* 0x10A0 - 0x10FF Georgia\n" . - "* 0x2D00 - 0x2D2F Georgian Supplement\n"], - ["ja_JP", "* 0x1100 - 0x11FF Hangul Jamo\n" . - "* 0x3000 - 0x30FF CJK Symbols and Punctuation (partial)\n" . - "* 0x3040 - 0x309F Hiragana\n" . - "* 0x30A0 - 0x30FF Katakana\n" . - "* 0x31F0 - 0x31FF Katakana Phonetic Extensions\n" . - "* 0x3130 - 0x318F Hangul Compatibility Jamo (partial)\n" . - "* 0x3200 - 0x32FF Enclosed CJK Letters and Months (partial)\n" . - "* 0x3300 - 0x33FF CJK Compatibility\n" . - "* 0x3400 - 0x4DB5 CJK Unified Ideographs Extension-A (added)\n" . - "* 0x4E00 - 0x9FCC CJK Unified Ideographs (overridden)\n" . - "* 0xAC00 - 0xA7A3 Hangul Syllables (partial)\n" . - "* 0xD7B0 - 0xD7FF Hangul Jamo Extended-B\n" . - "* 0xF900 - 0xFAFF CJK Compatibility Ideographs (partial)\n" . - "* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial)\n"], - ["am_ET", "* 0x1200 - 0x137F Ethiopic\n" . - "* 0x1380 - 0x139F Ethiopic Supplement\n" . - "* 0x2D80 - 0x2DDF Ethiopic Extended\n" . - "* 0xAB00 - 0xAB2F Ethiopic Extended-A\n"], - ["chr_US", "* 0x13A0 - 0x13FF Cherokee\n"], - ["km_KH", "* 0x1780 - 0x17FF Khmer\n" . - "* 0x19E0 - 0x19FF Khmer Symbols\n"], - ["shi_Tfng_MA", "* 0x2D30 - 0x2D2F Tifinagh\n"], - ["ii_CN", "* 0xA000 - 0xA48F Yi Syllables\n" . - "* 0xA490 - 0xA4CF Yi Radicals\n"], - ["vai_Vaii_LR", "* 0xA500 - 0xA63F Vai\n"], - ["ko_KR", "* 0x3130 - 0x318F Hangul Compatibility Jamo (partial)\n" . - "* 0xA960 - 0xA97F Hangul Jamo Extended-A\n" . - "* 0xAC00 - 0xA7A3 Hangul Syllables (partial)\n" . - "* 0xFF00 - 0xFFEF Halfwidth and Fullwidth Forms (partial)\n"], -); - -# ["zh_Hans_CN", "* 0x2E80 - 0x2EFF CJK Radicals Supplement\n" . -# "* 0x2F00 - 0x2FDF Rangxi Radicales\n" . -# "* 0x3000 - 0x30FF CJK Symbols and Punctuation (partial)\n" . -# "* 0x3200 - 0x32FF Enclosed CJK Letters and Months (partial)\n" . -# "* 0x3400 - 0x4DB5 CJK Unified Ideographs Extension A\n" . -# "* 0xF900 - 0xFAFF CJK Compatibility Ideographs (partial)\n"], - -my %seen = (); -my %pending_seen = (); my %utf8map = (); -my %utf8aliases = (); -my $outfilename = "$ETCDIR/common.UTF-8.src"; -my $manual_file = "$ETCDIR/manual-input.UTF-8"; -my $stars = "**********************************************************************\n"; +my $outfilename = "$UNIDIR/posix/xx_Comm_C.UTF-8.src"; get_utf8map("$UNIDIR/posix/UTF-8.cm"); generate_header (); -generate_sections (); +parse_unidata ("$UNIDIR/UnicodeData.txt"); generate_footer (); ############################ sub get_utf8map { my $file = shift; open(FIN, $file); my @lines = ; close(FIN); chomp(@lines); - my $prev_k = undef; - my $prev_v = ""; my $incharmap = 0; foreach my $l (@lines) { $l =~ s/\r//; next if ($l =~ /^\#/); next if ($l eq ""); if ($l eq "CHARMAP") { $incharmap = 1; next; } next if (!$incharmap); last if ($l eq "END CHARMAP"); - $l =~ /^<([^\s]+)>\s+(.*)/; - my $k = $1; - my $v = $2; - $k =~ s/_/ /g; # unicode char string - $v =~ s/\\x//g; # UTF-8 char code + $l =~ /^(<[^\s]+>)\s+(.*)/; + my $k = $2; + my $v = $1; + $k =~ s/\\x//g; # UTF-8 char code $utf8map{$k} = $v; - - $utf8aliases{$k} = $prev_k if ($prev_v eq $v); - - $prev_v = $v; - $prev_k = $k; } } sub generate_header { open(FOUT, ">", "$outfilename") or die ("can't write to $outfilename\n"); print FOUT <= 0 && $wc <= 0x10ffff) { + $lead = 0xf0; + $len = 4; } - return 0; -} -sub merge_seen { - foreach my $sn (keys %pending_seen) { - $seen{$sn} = 1; + for ($i = $len - 1; $i > 0; $i--) { + $ret = (sprintf "%02X", ($wc & 0x3f) | 0x80) . $ret; + $wc >>= 6; } - %pending_seen = (); -} + $ret = (sprintf "%02X", ($wc & 0xff) | $lead) . $ret; -sub initialize_lines { - my @result = (); - my $terr = shift; - my $n; - my $back2hex; - my @types = ("graph", "alpha"); - if ($terr eq "ja_JP") { - foreach my $T (@types) { - push @result, "$T\t;/\n"; - for ($n = hex("3401"); $n <= hex("4DB4"); $n++) { - $back2hex=sprintf("%X", $n); - push @result, "\t;/\n"; - } - push @result, "\t\n"; - push @result, "$T\t;/\n"; - for ($n = hex("4E01"); $n <= hex("9FCB"); $n++) { - $back2hex=sprintf("%X", $n); - push @result, "\t;/\n"; - } - push @result, "\t\n"; - } - push @result, "merge\tnow\n"; - } - return @result; + return $ret; } -sub compress_ctype { - my $territory = shift; - my $term; - my $active = 0; - my $cat_loaded = 0; - my $lock_ID; - my $prev_ID; - my $curr_ID; - my $lock_name; - my $prev_name; - my $curr_name; - my $key_name; - my $category = ''; +sub parse_unidata { + my $file = shift; + my %data = (); - my @lines = initialize_lines ($territory); + open(FIN, $file); + my @lines = ; + close(FIN); + chomp(@lines); - my $filename = "$UNIDIR/posix/$territory.UTF-8.src"; - if (! -f $filename) { - print STDERR "Cannot open $filename\n"; - return; - } - open(FIN, "$filename"); - print "Reading from $filename\n"; - while () { - if (/^LC_CTYPE/../^END LC_CTYPE/) { - if ($_ ne "LC_CTYPE\n" && $_ ne "END LC_CTYPE\n" && - $_ ne "*************\n" && $_ ne "\n") { - push @lines, $_; - } + foreach my $l (@lines) { + my @d = split(/;/, $l, -1); + my $mb = wctomb($d[0]); + my $cat; + + # XXX There are code points present in UnicodeData.txt + # and missing from UTF-8.cm + next if !defined $utf8map{$mb}; + + # Define the category + if ($d[2] =~ /^Lu/) { + $cat = "upper"; + } elsif ($d[2] =~ /^Ll/) { + $cat = "lower"; + } elsif ($d[2] =~ /^Nd/) { + $cat = "digit"; + } elsif ($d[2] =~ /^L/) { + $cat = "alpha"; + } elsif ($d[2] =~ /^P/) { + $cat = "punct"; + } elsif ($d[2] =~ /^M/ || $d[2] =~ /^N/ || $d[2] =~ /^S/) { + $cat = "graph"; + } elsif ($d[2] =~ /^C/) { + $cat = "cntrl"; + } elsif ($d[2] =~ /^Z/) { + $cat = "space"; } - } - close(FIN); - foreach my $line (@lines) { - if ($line =~ m/^([a-z]{3,})\t/) { - $category = $1; - if ($category eq 'merge') { - merge_seen; - next; - } - if ($category ne 'print') { - $cat_loaded = 1; - } + $data{$cat}{$mb}{'wc'} = $d[0]; + + # Check if it's a start or end of range + if ($d[1] =~ /First>$/) { + $data{$cat}{$mb}{'start'} = 1; + } elsif ($d[1] =~ /Last>$/) { + $data{$cat}{$mb}{'end'} = 1; } - next if ($category eq 'print'); - if ($category eq 'toupper' || $category eq 'tolower') { - if ($line =~ m/<([-_A-Za-z0-9]+)>,/) { - $key_name = $1; - $key_name =~ s/_/ /g; - if (already_seen_RO (hex($utf8map{$key_name}))) { - next; - } - if ($cat_loaded) { print FOUT $category; } - $cat_loaded = 0; - $line =~ s/^[a-z]{3,}\t/\t/; - print FOUT $line; - } - next; + + # Check if there's upper/lower mapping + if ($d[12] ne "") { + $data{'toupper'}{$mb} = wctomb($d[12]); + } elsif ($d[13] ne "") { + $data{'tolower'}{$mb} = wctomb($d[13]); } - if ($line =~ m/<([-_A-Za-z0-9]+)>(;.|)$/) { - $term = ($2 eq '') ? 1 : 0; - $curr_name = $1; - $key_name = $1; - $key_name =~ s/_/ /g; - $curr_ID = hex($utf8map{$key_name}); - if (already_seen ($curr_ID)) { - next; - } - if ($active) { - if ($curr_ID == $prev_ID + 1) { - $prev_ID = $curr_ID; - $prev_name = $curr_name; - } else { - if ($cat_loaded) { print FOUT $category; } - $cat_loaded = 0; - if ($prev_ID == $lock_ID) { - print FOUT "\t<" . $prev_name . ">;/\n"; - } elsif ($prev_ID - 1 == $lock_ID) { - print FOUT "\t<" . $lock_name . ">;/\n"; - print FOUT "\t<" . $prev_name . ">;/\n"; - } else { - print FOUT "\t<" . $lock_name . - ">;...;<" . $prev_name . ">;/\n"; - } - $lock_ID = $curr_ID; - $prev_ID = $curr_ID; - $lock_name = $curr_name; - $prev_name = $curr_name; - } - } else { - $active = 1; - $lock_ID = $curr_ID; - $prev_ID = $curr_ID; - $lock_name = $curr_name; - $prev_name = $curr_name; - } - if ($term) { - if ($cat_loaded) { print FOUT $category; } - $cat_loaded = 0; - if ($curr_ID == $lock_ID) { - print FOUT "\t<" . $curr_name . ">\n"; - } elsif ($curr_ID == $lock_ID + 1) { - print FOUT "\t<" . $lock_name . ">;/\n"; - print FOUT "\t<" . $curr_name . ">\n"; - } else { - print FOUT "\t<" . $lock_name . - ">;...;<" . $curr_name . ">\n"; - } - $active = 0; - } + } + + my $first; + my $inrange = 0; + + # Now write out the categories + foreach my $cat (sort keys (%data)) { + print FOUT "$cat\t"; + $first = 1; + foreach my $mb (sort keys (%{$data{$cat}})) { + if ($first == 1) { + $first = 0; + } elsif ($inrange == 1) { + # Safety belt + die "broken range end wc=$data{$cat}{$mb}{'wc'}" + if !defined $data{$cat}{$mb}{'end'}; + print FOUT ";...;"; + $inrange = 0; } else { - print FOUT $line; + print FOUT ";/\n\t"; } - } -} -sub generate_sections { - foreach my $section (@SECTIONS ) { - print FOUT "\n"; - print FOUT $stars; - print FOUT @$section[1]; - print FOUT $stars; - compress_ctype (@$section[0]); - merge_seen; + if ($cat eq "tolower" || $cat eq "toupper") { + print FOUT "($utf8map{$mb},$utf8map{$data{$cat}{$mb}})"; + } else { + if (defined($data{$cat}{$mb}{'start'})) { + $inrange = 1; + } + print FOUT "$utf8map{$mb}"; + } } - my @lines = (); - open(FIN, "$manual_file"); - print "Reading from $manual_file\n"; - while () { - push @lines, $_; - } - close(FIN); - foreach my $line (@lines) { - print FOUT $line; + print FOUT "\n"; } } Index: stable/12 =================================================================== --- stable/12 (revision 341628) +++ stable/12 (revision 341629) Property changes on: stable/12 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r340491-340492

;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;/ - ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ - ;...;;/ ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ ;/ + ;/ ;/ ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -alpha ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...; -space ;...;;/ - -cntrl ;...;;/ - -graph ;...;;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;/ - ;/ - ;...;;/ - ;/ - ;/ - ;/ - ;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...;;/ - ;...; -punct ;...;;/ - ;...;;/ - ;...;;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + +punct ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ + ;/ ;/ ;/ ;/ ;/ - ;...;;/ + ;/ + ;/ + ;/ ;/ ;/ - -digit ;...; -xdigit ;...;;/ - ;...;;/ - ;...; -blank ;/ - -toupper (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (,);/ - (