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 +8/−4
- README.md +1/−1
- bench/Main.hs +7/−3
- lib/Unicode/Internal/Char/Security/Confusables.hs +45/−1
- lib/Unicode/Internal/Char/Security/IdentifierStatus.hs +1/−1
- lib/Unicode/Internal/Char/Security/IdentifierType.hs +164/−161
- lib/Unicode/Internal/Char/Security/IntentionalConfusables.hs +1/−1
- lib/Unicode/Internal/Char/Security/Version.hs +2/−2
- test/Unicode/Char/Identifiers/SecuritySpec.hs +35/−33
- unicode-data-security.cabal +11/−11
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