From patchwork Fri Oct 13 06:49:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carlos O'Donell X-Patchwork-Id: 825240 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-85783-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="yB5/i2bi"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yCyzW2156z9sNx for ; Fri, 13 Oct 2017 17:51:03 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type; q=dns; s=default; b=EhdFS67MfjKSr7WRHU/0pTIlYFFFS EyZZC381efBrD636zmaIBd5G47PWehSV6pqQRoRML4tW0bWrwnBIgFSrI8f8FjYu OZj16ZjJddhQGxWzHXXbHk3j5wTcAGyGQlJbz9pI6RpKtrW82ztO6xj676mrV1uX 34av+MseutJgmQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:message-id:date:mime-version :content-type; s=default; bh=EL543ROib7lOcNe0G0HMwtqSmIE=; b=yB5 /i2bip9elHxEH6nBRCoLzt3dbqStED6Eh+is3ugrARhzWjRFafyDsw40lzoBPLQ0 /3e7HTOKzLpgLfbbaStjIRri67Dw9AwpBA0mTL7W+t0zcbajuzKwaFJ1Hw5WWXWs ujdCCPDJYvPkw9FVu4b8ROHB9mz2FVZ5aOt0o0PM= Received: (qmail 108441 invoked by alias); 13 Oct 2017 06:50:34 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 107430 invoked by uid 89); 13 Oct 2017 06:50:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=downloads, reflects, uppercase, upgrades X-HELO: mail-qt0-f173.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:organization:message-id:date :user-agent:mime-version:content-language; bh=vpNDHv26SxMMitmrVnbGuZRHKXOMTPozSxs3RtQAwVQ=; b=oNyvU4KiA6oBx+1RdT4ZDeaYhYU9u5JmpVtwMbr7aMm8WveBRDhAcXyjZVCZalEBav U2FLPF+1Lz990wKQtAlXEh2lD5G1awtwaO/84pScjBY9JvLPIjPcwKb5YJ970aFJ2Ek+ OL+EPxO4z6wy6OFPO62RdyLIfyN0dZIghKLL5HabSsIaRBt73tKvrylqjyTlK4E32pn3 caYh7f/WyDnCri9ocu4qklqsFiPTReiCY1ZaVI45aiyscQQFTqFTtjpNQtX+NhgTScry sHyxBYg7cwXZdGJOUmUeUHwZeBqxEHHfzWczibmZE+gRLlTu8Mw0CLXoQjRphrOOZRdK t3lA== X-Gm-Message-State: AMCzsaVGYC8glqEGbCLww+sVVqyXEDCtiLz8JDHf6Em8HR1JdYjE4+Tr 1+503G/In9ZeEmEDcsZm1WCrMA== X-Google-Smtp-Source: ABhQp+SCly2fhGko/SHPuzn32/tv2qe3EGn2iKjgh+EhPOI398LwFh2tbz5GRPoQWOCb7druyTivqw== X-Received: by 10.237.42.97 with SMTP id k30mr629523qtf.184.1507877401392; Thu, 12 Oct 2017 23:50:01 -0700 (PDT) To: GNU C Library , Mike Fabian , Rafal Luzynski From: Carlos O'Donell Subject: [PATCH] localedata: Reorganize Unicode LC_CTYPE inclusion. Message-ID: Date: Thu, 12 Oct 2017 23:49:55 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 I'm working on a C.UTF-8 locale for upstream. One thing we need is a way to include Unicode LC_CTYPE information but *without* i18n's transliteration requirements. The patch does the following things: * Move non-transliteration Unicode generated data to i18n_ctype. * Copy the i18n_ctype data into i18n and add transliteration. In the future, any locale which needs Unicode LC_CTYPE data can also just use `copy i18n_ctype` and get the base character classes and maps without transliteration. Tested by compiling all the locales and my prototype C.UTF-8 which uses it. OK to checkin? 2017-10-12 Carlos O'Donell * localedata/unicode-gen/Makefile (GENERATED): Use i18n_ctype. (REPORTS): Likewise. (check): Likewise. (i18n): Rename to... (i18n_ctype): ...this. (i18n-report): Rename to... (i18n_ctype-report): ...this. * localedata/locales/i18n_ctype: Regenerate. * localedata/locales/i18n: copy i18n_ctype. Reviewed-by: Carlos O'Donell diff --git a/localedata/locales/i18n b/localedata/locales/i18n index ed53e29..431bfa1 100644 --- a/localedata/locales/i18n +++ b/localedata/locales/i18n @@ -35,2303 +35,8 @@ category "i18n:2012";LC_TELEPHONE END LC_IDENTIFICATION LC_CTYPE -% The following is the 14652 i18n fdcc-set LC_CTYPE category. -% It covers Unicode version 10.0.0. -% The character classes and mapping tables were automatically -% generated using the gen_unicode_ctype.py program. -% The "upper" class reflects the uppercase characters of class "alpha" -upper / - ..;..;..;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;..;;;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;;..;;;/ - ..;..;;..;;/ - ..;..;..;;;/ - ;;;;;;;;;/ - ;;;;;;..;;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;..;..;/ - ;..;;;;;;;/ - ;;;..;;..;/ - ..;..;;..;;/ - ;;;;;;;;;/ - ;;;;..;..;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;..;..;;;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ..;..;..;..;/ - ..;;;;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;..;;/ - ..;;;;..;/ - ..;..;;..;;/ - ..;..;;..;;/ - ;;..;;;..;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;..;;;;;/ - ;;;;;;;;;/ - ;;;;;..;/ - ..;;..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;.. - -% The "lower" class reflects the lowercase characters of class "alpha" -lower / - ..;;;;..;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;..;;;;;;/ - ;;..;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;..;;;;/ - ..;;;..;;;/ - ;;;..;;;;;/ - ..;..;..;..;/ - ..;;;;;;;;/ - ..;;;;;;;;/ - ;..;..;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ..;;..;;;;/ - ;;..;..;..;/ - ..;;;;;..;/ - ;..;..;..;;/ - ;;;;;;;;;/ - ;..;;;..;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;..;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;..;..;/ - ..;..;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;..;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;;..;;;;/ - ;..;..;;..;/ - ;..;..;;..;/ - ;;;;..;..;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;..;;;;/ - ..;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;..;;;;/ - ;;;..;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;/ - ..;;;;;;;;/ - ;;;..;;;;;/ - ;;;;;;;;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - .. - -% The "alpha" class of the "i18n" FDCC-set is reflecting -% the recommendations in TR 10176 annex A -alpha / - ..;..;;;;/ - ..;..;..;..;/ - ..;;;;..;/ - ..;..;;;..;/ - ;..;..;..;/ - ..;..;;..;/ - ..;;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;;;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;;..;/ - ..;..;..;..;/ - ;..;..;;..;/ - ;;..;..;..;/ - ;;..;..;..;/ - ..;;;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;;..;..;/ - ..;;;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;;;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;;;..;;/ - ..;;;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;;..;/ - ..;;;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;;;/ - ..;..;;/ - ;;;;;/ - ..;..;;/ - ;;;;;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - .. - -% The "digit" class must only contain the BASIC LATIN digits, says ISO C 99 -% (sections 7.25.2.1.5 and 5.2.1). -digit / - .. - -% The "outdigit" information is by default "0" to "9". We don't have to -% provide it here since localedef will fill in the bits and it would -% prevent locales copying this file define their own values. -% outdigit / -% .. - -space / - ..;;;..;..;/ - ..;; - -cntrl / - ..;..;.. - -punct / - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;..;..;/ - ;..;..;;;/ - ..;;;..;..;/ - ..;..;..;;;/ - ;;..;..;..;/ - ..;;..;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ;..;..;;..;/ - ..;;;..;..;/ - ;;;..;;;;;/ - ;..;..;;;;/ - ..;;..;;..;/ - ;;..;;;..;/ - ..;;;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;..;;..;;/ - ..;..;;..;;/ - ..;..;..;;;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;;/ - ;;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;;;..;..;/ - ..;;..;..;/ - ..;;..;;;;/ - ..;..;;..;/ - ..;..;;;..;/ - ..;;;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;;/ - ;;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ;;..;/ - ..;;;/ - ..;;;/ - ..;;..;/ - ;..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;;;;;;/ - ;;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;;..;/ - ..;..;/ - .. - -graph / - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;;..;/ - ;..;..;..;/ - ..;..;..;;/ - ..;;;..;..;/ - ..;;;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ;;;;;;/ - ..;..;;/ - ;;;;;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;.. - -print / - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;;..;/ - ;..;..;..;/ - ..;..;..;;/ - ..;;;..;..;/ - ..;;;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ;;;;;;/ - ..;..;;/ - ;;;;;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;.. - -% The "xdigit" class must only contain the BASIC LATIN digits and A-F, a-f, -% says ISO C 99 (sections 7.25.2.1.12 and 6.4.4.1). -xdigit / - ..;..;.. - -blank / - ;;;..;..;;/ - - -toupper / - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,) - -tolower / - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,) - -map "totitle"; / - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,) - -% The "combining" class reflects ISO/IEC 10646-1 annex B.1 -% That is, all combining characters (level 2+3). -class "combining"; / - ..;..;..;;/ - ..;..;;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;;..;/ - ..;;..;..;/ - ..;;..;;..;/ - ;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;;..;/ - ;..;..;;..;/ - ..;;..;..;/ - ..;..;;;;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;..;..;;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;;..;;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;;;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;.. - -% The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2 -% That is, combining characters of level 3. -class "combining_level3"; / - ..;;..;..;;/ - ..;;..;..;;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;;..;..;;/ - ..;..;..;;/ - ..;;..;;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;;..;;..;/ - ..;;..;..;;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ;..;..;;..;/ - ..;..;..;..;/ - ;..;..;;;;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;;..;..;/ - ..;..;..;..;/ - ;..;..;/ - ..;;;;;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;;/ - ;..;..;/ - ;.. +copy "i18n_ctype" translit_start diff --git a/localedata/locales/i18n_ctype b/localedata/locales/i18n_ctype new file mode 100644 index 0000000..52397ee --- /dev/null +++ b/localedata/locales/i18n_ctype @@ -0,0 +1,2343 @@ +escape_char / +comment_char % + +% This file is part of the GNU C Library and contains locale data. +% The Free Software Foundation does not claim any copyright interest +% in the locale data contained in this file. The foregoing does not +% affect the license of the GNU C Library as a whole. It does not +% exempt you from the conditions of the license if your use would +% otherwise be governed by that license. + +% +% The only purpose for this file is to provide the basic Unicode +% LC_CTYPE information. This way other locales that need this +% information, but with different transliterations, can include it +% directly. +% + +LC_IDENTIFICATION +title "" +source "" +address "" +contact "" +email "" +tel "" +fax "" +language "" +territory "" +revision "" +date "2017-10-11" + +category "i18n:2012";LC_IDENTIFICATION +category "i18n:2012";LC_CTYPE +category "i18n:2012";LC_COLLATE +category "i18n:2012";LC_TIME +category "i18n:2012";LC_NUMERIC +category "i18n:2012";LC_MONETARY +category "i18n:2012";LC_MESSAGES +category "i18n:2012";LC_PAPER +category "i18n:2012";LC_NAME +category "i18n:2012";LC_ADDRESS +category "i18n:2012";LC_TELEPHONE +END LC_IDENTIFICATION + +LC_CTYPE +% The following is the 14652 i18n fdcc-set LC_CTYPE category. +% It covers Unicode version 10.0.0. +% The character classes and mapping tables were automatically +% generated using the gen_unicode_ctype.py program. + +% The "upper" class reflects the uppercase characters of class "alpha" +upper / + ..;..;..;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;;;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;;..;;;/ + ..;..;;..;;/ + ..;..;..;;;/ + ;;;;;;;;;/ + ;;;;;;..;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;..;/ + ;..;;;;;;;/ + ;;;..;;..;/ + ..;..;;..;;/ + ;;;;;;;;;/ + ;;;;..;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;..;;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ..;..;..;..;/ + ..;;;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;..;..;;/ + ..;;;;..;/ + ..;..;;..;;/ + ..;..;;..;;/ + ;;..;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;;;;;/ + ;;;;;;;;;/ + ;;;;;..;/ + ..;;..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;.. + +% The "lower" class reflects the lowercase characters of class "alpha" +lower / + ..;;;;..;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;;;;;;/ + ;;..;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;;;;/ + ..;;;..;;;/ + ;;;..;;;;;/ + ..;..;..;..;/ + ..;;;;;;;;/ + ..;;;;;;;;/ + ;..;..;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ..;;..;;;;/ + ;;..;..;..;/ + ..;;;;;..;/ + ;..;..;..;;/ + ;;;;;;;;;/ + ;..;;;..;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;..;/ + ..;..;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;;..;;;;/ + ;..;..;;..;/ + ;..;..;;..;/ + ;;;;..;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;;;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;;;;/ + ;;;..;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;/ + ..;;;;;;;;/ + ;;;..;;;;;/ + ;;;;;;;;/ + ..;..;..;..;/ + ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + .. + +% The "alpha" class of the "i18n" FDCC-set is reflecting +% the recommendations in TR 10176 annex A +alpha / + ..;..;;;;/ + ..;..;..;..;/ + ..;;;;..;/ + ..;..;;;..;/ + ;..;..;..;/ + ..;..;;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;;;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;;..;/ + ..;..;..;..;/ + ;..;..;;..;/ + ;;..;..;..;/ + ;;..;..;..;/ + ..;;;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;;..;..;/ + ..;;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;;;..;;/ + ..;;;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;;..;/ + ..;;;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;;/ + ..;..;;/ + ;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + .. + +% The "digit" class must only contain the BASIC LATIN digits, says ISO C 99 +% (sections 7.25.2.1.5 and 5.2.1). +digit / + .. + +% The "outdigit" information is by default "0" to "9". We don't have to +% provide it here since localedef will fill in the bits and it would +% prevent locales copying this file define their own values. +% outdigit / +% .. + +space / + ..;;;..;..;/ + ..;; + +cntrl / + ..;..;.. + +punct / + ..;..;..;..;/ + ..;..;..;..;/ + ;;..;..;..;/ + ;..;..;;;/ + ..;;;..;..;/ + ..;..;..;;;/ + ;;..;..;..;/ + ..;;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ;..;..;;..;/ + ..;;;..;..;/ + ;;;..;;;;;/ + ;..;..;;;;/ + ..;;..;;..;/ + ;;..;;;..;/ + ..;;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;..;;..;;/ + ..;..;;..;;/ + ..;..;..;;;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;;..;..;/ + ..;;..;..;/ + ..;;..;;;;/ + ..;..;;..;/ + ..;..;;;..;/ + ..;;;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;;/ + ;;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ;;..;/ + ..;;;/ + ..;;;/ + ..;;..;/ + ;..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;;;;;;/ + ;;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;;..;/ + ..;..;/ + .. + +graph / + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;;..;/ + ;..;..;..;/ + ..;..;..;;/ + ..;;;..;..;/ + ..;;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ;;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;.. + +print / + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;;..;/ + ;..;..;..;/ + ..;..;..;;/ + ..;;;..;..;/ + ..;;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ;;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;.. + +% The "xdigit" class must only contain the BASIC LATIN digits and A-F, a-f, +% says ISO C 99 (sections 7.25.2.1.12 and 6.4.4.1). +xdigit / + ..;..;.. + +blank / + ;;;..;..;;/ + + +toupper / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,) + +tolower / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,) + +map "totitle"; / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,) + +% The "combining" class reflects ISO/IEC 10646-1 annex B.1 +% That is, all combining characters (level 2+3). +class "combining"; / + ..;..;..;;/ + ..;..;;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;;..;/ + ..;;..;..;/ + ..;;..;;..;/ + ;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;;..;/ + ;..;..;;..;/ + ..;;..;..;/ + ..;..;;;;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;;..;;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;;;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;.. + +% The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2 +% That is, combining characters of level 3. +class "combining_level3"; / + ..;;..;..;;/ + ..;;..;..;;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;;..;..;;/ + ..;..;..;;/ + ..;;..;;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;;..;;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ;..;..;;..;/ + ..;..;..;..;/ + ;..;..;;;;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;;..;..;/ + ..;..;..;..;/ + ;..;..;/ + ..;;;;;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ;.. + +END LC_CTYPE diff --git a/localedata/unicode-gen/Makefile b/localedata/unicode-gen/Makefile index 4564670..32f4a53 100644 --- a/localedata/unicode-gen/Makefile +++ b/localedata/unicode-gen/Makefile @@ -20,7 +20,7 @@ # This Makefile is NOT used as part of the GNU libc build. It needs # to be run manually, within the source tree, at Unicode upgrades -# (change UNICODE_VERSION below), to update ../locales/i18n ctype +# (change UNICODE_VERSION below), to update ../locales/i18n_ctype ctype # information (part of the file is preserved, so don't wipe it all # out), and ../charmaps/UTF-8. @@ -41,15 +41,15 @@ PYTHON3 = python3 WGET = wget DOWNLOADS = UnicodeData.txt DerivedCoreProperties.txt EastAsianWidth.txt PropList.txt -GENERATED = i18n tr_TR UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction -REPORTS = i18n-report UTF-8-report +GENERATED = i18n_ctype tr_TR UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction +REPORTS = i18n_ctype-report UTF-8-report all: $(GENERATED) -check: check-i18n check-UTF-8 +check: check-i18n_ctype check-UTF-8 install: - cp -p i18n ../locales/i18n + cp -p i18n_ctype ../locales/i18n_ctype cp -p tr_TR ../locales/tr_TR cp -p UTF-8 ../charmaps/UTF-8 cp -p translit_combining ../locales/translit_combining @@ -66,17 +66,17 @@ mostlyclean: .PHONY: all check clean mostlyclean install -i18n: UnicodeData.txt DerivedCoreProperties.txt -i18n: ../locales/i18n # Preserve non-ctype information. -i18n: gen_unicode_ctype.py +i18n_ctype: UnicodeData.txt DerivedCoreProperties.txt +i18n_ctype: ../locales/i18n_ctype # Preserve non-ctype information. +i18n_ctype: gen_unicode_ctype.py $(PYTHON3) gen_unicode_ctype.py -u UnicodeData.txt \ - -d DerivedCoreProperties.txt -i ../locales/i18n -o $@ \ + -d DerivedCoreProperties.txt -i ../locales/i18n_ctype -o $@ \ --unicode_version $(UNICODE_VERSION) -i18n-report: i18n ../locales/i18n -i18n-report: ctype_compatibility.py ctype_compatibility_test_cases.py - $(PYTHON3) ./ctype_compatibility.py -o ../locales/i18n \ - -n i18n -a -m > $@ +i18n_ctype-report: i18n_ctype ../locales/i18n_ctype +i18n_ctype-report: ctype_compatibility.py ctype_compatibility_test_cases.py + $(PYTHON3) ./ctype_compatibility.py -o ../locales/i18n_ctype \ + -n i18n_ctype -a -m > $@ check-i18n: i18n-report @if grep '\(Missing\|Added\) [^0]\|^Number of errors[^=]* = [^0]' \