packages feed

unicode-data-security 0.4.0 → 0.5.0

raw patch · 10 files changed

+275/−218 lines, 10 filesdep ~basedep ~tasty-benchdep ~unicode-data

Dependency ranges changed: base, tasty-bench, unicode-data

Files

Changelog.md view
@@ -1,20 +1,24 @@ # Changelog +## 0.5.0 (September 2025)++- Updated to [Unicode 16.0.0](https://www.unicode.org/versions/Unicode16.0.0/).+ ## 0.4.0 (July 2024) -- Update to [Unicode 15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).+- Updated to [Unicode 15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).  ## 0.3.0 (July 2024)  - Changed the type of `confusablePrototype` and `intentionalConfusables` from   `Char -> Maybe String` to `Char -> String`.-- Add `unicodeVersion` to `Unicode.Char.Identifiers.Security`.-- Fix the inlining of `Addr#` literals and reduce their size. This results in+- Added `unicodeVersion` to `Unicode.Char.Identifiers.Security`.+- Fixed the inlining of `Addr#` literals and reduce their size. This results in   a sensible decrease of the executable size.  ## 0.2.0 (September 2022) -- Update to [Unicode 15.0.0](https://www.unicode.org/versions/Unicode15.0.0/).+- Updated to [Unicode 15.0.0](https://www.unicode.org/versions/Unicode15.0.0/).  ## 0.1.0 (September 2022) 
README.md view
@@ -7,7 +7,7 @@ The Haskell data structures are generated programmatically from the Unicode character database (UCD) files. The latest Unicode version supported by this library is-[`15.1.0`](https://www.unicode.org/versions/Unicode15.1.0/).+[`16.0.0`](https://www.unicode.org/versions/Unicode16.0.0/).  Please see the [Haddock documentation](https://hackage.haskell.org/package/unicode-data-security)
bench/Main.hs view
@@ -22,16 +22,16 @@             [ benchNF "isAllowedInIdentifier" Security.isAllowedInIdentifier             ]         , bgroup "Identifier Types"-            [ benchNF "identifierTypes"     (fmap fromEnum . Security.identifierTypes)+            [ benchNF "identifierTypes" (fmap fromEnum . Security.identifierTypes)             ]         , bgroup "Confusables"             [ bgroup' "confusablePrototype"-                [ Bench "CString" (\c -> Ptr (Confusables.confusablePrototype c))+                [ Bench "CString" confusablePrototype                 , Bench "String"  Security.confusablePrototype                 ]             -- , benchNF "prototype" Security.prototype             , bgroup' "intentionalConfusables"-                [ Bench "CString" (\c -> Ptr (Confusables.intentionalConfusables c))+                [ Bench "CString" intentionalConfusables                 , Bench "String"  Security.intentionalConfusables                 ]             , benchNF "isIntentionallyConfusable" Security.intentionalConfusables@@ -39,6 +39,10 @@         ]     ]   where+    -- [NOTE] Cannot use point-free because of unlifted types+    confusablePrototype c = Ptr (Confusables.confusablePrototype c)+    intentionalConfusables c = Ptr (Confusables.intentionalConfusables c)+     bgroup' groupTitle bs = bgroup groupTitle         [ benchNF' groupTitle title f         | Bench title f <- bs
lib/Unicode/Internal/Char/Security/Confusables.hs view
@@ -1,4 +1,4 @@--- autogenerated from https://www.unicode.org/Public/15.1.0/ucd/confusables.txt+-- autogenerated from https://www.unicode.org/Public/security/16.0.0/confusables.txt -- | -- Module      : Unicode.Internal.Char.Security.Confusables -- Copyright   : (c) 2022 Composewell Technologies and Contributors@@ -86,6 +86,7 @@     '\408' -> "\75\39\0"#     '\409' -> "\107\204\148\0"#     '\410' -> "\108\204\181\0"#+    '\411' -> "\206\187\204\184\0"#     '\413' -> "\78\204\166\0"#     '\414' -> "\110\204\169\0"#     '\415' -> "\79\204\181\0"#@@ -1444,6 +1445,7 @@     '\5868' -> "\58\0"#     '\5869' -> "\43\0"#     '\5872' -> "\206\166\0"#+    '\5940' -> "\225\156\149\0"#     '\5941' -> "\47\0"#     '\6051' -> "\225\158\162\0"#     '\6071' -> "\224\184\180\0"#@@ -1563,6 +1565,7 @@     '\7747' -> "\234\173\145\0"#     '\7834' -> "\225\186\163\0"#     '\7837' -> "\102\0"#+    '\7838' -> "\195\159\0"#     '\7935' -> "\121\0"#     '\8061' -> "\225\191\180\0"#     '\8125' -> "\39\0"#@@ -2445,6 +2448,7 @@     '\12504' -> "\227\129\184\0"#     '\12525' -> "\229\143\163\0"#     '\12539' -> "\194\183\0"#+    '\12582' -> "\229\132\191\0"#     '\12593' -> "\225\132\128\0"#     '\12594' -> "\225\132\128\225\132\128\0"#     '\12595' -> "\225\132\128\225\132\137\0"#@@ -2864,6 +2868,10 @@     '\42933' -> "\195\159\0"#     '\42934' -> "\234\153\140\0"#     '\42935' -> "\207\137\0"#+    '\42966' -> "\195\159\0"#+    '\42970' -> "\201\133\0"#+    '\42971' -> "\206\187\0"#+    '\42972' -> "\201\133\204\184\0"#     '\42999' -> "\227\131\188\0"#     '\43056' -> "\224\165\164\0"#     '\43360' -> "\225\132\131\225\132\134\0"#@@ -4535,6 +4543,42 @@     '\94019' -> "\89\0"#     '\94033' -> "\39\0"#     '\94034' -> "\39\0"#+    '\117974' -> "\65\0"#+    '\117975' -> "\66\0"#+    '\117976' -> "\67\0"#+    '\117977' -> "\68\0"#+    '\117978' -> "\69\0"#+    '\117979' -> "\70\0"#+    '\117980' -> "\71\0"#+    '\117981' -> "\72\0"#+    '\117982' -> "\108\0"#+    '\117983' -> "\74\0"#+    '\117984' -> "\75\0"#+    '\117985' -> "\76\0"#+    '\117986' -> "\77\0"#+    '\117987' -> "\78\0"#+    '\117988' -> "\79\0"#+    '\117989' -> "\80\0"#+    '\117990' -> "\81\0"#+    '\117991' -> "\82\0"#+    '\117992' -> "\83\0"#+    '\117993' -> "\84\0"#+    '\117994' -> "\85\0"#+    '\117995' -> "\86\0"#+    '\117996' -> "\87\0"#+    '\117997' -> "\88\0"#+    '\117998' -> "\89\0"#+    '\117999' -> "\90\0"#+    '\118000' -> "\79\0"#+    '\118001' -> "\108\0"#+    '\118002' -> "\50\0"#+    '\118003' -> "\51\0"#+    '\118004' -> "\52\0"#+    '\118005' -> "\53\0"#+    '\118006' -> "\54\0"#+    '\118007' -> "\55\0"#+    '\118008' -> "\56\0"#+    '\118009' -> "\57\0"#     '\119060' -> "\123\0"#     '\119149' -> "\46\0"#     '\119298' -> "\211\190\0"#
lib/Unicode/Internal/Char/Security/IdentifierStatus.hs view
@@ -1,4 +1,4 @@--- autogenerated from https://www.unicode.org/Public/15.1.0/ucd/IdentifierStatus.txt+-- autogenerated from https://www.unicode.org/Public/security/16.0.0/IdentifierStatus.txt -- | -- Module      : Unicode.Internal.Char.Security.IdentifierStatus -- Copyright   : (c) 2022 Composewell Technologies and Contributors
lib/Unicode/Internal/Char/Security/IdentifierType.hs view
@@ -1,4 +1,4 @@--- autogenerated from https://www.unicode.org/Public/15.1.0/ucd/IdentifierType.txt+-- autogenerated from https://www.unicode.org/Public/security/16.0.0/IdentifierType.txt -- | -- Module      : Unicode.Internal.Char.Security.IdentifierType -- Copyright   : (c) 2022 Composewell Technologies and Contributors@@ -83,9 +83,9 @@     20 -> [UncommonUse,Technical,NotXID]     21 -> [LimitedUse]     22 -> [LimitedUse,NotXID]-    23 -> [LimitedUse,Exclusion]-    24 -> [LimitedUse,Obsolete]-    25 -> [LimitedUse,Technical]+    23 -> [LimitedUse,Obsolete]+    24 -> [LimitedUse,Technical]+    25 -> [LimitedUse,UncommonUse]     26 -> [Inclusion]     27 -> [Recommended]     _ -> [NotCharacter]@@ -124,167 +124,170 @@  identifierTypesDataBitMap :: Ptr Int8 identifierTypesDataBitMap = Ptr-    "\14\7\12\12\14\14\12\7\7\14\14\14\14\14\14\27\14\14\14\14\14\14\4\14\14\14\14\14\14\27\27\14\9\14\27\14\9\9\9\9\9\9\9\7\7\7\7\7\7\4\-    \\9\9\9\9\9\3\4\4\0\0\0\0\1\0\0\0\0\0\0\27\0\0\27\27\27\27\27\27\19\27\27\27\27\27\27\0\27\27\0\27\27\27\0\0\27\0\27\27\0\27\-    \\0\27\27\3\27\3\3\1\5\5\5\0\0\0\5\5\5\4\4\4\5\5\5\0\5\5\0\5\5\5\5\0\5\5\0\0\0\0\0\6\6\5\5\5\5\6\5\5\0\0\-    \\0\5\0\0\5\5\5\5\5\0\0\5\5\5\0\0\0\0\5\5\5\5\6\6\5\0\5\5\0\27\27\5\5\5\5\5\5\6\5\6\6\6\2\2\2\2\2\9\9\9\-    \\9\9\10\10\9\9\9\9\10\10\10\10\27\3\27\3\27\3\3\0\10\10\10\10\10\10\10\0\0\3\3\3\0\0\0\3\0\0\3\3\0\9\9\10\10\10\9\9\9\19\-    \\9\9\9\9\12\12\12\12\12\12\12\12\9\9\9\9\3\3\3\9\3\0\3\3\0\3\0\0\3\27\27\27\3\7\3\3\3\3\3\10\10\3\3\3\3\4\3\3\4\3\-    \\3\3\3\9\3\3\3\3\4\3\3\3\3\3\3\3\27\3\27\27\3\3\27\27\27\27\27\27\27\3\27\3\3\3\27\27\7\7\7\7\27\27\7\7\7\7\7\7\27\7\-    \\7\7\9\9\9\9\3\3\7\7\4\4\4\4\4\4\14\4\8\3\4\3\4\4\2\4\3\3\3\12\3\3\4\7\9\9\9\9\9\9\19\19\9\9\9\9\9\9\19\9\-    \\9\9\9\9\9\12\9\9\9\19\19\9\19\19\9\4\26\0\0\4\4\4\3\3\3\3\3\3\3\3\4\4\4\4\7\8\8\8\8\8\7\0\0\14\14\9\9\9\9\9\-    \\9\9\2\2\2\2\2\0\2\2\1\1\1\1\1\1\27\1\27\27\27\27\27\27\7\7\27\27\27\0\27\27\27\27\27\27\27\0\27\27\27\27\0\0\0\0\27\27\0\0\-    \\0\0\0\0\27\7\0\16\16\0\0\0\0\6\6\6\6\6\6\6\6\0\0\0\6\4\14\4\4\4\4\27\27\0\0\3\3\27\27\27\27\14\0\27\27\14\14\0\0\27\-    \\27\27\27\27\14\27\27\26\4\4\4\4\4\26\3\4\4\4\4\27\27\27\27\27\27\0\0\27\27\27\27\0\27\0\0\0\27\27\27\0\27\27\27\4\4\4\4\27\3\3\-    \\3\2\2\2\2\2\7\7\7\7\7\7\7\2\2\2\2\2\2\2\2\0\0\0\0\6\6\6\5\5\5\5\5\5\5\5\0\0\0\0\0\0\0\5\5\5\5\5\5\0\-    \\6\14\14\14\14\14\7\7\7\14\0\0\27\0\0\27\27\27\0\0\0\0\0\0\22\22\22\22\22\22\22\21\0\0\0\0\3\3\0\3\3\3\3\3\0\0\2\21\21\21\-    \\0\0\0\0\21\22\0\0\0\0\0\0\0\3\19\3\21\21\0\0\0\0\0\22\0\0\0\0\0\0\0\21\21\21\22\22\0\22\21\21\21\0\0\0\22\22\24\0\0\21\-    \\22\22\3\3\9\7\7\7\7\7\5\5\5\5\5\5\0\5\5\5\5\5\5\5\6\6\0\0\0\0\0\0\0\10\5\5\5\5\6\6\6\0\5\5\5\5\5\6\6\6\-    \\6\6\6\6\5\5\5\5\5\0\0\6\6\6\6\0\0\0\0\0\27\0\0\0\0\27\19\4\0\0\0\0\3\3\0\27\0\27\0\27\0\27\3\0\27\3\0\21\21\0\-    \\21\21\21\21\21\21\21\21\22\22\21\21\21\21\21\0\0\21\16\16\16\16\16\16\16\16\0\3\3\7\3\3\3\3\3\2\3\3\3\3\3\3\3\9\9\9\9\9\9\9\-    \\9\0\0\0\0\0\0\0\5\5\0\6\6\6\6\6\5\6\6\6\5\0\0\0\0\0\0\5\0\5\5\0\5\5\6\0\0\0\0\0\0\7\3\7\7\27\27\27\27\0\-    \\0\0\0\4\4\4\4\4\0\0\4\4\3\3\3\3\4\26\4\4\4\4\4\4\3\0\0\0\0\26\3\4\4\4\4\4\3\4\4\4\4\3\3\3\4\4\4\4\4\4\-    \\4\26\26\4\27\3\27\27\27\4\27\27\14\14\14\14\14\14\14\14\0\14\14\14\4\2\4\4\4\4\4\27\4\27\27\7\27\27\4\27\27\27\27\27\27\27\27\7\27\27\-    \\27\27\27\27\27\14\14\27\27\27\27\27\14\9\27\24\24\24\21\21\21\21\21\22\22\22\22\22\22\22\22\0\22\11\11\5\5\0\0\0\0\9\27\27\0\27\27\27\27\3\-    \\27\27\27\27\3\0\0\27\27\3\3\27\27\3\3\9\9\27\9\21\21\0\0\0\21\21\21\22\21\21\0\0\22\22\22\22\21\21\21\21\21\21\21\0\0\0\0\0\0\0\-    \\0\27\27\27\27\27\27\0\27\0\27\27\27\27\27\4\27\14\14\14\14\7\7\27\27\27\27\27\14\4\0\27\3\27\3\27\3\27\3\0\0\8\8\8\7\18\17\7\7\5\-    \\0\0\0\0\0\3\0\0\0\0\3\3\3\3\3\3\3\0\0\0\0\0\0\0\4\4\2\2\2\2\2\3\13\13\13\13\13\13\13\13\8\8\8\8\8\8\8\3\27\3\-    \\27\27\27\0\4\4\8\8\8\8\8\8\8\4\27\12\27\7\4\4\4\27\4\4\4\4\4\4\8\4\4\4\4\4\4\0\0\0\0\0\0\0\6\0\0\9\9\4\4\4\-    \\4\9\9\9\9\9\9\9\12\12\21\0\21\21\21\21\21\21\0\21\21\24\24\0\0\0\0\3\9\9\27\27\9\9\9\9\9\9\10\10\10\10\10\10\10\10\0\0\0\0\-    \\0\4\0\0\5\5\5\5\5\6\0\0\0\0\10\10\10\10\10\10\10\3\3\3\3\3\27\27\27\0\27\27\27\27\27\27\27\19\10\9\10\10\10\9\9\9\9\10\10\10\-    \\10\10\10\10\27\3\27\3\27\27\3\3\3\3\3\3\3\10\10\10\10\10\10\10\20\20\9\27\9\19\9\9\9\9\3\3\3\3\3\3\0\3\3\3\3\0\3\3\0\3\-    \\3\3\4\3\3\3\4\3\4\3\8\8\12\12\12\8\0\0\14\3\3\3\3\3\0\3\0\3\0\3\0\3\3\3\27\0\3\0\3\0\0\0\0\8\8\27\27\27\27\27\-    \\27\26\27\27\27\3\0\3\3\3\0\3\3\3\3\3\3\9\3\3\3\3\3\4\4\12\12\12\12\12\12\27\4\4\14\14\27\9\14\14\14\14\14\14\14\12\14\27\5\5\-    \\4\7\5\0\0\0\14\0\0\0\0\0\0\14\14\14\14\14\14\14\14\12\14\27\9\9\25\9\9\9\9\9\27\9\9\9\9\7\7\7\7\7\7\7\7\9\9\14\14\27\-    \\27\27\27\27\3\27\27\27\0\0\0\27\27\27\7\27\27\12\27\27\27\1\27\3\3\3\9\9\4\4\4\4\4\4\3\4\3\9\4\1\1\4\4\4\4\4\4\4\0\4\-    \\4\4\4\3\3\3\26\3\1\27\27\27\27\27\27\26\26\0\0\0\7\7\7\7\7\7\7\0\27\26\27\27\27\27\27\27\27\4\3\27\27\27\0\0\27\0\0\0\0\0\-    \\0\0\7\7\7\7\7\4\4\4\0\27\4\4\4\4\4\4\4\4\27\4\9\4\27\27\4\4\4\4\7\7\7\7\7\7\7\7\3\26\7\7\14\14\17\14\14\14\14\14\-    \\27\14\14\14\14\14\4\4\14\9\27\27\27\27\27\27\27\4\4\4\4\4\4\7\4\27\0\0\14\27\27\27\27\27\27\14\0\0\27\22\22\22\25\25\25\25\25\22\22\22\-    \\22\22\22\0\0\0\22\22\21\21\21\21\21\21\4\22\7\7\8\7\12\12\12\12\7\7\7\7\8\7\7\7\7\4\3\3\3\3\0\0\3\3\3\3\3\3\3\0\3\0\-    \\3\3\3\3\0\3\0\4\1\1\4\4\4\4\4\3\3\4\3\3\3\3\3\3\27\27\8\8\8\4\4\8\4\4\4\4\4\4\4\7\8\8\8\8\8\8\8\8\7\7\-    \\7\7\7\7\7\14\14\4\27\5\16\5\0\0\0\0\0\7\7\7\7\7\0\0\0\0\0\0\0\27\27\0\27\27\27\4\4\4\4\0\7\8\8\8\8\8\8\8\0\0\-    \\0\0\3\3\27\3\3\27\9\9\9\9\27\27\9\27\27\9\14\9\27\27\4\4\0\0\0\0\4\4\4\4\4\4\4\15\15\15\15\27\3\27\3\27\3\3\3\3\3\4\-    \\4\4\4\27\4\9\4\25\25\25\25\25\25\25\25\0\0\21\21\21\21\0\0\22\0\7\3\15\15\0\0\0\0\3\3\3\7\7\7\7\7\7\7\27\14\14\27\27\27\27\-    \\27\7\7\7\7\3\3\17\7\27\7\7\9\9\14\27\27\27\27\27\27\27\9\9\9\14\27\27\27\1\1\27\27\27\27\2\2\27\27\4\4\8\8\8\8\8\8\4\4\8\-    \\4\4\4\27\12\0\0\5\27\5\27\0\5\5\5\5\5\0\0\5\5\5\0\0\6\5\5\6\6\6\5\6\6\6\6\6\0\0\0\0\6\27\27\14\14\14\14\14\14\12\-    \\12\14\14\14\27\14\14\14\14\14\14\4\14\14\4\14\17\8\19\14\4\14\14\14\14\27\27\27\27\27\26\26\27\27\7\7\9\9\14\27\27\27\27\4\4\27\27\13\13\13\-    \\13\13\13\8\8\8\8\8\8\8\4\21\21\0\0\0\0\22\22\22\22\22\22\0\23\10\10\10\10\10\10\20\20\20\20\20\20\20\20\14\14\14\14\0\14\14\0\0\27\0\-    \\0\0\0\0\20\20\20\20\20\20\20\20\10\10\0\0\0\0\0"#+    "\27\0\0\27\27\27\27\27\27\19\27\27\27\27\27\27\0\27\27\0\27\27\27\0\0\27\0\27\27\3\3\27\27\3\3\9\9\27\9\6\6\6\2\2\2\2\2\9\9\9\+    \\9\9\10\10\9\9\9\9\10\10\10\10\14\7\12\12\14\14\12\7\14\14\0\0\0\0\0\10\10\10\10\10\10\10\0\0\3\3\3\0\0\0\3\0\0\3\3\0\1\0\+    \\0\0\0\0\0\9\9\10\10\10\9\9\9\19\9\9\9\9\12\12\12\12\12\12\12\12\9\9\9\9\3\3\3\9\3\0\3\3\3\4\3\3\3\4\3\4\3\8\8\8\+    \\8\8\7\0\0\3\3\3\3\3\10\10\3\3\3\3\4\3\3\4\3\3\3\3\9\3\3\3\3\4\3\3\3\3\3\3\3\27\3\27\27\3\3\27\27\27\27\27\27\27\+    \\3\27\3\3\3\27\27\7\7\7\7\27\27\7\7\7\7\7\7\27\7\7\7\9\9\9\9\3\3\7\7\4\4\4\4\4\4\14\4\8\3\4\3\4\4\2\4\3\3\3\+    \\2\2\2\2\2\2\2\2\0\0\0\0\9\9\9\9\9\9\19\19\9\9\9\9\9\9\19\9\9\9\9\9\9\12\9\9\9\19\19\9\19\19\27\3\27\27\27\0\4\4\+    \\3\3\3\3\3\3\3\3\4\4\4\4\7\8\8\12\12\12\8\0\0\14\14\9\9\9\9\9\9\9\2\2\2\2\2\0\2\2\1\1\1\1\1\1\27\1\27\27\27\27\+    \\27\27\7\7\27\27\27\0\27\27\27\27\27\27\27\0\27\27\27\27\0\0\0\0\27\27\0\0\0\0\0\0\27\27\0\27\27\27\0\27\27\27\4\4\4\4\27\3\27\3\+    \\27\3\3\0\16\16\0\0\0\0\6\6\6\6\6\6\6\6\0\0\0\6\14\14\14\14\14\4\4\14\4\4\4\4\27\27\0\0\3\3\27\27\27\27\14\0\27\27\14\14\+    \\0\0\27\27\27\27\27\14\27\27\26\4\4\4\4\4\26\3\4\4\4\4\27\27\27\27\27\27\0\0\27\27\27\27\0\27\0\0\0\27\27\27\0\27\27\0\27\0\27\27\+    \\3\27\3\3\1\3\3\3\3\3\0\0\2\7\7\7\7\7\7\7\2\5\5\5\0\0\0\5\5\0\27\27\5\5\5\6\6\6\5\5\5\5\5\5\5\5\0\0\0\0\+    \\0\0\0\5\5\5\5\5\5\0\6\14\14\14\14\14\7\7\7\14\0\0\27\0\0\27\27\27\0\0\0\0\0\0\22\22\22\22\22\22\22\21\0\0\0\0\0\27\0\0\+    \\0\0\27\19\4\0\0\0\0\0\0\0\21\21\21\0\0\0\0\21\21\21\21\21\21\4\22\0\0\0\0\0\0\0\3\19\3\21\21\0\0\0\0\21\22\0\0\0\0\0\+    \\0\0\21\21\21\22\22\0\22\21\21\21\0\0\0\22\22\23\0\0\21\22\22\3\3\9\7\7\7\7\7\5\5\5\5\5\5\0\5\5\5\5\5\5\5\6\6\0\6\5\+    \\5\5\5\6\6\6\0\5\5\5\5\5\6\6\6\6\6\6\6\5\5\5\5\5\0\0\6\6\5\5\5\0\5\5\0\5\0\0\5\0\5\5\0\5\5\5\5\5\6\5\+    \\6\6\6\6\6\0\0\0\0\6\21\21\0\21\21\21\21\21\21\21\21\22\22\21\21\21\21\21\0\0\21\21\0\0\0\0\0\22\16\16\16\16\16\16\16\16\0\3\3\7\+    \\3\3\3\3\3\2\3\3\3\3\3\3\3\9\9\9\9\9\9\9\9\0\0\0\0\0\0\0\5\5\0\6\6\6\6\6\5\6\6\6\7\3\7\7\27\27\27\27\0\0\+    \\0\0\4\4\4\4\4\0\0\0\0\0\14\14\14\14\14\14\27\27\14\9\14\27\14\9\26\3\4\4\4\4\4\3\4\4\4\4\3\3\3\4\4\4\4\4\4\4\26\26\+    \\4\14\14\4\14\17\8\19\27\3\27\27\27\4\27\27\14\14\14\14\14\14\14\14\0\0\0\0\3\3\27\3\3\27\9\9\9\9\27\27\9\27\27\9\14\9\27\7\27\27\+    \\4\27\27\27\27\27\27\27\27\7\27\27\27\27\27\27\27\14\14\27\27\27\4\4\4\4\0\0\0\0\0\0\23\23\23\21\21\21\21\21\22\22\22\22\22\22\22\22\0\22\+    \\7\3\15\15\0\0\0\0\9\27\27\0\27\27\27\27\3\27\27\27\27\3\0\0\27\27\27\27\27\14\9\27\21\21\0\0\0\21\21\21\22\21\21\0\0\22\22\22\22\21\+    \\21\21\21\21\21\21\0\0\0\0\0\0\0\0\27\27\27\27\27\27\0\27\0\27\27\27\27\27\4\27\14\14\14\14\7\7\27\27\27\27\27\14\4\0\27\3\27\3\27\3\+    \\27\3\0\0\5\5\5\5\6\6\0\0\0\3\0\0\0\0\3\3\3\3\3\3\3\0\0\0\0\0\0\0\4\4\3\3\3\3\4\26\13\13\13\13\13\13\13\13\8\8\+    \\8\7\18\17\7\7\5\0\0\0\0\0\0\5\6\6\0\0\0\0\0\7\7\7\7\7\4\4\4\8\8\8\8\8\8\8\4\4\4\27\12\0\0\9\9\4\4\4\4\9\+    \\9\9\9\9\9\9\12\12\21\0\21\21\21\21\21\21\0\21\21\21\21\21\0\22\22\3\9\9\27\27\9\9\9\9\9\9\10\10\10\10\10\10\10\10\0\0\0\0\0\4\+    \\0\0\11\11\5\5\0\0\0\0\10\10\10\10\10\10\10\3\3\3\3\3\27\27\27\0\27\27\27\27\27\27\27\19\10\9\10\10\10\9\9\9\9\10\10\10\10\10\10\10\+    \\27\3\27\3\27\27\3\3\3\3\3\3\3\10\10\10\10\10\10\10\20\20\9\27\9\19\9\9\9\9\3\3\3\3\3\3\0\3\3\3\3\0\3\3\0\3\3\3\12\3\+    \\3\4\7\14\3\3\3\3\3\0\3\0\3\0\3\0\3\3\3\27\0\3\0\3\0\0\0\0\8\8\27\27\27\27\27\27\26\27\27\27\3\0\3\3\3\0\3\3\3\3\+    \\3\3\9\3\3\3\3\3\4\4\2\2\2\2\2\3\27\4\4\14\14\27\9\14\14\14\14\14\14\14\12\14\27\7\7\14\14\14\14\14\14\4\14\14\14\14\14\0\14\14\+    \\14\14\14\14\14\14\12\14\27\9\9\24\9\9\9\9\9\27\9\9\9\9\7\7\7\7\7\7\7\7\9\9\14\14\27\27\27\27\27\3\27\27\27\0\0\0\27\27\27\14\+    \\14\14\0\0\0\27\7\27\27\12\27\27\27\1\27\3\3\3\9\9\4\4\4\4\4\4\3\4\3\9\5\5\5\5\5\6\0\0\14\0\0\0\0\0\0\7\7\7\7\7\+    \\7\7\0\27\0\27\0\27\0\27\3\0\27\3\0\5\5\0\5\5\0\5\5\5\5\0\5\5\0\0\0\0\0\6\6\5\5\5\5\6\6\5\0\5\5\0\0\6\5\5\+    \\6\6\6\5\6\6\6\5\0\0\0\0\0\6\0\0\5\5\5\5\5\5\6\5\5\5\5\6\5\5\0\0\0\5\0\0\5\5\5\5\5\0\0\5\5\5\0\0\0\0\+    \\5\5\4\7\5\0\0\0\3\1\27\27\27\27\27\27\0\0\27\0\0\0\0\0\0\0\6\6\14\14\14\14\0\14\14\0\27\4\4\4\4\4\4\4\4\27\4\9\4\27\+    \\27\4\4\4\4\7\7\7\7\7\7\7\7\3\26\7\7\14\14\17\14\14\14\14\14\27\14\14\14\4\2\4\4\4\4\4\4\4\7\9\27\27\27\27\27\27\27\4\4\4\+    \\4\4\4\7\4\27\0\0\14\27\27\27\27\27\27\14\0\0\27\22\22\22\24\24\24\24\24\22\22\22\22\22\22\0\0\0\22\22\21\21\23\23\0\0\0\0\4\26\4\4\+    \\4\4\4\4\3\3\3\26\7\7\8\7\12\12\12\12\7\7\7\7\8\7\7\7\7\4\3\3\3\3\0\0\3\3\3\3\3\3\3\0\3\0\3\3\3\3\0\3\0\4\+    \\1\1\4\4\4\4\4\3\3\4\3\3\3\3\3\3\27\27\6\8\8\4\4\8\4\4\6\4\4\4\4\4\27\4\27\9\4\26\0\0\4\4\4\4\4\4\4\0\4\4\+    \\4\4\3\0\0\0\0\3\3\0\3\0\0\3\27\27\27\3\7\8\8\8\8\8\8\8\8\7\7\7\7\7\7\7\14\14\4\27\26\27\27\27\27\27\27\27\4\3\27\27\+    \\27\26\26\0\0\0\7\7\7\7\7\0\0\0\0\3\3\0\27\7\8\8\8\8\8\8\8\0\0\0\0\0\27\7\0\5\5\5\0\0\0\0\6\6\6\6\0\0\0\0\+    \\0\0\0\10\27\27\4\4\0\0\0\0\0\4\4\4\4\4\4\4\15\15\15\15\27\3\27\3\27\3\3\3\3\3\4\4\4\4\27\4\9\4\14\9\9\9\9\9\9\9\+    \\7\7\7\7\7\7\4\9\9\9\9\9\3\4\4\0\0\0\0\24\24\24\24\24\24\24\24\0\0\21\21\21\21\0\0\22\0\5\16\5\0\0\0\0\0\3\3\3\7\7\+    \\7\7\7\7\7\27\14\14\27\27\27\27\27\7\7\7\7\3\3\17\7\27\7\7\9\9\14\27\27\27\27\27\27\27\9\9\9\14\27\27\27\1\1\27\27\27\27\2\2\27\+    \\27\27\12\27\7\4\4\4\27\4\4\4\4\4\4\8\4\4\6\4\4\4\4\4\4\0\0\4\4\12\12\12\12\12\12\5\27\5\27\0\5\5\5\5\5\0\0\5\27\27\+    \\14\14\14\14\14\14\12\12\14\14\14\27\14\4\14\14\14\14\27\27\27\27\27\26\26\27\27\7\7\9\9\14\27\27\27\27\4\4\27\27\13\13\13\13\13\13\8\8\8\8\+    \\8\8\8\4\6\8\8\4\4\8\4\4\8\8\8\8\8\8\8\3\21\21\0\0\0\0\22\22\22\22\22\22\0\25\5\5\0\5\5\6\0\0\14\14\14\0\0\0\10\10\+    \\10\10\10\10\20\20\20\20\20\20\20\20\5\27\5\27\0\5\5\5\6\0\0\0\0\0\0\20\20\20\20\20\20\20\20\10\10\0\0\0\0\0"#  identifierTypesOffsets1BitMap :: Ptr Word16 identifierTypesOffsets1BitMap = Ptr-    "\154\5\43\7\155\5\155\5\166\1\166\1\166\1\158\5\50\7\184\4\229\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\155\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\155\5\233\0\160\5\166\1\53\7\156\5\166\1\166\1\166\1\-    \\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\187\4\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\42\7\166\1\166\1\166\1\166\1\166\1\166\1\-    \\187\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\184\3\119\4\119\4\226\3\228\3\15\4\43\2\14\4\15\4\15\4\78\2\14\4\15\4\15\4\140\7\66\5\119\4\119\4\119\4\225\3\113\1\-    \\192\3\169\5\15\4\15\4\224\6\15\4\15\4\15\4\224\6\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\229\6\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\225\6\51\6\51\6\51\6\51\6\135\6\47\3\15\4\15\4\15\4\15\4\85\1\148\6\111\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\-    \\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\114\4\49\4\49\4\49\4\49\4\49\4\49\4\50\4\119\4\82\3\82\3\82\3\82\3\82\3\84\3\116\2\116\2\116\2\116\2\116\2\116\2\116\2\255\2\29\3\119\4\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\77\8\44\3\119\4\82\3\82\3\116\2\116\2\116\2\116\2\116\2\116\2\116\2\123\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\248\3\191\8\15\4\15\4\15\4\57\2\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\-    \\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\221\0\119\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\230\1\224\1\230\1\15\4\15\4\15\4\15\4\15\4\230\1\15\4\15\4\15\4\15\4\230\1\224\1\230\1\15\4\224\1\-    \\15\4\15\4\15\4\15\4\15\4\15\4\15\4\154\2\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\119\4\119\4\119\4\119\4\48\1\165\1\35\1\237\5\173\5\41\1\109\3\73\7\218\3\172\1\-    \\166\1\166\1\166\1\166\1\166\1\166\1\28\7\233\7\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\186\7\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\-    \\181\3\176\6\0\5\176\6\0\5\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\153\2\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\61\0\119\4\119\4\119\4\101\2\101\2\101\2\101\2\101\2\101\2\166\1\191\4\125\3\-    \\128\1\166\1\166\1\28\1\166\1\157\5\166\1\186\4\189\4\10\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\177\2\154\5\43\7\155\5\155\5\166\1\166\1\166\1\158\5\50\7\184\4\229\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\-    \\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\187\4\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\131\5\58\5\58\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\184\4\166\1\166\1\166\1\166\1\166\1\166\1\8\3\119\4\119\4\119\4\119\4\166\1\132\5\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\116\2\120\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\5\3\119\4\116\2\116\2\116\2\116\2\116\2\116\2\1\2\1\2\-    \\116\2\116\2\118\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\5\3\119\4\122\4\15\4\15\4\15\4\15\4\17\4\185\4\166\1\166\1\166\1\166\1\166\1\-    \\113\3\166\1\166\1\166\1\166\1\186\4\164\1\166\1\15\4\15\4\15\4\15\4\176\6\176\6\176\6\176\6\1\5\193\4\51\6\51\6\51\6\244\7\153\2\119\4\156\6\119\4\119\4\119\4\153\6\119\4\123\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\120\2\82\3\82\3\82\3\82\3\82\3\114\4\82\3\113\4\82\3\186\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\117\2\-    \\119\4\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\204\2\186\4\119\4\183\4\196\2\166\1\166\1\186\4\50\7\163\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\135\5\58\5\63\5\119\4\183\4\166\1\166\1\166\1\166\1\166\1\186\4\166\1\166\1\166\1\166\1\166\1\176\6\166\1\-    \\166\1\166\1\166\1\166\1\130\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\187\4\119\4\119\4\119\4\176\6\176\6\244\3\253\3\15\4\15\4\15\4\15\4\23\4\-    \\15\4\25\4\244\3\15\4\188\6\82\6\65\1\15\4\17\4\15\4\15\4\22\4\15\4\15\4\15\4\15\4\15\4\137\4\215\6\24\0\121\8\15\4\127\8\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\116\2\116\2\117\2\4\2\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\122\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\255\2\7\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\115\4\82\3\163\8\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\185\7\176\6\176\6\176\6\-    \\176\6\176\6\176\6\176\6\0\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\119\2\116\2\116\2\116\2\116\2\116\2\116\2\123\2\119\4\148\7\98\7\98\7\152\7\185\7\176\6\176\6\176\6\176\6\176\6\176\6\255\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\185\7\176\6\176\6\176\6\176\6\176\6\176\6\176\6\0\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\-    \\118\2\116\2\28\3\1\2\1\2\118\2\119\4\119\4\119\4\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\85\3\82\3\82\3\115\2\116\2\116\2\3\3\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\114\0\116\2\123\2\82\3\82\3\82\3\82\3\82\3\119\4\82\3\117\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\176\6\176\6\176\6\105\6\116\2\116\2\116\2\-    \\116\2\116\2\161\3\122\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\22\6\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\51\6\51\6\51\6\51\6\24\7\213\5\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\-    \\15\4\154\2\119\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\158\6\119\4\15\4\15\4\15\4\15\4\15\4\15\4\62\1\66\1\65\1\210\1\15\4\15\4\15\4\15\4\15\4\66\1\1\6\-    \\4\6\244\3\244\3\242\3\99\8\243\3\0\0\150\5\91\5\15\4\37\2\27\4\15\4\74\1\15\4\15\4\230\1\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\60\2\176\6\193\6\102\1\0\5\15\4\15\4\176\6\3\5\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\113\4\113\4\101\2\101\2\101\2\101\2\-    \\101\2\101\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\117\2\4\2\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\120\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\-    \\116\2\116\2\122\2\116\2\116\2\116\2\116\2\116\2\116\2\255\2\1\2\2\3\119\4\116\2\140\3\21\3\116\2\116\2\126\2\116\2\116\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\1\2\1\2\1\2\44\3\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\224\1\81\0\15\4\224\1\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\-    \\15\4\61\0\119\4\119\4\119\4\101\2\101\2\101\2\101\2\101\2\101\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\101\2\82\3\82\3\82\3\112\4\82\3\115\4\82\3\115\4\10\7\82\3\82\3\82\3\82\3\-    \\113\4\114\4\119\4\82\3\82\3\82\3\82\3\82\3\115\4\82\3\82\3\82\3\117\4\82\3\226\2\176\6\176\6\176\6\176\6\176\6\69\7\225\3\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\102\6\176\6\176\6\-    \\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\109\6\176\6\176\6\176\6\176\6\176\6\176\6\2\5\119\4\119\4\119\4\119\4\166\1\191\4\15\4\15\4\15\4\214\1\23\0\15\4\-    \\20\8\244\3\244\3\244\3\150\1\146\5\139\1\134\1\247\0\145\1\125\3\141\1\140\1\143\1\125\3\125\3\166\1\47\5\15\5\125\3\90\6\168\1\169\1\180\6\176\6\176\6\176\6\176\6\176\6\102\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\-    \\176\6\176\6\176\6\176\6\176\6\176\6\105\6\119\4\119\4\119\4\176\6\2\5\119\4\119\4\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\134\5\58\5\58\5\58\5\58\5\220\0\219\0\58\5\58\5\58\5\58\5\58\5\85\5\120\3\241\0\193\1\194\0\199\0\204\0\-    \\58\5\58\5\58\5\111\5\58\5\88\5\136\5\58\5\58\5\138\5\183\8\213\8\119\4\119\4\176\6\214\3\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\219\3\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\214\3\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\-    \\176\6\176\6\176\6\176\6\176\6\176\6\186\3\176\6\176\6\176\6\106\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\189\7\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\105\6\182\3\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\3\5\-    \\176\6\1\5\4\5\119\4\51\6\51\6\51\6\51\6\135\6\47\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\194\2\193\2\212\2\15\4\15\4\224\1\119\4\224\1\224\1\224\1\224\1\224\1\224\1\224\1\224\1\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\94\2\93\2\51\6\51\6\51\6\51\6\51\6\-    \\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\51\6\244\7\153\2\119\4\156\6\119\4\119\4\119\4\153\6\119\4\123\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\116\2\118\2\116\2\122\2\82\3\82\3\82\3\82\3\115\4\82\3\82\3\82\3\82\3\115\4\166\1\223\3\166\1\166\1\166\1\167\1\166\1\166\1\166\1\166\1\176\6\176\6\176\6\221\3\176\6\176\6\176\6\176\6\225\3\176\6\176\6\255\4\119\4\119\4\119\4\119\4\119\4\119\4\194\4\176\6\-    \\176\6\176\6\176\6\176\6\1\5\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\1\5\119\4\176\6\105\6\185\7\176\6\185\7\176\6\185\7\176\6\176\6\176\6\255\4\119\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\-    \\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\158\6\119\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\57\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\24\3\29\3\119\4\116\2\-    \\116\2\116\2\116\2\28\3\6\3\119\4\119\4\116\2\116\2\0\3\6\3\119\4\119\4\119\4\119\4\116\2\116\2\24\3\84\8\119\4\119\4\116\2\116\2\117\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\176\6\176\6\176\6\105\6\116\2\116\2\116\2\116\2\116\2\161\3\122\2\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\22\6\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\185\2\82\3\82\3\82\3\82\3\82\3\82\3\82\3\212\2\82\3\82\3\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\12\6\119\4\154\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\1\2\1\2\1\2\44\3\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\37\2\33\4\170\7\43\6\60\6\165\7\29\0\50\5\160\7\189\1\125\3\35\0\40\0\51\6\198\6\20\1\156\7\130\4\15\4\15\4\221\1\15\4\15\4\15\4\15\4\17\8\118\3\51\6\246\2\116\2\120\1\-    \\173\3\51\6\51\6\15\4\15\4\15\4\78\1\223\1\15\4\15\4\15\4\224\1\174\6\223\6\15\4\15\4\15\4\66\1\158\1\26\6\244\3\206\6\244\3\11\0\16\0\113\8\119\4\15\4\15\4\15\4\233\1\126\6\119\4\49\4\51\4\82\3\82\3\82\3\82\3\82\3\82\3\215\7\220\7\15\4\15\4\15\4\15\4\15\4\15\4\15\4\-    \\15\4\15\4\15\4\15\4\15\4\154\2\119\4\82\3\82\3\82\3\82\3\82\3\41\4\84\3\232\2\116\2\116\2\116\2\116\2\116\2\118\2\1\2\2\2\82\3\82\3\82\3\225\7\82\3\116\4\15\4\15\4\15\4\56\2\3\5\244\3\15\4\254\7\249\7\15\4\15\4\242\3\244\3\244\3\20\0\244\3\244\3\244\3\16\8\15\4\15\4\-    \\15\4\15\4\15\4\15\4\15\4\15\4\17\4\11\8\166\1\141\8\15\4\14\4\23\4\219\1\58\2\69\0\15\4\15\4\222\1\68\2\61\2\58\2\62\2\120\4\170\2\59\2\15\4\229\6\233\6\73\2\233\1\69\0\15\4\15\4\222\1\71\3\90\0\233\1\150\2\19\6\200\5\121\4\15\4\149\4\119\4\73\2\225\1\221\1\15\4\15\4\-    \\222\1\84\0\61\2\225\1\86\0\158\6\119\4\59\2\15\4\3\5\241\6\73\2\58\2\69\0\15\4\15\4\222\1\84\0\61\2\245\6\150\2\122\4\60\3\31\2\15\4\246\4\119\4\135\7\69\6\230\1\95\0\237\1\69\6\15\4\234\1\69\6\230\1\241\1\119\4\121\4\15\4\176\6\2\5\23\4\226\1\222\1\15\4\15\4\222\1\19\4\-    \\61\2\226\1\230\1\132\7\145\2\31\2\15\4\193\4\176\6\10\4\226\1\222\1\15\4\15\4\222\1\227\1\61\2\226\1\230\1\132\7\243\1\59\2\15\4\152\2\119\4\77\6\226\1\222\1\15\4\15\4\15\4\15\4\215\1\25\2\134\4\123\4\90\7\31\2\15\4\176\6\55\2\66\4\100\5\78\0\70\0\72\0\15\4\221\1\65\2\224\1\-    \\50\3\128\4\100\5\160\6\51\6\55\3\119\4\223\1\15\4\15\4\15\4\15\4\15\4\72\4\178\3\15\4\224\6\15\4\178\7\119\4\119\4\119\4\119\4\95\0\228\1\15\4\15\4\129\4\15\4\72\4\57\2\128\4\224\1\15\4\19\2\119\4\119\4\119\4\119\4\175\6\48\2\176\6\90\6\15\4\229\6\2\4\13\2\72\4\70\4\73\4\-    \\71\4\15\4\67\6\100\0\121\6\236\3\15\4\72\4\70\4\73\4\71\4\15\4\224\4\178\6\107\6\176\6\2\5\119\4\119\4\119\4\119\4\116\2\116\2\118\2\124\2\116\2\116\2\1\3\119\4\116\2\116\2\120\2\119\4\116\2\249\2\130\0\119\4\15\4\15\4\15\4\15\4\28\8\23\4\33\8\15\4\15\4\18\8\240\4\51\8\15\4\-    \\154\2\176\6\3\5\1\2\189\0\116\2\122\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\123\2\116\2\116\2\116\2\116\2\116\2\117\7\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\113\4\119\4\116\2\116\2\116\2\37\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\112\4\82\3\82\3\82\3\-    \\92\3\82\3\117\4\82\3\117\4\162\2\5\7\51\6\43\0\1\6\245\3\119\4\119\4\119\4\119\4\119\4\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\114\4\82\3\47\4\49\4\253\6\1\7\50\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\115\4\158\2\82\3\-    \\82\3\82\3\82\3\82\3\82\3\82\3\159\2\82\3\95\4\82\3\82\3\82\3\82\3\82\3\84\3\51\6\129\7\15\4\15\4\15\4\15\4\15\4\60\2\49\4\119\4\33\7\51\6\51\6\51\6\51\6\173\4\125\3\125\3\125\3\125\3\125\3\6\1\166\1\234\5\166\1\231\5\166\1\166\1\166\1\122\3\125\3\124\3\125\3\125\3\125\3\-    \\151\5\166\1\166\1\166\1\166\1\2\1\143\1\253\0\254\0\255\0\125\3\125\3\38\6\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\87\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\50\5\15\4\15\4\57\2\57\2\15\4\-    \\15\4\15\4\15\4\57\2\57\2\15\4\66\3\15\4\15\4\157\4\159\4\15\4\15\4\15\4\15\4\15\4\15\4\226\1\70\1\94\5\197\7\77\4\222\5\72\4\70\1\72\2\212\0\166\1\86\2\211\3\198\3\113\6\200\4\70\7\94\6\91\6\224\3\106\1\216\4\196\1\202\1\44\7\166\1\166\1\186\4\166\1\188\4\176\6\225\3\176\6\-    \\176\6\4\5\119\4\125\3\53\5\108\5\125\3\132\3\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\125\3\139\2\52\6\96\1\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\24\3\113\2\59\4\0\2\208\4\210\4\232\4\176\6\176\6\230\4\84\7\253\4\176\6\-    \\176\6\176\6\255\4\119\4\119\4\119\4\119\4\176\6\176\6\176\6\110\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\203\3\119\4\52\2\176\6\176\6\248\4\20\5\22\5\49\0\87\6\223\1\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\224\1\82\4\143\6\15\4\15\4\15\4\15\4\15\4\15\4\-    \\15\4\15\4\15\4\15\4\218\5\82\3\44\4\41\4\82\3\82\3\39\5\119\4\119\4\51\6\51\6\51\6\51\6\51\6\106\7\102\7\109\7\51\6\51\6\51\6\3\8\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\47\4\119\4\98\7\58\5\117\5\15\4\243\5\254\0\51\6\51\6\51\6\51\6\51\6\51\6\51\6\-    \\51\6\243\7\51\6\51\6\251\5\82\1\51\6\51\6\90\1\7\0\187\1\15\4\153\2\131\4\154\2\119\4\119\4\239\7\240\2\82\3\82\3\82\3\82\3\82\3\165\2\176\6\3\5\116\2\116\2\116\2\116\2\116\2\116\2\25\3\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\113\4\156\2\82\3\117\4\51\6\51\6\51\6\-    \\167\4\82\3\82\3\82\3\82\3\82\3\16\7\116\2\116\2\116\2\116\2\120\2\5\5\51\6\51\6\51\6\125\7\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\48\4\169\8\82\3\163\8\244\7\15\4\15\4\224\1\82\3\82\3\82\3\82\3\82\3\82\3\112\4\119\4\82\3\113\4\82\3\104\4\15\4\15\4\224\6\55\2\82\3\-    \\82\3\82\3\82\3\82\3\82\3\82\3\82\3\116\4\119\4\119\4\216\2\82\3\82\3\90\3\119\4\126\4\126\4\126\4\119\4\224\1\224\1\51\6\51\6\51\6\51\6\51\6\38\7\143\4\54\0\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\100\4\82\3\117\4\15\4\15\4\15\4\-    \\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\15\4\232\1\119\4\51\6\51\6\134\6\131\6\51\6\51\6\51\6\51\6\51\6\126\7\166\1\76\7\125\5\53\1\59\1\128\5\166\1\166\1\166\1\166\1\166\1\166\1\166\1\187\4\166\1\166\1\166\1\166\1\166\1\166\1\166\1\-    \\166\1\166\1\166\1\166\1\166\1\166\1\191\4\119\4\119\4\119\4\119\4\185\4\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\166\1\117\3\166\1\166\1\186\4\184\4\184\4\184\4\227\0\186\4\186\4\119\4\184\3\116\2\250\2\116\2\116\2\117\2\116\2\116\2\-    \\120\0\116\2\118\2\116\2\118\2\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\121\2\85\8\1\2\1\2\1\2\1\2\1\2\5\2\1\2\51\6\51\6\51\6\51\6\51\6\51\6\166\6\176\6\176\6\105\6\176\6\0\5\4\5\119\4\119\4\119\4\119\4\-    \\119\4\98\7\98\7\98\7\98\7\98\7\179\1\116\2\116\2\116\2\116\2\84\8\126\2\116\2\116\2\116\2\121\2\116\2\116\2\116\2\116\2\116\2\121\2\116\2\116\2\116\2\131\2\116\2\116\2\116\2\116\2\120\2\116\2\35\3\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\119\4\116\2\116\2\116\2\116\2\116\2\-    \\116\2\120\2\5\5\116\2\251\2\116\2\251\2\120\0\116\2\252\2\116\2\252\2\129\0\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\117\2\119\4\116\2\116\2\118\2\119\4\116\2\119\4\119\4\119\4\188\5\166\1\166\1\166\1\166\1\166\1\229\5\190\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\118\2\253\2\116\2\116\2\116\2\116\2\248\2\147\0\116\2\116\2\131\2\1\2\116\2\116\2\255\2\1\2\116\2\116\2\116\2\117\2\5\5\1\2\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\128\0\254\1\116\2\116\2\0\3\5\2\116\2\116\2\116\2\132\0\119\4\119\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\135\0\1\2\1\2\255\1\1\2\1\2\1\2\1\2\1\2\127\0\127\2\250\2\254\2\116\2\116\2\118\2\161\0\1\2\7\3\1\2\7\3\116\2\116\2\116\2\24\3\116\2\116\2\116\2\24\3\119\4\119\4\119\4\119\4\116\2\115\2\116\2\116\2\117\2\254\1\2\2\119\4\116\2\-    \\116\2\116\2\116\2\116\2\116\2\118\2\0\2\116\2\116\2\118\2\1\2\116\2\116\2\121\2\1\2\116\2\116\2\122\2\42\3\119\4\0\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\123\2\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\-    \\116\2\116\2\116\2\121\2\119\4\116\2\116\2\116\2\116\2\116\2\116\2\121\2\255\1\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\255\2\3\2\255\1\1\2\30\3\116\2\118\2\124\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\26\3\150\3\7\5\116\2\116\2\116\2\123\2\116\2\122\2\82\3\82\3\82\3\82\3\82\3\-    \\82\3\33\5\82\3\108\4\119\4\116\2\116\2\116\2\116\2\168\0\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\24\3\140\0\116\2\184\0\185\7\176\6\0\5\119\4\116\2\116\2\252\2\116\2\116\2\116\2\116\2\30\3\122\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\117\2\125\0\116\2\248\2\116\2\165\3\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\121\2\116\2\122\2\59\8\154\0\151\0\116\2\116\2\253\2\122\0\176\0\154\0\158\0\152\3\126\2\155\0\119\2\119\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\82\3\-    \\46\4\82\3\220\2\117\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\181\0\119\4\116\2\122\2\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\148\3\119\4\116\2\122\2\1\2\4\2\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\165\3\116\2\122\2\119\4\-    \\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\156\0\116\2\120\2\116\2\27\3\117\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\76\5\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\27\3\44\3\124\2\117\2\150\0\127\0\116\2\116\2\116\2\248\2\151\0\16\3\119\4\116\2\122\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\129\2\116\2\116\2\116\2\116\2\116\2\129\2\143\0\119\4\119\4\-    \\119\4\176\6\3\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\253\2\116\2\116\2\116\2\116\2\117\2\116\2\82\8\119\4\116\2\27\3\1\2\4\2\114\2\116\2\116\2\-    \\116\2\129\2\116\2\116\2\254\2\117\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\117\2\252\2\116\2\116\2\116\2\116\2\117\2\157\3\116\2\119\4\116\2\122\2\32\5\80\3\82\3\82\3\82\3\112\4\79\3\118\4\82\3\117\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\253\2\-    \\116\2\116\2\116\2\116\2\108\0\26\3\1\2\116\2\122\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\118\4\119\4\176\6\176\6\176\6\176\6\176\6\176\6\3\5\193\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\117\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\82\3\82\3\82\3\82\3\82\3\82\3\82\3\118\4\100\3\100\3\100\3\101\3\100\3\251\1\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\117\2\116\2\122\2\116\2\116\2\116\2\118\2\74\5\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\-    \\116\2\118\2\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\121\2\116\2\119\2\116\2\123\2\116\2\72\8\105\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\125\3\125\3\125\3\125\3\125\3\127\3\125\3\125\3\126\3\119\4\58\5\-    \\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\62\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\98\7\98\7\98\7\98\7\98\7\98\7\98\7\98\7\180\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\176\6\176\6\1\5\119\4\176\6\-    \\176\6\1\5\119\4\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\58\5\220\0\119\4\176\6\176\6\176\6\4\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\-    \\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\116\2\116\2\116\2\116\2\116\2\116\2\255\2\113\2\116\2\116\2\116\2\116\2\116\2\24\3\143\3\1\2\144\3\84\8\119\4\128\2\254\2\116\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\15\4\-    \\15\4\15\4\224\1\122\4\153\2\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\117\2\116\2\116\2\151\0\121\0\121\2\166\1\166\1\166\1\166\1\166\1\166\1\166\1\187\4\119\4\119\4\119\4\120\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\116\2\36\3\1\2\117\2\119\4\119\4\119\4\119\4\119\4\156\5\166\1\166\1\166\1\15\1\-    \\185\4\157\5\205\5\179\4\196\5\15\1\194\5\15\1\157\5\157\5\57\7\166\1\228\5\166\1\189\4\226\5\228\5\166\1\189\4\119\4\119\4\119\4\119\4\119\4\119\4\3\5\119\4\190\4\119\4\166\1\166\1\166\1\166\1\166\1\189\4\166\1\192\4\191\4\119\4\255\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\-    \\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\176\6\1\5\176\6\176\6\176\6\176\6\176\6\176\6\176\6\119\4\176\6\3\5\176\6\176\6\176\6\176\6\176\6\119\4\176\6\176\6\176\6\255\4\3\5\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\119\4\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\176\6\-    \\176\6\1\5\119\4\176\6\255\4\176\6\0\5\176\6\4\5\176\6\176\6\176\6\176\6\176\6\106\6\255\4\194\4\176\6\1\5\176\6\4\5\176\6\4\5"#+    "\50\5\35\7\51\5\51\5\44\1\44\1\44\1\54\5\42\7\92\4\114\5\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\51\5\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\51\5\90\0\56\5\44\1\45\7\52\5\44\1\44\1\44\1\+    \\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\95\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\34\7\44\1\44\1\44\1\44\1\44\1\44\1\+    \\95\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\83\3\32\4\32\4\123\3\125\3\183\3\202\1\182\3\183\3\183\3\133\1\182\3\183\3\183\3\201\3\220\4\32\4\32\4\32\4\122\3\240\0\+    \\108\4\136\0\183\3\183\3\204\6\183\3\183\3\183\3\204\6\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\209\6\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\205\6\192\5\192\5\192\5\192\5\10\6\80\2\183\3\183\3\183\3\183\3\212\0\151\7\35\4\183\3\183\3\183\3\183\3\185\3\93\4\44\1\44\1\+    \\44\1\44\1\44\1\33\3\44\1\44\1\44\1\44\1\94\4\42\1\44\1\183\3\183\3\183\3\183\3\151\6\151\6\151\6\151\6\121\8\101\4\192\5\192\5\192\5\50\8\63\2\32\4\130\6\32\4\32\4\32\4\127\6\32\4\36\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\30\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\139\4\32\4\24\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\27\4\222\3\222\3\222\3\222\3\222\3\222\3\223\3\32\4\251\2\251\2\251\2\251\2\+    \\251\2\253\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\176\2\200\2\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\62\6\201\7\32\4\251\2\251\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\33\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\163\5\142\6\183\3\183\3\183\3\216\1\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\78\0\32\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\108\1\102\1\108\1\183\3\183\3\+    \\183\3\183\3\183\3\108\1\183\3\183\3\183\3\183\3\108\1\102\1\108\1\183\3\102\1\183\3\183\3\183\3\183\3\183\3\183\3\183\3\64\2\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\32\4\+    \\32\4\32\4\32\4\175\0\43\1\162\0\122\5\140\0\168\0\29\3\65\7\115\3\50\1\44\1\44\1\44\1\44\1\44\1\44\1\20\7\232\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\221\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\80\3\151\6\84\3\151\6\84\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\63\2\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\97\0\32\4\32\4\32\4\250\0\250\0\250\0\250\0\250\0\250\0\44\1\99\4\45\3\6\1\44\1\44\1\155\0\44\1\53\5\44\1\94\4\97\4\130\0\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\249\1\26\2\26\2\26\2\26\2\26\2\26\2\154\1\154\1\26\2\26\2\+    \\28\2\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\31\2\26\2\29\2\26\2\33\2\26\2\57\6\254\0\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\29\2\26\2\26\2\26\2\26\2\26\2\26\2\33\2\32\4\177\7\127\7\127\7\181\7\50\5\35\7\51\5\51\5\44\1\44\1\44\1\54\5\42\7\92\4\114\5\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\+    \\44\1\44\1\44\1\44\1\44\1\95\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\27\5\212\4\212\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\92\4\44\1\44\1\44\1\44\1\44\1\44\1\204\7\32\4\32\4\32\4\32\4\44\1\28\5\251\2\251\2\251\2\251\2\251\2\27\4\251\2\26\4\+    \\251\2\125\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\27\2\32\4\32\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\12\3\94\4\32\4\91\4\117\2\44\1\44\1\94\4\42\7\59\5\44\1\44\1\44\1\+    \\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\31\5\212\4\217\4\32\4\91\4\44\1\44\1\44\1\44\1\44\1\94\4\44\1\44\1\44\1\44\1\44\1\151\6\44\1\44\1\44\1\44\1\44\1\26\5\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\+    \\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\95\4\32\4\32\4\32\4\151\6\151\6\148\3\190\6\183\3\183\3\183\3\183\3\191\3\183\3\193\3\148\3\183\3\163\6\230\5\192\0\183\3\185\3\183\3\183\3\190\3\183\3\183\3\183\3\183\3\183\3\50\4\166\1\95\3\164\8\183\3\+    \\170\8\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\27\2\157\1\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\26\2\26\2\26\2\32\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\176\2\203\7\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\+    \\251\2\28\4\251\2\222\8\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\97\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\84\3\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\+    \\26\2\26\2\26\2\26\2\26\2\28\2\26\2\199\2\154\1\154\1\28\2\32\4\32\4\32\4\32\4\97\7\151\6\151\6\151\6\151\6\151\6\151\6\121\8\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\97\7\151\6\151\6\+    \\151\6\151\6\151\6\151\6\151\6\84\3\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\32\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\+    \\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\254\2\251\2\251\2\25\2\26\2\26\2\81\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\20\2\26\2\33\2\251\2\251\2\251\2\251\2\251\2\32\4\251\2\30\4\26\2\26\2\26\2\+    \\26\2\28\2\230\2\26\2\26\2\28\2\134\6\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\151\6\151\6\151\6\98\7\26\2\26\2\26\2\26\2\26\2\236\8\32\2\32\4\242\8\32\4\32\4\32\4\32\4\32\4\32\4\90\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\192\5\192\5\192\5\192\5\16\7\98\5\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\64\2\32\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\132\6\32\4\183\3\183\3\183\3\183\3\183\3\183\3\189\0\193\0\192\0\88\1\183\3\183\3\183\3\183\3\183\3\193\0\142\5\145\5\148\3\148\3\146\3\156\8\147\3\62\0\46\5\243\4\183\3\196\1\195\3\183\3\201\0\183\3\183\3\108\1\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\219\1\151\6\168\6\229\0\84\3\183\3\183\3\151\6\206\3\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\26\4\26\4\250\0\250\0\250\0\250\0\250\0\250\0\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\250\0\250\0\250\0\250\0\+    \\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\27\2\157\1\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\30\2\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\193\7\26\2\26\2\26\2\26\2\26\2\26\2\176\2\154\1\80\4\32\4\26\2\60\3\192\2\26\2\26\2\36\2\26\2\26\2\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\195\2\26\2\32\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\102\1\+    \\12\0\183\3\102\1\26\2\26\2\26\2\26\2\26\2\26\2\27\2\32\4\26\2\26\2\28\2\32\4\26\2\32\4\32\4\32\4\73\5\44\1\44\1\44\1\44\1\44\1\114\5\98\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\195\2\26\2\32\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\154\1\154\1\154\1\201\7\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\183\3\183\3\97\0\32\4\32\4\32\4\250\0\250\0\250\0\250\0\250\0\250\0\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\250\0\251\2\251\2\251\2\25\4\251\2\28\4\251\2\28\4\246\6\+    \\251\2\251\2\251\2\251\2\26\4\27\4\32\4\251\2\251\2\251\2\251\2\251\2\28\4\251\2\251\2\251\2\30\4\251\2\147\2\151\6\151\6\151\6\151\6\151\6\61\7\122\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\57\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\6\7\44\1\44\1\44\1\44\1\99\4\183\3\183\3\183\3\92\1\94\3\183\3\82\8\148\3\148\3\148\3\+    \\28\1\42\5\17\1\12\1\111\0\23\1\45\3\19\1\18\1\21\1\45\3\45\3\44\1\201\4\169\4\45\3\238\5\46\1\47\1\155\6\151\6\151\6\151\6\151\6\151\6\57\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\151\6\206\3\32\4\32\4\151\6\86\3\32\4\32\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\30\5\212\4\212\4\212\4\212\4\77\0\76\0\212\4\212\4\212\4\212\4\212\4\237\4\40\3\105\0\71\1\44\0\49\0\54\0\212\4\212\4\212\4\7\5\212\4\+    \\240\4\32\5\212\4\212\4\34\5\0\9\30\9\32\4\32\4\151\6\111\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\116\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\111\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\123\8\151\6\151\6\151\6\99\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\224\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\85\3\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\192\5\+    \\192\5\192\5\192\5\10\6\80\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\115\2\114\2\133\2\183\3\183\3\102\1\32\4\102\1\102\1\102\1\102\1\102\1\102\1\102\1\102\1\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\1\2\0\2\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\+    \\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\50\8\63\2\32\4\130\6\32\4\32\4\32\4\127\6\32\4\36\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\28\2\26\2\32\2\251\2\251\2\251\2\251\2\28\4\251\2\251\2\251\2\251\2\28\4\44\1\120\3\44\1\44\1\44\1\45\1\44\1\44\1\44\1\44\1\151\6\151\6\151\6\118\3\151\6\151\6\151\6\151\6\122\3\151\6\151\6\121\8\32\4\32\4\32\4\32\4\32\4\32\4\102\4\151\6\151\6\151\6\151\6\151\6\85\3\+    \\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\85\3\32\4\151\6\98\7\97\7\151\6\97\7\151\6\97\7\151\6\151\6\151\6\121\8\32\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\183\3\132\6\32\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\216\1\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\195\2\200\2\32\4\26\2\26\2\26\2\26\2\199\2\202\7\+    \\32\4\32\4\26\2\26\2\177\2\202\7\32\4\32\4\32\4\32\4\26\2\26\2\195\2\200\7\32\4\32\4\26\2\26\2\27\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\151\6\151\6\151\6\98\7\26\2\26\2\26\2\26\2\26\2\236\8\32\2\32\4\242\8\32\4\32\4\32\4\32\4\32\4\32\4\+    \\90\3\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\100\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\133\2\251\2\251\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\114\6\32\4\64\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\154\1\154\1\+    \\154\1\201\7\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\196\1\0\4\170\3\184\5\201\5\165\3\100\3\204\4\160\3\67\1\45\3\66\1\189\5\192\5\173\6\119\7\156\3\43\4\183\3\183\3\99\1\183\3\183\3\183\3\183\3\79\8\38\3\192\5\167\2\26\2\65\5\72\3\192\5\192\5\183\3\183\3\+    \\183\3\205\0\101\1\183\3\183\3\183\3\102\1\149\6\203\6\183\3\183\3\183\3\193\0\93\7\167\5\148\3\181\6\148\3\185\6\155\5\132\3\32\4\183\3\183\3\183\3\111\1\156\7\32\4\222\3\224\3\251\2\251\2\251\2\251\2\251\2\251\2\21\8\26\8\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\64\2\32\4\251\2\251\2\251\2\251\2\251\2\214\3\253\2\153\2\26\2\26\2\26\2\26\2\26\2\28\2\154\1\155\1\251\2\251\2\251\2\31\8\251\2\29\4\183\3\183\3\183\3\215\1\87\3\148\3\183\3\60\8\55\8\183\3\183\3\146\3\148\3\148\3\159\5\148\3\148\3\148\3\78\8\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\185\3\73\8\44\1\184\8\183\3\182\3\191\3\97\1\217\1\0\0\183\3\183\3\100\1\227\1\220\1\217\1\221\1\33\4\111\7\218\1\183\3\209\6\213\6\128\1\111\1\0\0\183\3\183\3\100\1\21\6\21\0\111\1\60\2\1\6\85\5\34\4\183\3\62\4\32\4\128\1\103\1\99\1\183\3\183\3\100\1\15\0\220\1\103\1\17\0\+    \\132\6\32\4\218\1\183\3\206\3\221\6\128\1\217\1\0\0\183\3\183\3\100\1\15\0\220\1\225\6\60\2\35\4\169\7\190\1\183\3\109\8\32\4\124\1\210\5\108\1\236\1\115\1\210\5\183\3\112\1\210\5\108\1\119\1\32\4\34\4\183\3\151\6\86\3\191\3\104\1\100\1\183\3\183\3\100\1\187\3\220\1\104\1\108\1\121\1\55\2\+    \\190\1\183\3\101\4\151\6\178\3\104\1\100\1\183\3\183\3\100\1\105\1\220\1\104\1\108\1\121\1\185\7\218\1\183\3\62\2\32\4\225\5\104\1\100\1\183\3\183\3\183\3\183\3\93\1\184\1\47\4\36\4\195\6\190\1\183\3\151\6\214\1\239\3\252\4\9\0\1\0\3\0\183\3\99\1\224\1\102\1\83\2\41\4\252\4\3\6\192\5\+    \\88\2\32\4\101\1\183\3\183\3\183\3\183\3\183\3\245\3\77\3\183\3\204\6\183\3\212\7\32\4\32\4\32\4\32\4\236\1\106\1\183\3\183\3\42\4\183\3\245\3\216\1\41\4\102\1\183\3\178\1\32\4\32\4\32\4\32\4\150\6\207\1\151\6\238\5\183\3\209\6\85\7\172\1\245\3\243\3\246\3\244\3\183\3\208\5\241\1\122\6\+    \\140\3\183\3\245\3\243\3\246\3\244\3\183\3\36\1\153\6\100\7\151\6\86\3\32\4\32\4\32\4\32\4\26\2\26\2\28\2\34\2\26\2\26\2\178\2\32\4\26\2\26\2\30\2\32\4\26\2\170\2\38\6\32\4\183\3\183\3\183\3\183\3\90\8\191\3\95\8\183\3\183\3\80\8\103\8\161\4\183\3\64\2\151\6\206\3\154\1\39\0\+    \\26\2\32\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\33\2\26\2\26\2\26\2\26\2\26\2\39\8\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\26\4\32\4\26\2\26\2\26\2\208\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\25\4\251\2\251\2\251\2\5\3\251\2\30\4\251\2\30\4\+    \\72\2\241\6\192\5\2\8\142\5\149\3\32\4\32\4\32\4\32\4\32\4\32\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\193\4\251\2\220\3\222\3\233\6\237\6\222\3\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\28\4\68\2\251\2\251\2\251\2\251\2\251\2\251\2\+    \\251\2\69\2\251\2\8\4\251\2\251\2\251\2\251\2\251\2\253\2\192\5\69\0\183\3\183\3\183\3\183\3\183\3\219\1\222\3\32\4\25\7\192\5\192\5\192\5\192\5\130\4\45\3\45\3\45\3\45\3\45\3\126\0\44\1\119\5\44\1\116\5\44\1\44\1\44\1\42\3\45\3\44\3\45\3\45\3\45\3\47\5\44\1\44\1\44\1\44\1\+    \\122\0\21\1\117\0\118\0\119\0\45\3\45\3\179\5\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\31\0\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\204\4\183\3\183\3\216\1\216\1\183\3\183\3\183\3\183\3\216\1\216\1\+    \\183\3\16\6\183\3\183\3\70\4\72\4\183\3\183\3\183\3\183\3\183\3\183\3\104\1\197\0\246\4\232\7\250\3\107\5\245\3\197\0\231\1\140\1\44\1\247\0\108\3\4\7\8\7\128\5\62\7\242\5\239\5\121\3\233\0\214\8\74\1\80\1\36\7\44\1\44\1\94\4\44\1\96\4\151\6\122\3\151\6\151\6\92\2\32\4\45\3\207\4\+    \\4\5\45\3\52\3\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\45\3\49\2\193\5\223\0\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\195\2\23\2\228\4\153\1\116\4\118\4\155\4\151\6\151\6\153\4\76\7\80\7\151\6\151\6\151\6\121\8\32\4\32\4\+    \\32\4\32\4\151\6\151\6\151\6\103\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\107\7\32\4\211\1\151\6\151\6\111\8\174\4\176\4\8\8\235\5\101\1\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\102\1\26\0\146\7\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\103\5\+    \\251\2\217\3\214\3\251\2\251\2\252\6\32\4\32\4\192\5\192\5\192\5\192\5\192\5\135\7\131\7\138\7\192\5\192\5\192\5\65\8\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\220\3\32\4\127\7\212\4\13\5\183\3\129\8\118\0\192\5\192\5\192\5\192\5\192\5\192\5\192\5\192\5\49\8\192\5\192\5\136\5\+    \\209\0\192\5\192\5\217\0\153\5\65\1\183\3\216\5\44\4\217\5\32\4\32\4\45\8\161\2\251\2\251\2\251\2\251\2\251\2\75\2\151\6\206\3\26\2\26\2\26\2\26\2\26\2\26\2\196\2\32\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\26\4\66\2\251\2\30\4\192\5\192\5\192\5\124\4\251\2\251\2\251\2\251\2\+    \\251\2\107\2\26\2\26\2\26\2\26\2\30\2\133\6\192\5\192\5\192\5\164\7\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\221\3\228\8\251\2\222\8\50\8\183\3\183\3\102\1\251\2\251\2\251\2\251\2\251\2\251\2\25\4\32\4\251\2\26\4\251\2\17\4\183\3\183\3\204\6\214\1\251\2\251\2\251\2\251\2\251\2\251\2\+    \\251\2\251\2\29\4\32\4\32\4\137\2\251\2\251\2\3\3\32\4\39\4\39\4\39\4\32\4\102\1\102\1\192\5\192\5\192\5\192\5\192\5\30\7\56\4\13\8\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\13\4\251\2\30\4\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\+    \\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\183\3\110\1\32\4\192\5\192\5\9\6\6\6\192\5\192\5\192\5\192\5\192\5\165\7\44\1\68\7\21\5\180\0\186\0\24\5\44\1\44\1\44\1\44\1\44\1\44\1\44\1\95\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\+    \\44\1\99\4\32\4\32\4\32\4\32\4\93\4\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\44\1\37\3\44\1\44\1\94\4\92\4\92\4\92\4\84\0\94\4\94\4\32\4\83\3\26\2\171\2\26\2\26\2\27\2\26\2\26\2\216\2\26\2\28\2\26\2\28\2\+    \\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\31\2\240\2\154\1\154\1\154\1\154\1\154\1\158\1\154\1\192\5\192\5\192\5\192\5\192\5\192\5\147\4\151\6\151\6\98\7\151\6\84\3\92\2\32\4\32\4\32\4\32\4\32\4\127\7\127\7\127\7\127\7\+    \\127\7\147\0\26\2\26\2\26\2\26\2\200\7\36\2\26\2\26\2\26\2\31\2\26\2\26\2\26\2\26\2\26\2\31\2\26\2\26\2\26\2\41\2\26\2\26\2\26\2\26\2\30\2\26\2\206\2\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\32\4\26\2\26\2\26\2\26\2\26\2\26\2\30\2\133\6\26\2\172\2\+    \\26\2\172\2\216\2\26\2\173\2\26\2\173\2\37\6\26\2\26\2\26\2\26\2\26\2\26\2\30\2\32\4\28\2\174\2\26\2\26\2\26\2\26\2\169\2\93\6\26\2\26\2\41\2\154\1\26\2\26\2\176\2\154\1\26\2\26\2\26\2\27\2\133\6\154\1\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\36\6\151\1\26\2\26\2\+    \\177\2\158\1\26\2\26\2\26\2\40\6\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\43\6\154\1\154\1\152\1\154\1\154\1\154\1\154\1\154\1\35\6\37\2\171\2\175\2\26\2\26\2\28\2\107\6\154\1\203\7\154\1\203\7\26\2\26\2\26\2\195\2\26\2\26\2\26\2\195\2\+    \\32\4\32\4\32\4\32\4\26\2\25\2\26\2\26\2\27\2\151\1\155\1\32\4\26\2\26\2\26\2\26\2\26\2\26\2\28\2\153\1\26\2\26\2\28\2\154\1\26\2\26\2\31\2\154\1\26\2\26\2\32\2\199\7\32\4\153\1\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\26\2\33\2\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\31\2\32\4\26\2\26\2\26\2\26\2\26\2\26\2\31\2\152\1\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\176\2\156\1\152\1\154\1\201\2\26\2\28\2\34\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\197\2\+    \\69\6\72\6\26\2\26\2\26\2\33\2\26\2\32\2\251\2\251\2\251\2\251\2\251\2\251\2\187\4\251\2\21\4\32\4\26\2\26\2\26\2\26\2\49\6\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\195\2\86\6\26\2\233\2\97\7\151\6\84\3\32\4\26\2\26\2\173\2\26\2\26\2\26\2\26\2\201\2\32\2\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\27\2\33\6\26\2\169\2\26\2\15\9\26\2\26\2\26\2\26\2\26\2\26\2\26\2\31\2\26\2\32\2\137\8\100\6\97\6\26\2\26\2\174\2\226\2\15\2\100\6\104\6\132\4\36\2\101\6\29\2\29\2\32\4\26\2\220\2\26\2\26\2\26\2\26\2\169\2\26\2\221\2\172\2\179\2\203\7\+    \\39\6\32\4\32\4\32\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\251\2\219\3\251\2\141\2\30\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\80\6\32\4\26\2\32\2\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\67\6\32\4\26\2\32\2\154\1\157\1\+    \\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\15\9\26\2\32\2\148\3\148\3\152\3\32\4\32\4\32\4\26\2\26\2\26\2\102\6\26\2\30\2\26\2\198\2\27\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\26\2\26\2\26\2\26\2\26\2\26\2\26\2\13\9\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\198\2\201\7\34\2\27\2\96\6\35\6\26\2\26\2\26\2\169\2\97\6\187\2\32\4\26\2\32\2\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\26\2\39\2\26\2\26\2\26\2\26\2\26\2\39\2\89\6\32\4\32\4\32\4\151\6\206\3\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\15\9\32\4\26\2\32\2\26\2\174\2\26\2\26\2\+    \\26\2\26\2\27\2\26\2\237\2\32\4\26\2\198\2\154\1\157\1\24\2\26\2\26\2\26\2\39\2\26\2\26\2\175\2\27\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\27\2\173\2\26\2\26\2\26\2\26\2\27\2\224\2\26\2\32\4\26\2\32\2\186\4\249\2\251\2\251\2\251\2\25\4\248\2\31\4\251\2\30\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\174\2\26\2\26\2\26\2\26\2\9\2\197\2\154\1\26\2\31\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\31\4\32\4\151\6\151\6\151\6\151\6\151\6\151\6\206\3\101\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\27\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\251\2\251\2\251\2\251\2\251\2\251\2\251\2\31\4\20\3\20\3\20\3\21\3\20\3\148\1\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\27\2\26\2\32\2\+    \\26\2\26\2\26\2\28\2\250\5\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\32\4\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\28\2\32\4\32\4\32\4\32\4\34\2\45\3\45\3\45\3\45\3\45\3\47\3\45\3\45\3\46\3\32\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\216\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\127\7\127\7\127\7\127\7\127\7\127\7\127\7\127\7\57\1\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\151\6\151\6\85\3\32\4\151\6\151\6\85\3\32\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\212\4\77\0\32\4\151\6\151\6\151\6\92\2\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\154\1\26\2\26\2\+    \\26\2\26\2\26\2\26\2\176\2\23\2\26\2\26\2\26\2\26\2\26\2\195\2\63\3\154\1\64\3\200\7\32\4\38\2\175\2\26\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\183\3\183\3\183\3\102\1\35\4\63\2\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\27\2\26\2\26\2\97\6\29\6\31\2\44\1\44\1\44\1\44\1\44\1\44\1\44\1\95\4\32\4\32\4\32\4\33\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\26\2\26\2\26\2\26\2\26\2\26\2\+    \\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\26\2\207\2\154\1\27\2\32\4\32\4\32\4\32\4\32\4\52\5\44\1\44\1\44\1\114\7\93\4\53\5\90\5\87\4\81\5\114\7\79\5\114\7\53\5\53\5\49\7\44\1\113\5\44\1\97\4\111\5\113\5\44\1\97\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\206\3\32\4\98\4\32\4\44\1\44\1\44\1\44\1\44\1\97\4\44\1\100\4\99\4\32\4\121\8\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\151\6\151\6\151\6\98\7\81\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\206\3\151\6\85\3\92\2\32\4\151\6\85\3\151\6\151\6\151\6\151\6\151\6\151\6\151\6\32\4\151\6\206\3\151\6\151\6\151\6\151\6\151\6\32\4\151\6\151\6\151\6\121\8\151\6\85\3\206\3\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\85\3\32\4\151\6\121\8\151\6\84\3\151\6\214\7\151\6\151\6\151\6\151\6\151\6\151\6\98\7\102\4\151\6\122\8\151\6\206\3\151\6\92\2\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\+    \\151\6\151\6\151\6\151\6\102\7\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\151\6\44\1\99\4"#  identifierTypesOffsets2BitMap :: Ptr Word16 identifierTypesOffsets2BitMap = Ptr-    "\128\0\103\5\2\7\65\9\33\5\97\9\173\3\129\9\161\9\193\9\225\9\1\10\33\10\65\10\97\10\129\10\159\0\240\7\117\1\134\5\191\0\192\0\205\4\161\10\193\10\151\6\225\10\1\11\33\11\65\11\97\11\129\11\161\11\184\1\179\6\206\6\60\7\212\6\212\6\212\6\83\1\212\6\122\7\150\7\193\11\212\7\225\11\143\3\1\12\226\2\-    \\121\3\137\3\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\59\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\192\0\192\0\192\0\192\0\207\0\192\0\33\12\65\12\97\12\129\12\161\12\193\12\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\225\12\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\137\3\-    \\1\13\92\3\137\3\102\2\33\2\33\13\65\13\97\13\81\4\129\13\40\8\161\13\205\3\193\13\225\13\1\14\33\14\65\14\97\14\237\4\1\5\195\8\129\14\161\14\193\14\225\14\1\15\154\4\33\15\65\15\97\15\129\15\239\0\161\15\193\15\225\15\8\4\1\16\205\3\205\3\205\3\240\3\224\3\134\2\4\4\4\4\4\4\4\4\4\4\4\4\-    \\4\4\4\4\4\4\148\2\205\3\205\3\205\3\205\3\180\2\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\205\3\205\3\33\16\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\-    \\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\192\0\192\0\65\16\17\6\4\4\4\4\41\6\2\9\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\205\3\97\16\205\3\205\3\205\3\205\3\129\16\13\1\4\4\4\4\-    \\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\15\1\253\7\0\3\14\3\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\161\16\4\4\4\4\4\4\4\4\4\4\-    \\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\193\16\85\1\90\7\225\16\1\17\22\0\0\0\47\0\68\0\33\17\33\17\65\17\4\4\4\4\4\4\4\4\97\17\129\17\46\3\60\3\4\4\241\5\4\4\4\4\61\6\161\17\40\4\4\4\4\4\58\4\113\4\193\17\4\4\101\8\72\8\225\17\212\6\-    \\212\6\207\1\217\1\180\7\1\18\212\6\33\18\226\6\4\4\4\4\4\4\4\4\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\152\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\144\1\47\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\5\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\73\5\51\1\51\1\-    \\163\8\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\137\3\137\3\97\0\4\4\4\4\4\4\4\4\4\4\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\249\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\51\1\-    \\51\1\51\1\51\1\3\2\166\5\188\5"#+    "\128\0\131\5\98\7\160\9\61\5\192\9\201\3\224\9\0\10\32\10\64\10\96\10\128\10\160\10\192\10\224\10\159\0\79\8\230\1\162\5\48\1\49\1\233\4\0\11\32\11\255\6\64\11\96\11\128\11\160\11\192\11\224\11\0\12\41\2\27\7\54\7\155\7\60\7\60\7\60\7\196\1\60\7\217\7\245\7\32\12\51\8\64\12\171\3\96\12\191\0\+    \\149\3\165\3\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\172\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\49\1\49\1\49\1\49\1\64\1\49\1\128\12\160\12\192\12\224\12\0\13\32\13\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\64\13\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\165\3\+    \\96\13\120\3\165\3\42\3\146\2\128\13\160\13\192\13\229\2\224\13\135\8\0\14\233\3\117\6\32\14\64\14\96\14\128\14\160\14\9\5\29\5\34\9\192\14\224\14\0\15\32\15\64\15\109\4\96\15\128\15\160\15\192\15\96\1\224\15\0\16\32\16\36\4\64\16\233\3\233\3\233\3\12\4\252\3\2\1\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\16\1\233\3\233\3\233\3\233\3\178\2\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\190\2\233\3\233\3\96\16\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\24\4\32\4\32\4\32\4\32\4\32\4\32\4\49\1\49\1\128\16\45\6\32\4\69\6\165\6\97\9\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\233\3\160\16\233\3\233\3\233\3\233\3\192\16\126\1\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\128\1\92\8\221\0\235\0\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\208\2\32\4\32\4\32\4\32\4\32\4\+    \\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\66\7\60\7\19\8\224\16\198\1\185\7\0\17\32\17\22\0\0\0\47\0\68\0\64\17\64\17\96\17\32\4\32\4\32\4\32\4\128\17\160\17\74\3\88\3\32\4\182\4\13\6\32\4\85\6\192\17\68\4\32\4\32\4\86\4\141\4\224\17\32\4\196\8\167\8\0\18\60\7\+    \\60\7\64\2\74\2\32\18\64\18\60\7\96\18\128\18\32\4\32\4\32\4\32\4\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\9\2\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\1\2\160\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\79\5\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\101\5\164\1\164\1\+    \\2\9\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\32\4\165\3\165\3\97\0\32\4\32\4\32\4\32\4\32\4\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\106\2\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\164\1\+    \\164\1\164\1\164\1\116\2\194\5\216\5"# 
lib/Unicode/Internal/Char/Security/IntentionalConfusables.hs view
@@ -1,4 +1,4 @@--- autogenerated from https://www.unicode.org/Public/15.1.0/ucd/intentional.txt+-- autogenerated from https://www.unicode.org/Public/security/16.0.0/intentional.txt -- | -- Module      : Unicode.Internal.Char.Security.IntentionalConfusables -- Copyright   : (c) 2022 Composewell Technologies and Contributors
lib/Unicode/Internal/Char/Security/Version.hs view
@@ -13,8 +13,8 @@ import Data.Version (Version, makeVersion)  -- | Version of the Unicode standard used by this package:--- [15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).+-- [16.0.0](https://www.unicode.org/versions/Unicode16.0.0/). -- -- @since 0.3.0 unicodeVersion :: Version-unicodeVersion = makeVersion [15,1,0]+unicodeVersion = makeVersion [16,0,0]
test/Unicode/Char/Identifiers/SecuritySpec.hs view
@@ -6,6 +6,7 @@  import Control.Monad (when) import Data.Foldable (traverse_)+import qualified Data.List.NonEmpty as NE import Unicode.Char.Identifiers.Security import Test.Hspec @@ -13,37 +14,38 @@ spec = do     describe "identifierTypes" do         it "some values" do-            let check ts = (ts ==) . identifierTypes-            minBound  `shouldSatisfy` check [NotCharacter]-            maxBound  `shouldSatisfy` check [NotCharacter]-            '1'       `shouldSatisfy` check [Recommended]-            'a'       `shouldSatisfy` check [Recommended]-            '\x0149'  `shouldSatisfy` check [Deprecated]-            '\x00AD'  `shouldSatisfy` check [DefaultIgnorable]-            '\x1F240' `shouldSatisfy` check [NotNFKC]-            '\x1F4FF' `shouldSatisfy` check [NotXID]-            '\x082C'  `shouldSatisfy` check [Exclusion]-            '\x1680'  `shouldSatisfy` check [Exclusion, NotXID]-            '\x01B9'  `shouldSatisfy` check [Obsolete]-            '\x05C6'  `shouldSatisfy` check [Obsolete, NotXID]-            '\x0234'  `shouldSatisfy` check [Technical]-            '\x2CF1'  `shouldSatisfy` check [Technical, Exclusion]-            '\x20E4'  `shouldSatisfy` check [Technical, NotXID]-            '\x018D'  `shouldSatisfy` check [Technical, Obsolete]-            '\x2E00'  `shouldSatisfy` check [Technical, Obsolete, NotXID]-            '\x018E'  `shouldSatisfy` check [UncommonUse]-            '\x16A40' `shouldSatisfy` check [UncommonUse, Exclusion]-            '\x05A2'  `shouldSatisfy` check [UncommonUse, Obsolete]-            '\xA8FC'  `shouldSatisfy` check [UncommonUse, Obsolete, NotXID]-            '\x025B'  `shouldSatisfy` check [UncommonUse, Technical]-            '\x1D1DE' `shouldSatisfy` check [UncommonUse, Technical, NotXID]-            '\x07FD'  `shouldSatisfy` check [LimitedUse]-            '\xA9CF'  `shouldSatisfy` check [LimitedUse, Exclusion]-            '\x070F'  `shouldSatisfy` check [LimitedUse, NotXID]-            '\x07FA'  `shouldSatisfy` check [LimitedUse, Obsolete]-            '\x1B6B'  `shouldSatisfy` check [LimitedUse, Technical]-            '\x2019'  `shouldSatisfy` check [Inclusion]-            '\x018F'  `shouldSatisfy` check [Recommended]+            let shouldBe' :: (HasCallStack) => Char -> NE.NonEmpty IdentifierType -> Expectation+                shouldBe' c = shouldBe (identifierTypes c)+            minBound  `shouldBe'` [NotCharacter]+            maxBound  `shouldBe'` [NotCharacter]+            '1'       `shouldBe'` [Recommended]+            'a'       `shouldBe'` [Recommended]+            '\x0149'  `shouldBe'` [Deprecated]+            '\x00AD'  `shouldBe'` [DefaultIgnorable]+            '\x1F240' `shouldBe'` [NotNFKC]+            '\x1F4FF' `shouldBe'` [NotXID]+            '\x082C'  `shouldBe'` [Exclusion]+            '\x1680'  `shouldBe'` [Exclusion, NotXID]+            '\x01B9'  `shouldBe'` [Obsolete]+            '\x05C6'  `shouldBe'` [Obsolete, NotXID]+            '\x0234'  `shouldBe'` [Technical]+            '\x2CF1'  `shouldBe'` [Technical, Exclusion]+            '\x20E4'  `shouldBe'` [Technical, NotXID]+            '\x018D'  `shouldBe'` [Technical, Obsolete]+            '\x2E00'  `shouldBe'` [Technical, Obsolete, NotXID]+            '\x018E'  `shouldBe'` [UncommonUse]+            '\x16A40' `shouldBe'` [UncommonUse, Exclusion]+            '\x05A2'  `shouldBe'` [UncommonUse, Obsolete]+            '\xA8FC'  `shouldBe'` [UncommonUse, Obsolete, NotXID]+            '\x025B'  `shouldBe'` [UncommonUse, Technical]+            '\x1D1DE' `shouldBe'` [UncommonUse, Technical, NotXID]+            '\x07FD'  `shouldBe'` [LimitedUse]+            '\xA9CF'  `shouldBe'` [LimitedUse, UncommonUse]+            '\x070F'  `shouldBe'` [LimitedUse, NotXID]+            '\x07FA'  `shouldBe'` [LimitedUse, Obsolete]+            '\x1B6B'  `shouldBe'` [LimitedUse, Technical]+            '\x2019'  `shouldBe'` [Inclusion]+            '\x018F'  `shouldBe'` [Recommended]         it "invariants" do             let {                 check c = do@@ -58,6 +60,6 @@             -- [TODO] more invariants             traverse_ check (enumFromTo minBound maxBound)     it "Identifier status is consistent with identifier types" do-        let checkChar c = all (== isAllowedInIdentifier c)-                              (isIdentifierTypeAllowed <$> identifierTypes c)+        let checkChar c = all ((== isAllowedInIdentifier c) . isIdentifierTypeAllowed)+                              (identifierTypes c)         traverse_ (`shouldSatisfy` checkChar) (enumFromTo minBound maxBound)
unicode-data-security.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                unicode-data-security-version:             0.4.0+version:             0.5.0 synopsis:            Unicode security mechanisms database description:   @unicode-data-security@ provides Haskell APIs to access the@@ -9,7 +9,7 @@   .   The Haskell data structures are generated programmatically from the database.   The latest Unicode version supported by this library is-  @<https://www.unicode.org/versions/Unicode15.1.0/ 15.1.0>@.+  @<https://www.unicode.org/versions/Unicode16.0.0/ 16.0.0>@. homepage:            http://github.com/composewell/unicode-data bug-reports:         https://github.com/composewell/unicode-data/issues license:             Apache-2.0@@ -20,8 +20,7 @@ category:            Data,Text,Unicode stability:           Experimental build-type:          Simple-tested-with:         GHC==8.0.2-                   , GHC==8.2.2+tested-with:         GHC==8.2.2                    , GHC==8.4.4                    , GHC==8.6.5                    , GHC==8.8.4@@ -30,8 +29,9 @@                    , GHC==9.2.8                    , GHC==9.4.8                    , GHC==9.6.5-                   , GHC==9.8.2-                   , GHC==9.10.1+                   , GHC==9.8.4+                   , GHC==9.10.2+                   , GHC==9.12.2  extra-doc-files:     Changelog.md@@ -83,8 +83,8 @@       Unicode.Internal.Bits.Security   hs-source-dirs: lib   build-depends:-      base             >= 4.7   && < 4.21-    , unicode-data     >= 0.6   && < 0.7+      base             >= 4.7   && < 4.23+    , unicode-data     >= 0.7   && < 0.8   -- Support for raw string literals unpacking is included in base ≥ 4.15   if impl(ghc < 9.0.0)     build-depends:@@ -99,7 +99,7 @@   other-modules:       Unicode.Char.Identifiers.SecuritySpec   build-depends:-      base             >= 4.7   && < 4.21+      base             >= 4.7   && < 4.23     , hspec            >= 2.0   && < 2.12     , unicode-data-security @@ -109,9 +109,9 @@   hs-source-dirs: bench   main-is: Main.hs   build-depends:-    base        >= 4.7   && < 4.21,+    base        >= 4.7   && < 4.23,     deepseq     >= 1.1   && < 1.6,-    tasty-bench >= 0.2.5 && < 0.4,+    tasty-bench >= 0.2.5 && < 0.5,     tasty       >= 1.4.1,     unicode-data-security   -- [NOTE] Recommendation of tasty-bench to reduce garbage collection noisiness