packages feed

eo-phi-normalizer 2.3.0 → 3.0.0

raw patch · 228 files changed

+53586/−24550 lines, 228 filesdep +megaparsecdep +parser-combinatorsdep +prettyprintersetup-changed

Dependencies added: megaparsec, parser-combinators, prettyprinter, replace-megaparsec

Files

CHANGELOG.md view
@@ -6,6 +6,25 @@ and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## v3.0.0 - 2024-12-28++### Breaking changes++- Switch to built-in rules until `new.yaml` rules work ([#619](https://github.com/objectionary/eo-phi-normalizer/pull/619))+- Update EO to 0.50.0, use `yegor.yaml` by default ([#617](https://github.com/objectionary/eo-phi-normalizer/pull/617), [#641](https://github.com/objectionary/eo-phi-normalizer/pull/641))++### Changes and fixes++- Rename `Normal form` to `NF` ([#627](https://github.com/objectionary/eo-phi-normalizer/pull/627))+- Run CI on PRs to `develop` ([#638](https://github.com/objectionary/eo-phi-normalizer/pull/638))+- Sort options in command help messages ([#642](https://github.com/objectionary/eo-phi-normalizer/pull/642))++### Documentation and maintenance++- Add quick start to the README ([#632](https://github.com/objectionary/eo-phi-normalizer/pull/632))+- Remove the description of dataization ([#635](https://github.com/objectionary/eo-phi-normalizer/pull/635))+- chore(deps): update baptiste0928/cargo-install action to v3.2.0 ([#640](https://github.com/objectionary/eo-phi-normalizer/pull/640))+ ## v2.3.0 - 2024-12-05  ### Breaking changes
Setup.hs view
@@ -89,7 +89,8 @@                   , "bnfc --haskell -d -p Language.EO.Phi --generic -o src/ grammar/EO/Phi/Syntax.cf"                   , "cd src/Language/EO/Phi/Syntax"                   , "alex Lex.x"-                  , "happy Par.y"+                  , "happy --info Par.y"+                  , "rm -f Print.hs ErrM.hs Skel.hs Test.hs Abs.hs.bak Print.hs.bak"                   , "true"                   ] @@ -99,7 +100,6 @@              _ <- callCommand fullCommand             _ <- addLicense "Abs.hs"-            _ <- addLicense "Print.hs"              postConf simpleUserHooks args flags packageDesc localBuildInfo         }
app/Main.hs view
@@ -79,11 +79,11 @@ import Language.EO.Phi.Pipeline.EOTests.PrepareTests as PrepareTests import Language.EO.Phi.Report.Data (makeProgramReport, makeReport) import Language.EO.Phi.Report.Html (reportCSS, reportJS, toStringReport)-import Language.EO.Phi.Rules.Common+import Language.EO.Phi.Rules.Common (ApplicationLimits (ApplicationLimits), Context (..), LogEntry (..), applyRulesChainWith', applyRulesWith, objectSize) import Language.EO.Phi.Rules.Fast (fastYegorInsideOut, fastYegorInsideOutAsRule) import Language.EO.Phi.Rules.RunYegor (yegorRuleSet) import Language.EO.Phi.Rules.Yaml (RuleSet (rules, title), convertRuleNamed, parseRuleSetFromFile)-import Language.EO.Phi.Syntax (desugar, wrapBytesInBytes, wrapTermination)+import Language.EO.Phi.Syntax (desugar, errorExpectedDesugaredObject, wrapBytesInBytes, wrapTermination) import Language.EO.Phi.ToLaTeX import Language.EO.Test.YamlSpec (spec) import Options.Applicative hiding (metavar)@@ -275,52 +275,55 @@   , test :: Parser CLI'Test   } +rulesFile :: String+rulesFile = "yegor.yaml"+ commandParser :: CommandParser commandParser =   CommandParser{..}  where   metrics = do-    inputFile <- inputFileArg-    outputFile <- outputFileOption     bindingsPath <- bindingsPathOption+    outputFile <- outputFileOption+    inputFile <- inputFileArg     pure CLI'MetricsPhi{..}   printRules = do-    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, yegor.yaml is rendered.|])-    latex <- latexSwitch     compact <- compactSwitch+    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, {rulesFile} is rendered.|])+    latex <- latexSwitch     pure CLI'PrintRules{..}   rewrite = do-    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])     chain <- switch (long "chain" <> short 'c' <> help "Output rewriting steps.")+    dependencies <- dependenciesArg     json <- jsonSwitch-    latex <- latexSwitch-    outputFile <- outputFileOption-    let singleFlag :: String-        singleFlag = "single"-    single <- switch (long singleFlag <> short 's' <> help "Output a single expression.")-    singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output a single expression on a single line. Has effect only if the --{singleFlag} is enabled.|])     maxDepth <-       let maxValue = 10        in option auto (long "max-depth" <> metavar.int <> value maxValue <> help [fmt|Maximum depth of rules application. Defaults to {maxValue}.|])     maxGrowthFactor <-       let maxValue = 10        in option auto (long "max-growth-factor" <> metavar.int <> value maxValue <> help [fmt|The factor by which to allow the input term to grow before stopping. Defaults to {maxValue}.|])+    outputFile <- outputFileOption+    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])+    let singleFlag :: String+        singleFlag = "single"+    single <- switch (long singleFlag <> short 's' <> help "Output a single expression.")+    singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output a single expression on a single line. Has effect only if the --{singleFlag} is enabled.|])+    latex <- latexSwitch     inputFile <- inputFileArg-    dependencies <- dependenciesArg     pure CLI'RewritePhi{..}   dataize = do-    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])-    inputFile <- inputFileArg+    asPackage <- asPackageSwitch+    chain <- switch (long "chain" <> help "Display all the intermediate steps.")     dependencies <- dependenciesArg+    disabledAtomNames <- many $ strOption (long "disable-atom" <> metavar.atomName <> help "Name of an atom to disable.")+    enabledAtomNames <- many $ strOption (long "enable-atom" <> metavar.atomName <> help "Name of an atom to enable.")+    minimizeStuckTerms <- minimizeStuckTermsSwitch     outputFile <- outputFileOption     recursive <- switch (long "recursive" <> help "Apply dataization + normalization recursively.")-    chain <- switch (long "chain" <> help "Display all the intermediate steps.")-    wrapRawBytes <- switch (long "wrap-raw-bytes" <> help "Wrap raw bytes ⟦ Δ ⤍ 01- ⟧ as Φ.org.eolang.bytes(Δ ⤍ 01-) in the final output.")+    rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])     latex <- latexSwitch-    asPackage <- asPackageSwitch-    minimizeStuckTerms <- minimizeStuckTermsSwitch-    disabledAtomNames <- many $ strOption (long "disable-atom" <> metavar.atomName <> help "Name of an atom to disable.")-    enabledAtomNames <- many $ strOption (long "enable-atom" <> metavar.atomName <> help "Name of an atom to enable.")+    wrapRawBytes <- switch (long "wrap-raw-bytes" <> help "Wrap raw bytes ⟦ Δ ⤍ 01- ⟧ as Φ.org.eolang.bytes(Δ ⤍ 01-) in the final output.")+    inputFile <- inputFileArg     pure CLI'DataizePhi{..}   pipeline' =     CommandParser'Pipeline@@ -332,8 +335,8 @@           pure CLI'Pipeline'PrepareTests{..}       , printDataizeConfigs = do           configFile <- strOption (long "config" <> short 'c' <> metavar.file <> help [fmt|A pipeline tests configuration {metavarName.file}.|])-          phiPrefixesToStrip <- many $ strOption (long "strip-phi-prefix" <> short 'p' <> metavar.path <> help [fmt|{metavarName.path} prefix to remove in PHI file paths.|])           singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output configs on an single line.|])+          phiPrefixesToStrip <- many $ strOption (long "strip-phi-prefix" <> short 'p' <> metavar.path <> help [fmt|{metavarName.path} prefix to remove in PHI file paths.|])           pure CLI'Pipeline'PrintDataizeConfigs{..}       }   pipeline =@@ -556,17 +559,21 @@       ]   ObjectDispatch obj a ->     ObjectDispatch (wrapRawBytesIn obj) a-  GlobalObject -> GlobalObject-  ThisObject -> ThisObject   Termination -> wrapTermination+  obj@GlobalObject -> obj+  obj@GlobalObjectPhiOrg -> obj+  obj@ThisObject -> obj   obj@MetaSubstThis{} -> obj   obj@MetaContextualize{} -> obj   obj@MetaObject{} -> obj   obj@MetaTailContext{} -> obj   obj@MetaFunction{} -> obj   obj@ConstString{} -> wrapRawBytesIn (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   obj@ConstInt{} -> wrapRawBytesIn (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   obj@ConstFloat{} -> wrapRawBytesIn (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  -- * Main @@ -600,7 +607,7 @@           -- Temporary hack while rules are not stabilized.           -- Nothing -> return (True, "Yegor's rules (builtin)", [fastYegorInsideOutAsRule])           Nothing -> do-            ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/new.yaml")+            ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/yegor.yaml")             return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules)       unless (single || json || latex) $ logStrLn ruleSetTitle       bindingsWithDeps <- case deepMergePrograms (program' : deps) of@@ -696,6 +703,16 @@       bindingsWithDeps <- case deepMergePrograms (program' : deps) of         Left err -> throwIO (CouldNotMergeDependencies err)         Right (Program bindingsWithDeps) -> return bindingsWithDeps+      -- (builtin, ruleSetTitle, rules) <-+      --   case rulesPath of+      --     Just path -> do+      --       ruleSet <- parseRuleSetFromFile path+      --       return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules)+      --     -- Temporary hack while rules are not stabilized.+      --     -- Nothing -> return (True, "Yegor's rules (builtin)", [fastYegorInsideOutAsRule])+      --     Nothing -> do+      --       ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/new.yaml")+      --       return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules)       (builtin, _ruleSetTitle, rules) <-         case rulesPath of           Just path -> do
+ data/0.49.1/dependencies.md view
@@ -0,0 +1,3933 @@+# Dependencies++## [org/eolang/as-phi.phi](./org/eolang/as-phi.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      as-phi(x) ↦ ⟦+        λ ⤍ Lorg_eolang_as_phi+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      false ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-356-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-356-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        tmpdir ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1 ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      go ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32 ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        console ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-input ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-output ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdin ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      malloc ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      nan ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      negative-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      net ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      positive-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/rust.phi](./org/eolang/rust.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      rust(code, portal, params) ↦ ⟦+        λ ⤍ Lorg_eolang_rust+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54 ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12 ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6 ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18 ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8 ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        line-separator ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        os ↦ ⟦+          φ ↦ ξ.name,+          is-windows ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      true ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```+
+ data/0.49.1/org/eolang/as-phi.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      as-phi(x) ↦ ⟦+        λ ⤍ Lorg_eolang_as_phi+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      false ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-356-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-356-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        tmpdir ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1 ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      go ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32 ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        console ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-input ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-output ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdin ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/malloc.phi view
@@ -0,0 +1,52 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      malloc ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      nan ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      negative-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      net ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      positive-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/rust.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      rust(code, portal, params) ↦ ⟦+        λ ⤍ Lorg_eolang_rust+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54 ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12 ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6 ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18 ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8 ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        line-separator ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        os ↦ ⟦+          φ ↦ ξ.name,+          is-windows ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      true ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.1/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/dependencies.md view
@@ -0,0 +1,3920 @@+# Dependencies++## [org/eolang/as-phi.phi](./org/eolang/as-phi.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      as-phi(x) ↦ ⟦+        λ ⤍ Lorg_eolang_as_phi+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      false ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-357-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        tmpdir ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1 ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      go ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32 ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        console ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-input ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-output ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdin ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      malloc ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            copy(source, target, length) ↦ ⟦+              φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      nan ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      negative-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      net ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      positive-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54 ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12 ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6 ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18 ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8 ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        line-separator ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        os ↦ ⟦+          φ ↦ ξ.name,+          is-windows ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      true ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```+
+ data/0.49.3/org/eolang/as-phi.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      as-phi(x) ↦ ⟦+        λ ⤍ Lorg_eolang_as_phi+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16 ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      false ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18 ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-357-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      fs ↦ ⟦+        tmpdir ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1 ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      go ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32 ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32 ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        console ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-input ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        dead-output ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdin ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      io ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/malloc.phi view
@@ -0,0 +1,55 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      malloc ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            copy(source, target, length) ↦ ⟦+              φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      math ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      nan ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      negative-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      net ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10 ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22 ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64 ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      positive-infinity ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54 ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12 ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6 ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18 ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8 ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      structs ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        line-separator ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        os ↦ ⟦+          φ ↦ ξ.name,+          is-windows ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      sys ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      true ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      txt ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.3/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+  org ↦ ⟦+    eolang ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/dependencies.md view
@@ -0,0 +1,3904 @@+# Dependencies++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number() ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      false() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted() ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path() ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream() ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18() ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block() ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18() ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator() ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute() ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized() ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename() ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname() ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname() ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute() ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized() ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-357-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename() ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname() ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname() ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        tmpdir() ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1() ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      go() ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token() ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32() ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number() ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        console() ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console() ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console() ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-input() ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block() ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-output() ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block() ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        stdin() ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines() ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line() ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      malloc() ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size() ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            copy(source, target, length) ↦ ⟦+              φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin() ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos() ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan() ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan() ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max() ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min() ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo() ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod() ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs() ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      nan() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      negative-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      net() ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror() ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22() ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error() ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22() ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor() ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer() ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite() ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      positive-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length() ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty() ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted() ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys() ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values() ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54() ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found() ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12() ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6() ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18() ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8() ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        line-separator() ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        os() ↦ ⟦+          φ ↦ ξ.name,+          is-windows() ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      true() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty() ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length() ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled() ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left() ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right() ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed() ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased() ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased() ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number() ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```+
+ data/0.49.4/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number() ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      cti(delegate, level, message) ↦ ⟦+        φ ↦ ξ.delegate+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            φ ↦ Φ̇.error(ξ.ex),+            ex ↦ ∅+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      false() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        dir(file) ↦ ⟦+          φ ↦ ξ.file,+          is-directory ↦ Φ̇.true,+          made() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+            ),+            mkdir() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_made_mkdir+            ⟧+          ⟧,+          walk(glob) ↦ ⟦+            λ ⤍ Lorg_eolang_fs_dir_walk+          ⟧,+          deleted() ↦ ⟦+            walked ↦ ξ.ρ.walk("**").at.ρ,+            len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+                )+              ),+              ξ.ρ+            ),+            rec-delete(tup, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                Φ̇.true,+                Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+                    ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+                  )+                )+              )+            ⟧+          ⟧,+          tmpfile() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Directory %s does not exist, can't create temporary file",+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+                )+              )+            ),+            touch() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+            ⟧+          ⟧,+          open(mode, scope) ↦ ⟦+            φ ↦ Φ̇.error(+              Φ̇.txt.sprintf(+                "The file %s is a directory, can't open for I/O operations",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        file(path) ↦ ⟦+          φ ↦ ξ.path,+          is-directory() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_is_directory+          ⟧,+          exists() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_exists+          ⟧,+          touched() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+            ),+            touch() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_touched_touch+            ⟧+          ⟧,+          deleted() ↦ ⟦+            φ ↦ ξ.ρ.exists.if(+              Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+            ),+            delete() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_deleted_delete+            ⟧+          ⟧,+          size() ↦ ⟦+            λ ⤍ Lorg_eolang_fs_file_size+          ⟧,+          moved(target) ↦ ⟦+            φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+            move() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_moved_move+            ⟧+          ⟧,+          as-path() ↦ ⟦+            φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+          ⟧,+          open(mode, scope) ↦ ⟦+            access ↦ Φ̇.dataized(ξ.mode).as-bytes,+            read ↦ ξ.access.eq("r"),+            write ↦ ξ.access.eq("w"),+            append ↦ ξ.access.eq("a"),+            read-write ↦ ξ.access.eq("r+"),+            write-read ↦ ξ.access.eq("w+"),+            read-append ↦ ξ.access.eq("a+"),+            can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+            can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+              ξ.append+            ).as-bool,+            must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+            truncate ↦ ξ.write.or(ξ.write-read).as-bool,+            φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+              Φ̇.error(+                "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+              ),+              ξ.ρ.exists.not.if(+                ξ.must-exists.if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "File must exist for given access mod: '%s'",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+                    )+                  ),+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+                      ),+                      ξ.ρ+                    )+                  )+                ),+                ξ.truncate.if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+                        ),+                        ξ.process-file+                      ),+                      ξ.ρ+                    )+                  ),+                  Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+                )+              )+            ),+            process-file() ↦ ⟦+              λ ⤍ Lorg_eolang_fs_file_open_process_file+            ⟧,+            file-stream() ↦ ⟦+              read(size) ↦ ⟦+                φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+                input-block(buffer) ↦ ⟦+                  self ↦ ξ,+                  φ ↦ ξ.buffer,+                  read(size) ↦ ⟦+                    read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+                      ξ.auto-named-attr-at-216-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                        )+                      )+                    ).self,+                    auto-named-attr-at-216-18() ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't read from file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                read-bytes(size) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+                ⟧+              ⟧,+              write(buffer) ↦ ⟦+                φ ↦ ξ.output-block.write(ξ.buffer).self,+                output-block() ↦ ⟦+                  self ↦ ξ,+                  φ ↦ Φ̇.true,+                  write(buffer) ↦ ⟦+                    φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+                      ξ.auto-named-attr-at-258-18,+                      Φ̇.seq(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+                        )+                      )+                    ).self,+                    auto-named-attr-at-258-18() ↦ ⟦+                      self ↦ ξ,+                      φ ↦ Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Can't write to file with provided access mode '%s'",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+                        )+                      )+                    ⟧+                  ⟧+                ⟧,+                written-bytes(buffer) ↦ ⟦+                  λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        path(uri) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+          ).determined,+          joined(paths) ↦ ⟦+            joined-path ↦ Φ̇.string(+              Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+            ),+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+            ).normalized+          ⟧,+          separator() ↦ ⟦+            φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+          ⟧,+          posix(uri) ↦ ⟦+            determined ↦ ξ,+            separator ↦ "/",+            as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+            as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+            φ ↦ ξ.uri,+            is-absolute() ↦ ⟦+              φ ↦ ξ.ρ.uri.length.gt(0).and(+                ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+              )+            ⟧,+            normalized() ↦ ⟦+              uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+              is-absolute ↦ ξ.ρ.is-absolute.as-bool,+              has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                  ξ.ρ.separator+                )+              ),+              path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+                Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+                  Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+                )+              ),+              normalized ↦ ξ.ρ.uri.length.eq(0).if(+                ".",+                ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+                  ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                )+              ).as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+              ).determined,+              auto-named-attr-at-102-25(accum, segment) ↦ ⟦+                φ ↦ ξ.segment.eq("..").if(+                  ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                    ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+                  ),+                  ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                    ξ.accum, ξ.accum.with(ξ.segment)+                  )+                )+              ⟧+            ⟧,+            resolved(other) ↦ ⟦+              other-as-bytes ↦ ξ.other.as-bytes,+              φ ↦ ξ.ρ.ρ.posix(+                Φ̇.string(+                  ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+                    ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+                  )+                )+              ).normalized+            ⟧,+            basename() ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              slice-start-idx ↦ Φ̇.dataized(+                ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+              ).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                  ξ.pth,+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            extname() ↦ ⟦+              base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+              slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+              φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                "",+                Φ̇.string(+                  ξ.txt.slice(+                    ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                  ).as-bytes+                )+              )+            ⟧,+            dirname() ↦ ⟦+              pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+              txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+              len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+              φ ↦ Φ̇.string(+                ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                  ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                )+              )+            ⟧+          ⟧,+          win32(uri) ↦ ⟦+            separator ↦ "\\",+            φ ↦ ξ.validated(+              Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+            ).determined,+            validated(uri) ↦ ⟦+              determined ↦ ξ,+              separator ↦ ξ.ρ.separator,+              as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+              as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+              φ ↦ ξ.uri,+              is-drive-relative(uri) ↦ ⟦+                φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+              ⟧,+              is-root-relative(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+                )+              ⟧,+              separated-correctly(uri) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+                pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+                replaced ↦ Φ̇.dataized(+                  ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+                ).as-bytes,+                φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+                  Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+                )+              ⟧,+              is-absolute() ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                φ ↦ ξ.uri-as-bytes.size.eq(0).if(+                  Φ̇.false,+                  ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+                    ξ.uri-as-bytes.size.gt(1).and(+                      ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+                    )+                  )+                )+              ⟧,+              normalized() ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+                is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+                driveless ↦ Φ̇.dataized(+                  ξ.is-drive-relative.if(+                    ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+                  )+                ).as-bytes,+                has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+                  ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+                    ξ.ρ.separator+                  )+                ),+                path ↦ Φ̇.dataized(+                  Φ̇.txt.text(ξ.ρ.separator).joined(+                    Φ̇.structs.list(+                      Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+                    ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+                  )+                ).as-bytes,+                normalized ↦ ξ.driveless.size.eq(0).if(+                  ".",+                  ξ.is-drive-relative.if(+                    ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+                      ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+                    ),+                    ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  ).concat(ξ.path).concat(+                    ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+                  )+                ).as-bytes,+                φ ↦ ξ.ρ.ρ.validated(+                  ξ.normalized.eq("\\\\").if(+                    ξ.ρ.separator, Φ̇.string(ξ.normalized)+                  )+                ).determined,+                auto-named-attr-at-357-27(accum, segment) ↦ ⟦+                  φ ↦ ξ.segment.eq("..").if(+                    ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+                      ξ.accum.head,+                      ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+                        ξ.accum.with(ξ.segment), ξ.accum+                      )+                    ),+                    ξ.segment.eq(".").or(ξ.segment.eq("")).if(+                      ξ.accum, ξ.accum.with(ξ.segment)+                    )+                  )+                ⟧+              ⟧,+              resolved(other) ↦ ⟦+                uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+                other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+                other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+                φ ↦ ξ.ρ.ρ.validated(+                  Φ̇.string(+                    ξ.other-is-drive-relative.if(+                      ξ.valid-other,+                      ξ.other-is-root-relative.if(+                        ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+                          ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+                        ),+                        ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+                          ξ.valid-other+                        )+                      )+                    )+                  )+                ).normalized+              ⟧,+              basename() ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                slice-start-idx ↦ Φ̇.dataized(+                  ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+                ).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+                    ξ.pth,+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              extname() ↦ ⟦+                base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+                slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+                φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+                  "",+                  Φ̇.string(+                    ξ.txt.slice(+                      ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+                    ).as-bytes+                  )+                )+              ⟧,+              dirname() ↦ ⟦+                pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+                txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+                len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+                φ ↦ Φ̇.string(+                  ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+                    ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+                  )+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      fs() ↦ ⟦+        tmpdir() ↦ ⟦+          φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+          os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+          os-tmp-dir-1() ↦ ⟦+            tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+            tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+            temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+            tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+            userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+            φ ↦ Φ̇.sys.os.is-windows.if(+              ξ.tmp.eq("").if(+                ξ.temp.eq("").if(+                  ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+                ),+                ξ.tmp+              ),+              ξ.tmpdir.eq("").if(+                ξ.tmp.eq("").if(+                  ξ.temp.eq("").if(+                    ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+                  ),+                  ξ.tmp+                ),+                ξ.tmpdir+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      go() ↦ ⟦+        id ↦ Φ̇.dataized(+          Φ̇.malloc.of(+            8,+            ⟦+              φ ↦ ξ.m.put(ξ.m.id),+              m ↦ ∅+            ⟧+          )+        ).as-bytes,+        to(body) ↦ ⟦+          φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+          token() ↦ ⟦+            backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+            jump(value) ↦ ⟦+              id ↦ ξ.ρ.ρ.ρ.id+            ⟧,+            forward(res) ↦ ⟦+              φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+            ⟧+          ⟧,+          auto-named-attr-at-63-9(e) ↦ ⟦+            φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32() ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number() ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        bytes-as-input(bts) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+            input-block(data, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+                available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+                next ↦ Φ̇.dataized(+                  Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+                ).as-bytes,+                φ ↦ ξ.available.eq(0).if(+                  ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+                  ξ.ρ.ρ.input-block(+                    ξ.ρ.data.slice(+                      ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+                    ).as-bytes,+                    ξ.ρ.data.slice(0, ξ.next).as-bytes+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        console() ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+          posix-console() ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.posix(+                      "read",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.posix(+                          "write",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          windows-console() ↦ ⟦+            platform ↦ ξ,+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ Φ̇.dataized(+                    Φ̇.sys.win32(+                      "ReadFile",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+                      )+                    ).output+                  ).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧,+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple.empty,+                        Φ̇.sys.win32(+                          "WriteFile",+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(+                                Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+                              ),+                              ξ.buffer+                            ),+                            ξ.buffer.size+                          )+                        ).code+                      ),+                      ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-input() ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block() ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-output() ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block() ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        input-length(input) ↦ ⟦+          chunk ↦ 4096,+          φ ↦ ξ.rec-read(ξ.input, 0),+          rec-read(input, length) ↦ ⟦+            read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+            φ ↦ ξ.read-bytes.size.eq(0).if(+              ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        malloc-as-output(allocated) ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block(0).write(ξ.buffer).self,+            output-block(offset) ↦ ⟦+              self ↦ ξ,+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+                    ),+                    ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        stdin() ↦ ⟦+          φ ↦ ξ.all-lines,+          all-lines() ↦ ⟦+            φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+            separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+            rec-read(line, buffer, first) ↦ ⟦+              φ ↦ ξ.line.length.eq(0).if(+                Φ̇.string(ξ.buffer),+                ξ.ρ.rec-read(+                  ξ.ρ.ρ.next-line,+                  ξ.first.if(+                    ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+                  ),+                  Φ̇.false+                )+              )+            ⟧+          ⟧,+          next-line() ↦ ⟦+            first ↦ Φ̇.io.console.read(1).self,+            φ ↦ ξ.first.as-bytes.size.eq(0).if(+              "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+            ),+            rec-read(input, buffer) ↦ ⟦+              char ↦ ξ.input.as-bytes,+              next ↦ ξ.input.read(1).self,+              φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+                ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+              ).if(+                Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+              )+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        stdout(text) ↦ ⟦+          φ ↦ Φ̇.seq(+            Φ̇.tuple(+              Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+            )+          )+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        tee-input(input, output) ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+              ξ.size+            ).self,+            input-block(input, output, buffer) ↦ ⟦+              self ↦ ξ,+              φ ↦ ξ.buffer,+              read(size) ↦ ⟦+                read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+                written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+                φ ↦ Φ̇.seq(+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+                    ξ.ρ.ρ.input-block(+                      ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+                    )+                  )+                ).self+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/malloc.phi view
@@ -0,0 +1,55 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      malloc() ↦ ⟦+        empty(scope) ↦ ⟦+          φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+        ⟧,+        for(object, scope) ↦ ⟦+          bts ↦ Φ̇.dataized(ξ.object).as-bytes,+          φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+          auto-named-attr-at-96-9(m) ↦ ⟦+            φ ↦ Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+              )+            )+          ⟧+        ⟧,+        of(size, scope) ↦ ⟦+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_malloc_of_φ+          ⟧,+          allocated(id) ↦ ⟦+            φ ↦ ξ.get,+            get ↦ ξ.read(0, ξ.size),+            size() ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_size+            ⟧,+            resized(new-size) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_resized+            ⟧,+            copy(source, target, length) ↦ ⟦+              φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+            ⟧,+            read(offset, length) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_read+            ⟧,+            write(offset, data) ↦ ⟦+              λ ⤍ Lorg_eolang_malloc_of_allocated_write+            ⟧,+            put(object) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+                )+              )+            ⟧+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        angle(value) ↦ ⟦+          φ ↦ ξ.value,+          in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+          in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+          sin() ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_sin+          ⟧,+          cos() ↦ ⟦+            λ ⤍ Lorg_eolang_math_angle_cos+          ⟧,+          tan() ↦ ⟦+            cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+            φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+          ⟧,+          ctan() ↦ ⟦+            sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+            φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        e ↦ 2.718281828459045,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        integral(fun, a, b, n) ↦ ⟦+          subsection(a, b) ↦ ⟦+            φ ↦ ξ.b.minus(ξ.a).div(6).times(+              ξ.ρ.fun(ξ.a).plus(+                4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+              )+            )+          ⟧,+          φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+          auto-named-attr-at-50-11(sum) ↦ ⟦+            φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+            auto-named-attr-at-53-16(left) ↦ ⟦+              right ↦ ξ.ρ.ρ.b,+              step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple.empty,+                    Φ̇.while(+                      ξ.auto-named-attr-at-59-21,+                      ⟦+                        φ ↦ Φ̇.true,+                        i ↦ ∅+                      ⟧+                    )+                  ),+                  ξ.ρ.sum+                )+              ),+              auto-named-attr-at-59-21(i) ↦ ⟦+                φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+                  Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple.empty,+                          ξ.ρ.ρ.sum.put(+                            ξ.ρ.ρ.sum.as-number.plus(+                              ξ.ρ.ρ.ρ.subsection(+                                ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+                              )+                            )+                          )+                        ),+                        ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+                      ),+                      Φ̇.true+                    )+                  ),+                  Φ̇.false+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        numbers(sequence) ↦ ⟦+          φ ↦ ξ.sequence,+          max() ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get max number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.negative-infinity,+                ⟦+                  max ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+                ⟧+              )+            )+          ⟧,+          min() ↦ ⟦+            lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+            φ ↦ ξ.lst.is-empty.if(+              Φ̇.error("Can't get min number from empty sequence"),+              ξ.lst.reduced(+                Φ̇.positive-infinity,+                ⟦+                  min ↦ ∅,+                  item ↦ ∅,+                  φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+                ⟧+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        pi ↦ 3.141592653589793,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        random(seed) ↦ ⟦+          fixed ↦ ξ,+          φ ↦ ξ.seed.as-number.div(+            Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+          ),+          next ↦ ξ.ρ.random(+            ξ.seed.times(25214903917).plus(11).as-i64.and(+              Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+            ).as-i64.as-number+          ).fixed,+          pseudo() ↦ ⟦+            const-1 ↦ 35,+            const-2 ↦ 53,+            const-3 ↦ 17,+            one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+            φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+            time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+              ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+            ).as-i64.plus(+              ξ.time-bytes.left(ξ.const-3).and(+                ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+              ).as-i64.plus(+                ξ.time-bytes.and(+                  ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+                ).as-i64+              )+            ).as-number,+            time-bytes ↦ Φ̇.sys.os.is-windows.if(+              Φ̇.sys.win32(+                "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+              ).milliseconds,+              ⟦+                timeval ↦ Φ̇.sys.posix(+                  "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+                ).output,+                φ ↦ ξ.timeval.tv-sec.times(1000).plus(+                  ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+                )+              ⟧+            ).as-i64.as-bytes+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      math() ↦ ⟦+        real(num) ↦ ⟦+          φ ↦ ξ.num,+          exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+          mod(x) ↦ ⟦+            dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            divisor ↦ Φ̇.number(ξ.x.as-bytes),+            φ ↦ ξ.divisor.eq(0).if(+              Φ̇.error("Can't calculate mod by zero"),+              ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+            ),+            abs-mod() ↦ ⟦+              dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+              divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+              φ ↦ ξ.dividend-abs.minus(+                ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+              )+            ⟧+          ⟧,+          abs() ↦ ⟦+            value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+            φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+          ⟧,+          pow(x) ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_pow+          ⟧,+          sqrt() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_sqrt+          ⟧,+          ln() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_ln+          ⟧,+          acos() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_acos+          ⟧,+          asin() ↦ ⟦+            λ ⤍ Lorg_eolang_math_real_asin+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      nan() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      negative-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      net() ↦ ⟦+        socket(address, port) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+          ),+          htons(port) ↦ ⟦+            bts ↦ ξ.port.as-i16.as-bytes,+            φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+              ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+            ).as-i16+          ⟧,+          as-input(recv) ↦ ⟦+            read(size) ↦ ⟦+              φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+              input-block(buffer) ↦ ⟦+                self ↦ ξ,+                φ ↦ ξ.buffer,+                read(size) ↦ ⟦+                  read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          as-output(send) ↦ ⟦+            write(buffer) ↦ ⟦+              φ ↦ ξ.output-block.write(ξ.buffer).self,+              output-block() ↦ ⟦+                self ↦ ξ,+                φ ↦ Φ̇.true,+                write(buffer) ↦ ⟦+                  φ ↦ Φ̇.seq(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+                    )+                  ).self+                ⟧+              ⟧+            ⟧+          ⟧,+          posix-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.posix(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+                ),+                Φ̇.sys.posix.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.posix(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+                  Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+              Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.posix(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.posix(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', reason: %s",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            strerror() ↦ ⟦+              φ ↦ Φ̇.sys.posix(+                "strerror",+                Φ̇.tuple(+                  Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+                )+              )+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+              φ ↦ ξ.closed.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a posix socket '%d', reason: '%s'",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              φ ↦ ξ.ρ.sd.eq(-1).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't create a posix socket, reason: '%s'",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+                  )+                ),+                Φ̇.try(+                  ξ.scope,+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.ρ.closed-socket(ξ.ρ.sd)+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+              auto-named-attr-at-276-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.posix(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+              auto-named-attr-at-300-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.posix(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.posix(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.strerror.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.strerror.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+                  )+                ),+                auto-named-attr-at-325-22() ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.posix(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on posix socket '%d', reason: %s",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧,+          win-socket(address, port) ↦ ⟦+            sd ↦ Φ̇.sys.win32(+              "socket",+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+                ),+                Φ̇.sys.win32.ipproto-tcp+              )+            ).code,+            inet-addr ↦ Φ̇.sys.win32(+              "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+            ).code,+            inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+                  )+                )+              ),+              ξ.inet-addr.as-i32+            ),+            sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+              Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+            ),+            scoped-socket(sockfd) ↦ ⟦+              as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+              as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+              send(buffer) ↦ ⟦+                buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+                sent ↦ Φ̇.sys.win32(+                  "send",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+                    ),+                    0+                  )+                ).code,+                φ ↦ ξ.sent.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to send message through the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.sent+                )+              ⟧,+              recv(size) ↦ ⟦+                received ↦ Φ̇.sys.win32(+                  "recv",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+                  )+                ).called,+                φ ↦ ξ.received.code.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Failed to receive data from the socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+                      )+                    )+                  ),+                  ξ.received.output+                )+              ⟧+            ⟧,+            last-error() ↦ ⟦+              φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+            ⟧,+            closed-socket(sockfd) ↦ ⟦+              closed ↦ Φ̇.sys.win32(+                "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+              ).code,+              φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't close a win32 socket '%d', WSA error code: %d",+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+                    )+                  )+                ),+                Φ̇.true+              )+            ⟧,+            safe-socket(scope) ↦ ⟦+              started-up ↦ Φ̇.sys.win32(+                "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+              ).code,+              cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+              φ ↦ ξ.started-up.eq(0).not.if(+                Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+                  )+                ),+                Φ̇.try(+                  ξ.ρ.sd.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Couldn't create a win32 socket, WSA error code: %d",+                        Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+                      )+                    ),+                    Φ̇.try(+                      ξ.scope,+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.ρ.closed-socket(ξ.ρ.sd)+                    )+                  ),+                  ⟦+                    φ ↦ Φ̇.error(ξ.ex),+                    ex ↦ ∅+                  ⟧,+                  ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+                    Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+                  )+                )+              )+            ⟧,+            connect(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+              auto-named-attr-at-485-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                connected ↦ Φ̇.sys.win32(+                  "connect",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                φ ↦ ξ.connected.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                          ),+                          ξ.sock.sd+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+                )+              ⟧+            ⟧,+            listen(scope) ↦ ⟦+              φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+              auto-named-attr-at-509-10() ↦ ⟦+                sock ↦ ξ.ρ.ρ,+                bound ↦ Φ̇.sys.win32(+                  "bind",+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                    ),+                    ξ.sock.sockaddr.size+                  )+                ).code,+                listened ↦ Φ̇.sys.win32(+                  "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+                ).code,+                φ ↦ ξ.bound.eq(-1).if(+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+                          ),+                          ξ.sock.port+                        ),+                        ξ.sock.last-error.code+                      )+                    )+                  ),+                  ξ.listened.eq(-1).if(+                    Φ̇.error(+                      Φ̇.txt.sprintf(+                        "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+                        Φ̇.tuple(+                          Φ̇.tuple(+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+                            ),+                            ξ.sock.sd+                          ),+                          ξ.sock.last-error.code+                        )+                      )+                    ),+                    Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+                  )+                ),+                auto-named-attr-at-534-22() ↦ ⟦+                  φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+                  accept(scope) ↦ ⟦+                    sock ↦ ξ.ρ.ρ.sock,+                    client-sockfd ↦ Φ̇.sys.win32(+                      "accept",+                      Φ̇.tuple(+                        Φ̇.tuple(+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+                        ),+                        ξ.sock.sockaddr.size+                      )+                    ).code,+                    φ ↦ Φ̇.try(+                      ξ.client-sockfd.eq(-1).if(+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+                            Φ̇.tuple(+                              Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+                            )+                          )+                        ),+                        Φ̇.dataized(+                          ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+                        ).as-bytes+                      ),+                      ⟦+                        φ ↦ Φ̇.error(ξ.ex),+                        ex ↦ ∅+                      ⟧,+                      ξ.sock.closed-socket(ξ.client-sockfd)+                    )+                  ⟧+                ⟧+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor() ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer() ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite() ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      positive-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length() ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        bytes-as-array(bts) ↦ ⟦+          bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+          φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+          slice-byte(tup, index) ↦ ⟦+            φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+              ξ.ρ.slice-byte(+                ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+              ),+              ξ.tup+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        hash-code-of(input) ↦ ⟦+          input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+          size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+          magic-number ↦ 31.as-i64,+          φ ↦ ξ.rec-hash-code(0, 0),+          rec-hash-code(acc, index) ↦ ⟦+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.acc.as-number,+              ξ.ρ.rec-hash-code(+                ξ.ρ.magic-number.times(ξ.acc).plus(+                  Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+                    ξ.ρ.input-as-bytes.slice(ξ.index, 1)+                  ).as-i64+                ),+                ξ.index.plus(1)+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        list(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-empty() ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.origin.length)+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+          ⟧,+          withi(index, item) ↦ ⟦+            φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+              ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+            )+          ⟧,+          reducedi(start, func) ↦ ⟦+            origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+            rec-reduced(accum, index) ↦ ⟦+              idx-as-number ↦ ξ.index.as-number,+              next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+              φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+                ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+              ),+              accumulated ↦ ξ.ρ.func(+                ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+              )+            ⟧+          ⟧,+          reduced(start, func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+            auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+            ⟧+          ⟧,+          mappedi(func) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+            ),+            auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+            ⟧+          ⟧,+          mapped(func) ↦ ⟦+            φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+            auto-named-attr-at-103-30(item, idx) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          eachi(func) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+            auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+              φ ↦ Φ̇.seq(+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+                )+              )+            ⟧+          ⟧,+          each(func) ↦ ⟦+            φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+            auto-named-attr-at-124-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          withouti(i) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+            ),+            auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          without(element) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(+              ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+            ),+            auto-named-attr-at-142-20(accum, item) ↦ ⟦+              φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          eq(other) ↦ ⟦+            φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+              ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+            ),+            auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+              φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+            ⟧+          ⟧,+          concat(passed) ↦ ⟦+            φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+              ξ.ρ,+              ⟦+                φ ↦ ξ.accum.with(ξ.item),+                accum ↦ ∅,+                item ↦ ∅+              ⟧+            )+          ⟧,+          index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+            auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+              φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          last-index-of(wanted) ↦ ⟦+            φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+            auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+              φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+            ⟧+          ⟧,+          contains(element) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+          ⟧,+          sorted() ↦ ⟦+            φ ↦ ξ.ρ+          ⟧,+          filteredi(func) ↦ ⟦+            origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+            rec-filtered(idx-as-bytes, accum) ↦ ⟦+              original ↦ ξ.ρ.ρ.origin,+              index ↦ ξ.idx-as-bytes.as-number,+              item ↦ ξ.ρ.ρ.origin.at(ξ.index),+              φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+                ξ.accum,+                ξ.ρ.rec-filtered(+                  1.plus(ξ.index).as-bytes,+                  ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+                )+              )+            ⟧+          ⟧,+          filtered(func) ↦ ⟦+            φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+            auto-named-attr-at-243-32(item, index) ↦ ⟦+              φ ↦ ξ.ρ.func(ξ.item)+            ⟧+          ⟧,+          head(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            φ ↦ Φ̇.switch(+              Φ̇.tuple(+                Φ̇.tuple(+                  Φ̇.tuple(+                    Φ̇.tuple(+                      Φ̇.tuple.empty,+                      Φ̇.tuple(+                        Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+                      )+                    ),+                    Φ̇.tuple(+                      Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+                    )+                  ),+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+                  )+                ),+                Φ̇.tuple(+                  Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+                  ξ.ρ.ρ.list(+                    ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+                  )+                )+              )+            ),+            auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+              φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+            ⟧+          ⟧,+          tail(index) ↦ ⟦+            idx ↦ Φ̇.dataized(ξ.index).as-bytes,+            start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+            φ ↦ 0.gt(ξ.start).if(+              ξ.ρ,+              ξ.ρ.ρ.list(+                ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+              )+            ),+            auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+              φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        map(pairs) ↦ ⟦+          φ ↦ ξ.auto-named-attr-at-37-6.initialized,+          entry(key, value) ↦ ⟦⟧,+          initialized(entries) ↦ ⟦+            initialized ↦ ξ,+            size ↦ ξ.entries.length,+            keys() ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.key,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            values() ↦ ⟦+              φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+                ⟦+                  φ ↦ ξ.entry.value,+                  entry ↦ ∅+                ⟧+              )+            ⟧,+            has(key) ↦ ⟦+              φ ↦ ξ.ρ.found(ξ.key).exists+            ⟧,+            found(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+              rec-key-search(found, index) ↦ ⟦+                entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+                φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+                  ξ.found,+                  ξ.ρ.rec-key-search(+                    ξ.ρ.hash.eq(ξ.entry.hash).if(+                      ξ.auto-named-attr-at-133-54, ξ.found+                    ),+                    ξ.index.plus(1)+                  )+                ),+                auto-named-attr-at-133-54() ↦ ⟦+                  exists ↦ Φ̇.true,+                  get ↦ ξ.ρ.entry.value+                ⟧+              ⟧,+              not-found() ↦ ⟦+                exists ↦ Φ̇.false,+                get ↦ Φ̇.error(+                  Φ̇.txt.sprintf(+                    "Object by hash code %d from given key does not exists",+                    Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+                  )+                )+              ⟧+            ⟧,+            with(key, value) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-153-50+                ).origin.with(ξ.auto-named-attr-at-154-12)+              ),+              auto-named-attr-at-153-50(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧,+              auto-named-attr-at-154-12() ↦ ⟦+                key ↦ ξ.ρ.key,+                value ↦ ξ.ρ.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧,+            without(key) ↦ ⟦+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+              φ ↦ ξ.ρ.ρ.ρ.map.initialized(+                Φ̇.structs.list(ξ.ρ.entries).filtered(+                  ξ.auto-named-attr-at-167-48+                ).origin+              ),+              auto-named-attr-at-167-48(entry) ↦ ⟦+                φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+              ⟧+            ⟧+          ⟧,+          auto-named-attr-at-37-6() ↦ ⟦+            pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+            φ ↦ ξ.ρ.initialized(+              ξ.pairs-size.eq(0).if(+                Φ̇.tuple.empty,+                ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+              )+            ),+            rec-rebuild(accum, index, hashes) ↦ ⟦+              entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+              hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+              φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+                ξ.accum,+                ξ.ρ.rec-rebuild(+                  ξ.hashes.contains(ξ.hash).if(+                    ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+                  ),+                  ξ.index.plus(1),+                  ξ.hashes.with(ξ.hash)+                )+              ),+              auto-named-attr-at-59-18() ↦ ⟦+                key ↦ ξ.ρ.entry.key,+                value ↦ ξ.ρ.entry.value,+                hash ↦ ξ.ρ.hash+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        range-of-ints(start, end) ↦ ⟦+          φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+            0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+          ).if(+            Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+            Φ̇.error("Some of the arguments are not integers")+          ),+          auto-named-attr-at-42-8() ↦ ⟦+            build(num) ↦ ⟦+              φ ↦ ξ.num,+              next ↦ ξ.ρ.build(1.plus(ξ.φ))+            ⟧,+            φ ↦ ξ.build(ξ.ρ.start)+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        range(start, end) ↦ ⟦+          φ ↦ Φ̇.structs.list(+            ξ.start.lt(ξ.end).if(+              ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+            )+          ),+          appended(acc, current) ↦ ⟦+            φ ↦ ξ.current.lt(ξ.ρ.end).if(+              ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      structs() ↦ ⟦+        set(lst) ↦ ⟦+          φ ↦ ξ.initialized(+            Φ̇.structs.map(+              Φ̇.structs.list(ξ.lst).mapped(+                ⟦+                  φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+                  item ↦ ∅+                ⟧+              ).origin+            )+          ).initialized,+          initialized(map) ↦ ⟦+            initialized ↦ ξ,+            φ ↦ ξ.map.keys,+            size ↦ ξ.map.size,+            with(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+            ⟧,+            without(item) ↦ ⟦+              φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+            ⟧,+            has(item) ↦ ⟦+              φ ↦ ξ.ρ.map.has(ξ.item)+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      switch(cases) ↦ ⟦+        len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+        φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+        case-at(index) ↦ ⟦+          case ↦ ξ.ρ.cases.at(ξ.index),+          φ ↦ ξ.index.eq(ξ.ρ.len).if(+            Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        getenv(name) ↦ ⟦+          φ ↦ Φ̇.sys.os.is-windows.if(+            Φ̇.sys.win32(+              "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+            ),+            Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+          ).output+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        line-separator() ↦ ⟦+          φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        os() ↦ ⟦+          φ ↦ ξ.name,+          is-windows() ↦ ⟦+            os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+            φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+          ⟧,+          is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+          is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+          name() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_os_name+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        posix(name, args) ↦ ⟦+          stdin-fileno ↦ 0,+          stdout-fileno ↦ 1,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          inaddr-none ↦ -1,+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_posix_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          timeval(tv-sec, tv-usec) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      sys() ↦ ⟦+        win32(name, args) ↦ ⟦+          std-input-handle ↦ -10,+          std-output-handle ↦ -11,+          af-inet ↦ 2,+          sock-stream ↦ 1,+          ipproto-tcp ↦ 6,+          invalid-socket ↦ -1,+          socket-error ↦ -1,+          inaddr-none ↦ -1,+          winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+          φ() ↦ ⟦+            λ ⤍ Lorg_eolang_sys_win32_φ+          ⟧,+          return(code, output) ↦ ⟦+            called ↦ ξ,+            φ ↦ ξ.output+          ⟧,+          system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+            self ↦ ξ+          ⟧,+          sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+            sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+            size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+              ξ.sin-zero.size+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      true() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty() ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length() ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        regex(expression) ↦ ⟦+          φ ↦ ξ.compiled,+          compiled() ↦ ⟦+            λ ⤍ Lorg_eolang_txt_regex_compiled+          ⟧,+          pattern(serialized) ↦ ⟦+            matches(txt) ↦ ⟦+              φ ↦ ξ.ρ.match(ξ.txt).next.exists+            ⟧,+            match(txt) ↦ ⟦+              next ↦ ξ.matched-from-index(1, 0).matched,+              matched-from-index(position, start) ↦ ⟦+                λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+              ⟧,+              matched(position, start, from, to, groups) ↦ ⟦+                matched ↦ ξ,+                groups-count ↦ ξ.groups.length,+                exists ↦ ξ.start.gte(0),+                next ↦ ξ.exists.if(+                  ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+                  Φ̇.error("Matched block does not exist, can't get next")+                ),+                text ↦ ξ.exists.if(+                  ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+                ),+                group(index) ↦ ⟦+                  φ ↦ ξ.ρ.groups.at(ξ.index)+                ⟧+              ⟧,+              not-matched(position) ↦ ⟦+                φ ↦ ξ.ρ.matched(+                  ξ.position,+                  -1,+                  Φ̇.error(+                    "Matched block does not exist, can't get 'from' position"+                  ),+                  Φ̇.error(+                    "Matched block does not exist, can't get 'to' position"+                  ),+                  Φ̇.error("Matched block does not exist, can't get groups")+                )+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sscanf(format, read) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sscanf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        text(origin) ↦ ⟦+          φ ↦ ξ.origin,+          is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+          is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+          is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+          slice(start, len) ↦ ⟦+            φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+          ⟧,+          trimmed-left() ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.index,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+                )+              )+            ⟧+          ⟧,+          trimmed-right() ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+            φ ↦ 0.eq(ξ.len).if(+              ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+            ),+            first-non-space-index(index) ↦ ⟦+              char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+              φ ↦ -1.eq(ξ.index).if(+                0,+                " ".eq(ξ.char).if(+                  ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          trimmed() ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+          ⟧,+          joined(items) ↦ ⟦+            delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            first ↦ ξ.items.at(0),+            len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+            not-empty ↦ Φ̇.dataized(+              1.eq(ξ.len).if(+                ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+              )+            ).as-bytes,+            φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+            with-delimiter(acc, index) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.index).if(+                ξ.acc,+                ξ.ρ.with-delimiter(+                  ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+                )+              )+            ⟧+          ⟧,+          repeated(times) ↦ ⟦+            bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+            amount ↦ Φ̇.dataized(ξ.times).as-bytes,+            φ ↦ 0.gt(ξ.amount).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+                )+              ),+              ξ.ρ.ρ.text(+                0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+              )+            ),+            rec-repeated(accum, index) ↦ ⟦+              φ ↦ ξ.ρ.amount.eq(ξ.index).if(+                ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+              )+            ⟧+          ⟧,+          contains(substring) ↦ ⟦+            φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+          ⟧,+          ends-with(substring) ↦ ⟦+            substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+            φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+          ⟧,+          starts-with(substring) ↦ ⟦+            φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+          ⟧,+          index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(-1, ξ.rec-index-of-substr(0)),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ ξ.ρ.end.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          last-index-of(substring) ↦ ⟦+            self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+            substr ↦ Φ̇.string(ξ.substr-as-bytes),+            sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+            φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+              ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+            ).if(+              -1,+              ξ.rec-index-of-substr(+                Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+              )+            ),+            rec-index-of-substr(idx) ↦ ⟦+              φ ↦ 0.eq(ξ.idx).if(+                ξ.contains.if(ξ.idx, -1),+                ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+              ),+              contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+            ⟧,+            substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+          ⟧,+          up-cased() ↦ ⟦+            ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+            ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+            distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+                )+              )+            ),+            ascii(char) ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+            ⟧,+            auto-named-attr-at-258-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+                )+              )+            ⟧+          ⟧,+          low-cased() ↦ ⟦+            ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+            ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+            φ ↦ ξ.ρ.ρ.text(+              Φ̇.string(+                Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+                  Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+                )+              )+            ),+            auto-named-attr-at-291-22(accum, byte) ↦ ⟦+              ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+              φ ↦ ξ.accum.concat(+                ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+                  ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+                    7, 1+                  ),+                  ξ.byte+                )+              )+            ⟧+          ⟧,+          at(i) ↦ ⟦+            len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+            idx ↦ Φ̇.dataized(ξ.i).as-bytes,+            index ↦ Φ̇.dataized(+              0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+            ).as-bytes,+            φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+                )+              ),+              ξ.ρ.slice(ξ.index, 1)+            )+          ⟧,+          replaced(target, replacement) ↦ ⟦+            self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+            reinit ↦ Φ̇.string(ξ.self-as-bytes),+            matched ↦ ξ.target.match(ξ.reinit).next,+            φ ↦ ξ.matched.exists.not.if(+              Φ̇.txt.text(ξ.reinit),+              Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+            ),+            rec-replaced(block, accum, start) ↦ ⟦+              φ ↦ ξ.block.exists.if(+                ξ.ρ.rec-replaced(+                  ξ.block.next,+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+                  ).concat(ξ.ρ.replacement),+                  ξ.block.to+                ),+                Φ̇.string(+                  ξ.accum.concat(+                    ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+                  )+                )+              )+            ⟧+          ⟧,+          as-number() ↦ ⟦+            scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+            φ ↦ ξ.scanned.length.eq(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+                )+              ),+              ξ.scanned.tail+            )+          ⟧,+          split(delimiter) ↦ ⟦+            delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+            self-as-bytes ↦ ξ.ρ.origin.as-bytes,+            len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+            φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+            rec-split(accum, start, current) ↦ ⟦+              φ ↦ ξ.ρ.len.eq(ξ.current).if(+                ξ.with-substr,+                ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+                  ξ.ρ.rec-split(+                    ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+                  ),+                  ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+                )+              ),+              with-substr ↦ ξ.accum.with(+                Φ̇.string(+                  ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+                )+              )+            ⟧+          ⟧,+          chained(others) ↦ ⟦+            φ ↦ 0.eq(ξ.others.length).if(+              ξ.ρ,+              ξ.ρ.ρ.text(+                Φ̇.string(+                  Φ̇.structs.list(ξ.others).reduced(+                    ξ.ρ.origin.as-bytes,+                    ⟦+                      φ ↦ ξ.accum.concat(ξ.str.as-bytes),+                      accum ↦ ∅,+                      str ↦ ∅+                    ⟧+                  )+                )+              )+            )+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.49.4/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/dependencies.md view
@@ -0,0 +1,1016 @@+# Dependencies++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number() ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            ex ↦ ∅,+            φ ↦ Φ̇.error(ξ.ex)+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      false() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32() ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number() ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-input() ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block() ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-output() ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block() ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      nan() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      negative-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor() ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer() ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite() ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      positive-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length() ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      true() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty() ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length() ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}+```+
+ data/0.50.0/org/eolang/bytes.phi view
@@ -0,0 +1,96 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      bytes(data) ↦ ⟦+        φ ↦ ξ.data,+        as-bytes ↦ ξ,+        as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+        as-number() ↦ ⟦+          φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+            Φ̇.nan,+            ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+              Φ̇.positive-infinity,+              ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+                Φ̇.negative-infinity,+                ξ.ρ.size.eq(8).if(+                  Φ̇.number(ξ.ρ),+                  Φ̇.error(+                    Φ̇.txt.sprintf(+                      "Can't convert non 8 length bytes to a number, bytes are %x",+                      Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+                    )+                  )+                )+              )+            )+          )+        ⟧,+        eq(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_eq+        ⟧,+        size() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_size+        ⟧,+        slice(start, len) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_slice+        ⟧,+        as-i64() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(8).if(+            Φ̇.i64(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 8 length bytes to i64, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i32() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(4).if(+            Φ̇.i32(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 4 length bytes to i32, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        as-i16() ↦ ⟦+          φ ↦ ξ.ρ.size.eq(2).if(+            Φ̇.i16(ξ.ρ),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert non 2 length bytes to i16, bytes are %x",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+              )+            )+          )+        ⟧,+        and(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_and+        ⟧,+        or(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_or+        ⟧,+        xor(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_xor+        ⟧,+        not() ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_not+        ⟧,+        left(x) ↦ ⟦+          φ ↦ ξ.ρ.right(ξ.x.neg)+        ⟧,+        right(x) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_right+        ⟧,+        concat(b) ↦ ⟦+          λ ⤍ Lorg_eolang_bytes_concat+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      dataized(target) ↦ ⟦+        φ ↦ Φ̇.try(+          ξ.target,+          ⟦+            ex ↦ ∅,+            φ ↦ Φ̇.error(ξ.ex)+          ⟧,+          Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+        )+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      error(message) ↦ ⟦+        λ ⤍ Lorg_eolang_error+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      false() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+        not ↦ Φ̇.true,+        if(left, right) ↦ ⟦+          φ ↦ ξ.right+        ⟧,+        and(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        or(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i16(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i16 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+        as-i64 ↦ ξ.as-i32.as-i64,+        as-number ↦ ξ.as-i64.as-number,+        as-i32() ↦ ⟦+          λ ⤍ Lorg_eolang_i16_as_i32+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i16 ↦ ξ.x.as-i16,+          bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+          left ↦ ξ.bts.slice(0, 2),+          right ↦ ξ.bts.slice(2, 2),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+          φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i16 zero",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+              ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i32(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i32 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64.as-i32),+        as-number ↦ ξ.as-i64.as-number,+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_i32_as_i64+        ⟧,+        as-i16() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+          ).if(+            Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i32 number %d to i16 because it's out of i16 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            )+          )+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+        ⟧,+        times(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        plus(x) ↦ ⟦+          bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+        ⟧,+        div(x) ↦ ⟦+          x-as-i32 ↦ ξ.x.as-i32,+          bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+          left ↦ ξ.bts.slice(0, 4),+          right ↦ ξ.bts.slice(4, 4),+          zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+          φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+              )+            ),+            ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+              ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      i64(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-i64 ↦ ξ,+        neg ↦ ξ.times(-1.as-i64),+        as-i16 ↦ ξ.as-i32.as-i16,+        as-i32() ↦ ⟦+          left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+          φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+            ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+          ).if(+            Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Can't convert i64 number %d to i32 because it's out of i32 bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+              )+            )+          )+        ⟧,+        as-number() ↦ ⟦+          λ ⤍ Lorg_eolang_i64_as_number+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_i64_div+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-input() ↦ ⟦+          read(size) ↦ ⟦+            φ ↦ ξ.input-block,+            input-block() ↦ ⟦+              φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+              read(size) ↦ ⟦+                φ ↦ ξ.ρ.ρ.input-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      io() ↦ ⟦+        dead-output() ↦ ⟦+          write(buffer) ↦ ⟦+            φ ↦ ξ.output-block,+            output-block() ↦ ⟦+              φ ↦ Φ̇.true,+              write(buffer) ↦ ⟦+                φ ↦ ξ.ρ.ρ.output-block+              ⟧+            ⟧+          ⟧+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      nan() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ ξ,+        is-nan ↦ Φ̇.true,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+        eq(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        times(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        plus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        minus(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧,+        div(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      negative-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.positive-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        gt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        gte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.positive-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      number(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        as-number ↦ ξ,+        neg ↦ ξ.times(-1),+        as-i32 ↦ ξ.as-i64.as-i32,+        as-i16 ↦ ξ.as-i32.as-i16,+        is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+        as-i64() ↦ ⟦+          λ ⤍ Lorg_eolang_number_as_i64+        ⟧,+        eq(x) ↦ ⟦+          x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+          self-as-bytes ↦ ξ.ρ.as-bytes,+          pos-zero-as-bytes ↦ 0.as-bytes,+          neg-zero-as-bytes ↦ -0.as-bytes,+          φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+            Φ̇.false,+            ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+              ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+            ).and(+              ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+                ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+              )+            ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+          )+        ⟧,+        lt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+        ⟧,+        lte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        gt(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_gt+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+        ⟧,+        times(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_times+        ⟧,+        plus(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_plus+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+        ⟧,+        div(x) ↦ ⟦+          λ ⤍ Lorg_eolang_number_div+        ⟧,+        floor() ↦ ⟦+          λ ⤍ Lorg_eolang_number_floor+        ⟧,+        is-integer() ↦ ⟦+          φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+        ⟧,+        is-finite() ↦ ⟦+          φ ↦ ξ.ρ.is-nan.not.and(+            ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      positive-infinity() ↦ ⟦+        φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+        floor ↦ ξ,+        neg ↦ Φ̇.negative-infinity,+        is-nan ↦ Φ̇.false,+        is-finite ↦ Φ̇.false,+        is-integer ↦ Φ̇.false,+        as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+        eq(x) ↦ ⟦+          φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+        ⟧,+        lt(x) ↦ ⟦+          φ ↦ Φ̇.false+        ⟧,+        lte(x) ↦ ⟦+          φ ↦ ξ.ρ.eq(ξ.x)+        ⟧,+        gt(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+        ⟧,+        gte(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.not+        ⟧,+        times(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+            Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+          )+        ⟧,+        plus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+            Φ̇.nan, ξ.ρ+          )+        ⟧,+        minus(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+        ⟧,+        div(x) ↦ ⟦+          value ↦ Φ̇.dataized(ξ.x).as-bytes,+          num ↦ Φ̇.number(ξ.value),+          φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+            Φ̇.nan,+            ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+              Φ̇.negative-infinity, ξ.ρ+            )+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      seq(steps) ↦ ⟦+        φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+        max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+        loop(index) ↦ ⟦+          φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+            Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+          ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      string(as-bytes) ↦ ⟦+        φ ↦ ξ.as-bytes,+        length() ↦ ⟦+          size ↦ ξ.ρ.as-bytes.size,+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+          increase-length(index, char-size, len) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+            )+          ⟧,+          rec-length(index, accum) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.index.eq(ξ.ρ.size).if(+              ξ.accum,+              ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+                ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                  ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+                  ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                    ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+                    ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                      ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+                      Φ̇.error(+                        Φ̇.txt.sprintf(+                          "Unknown byte format (%x), can't recognize character",+                          Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧,+        slice(start, len) ↦ ⟦+          start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+          len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+          num-start ↦ Φ̇.number(ξ.start-bytes),+          num-len ↦ Φ̇.number(ξ.len-bytes),+          size ↦ ξ.ρ.as-bytes.size,+          end ↦ ξ.num-start.plus(ξ.num-len),+          pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+          pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+          pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+          pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+          result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+          result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+          result-three ↦ ξ.pattern-two,+          result-four ↦ ξ.pattern-three,+          bts-start ↦ Φ̇.dataized(+            ξ.rec-index(+              0,+              0,+              ξ.num-start,+              Φ̇.txt.sprintf(+                "Start index (%d) is out of string bounds",+                Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            )+          ).as-bytes,+          bts-length ↦ ξ.rec-index(+            Φ̇.number(ξ.bts-start),+            0,+            ξ.num-len,+            Φ̇.txt.sprintf(+              "Start index + length to slice (%d) is out of string bounds",+              Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+            )+          ).minus(ξ.bts-start),+          φ ↦ ξ.num-start.lt(0).if(+            Φ̇.error(+              Φ̇.txt.sprintf(+                "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+              )+            ),+            ξ.num-len.lt(0).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+                )+              ),+              ξ.num-len.eq(0).if(+                "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+              )+            )+          ),+          increase(index, char-size, accum, result, cause) ↦ ⟦+            φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+              Φ̇.error(+                Φ̇.txt.sprintf(+                  "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+                  Φ̇.tuple(+                    Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+                  )+                )+              ),+              ξ.ρ.rec-index(+                ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+              )+            )+          ⟧,+          rec-index(index, accum, result, cause) ↦ ⟦+            byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+            φ ↦ ξ.accum.eq(ξ.result).if(+              ξ.index,+              ξ.index.eq(ξ.ρ.size).if(+                Φ̇.error(ξ.cause),+                ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+                  ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+                  ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+                    ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+                    ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+                      ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+                      ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+                        ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+                        Φ̇.error(+                          Φ̇.txt.sprintf(+                            "Unknown byte format (%x), can't recognize character",+                            Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+                          )+                        )+                      )+                    )+                  )+                )+              )+            )+          ⟧+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      true() ↦ ⟦+        φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+        not ↦ Φ̇.false,+        if(left, right) ↦ ⟦+          φ ↦ ξ.left+        ⟧,+        and(x) ↦ ⟦+          φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+        ⟧,+        or(x) ↦ ⟦+          φ ↦ ξ.ρ+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      try(main, catch, finally) ↦ ⟦+        λ ⤍ Lorg_eolang_try+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      tuple(head, tail) ↦ ⟦+        empty() ↦ ⟦+          length ↦ 0,+          at(i) ↦ ⟦+            φ ↦ Φ̇.error("Can't get an object from the empty tuple")+          ⟧,+          with(x) ↦ ⟦+            φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+          ⟧+        ⟧,+        length() ↦ ⟦+          len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+          φ ↦ Φ̇.number(ξ.len)+        ⟧,+        at(i) ↦ ⟦+          len ↦ ξ.ρ.length,+          idx ↦ Φ̇.dataized(ξ.i).as-bytes,+          index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+          φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+            Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+          ),+          at-fast(tup, len) ↦ ⟦+            φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+              ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+            )+          ⟧+        ⟧,+        with(x) ↦ ⟦+          φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      txt() ↦ ⟦+        sprintf(format, args) ↦ ⟦+          λ ⤍ Lorg_eolang_txt_sprintf+        ⟧,+        λ ⤍ Package+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
+ data/0.50.0/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+  org() ↦ ⟦+    eolang() ↦ ⟦+      while(condition, body) ↦ ⟦+        φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+        loop(index) ↦ ⟦+          current ↦ ξ.ρ.body(ξ.index),+          φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+            Φ̇.seq(+              Φ̇.tuple(+                Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+              )+            ),+            ξ.current+          )+        ⟧+      ⟧,+      λ ⤍ Package+    ⟧,+    λ ⤍ Package+  ⟧+⟧}
eo-phi-normalizer.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           eo-phi-normalizer-version:        2.3.0+version:        3.0.0 synopsis:       Command line normalizer of 𝜑-calculus expressions. description:    Please see the README on GitHub at <https://github.com/objectionary/eo-phi-normalizer#readme> homepage:       https://github.com/objectionary/eo-phi-normalizer#readme@@ -189,6 +189,207 @@     data/0.41.2/org/eolang/txt/sscanf.phi     data/0.41.2/org/eolang/txt/text.phi     data/0.41.2/org/eolang/while.phi+    data/0.49.1/dependencies.md+    data/0.49.1/org/eolang/as-phi.phi+    data/0.49.1/org/eolang/bytes.phi+    data/0.49.1/org/eolang/cti.phi+    data/0.49.1/org/eolang/dataized.phi+    data/0.49.1/org/eolang/error.phi+    data/0.49.1/org/eolang/false.phi+    data/0.49.1/org/eolang/fs/dir.phi+    data/0.49.1/org/eolang/fs/file.phi+    data/0.49.1/org/eolang/fs/path.phi+    data/0.49.1/org/eolang/fs/tmpdir.phi+    data/0.49.1/org/eolang/go.phi+    data/0.49.1/org/eolang/i16.phi+    data/0.49.1/org/eolang/i32.phi+    data/0.49.1/org/eolang/i64.phi+    data/0.49.1/org/eolang/io/bytes-as-input.phi+    data/0.49.1/org/eolang/io/console.phi+    data/0.49.1/org/eolang/io/dead-input.phi+    data/0.49.1/org/eolang/io/dead-output.phi+    data/0.49.1/org/eolang/io/input-length.phi+    data/0.49.1/org/eolang/io/malloc-as-output.phi+    data/0.49.1/org/eolang/io/stdin.phi+    data/0.49.1/org/eolang/io/stdout.phi+    data/0.49.1/org/eolang/io/tee-input.phi+    data/0.49.1/org/eolang/malloc.phi+    data/0.49.1/org/eolang/math/angle.phi+    data/0.49.1/org/eolang/math/e.phi+    data/0.49.1/org/eolang/math/integral.phi+    data/0.49.1/org/eolang/math/numbers.phi+    data/0.49.1/org/eolang/math/pi.phi+    data/0.49.1/org/eolang/math/random.phi+    data/0.49.1/org/eolang/math/real.phi+    data/0.49.1/org/eolang/nan.phi+    data/0.49.1/org/eolang/negative-infinity.phi+    data/0.49.1/org/eolang/net/socket.phi+    data/0.49.1/org/eolang/number.phi+    data/0.49.1/org/eolang/positive-infinity.phi+    data/0.49.1/org/eolang/rust.phi+    data/0.49.1/org/eolang/seq.phi+    data/0.49.1/org/eolang/string.phi+    data/0.49.1/org/eolang/structs/bytes-as-array.phi+    data/0.49.1/org/eolang/structs/hash-code-of.phi+    data/0.49.1/org/eolang/structs/list.phi+    data/0.49.1/org/eolang/structs/map.phi+    data/0.49.1/org/eolang/structs/range-of-ints.phi+    data/0.49.1/org/eolang/structs/range.phi+    data/0.49.1/org/eolang/structs/set.phi+    data/0.49.1/org/eolang/switch.phi+    data/0.49.1/org/eolang/sys/getenv.phi+    data/0.49.1/org/eolang/sys/line-separator.phi+    data/0.49.1/org/eolang/sys/os.phi+    data/0.49.1/org/eolang/sys/posix.phi+    data/0.49.1/org/eolang/sys/win32.phi+    data/0.49.1/org/eolang/true.phi+    data/0.49.1/org/eolang/try.phi+    data/0.49.1/org/eolang/tuple.phi+    data/0.49.1/org/eolang/txt/regex.phi+    data/0.49.1/org/eolang/txt/sprintf.phi+    data/0.49.1/org/eolang/txt/sscanf.phi+    data/0.49.1/org/eolang/txt/text.phi+    data/0.49.1/org/eolang/while.phi+    data/0.49.3/dependencies.md+    data/0.49.3/org/eolang/as-phi.phi+    data/0.49.3/org/eolang/bytes.phi+    data/0.49.3/org/eolang/cti.phi+    data/0.49.3/org/eolang/dataized.phi+    data/0.49.3/org/eolang/error.phi+    data/0.49.3/org/eolang/false.phi+    data/0.49.3/org/eolang/fs/dir.phi+    data/0.49.3/org/eolang/fs/file.phi+    data/0.49.3/org/eolang/fs/path.phi+    data/0.49.3/org/eolang/fs/tmpdir.phi+    data/0.49.3/org/eolang/go.phi+    data/0.49.3/org/eolang/i16.phi+    data/0.49.3/org/eolang/i32.phi+    data/0.49.3/org/eolang/i64.phi+    data/0.49.3/org/eolang/io/bytes-as-input.phi+    data/0.49.3/org/eolang/io/console.phi+    data/0.49.3/org/eolang/io/dead-input.phi+    data/0.49.3/org/eolang/io/dead-output.phi+    data/0.49.3/org/eolang/io/input-length.phi+    data/0.49.3/org/eolang/io/malloc-as-output.phi+    data/0.49.3/org/eolang/io/stdin.phi+    data/0.49.3/org/eolang/io/stdout.phi+    data/0.49.3/org/eolang/io/tee-input.phi+    data/0.49.3/org/eolang/malloc.phi+    data/0.49.3/org/eolang/math/angle.phi+    data/0.49.3/org/eolang/math/e.phi+    data/0.49.3/org/eolang/math/integral.phi+    data/0.49.3/org/eolang/math/numbers.phi+    data/0.49.3/org/eolang/math/pi.phi+    data/0.49.3/org/eolang/math/random.phi+    data/0.49.3/org/eolang/math/real.phi+    data/0.49.3/org/eolang/nan.phi+    data/0.49.3/org/eolang/negative-infinity.phi+    data/0.49.3/org/eolang/net/socket.phi+    data/0.49.3/org/eolang/number.phi+    data/0.49.3/org/eolang/positive-infinity.phi+    data/0.49.3/org/eolang/seq.phi+    data/0.49.3/org/eolang/string.phi+    data/0.49.3/org/eolang/structs/bytes-as-array.phi+    data/0.49.3/org/eolang/structs/hash-code-of.phi+    data/0.49.3/org/eolang/structs/list.phi+    data/0.49.3/org/eolang/structs/map.phi+    data/0.49.3/org/eolang/structs/range-of-ints.phi+    data/0.49.3/org/eolang/structs/range.phi+    data/0.49.3/org/eolang/structs/set.phi+    data/0.49.3/org/eolang/switch.phi+    data/0.49.3/org/eolang/sys/getenv.phi+    data/0.49.3/org/eolang/sys/line-separator.phi+    data/0.49.3/org/eolang/sys/os.phi+    data/0.49.3/org/eolang/sys/posix.phi+    data/0.49.3/org/eolang/sys/win32.phi+    data/0.49.3/org/eolang/true.phi+    data/0.49.3/org/eolang/try.phi+    data/0.49.3/org/eolang/tuple.phi+    data/0.49.3/org/eolang/txt/regex.phi+    data/0.49.3/org/eolang/txt/sprintf.phi+    data/0.49.3/org/eolang/txt/sscanf.phi+    data/0.49.3/org/eolang/txt/text.phi+    data/0.49.3/org/eolang/while.phi+    data/0.49.4/dependencies.md+    data/0.49.4/org/eolang/bytes.phi+    data/0.49.4/org/eolang/cti.phi+    data/0.49.4/org/eolang/dataized.phi+    data/0.49.4/org/eolang/error.phi+    data/0.49.4/org/eolang/false.phi+    data/0.49.4/org/eolang/fs/dir.phi+    data/0.49.4/org/eolang/fs/file.phi+    data/0.49.4/org/eolang/fs/path.phi+    data/0.49.4/org/eolang/fs/tmpdir.phi+    data/0.49.4/org/eolang/go.phi+    data/0.49.4/org/eolang/i16.phi+    data/0.49.4/org/eolang/i32.phi+    data/0.49.4/org/eolang/i64.phi+    data/0.49.4/org/eolang/io/bytes-as-input.phi+    data/0.49.4/org/eolang/io/console.phi+    data/0.49.4/org/eolang/io/dead-input.phi+    data/0.49.4/org/eolang/io/dead-output.phi+    data/0.49.4/org/eolang/io/input-length.phi+    data/0.49.4/org/eolang/io/malloc-as-output.phi+    data/0.49.4/org/eolang/io/stdin.phi+    data/0.49.4/org/eolang/io/stdout.phi+    data/0.49.4/org/eolang/io/tee-input.phi+    data/0.49.4/org/eolang/malloc.phi+    data/0.49.4/org/eolang/math/angle.phi+    data/0.49.4/org/eolang/math/e.phi+    data/0.49.4/org/eolang/math/integral.phi+    data/0.49.4/org/eolang/math/numbers.phi+    data/0.49.4/org/eolang/math/pi.phi+    data/0.49.4/org/eolang/math/random.phi+    data/0.49.4/org/eolang/math/real.phi+    data/0.49.4/org/eolang/nan.phi+    data/0.49.4/org/eolang/negative-infinity.phi+    data/0.49.4/org/eolang/net/socket.phi+    data/0.49.4/org/eolang/number.phi+    data/0.49.4/org/eolang/positive-infinity.phi+    data/0.49.4/org/eolang/seq.phi+    data/0.49.4/org/eolang/string.phi+    data/0.49.4/org/eolang/structs/bytes-as-array.phi+    data/0.49.4/org/eolang/structs/hash-code-of.phi+    data/0.49.4/org/eolang/structs/list.phi+    data/0.49.4/org/eolang/structs/map.phi+    data/0.49.4/org/eolang/structs/range-of-ints.phi+    data/0.49.4/org/eolang/structs/range.phi+    data/0.49.4/org/eolang/structs/set.phi+    data/0.49.4/org/eolang/switch.phi+    data/0.49.4/org/eolang/sys/getenv.phi+    data/0.49.4/org/eolang/sys/line-separator.phi+    data/0.49.4/org/eolang/sys/os.phi+    data/0.49.4/org/eolang/sys/posix.phi+    data/0.49.4/org/eolang/sys/win32.phi+    data/0.49.4/org/eolang/true.phi+    data/0.49.4/org/eolang/try.phi+    data/0.49.4/org/eolang/tuple.phi+    data/0.49.4/org/eolang/txt/regex.phi+    data/0.49.4/org/eolang/txt/sprintf.phi+    data/0.49.4/org/eolang/txt/sscanf.phi+    data/0.49.4/org/eolang/txt/text.phi+    data/0.49.4/org/eolang/while.phi+    data/0.50.0/dependencies.md+    data/0.50.0/org/eolang/bytes.phi+    data/0.50.0/org/eolang/dataized.phi+    data/0.50.0/org/eolang/error.phi+    data/0.50.0/org/eolang/false.phi+    data/0.50.0/org/eolang/i16.phi+    data/0.50.0/org/eolang/i32.phi+    data/0.50.0/org/eolang/i64.phi+    data/0.50.0/org/eolang/io/dead-input.phi+    data/0.50.0/org/eolang/io/dead-output.phi+    data/0.50.0/org/eolang/nan.phi+    data/0.50.0/org/eolang/negative-infinity.phi+    data/0.50.0/org/eolang/number.phi+    data/0.50.0/org/eolang/positive-infinity.phi+    data/0.50.0/org/eolang/seq.phi+    data/0.50.0/org/eolang/string.phi+    data/0.50.0/org/eolang/true.phi+    data/0.50.0/org/eolang/try.phi+    data/0.50.0/org/eolang/tuple.phi+    data/0.50.0/org/eolang/txt/sprintf.phi+    data/0.50.0/org/eolang/while.phi     test/eo/phi/rules/new.yaml     test/eo/phi/rules/streams.yaml     test/eo/phi/rules/yegor.yaml@@ -223,6 +424,8 @@       Language.EO.Phi.Pipeline.Dataize.PrintConfigs       Language.EO.Phi.Pipeline.EOTests.Data       Language.EO.Phi.Pipeline.EOTests.PrepareTests+      Language.EO.Phi.Preprocess+      Language.EO.Phi.Pretty       Language.EO.Phi.Report.Data       Language.EO.Phi.Report.Html       Language.EO.Phi.Rules.Common@@ -234,7 +437,6 @@       Language.EO.Phi.Syntax.Abs       Language.EO.Phi.Syntax.Lex       Language.EO.Phi.Syntax.Par-      Language.EO.Phi.Syntax.Print       Language.EO.Phi.TH       Language.EO.Phi.ToLaTeX       Language.EO.Test.Yaml@@ -270,8 +472,12 @@     , hspec     , hspec-core     , lens+    , megaparsec     , mtl+    , parser-combinators+    , prettyprinter     , regex-compat+    , replace-megaparsec     , scientific     , template-haskell     , text@@ -316,9 +522,13 @@     , hspec     , hspec-core     , lens+    , megaparsec     , mtl     , optparse-applicative+    , parser-combinators+    , prettyprinter     , regex-compat+    , replace-megaparsec     , scientific     , template-haskell     , text@@ -345,6 +555,8 @@       Language.EO.Phi.Pipeline.Dataize.PrintConfigs       Language.EO.Phi.Pipeline.EOTests.Data       Language.EO.Phi.Pipeline.EOTests.PrepareTests+      Language.EO.Phi.Preprocess+      Language.EO.Phi.Pretty       Language.EO.Phi.Report.Data       Language.EO.Phi.Report.Html       Language.EO.Phi.Rules.Common@@ -356,7 +568,6 @@       Language.EO.Phi.Syntax.Abs       Language.EO.Phi.Syntax.Lex       Language.EO.Phi.Syntax.Par-      Language.EO.Phi.Syntax.Print       Language.EO.Phi.TH       Language.EO.Phi.ToLaTeX       Language.EO.Test.Yaml@@ -394,8 +605,12 @@     , hspec     , hspec-core     , lens+    , megaparsec     , mtl+    , parser-combinators+    , prettyprinter     , regex-compat+    , replace-megaparsec     , scientific     , template-haskell     , text@@ -449,8 +664,12 @@     , hspec-core     , hspec-discover     , lens+    , megaparsec     , mtl+    , parser-combinators+    , prettyprinter     , regex-compat+    , replace-megaparsec     , scientific     , template-haskell     , text
grammar/EO/Phi/Syntax.cf view
@@ -39,6 +39,9 @@ token ObjectMetaId {"!b"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ; token BytesMetaId {"!y"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ; token MetaFunctionName {"@"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;+token IntegerSigned ('-'? digit+) ;+token DoubleSigned ('-'? digit+ '.' digit+ ('e' '-'? digit+)?) ;+token StringRaw '"' ((char - ["\"\\"]) | ('\\' ["\"\\tnrfu"]))* '"';  Program. Program ::= "{" "⟦" [Binding] "⟧" "}" ; @@ -48,22 +51,28 @@ MetaIdObject.   MetaId ::= ObjectMetaId ; MetaIdBytes.    MetaId ::= BytesMetaId ; -Formation.         Object ::= "⟦" [Binding] "⟧" ;-Application.       Object ::= Object "(" [Binding] ")" ;-ObjectDispatch.    Object ::= Object "." Attribute ;-GlobalObject.      Object ::= "Φ";-ThisObject.        Object ::= "ξ";-Termination.       Object ::= "⊥" ;-ConstString.       Object ::= String ;-ConstInt.          Object ::= Integer ;-ConstFloat.        Object ::= Double ;-MetaSubstThis.     Object ::= Object "[" "ξ" "↦" Object "]" ;-MetaContextualize. Object ::= "⌈" Object "," Object "⌉" ;-MetaObject.        Object ::= ObjectMetaId ;-MetaTailContext.   Object ::= Object "*" TailMetaId ;-MetaFunction.      Object ::= MetaFunctionName "(" Object ")" ;+Formation.          Object ::= "⟦" [Binding] "⟧" ;+Application.        Object ::= Object "(" [Binding] ")" ;+ObjectDispatch.     Object ::= Object "." Attribute ;+GlobalObject.       Object ::= "Φ";+GlobalObjectPhiOrg. Object ::= "Φ̇";+ThisObject.         Object ::= "ξ";+Termination.        Object ::= "⊥" ;+ConstStringRaw.     Object ::= StringRaw ;+ConstIntRaw.        Object ::= IntegerSigned ;+ConstFloatRaw.      Object ::= DoubleSigned ;+MetaSubstThis.      Object ::= Object "[" "ξ" "↦" Object "]" ;+MetaContextualize.  Object ::= "⌈" Object "," Object "⌉" ;+MetaObject.         Object ::= ObjectMetaId ;+MetaTailContext.    Object ::= Object "*" TailMetaId ;+MetaFunction.       Object ::= MetaFunctionName "(" Object ")" ; +internal ConstFloat.    Object ::= Double;+internal ConstInt.      Object ::= Integer;+internal ConstString.   Object ::= String;+ AlphaBinding.       Binding ::= Attribute "↦" Object ;+AlphaBindingSugar.  Binding ::= Object ; EmptyBinding.       Binding ::= Attribute "↦" "∅" ; DeltaBinding.       Binding ::= "Δ" "⤍" Bytes ; DeltaEmptyBinding.  Binding ::= "Δ" "⤍" "∅" ;@@ -73,10 +82,13 @@ separator Binding "," ;  Phi.    Attribute ::= "φ" ;   -- decoratee object+PhiSugar. Attribute ::= "~" "φ" "(" [LabelId] ")"; Rho.    Attribute ::= "ρ" ;   -- parent object Label.  Attribute ::= LabelId ; Alpha.  Attribute ::= AlphaIndex ; MetaAttr. Attribute ::= LabelMetaId ;+AttrSugar. Attribute ::= "~" LabelId "(" [LabelId] ")";+separator LabelId ",";  -- Additional symbols used as attributes in the rules ObjectAttr. RuleAttribute ::= Attribute ;
src/Language/EO/Phi.hs view
@@ -44,7 +44,7 @@  -- | Parse an 'Object' or return a parsing error. parseObject :: String -> Either String Phi.Object-parseObject = Phi.pObject . Phi.myLexer+parseObject = parseWith Phi.pObject  -- | Parse a 'Program' from a 'String'. -- May throw an 'error` if input has a syntactical or lexical errors.
src/Language/EO/Phi/Dataize.hs view
@@ -47,7 +47,9 @@ desugarAsBytes (Left obj) = case obj of   ConstString s -> Right (stringToBytes s)   ConstInt n -> Right (intToBytes (fromInteger n))+  f@ConstIntRaw{} -> errorExpectedDesugaredObject f   ConstFloat x -> Right (floatToBytes x)+  f@ConstFloatRaw{} -> errorExpectedDesugaredObject f   _ -> Left obj desugarAsBytes (Right bytes) = Right bytes @@ -65,7 +67,7 @@  -- | Perform one step of dataization to the object (if possible). dataizeStep :: Context -> Object -> (Context, Either Object Bytes)-dataizeStep ctx obj = snd $ head $ runChain (dataizeStepChain obj) ctx -- FIXME: head is bad+dataizeStep ctx obj = snd $ head $ runChain (dataizeStepChain DataizeAll obj) ctx -- FIXME: head is bad  dataizeStep' :: Context -> Object -> Either Object Bytes dataizeStep' ctx obj = snd (dataizeStep ctx obj)@@ -75,12 +77,15 @@ dataizeRecursively ctx obj = snd $ dataizeRecursivelyChain' ctx obj  dataizeStepChain' :: Context -> Object -> ([LogEntry (Either Object Bytes)], Either Object Bytes)-dataizeStepChain' ctx obj = snd <$> head (runChain (dataizeStepChain obj) ctx) -- FIXME: head is bad+dataizeStepChain' ctx obj = snd <$> head (runChain (dataizeStepChain DataizeAll obj) ctx) -- FIXME: head is bad +data DataizeStepMode = DataizeOnlyLambda | DataizeAll+ -- | Perform one step of dataization to the object (if possible), reporting back individiual steps.-dataizeStepChain :: Object -> DataizeChain (Context, Either Object Bytes)-dataizeStepChain obj@(Formation bs)-  | Just (DeltaBinding bytes) <- listToMaybe [b | b@(DeltaBinding _) <- bs]+dataizeStepChain :: DataizeStepMode -> Object -> DataizeChain (Context, Either Object Bytes)+dataizeStepChain mode obj@(Formation bs)+  | DataizeAll <- mode+  , Just (DeltaBinding bytes) <- listToMaybe [b | b@(DeltaBinding _) <- bs]   , not hasEmpty = do       logStep "Found bytes" (AsBytes bytes)       ctx <- getContext@@ -102,7 +107,8 @@             Just ((obj', _state), _alts) -> do               ctx <- getContext               return (ctx, AsObject obj')-  | Just (AlphaBinding Phi decoratee) <- listToMaybe [b | b@(AlphaBinding Phi _) <- bs]+  | DataizeAll <- mode+  , Just (AlphaBinding Phi decoratee) <- listToMaybe [b | b@(AlphaBinding Phi _) <- bs]   , not hasEmpty = do       let decoratee' = substThis obj decoratee       logStep "Dataizing inside phi" (AsObject decoratee')@@ -119,22 +125,22 @@   isEmpty _ = False   hasEmpty = any isEmpty bs -- IMPORTANT: dataize the object being copied IF normalization is stuck on it!-dataizeStepChain (Application obj bindings) = incLogLevel $ do+dataizeStepChain _mode (Application obj bindings) = incLogLevel $ do   logStep "Dataizing inside application" (AsObject obj)   modifyContext (\c -> c{dataizePackage = False}) $ do-    (ctx, obj') <- dataizeStepChain obj+    (ctx, obj') <- dataizeStepChain DataizeOnlyLambda obj     case obj' of       Left obj'' -> return (ctx, AsObject (obj'' `Application` bindings))       Right bytes -> return (ctx, AsObject (Formation [DeltaBinding bytes] `Application` bindings)) -- IMPORTANT: dataize the object being dispatched IF normalization is stuck on it!-dataizeStepChain (ObjectDispatch obj attr) = incLogLevel $ do+dataizeStepChain _mode (ObjectDispatch obj attr) = incLogLevel $ do   logStep "Dataizing inside dispatch" (AsObject obj)   modifyContext (\c -> c{dataizePackage = False}) $ do-    (ctx, obj') <- dataizeStepChain obj+    (ctx, obj') <- dataizeStepChain DataizeOnlyLambda obj     case obj' of       Left obj'' -> return (ctx, AsObject (obj'' `ObjectDispatch` attr))       Right bytes -> return (ctx, AsObject (Formation [DeltaBinding bytes] `ObjectDispatch` attr))-dataizeStepChain obj = do+dataizeStepChain _mode obj = do   logStep "Nothing to dataize" (AsObject obj)   ctx <- getContext   return (ctx, AsObject obj)@@ -166,7 +172,7 @@       Just (normObj, _alternatives)         | normObj == obj && normalizeRequired -> return (AsObject obj)         | otherwise -> do-            (ctx', step) <- dataizeStepChain normObj+            (ctx', step) <- dataizeStepChain DataizeAll normObj             case step of               (AsObject stillObj)                 | stillObj == normObj && ctx `sameContext` ctx' -> do@@ -250,6 +256,49 @@       fail (name <> ": Couldn't find bytes in RHS: " <> printTree (hideRho r))   return (result, ()) +evaluatePartialBinaryDataizationFunChain ::+  -- | How to convert the result back to bytes+  (res -> Bytes) ->+  -- | How to interpret the bytes in terms of the given data type+  (Bytes -> a) ->+  -- | How to wrap the bytes in an object+  (Bytes -> Object) ->+  -- | Extract the 1st argument to be dataized+  (Object -> Object) ->+  -- | Extract the 2nd argument to be dataized+  (Object -> Object) ->+  -- | A binary function on the argument+  (a -> a -> Maybe res) ->+  -- | Name of the atom.+  String ->+  Object ->+  EvaluationState ->+  DataizeChain (Object, EvaluationState)+evaluatePartialBinaryDataizationFunChain resultToBytes bytesToParam wrapBytes arg1 arg2 func name obj _state = do+  let lhsArg = arg1 obj+  let rhsArg = arg2 obj+  lhs <- incLogLevel $ do+    logStep "Evaluating LHS" (AsObject lhsArg)+    dataizeRecursivelyChain True lhsArg+  rhs <- incLogLevel $ do+    logStep "Evaluating RHS" (AsObject rhsArg)+    dataizeRecursivelyChain True rhsArg+  result <- case (lhs, rhs) of+    (AsBytes l, AsBytes r) -> do+      case resultToBytes <$> bytesToParam l `func` bytesToParam r of+        Nothing -> fail (name <> ": throws an error")+        Just bytes -> do+          let resultObj = wrapBytes bytes+          logStep "Evaluated function" (AsObject resultObj)+          return resultObj+    (AsObject _l, AsObject _r) ->+      fail (name <> ": Couldn't find bytes in both LHS and RHS")+    (AsObject l, _) -> do+      fail (name <> ": Couldn't find bytes in LHS: " <> printTree (hideRho l))+    (_, AsObject r) -> do+      fail (name <> ": Couldn't find bytes in RHS: " <> printTree (hideRho r))+  return (result, ())+ -- | Unary functions operate on the given object without any additional parameters evaluateUnaryDataizationFunChain ::   -- | How to convert the result back to bytes@@ -272,6 +321,9 @@ -- This should maybe get converted to a type class and some instances? evaluateIntIntIntFunChain :: (Int -> Int -> Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState) evaluateIntIntIntFunChain = evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInConstInt extractRho (extractLabel "x")++evaluateIntIntMaybeIntFunChain :: (Int -> Int -> Maybe Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)+evaluateIntIntMaybeIntFunChain = evaluatePartialBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInConstInt extractRho (extractLabel "x")  evaluateIntIntBoolFunChain :: (Int -> Int -> Bool) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState) evaluateIntIntBoolFunChain = evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "x")
src/Language/EO/Phi/Dataize/Atoms.hs view
@@ -34,11 +34,17 @@  knownAtomsList :: [(String, String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState))] knownAtomsList =+  -- [ ("Lorg_eolang_as_phi", _)   [ ("Lorg_eolang_int_gt", evaluateIntIntBoolFunChain (>))   , ("Lorg_eolang_int_plus", evaluateIntIntIntFunChain (+))   , ("Lorg_eolang_int_times", evaluateIntIntIntFunChain (*))   , ("Lorg_eolang_int_div", evaluateIntIntIntFunChain quot)+  , ("Lorg_eolang_bytes_and", evaluateBytesBytesBytesFunChain (.&.))+  , ("Lorg_eolang_bytes_concat", evaluateBinaryDataizationFunChain id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes)   , ("Lorg_eolang_bytes_eq", evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "b") (==))+  , ("Lorg_eolang_bytes_not", evaluateBytesBytesFunChain complement)+  , ("Lorg_eolang_bytes_or", evaluateBytesBytesBytesFunChain (.|.))+  , ("Lorg_eolang_bytes_right", evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i)))   ,     ( "Lorg_eolang_bytes_size"     , let f = evaluateUnaryDataizationFunChain intToBytes id wrapBytesInBytes extractRho (\(Bytes bytes) -> length (words (map dashToSpace bytes)))@@ -54,24 +60,71 @@         bytes <- case thisStr of           AsBytes bytes -> pure bytes           AsObject _ -> fail "Couldn't find bytes"-        evaluateBinaryDataizationFunChain id bytesToInt wrapBytesInBytes (extractLabel "start") (extractLabel "len") (sliceBytes bytes) name obj state+        evaluateBinaryDataizationFunChain id bytesToFloat wrapBytesInBytes (extractLabel "start") (extractLabel "len") (\start len -> sliceBytes bytes (floor start) (floor len)) name obj state     )-  , ("Lorg_eolang_bytes_and", evaluateBytesBytesBytesFunChain (.&.))-  , ("Lorg_eolang_bytes_or", evaluateBytesBytesBytesFunChain (.|.))   , ("Lorg_eolang_bytes_xor", evaluateBytesBytesBytesFunChain (.^.))-  , ("Lorg_eolang_bytes_not", evaluateBytesBytesFunChain complement)-  , ("Lorg_eolang_bytes_right", evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i)))-  , ("Lorg_eolang_bytes_concat", evaluateBinaryDataizationFunChain id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes)+  , -- deprecated+    ("Lorg_eolang_dataized", evaluateUnaryDataizationFunChain id id wrapBytesInBytes (extractLabel "target") id)+  , -- , ("Lorg_eolang_cage_encaged_encage", _)+    -- , ("Lorg_eolang_cage_encaged_φ", _)+    -- , ("Lorg_eolang_cage_φ", _)+    ("Lorg_eolang_error", evaluateUnaryDataizationFunChain stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error)   , -- float+    -- deprecated     ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))-  , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))-  , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))-  , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))-  , ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))-  , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))-  , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))-  , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))-  , -- string+  , -- deprecated+    ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))+  , -- deprecated+    ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))+  , -- deprecated+    ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))+  , -- deprecated+    ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))+  , -- deprecated+    ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))+  , -- deprecated+    ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))+  , -- deprecated+    ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))+  , -- , ("Lorg_eolang_fs_dir_made_mkdir", _)+    -- , ("Lorg_eolang_fs_dir_tmpfile_touch", _)+    -- , ("Lorg_eolang_fs_dir_walk", _)+    -- , ("Lorg_eolang_fs_file_deleted_delete", _)+    -- , ("Lorg_eolang_fs_file_exists", _)+    -- , ("Lorg_eolang_fs_file_is_directory", _)+    -- , ("Lorg_eolang_fs_file_moved_move", _)+    -- , ("Lorg_eolang_fs_file_open_file_stream_read_read_bytes", _)+    -- , ("Lorg_eolang_fs_file_open_file_stream_write_written_bytes", _)+    -- , ("Lorg_eolang_fs_file_open_process_file", _)+    -- , ("Lorg_eolang_fs_file_size", _)+    -- , ("Lorg_eolang_fs_file_touched_touch", _)+    ("Lorg_eolang_i16_as_i32", evaluateUnaryDataizationFunChain int16ToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+  , ("Lorg_eolang_i32_as_i64", evaluateUnaryDataizationFunChain int32ToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+  , ("Lorg_eolang_i64_as_number", evaluateUnaryDataizationFunChain floatToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+  , ("Lorg_eolang_i64_div", evaluateIntIntMaybeIntFunChain (\x y -> if y == 0 then Nothing else Just (x `quot` y)))+  , ("Lorg_eolang_i64_gt", evaluateIntIntBoolFunChain (>))+  , ("Lorg_eolang_i64_plus", evaluateIntIntIntFunChain (+))+  , ("Lorg_eolang_i64_times", evaluateIntIntIntFunChain (*))+  , -- , ("Lorg_eolang_malloc_of_allocated_read", _)+    -- , ("Lorg_eolang_malloc_of_allocated_resize", _)+    -- , ("Lorg_eolang_malloc_of_allocated_size", _)+    -- , ("Lorg_eolang_malloc_of_allocated_write", _)+    -- , ("Lorg_eolang_malloc_of_φ", _)+    ("Lorg_eolang_math_angle_cos", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho cos)+  , ("Lorg_eolang_math_angle_sin", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho sin)+  , ("Lorg_eolang_math_real_acos", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho acos)+  , ("Lorg_eolang_math_real_asin", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho asin)+  , ("Lorg_eolang_math_real_ln", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho log)+  , ("Lorg_eolang_math_real_pow", evaluateFloatFloatFloatFunChain (**))+  , ("Lorg_eolang_math_real_sqrt", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho sqrt)+  , ("Lorg_eolang_number_as_i64", evaluateUnaryDataizationFunChain int64ToBytes bytesToFloat wrapBytesInConstInt extractRho round)+  , ("Lorg_eolang_number_div", evaluateFloatFloatFloatFunChain (/))+  , ("Lorg_eolang_number_floor", evaluateUnaryDataizationFunChain int64ToBytes bytesToFloat wrapBytesInConstInt extractRho floor)+  , ("Lorg_eolang_number_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))+  , ("Lorg_eolang_number_plus", evaluateFloatFloatFloatFunChain (+))+  , ("Lorg_eolang_number_times", evaluateFloatFloatFloatFunChain (*))+  , -- , ("Lorg_eolang_rust", _)+    -- string     ("Lorg_eolang_string_length", evaluateUnaryDataizationFunChain intToBytes bytesToString wrapBytesInConstInt extractRho length)   ,     ( "Lorg_eolang_string_slice"@@ -80,12 +133,18 @@         string <- case thisStr of           AsBytes bytes -> pure $ bytesToString bytes           AsObject _ -> fail "Couldn't find bytes"-        evaluateBinaryDataizationFunChain stringToBytes bytesToInt wrapBytesInConstString (extractLabel "start") (extractLabel "len") (\start len -> take len (drop start string)) name obj state+        evaluateBinaryDataizationFunChain stringToBytes bytesToFloat wrapBytesInConstString (extractLabel "start") (extractLabel "len") (\start len -> take (floor len) (drop (floor start) string)) name obj state     )   , -- others-    ("Lorg_eolang_dataized", evaluateUnaryDataizationFunChain id id wrapBytesInBytes (extractLabel "target") id)-  , ("Lorg_eolang_error", evaluateUnaryDataizationFunChain stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error)-  ,+    -- , ("Lorg_eolang_sys_os_name", _)+    -- , ("Lorg_eolang_sys_posix_φ", _)+    -- , ("Lorg_eolang_sys_win32_φ", _)+    -- , ("Lorg_eolang_try", _)+    -- , ("Lorg_eolang_txt_regex_compiled", _)+    -- , ("Lorg_eolang_txt_regex_pattern_match_matched_from_index", _)+    -- , ("Lorg_eolang_txt_sprintf", _)+    -- , ("Lorg_eolang_txt_sscanf", _)+     ( "Package"     , let         f _name obj@(Formation bindings) = do
src/Language/EO/Phi/Dependencies.hs view
@@ -37,6 +37,7 @@ bindingAttr LambdaBinding{} = Just (Alpha (AlphaIndex "λ")) bindingAttr MetaBindings{} = Nothing bindingAttr MetaDeltaBinding{} = Nothing+bindingAttr b@(AlphaBindingSugar{}) = errorExpectedDesugaredBinding b  zipBindings :: [Binding] -> [Binding] -> ([Binding], [(Binding, Binding)]) zipBindings xs ys = (xs' <> ys', collisions)
src/Language/EO/Phi/Normalize.hs view
@@ -38,7 +38,7 @@ import Data.Generics.Labels () import GHC.Generics (Generic) import Language.EO.Phi.Rules.Common (lookupBinding, objectBindings)-import Language.EO.Phi.Syntax (desugar)+import Language.EO.Phi.Syntax (desugar, errorExpectedDesugaredObject) import Language.EO.Phi.Syntax.Abs  data Context = Context@@ -71,6 +71,7 @@   Application object bindings -> peelObject object `followedBy` ActionApplication bindings   ObjectDispatch object attr -> peelObject object `followedBy` ActionDispatch attr   GlobalObject -> PeeledObject HeadGlobal []+  obj@GlobalObjectPhiOrg -> peelObject (desugar obj)   ThisObject -> PeeledObject HeadThis []   Termination -> PeeledObject HeadTermination []   MetaObject _ -> PeeledObject HeadTermination []@@ -79,8 +80,11 @@   MetaSubstThis{} -> error "impossible"   MetaContextualize{} -> error "impossible"   obj@ConstString{} -> peelObject (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   obj@ConstInt{} -> peelObject (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   obj@ConstFloat{} -> peelObject (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  where   followedBy (PeeledObject object actions) action = PeeledObject object (actions ++ [action]) 
+ src/Language/EO/Phi/Preprocess.hs view
@@ -0,0 +1,80 @@+{- FOURMOLU_DISABLE -}+-- The MIT License (MIT)++-- Copyright (c) 2016-2024 Objectionary.com++-- Permission is hereby granted, free of charge, to any person obtaining a copy+-- of this software and associated documentation files (the "Software"), to deal+-- in the Software without restriction, including without limitation the rights+-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+-- copies of the Software, and to permit persons to whom the Software is+-- furnished to do so, subject to the following conditions:++-- The above copyright notice and this permission notice shall be included+-- in all copies or substantial portions of the Software.++-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+-- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE+-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+-- SOFTWARE.+{- FOURMOLU_ENABLE -}+{-# LANGUAGE BlockArguments #-}++module Language.EO.Phi.Preprocess where++import Control.Monad (void)+import Data.Void (Void)+import Replace.Megaparsec (splitCap)+import Text.Megaparsec (MonadParsec (..), Parsec, Stream (..), between, match, sepBy)+import Text.Megaparsec.Byte.Lexer qualified as L+import Text.Megaparsec.Char (lowerChar, space)++symbol :: String -> Parser String+symbol = L.symbol space++lexeme :: Parser a -> Parser a+lexeme = L.lexeme space++type Parser = Parsec Void String++parseLabelId :: Parser ()+parseLabelId = lexeme do+  void lowerChar+  void $ takeWhileP (Just "LabelId") (`notElem` " \r\n\t,.|':;!?][}{)(⟧⟦")++parseBindingArrow :: Parser ()+parseBindingArrow = void $ symbol "↦"++parseAlphaAttr :: Parser ()+parseAlphaAttr = do+  void parseLabelId+  void $ between (symbol "(") (symbol ")") (sepBy parseLabelId (symbol ","))++parseAlphaBindingSugar :: Parser ()+parseAlphaBindingSugar = do+  parseAlphaAttr+  parseBindingArrow++splitInput :: Parser a -> String -> [Either String (Tokens [Char])]+splitInput sep = splitCap (fst <$> match sep)++addPrefix :: Parser a -> String -> [String]+addPrefix sep = map (either id ("~" <>)) . splitInput sep++preprocess' :: Parser a -> String -> String+preprocess' sep = concat . addPrefix sep++preprocess :: String -> String+preprocess = preprocess' parseAlphaBindingSugar++input1 :: String+input1 = "{⟦ org ↦ ⟦ eolang ↦ ⟦ number( as-bytes, abra  ) ↦ ⟦ φ ↦ ξ.as-bytes, neg ↦ ξ.times(-1), ⟧, λ ⤍ Package ⟧, λ ⤍ Package ⟧ ⟧}"++-- >>> addPrefix parseAlphaBindingSugar input1+-- ["{\10214 org \8614 \10214 eolang \8614 \10214 ","~number( as-bytes, abra  ) \8614 ","\10214 \966 \8614 \958.as-bytes, neg \8614 \958.times(-1), \10215, \955 \10509 Package \10215, \955 \10509 Package \10215 \10215}"]++-- >>> preprocess input1+-- "{\10214 org \8614 \10214 eolang \8614 \10214 ~number( as-bytes, abra  ) \8614 \10214 \966 \8614 \958.as-bytes, neg \8614 \958.times(-1), \10215, \955 \10509 Package \10215, \955 \10509 Package \10215 \10215}"
+ src/Language/EO/Phi/Pretty.hs view
@@ -0,0 +1,168 @@+{- FOURMOLU_DISABLE -}+-- The MIT License (MIT)++-- Copyright (c) 2016-2024 Objectionary.com++-- Permission is hereby granted, free of charge, to any person obtaining a copy+-- of this software and associated documentation files (the "Software"), to deal+-- in the Software without restriction, including without limitation the rights+-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+-- copies of the Software, and to permit persons to whom the Software is+-- furnished to do so, subject to the following conditions:++-- The above copyright notice and this permission notice shall be included+-- in all copies or substantial portions of the Software.++-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+-- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE+-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+-- SOFTWARE.+{- FOURMOLU_ENABLE -}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# OPTIONS_GHC -Wno-orphans #-}++-- {-# LANGUAGE OverloadedStrings #-}++module Language.EO.Phi.Pretty where++import Language.EO.Phi.Syntax.Abs as Abs+import Prettyprinter++instance Pretty Abs.Bytes where+  pretty (Abs.Bytes i) = pretty i++instance Pretty Abs.Function where+  pretty (Abs.Function i) = pretty i++instance Pretty Abs.LabelId where+  pretty (Abs.LabelId i) = pretty i++instance Pretty Abs.AlphaIndex where+  pretty (Abs.AlphaIndex i) = pretty i++instance Pretty Abs.LabelMetaId where+  pretty (Abs.LabelMetaId i) = pretty i++instance Pretty Abs.TailMetaId where+  pretty (Abs.TailMetaId i) = pretty i++instance Pretty Abs.BindingsMetaId where+  pretty (Abs.BindingsMetaId i) = pretty i++instance Pretty Abs.ObjectMetaId where+  pretty (Abs.ObjectMetaId i) = pretty i++instance Pretty Abs.BytesMetaId where+  pretty (Abs.BytesMetaId i) = pretty i++instance Pretty Abs.MetaFunctionName where+  pretty (Abs.MetaFunctionName i) = pretty i++instance Pretty Abs.IntegerSigned where+  pretty (Abs.IntegerSigned i) = pretty i++instance Pretty Abs.DoubleSigned where+  pretty (Abs.DoubleSigned i) = pretty i++instance Pretty Abs.StringRaw where+  pretty (Abs.StringRaw i) = pretty i++instance Pretty Abs.Program where+  pretty = \case+    Abs.Program bindings ->+      vsep+        [ lbrace+        , indent 2 (pretty (Formation bindings))+        , rbrace+        ]++instance Pretty Abs.MetaId where+  pretty = \case+    Abs.MetaIdLabel labelmetaid -> pretty labelmetaid+    Abs.MetaIdTail tailmetaid -> pretty tailmetaid+    Abs.MetaIdBindings bindingsmetaid -> pretty bindingsmetaid+    Abs.MetaIdObject objectmetaid -> pretty objectmetaid+    Abs.MetaIdBytes bytesmetaid -> pretty bytesmetaid++instance Pretty Abs.Object where+  pretty = \case+    Abs.Formation bindings ->+      case bindings of+        [] -> pretty "⟦" <> pretty "⟧"+        _ -> vsep [pretty "⟦", indent 2 (pretty bindings), pretty "⟧"]+    Abs.Application object bindings ->+      case bindings of+        [] -> pretty object <> lparen <> rparen+        _ -> vsep [pretty object <> lparen, indent 2 (pretty bindings), rparen]+    Abs.ObjectDispatch object attribute -> pretty object <> pretty "." <> pretty attribute+    Abs.GlobalObject -> pretty "Φ"+    Abs.GlobalObjectPhiOrg -> pretty "Φ̇"+    Abs.ThisObject -> pretty "ξ"+    Abs.Termination -> pretty "⊥"+    Abs.ConstStringRaw str -> pretty str+    Abs.ConstString str -> pretty str+    Abs.ConstIntRaw integersigned -> pretty integersigned+    Abs.ConstFloatRaw doublesigned -> pretty doublesigned+    Abs.MetaSubstThis object1 object2 -> pretty object1 <+> lbracket <+> pretty "ξ ↦" <+> pretty object2 <+> rbracket+    Abs.MetaContextualize object1 object2 -> pretty "⌈" <+> pretty object1 <> pretty "," <+> pretty object2 <> pretty "⌉"+    Abs.MetaObject objectmetaid -> pretty objectmetaid+    Abs.MetaTailContext object tailmetaid -> pretty object <+> pretty "*" <+> pretty tailmetaid+    Abs.MetaFunction metafunctionname object -> vsep [pretty metafunctionname <+> lparen, pretty object, rparen]+    Abs.ConstFloat d -> pretty d+    Abs.ConstInt n -> pretty n++instance Pretty Abs.Binding where+  pretty = \case+    Abs.AlphaBinding attribute object -> pretty attribute <+> pretty "↦" <+> pretty object+    Abs.AlphaBindingSugar object -> pretty object+    Abs.EmptyBinding attribute -> pretty attribute <+> pretty "↦ ∅"+    Abs.DeltaBinding bytes -> pretty "Δ ⤍" <+> pretty bytes+    Abs.DeltaEmptyBinding -> pretty "Δ ⤍ ∅"+    Abs.LambdaBinding function -> pretty "λ ⤍" <+> pretty function+    Abs.MetaBindings bindingsmetaid -> pretty bindingsmetaid+    Abs.MetaDeltaBinding bytesmetaid -> pretty "Δ ⤍" <+> pretty bytesmetaid++instance {-# OVERLAPPING #-} Pretty [Abs.Binding] where+  pretty = vsep . punctuate comma . fmap pretty++instance Pretty Abs.Attribute where+  pretty = \case+    Abs.Phi -> pretty "φ"+    Abs.Rho -> pretty "ρ"+    Abs.Label labelid -> pretty labelid+    Abs.Alpha alphaindex -> pretty alphaindex+    Abs.MetaAttr labelmetaid -> pretty labelmetaid+    Abs.AttrSugar labelid labelids -> pretty labelid <> lparen <> pretty labelids <> rparen+    Abs.PhiSugar labelids -> pretty Abs.Phi <> lparen <> pretty labelids <> rparen++instance {-# OVERLAPPING #-} Pretty [Abs.LabelId] where+  pretty = hsep . punctuate comma . fmap pretty++instance Pretty Abs.RuleAttribute where+  pretty = \case+    Abs.ObjectAttr attribute -> pretty attribute+    Abs.DeltaAttr -> pretty "Δ"+    Abs.LambdaAttr -> pretty "λ"++instance Pretty Abs.PeeledObject where+  pretty = \case+    Abs.PeeledObject objecthead objectactions -> pretty objecthead <+> pretty objectactions++instance Pretty Abs.ObjectHead where+  pretty = \case+    Abs.HeadFormation bindings -> vsep [pretty "⟦", indent 2 (pretty bindings), pretty "⟧"]+    Abs.HeadGlobal -> pretty "Φ"+    Abs.HeadThis -> pretty "ξ"+    Abs.HeadTermination -> pretty "⊥"++instance Pretty Abs.ObjectAction where+  pretty = \case+    Abs.ActionApplication bindings -> vsep [lparen, indent 2 (pretty bindings), rparen]+    Abs.ActionDispatch attribute -> pretty "." <> pretty attribute++instance {-# OVERLAPPING #-} Pretty [Abs.ObjectAction] where+  pretty = hsep . fmap pretty
src/Language/EO/Phi/Rules/Common.hs view
@@ -118,6 +118,7 @@         ]     ObjectDispatch obj a -> propagateName2 ObjectDispatch <$> withSubObject f subctx obj <*> pure a     GlobalObject{} -> []+    obj@GlobalObjectPhiOrg{} -> errorExpectedDesugaredObject obj     ThisObject{} -> []     Termination -> []     MetaObject _ -> []@@ -126,8 +127,11 @@     MetaSubstThis _ _ -> []     MetaContextualize _ _ -> []     ConstString{} -> []+    obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj     ConstInt{} -> []+    obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj     ConstFloat{} -> []+    obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  -- | Given a unary function that operates only on plain objects, -- converts it to a function that operates on named objects@@ -153,6 +157,7 @@ withSubObjectBinding :: (Context -> Object -> [(String, Object)]) -> Context -> Binding -> [(String, Binding)] withSubObjectBinding f ctx = \case   AlphaBinding a obj -> propagateName1 (AlphaBinding a) <$> withSubObject f (ctx{currentAttr = a}) obj+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b   EmptyBinding{} -> []   DeltaBinding{} -> []   DeltaEmptyBinding{} -> []@@ -188,16 +193,25 @@   Application obj bindings -> 1 + objectSize obj + sum (map bindingSize bindings)   ObjectDispatch obj _attr -> 1 + objectSize obj   GlobalObject -> 1+  -- TODO #617:30m+  -- @fizruk, why desugar here and not assume the object is desugared?+  -- Is it because we sometimes bounce between sugared and desugared versions?+  --+  -- Should we introduce a smart constructor with a desugared object inside?+  obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj   ThisObject -> 1   Termination -> 1-  MetaObject{} -> 1 -- should be impossible-  MetaFunction{} -> 1 -- should be impossible-  MetaSubstThis{} -> 1 -- should be impossible-  MetaContextualize{} -> 1 -- should be impossible-  MetaTailContext{} -> 1 -- should be impossible+  obj@MetaObject{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  obj@MetaFunction{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  obj@MetaSubstThis{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  obj@MetaContextualize{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  obj@MetaTailContext{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)   obj@ConstString{} -> objectSize (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   obj@ConstInt{} -> objectSize (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   obj@ConstFloat{} -> objectSize (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  bindingSize :: Binding -> Int bindingSize = \case@@ -206,8 +220,9 @@   DeltaBinding _bytes -> 1   DeltaEmptyBinding -> 1   LambdaBinding _lam -> 1-  MetaDeltaBinding{} -> 1 -- should be impossible-  MetaBindings{} -> 1 -- should be impossible+  obj@MetaDeltaBinding{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  obj@MetaBindings{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b  -- | A variant of `applyRules` with a maximum application depth. applyRulesWith :: ApplicationLimits -> Context -> Object -> [Object]@@ -250,6 +265,7 @@   attr (MetaDeltaBinding _) = Label (LabelId "Δ")   attr (LambdaBinding _) = Label (LabelId "λ")   attr (MetaBindings (BindingsMetaId metaId)) = MetaAttr (LabelMetaId metaId)+  attr b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b  equalBinding :: Binding -> Binding -> Bool equalBinding (AlphaBinding attr1 obj1) (AlphaBinding attr2 obj2) = attr1 == attr2 && equalObject obj1 obj2@@ -364,7 +380,7 @@       ctx <- getContext       if isNF ctx obj         then do-          logStep "Normal form" obj+          logStep "NF" obj           return obj         else do           (ruleName, obj') <- choose (applyOneRule ctx obj)
src/Language/EO/Phi/Rules/Fast.hs view
@@ -205,6 +205,7 @@                       AlphaBinding a (fastYegorInsideOut ctx' objA)                     _ -> binding           ]+  obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj   Termination -> Termination   MetaSubstThis{} -> error "impossible MetaSubstThis!"   MetaContextualize{} -> error "impossible MetaContextualize!"@@ -212,5 +213,8 @@   MetaTailContext{} -> error "impossible MetaTailContext!"   MetaFunction{} -> error "impossible MetaFunction!"   obj@ConstString{} -> obj -- fastYegorInsideOut ctx (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj)   obj@ConstInt{} -> obj -- fastYegorInsideOut ctx (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj)   obj@ConstFloat{} -> obj -- fastYegorInsideOut ctx (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj)
src/Language/EO/Phi/Rules/Yaml.hs view
@@ -228,6 +228,7 @@ objectLabelIds :: Object -> Set LabelId objectLabelIds = \case   GlobalObject -> mempty+  obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj   ThisObject -> mempty   Formation bindings -> foldMap bindingLabelIds bindings   ObjectDispatch obj a -> objectLabelIds obj <> attrLabelIds a@@ -239,8 +240,11 @@   MetaSubstThis obj obj' -> objectLabelIds obj <> objectLabelIds obj'   MetaContextualize obj obj' -> objectLabelIds obj <> objectLabelIds obj'   obj@ConstString{} -> objectLabelIds (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   obj@ConstInt{} -> objectLabelIds (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   obj@ConstFloat{} -> objectLabelIds (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  bindingLabelIds :: Binding -> Set LabelId bindingLabelIds = \case@@ -251,6 +255,7 @@   LambdaBinding _ -> mempty   MetaBindings _ -> mempty   MetaDeltaBinding _ -> mempty+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b  attrLabelIds :: Attribute -> Set LabelId attrLabelIds (Label l) = Set.singleton l@@ -278,6 +283,7 @@ objectMetaIds (Application object bindings) = objectMetaIds object <> foldMap bindingMetaIds bindings objectMetaIds (ObjectDispatch object attr) = objectMetaIds object <> attrMetaIds attr objectMetaIds GlobalObject = mempty+objectMetaIds obj@GlobalObjectPhiOrg = errorExpectedDesugaredObject obj objectMetaIds ThisObject = mempty objectMetaIds Termination = mempty objectMetaIds (MetaObject x) = Set.singleton (MetaIdObject x)@@ -286,8 +292,11 @@ objectMetaIds (MetaSubstThis obj obj') = foldMap objectMetaIds [obj, obj'] objectMetaIds (MetaContextualize obj obj') = foldMap objectMetaIds [obj, obj'] objectMetaIds obj@ConstString{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstStringRaw{} = errorExpectedDesugaredObject obj objectMetaIds obj@ConstInt{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstIntRaw{} = errorExpectedDesugaredObject obj objectMetaIds obj@ConstFloat{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstFloatRaw{} = errorExpectedDesugaredObject obj  bindingMetaIds :: Binding -> Set MetaId bindingMetaIds (AlphaBinding attr obj) = attrMetaIds attr <> objectMetaIds obj@@ -297,6 +306,7 @@ bindingMetaIds (LambdaBinding _) = mempty bindingMetaIds (MetaBindings x) = Set.singleton (MetaIdBindings x) bindingMetaIds (MetaDeltaBinding x) = Set.singleton (MetaIdBytes x)+bindingMetaIds b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b  attrMetaIds :: Attribute -> Set MetaId attrMetaIds Phi = mempty@@ -304,12 +314,15 @@ attrMetaIds (Label _) = mempty attrMetaIds (Alpha _) = mempty attrMetaIds (MetaAttr x) = Set.singleton (MetaIdLabel x)+attrMetaIds a@(AttrSugar{}) = errorExpectedDesugaredAttribute a+attrMetaIds a@(PhiSugar{}) = errorExpectedDesugaredAttribute a  objectHasMetavars :: Object -> Bool objectHasMetavars (Formation bindings) = any bindingHasMetavars bindings objectHasMetavars (Application object bindings) = objectHasMetavars object || any bindingHasMetavars bindings objectHasMetavars (ObjectDispatch object attr) = objectHasMetavars object || attrHasMetavars attr objectHasMetavars GlobalObject = False+objectHasMetavars obj@GlobalObjectPhiOrg = errorExpectedDesugaredObject obj objectHasMetavars ThisObject = False objectHasMetavars Termination = False objectHasMetavars (MetaObject _) = True@@ -318,8 +331,11 @@ objectHasMetavars (MetaSubstThis _ _) = True -- technically not a metavar, but a substitution objectHasMetavars (MetaContextualize _ _) = True objectHasMetavars obj@ConstString{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstStringRaw{} = errorExpectedDesugaredObject obj objectHasMetavars obj@ConstInt{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstIntRaw{} = errorExpectedDesugaredObject obj objectHasMetavars obj@ConstFloat{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstFloatRaw{} = errorExpectedDesugaredObject obj  bindingHasMetavars :: Binding -> Bool bindingHasMetavars (AlphaBinding attr obj) = attrHasMetavars attr || objectHasMetavars obj@@ -329,6 +345,7 @@ bindingHasMetavars (LambdaBinding _) = False bindingHasMetavars (MetaBindings _) = True bindingHasMetavars (MetaDeltaBinding _) = True+bindingHasMetavars b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b  attrHasMetavars :: Attribute -> Bool attrHasMetavars Phi = False@@ -336,6 +353,8 @@ attrHasMetavars (Label _) = False attrHasMetavars (Alpha _) = False attrHasMetavars (MetaAttr _) = True+attrHasMetavars a@AttrSugar{} = errorExpectedDesugaredAttribute a+attrHasMetavars a@PhiSugar{} = errorExpectedDesugaredAttribute a  -- | Given a condition, and a substition from object matching --   tells whether the condition matches the object@@ -436,6 +455,7 @@   ObjectDispatch obj a ->     ObjectDispatch (applySubst subst obj) (applySubstAttr subst a)   GlobalObject -> GlobalObject+  obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj   ThisObject -> ThisObject   obj@(MetaObject x) -> fromMaybe obj $ lookup x objectMetas   Termination -> Termination@@ -449,8 +469,11 @@         let holeSubst = mempty{objectMetas = [(holeMetaId, applySubst subst obj)]}          in applySubst holeSubst contextObject   obj@ConstString{} -> applySubst subst (desugar obj)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   obj@ConstInt{} -> applySubst subst (desugar obj)+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   obj@ConstFloat{} -> applySubst subst (desugar obj)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  applySubstAttr :: Subst -> Attribute -> Attribute applySubstAttr Subst{..} = \case@@ -471,6 +494,7 @@   LambdaBinding bytes -> [LambdaBinding (coerce bytes)]   b@(MetaBindings m) -> fromMaybe [b] (lookup m bindingsMetas)   b@(MetaDeltaBinding m) -> maybe [b] (pure . DeltaBinding) (lookup m bytesMetas)+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b  mergeSubst :: Subst -> Subst -> Subst mergeSubst (Subst xs ys zs ws us) (Subst xs' ys' zs' ws' us') =@@ -520,9 +544,13 @@     ThisObject -> []     Termination -> []     ConstString{} -> []+    ConstStringRaw{} -> errorExpectedDesugaredObject obj     ConstInt{} -> []+    ConstIntRaw{} -> errorExpectedDesugaredObject obj     ConstFloat{} -> []-    -- should cases below be errors?+    ConstFloatRaw{} -> errorExpectedDesugaredObject obj+    -- TODO #617:30m Should cases below be errors?+    GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj     MetaSubstThis{} -> []     MetaContextualize{} -> []     MetaObject{} -> []@@ -629,6 +657,7 @@     Application obj bindings -> Application (go obj) (map (substThisBinding thisObj) bindings)     ObjectDispatch obj a -> ObjectDispatch (go obj) a     GlobalObject -> GlobalObject+    obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj     Termination -> Termination     obj@MetaTailContext{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)     obj@MetaContextualize{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)@@ -636,12 +665,11 @@     obj@MetaObject{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)     obj@MetaFunction{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)     obj@ConstString{} -> obj+    obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj     obj@ConstInt{} -> obj+    obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj     obj@ConstFloat{} -> obj---- {⟦ x ↦ ⟦ b ↦ ⟦ Δ ⤍ 01- ⟧, φ ↦ ⟦ b ↦ ⟦ Δ ⤍ 02- ⟧, c ↦ ⟦ a ↦ ξ.ρ.ρ.b ⟧.a ⟧.c ⟧.φ, λ ⤍ Package ⟧}---- {⟦ λ ⤍ Package, x ↦ ⟦ b ↦ ⟦⟧ ⟧ ⟧}+    obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  substThisBinding :: Object -> Binding -> Binding substThisBinding obj = \case@@ -652,6 +680,7 @@   LambdaBinding bytes -> LambdaBinding bytes   b@MetaBindings{} -> error ("impossible: trying to substitute ξ in " <> printTree b)   b@MetaDeltaBinding{} -> error ("impossible: trying to substitute ξ in " <> printTree b)+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b  contextualize :: Object -> Object -> Object contextualize thisObj = go@@ -662,6 +691,7 @@     ObjectDispatch obj a -> ObjectDispatch (go obj) a     Application obj bindings -> Application (go obj) (map (contextualizeBinding thisObj) bindings)     GlobalObject -> GlobalObject -- TODO: Change to what GlobalObject is attached to+    obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj     Termination -> Termination     obj@MetaTailContext{} -> error ("impossible: trying to contextualize " <> printTree obj)     obj@MetaContextualize{} -> error ("impossible: trying to contextualize " <> printTree obj)@@ -669,8 +699,11 @@     obj@MetaObject{} -> error ("impossible: trying to contextualize " <> printTree obj)     obj@MetaFunction{} -> error ("impossible: trying to contextualize " <> printTree obj)     obj@ConstString{} -> go (desugar obj)+    obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj     obj@ConstInt{} -> go (desugar obj)+    obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj     obj@ConstFloat{} -> go (desugar obj)+    obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj  contextualizeBinding :: Object -> Binding -> Binding contextualizeBinding obj = \case@@ -681,3 +714,4 @@   LambdaBinding bytes -> LambdaBinding bytes   b@MetaBindings{} -> error ("impossible: trying to contextualize " <> printTree b)   b@MetaDeltaBinding{} -> error ("impossible: trying to contextualize " <> printTree b)+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b
src/Language/EO/Phi/Syntax.hs view
@@ -21,32 +21,45 @@ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- SOFTWARE. {- FOURMOLU_ENABLE -}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ViewPatterns #-}+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} {-# OPTIONS_GHC -Wno-orphans #-}  module Language.EO.Phi.Syntax (   module Language.EO.Phi.Syntax.Abs,   desugar,   printTree,-  shrinkDots,+  printTreeDontSugar,    -- * Conversion to 'Bytes'   intToBytes,+  int64ToBytes,+  int32ToBytes,+  int16ToBytes,   floatToBytes,   boolToBytes,   stringToBytes,    -- * Conversion from 'Bytes'   bytesToInt,+  bytesToInt64,+  bytesToInt32,+  bytesToInt16,   bytesToFloat,   bytesToString,   bytesToBool,    -- * Wrapping 'Bytes' into 'Object'   wrapBytesInConstInt,+  wrapBytesInConstInt64,+  wrapBytesInConstInt32,+  wrapBytesInConstInt16,   wrapBytesInConstFloat,   wrapBytesInConstString,   wrapBytesInBytes,@@ -65,36 +78,182 @@   paddedLeftChunksOf,   normalizeBytes,   parseWith,+  errorExpectedDesugaredObject,+  errorExpectedDesugaredBinding,+  errorExpectedDesugaredAttribute, ) where  import Data.ByteString (ByteString) import Data.ByteString qualified as ByteString.Strict-import Data.Char (isSpace, toUpper)+import Data.Char (toUpper)+import Data.Int import Data.List (intercalate) import Data.Serialize qualified as Serialize import Data.String (IsString (fromString))+import Data.Text qualified as T import Data.Text qualified as Text import Data.Text.Encoding qualified as Text+import GHC.Float (isDoubleFinite)+import Language.EO.Phi.Preprocess (preprocess)+import Language.EO.Phi.Pretty () import Language.EO.Phi.Syntax.Abs import Language.EO.Phi.Syntax.Lex (Token) import Language.EO.Phi.Syntax.Par-import Language.EO.Phi.Syntax.Print qualified as Phi import Numeric (readHex, showHex)+import Prettyprinter (LayoutOptions (..), PageWidth (..), Pretty (pretty), defaultLayoutOptions, layoutPretty)+import Prettyprinter.Render.Text (renderStrict) import PyF (fmt)+import Text.Printf (printf)  -- $setup -- >>> :set -XOverloadedStrings -- >>> :set -XOverloadedLists +errorExpectedButGot :: (Pretty a, SugarableFinally a) => String -> a -> b+errorExpectedButGot type' x = error ([fmt|impossible: expected desugared {type'}, but got:\n|] <> printTree x)++errorExpectedDesugaredObject :: Object -> a+errorExpectedDesugaredObject = errorExpectedButGot "Object"++errorExpectedDesugaredBinding :: Binding -> a+errorExpectedDesugaredBinding = errorExpectedButGot "Binding"++errorExpectedDesugaredAttribute :: Attribute -> a+errorExpectedDesugaredAttribute = errorExpectedButGot "Attribute"++class DesugarableInitially a where+  desugarInitially :: a -> a+  desugarInitially = id++instance DesugarableInitially Object where+  desugarInitially :: Object -> Object+  desugarInitially = \case+    obj@(ConstString{}) -> obj+    ConstStringRaw (StringRaw s) -> ConstString (init (tail s))+    obj@(ConstInt{}) -> obj+    ConstIntRaw (IntegerSigned x) -> ConstInt (read x)+    obj@(ConstFloat{}) -> obj+    ConstFloatRaw (DoubleSigned x) -> ConstFloat (read x)+    Formation bindings -> Formation (desugarInitially bindings)+    Application obj bindings -> Application (desugarInitially obj) (desugarInitially bindings)+    ObjectDispatch obj a -> ObjectDispatch (desugarInitially obj) a+    GlobalObject -> GlobalObject+    GlobalObjectPhiOrg -> "Φ.org.eolang"+    ThisObject -> ThisObject+    Termination -> Termination+    MetaSubstThis obj this -> MetaSubstThis (desugarInitially obj) (desugarInitially this)+    obj@MetaObject{} -> obj+    MetaContextualize obj1 obj2 -> MetaContextualize (desugarInitially obj1) (desugarInitially obj2)+    MetaTailContext obj metaId -> MetaTailContext (desugarInitially obj) metaId+    MetaFunction name obj -> MetaFunction name (desugarInitially obj)++instance DesugarableInitially [Binding] where+  desugarInitially :: [Binding] -> [Binding]+  desugarInitially = zipWith go [0 ..]+   where+    go :: Int -> Binding -> Binding+    go idx = \case+      AlphaBinding (AttrSugar l ls) (Formation bindings) ->+        let bindingsDesugared = desugarInitially bindings+         in AlphaBinding (Label l) (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+      AlphaBinding (PhiSugar ls) (Formation bindings) ->+        let bindingsDesugared = desugarInitially bindings+         in AlphaBinding Phi (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+      AlphaBinding a obj -> AlphaBinding a (desugarInitially obj)+      AlphaBindingSugar obj -> AlphaBinding (Alpha (AlphaIndex [fmt|α{idx}|])) (desugarInitially obj)+      binding -> binding++instance DesugarableInitially Program where+  desugarInitially :: Program -> Program+  desugarInitially (Program bindings) = Program (desugarInitially bindings)++instance DesugarableInitially Binding where+  desugarInitially = \case+    obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+    AlphaBinding a obj -> AlphaBinding a (desugarInitially obj)+    obj -> obj++instance DesugarableInitially Attribute+instance DesugarableInitially RuleAttribute+instance DesugarableInitially PeeledObject+instance DesugarableInitially ObjectHead+instance DesugarableInitially MetaId++class SugarableFinally a where+  sugarFinally :: a -> a+  sugarFinally = id++instance SugarableFinally Program where+  sugarFinally :: Program -> Program+  sugarFinally (Program bindings) = Program (sugarFinally bindings)++instance SugarableFinally Object where+  sugarFinally :: Object -> Object+  sugarFinally = \case+    "Φ.org.eolang" -> GlobalObjectPhiOrg+    obj@ConstString{} -> obj+    obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj+    obj@ConstInt{} -> obj+    obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj+    obj@ConstFloat{} -> obj+    obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj+    Formation bindings -> Formation (sugarFinally <$> bindings)+    Application obj bindings -> Application (sugarFinally obj) (sugarFinally bindings)+    ObjectDispatch obj a -> ObjectDispatch (sugarFinally obj) a+    GlobalObject -> GlobalObject+    obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj+    ThisObject -> ThisObject+    Termination -> Termination+    MetaSubstThis obj this -> MetaSubstThis (sugarFinally obj) (sugarFinally this)+    obj@MetaObject{} -> obj+    MetaContextualize obj1 obj2 -> MetaContextualize (sugarFinally obj1) (sugarFinally obj2)+    MetaTailContext obj metaId -> MetaTailContext (sugarFinally obj) metaId+    MetaFunction name obj -> MetaFunction name (sugarFinally obj)++instance SugarableFinally [Binding] where+  sugarFinally :: [Binding] -> [Binding]+  sugarFinally bs =+    if and (zipWith go [0 ..] bs)+      then (\(~(AlphaBinding _ obj)) -> AlphaBindingSugar (sugarFinally obj)) <$> bs+      else sugarFinally <$> bs+   where+    go :: Int -> Binding -> Bool+    go idx = \case+      obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+      obj@(AlphaBinding (AttrSugar _ _) _) -> errorExpectedDesugaredBinding obj+      obj@(AlphaBinding (PhiSugar _) _) -> errorExpectedDesugaredBinding obj+      AlphaBinding (Alpha (AlphaIndex ('α' : idx'))) _ -> idx == read idx'+      _ -> False++instance SugarableFinally Binding where+  sugarFinally :: Binding -> Binding+  sugarFinally = \case+    obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+    AlphaBinding a obj -> AlphaBinding a (sugarFinally obj)+    x -> x++instance SugarableFinally ObjectMetaId+instance SugarableFinally BindingsMetaId+instance SugarableFinally LabelMetaId+instance SugarableFinally BytesMetaId+instance SugarableFinally Attribute+instance SugarableFinally TailMetaId+instance SugarableFinally Bytes+instance SugarableFinally MetaId+ desugar :: Object -> Object desugar = \case   ConstString string -> wrapBytesInString (stringToBytes string)+  obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj   ConstInt n -> wrapBytesInInt (intToBytes (fromInteger n))+  obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj   ConstFloat x -> wrapBytesInFloat (floatToBytes x)-  Formation bindings -> Formation (map desugarBinding bindings)-  Application obj bindings -> Application (desugar obj) (map desugarBinding bindings)+  obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj+  Formation bindings -> Formation (desugarBinding <$> bindings)+  Application obj bindings -> Application (desugar obj) (desugarBinding <$> bindings)   ObjectDispatch obj a -> ObjectDispatch (desugar obj) a   GlobalObject -> GlobalObject+  obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj   ThisObject -> ThisObject   Termination -> Termination   MetaSubstThis obj this -> MetaSubstThis (desugar obj) (desugar this)@@ -105,129 +264,75 @@  desugarBinding :: Binding -> Binding desugarBinding = \case+  AlphaBinding (AttrSugar l ls) (Formation bindings) ->+    let bindingsDesugared = desugarBinding <$> bindings+     in AlphaBinding (Label l) (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+  AlphaBinding (PhiSugar ls) (Formation bindings) ->+    let bindingsDesugared = desugarBinding <$> bindings+     in AlphaBinding Phi (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))   AlphaBinding a obj -> AlphaBinding a (desugar obj)+  obj@(AlphaBindingSugar{}) -> errorExpectedDesugaredBinding obj   binding -> binding  -- MetaSubstThis  wrapBytesInInt :: Bytes -> Object-wrapBytesInInt (Bytes bytes) = [fmt|Φ.org.eolang.int(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInInt (Bytes bytes) = [fmt|Φ.org.eolang.i64(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInFloat :: Bytes -> Object-wrapBytesInFloat (Bytes bytes) = [fmt|Φ.org.eolang.float(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInFloat (Bytes bytes) = [fmt|Φ.org.eolang.number(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInString :: Bytes -> Object-wrapBytesInString (Bytes bytes) = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInString (Bytes bytes) = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInBytes :: Bytes -> Object-wrapBytesInBytes (Bytes bytes) = [fmt|Φ.org.eolang.bytes(Δ ⤍ {bytes})|]+wrapBytesInBytes (Bytes bytes) = [fmt|Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧)|] wrapTermination :: Object-wrapTermination = [fmt|Φ.org.eolang.error(α0 ↦ Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes})))|]+wrapTermination = [fmt|Φ.org.eolang.error(α0 ↦ Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧)))|]  where   Bytes bytes = stringToBytes "unknown error"  wrapBytesInConstInt :: Bytes -> Object-wrapBytesInConstInt bytes = [fmt|Φ.org.eolang.int(as-bytes ↦ {bytesToInt bytes})|]+wrapBytesInConstInt = wrapBytesInConstInt64 +wrapBytesInConstInt64 :: Bytes -> Object+wrapBytesInConstInt64 bytes@(Bytes bs)+  | n < 0 = [fmt|Φ.org.eolang.i64(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+  | otherwise = [fmt|Φ.org.eolang.i64(as-bytes ↦ {n})|]+ where+  n = bytesToInt bytes++wrapBytesInConstInt32 :: Bytes -> Object+wrapBytesInConstInt32 bytes@(Bytes bs)+  | n < 0 = [fmt|Φ.org.eolang.i32(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+  | otherwise = [fmt|Φ.org.eolang.i32(as-bytes ↦ {n})|]+ where+  n = bytesToInt bytes++wrapBytesInConstInt16 :: Bytes -> Object+wrapBytesInConstInt16 bytes@(Bytes bs)+  | n < 0 = [fmt|Φ.org.eolang.i16(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+  | otherwise = [fmt|Φ.org.eolang.i16(as-bytes ↦ {n})|]+ where+  n = bytesToInt bytes+ wrapBytesInConstFloat :: Bytes -> Object-wrapBytesInConstFloat bytes = [fmt|Φ.org.eolang.float(as-bytes ↦ {bytesToFloat bytes})|]+wrapBytesInConstFloat bytes@(Bytes bs)+  | x == 0 = [fmt|Φ.org.eolang.number(as-bytes ↦ 0.0)|]+  | x > 0 && isDoubleFinite x == 1 = [fmt|Φ.org.eolang.number(as-bytes ↦ {printf "%f" x :: String})|]+  | otherwise = [fmt|Φ.org.eolang.number(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ where+  x = bytesToFloat bytes  wrapBytesInConstString :: Bytes -> Object-wrapBytesInConstString bytes = [fmt|Φ.org.eolang.string(as-bytes ↦ {show (bytesToString bytes)})|]+wrapBytesInConstString bytes@(Bytes bs)+  | '\\' `elem` s = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+  | otherwise = [fmt|Φ.org.eolang.string(as-bytes ↦ {s})|]+ where+  s = show (bytesToString bytes)  wrapBytesAsBool :: Bytes -> Object wrapBytesAsBool bytes   | bytesToInt bytes == 0 = [fmt|Φ.org.eolang.false|]   | otherwise = [fmt|Φ.org.eolang.true|] --- * Overriding generated pretty-printer---- | Like 'Phi.printTree', but without spaces around dots and no indentation for curly braces.-printTree :: (Phi.Print a) => a -> String-printTree = shrinkDots . render . Phi.prt 0---- | Remove spaces around dots.------ >>> shrinkDots "a ↦ ξ . a" == "a ↦ ξ.a"--- True-shrinkDots :: String -> String-shrinkDots [] = []-shrinkDots (' ' : '.' : ' ' : cs) = '.' : shrinkDots cs-shrinkDots (c : cs) = c : shrinkDots cs---- | Copy of 'Phi.render', except no indentation is made for curly braces.-render :: Phi.Doc -> String-render d = rend 0 False (map ($ "") $ d []) ""- where-  rend ::-    Int ->-    -- \^ Indentation level.-    Bool ->-    -- \^ Pending indentation to be output before next character?-    [String] ->-    ShowS-  rend i p = \case-    "[" : "]" : ts -> showString "[]" . rend i False ts-    "(" : ")" : (t : ts) -> handleTrailingComma "()" t ts-    "⟦" : "⟧" : (t : ts) -> handleTrailingComma "⟦⟧" t ts-    "[" : ts -> char '[' . rend i False ts-    "(" : ts -> char '(' . new (i + 1) ts-    "{" : "⟦" : ts -> showChar '{' . onNewLine (i + 1) p . showChar '⟦' . new (i + 2) ts-    "⟦" : ts -> showChar '⟦' . new (i + 1) ts-    ")" : "," : ts -> onNewLine (i - 1) p . showString ")," . new (i - 1) ts-    "⟧" : "," : ts -> onNewLine (i - 1) p . showString "⟧," . new (i - 1) ts-    ["⟧", "}"] -> onNewLine (i - 1) p . showChar '⟧' . new (i - 2) ["}"]-    "⟧" : ts -> onNewLine (i - 1) p . showChar '⟧' . new (i - 1) ts-    ")" : ts -> onNewLine (i - 1) p . showChar ')' . new (i - 1) ts-    [";"] -> char ';'-    ";" : ts -> char ';' . new i ts-    "." : ts -> rend i p (" ." : ts)-    t : (s : ss) | closingOrPunctuation s -> handleTrailingComma t s ss-    t : ts -> pending . space t . rend i False ts-    [] -> id-   where-    -- Output character after pending indentation.-    char :: Char -> ShowS-    char c = pending . showChar c--    handleTrailingComma str t ts =-      (pending . showString str)-        . ( case t of-              "," -> showChar ',' . new i ts-              _ -> rend i False (t : ts)-          )--    -- Output pending indentation.-    pending :: ShowS-    pending = if p then indent i else id--  -- Indentation (spaces) for given indentation level.-  indent :: Int -> ShowS-  indent i = Phi.replicateS (2 * i) (showChar ' ')--  -- Continue rendering in new line with new indentation.-  new :: Int -> [String] -> ShowS-  new j ts = showChar '\n' . rend j True ts--  -- Separate given string from following text by a space (if needed).-  space :: String -> ShowS-  space t s =-    case (all isSpace t, null spc, null rest) of-      (True, _, True) -> [] -- remove trailing space-      (False, _, True) -> t -- remove trailing space-      (False, True, False) -> t ++ ' ' : s -- add space if none-      _ -> t ++ s-   where-    (spc, rest) = span isSpace s--  closingOrPunctuation :: String -> Bool-  closingOrPunctuation [c] = c `elem` closerOrPunct-  closingOrPunctuation _ = False--  closerOrPunct :: String-  closerOrPunct = ")],;"--  -- Make sure we are on a fresh line.-  onNewLine :: Int -> Bool -> ShowS-  onNewLine i p = (if p then id else showChar '\n') . indent i- padLeft :: Int -> [Char] -> [Char] padLeft n s = replicate (n - length s) '0' ++ s @@ -318,6 +423,39 @@ intToBytes :: Int -> Bytes intToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n +-- | Convert an 'Int64' into 'Bytes' representation.+--+-- >>> int64ToBytes 7+-- Bytes "00-00-00-00-00-00-00-07"+-- >>> int64ToBytes (3^33)+-- Bytes "00-13-BF-EF-A6-5A-BB-83"+-- >>> int64ToBytes (-1)+-- Bytes "FF-FF-FF-FF-FF-FF-FF-FF"+int64ToBytes :: Int64 -> Bytes+int64ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n++-- | Convert an 'Int32' into 'Bytes' representation.+--+-- >>> int32ToBytes 7+-- Bytes "00-00-00-07"+-- >>> int32ToBytes (3^33)+-- Bytes "A6-5A-BB-83"+-- >>> int32ToBytes (-1)+-- Bytes "FF-FF-FF-FF"+int32ToBytes :: Int32 -> Bytes+int32ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n++-- | Convert an 'Int16' into 'Bytes' representation.+--+-- >>> int16ToBytes 7+-- Bytes "00-07"+-- >>> int16ToBytes (3^33)+-- Bytes "BB-83"+-- >>> int16ToBytes (-1)+-- Bytes "FF-FF"+int16ToBytes :: Int16 -> Bytes+int16ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n+ -- | Parse 'Bytes' as 'Int'. -- -- >>> bytesToInt "00-13-BF-EF-A6-5A-BB-83"@@ -340,6 +478,72 @@   | null bytes = 0   | otherwise = fst $ head $ readHex bytes +-- | Parse 'Bytes' as 'Int64'.+--+-- >>> bytesToInt64 "00-13-BF-EF-A6-5A-BB-83"+-- 5559060566555523+-- >>> bytesToInt64 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt64 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt64 :: Bytes -> Int64+bytesToInt64 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+  | null bytes = 0+  | otherwise = fst $ head $ readHex bytes++-- | Parse 'Bytes' as 'Int32'.+--+-- >>> bytesToInt32 "A6-5A-BB-83"+-- -1504003197+-- >>> bytesToInt32 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt32 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt32 :: Bytes -> Int32+bytesToInt32 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+  | null bytes = 0+  | otherwise = fst $ head $ readHex bytes++-- | Parse 'Bytes' as 'Int16'.+--+-- >>> bytesToInt16 "BB-83"+-- -17533+-- >>> bytesToInt16 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt16 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt16 :: Bytes -> Int16+bytesToInt16 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+  | null bytes = 0+  | otherwise = fst $ head $ readHex bytes+ -- | Convert 'Bool' to 'Bytes'. -- -- >>> boolToBytes False@@ -451,19 +655,32 @@ instance IsString RuleAttribute where fromString = unsafeParseWith pRuleAttribute instance IsString PeeledObject where fromString = unsafeParseWith pPeeledObject instance IsString ObjectHead where fromString = unsafeParseWith pObjectHead- instance IsString MetaId where fromString = unsafeParseWith pMetaId -parseWith :: ([Token] -> Either String a) -> String -> Either String a-parseWith parser input = either (\x -> Left [fmt|{x}\non the input:\n{input}|]) Right parsed+parseWith :: (DesugarableInitially a) => ([Token] -> Either String a) -> String -> Either String a+parseWith parser input = either (\x -> Left [fmt|{x}\non the input:\n{input'}|]) (Right . desugarInitially) parsed  where-  tokens = myLexer input+  input' = preprocess input+  tokens = myLexer input'   parsed = parser tokens  -- | Parse a 'Object' from a 'String'. -- May throw an 'error` if input has a syntactical or lexical errors.-unsafeParseWith :: ([Token] -> Either String a) -> String -> a+unsafeParseWith :: (DesugarableInitially a) => ([Token] -> Either String a) -> String -> a unsafeParseWith parser input =   case parseWith parser input of     Left parseError -> error parseError     Right object -> object++printTreeDontSugar :: (Pretty a) => a -> String+printTreeDontSugar =+  T.unpack+    . renderStrict+    . layoutPretty defaultLayoutOptions{layoutPageWidth = Unbounded}+    . pretty++-- | The top-level printing method.+printTree :: (Pretty a, SugarableFinally a) => a -> String+printTree =+  printTreeDontSugar+    . sugarFinally
src/Language/EO/Phi/Syntax/Abs.hs view
@@ -64,20 +64,25 @@     | Application Object [Binding]     | ObjectDispatch Object Attribute     | GlobalObject+    | GlobalObjectPhiOrg     | ThisObject     | Termination-    | ConstString String-    | ConstInt Integer-    | ConstFloat Double+    | ConstStringRaw StringRaw+    | ConstIntRaw IntegerSigned+    | ConstFloatRaw DoubleSigned     | MetaSubstThis Object Object     | MetaContextualize Object Object     | MetaObject ObjectMetaId     | MetaTailContext Object TailMetaId     | MetaFunction MetaFunctionName Object+    | ConstFloat Double+    | ConstInt Integer+    | ConstString String   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)  data Binding     = AlphaBinding Attribute Object+    | AlphaBindingSugar Object     | EmptyBinding Attribute     | DeltaBinding Bytes     | DeltaEmptyBinding@@ -88,10 +93,12 @@  data Attribute     = Phi+    | PhiSugar [LabelId]     | Rho     | Label LabelId     | Alpha AlphaIndex     | MetaAttr LabelMetaId+    | AttrSugar LabelId [LabelId]   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic)  data RuleAttribute = ObjectAttr Attribute | DeltaAttr | LambdaAttr@@ -136,5 +143,14 @@   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)  newtype MetaFunctionName = MetaFunctionName String+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype IntegerSigned = IntegerSigned String+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype DoubleSigned = DoubleSigned String+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype StringRaw = StringRaw String   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString) 
src/Language/EO/Phi/Syntax/Lex.hs view
@@ -27,22625 +27,26054 @@ alex_tab_size :: Int alex_tab_size = 8 alex_base :: Array Int Int-alex_base = listArray (0 :: Int, 171)-  [ -8-  , -153-  , -159-  , 91-  , 219-  , 475-  , 594-  , 0-  , 0-  , 0-  , 707-  , -73-  , 771-  , -150-  , -156-  , 899-  , 1027-  , 1283-  , -120-  , 1402-  , -35-  , 0-  , 140-  , 0-  , 0-  , 0-  , 1515-  , 1580-  , 1644-  , -136-  , 1834-  , -139-  , 1914-  , 2042-  , 2298-  , 2417-  , 2673-  , 2918-  , 1828-  , 0-  , 0-  , 0-  , 3020-  , 2610-  , 2854-  , -130-  , -116-  , 3276-  , 3277-  , 3393-  , 3521-  , 3777-  , 3896-  , 155-  , -15-  , 0-  , -102-  , -84-  , -106-  , -111-  , 0-  , 599-  , 0-  , 0-  , 0-  , 4009-  , 4074-  , 4138-  , 4266-  , 4394-  , 4650-  , 4736-  , 4950-  , 0-  , 0-  , 0-  , 0-  , 5063-  , 4588-  , 4806-  , 5191-  , 5319-  , 5575-  , 5693-  , 0-  , 571-  , 593-  , 610-  , 620-  , 640-  , 653-  , 1368-  , 0-  , 5939-  , 6195-  , 6196-  , 6324-  , 1392-  , 5512-  , 6389-  , 6502-  , -80-  , 1315-  , -82-  , 1279-  , 485-  , 1853-  , 2416-  , 2446-  , 10-  , 2469-  , 43-  , 0-  , 0-  , 0-  , 6719-  , 5822-  , 6851-  , 7087-  , 7343-  , 7344-  , 7472-  , 17-  , -43-  , 6787-  , 7537-  , 7650-  , 7778-  , 0-  , 0-  , 0-  , 7961-  , 8217-  , 8218-  , 8346-  , 19-  , 54-  , 8410-  , 8475-  , 8588-  , 0-  , 0-  , 0-  , 8835-  , 9091-  , 9092-  , 9220-  , 48-  , 57-  , 9284-  , 9349-  , 9462-  , 0-  , 0-  , 0-  , 9709-  , 9965-  , 9966-  , 10094-  , 439-  , 58-  , 10158-  , 10223-  , 10336-  , 0-  , 0-  , 0-  , 0-  , 0-  , 10400-  , 10465-  , 10578-  ]--alex_table :: Array Int Int-alex_table = listArray (0 :: Int, 10833)-  [ 0-  , 61-  , 61-  , 61-  , 61-  , 61-  , 2-  , -1-  , -1-  , 14-  , -1-  , -1-  , 19-  , 21-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 31-  , 61-  , 30-  , 93-  , -1-  , -1-  , 46-  , 55-  , 60-  , 60-  , 60-  , 60-  , 60-  , 60-  , 54-  , 60-  , 85-  , 108-  , 108-  , 108-  , 108-  , 108-  , 108-  , 108-  , 108-  , 108-  , 108-  , -1-  , -1-  , 60-  , 60-  , 60-  , 107-  , 118-  , 47-  , 47-  , 47-  , 47-  , 47-  , 47-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 60-  , 60-  , 60-  , 60-  , 60-  , 110-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 60-  , 122-  , 60-  , 12-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 48-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 22-  , 104-  , 105-  , 110-  , 89-  , 0-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 135-  , -1-  , -1-  , 147-  , 159-  , 102-  , 4-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 5-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 61-  , 61-  , 61-  , 61-  , 61-  , 71-  , 60-  , 0-  , 0-  , 0-  , 83-  , 60-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 61-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 88-  , 87-  , 0-  , 0-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 86-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 90-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 5-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 167-  , 169-  , 4-  , 84-  , 1-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 84-  , 170-  , 3-  , 168-  , 168-  , 168-  , 171-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 11-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 16-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 17-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 89-  , -1-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 91-  , 93-  , 60-  , 0-  , 0-  , 0-  , 93-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 60-  , -1-  , -1-  , -1-  , 103-  , 0-  , 56-  , 0-  , 59-  , 0-  , 57-  , 20-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 60-  , 0-  , 0-  , 60-  , 0-  , 0-  , 0-  , 0-  , 101-  , 0-  , 0-  , 0-  , 0-  , 58-  , 0-  , 0-  , 0-  , 0-  , 93-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 93-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 93-  , 0-  , 0-  , 0-  , 93-  , 0-  , 93-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 17-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 9-  , 12-  , 16-  , 8-  , 13-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 8-  , 11-  , 15-  , 7-  , 7-  , 7-  , 10-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 27-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 28-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 155-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 109-  , 109-  , 109-  , 109-  , 109-  , 109-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 143-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 6-  , 0-  , 0-  , 0-  , 0-  , 131-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 18-  , 33-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 34-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , -1-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 0-  , 0-  , 0-  , 0-  , 0-  , 89-  , 0-  , 53-  , 53-  , 53-  , 53-  , 53-  , 53-  , 53-  , 53-  , 53-  , 53-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 111-  , 111-  , 111-  , 111-  , 111-  , 111-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 106-  , 106-  , 106-  , 106-  , 106-  , 106-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 34-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 28-  , 33-  , 24-  , 29-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 27-  , 32-  , 23-  , 23-  , 23-  , 26-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 0-  , 0-  , 35-  , 35-  , 0-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 35-  , 0-  , 0-  , 35-  , 35-  , 35-  , 35-  , 35-  , 115-  , 0-  , 0-  , 35-  , 35-  , 0-  , 35-  , 0-  , 35-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 0-  , 35-  , 35-  , 35-  , 0-  , 35-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 35-  , 0-  , 35-  , 36-  , 35-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 0-  , 0-  , 35-  , 35-  , 44-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 34-  , 127-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 25-  , 28-  , 33-  , 24-  , 29-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 24-  , 27-  , 32-  , 23-  , 23-  , 23-  , 26-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 115-  , 0-  , 0-  , 52-  , 52-  , 0-  , 110-  , 0-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 52-  , 52-  , 52-  , 0-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 52-  , 0-  , 52-  , 117-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 0-  , 52-  , 52-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , 51-  , 38-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 44-  , 50-  , 40-  , 45-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 43-  , 49-  , 39-  , 39-  , 39-  , 42-  , 43-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 115-  , 0-  , 0-  , 52-  , 52-  , 0-  , 0-  , 0-  , 52-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 0-  , 0-  , 52-  , 52-  , 52-  , 0-  , 52-  , 37-  , 37-  , 37-  , 37-  , 37-  , 37-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 52-  , 0-  , 52-  , 117-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 0-  , 52-  , 52-  , 0-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 51-  , 38-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 44-  , 50-  , 40-  , 45-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 43-  , 49-  , 39-  , 39-  , 39-  , 42-  , 50-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 51-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 51-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 44-  , 50-  , 40-  , 45-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 43-  , 49-  , 39-  , 39-  , 39-  , 42-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 66-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 67-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 69-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 70-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 72-  , 79-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 70-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 67-  , 69-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 66-  , 68-  , 62-  , 62-  , 62-  , 65-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 72-  , 0-  , 0-  , 0-  , 0-  , 73-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 70-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 64-  , 67-  , 69-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 63-  , 66-  , 68-  , 62-  , 62-  , 62-  , 65-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 78-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 81-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 82-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 82-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 76-  , 79-  , 81-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 75-  , 78-  , 80-  , 74-  , 74-  , 74-  , 77-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 92-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 0-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 97-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 94-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 98-  , 95-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 99-  , 96-  , 114-  , 114-  , 114-  , 100-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 94-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 112-  , 95-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 113-  , 98-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 99-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 115-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 0-  , 0-  , 0-  , 0-  , 115-  , 0-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 115-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 52-  , 0-  , 0-  , 52-  , 52-  , 52-  , 52-  , 52-  , 115-  , 0-  , 0-  , 52-  , 52-  , 0-  , 0-  , 0-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 52-  , 52-  , 52-  , 116-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 52-  , 0-  , 52-  , 117-  , 52-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 117-  , 0-  , 0-  , 0-  , 52-  , 52-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , 51-  , 38-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 41-  , 44-  , 50-  , 40-  , 45-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 40-  , 43-  , 49-  , 39-  , 39-  , 39-  , 42-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 119-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 124-  , 120-  , 129-  , 123-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 125-  , 121-  , 130-  , 130-  , 130-  , 126-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 119-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 128-  , 120-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 129-  , 124-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 125-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 0-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , 36-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 132-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 137-  , 133-  , 141-  , 136-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 138-  , 134-  , 142-  , 142-  , 142-  , 139-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 132-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 140-  , 133-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , 141-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 137-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 138-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 144-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 149-  , 145-  , 153-  , 148-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 150-  , 146-  , 154-  , 154-  , 154-  , 151-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 144-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 152-  , 145-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , 153-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 149-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 150-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , 0-  , 0-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , 0-  , -1-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , 0-  , -1-  , -1-  , -1-  , 0-  , 0-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 156-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 161-  , 157-  , 165-  , 160-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 162-  , 158-  , 166-  , 166-  , 166-  , 163-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 156-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 164-  , 157-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , 165-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 161-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 162-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 169-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 170-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  ]--alex_check :: Array Int Int-alex_check = listArray (0 :: Int, 10833)-  [ -1-  , 9-  , 10-  , 11-  , 12-  , 13-  , 159-  , 166-  , 167-  , 159-  , 166-  , 167-  , 132-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 159-  , 32-  , 33-  , 34-  , 166-  , 167-  , 159-  , 45-  , 133-  , 40-  , 41-  , 42-  , 141-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 166-  , 167-  , 136-  , 137-  , 165-  , 45-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 166-  , 93-  , 166-  , 167-  , 45-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 159-  , 125-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 166-  , 167-  , 166-  , 167-  , 195-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 206-  , 207-  , 45-  , 46-  , -1-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 159-  , 166-  , 167-  , 159-  , 159-  , 226-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 9-  , 10-  , 166-  , 167-  , 13-  , 9-  , 10-  , 11-  , 12-  , 13-  , 42-  , 129-  , -1-  , -1-  , -1-  , 47-  , 134-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , 32-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 45-  , -1-  , -1-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , 101-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 9-  , 10-  , -1-  , 46-  , 13-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 34-  , 148-  , -1-  , -1-  , -1-  , 39-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , 166-  , 44-  , 45-  , 46-  , 134-  , -1-  , 136-  , -1-  , 138-  , -1-  , 140-  , 177-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , 187-  , -1-  , -1-  , 190-  , -1-  , -1-  , -1-  , -1-  , 159-  , -1-  , -1-  , -1-  , -1-  , 164-  , -1-  , -1-  , -1-  , -1-  , 92-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , 102-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 110-  , -1-  , -1-  , -1-  , 114-  , -1-  , 116-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 66-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 98-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 116-  , -1-  , -1-  , -1-  , -1-  , 121-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , -1-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , -1-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 207-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , -1-  , 46-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , -1-  , -1-  , -1-  , -1-  , -1-  , 46-  , -1-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , -1-  , -1-  , 11-  , 12-  , -1-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , -1-  , -1-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , -1-  , -1-  , 42-  , 43-  , -1-  , 45-  , -1-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , 60-  , 61-  , 62-  , -1-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , -1-  , 92-  , -1-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , -1-  , -1-  , -1-  , 126-  , 127-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , -1-  , -1-  , 11-  , 12-  , -1-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , -1-  , -1-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , -1-  , -1-  , 42-  , 43-  , -1-  , 45-  , -1-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , 60-  , 61-  , 62-  , -1-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , -1-  , 92-  , -1-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , -1-  , -1-  , -1-  , 126-  , 127-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , -1-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , -1-  , -1-  , 11-  , 12-  , -1-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , -1-  , -1-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , -1-  , -1-  , 42-  , 43-  , -1-  , -1-  , -1-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , 60-  , 61-  , 62-  , -1-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , -1-  , 92-  , -1-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , -1-  , -1-  , -1-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , -1-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , -1-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , -1-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 42-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 42-  , -1-  , -1-  , -1-  , -1-  , 47-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , 10-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 10-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 34-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , -1-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 92-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 39-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , -1-  , -1-  , -1-  , -1-  , 95-  , -1-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , -1-  , -1-  , 11-  , 12-  , -1-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , -1-  , -1-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , -1-  , -1-  , 42-  , 43-  , -1-  , -1-  , -1-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , -1-  , -1-  , 60-  , 61-  , 62-  , 195-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , -1-  , 92-  , -1-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , -1-  , -1-  , -1-  , 126-  , 127-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , -1-  , -1-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , -1-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , -1-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 9-  , 10-  , -1-  , -1-  , 13-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 32-  , 33-  , -1-  , -1-  , -1-  , -1-  , -1-  , 39-  , 40-  , 41-  , -1-  , -1-  , 44-  , 45-  , 46-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 58-  , 59-  , -1-  , -1-  , -1-  , 63-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 91-  , -1-  , 93-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 123-  , 124-  , 125-  , -1-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 0-  , 1-  , 2-  , 3-  , 4-  , 5-  , 6-  , 7-  , 8-  , 9-  , 10-  , 11-  , 12-  , 13-  , 14-  , 15-  , 16-  , 17-  , 18-  , 19-  , 20-  , 21-  , 22-  , 23-  , 24-  , 25-  , 26-  , 27-  , 28-  , 29-  , 30-  , 31-  , 32-  , 33-  , 34-  , 35-  , 36-  , 37-  , 38-  , 39-  , 40-  , 41-  , 42-  , 43-  , 44-  , 45-  , 46-  , 47-  , 48-  , 49-  , 50-  , 51-  , 52-  , 53-  , 54-  , 55-  , 56-  , 57-  , 58-  , 59-  , 60-  , 61-  , 62-  , 63-  , 64-  , 65-  , 66-  , 67-  , 68-  , 69-  , 70-  , 71-  , 72-  , 73-  , 74-  , 75-  , 76-  , 77-  , 78-  , 79-  , 80-  , 81-  , 82-  , 83-  , 84-  , 85-  , 86-  , 87-  , 88-  , 89-  , 90-  , 91-  , 92-  , 93-  , 94-  , 95-  , 96-  , 97-  , 98-  , 99-  , 100-  , 101-  , 102-  , 103-  , 104-  , 105-  , 106-  , 107-  , 108-  , 109-  , 110-  , 111-  , 112-  , 113-  , 114-  , 115-  , 116-  , 117-  , 118-  , 119-  , 120-  , 121-  , 122-  , 123-  , 124-  , 125-  , 126-  , 127-  , -1-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 128-  , 129-  , 130-  , 131-  , 132-  , 133-  , 134-  , 135-  , 136-  , 137-  , 138-  , 139-  , 140-  , 141-  , 142-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  , 143-  , 144-  , 145-  , 146-  , 147-  , 148-  , 149-  , 150-  , 151-  , 152-  , 153-  , 154-  , 155-  , 156-  , 157-  , 158-  , 159-  , 160-  , 161-  , 162-  , 163-  , 164-  , 165-  , 166-  , 167-  , 168-  , 169-  , 170-  , 171-  , 172-  , 173-  , 174-  , 175-  , 176-  , 177-  , 178-  , 179-  , 180-  , 181-  , 182-  , 183-  , 184-  , 185-  , 186-  , 187-  , 188-  , 189-  , 190-  , 191-  , 192-  , 193-  , 194-  , 195-  , 196-  , 197-  , 198-  , 199-  , 200-  , 201-  , 202-  , 203-  , 204-  , 205-  , 206-  , 207-  , 208-  , 209-  , 210-  , 211-  , 212-  , 213-  , 214-  , 215-  , 216-  , 217-  , 218-  , 219-  , 220-  , 221-  , 222-  , 223-  , 224-  , 225-  , 226-  , 227-  , 228-  , 229-  , 230-  , 231-  , 232-  , 233-  , 234-  , 235-  , 236-  , 237-  , 238-  , 239-  , 240-  , 241-  , 242-  , 243-  , 244-  , 245-  , 246-  , 247-  , 248-  , 249-  , 250-  , 251-  , 252-  , 253-  , 254-  , 255-  ]--alex_deflt :: Array Int Int-alex_deflt = listArray (0 :: Int, 171)-  [ -1-  , 167-  , 6-  , -1-  , -1-  , 6-  , 6-  , 8-  , 9-  , 19-  , 8-  , 9-  , 19-  , 9-  , 19-  , -1-  , -1-  , 19-  , -1-  , 19-  , -1-  , -1-  , -1-  , 24-  , 25-  , 35-  , 24-  , 25-  , 35-  , 25-  , -1-  , 35-  , -1-  , -1-  , 35-  , 35-  , -1-  , -1-  , 52-  , 40-  , 41-  , 52-  , 40-  , 41-  , 52-  , 41-  , 52-  , -1-  , -1-  , -1-  , -1-  , 52-  , 52-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 63-  , 64-  , 71-  , 63-  , 64-  , 71-  , -1-  , -1-  , 71-  , 71-  , 71-  , -1-  , 75-  , 76-  , 83-  , 75-  , 76-  , 83-  , -1-  , -1-  , 83-  , 83-  , 167-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 93-  , 93-  , -1-  , -1-  , -1-  , 93-  , 112-  , 113-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , -1-  , 93-  , 112-  , 113-  , -1-  , -1-  , -1-  , 118-  , 118-  , -1-  , -1-  , 118-  , 128-  , 118-  , 128-  , 129-  , 35-  , 118-  , 128-  , 129-  , 131-  , 131-  , -1-  , -1-  , 131-  , 140-  , 131-  , 140-  , 141-  , 131-  , 140-  , 141-  , 143-  , 143-  , -1-  , -1-  , 143-  , 152-  , 143-  , 152-  , 153-  , 143-  , 152-  , 153-  , 155-  , 155-  , -1-  , -1-  , 155-  , 164-  , 155-  , 164-  , 165-  , 155-  , 164-  , 165-  , 6-  , 84-  , 6-  , 167-  , 84-  ]--alex_accept = listArray (0 :: Int, 171)-  [ AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 24-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 23-  , AlexAccNone-  , AlexAcc 22-  , AlexAcc 21-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 20-  , AlexAcc 19-  , AlexAcc 18-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 17-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 16-  , AlexAcc 15-  , AlexAccNone-  , AlexAcc 14-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 13-  , AlexAccSkip-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccSkip-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccSkip-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 12-  , AlexAccNone-  , AlexAcc 11-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 10-  , AlexAcc 9-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 8-  , AlexAcc 7-  , AlexAcc 6-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 5-  , AlexAccNone-  , AlexAcc 4-  , AlexAcc 3-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 2-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 1-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAcc 0-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  , AlexAccNone-  ]--alex_actions = array (0 :: Int, 25)-  [ (24,alex_action_9)-  , (23,alex_action_8)-  , (22,alex_action_7)-  , (21,alex_action_7)-  , (20,alex_action_6)-  , (19,alex_action_6)-  , (18,alex_action_5)-  , (17,alex_action_5)-  , (16,alex_action_5)-  , (15,alex_action_16)-  , (14,alex_action_4)-  , (13,alex_action_3)-  , (12,alex_action_17)-  , (11,alex_action_17)-  , (10,alex_action_16)-  , (9,alex_action_15)-  , (8,alex_action_16)-  , (7,alex_action_4)-  , (6,alex_action_4)-  , (5,alex_action_14)-  , (4,alex_action_5)-  , (3,alex_action_13)-  , (2,alex_action_12)-  , (1,alex_action_11)-  , (0,alex_action_10)-  ]--alex_action_3 = tok (eitherResIdent TV)-alex_action_4 = tok (eitherResIdent T_Bytes)-alex_action_5 = tok (eitherResIdent T_Function)-alex_action_6 = tok (eitherResIdent T_LabelId)-alex_action_7 = tok (eitherResIdent T_AlphaIndex)-alex_action_8 = tok (eitherResIdent T_LabelMetaId)-alex_action_9 = tok (eitherResIdent T_TailMetaId)-alex_action_10 = tok (eitherResIdent T_BindingsMetaId)-alex_action_11 = tok (eitherResIdent T_ObjectMetaId)-alex_action_12 = tok (eitherResIdent T_BytesMetaId)-alex_action_13 = tok (eitherResIdent T_MetaFunctionName)-alex_action_14 = tok (eitherResIdent TV)-alex_action_15 = tok (TL . unescapeInitTail)-alex_action_16 = tok TI-alex_action_17 = tok TD--#define ALEX_NOPRED 1--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--#ifdef ALEX_GHC-#  define ILIT(n) n#-#  define IBOX(n) (I# (n))-#  define FAST_INT Int#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#  if __GLASGOW_HASKELL__ > 706-#    define GTE(n,m) (tagToEnum# (n >=# m))-#    define EQ(n,m) (tagToEnum# (n ==# m))-#  else-#    define GTE(n,m) (n >=# m)-#    define EQ(n,m) (n ==# m)-#  endif-#  define PLUS(n,m) (n +# m)-#  define MINUS(n,m) (n -# m)-#  define TIMES(n,m) (n *# m)-#  define NEGATE(n) (negateInt# (n))-#  define IF_GHC(x) (x)-#else-#  define ILIT(n) (n)-#  define IBOX(n) (n)-#  define FAST_INT Int-#  define GTE(n,m) (n >= m)-#  define EQ(n,m) (n == m)-#  define PLUS(n,m) (n + m)-#  define MINUS(n,m) (n - m)-#  define TIMES(n,m) (n * m)-#  define NEGATE(n) (negate (n))-#  define IF_GHC(x)-#endif--#ifdef ALEX_GHC-data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN-  narrow16Int# i-  where-        i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-        low  = int2Word# (ord# (indexCharOffAddr# arr off'))-        off' = off *# 2#-#else-#if __GLASGOW_HASKELL__ >= 901-  int16ToInt#-#endif-    (indexInt16OffAddr# arr off)-#endif-#else-alexIndexInt16OffAddr arr off = arr ! off-#endif--#ifdef ALEX_GHC-{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#-alexIndexInt32OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN-  narrow32Int# i-  where-   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`-                     (b2 `uncheckedShiftL#` 16#) `or#`-                     (b1 `uncheckedShiftL#` 8#) `or#` b0)-   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))-   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))-   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))-   off' = off *# 4#-#else-#if __GLASGOW_HASKELL__ >= 901-  int32ToInt#-#endif-    (indexInt32OffAddr# arr off)-#endif-#else-alexIndexInt32OffAddr arr off = arr ! off-#endif--#ifdef ALEX_GHC--#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif-#else-quickIndex arr i = arr ! i-#endif---- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a-  = AlexEOF-  | AlexError  !AlexInput-  | AlexSkip   !AlexInput !Int-  | AlexToken  !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input__ IBOX(sc)-  = alexScanUser undefined input__ IBOX(sc)--alexScanUser user__ input__ IBOX(sc)-  = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of-  (AlexNone, input__') ->-    case alexGetByte input__ of-      Nothing ->-#ifdef ALEX_DEBUG-                                   trace ("End of input.") $-#endif-                                   AlexEOF-      Just _ ->-#ifdef ALEX_DEBUG-                                   trace ("Error.") $-#endif-                                   AlexError input__'--  (AlexLastSkip input__'' len, _) ->-#ifdef ALEX_DEBUG-    trace ("Skipping.") $-#endif-    AlexSkip input__'' len--  (AlexLastAcc k input__''' len, _) ->-#ifdef ALEX_DEBUG-    trace ("Accept.") $-#endif-    AlexToken input__''' len (alex_actions ! k)----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user__ orig_input len input__ s last_acc =-  input__ `seq` -- strict in the input-  let-  new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))-  in-  new_acc `seq`-  case alexGetByte input__ of-     Nothing -> (new_acc, input__)-     Just (c, new_input) ->-#ifdef ALEX_DEBUG-      trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $-#endif-      case fromIntegral c of { IBOX(ord_c) ->-        let-                base   = alexIndexInt32OffAddr alex_base s-                offset = PLUS(base,ord_c)--                new_s = if GTE(offset,ILIT(0))-                          && let check  = alexIndexInt16OffAddr alex_check offset-                             in  EQ(check,ord_c)-                          then alexIndexInt16OffAddr alex_table offset-                          else alexIndexInt16OffAddr alex_deflt s-        in-        case new_s of-            ILIT(-1) -> (new_acc, input__)-                -- on an error, we want to keep the input *before* the-                -- character that failed, not after.-            _ -> alex_scan_tkn user__ orig_input-#ifdef ALEX_LATIN1-                   PLUS(len,ILIT(1))-                   -- issue 119: in the latin1 encoding, *each* byte is one character-#else-                   (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)-                   -- note that the length is increased ONLY if this is the 1st byte in a char encoding)-#endif-                   new_input new_s new_acc-      }-  where-        check_accs (AlexAccNone) = last_acc-        check_accs (AlexAcc a  ) = AlexLastAcc a input__ IBOX(len)-        check_accs (AlexAccSkip) = AlexLastSkip  input__ IBOX(len)-#ifndef ALEX_NOPRED-        check_accs (AlexAccPred a predx rest)-           | predx user__ orig_input IBOX(len) input__-           = AlexLastAcc a input__ IBOX(len)-           | otherwise-           = check_accs rest-        check_accs (AlexAccSkipPred predx rest)-           | predx user__ orig_input IBOX(len) input__-           = AlexLastSkip input__ IBOX(len)-           | otherwise-           = check_accs rest-#endif--data AlexLastAcc-  = AlexNone-  | AlexLastAcc !Int !AlexInput !Int-  | AlexLastSkip     !AlexInput !Int--data AlexAcc user-  = AlexAccNone-  | AlexAcc Int-  | AlexAccSkip-#ifndef ALEX_NOPRED-  | AlexAccPred Int (AlexAccPred user) (AlexAcc user)-  | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user__ in1 len in2-  = p1 user__ in1 len in2 && p2 user__ in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _-alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__--alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _-alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__----alexRightContext :: Int -> AlexAccPred _-alexRightContext IBOX(sc) user__ _ _ input__ =-     case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of-          (AlexNone, _) -> False-          _ -> True-        -- TODO: there's no need to find the longest-        -- match when checking the right context, just-        -- the first match will do.-#endif-{-# LINE 104 "Lex.x" #-}--- | Create a token with position.-tok :: (String -> Tok) -> (Posn -> String -> Token)-tok f p = PT p . f---- | Token without position.-data Tok-  = TK {-# UNPACK #-} !TokSymbol  -- ^ Reserved word or symbol.-  | TL !String                    -- ^ String literal.-  | TI !String                    -- ^ Integer literal.-  | TV !String                    -- ^ Identifier.-  | TD !String                    -- ^ Float literal.-  | TC !String                    -- ^ Character literal.-  | T_Bytes !String-  | T_Function !String-  | T_LabelId !String-  | T_AlphaIndex !String-  | T_LabelMetaId !String-  | T_TailMetaId !String-  | T_BindingsMetaId !String-  | T_ObjectMetaId !String-  | T_BytesMetaId !String-  | T_MetaFunctionName !String-  deriving (Eq, Show, Ord)---- | Smart constructor for 'Tok' for the sake of backwards compatibility.-pattern TS :: String -> Int -> Tok-pattern TS t i = TK (TokSymbol t i)---- | Keyword or symbol tokens have a unique ID.-data TokSymbol = TokSymbol-  { tsText :: String-      -- ^ Keyword or symbol text.-  , tsID   :: !Int-      -- ^ Unique ID.-  } deriving (Show)---- | Keyword/symbol equality is determined by the unique ID.-instance Eq  TokSymbol where (==)    = (==)    `on` tsID---- | Keyword/symbol ordering is determined by the unique ID.-instance Ord TokSymbol where compare = compare `on` tsID---- | Token with position.-data Token-  = PT  Posn Tok-  | Err Posn-  deriving (Eq, Show, Ord)---- | Pretty print a position.-printPosn :: Posn -> String-printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c---- | Pretty print the position of the first token in the list.-tokenPos :: [Token] -> String-tokenPos (t:_) = printPosn (tokenPosn t)-tokenPos []    = "end of file"---- | Get the position of a token.-tokenPosn :: Token -> Posn-tokenPosn (PT p _) = p-tokenPosn (Err p)  = p---- | Get line and column of a token.-tokenLineCol :: Token -> (Int, Int)-tokenLineCol = posLineCol . tokenPosn---- | Get line and column of a position.-posLineCol :: Posn -> (Int, Int)-posLineCol (Pn _ l c) = (l,c)---- | Convert a token into "position token" form.-mkPosToken :: Token -> ((Int, Int), String)-mkPosToken t = (tokenLineCol t, tokenText t)---- | Convert a token to its text.-tokenText :: Token -> String-tokenText t = case t of-  PT _ (TS s _) -> s-  PT _ (TL s)   -> show s-  PT _ (TI s)   -> s-  PT _ (TV s)   -> s-  PT _ (TD s)   -> s-  PT _ (TC s)   -> s-  Err _         -> "#error"-  PT _ (T_Bytes s) -> s-  PT _ (T_Function s) -> s-  PT _ (T_LabelId s) -> s-  PT _ (T_AlphaIndex s) -> s-  PT _ (T_LabelMetaId s) -> s-  PT _ (T_TailMetaId s) -> s-  PT _ (T_BindingsMetaId s) -> s-  PT _ (T_ObjectMetaId s) -> s-  PT _ (T_BytesMetaId s) -> s-  PT _ (T_MetaFunctionName s) -> s---- | Convert a token to a string.-prToken :: Token -> String-prToken t = tokenText t---- | Finite map from text to token organized as binary search tree.-data BTree-  = N -- ^ Nil (leaf).-  | B String Tok BTree BTree-      -- ^ Binary node.-  deriving (Show)---- | Convert potential keyword into token or use fallback conversion.-eitherResIdent :: (String -> Tok) -> String -> Tok-eitherResIdent tv s = treeFind resWords-  where-  treeFind N = tv s-  treeFind (B a t left right) =-    case compare s a of-      LT -> treeFind left-      GT -> treeFind right-      EQ -> t---- | The keywords and symbols of the language organized as binary search tree.-resWords :: BTree-resWords =-  b "\955" 12-    (b "[" 6-       (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))-       (b "}" 9-          (b "{" 8 (b "]" 7 N N) N) (b "\934" 11 (b "\916" 10 N N) N)))-    (b "\8869" 18-       (b "\966" 15-          (b "\961" 14 (b "\958" 13 N N) N)-          (b "\8709" 17 (b "\8614" 16 N N) N))-       (b "\10214" 21-          (b "\8969" 20 (b "\8968" 19 N N) N)-          (b "\10509" 23 (b "\10215" 22 N N) N)))+alex_base = listArray (0 :: Int, 196)+  [ -8+  , -153+  , -159+  , 91+  , 219+  , 475+  , 594+  , 0+  , 0+  , 0+  , 707+  , -72+  , 771+  , -150+  , -156+  , 899+  , 1027+  , 1283+  , 1402+  , 0+  , 0+  , 0+  , 1515+  , 1580+  , 1644+  , -147+  , -152+  , 1772+  , 1900+  , 2156+  , 2275+  , 0+  , 0+  , 0+  , 2388+  , 2453+  , 2517+  , -146+  , -149+  , 2645+  , 2773+  , 3029+  , 3148+  , 140+  , 560+  , 610+  , 623+  , 3276+  , 593+  , 1368+  , 640+  , 650+  , -117+  , -185+  , -25+  , 3340+  , 3404+  , 1422+  , -24+  , 1448+  , 2274+  , -113+  , 2169+  , -143+  , 1292+  , -139+  , 0+  , 0+  , 0+  , 3453+  , 3518+  , 3582+  , 2253+  , 3710+  , 3838+  , 4094+  , 4188+  , 0+  , 4097+  , 4405+  , 0+  , 0+  , 0+  , 4458+  , 4337+  , 4522+  , 2262+  , 4650+  , 4778+  , 5034+  , 5152+  , 0+  , -12+  , 0+  , 5398+  , 5654+  , 5655+  , 5783+  , 5217+  , 5848+  , 5961+  , 0+  , 0+  , 0+  , 2279+  , 6207+  , 6463+  , 6464+  , 6592+  , 6656+  , 6721+  , 6834+  , 0+  , 0+  , 0+  , 0+  , 7048+  , 7262+  , 7518+  , 7519+  , 7647+  , 6904+  , 7114+  , 7760+  , 0+  , 0+  , 0+  , 619+  , 0+  , -136+  , -110+  , -86+  , 82+  , 0+  , 3114+  , 8016+  , 8261+  , 8506+  , 8742+  , 8998+  , 8999+  , 9127+  , -114+  , -105+  , 7952+  , 8198+  , 9240+  , 0+  , 0+  , 0+  , 9496+  , 9732+  , 9988+  , 9989+  , 10117+  , -80+  , -104+  , 8442+  , 9433+  , 10230+  , 0+  , 0+  , 0+  , 3147+  , 0+  , 3164+  , 10420+  , 10506+  , -48+  , 10762+  , 10763+  , 10891+  , 18+  , -71+  , 10955+  , 11020+  , 11133+  , 0+  , 0+  , 0+  , 11380+  , 11636+  , 11637+  , 11765+  , 34+  , -43+  , 11829+  , 11894+  , 12007+  , 0+  , 0+  , 0+  , 0+  , 0+  , 12071+  , 12136+  , 12249+  ]++alex_table :: Array Int Int+alex_table = listArray (0 :: Int, 12504)+  [ 0+  , 127+  , 127+  , 127+  , 127+  , 127+  , 2+  , -1+  , -1+  , 14+  , -1+  , -1+  , 26+  , 38+  , -1+  , -1+  , 128+  , -1+  , -1+  , 61+  , 57+  , 59+  , 128+  , 128+  , 127+  , 166+  , 105+  , 128+  , 128+  , 128+  , 117+  , 128+  , 128+  , 128+  , 128+  , 94+  , 128+  , 134+  , 128+  , 92+  , 43+  , 43+  , 43+  , 43+  , 43+  , 43+  , 43+  , 43+  , 43+  , 43+  , 128+  , 128+  , -1+  , -1+  , 142+  , 155+  , 42+  , 136+  , 136+  , 136+  , 136+  , 136+  , 136+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 128+  , 167+  , 128+  , -1+  , -1+  , 172+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 128+  , 184+  , 128+  , 128+  , 12+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 48+  , 55+  , 45+  , 45+  , 45+  , 45+  , 45+  , 45+  , 45+  , 45+  , 45+  , 45+  , 62+  , 132+  , -1+  , -1+  , 0+  , 0+  , 0+  , 54+  , 54+  , 54+  , 54+  , 54+  , 54+  , 128+  , 0+  , 0+  , 0+  , 0+  , 128+  , 0+  , 64+  , 4+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 5+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 48+  , -1+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 127+  , 127+  , 127+  , 127+  , 127+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 127+  , -1+  , -1+  , 0+  , 57+  , 48+  , -1+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 50+  , 0+  , 0+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 51+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 5+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 192+  , 194+  , 4+  , 93+  , 1+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 93+  , 195+  , 3+  , 193+  , 193+  , 193+  , 196+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 11+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 16+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 17+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 49+  , 63+  , 0+  , 52+  , 0+  , 129+  , 0+  , 131+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , 65+  , 0+  , 0+  , 0+  , 0+  , 130+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 46+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , -1+  , 0+  , -1+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 60+  , 60+  , 60+  , 60+  , 60+  , 60+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 17+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 9+  , 12+  , 16+  , 8+  , 13+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 8+  , 11+  , 15+  , 7+  , 7+  , 7+  , 10+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 23+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 24+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 28+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 29+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 76+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 90+  , 0+  , 0+  , 0+  , 0+  , 90+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 105+  , -1+  , -1+  , -1+  , 128+  , 90+  , -1+  , -1+  , -1+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 0+  , -1+  , -1+  , 53+  , 0+  , 0+  , -1+  , 58+  , 58+  , 58+  , 58+  , 58+  , 58+  , 76+  , 165+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 90+  , 76+  , 128+  , 0+  , 0+  , 128+  , 0+  , 0+  , 0+  , 76+  , 90+  , 0+  , -1+  , 76+  , -1+  , 76+  , 76+  , 105+  , 90+  , 0+  , 0+  , 0+  , 90+  , 0+  , 90+  , 0+  , 0+  , 105+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 105+  , 0+  , 0+  , 0+  , 105+  , 0+  , 105+  , 76+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 29+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 21+  , 24+  , 28+  , 20+  , 25+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 20+  , 23+  , 27+  , 19+  , 19+  , 19+  , 22+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 35+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 36+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 40+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 41+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 133+  , 0+  , -1+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 44+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 164+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 163+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 41+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 33+  , 36+  , 40+  , 32+  , 37+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 32+  , 35+  , 39+  , 31+  , 31+  , 31+  , 34+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 70+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 71+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 74+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 75+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 77+  , 0+  , 0+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 0+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 72+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 75+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 68+  , 71+  , 74+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 67+  , 70+  , 73+  , 66+  , 66+  , 66+  , 69+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 79+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 0+  , 0+  , 0+  , 0+  , 79+  , 0+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 79+  , 85+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 78+  , 84+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 88+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 89+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 91+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 86+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 89+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 82+  , 85+  , 88+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 81+  , 84+  , 87+  , 80+  , 80+  , 80+  , 83+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 95+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 98+  , 96+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 99+  , 97+  , 103+  , 103+  , 103+  , 100+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 95+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 101+  , 96+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 102+  , 98+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 99+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 76+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 77+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 104+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 106+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 109+  , 107+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 110+  , 108+  , 114+  , 114+  , 114+  , 111+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 106+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 112+  , 107+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , 113+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 109+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 110+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 116+  , 0+  , 0+  , 0+  , 0+  , 115+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 118+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 121+  , 119+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 122+  , 120+  , 126+  , 126+  , 126+  , 123+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 116+  , 121+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 118+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 121+  , 119+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 122+  , 120+  , 126+  , 126+  , 126+  , 123+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 118+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 124+  , 119+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 125+  , 122+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 79+  , 0+  , 0+  , 138+  , 138+  , 0+  , 0+  , 0+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 0+  , 138+  , 138+  , 138+  , 0+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 138+  , 0+  , 138+  , 135+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 0+  , 0+  , 138+  , 138+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 139+  , 56+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 144+  , 140+  , 148+  , 143+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 145+  , 141+  , 149+  , 149+  , 149+  , 146+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 79+  , 0+  , 0+  , 138+  , 138+  , 0+  , 0+  , 0+  , 138+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 0+  , 0+  , 138+  , 138+  , 138+  , 0+  , 138+  , 137+  , 137+  , 137+  , 137+  , 137+  , 137+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 138+  , 0+  , 138+  , 135+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 0+  , 0+  , 138+  , 138+  , 144+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 139+  , 56+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 144+  , 140+  , 148+  , 143+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 145+  , 141+  , 149+  , 149+  , 149+  , 146+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 138+  , 0+  , 0+  , 138+  , 138+  , 138+  , 138+  , 138+  , 79+  , 0+  , 0+  , 138+  , 138+  , 0+  , 57+  , 0+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 0+  , 138+  , 138+  , 138+  , 0+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 138+  , 0+  , 138+  , 135+  , 138+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 135+  , 0+  , 0+  , 0+  , 138+  , 138+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , 139+  , 56+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 144+  , 140+  , 148+  , 143+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 145+  , 141+  , 149+  , 149+  , 149+  , 146+  , -1+  , -1+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 139+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 144+  , 140+  , 148+  , 143+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 145+  , 141+  , 149+  , 149+  , 149+  , 146+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 139+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 147+  , 140+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 148+  , 145+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 0+  , 0+  , 151+  , 151+  , 0+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 151+  , 0+  , 0+  , 151+  , 151+  , 151+  , 151+  , 151+  , 79+  , 0+  , 0+  , 151+  , 151+  , 0+  , 151+  , 0+  , 151+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 0+  , 151+  , 151+  , 151+  , 0+  , 151+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 151+  , 0+  , 151+  , 150+  , 151+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 150+  , 0+  , 0+  , 0+  , 151+  , 151+  , 157+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 152+  , 47+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 157+  , 153+  , 161+  , 156+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 158+  , 154+  , 162+  , 162+  , 162+  , 159+  , -1+  , -1+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 152+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 157+  , 153+  , 161+  , 156+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 158+  , 154+  , 162+  , 162+  , 162+  , 159+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 152+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 160+  , 153+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 161+  , 158+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 6+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 18+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 180+  , 0+  , -1+  , -1+  , 0+  , 30+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 168+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 169+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 174+  , 170+  , 178+  , 173+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 175+  , 171+  , 179+  , 179+  , 179+  , 176+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 169+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 177+  , 170+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , 178+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 174+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 175+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , 0+  , 0+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , 0+  , -1+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , 0+  , -1+  , -1+  , -1+  , 0+  , 0+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 181+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 186+  , 182+  , 190+  , 185+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 187+  , 183+  , 191+  , 191+  , 191+  , 188+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 0+  , 181+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 189+  , 182+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , 190+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 186+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 187+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 194+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 195+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  ]++alex_check :: Array Int Int+alex_check = listArray (0 :: Int, 12504)+  [ -1+  , 9+  , 10+  , 11+  , 12+  , 13+  , 159+  , 166+  , 167+  , 159+  , 166+  , 167+  , 159+  , 159+  , 166+  , 167+  , 133+  , 166+  , 167+  , 204+  , 45+  , 45+  , 135+  , 166+  , 32+  , 33+  , 34+  , 166+  , 167+  , 165+  , 42+  , 141+  , 40+  , 41+  , 42+  , 47+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 136+  , 137+  , 166+  , 167+  , 159+  , 159+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 132+  , 93+  , 166+  , 167+  , 159+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 159+  , 125+  , 126+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 166+  , 167+  , 46+  , 195+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 206+  , 207+  , 166+  , 167+  , -1+  , -1+  , -1+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 129+  , -1+  , -1+  , -1+  , -1+  , 134+  , -1+  , 226+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 9+  , 10+  , -1+  , 46+  , 13+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , 9+  , 10+  , 11+  , 12+  , 13+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 32+  , 58+  , 59+  , -1+  , 45+  , 46+  , 63+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 45+  , -1+  , -1+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 9+  , 10+  , -1+  , -1+  , 13+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 134+  , -1+  , 136+  , -1+  , 138+  , -1+  , 140+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , -1+  , -1+  , 159+  , -1+  , -1+  , -1+  , -1+  , 164+  , -1+  , -1+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , -1+  , -1+  , -1+  , 101+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 91+  , -1+  , 93+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 9+  , 10+  , -1+  , 34+  , 13+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 34+  , -1+  , -1+  , -1+  , -1+  , 39+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , 34+  , 39+  , 40+  , 41+  , 148+  , 39+  , 44+  , 45+  , 46+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , 58+  , 59+  , 166+  , -1+  , -1+  , 63+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 92+  , 177+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 92+  , 102+  , 187+  , -1+  , -1+  , 190+  , -1+  , -1+  , -1+  , 110+  , 102+  , -1+  , 91+  , 114+  , 93+  , 116+  , 117+  , 92+  , 110+  , -1+  , -1+  , -1+  , 114+  , -1+  , 116+  , -1+  , -1+  , 102+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 110+  , -1+  , -1+  , -1+  , 114+  , -1+  , 116+  , 117+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 9+  , 10+  , 45+  , -1+  , 13+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , -1+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , -1+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , -1+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , -1+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , -1+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , -1+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 34+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , -1+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 92+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 39+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , -1+  , -1+  , -1+  , -1+  , 95+  , -1+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 195+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , 10+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 34+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 92+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 10+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 10+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 34+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 92+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 42+  , -1+  , -1+  , -1+  , -1+  , 47+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 42+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , -1+  , -1+  , 11+  , 12+  , -1+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , -1+  , -1+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , -1+  , -1+  , 42+  , 43+  , -1+  , -1+  , -1+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , 60+  , 61+  , 62+  , -1+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , -1+  , 92+  , -1+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , -1+  , -1+  , -1+  , 126+  , 127+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , -1+  , -1+  , 11+  , 12+  , -1+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , -1+  , -1+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , -1+  , -1+  , 42+  , 43+  , -1+  , -1+  , -1+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , 60+  , 61+  , 62+  , -1+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , -1+  , 92+  , -1+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , -1+  , -1+  , -1+  , 126+  , 127+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , -1+  , -1+  , 11+  , 12+  , -1+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , -1+  , -1+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , -1+  , -1+  , 42+  , 43+  , -1+  , 45+  , -1+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , 60+  , 61+  , 62+  , -1+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , -1+  , 92+  , -1+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , -1+  , -1+  , -1+  , 126+  , 127+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , -1+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 9+  , 10+  , -1+  , -1+  , 13+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , -1+  , -1+  , 11+  , 12+  , -1+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , -1+  , -1+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , -1+  , -1+  , 42+  , 43+  , -1+  , 45+  , -1+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , -1+  , -1+  , 60+  , 61+  , 62+  , -1+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , -1+  , 92+  , -1+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , -1+  , -1+  , -1+  , 126+  , 127+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , -1+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 9+  , 10+  , -1+  , -1+  , 13+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , -1+  , 46+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 66+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 9+  , 10+  , -1+  , 98+  , 13+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 116+  , -1+  , 32+  , 33+  , -1+  , 121+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 207+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 9+  , 10+  , -1+  , -1+  , 13+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 32+  , 33+  , -1+  , -1+  , -1+  , -1+  , -1+  , 39+  , 40+  , 41+  , -1+  , -1+  , 44+  , 45+  , 46+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 58+  , 59+  , -1+  , -1+  , -1+  , 63+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 91+  , -1+  , 93+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 123+  , 124+  , 125+  , -1+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 0+  , 1+  , 2+  , 3+  , 4+  , 5+  , 6+  , 7+  , 8+  , 9+  , 10+  , 11+  , 12+  , 13+  , 14+  , 15+  , 16+  , 17+  , 18+  , 19+  , 20+  , 21+  , 22+  , 23+  , 24+  , 25+  , 26+  , 27+  , 28+  , 29+  , 30+  , 31+  , 32+  , 33+  , 34+  , 35+  , 36+  , 37+  , 38+  , 39+  , 40+  , 41+  , 42+  , 43+  , 44+  , 45+  , 46+  , 47+  , 48+  , 49+  , 50+  , 51+  , 52+  , 53+  , 54+  , 55+  , 56+  , 57+  , 58+  , 59+  , 60+  , 61+  , 62+  , 63+  , 64+  , 65+  , 66+  , 67+  , 68+  , 69+  , 70+  , 71+  , 72+  , 73+  , 74+  , 75+  , 76+  , 77+  , 78+  , 79+  , 80+  , 81+  , 82+  , 83+  , 84+  , 85+  , 86+  , 87+  , 88+  , 89+  , 90+  , 91+  , 92+  , 93+  , 94+  , 95+  , 96+  , 97+  , 98+  , 99+  , 100+  , 101+  , 102+  , 103+  , 104+  , 105+  , 106+  , 107+  , 108+  , 109+  , 110+  , 111+  , 112+  , 113+  , 114+  , 115+  , 116+  , 117+  , 118+  , 119+  , 120+  , 121+  , 122+  , 123+  , 124+  , 125+  , 126+  , 127+  , -1+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 128+  , 129+  , 130+  , 131+  , 132+  , 133+  , 134+  , 135+  , 136+  , 137+  , 138+  , 139+  , 140+  , 141+  , 142+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  , 143+  , 144+  , 145+  , 146+  , 147+  , 148+  , 149+  , 150+  , 151+  , 152+  , 153+  , 154+  , 155+  , 156+  , 157+  , 158+  , 159+  , 160+  , 161+  , 162+  , 163+  , 164+  , 165+  , 166+  , 167+  , 168+  , 169+  , 170+  , 171+  , 172+  , 173+  , 174+  , 175+  , 176+  , 177+  , 178+  , 179+  , 180+  , 181+  , 182+  , 183+  , 184+  , 185+  , 186+  , 187+  , 188+  , 189+  , 190+  , 191+  , 192+  , 193+  , 194+  , 195+  , 196+  , 197+  , 198+  , 199+  , 200+  , 201+  , 202+  , 203+  , 204+  , 205+  , 206+  , 207+  , 208+  , 209+  , 210+  , 211+  , 212+  , 213+  , 214+  , 215+  , 216+  , 217+  , 218+  , 219+  , 220+  , 221+  , 222+  , 223+  , 224+  , 225+  , 226+  , 227+  , 228+  , 229+  , 230+  , 231+  , 232+  , 233+  , 234+  , 235+  , 236+  , 237+  , 238+  , 239+  , 240+  , 241+  , 242+  , 243+  , 244+  , 245+  , 246+  , 247+  , 248+  , 249+  , 250+  , 251+  , 252+  , 253+  , 254+  , 255+  ]++alex_deflt :: Array Int Int+alex_deflt = listArray (0 :: Int, 196)+  [ -1+  , 192+  , 6+  , -1+  , -1+  , 6+  , 6+  , 8+  , 9+  , 18+  , 8+  , 9+  , 18+  , 9+  , 18+  , -1+  , -1+  , 18+  , 18+  , 20+  , 21+  , 30+  , 20+  , 21+  , 30+  , 21+  , 30+  , -1+  , -1+  , 30+  , 30+  , 32+  , 33+  , 42+  , 32+  , 33+  , 42+  , 33+  , 42+  , -1+  , -1+  , 42+  , 42+  , -1+  , -1+  , -1+  , -1+  , 151+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 138+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 67+  , 68+  , 76+  , 67+  , 68+  , 76+  , -1+  , -1+  , -1+  , 76+  , 76+  , -1+  , -1+  , -1+  , 81+  , 82+  , 90+  , 81+  , 82+  , 90+  , -1+  , -1+  , -1+  , 90+  , 90+  , -1+  , -1+  , 192+  , 94+  , 94+  , -1+  , -1+  , 94+  , 101+  , 102+  , 94+  , 101+  , 102+  , -1+  , 105+  , 105+  , -1+  , -1+  , 105+  , 112+  , 113+  , 105+  , 112+  , 113+  , -1+  , 117+  , 117+  , 117+  , -1+  , -1+  , 117+  , 124+  , 125+  , 117+  , 124+  , 125+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , -1+  , 138+  , 138+  , -1+  , -1+  , 138+  , 147+  , 138+  , 147+  , 148+  , 138+  , 147+  , 148+  , -1+  , 151+  , 151+  , -1+  , -1+  , 151+  , 160+  , 151+  , 160+  , 161+  , 151+  , 160+  , 161+  , -1+  , -1+  , -1+  , -1+  , 167+  , -1+  , 167+  , -1+  , -1+  , 167+  , 177+  , 167+  , 177+  , 178+  , 167+  , 177+  , 178+  , 180+  , 180+  , -1+  , -1+  , 180+  , 189+  , 180+  , 189+  , 190+  , 180+  , 189+  , 190+  , 6+  , 93+  , 6+  , 192+  , 93+  ]++alex_accept = listArray (0 :: Int, 196)+  [ AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 26+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 25+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 24+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 23+  , AlexAcc 22+  , AlexAcc 21+  , AlexAcc 20+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 19+  , AlexAccNone+  , AlexAcc 18+  , AlexAccNone+  , AlexAcc 17+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 16+  , AlexAcc 15+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 14+  , AlexAccNone+  , AlexAcc 13+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 12+  , AlexAccNone+  , AlexAccNone+  , AlexAccSkip+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccSkip+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccSkip+  , AlexAcc 11+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 10+  , AlexAccNone+  , AlexAcc 9+  , AlexAcc 8+  , AlexAcc 7+  , AlexAcc 6+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 5+  , AlexAcc 4+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 3+  , AlexAcc 2+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 1+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAcc 0+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  , AlexAccNone+  ]++alex_actions = array (0 :: Int, 27)+  [ (26,alex_action_10)+  , (25,alex_action_11)+  , (24,alex_action_12)+  , (23,alex_action_13)+  , (22,alex_action_14)+  , (21,alex_action_14)+  , (20,alex_action_14)+  , (19,alex_action_15)+  , (18,alex_action_15)+  , (17,alex_action_3)+  , (16,alex_action_4)+  , (15,alex_action_4)+  , (14,alex_action_16)+  , (13,alex_action_17)+  , (12,alex_action_18)+  , (11,alex_action_3)+  , (10,alex_action_4)+  , (9,alex_action_5)+  , (8,alex_action_5)+  , (7,alex_action_5)+  , (6,alex_action_5)+  , (5,alex_action_6)+  , (4,alex_action_6)+  , (3,alex_action_7)+  , (2,alex_action_7)+  , (1,alex_action_8)+  , (0,alex_action_9)+  ]++alex_action_3 = tok (eitherResIdent TV)+alex_action_4 = tok (eitherResIdent T_Bytes)+alex_action_5 = tok (eitherResIdent T_Function)+alex_action_6 = tok (eitherResIdent T_LabelId)+alex_action_7 = tok (eitherResIdent T_AlphaIndex)+alex_action_8 = tok (eitherResIdent T_LabelMetaId)+alex_action_9 = tok (eitherResIdent T_TailMetaId)+alex_action_10 = tok (eitherResIdent T_BindingsMetaId)+alex_action_11 = tok (eitherResIdent T_ObjectMetaId)+alex_action_12 = tok (eitherResIdent T_BytesMetaId)+alex_action_13 = tok (eitherResIdent T_MetaFunctionName)+alex_action_14 = tok (eitherResIdent T_IntegerSigned)+alex_action_15 = tok (eitherResIdent T_DoubleSigned)+alex_action_16 = tok (eitherResIdent T_StringRaw)+alex_action_17 = tok (eitherResIdent TV)+alex_action_18 = tok (TL . unescapeInitTail)+alex_action_19 = tok TI+alex_action_20 = tok TD++#define ALEX_NOPRED 1+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine++#ifdef ALEX_GHC+#  define ILIT(n) n#+#  define IBOX(n) (I# (n))+#  define FAST_INT Int#+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+#  if __GLASGOW_HASKELL__ > 706+#    define GTE(n,m) (tagToEnum# (n >=# m))+#    define EQ(n,m) (tagToEnum# (n ==# m))+#  else+#    define GTE(n,m) (n >=# m)+#    define EQ(n,m) (n ==# m)+#  endif+#  define PLUS(n,m) (n +# m)+#  define MINUS(n,m) (n -# m)+#  define TIMES(n,m) (n *# m)+#  define NEGATE(n) (negateInt# (n))+#  define IF_GHC(x) (x)+#else+#  define ILIT(n) (n)+#  define IBOX(n) (n)+#  define FAST_INT Int+#  define GTE(n,m) (n >= m)+#  define EQ(n,m) (n == m)+#  define PLUS(n,m) (n + m)+#  define MINUS(n,m) (n - m)+#  define TIMES(n,m) (n * m)+#  define NEGATE(n) (negate (n))+#  define IF_GHC(x)+#endif++#ifdef ALEX_GHC+data AlexAddr = AlexA# Addr#+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+#if __GLASGOW_HASKELL__ < 503+uncheckedShiftL# = shiftL#+#endif++{-# INLINE alexIndexInt16OffAddr #-}+alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#+alexIndexInt16OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+  narrow16Int# i+  where+        i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+        low  = int2Word# (ord# (indexCharOffAddr# arr off'))+        off' = off *# 2#+#else+#if __GLASGOW_HASKELL__ >= 901+  int16ToInt#+#endif+    (indexInt16OffAddr# arr off)+#endif+#else+alexIndexInt16OffAddr arr off = arr ! off+#endif++#ifdef ALEX_GHC+{-# INLINE alexIndexInt32OffAddr #-}+alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#+alexIndexInt32OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+  narrow32Int# i+  where+   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+                     (b2 `uncheckedShiftL#` 16#) `or#`+                     (b1 `uncheckedShiftL#` 8#) `or#` b0)+   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))+   off' = off *# 4#+#else+#if __GLASGOW_HASKELL__ >= 901+  int32ToInt#+#endif+    (indexInt32OffAddr# arr off)+#endif+#else+alexIndexInt32OffAddr arr off = arr ! off+#endif++#ifdef ALEX_GHC++#if __GLASGOW_HASKELL__ < 503+quickIndex arr i = arr ! i+#else+-- GHC >= 503, unsafeAt is available from Data.Array.Base.+quickIndex = unsafeAt+#endif+#else+quickIndex arr i = arr ! i+#endif++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+  = AlexEOF+  | AlexError  !AlexInput+  | AlexSkip   !AlexInput !Int+  | AlexToken  !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input__ IBOX(sc)+  = alexScanUser undefined input__ IBOX(sc)++alexScanUser user__ input__ IBOX(sc)+  = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of+  (AlexNone, input__') ->+    case alexGetByte input__ of+      Nothing ->+#ifdef ALEX_DEBUG+                                   trace ("End of input.") $+#endif+                                   AlexEOF+      Just _ ->+#ifdef ALEX_DEBUG+                                   trace ("Error.") $+#endif+                                   AlexError input__'++  (AlexLastSkip input__'' len, _) ->+#ifdef ALEX_DEBUG+    trace ("Skipping.") $+#endif+    AlexSkip input__'' len++  (AlexLastAcc k input__''' len, _) ->+#ifdef ALEX_DEBUG+    trace ("Accept.") $+#endif+    AlexToken input__''' len (alex_actions ! k)+++-- Push the input through the DFA, remembering the most recent accepting+-- state it encountered.++alex_scan_tkn user__ orig_input len input__ s last_acc =+  input__ `seq` -- strict in the input+  let+  new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))+  in+  new_acc `seq`+  case alexGetByte input__ of+     Nothing -> (new_acc, input__)+     Just (c, new_input) ->+#ifdef ALEX_DEBUG+      trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $+#endif+      case fromIntegral c of { IBOX(ord_c) ->+        let+                base   = alexIndexInt32OffAddr alex_base s+                offset = PLUS(base,ord_c)++                new_s = if GTE(offset,ILIT(0))+                          && let check  = alexIndexInt16OffAddr alex_check offset+                             in  EQ(check,ord_c)+                          then alexIndexInt16OffAddr alex_table offset+                          else alexIndexInt16OffAddr alex_deflt s+        in+        case new_s of+            ILIT(-1) -> (new_acc, input__)+                -- on an error, we want to keep the input *before* the+                -- character that failed, not after.+            _ -> alex_scan_tkn user__ orig_input+#ifdef ALEX_LATIN1+                   PLUS(len,ILIT(1))+                   -- issue 119: in the latin1 encoding, *each* byte is one character+#else+                   (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)+                   -- note that the length is increased ONLY if this is the 1st byte in a char encoding)+#endif+                   new_input new_s new_acc+      }+  where+        check_accs (AlexAccNone) = last_acc+        check_accs (AlexAcc a  ) = AlexLastAcc a input__ IBOX(len)+        check_accs (AlexAccSkip) = AlexLastSkip  input__ IBOX(len)+#ifndef ALEX_NOPRED+        check_accs (AlexAccPred a predx rest)+           | predx user__ orig_input IBOX(len) input__+           = AlexLastAcc a input__ IBOX(len)+           | otherwise+           = check_accs rest+        check_accs (AlexAccSkipPred predx rest)+           | predx user__ orig_input IBOX(len) input__+           = AlexLastSkip input__ IBOX(len)+           | otherwise+           = check_accs rest+#endif++data AlexLastAcc+  = AlexNone+  | AlexLastAcc !Int !AlexInput !Int+  | AlexLastSkip     !AlexInput !Int++data AlexAcc user+  = AlexAccNone+  | AlexAcc Int+  | AlexAccSkip+#ifndef ALEX_NOPRED+  | AlexAccPred Int (AlexAccPred user) (AlexAcc user)+  | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)++type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool++-- -----------------------------------------------------------------------------+-- Predicates on a rule++alexAndPred p1 p2 user__ in1 len in2+  = p1 user__ in1 len in2 && p2 user__ in1 len in2++--alexPrevCharIsPred :: Char -> AlexAccPred _+alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__++alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)++--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _+alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__++--alexRightContext :: Int -> AlexAccPred _+alexRightContext IBOX(sc) user__ _ _ input__ =+     case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of+          (AlexNone, _) -> False+          _ -> True+        -- TODO: there's no need to find the longest+        -- match when checking the right context, just+        -- the first match will do.+#endif+{-# LINE 116 "Lex.x" #-}+-- | Create a token with position.+tok :: (String -> Tok) -> (Posn -> String -> Token)+tok f p = PT p . f++-- | Token without position.+data Tok+  = TK {-# UNPACK #-} !TokSymbol  -- ^ Reserved word or symbol.+  | TL !String                    -- ^ String literal.+  | TI !String                    -- ^ Integer literal.+  | TV !String                    -- ^ Identifier.+  | TD !String                    -- ^ Float literal.+  | TC !String                    -- ^ Character literal.+  | T_Bytes !String+  | T_Function !String+  | T_LabelId !String+  | T_AlphaIndex !String+  | T_LabelMetaId !String+  | T_TailMetaId !String+  | T_BindingsMetaId !String+  | T_ObjectMetaId !String+  | T_BytesMetaId !String+  | T_MetaFunctionName !String+  | T_IntegerSigned !String+  | T_DoubleSigned !String+  | T_StringRaw !String+  deriving (Eq, Show, Ord)++-- | Smart constructor for 'Tok' for the sake of backwards compatibility.+pattern TS :: String -> Int -> Tok+pattern TS t i = TK (TokSymbol t i)++-- | Keyword or symbol tokens have a unique ID.+data TokSymbol = TokSymbol+  { tsText :: String+      -- ^ Keyword or symbol text.+  , tsID   :: !Int+      -- ^ Unique ID.+  } deriving (Show)++-- | Keyword/symbol equality is determined by the unique ID.+instance Eq  TokSymbol where (==)    = (==)    `on` tsID++-- | Keyword/symbol ordering is determined by the unique ID.+instance Ord TokSymbol where compare = compare `on` tsID++-- | Token with position.+data Token+  = PT  Posn Tok+  | Err Posn+  deriving (Eq, Show, Ord)++-- | Pretty print a position.+printPosn :: Posn -> String+printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c++-- | Pretty print the position of the first token in the list.+tokenPos :: [Token] -> String+tokenPos (t:_) = printPosn (tokenPosn t)+tokenPos []    = "end of file"++-- | Get the position of a token.+tokenPosn :: Token -> Posn+tokenPosn (PT p _) = p+tokenPosn (Err p)  = p++-- | Get line and column of a token.+tokenLineCol :: Token -> (Int, Int)+tokenLineCol = posLineCol . tokenPosn++-- | Get line and column of a position.+posLineCol :: Posn -> (Int, Int)+posLineCol (Pn _ l c) = (l,c)++-- | Convert a token into "position token" form.+mkPosToken :: Token -> ((Int, Int), String)+mkPosToken t = (tokenLineCol t, tokenText t)++-- | Convert a token to its text.+tokenText :: Token -> String+tokenText t = case t of+  PT _ (TS s _) -> s+  PT _ (TL s)   -> show s+  PT _ (TI s)   -> s+  PT _ (TV s)   -> s+  PT _ (TD s)   -> s+  PT _ (TC s)   -> s+  Err _         -> "#error"+  PT _ (T_Bytes s) -> s+  PT _ (T_Function s) -> s+  PT _ (T_LabelId s) -> s+  PT _ (T_AlphaIndex s) -> s+  PT _ (T_LabelMetaId s) -> s+  PT _ (T_TailMetaId s) -> s+  PT _ (T_BindingsMetaId s) -> s+  PT _ (T_ObjectMetaId s) -> s+  PT _ (T_BytesMetaId s) -> s+  PT _ (T_MetaFunctionName s) -> s+  PT _ (T_IntegerSigned s) -> s+  PT _ (T_DoubleSigned s) -> s+  PT _ (T_StringRaw s) -> s++-- | Convert a token to a string.+prToken :: Token -> String+prToken t = tokenText t++-- | Finite map from text to token organized as binary search tree.+data BTree+  = N -- ^ Nil (leaf).+  | B String Tok BTree BTree+      -- ^ Binary node.+  deriving (Show)++-- | Convert potential keyword into token or use fallback conversion.+eitherResIdent :: (String -> Tok) -> String -> Tok+eitherResIdent tv s = treeFind resWords+  where+  treeFind N = tv s+  treeFind (B a t left right) =+    case compare s a of+      LT -> treeFind left+      GT -> treeFind right+      EQ -> t++-- | The keywords and symbols of the language organized as binary search tree.+resWords :: BTree+resWords =+  b "\934\775" 13+    (b "]" 7+       (b "," 4+          (b ")" 2 (b "(" 1 N N) (b "*" 3 N N)) (b "[" 6 (b "." 5 N N) N))+       (b "~" 10+          (b "}" 9 (b "{" 8 N N) N) (b "\934" 12 (b "\916" 11 N N) N)))+    (b "\8869" 20+       (b "\966" 17+          (b "\958" 15 (b "\955" 14 N N) (b "\961" 16 N N))+          (b "\8709" 19 (b "\8614" 18 N N) N))+       (b "\10214" 23+          (b "\8969" 22 (b "\8968" 21 N N) N)+          (b "\10509" 25 (b "\10215" 24 N N) N)))   where   b s n = B bs (TS bs n)     where
src/Language/EO/Phi/Syntax/Lex.x view
@@ -28,7 +28,7 @@  -- Symbols and non-identifier-like reserved words -@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \⊥ | \[ | \↦ | \] | \⌈ | \, | \⌉ | \* | \∅ | \⤍+@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \Φ \̇ | \⊥ | \[ | \↦ | \] | \⌈ | \, | \⌉ | \* | \∅ | \⤍ | \~  :- @@ -85,6 +85,18 @@ \@ [$u # [\t \n \r \  \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] *     { tok (eitherResIdent T_MetaFunctionName) } +-- token IntegerSigned+\- ? $d ++    { tok (eitherResIdent T_IntegerSigned) }++-- token DoubleSigned+\- ? $d + \. $d + (e \- ? $d +)?+    { tok (eitherResIdent T_DoubleSigned) }++-- token StringRaw+\" ([$u # [\" \\]] | \\ [\" \\ f n r t u]) * \"+    { tok (eitherResIdent T_StringRaw) }+ -- Keywords and Ident $l $i*     { tok (eitherResIdent TV) }@@ -124,6 +136,9 @@   | T_ObjectMetaId !String   | T_BytesMetaId !String   | T_MetaFunctionName !String+  | T_IntegerSigned !String+  | T_DoubleSigned !String+  | T_StringRaw !String   deriving (Eq, Show, Ord)  -- | Smart constructor for 'Tok' for the sake of backwards compatibility.@@ -196,6 +211,9 @@   PT _ (T_ObjectMetaId s) -> s   PT _ (T_BytesMetaId s) -> s   PT _ (T_MetaFunctionName s) -> s+  PT _ (T_IntegerSigned s) -> s+  PT _ (T_DoubleSigned s) -> s+  PT _ (T_StringRaw s) -> s  -- | Convert a token to a string. prToken :: Token -> String@@ -222,18 +240,19 @@ -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords =-  b "\955" 12-    (b "[" 6-       (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))-       (b "}" 9-          (b "{" 8 (b "]" 7 N N) N) (b "\934" 11 (b "\916" 10 N N) N)))-    (b "\8869" 18-       (b "\966" 15-          (b "\961" 14 (b "\958" 13 N N) N)-          (b "\8709" 17 (b "\8614" 16 N N) N))-       (b "\10214" 21-          (b "\8969" 20 (b "\8968" 19 N N) N)-          (b "\10509" 23 (b "\10215" 22 N N) N)))+  b "\934\775" 13+    (b "]" 7+       (b "," 4+          (b ")" 2 (b "(" 1 N N) (b "*" 3 N N)) (b "[" 6 (b "." 5 N N) N))+       (b "~" 10+          (b "}" 9 (b "{" 8 N N) N) (b "\934" 12 (b "\916" 11 N N) N)))+    (b "\8869" 20+       (b "\966" 17+          (b "\958" 15 (b "\955" 14 N N) (b "\961" 16 N N))+          (b "\8709" 19 (b "\8614" 18 N N) N))+       (b "\10214" 23+          (b "\8969" 22 (b "\8968" 21 N N) N)+          (b "\10509" 25 (b "\10215" 24 N N) N)))   where   b s n = B bs (TS bs n)     where
src/Language/EO/Phi/Syntax/Par.hs view
@@ -11,1403 +11,1733 @@   , pBinding   , pListBinding   , pAttribute-  , pRuleAttribute-  , pPeeledObject-  , pObjectHead-  , pObjectAction-  , pListObjectAction-  ) where--import Prelude--import qualified Language.EO.Phi.Syntax.Abs-import Language.EO.Phi.Syntax.Lex-import qualified Data.Array as Happy_Data_Array-import qualified Data.Bits as Bits-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.20.1.1--data HappyAbsSyn -	= HappyTerminal (Token)-	| HappyErrorToken Prelude.Int-	| HappyAbsSyn14 (Double)-	| HappyAbsSyn15 (Integer)-	| HappyAbsSyn16 (String)-	| HappyAbsSyn17 (Language.EO.Phi.Syntax.Abs.Bytes)-	| HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.Function)-	| HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.LabelId)-	| HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.AlphaIndex)-	| HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.LabelMetaId)-	| HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.TailMetaId)-	| HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)-	| HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)-	| HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.BytesMetaId)-	| HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)-	| HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.Program)-	| HappyAbsSyn28 (Language.EO.Phi.Syntax.Abs.MetaId)-	| HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.Object)-	| HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.Binding)-	| HappyAbsSyn31 ([Language.EO.Phi.Syntax.Abs.Binding])-	| HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.Attribute)-	| HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.RuleAttribute)-	| HappyAbsSyn34 (Language.EO.Phi.Syntax.Abs.PeeledObject)-	| HappyAbsSyn35 (Language.EO.Phi.Syntax.Abs.ObjectHead)-	| HappyAbsSyn36 (Language.EO.Phi.Syntax.Abs.ObjectAction)-	| HappyAbsSyn37 ([Language.EO.Phi.Syntax.Abs.ObjectAction])--{- to allow type-synonyms as our monads (likely- - with explicitly-specified bind and return)- - in Haskell98, it seems that with- - /type M a = .../, then /(HappyReduction M)/- - is not allowed.  But Happy is a- - code-generator that can just substitute it.-type HappyReduction m = -	   Prelude.Int -	-> (Token)-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] -	-> HappyStk HappyAbsSyn -	-> [(Token)] -> m HappyAbsSyn--}--action_0,- action_1,- action_2,- action_3,- action_4,- action_5,- action_6,- action_7,- action_8,- action_9,- action_10,- action_11,- action_12,- action_13,- action_14,- action_15,- action_16,- action_17,- action_18,- action_19,- action_20,- action_21,- action_22,- action_23,- action_24,- action_25,- action_26,- action_27,- action_28,- action_29,- action_30,- action_31,- action_32,- action_33,- action_34,- action_35,- action_36,- action_37,- action_38,- action_39,- action_40,- action_41,- action_42,- action_43,- action_44,- action_45,- action_46,- action_47,- action_48,- action_49,- action_50,- action_51,- action_52,- action_53,- action_54,- action_55,- action_56,- action_57,- action_58,- action_59,- action_60,- action_61,- action_62,- action_63,- action_64,- action_65,- action_66,- action_67,- action_68,- action_69,- action_70,- action_71,- action_72,- action_73,- action_74,- action_75,- action_76,- action_77,- action_78,- action_79,- action_80,- action_81,- action_82,- action_83,- action_84,- action_85,- action_86,- action_87,- action_88,- action_89,- action_90,- action_91,- action_92,- action_93,- action_94,- action_95,- action_96,- action_97,- action_98,- action_99,- action_100,- action_101,- action_102,- action_103,- action_104,- action_105,- action_106,- action_107,- action_108,- action_109,- action_110,- action_111,- action_112,- action_113,- action_114,- action_115 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}-	   Prelude.Int -	-> (Token)-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] -	-> HappyStk HappyAbsSyn -	-> [(Token)] -> (Err) HappyAbsSyn)--happyReduce_11,- happyReduce_12,- happyReduce_13,- happyReduce_14,- happyReduce_15,- happyReduce_16,- happyReduce_17,- happyReduce_18,- happyReduce_19,- happyReduce_20,- happyReduce_21,- happyReduce_22,- happyReduce_23,- happyReduce_24,- happyReduce_25,- happyReduce_26,- happyReduce_27,- happyReduce_28,- happyReduce_29,- happyReduce_30,- happyReduce_31,- happyReduce_32,- happyReduce_33,- happyReduce_34,- happyReduce_35,- happyReduce_36,- happyReduce_37,- happyReduce_38,- happyReduce_39,- happyReduce_40,- happyReduce_41,- happyReduce_42,- happyReduce_43,- happyReduce_44,- happyReduce_45,- happyReduce_46,- happyReduce_47,- happyReduce_48,- happyReduce_49,- happyReduce_50,- happyReduce_51,- happyReduce_52,- happyReduce_53,- happyReduce_54,- happyReduce_55,- happyReduce_56,- happyReduce_57,- happyReduce_58,- happyReduce_59,- happyReduce_60,- happyReduce_61,- happyReduce_62,- happyReduce_63,- happyReduce_64,- happyReduce_65,- happyReduce_66,- happyReduce_67,- happyReduce_68,- happyReduce_69,- happyReduce_70 :: () => ({-HappyReduction (Err) = -}-	   Prelude.Int -	-> (Token)-	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)-	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] -	-> HappyStk HappyAbsSyn -	-> [(Token)] -> (Err) HappyAbsSyn)--happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int-happyExpList = Happy_Data_Array.listArray (0,290) ([0,0,4096,0,0,0,0,0,57344,3,0,0,11304,5127,0,0,20480,32771,11,0,0,3392,11776,0,0,0,48,56,0,0,54272,57344,0,0,0,37024,0,0,0,32768,578,0,0,32768,8,0,0,0,8704,0,0,0,0,0,1024,0,0,0,0,0,0,0,2176,0,0,0,0,0,0,0,0,0,848,2944,0,0,0,12,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,57344,2,0,0,0,0,0,0,544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,32768,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45216,20508,0,0,16384,13,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,848,2944,0,0,0,1024,0,0,32768,30,0,0,0,0,212,736,0,0,0,0,4,0,0,3072,3584,0,0,0,8,0,0,0,10240,1836,20,0,0,0,64,0,0,0,32800,128,0,0,35328,459,5,0,0,212,736,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,440,0,0,0,0,4096,0,0,0,0,0,0,0,0,0,0,0,0,4096,0,0,0,0,32768,29378,320,0,0,0,0,0,0,0,16384,0,0,0,2048,0,0,0,40960,6,1,0,0,0,0,0,0,0,10240,1836,20,0,0,0,0,0,0,3744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0-	])--{-# NOINLINE happyExpListPerState #-}-happyExpListPerState st =-    token_strs_expected-  where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Double","Integer","String","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","Program","MetaId","Object","Binding","ListBinding","Attribute","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'\916'","'\934'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\8968'","'\8969'","'\10214'","'\10215'","'\10509'","L_doubl","L_integ","L_quoted","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","%eof"]-        bit_start = st Prelude.* 74-        bit_end = (st Prelude.+ 1) Prelude.* 74-        read_bit = readArrayBit happyExpList-        bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]-        bits_indexed = Prelude.zip bits [0..73]-        token_strs_expected = Prelude.concatMap f bits_indexed-        f (Prelude.False, _) = []-        f (Prelude.True, nr) = [token_strs Prelude.!! nr]--action_0 (45) = happyShift action_70-action_0 (27) = happyGoto action_69-action_0 _ = happyFail (happyExpListPerState 0)--action_1 (68) = happyShift action_36-action_1 (69) = happyShift action_67-action_1 (70) = happyShift action_44-action_1 (71) = happyShift action_59-action_1 (72) = happyShift action_68-action_1 (21) = happyGoto action_61-action_1 (22) = happyGoto action_62-action_1 (23) = happyGoto action_63-action_1 (24) = happyGoto action_64-action_1 (25) = happyGoto action_65-action_1 (28) = happyGoto action_66-action_1 _ = happyFail (happyExpListPerState 1)--action_2 (48) = happyShift action_52-action_2 (50) = happyShift action_53-action_2 (55) = happyShift action_54-action_2 (56) = happyShift action_55-action_2 (58) = happyShift action_56-action_2 (61) = happyShift action_12-action_2 (62) = happyShift action_57-action_2 (63) = happyShift action_58-action_2 (71) = happyShift action_59-action_2 (73) = happyShift action_60-action_2 (14) = happyGoto action_46-action_2 (15) = happyGoto action_47-action_2 (16) = happyGoto action_48-action_2 (24) = happyGoto action_49-action_2 (26) = happyGoto action_50-action_2 (29) = happyGoto action_51-action_2 _ = happyFail (happyExpListPerState 2)--action_3 (47) = happyShift action_42-action_3 (49) = happyShift action_43-action_3 (51) = happyShift action_32-action_3 (52) = happyShift action_33-action_3 (66) = happyShift action_34-action_3 (67) = happyShift action_35-action_3 (68) = happyShift action_36-action_3 (70) = happyShift action_44-action_3 (19) = happyGoto action_25-action_3 (20) = happyGoto action_26-action_3 (21) = happyGoto action_27-action_3 (23) = happyGoto action_38-action_3 (30) = happyGoto action_45-action_3 (32) = happyGoto action_41-action_3 _ = happyFail (happyExpListPerState 3)--action_4 (47) = happyShift action_42-action_4 (49) = happyShift action_43-action_4 (51) = happyShift action_32-action_4 (52) = happyShift action_33-action_4 (66) = happyShift action_34-action_4 (67) = happyShift action_35-action_4 (68) = happyShift action_36-action_4 (70) = happyShift action_44-action_4 (19) = happyGoto action_25-action_4 (20) = happyGoto action_26-action_4 (21) = happyGoto action_27-action_4 (23) = happyGoto action_38-action_4 (30) = happyGoto action_39-action_4 (31) = happyGoto action_40-action_4 (32) = happyGoto action_41-action_4 _ = happyReduce_51--action_5 (51) = happyShift action_32-action_5 (52) = happyShift action_33-action_5 (66) = happyShift action_34-action_5 (67) = happyShift action_35-action_5 (68) = happyShift action_36-action_5 (19) = happyGoto action_25-action_5 (20) = happyGoto action_26-action_5 (21) = happyGoto action_27-action_5 (32) = happyGoto action_37-action_5 _ = happyFail (happyExpListPerState 5)--action_6 (47) = happyShift action_30-action_6 (49) = happyShift action_31-action_6 (51) = happyShift action_32-action_6 (52) = happyShift action_33-action_6 (66) = happyShift action_34-action_6 (67) = happyShift action_35-action_6 (68) = happyShift action_36-action_6 (19) = happyGoto action_25-action_6 (20) = happyGoto action_26-action_6 (21) = happyGoto action_27-action_6 (32) = happyGoto action_28-action_6 (33) = happyGoto action_29-action_6 _ = happyFail (happyExpListPerState 6)--action_7 (48) = happyShift action_19-action_7 (50) = happyShift action_20-action_7 (55) = happyShift action_21-action_7 (58) = happyShift action_22-action_7 (34) = happyGoto action_23-action_7 (35) = happyGoto action_24-action_7 _ = happyFail (happyExpListPerState 7)--action_8 (48) = happyShift action_19-action_8 (50) = happyShift action_20-action_8 (55) = happyShift action_21-action_8 (58) = happyShift action_22-action_8 (35) = happyGoto action_18-action_8 _ = happyFail (happyExpListPerState 8)--action_9 (38) = happyShift action_15-action_9 (42) = happyShift action_16-action_9 (36) = happyGoto action_17-action_9 _ = happyFail (happyExpListPerState 9)--action_10 (38) = happyShift action_15-action_10 (42) = happyShift action_16-action_10 (36) = happyGoto action_13-action_10 (37) = happyGoto action_14-action_10 _ = happyReduce_69--action_11 (61) = happyShift action_12-action_11 _ = happyFail (happyExpListPerState 11)--action_12 _ = happyReduce_11--action_13 (38) = happyShift action_15-action_13 (42) = happyShift action_16-action_13 (36) = happyGoto action_13-action_13 (37) = happyGoto action_87-action_13 _ = happyReduce_69--action_14 (74) = happyAccept-action_14 _ = happyFail (happyExpListPerState 14)--action_15 (47) = happyShift action_42-action_15 (49) = happyShift action_43-action_15 (51) = happyShift action_32-action_15 (52) = happyShift action_33-action_15 (66) = happyShift action_34-action_15 (67) = happyShift action_35-action_15 (68) = happyShift action_36-action_15 (70) = happyShift action_44-action_15 (19) = happyGoto action_25-action_15 (20) = happyGoto action_26-action_15 (21) = happyGoto action_27-action_15 (23) = happyGoto action_38-action_15 (30) = happyGoto action_39-action_15 (31) = happyGoto action_86-action_15 (32) = happyGoto action_41-action_15 _ = happyReduce_51--action_16 (51) = happyShift action_32-action_16 (52) = happyShift action_33-action_16 (66) = happyShift action_34-action_16 (67) = happyShift action_35-action_16 (68) = happyShift action_36-action_16 (19) = happyGoto action_25-action_16 (20) = happyGoto action_26-action_16 (21) = happyGoto action_27-action_16 (32) = happyGoto action_85-action_16 _ = happyFail (happyExpListPerState 16)--action_17 (74) = happyAccept-action_17 _ = happyFail (happyExpListPerState 17)--action_18 (74) = happyAccept-action_18 _ = happyFail (happyExpListPerState 18)--action_19 _ = happyReduce_64--action_20 _ = happyReduce_65--action_21 _ = happyReduce_66--action_22 (47) = happyShift action_42-action_22 (49) = happyShift action_43-action_22 (51) = happyShift action_32-action_22 (52) = happyShift action_33-action_22 (66) = happyShift action_34-action_22 (67) = happyShift action_35-action_22 (68) = happyShift action_36-action_22 (70) = happyShift action_44-action_22 (19) = happyGoto action_25-action_22 (20) = happyGoto action_26-action_22 (21) = happyGoto action_27-action_22 (23) = happyGoto action_38-action_22 (30) = happyGoto action_39-action_22 (31) = happyGoto action_84-action_22 (32) = happyGoto action_41-action_22 _ = happyReduce_51--action_23 (74) = happyAccept-action_23 _ = happyFail (happyExpListPerState 23)--action_24 (38) = happyShift action_15-action_24 (42) = happyShift action_16-action_24 (36) = happyGoto action_13-action_24 (37) = happyGoto action_83-action_24 _ = happyReduce_69--action_25 _ = happyReduce_56--action_26 _ = happyReduce_57--action_27 _ = happyReduce_58--action_28 _ = happyReduce_59--action_29 (74) = happyAccept-action_29 _ = happyFail (happyExpListPerState 29)--action_30 _ = happyReduce_60--action_31 _ = happyReduce_61--action_32 _ = happyReduce_55--action_33 _ = happyReduce_54--action_34 _ = happyReduce_16--action_35 _ = happyReduce_17--action_36 _ = happyReduce_18--action_37 (74) = happyAccept-action_37 _ = happyFail (happyExpListPerState 37)--action_38 _ = happyReduce_49--action_39 (41) = happyShift action_82-action_39 _ = happyReduce_52--action_40 (74) = happyAccept-action_40 _ = happyFail (happyExpListPerState 40)--action_41 (53) = happyShift action_81-action_41 _ = happyFail (happyExpListPerState 41)--action_42 (60) = happyShift action_80-action_42 _ = happyFail (happyExpListPerState 42)--action_43 (60) = happyShift action_79-action_43 _ = happyFail (happyExpListPerState 43)--action_44 _ = happyReduce_20--action_45 (74) = happyAccept-action_45 _ = happyFail (happyExpListPerState 45)--action_46 _ = happyReduce_38--action_47 _ = happyReduce_37--action_48 _ = happyReduce_36--action_49 _ = happyReduce_41--action_50 (38) = happyShift action_78-action_50 _ = happyFail (happyExpListPerState 50)--action_51 (38) = happyShift action_74-action_51 (40) = happyShift action_75-action_51 (42) = happyShift action_76-action_51 (43) = happyShift action_77-action_51 (74) = happyAccept-action_51 _ = happyFail (happyExpListPerState 51)--action_52 _ = happyReduce_33--action_53 _ = happyReduce_34--action_54 _ = happyReduce_35--action_55 (48) = happyShift action_52-action_55 (50) = happyShift action_53-action_55 (55) = happyShift action_54-action_55 (56) = happyShift action_55-action_55 (58) = happyShift action_56-action_55 (61) = happyShift action_12-action_55 (62) = happyShift action_57-action_55 (63) = happyShift action_58-action_55 (71) = happyShift action_59-action_55 (73) = happyShift action_60-action_55 (14) = happyGoto action_46-action_55 (15) = happyGoto action_47-action_55 (16) = happyGoto action_48-action_55 (24) = happyGoto action_49-action_55 (26) = happyGoto action_50-action_55 (29) = happyGoto action_73-action_55 _ = happyFail (happyExpListPerState 55)--action_56 (47) = happyShift action_42-action_56 (49) = happyShift action_43-action_56 (51) = happyShift action_32-action_56 (52) = happyShift action_33-action_56 (66) = happyShift action_34-action_56 (67) = happyShift action_35-action_56 (68) = happyShift action_36-action_56 (70) = happyShift action_44-action_56 (19) = happyGoto action_25-action_56 (20) = happyGoto action_26-action_56 (21) = happyGoto action_27-action_56 (23) = happyGoto action_38-action_56 (30) = happyGoto action_39-action_56 (31) = happyGoto action_72-action_56 (32) = happyGoto action_41-action_56 _ = happyReduce_51--action_57 _ = happyReduce_12--action_58 _ = happyReduce_13--action_59 _ = happyReduce_21--action_60 _ = happyReduce_23--action_61 _ = happyReduce_25--action_62 _ = happyReduce_26--action_63 _ = happyReduce_27--action_64 _ = happyReduce_28--action_65 _ = happyReduce_29--action_66 (74) = happyAccept-action_66 _ = happyFail (happyExpListPerState 66)--action_67 _ = happyReduce_19--action_68 _ = happyReduce_22--action_69 (74) = happyAccept-action_69 _ = happyFail (happyExpListPerState 69)--action_70 (58) = happyShift action_71-action_70 _ = happyFail (happyExpListPerState 70)--action_71 (47) = happyShift action_42-action_71 (49) = happyShift action_43-action_71 (51) = happyShift action_32-action_71 (52) = happyShift action_33-action_71 (66) = happyShift action_34-action_71 (67) = happyShift action_35-action_71 (68) = happyShift action_36-action_71 (70) = happyShift action_44-action_71 (19) = happyGoto action_25-action_71 (20) = happyGoto action_26-action_71 (21) = happyGoto action_27-action_71 (23) = happyGoto action_38-action_71 (30) = happyGoto action_39-action_71 (31) = happyGoto action_106-action_71 (32) = happyGoto action_41-action_71 _ = happyReduce_51--action_72 (59) = happyShift action_105-action_72 _ = happyFail (happyExpListPerState 72)--action_73 (38) = happyShift action_74-action_73 (40) = happyShift action_75-action_73 (41) = happyShift action_104-action_73 (42) = happyShift action_76-action_73 (43) = happyShift action_77-action_73 _ = happyFail (happyExpListPerState 73)--action_74 (47) = happyShift action_42-action_74 (49) = happyShift action_43-action_74 (51) = happyShift action_32-action_74 (52) = happyShift action_33-action_74 (66) = happyShift action_34-action_74 (67) = happyShift action_35-action_74 (68) = happyShift action_36-action_74 (70) = happyShift action_44-action_74 (19) = happyGoto action_25-action_74 (20) = happyGoto action_26-action_74 (21) = happyGoto action_27-action_74 (23) = happyGoto action_38-action_74 (30) = happyGoto action_39-action_74 (31) = happyGoto action_103-action_74 (32) = happyGoto action_41-action_74 _ = happyReduce_51--action_75 (69) = happyShift action_67-action_75 (22) = happyGoto action_102-action_75 _ = happyFail (happyExpListPerState 75)--action_76 (51) = happyShift action_32-action_76 (52) = happyShift action_33-action_76 (66) = happyShift action_34-action_76 (67) = happyShift action_35-action_76 (68) = happyShift action_36-action_76 (19) = happyGoto action_25-action_76 (20) = happyGoto action_26-action_76 (21) = happyGoto action_27-action_76 (32) = happyGoto action_101-action_76 _ = happyFail (happyExpListPerState 76)--action_77 (50) = happyShift action_100-action_77 _ = happyFail (happyExpListPerState 77)--action_78 (48) = happyShift action_52-action_78 (50) = happyShift action_53-action_78 (55) = happyShift action_54-action_78 (56) = happyShift action_55-action_78 (58) = happyShift action_56-action_78 (61) = happyShift action_12-action_78 (62) = happyShift action_57-action_78 (63) = happyShift action_58-action_78 (71) = happyShift action_59-action_78 (73) = happyShift action_60-action_78 (14) = happyGoto action_46-action_78 (15) = happyGoto action_47-action_78 (16) = happyGoto action_48-action_78 (24) = happyGoto action_49-action_78 (26) = happyGoto action_50-action_78 (29) = happyGoto action_99-action_78 _ = happyFail (happyExpListPerState 78)--action_79 (65) = happyShift action_98-action_79 (18) = happyGoto action_97-action_79 _ = happyFail (happyExpListPerState 79)--action_80 (54) = happyShift action_95-action_80 (64) = happyShift action_96-action_80 (72) = happyShift action_68-action_80 (17) = happyGoto action_93-action_80 (25) = happyGoto action_94-action_80 _ = happyFail (happyExpListPerState 80)--action_81 (48) = happyShift action_52-action_81 (50) = happyShift action_53-action_81 (54) = happyShift action_92-action_81 (55) = happyShift action_54-action_81 (56) = happyShift action_55-action_81 (58) = happyShift action_56-action_81 (61) = happyShift action_12-action_81 (62) = happyShift action_57-action_81 (63) = happyShift action_58-action_81 (71) = happyShift action_59-action_81 (73) = happyShift action_60-action_81 (14) = happyGoto action_46-action_81 (15) = happyGoto action_47-action_81 (16) = happyGoto action_48-action_81 (24) = happyGoto action_49-action_81 (26) = happyGoto action_50-action_81 (29) = happyGoto action_91-action_81 _ = happyFail (happyExpListPerState 81)--action_82 (47) = happyShift action_42-action_82 (49) = happyShift action_43-action_82 (51) = happyShift action_32-action_82 (52) = happyShift action_33-action_82 (66) = happyShift action_34-action_82 (67) = happyShift action_35-action_82 (68) = happyShift action_36-action_82 (70) = happyShift action_44-action_82 (19) = happyGoto action_25-action_82 (20) = happyGoto action_26-action_82 (21) = happyGoto action_27-action_82 (23) = happyGoto action_38-action_82 (30) = happyGoto action_39-action_82 (31) = happyGoto action_90-action_82 (32) = happyGoto action_41-action_82 _ = happyReduce_51--action_83 _ = happyReduce_62--action_84 (59) = happyShift action_89-action_84 _ = happyFail (happyExpListPerState 84)--action_85 _ = happyReduce_68--action_86 (39) = happyShift action_88-action_86 _ = happyFail (happyExpListPerState 86)--action_87 _ = happyReduce_70--action_88 _ = happyReduce_67--action_89 _ = happyReduce_63--action_90 _ = happyReduce_53--action_91 (38) = happyShift action_74-action_91 (40) = happyShift action_75-action_91 (42) = happyShift action_76-action_91 (43) = happyShift action_77-action_91 _ = happyReduce_44--action_92 _ = happyReduce_45--action_93 _ = happyReduce_46--action_94 _ = happyReduce_50--action_95 _ = happyReduce_47--action_96 _ = happyReduce_14--action_97 _ = happyReduce_48--action_98 _ = happyReduce_15--action_99 (38) = happyShift action_74-action_99 (39) = happyShift action_111-action_99 (40) = happyShift action_75-action_99 (42) = happyShift action_76-action_99 (43) = happyShift action_77-action_99 _ = happyFail (happyExpListPerState 99)--action_100 (53) = happyShift action_110-action_100 _ = happyFail (happyExpListPerState 100)--action_101 _ = happyReduce_32--action_102 _ = happyReduce_42--action_103 (39) = happyShift action_109-action_103 _ = happyFail (happyExpListPerState 103)--action_104 (48) = happyShift action_52-action_104 (50) = happyShift action_53-action_104 (55) = happyShift action_54-action_104 (56) = happyShift action_55-action_104 (58) = happyShift action_56-action_104 (61) = happyShift action_12-action_104 (62) = happyShift action_57-action_104 (63) = happyShift action_58-action_104 (71) = happyShift action_59-action_104 (73) = happyShift action_60-action_104 (14) = happyGoto action_46-action_104 (15) = happyGoto action_47-action_104 (16) = happyGoto action_48-action_104 (24) = happyGoto action_49-action_104 (26) = happyGoto action_50-action_104 (29) = happyGoto action_108-action_104 _ = happyFail (happyExpListPerState 104)--action_105 _ = happyReduce_30--action_106 (59) = happyShift action_107-action_106 _ = happyFail (happyExpListPerState 106)--action_107 (46) = happyShift action_114-action_107 _ = happyFail (happyExpListPerState 107)--action_108 (38) = happyShift action_74-action_108 (40) = happyShift action_75-action_108 (42) = happyShift action_76-action_108 (43) = happyShift action_77-action_108 (57) = happyShift action_113-action_108 _ = happyFail (happyExpListPerState 108)--action_109 _ = happyReduce_31--action_110 (48) = happyShift action_52-action_110 (50) = happyShift action_53-action_110 (55) = happyShift action_54-action_110 (56) = happyShift action_55-action_110 (58) = happyShift action_56-action_110 (61) = happyShift action_12-action_110 (62) = happyShift action_57-action_110 (63) = happyShift action_58-action_110 (71) = happyShift action_59-action_110 (73) = happyShift action_60-action_110 (14) = happyGoto action_46-action_110 (15) = happyGoto action_47-action_110 (16) = happyGoto action_48-action_110 (24) = happyGoto action_49-action_110 (26) = happyGoto action_50-action_110 (29) = happyGoto action_112-action_110 _ = happyFail (happyExpListPerState 110)--action_111 _ = happyReduce_43--action_112 (38) = happyShift action_74-action_112 (40) = happyShift action_75-action_112 (42) = happyShift action_76-action_112 (43) = happyShift action_77-action_112 (44) = happyShift action_115-action_112 _ = happyFail (happyExpListPerState 112)--action_113 _ = happyReduce_40--action_114 _ = happyReduce_24--action_115 _ = happyReduce_39--happyReduce_11 = happySpecReduce_1  14 happyReduction_11-happyReduction_11 (HappyTerminal (PT _ (TD happy_var_1)))-	 =  HappyAbsSyn14-		 ((read happy_var_1) :: Double-	)-happyReduction_11 _  = notHappyAtAll --happyReduce_12 = happySpecReduce_1  15 happyReduction_12-happyReduction_12 (HappyTerminal (PT _ (TI happy_var_1)))-	 =  HappyAbsSyn15-		 ((read happy_var_1) :: Integer-	)-happyReduction_12 _  = notHappyAtAll --happyReduce_13 = happySpecReduce_1  16 happyReduction_13-happyReduction_13 (HappyTerminal (PT _ (TL happy_var_1)))-	 =  HappyAbsSyn16-		 (happy_var_1-	)-happyReduction_13 _  = notHappyAtAll --happyReduce_14 = happySpecReduce_1  17 happyReduction_14-happyReduction_14 (HappyTerminal (PT _ (T_Bytes happy_var_1)))-	 =  HappyAbsSyn17-		 (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1-	)-happyReduction_14 _  = notHappyAtAll --happyReduce_15 = happySpecReduce_1  18 happyReduction_15-happyReduction_15 (HappyTerminal (PT _ (T_Function happy_var_1)))-	 =  HappyAbsSyn18-		 (Language.EO.Phi.Syntax.Abs.Function happy_var_1-	)-happyReduction_15 _  = notHappyAtAll --happyReduce_16 = happySpecReduce_1  19 happyReduction_16-happyReduction_16 (HappyTerminal (PT _ (T_LabelId happy_var_1)))-	 =  HappyAbsSyn19-		 (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1-	)-happyReduction_16 _  = notHappyAtAll --happyReduce_17 = happySpecReduce_1  20 happyReduction_17-happyReduction_17 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))-	 =  HappyAbsSyn20-		 (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1-	)-happyReduction_17 _  = notHappyAtAll --happyReduce_18 = happySpecReduce_1  21 happyReduction_18-happyReduction_18 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))-	 =  HappyAbsSyn21-		 (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1-	)-happyReduction_18 _  = notHappyAtAll --happyReduce_19 = happySpecReduce_1  22 happyReduction_19-happyReduction_19 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))-	 =  HappyAbsSyn22-		 (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1-	)-happyReduction_19 _  = notHappyAtAll --happyReduce_20 = happySpecReduce_1  23 happyReduction_20-happyReduction_20 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))-	 =  HappyAbsSyn23-		 (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1-	)-happyReduction_20 _  = notHappyAtAll --happyReduce_21 = happySpecReduce_1  24 happyReduction_21-happyReduction_21 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))-	 =  HappyAbsSyn24-		 (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1-	)-happyReduction_21 _  = notHappyAtAll --happyReduce_22 = happySpecReduce_1  25 happyReduction_22-happyReduction_22 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))-	 =  HappyAbsSyn25-		 (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1-	)-happyReduction_22 _  = notHappyAtAll --happyReduce_23 = happySpecReduce_1  26 happyReduction_23-happyReduction_23 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))-	 =  HappyAbsSyn26-		 (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1-	)-happyReduction_23 _  = notHappyAtAll --happyReduce_24 = happyReduce 5 27 happyReduction_24-happyReduction_24 (_ `HappyStk`-	_ `HappyStk`-	(HappyAbsSyn31  happy_var_3) `HappyStk`-	_ `HappyStk`-	_ `HappyStk`-	happyRest)-	 = HappyAbsSyn27-		 (Language.EO.Phi.Syntax.Abs.Program happy_var_3-	) `HappyStk` happyRest--happyReduce_25 = happySpecReduce_1  28 happyReduction_25-happyReduction_25 (HappyAbsSyn21  happy_var_1)-	 =  HappyAbsSyn28-		 (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1-	)-happyReduction_25 _  = notHappyAtAll --happyReduce_26 = happySpecReduce_1  28 happyReduction_26-happyReduction_26 (HappyAbsSyn22  happy_var_1)-	 =  HappyAbsSyn28-		 (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1-	)-happyReduction_26 _  = notHappyAtAll --happyReduce_27 = happySpecReduce_1  28 happyReduction_27-happyReduction_27 (HappyAbsSyn23  happy_var_1)-	 =  HappyAbsSyn28-		 (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1-	)-happyReduction_27 _  = notHappyAtAll --happyReduce_28 = happySpecReduce_1  28 happyReduction_28-happyReduction_28 (HappyAbsSyn24  happy_var_1)-	 =  HappyAbsSyn28-		 (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1-	)-happyReduction_28 _  = notHappyAtAll --happyReduce_29 = happySpecReduce_1  28 happyReduction_29-happyReduction_29 (HappyAbsSyn25  happy_var_1)-	 =  HappyAbsSyn28-		 (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1-	)-happyReduction_29 _  = notHappyAtAll --happyReduce_30 = happySpecReduce_3  29 happyReduction_30-happyReduction_30 _-	(HappyAbsSyn31  happy_var_2)-	_-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.Formation happy_var_2-	)-happyReduction_30 _ _ _  = notHappyAtAll --happyReduce_31 = happyReduce 4 29 happyReduction_31-happyReduction_31 (_ `HappyStk`-	(HappyAbsSyn31  happy_var_3) `HappyStk`-	_ `HappyStk`-	(HappyAbsSyn29  happy_var_1) `HappyStk`-	happyRest)-	 = HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3-	) `HappyStk` happyRest--happyReduce_32 = happySpecReduce_3  29 happyReduction_32-happyReduction_32 (HappyAbsSyn32  happy_var_3)-	_-	(HappyAbsSyn29  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3-	)-happyReduction_32 _ _ _  = notHappyAtAll --happyReduce_33 = happySpecReduce_1  29 happyReduction_33-happyReduction_33 _-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.GlobalObject-	)--happyReduce_34 = happySpecReduce_1  29 happyReduction_34-happyReduction_34 _-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.ThisObject-	)--happyReduce_35 = happySpecReduce_1  29 happyReduction_35-happyReduction_35 _-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.Termination-	)--happyReduce_36 = happySpecReduce_1  29 happyReduction_36-happyReduction_36 (HappyAbsSyn16  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.ConstString happy_var_1-	)-happyReduction_36 _  = notHappyAtAll --happyReduce_37 = happySpecReduce_1  29 happyReduction_37-happyReduction_37 (HappyAbsSyn15  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.ConstInt happy_var_1-	)-happyReduction_37 _  = notHappyAtAll --happyReduce_38 = happySpecReduce_1  29 happyReduction_38-happyReduction_38 (HappyAbsSyn14  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.ConstFloat happy_var_1-	)-happyReduction_38 _  = notHappyAtAll --happyReduce_39 = happyReduce 6 29 happyReduction_39-happyReduction_39 (_ `HappyStk`-	(HappyAbsSyn29  happy_var_5) `HappyStk`-	_ `HappyStk`-	_ `HappyStk`-	_ `HappyStk`-	(HappyAbsSyn29  happy_var_1) `HappyStk`-	happyRest)-	 = HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5-	) `HappyStk` happyRest--happyReduce_40 = happyReduce 5 29 happyReduction_40-happyReduction_40 (_ `HappyStk`-	(HappyAbsSyn29  happy_var_4) `HappyStk`-	_ `HappyStk`-	(HappyAbsSyn29  happy_var_2) `HappyStk`-	_ `HappyStk`-	happyRest)-	 = HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.MetaContextualize happy_var_2 happy_var_4-	) `HappyStk` happyRest--happyReduce_41 = happySpecReduce_1  29 happyReduction_41-happyReduction_41 (HappyAbsSyn24  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1-	)-happyReduction_41 _  = notHappyAtAll --happyReduce_42 = happySpecReduce_3  29 happyReduction_42-happyReduction_42 (HappyAbsSyn22  happy_var_3)-	_-	(HappyAbsSyn29  happy_var_1)-	 =  HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3-	)-happyReduction_42 _ _ _  = notHappyAtAll --happyReduce_43 = happyReduce 4 29 happyReduction_43-happyReduction_43 (_ `HappyStk`-	(HappyAbsSyn29  happy_var_3) `HappyStk`-	_ `HappyStk`-	(HappyAbsSyn26  happy_var_1) `HappyStk`-	happyRest)-	 = HappyAbsSyn29-		 (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3-	) `HappyStk` happyRest--happyReduce_44 = happySpecReduce_3  30 happyReduction_44-happyReduction_44 (HappyAbsSyn29  happy_var_3)-	_-	(HappyAbsSyn32  happy_var_1)-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3-	)-happyReduction_44 _ _ _  = notHappyAtAll --happyReduce_45 = happySpecReduce_3  30 happyReduction_45-happyReduction_45 _-	_-	(HappyAbsSyn32  happy_var_1)-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1-	)-happyReduction_45 _ _ _  = notHappyAtAll --happyReduce_46 = happySpecReduce_3  30 happyReduction_46-happyReduction_46 (HappyAbsSyn17  happy_var_3)-	_-	_-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3-	)-happyReduction_46 _ _ _  = notHappyAtAll --happyReduce_47 = happySpecReduce_3  30 happyReduction_47-happyReduction_47 _-	_-	_-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding-	)--happyReduce_48 = happySpecReduce_3  30 happyReduction_48-happyReduction_48 (HappyAbsSyn18  happy_var_3)-	_-	_-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3-	)-happyReduction_48 _ _ _  = notHappyAtAll --happyReduce_49 = happySpecReduce_1  30 happyReduction_49-happyReduction_49 (HappyAbsSyn23  happy_var_1)-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1-	)-happyReduction_49 _  = notHappyAtAll --happyReduce_50 = happySpecReduce_3  30 happyReduction_50-happyReduction_50 (HappyAbsSyn25  happy_var_3)-	_-	_-	 =  HappyAbsSyn30-		 (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3-	)-happyReduction_50 _ _ _  = notHappyAtAll --happyReduce_51 = happySpecReduce_0  31 happyReduction_51-happyReduction_51  =  HappyAbsSyn31-		 ([]-	)--happyReduce_52 = happySpecReduce_1  31 happyReduction_52-happyReduction_52 (HappyAbsSyn30  happy_var_1)-	 =  HappyAbsSyn31-		 ((:[]) happy_var_1-	)-happyReduction_52 _  = notHappyAtAll --happyReduce_53 = happySpecReduce_3  31 happyReduction_53-happyReduction_53 (HappyAbsSyn31  happy_var_3)-	_-	(HappyAbsSyn30  happy_var_1)-	 =  HappyAbsSyn31-		 ((:) happy_var_1 happy_var_3-	)-happyReduction_53 _ _ _  = notHappyAtAll --happyReduce_54 = happySpecReduce_1  32 happyReduction_54-happyReduction_54 _-	 =  HappyAbsSyn32-		 (Language.EO.Phi.Syntax.Abs.Phi-	)--happyReduce_55 = happySpecReduce_1  32 happyReduction_55-happyReduction_55 _-	 =  HappyAbsSyn32-		 (Language.EO.Phi.Syntax.Abs.Rho-	)--happyReduce_56 = happySpecReduce_1  32 happyReduction_56-happyReduction_56 (HappyAbsSyn19  happy_var_1)-	 =  HappyAbsSyn32-		 (Language.EO.Phi.Syntax.Abs.Label happy_var_1-	)-happyReduction_56 _  = notHappyAtAll --happyReduce_57 = happySpecReduce_1  32 happyReduction_57-happyReduction_57 (HappyAbsSyn20  happy_var_1)-	 =  HappyAbsSyn32-		 (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1-	)-happyReduction_57 _  = notHappyAtAll --happyReduce_58 = happySpecReduce_1  32 happyReduction_58-happyReduction_58 (HappyAbsSyn21  happy_var_1)-	 =  HappyAbsSyn32-		 (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1-	)-happyReduction_58 _  = notHappyAtAll --happyReduce_59 = happySpecReduce_1  33 happyReduction_59-happyReduction_59 (HappyAbsSyn32  happy_var_1)-	 =  HappyAbsSyn33-		 (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1-	)-happyReduction_59 _  = notHappyAtAll --happyReduce_60 = happySpecReduce_1  33 happyReduction_60-happyReduction_60 _-	 =  HappyAbsSyn33-		 (Language.EO.Phi.Syntax.Abs.DeltaAttr-	)--happyReduce_61 = happySpecReduce_1  33 happyReduction_61-happyReduction_61 _-	 =  HappyAbsSyn33-		 (Language.EO.Phi.Syntax.Abs.LambdaAttr-	)--happyReduce_62 = happySpecReduce_2  34 happyReduction_62-happyReduction_62 (HappyAbsSyn37  happy_var_2)-	(HappyAbsSyn35  happy_var_1)-	 =  HappyAbsSyn34-		 (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2-	)-happyReduction_62 _ _  = notHappyAtAll --happyReduce_63 = happySpecReduce_3  35 happyReduction_63-happyReduction_63 _-	(HappyAbsSyn31  happy_var_2)-	_-	 =  HappyAbsSyn35-		 (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2-	)-happyReduction_63 _ _ _  = notHappyAtAll --happyReduce_64 = happySpecReduce_1  35 happyReduction_64-happyReduction_64 _-	 =  HappyAbsSyn35-		 (Language.EO.Phi.Syntax.Abs.HeadGlobal-	)--happyReduce_65 = happySpecReduce_1  35 happyReduction_65-happyReduction_65 _-	 =  HappyAbsSyn35-		 (Language.EO.Phi.Syntax.Abs.HeadThis-	)--happyReduce_66 = happySpecReduce_1  35 happyReduction_66-happyReduction_66 _-	 =  HappyAbsSyn35-		 (Language.EO.Phi.Syntax.Abs.HeadTermination-	)--happyReduce_67 = happySpecReduce_3  36 happyReduction_67-happyReduction_67 _-	(HappyAbsSyn31  happy_var_2)-	_-	 =  HappyAbsSyn36-		 (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2-	)-happyReduction_67 _ _ _  = notHappyAtAll --happyReduce_68 = happySpecReduce_2  36 happyReduction_68-happyReduction_68 (HappyAbsSyn32  happy_var_2)-	_-	 =  HappyAbsSyn36-		 (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2-	)-happyReduction_68 _ _  = notHappyAtAll --happyReduce_69 = happySpecReduce_0  37 happyReduction_69-happyReduction_69  =  HappyAbsSyn37-		 ([]-	)--happyReduce_70 = happySpecReduce_2  37 happyReduction_70-happyReduction_70 (HappyAbsSyn37  happy_var_2)-	(HappyAbsSyn36  happy_var_1)-	 =  HappyAbsSyn37-		 ((:) happy_var_1 happy_var_2-	)-happyReduction_70 _ _  = notHappyAtAll --happyNewToken action sts stk [] =-	action 74 74 notHappyAtAll (HappyState action) sts stk []--happyNewToken action sts stk (tk:tks) =-	let cont i = action i i tk (HappyState action) sts stk tks in-	case tk of {-	PT _ (TS _ 1) -> cont 38;-	PT _ (TS _ 2) -> cont 39;-	PT _ (TS _ 3) -> cont 40;-	PT _ (TS _ 4) -> cont 41;-	PT _ (TS _ 5) -> cont 42;-	PT _ (TS _ 6) -> cont 43;-	PT _ (TS _ 7) -> cont 44;-	PT _ (TS _ 8) -> cont 45;-	PT _ (TS _ 9) -> cont 46;-	PT _ (TS _ 10) -> cont 47;-	PT _ (TS _ 11) -> cont 48;-	PT _ (TS _ 12) -> cont 49;-	PT _ (TS _ 13) -> cont 50;-	PT _ (TS _ 14) -> cont 51;-	PT _ (TS _ 15) -> cont 52;-	PT _ (TS _ 16) -> cont 53;-	PT _ (TS _ 17) -> cont 54;-	PT _ (TS _ 18) -> cont 55;-	PT _ (TS _ 19) -> cont 56;-	PT _ (TS _ 20) -> cont 57;-	PT _ (TS _ 21) -> cont 58;-	PT _ (TS _ 22) -> cont 59;-	PT _ (TS _ 23) -> cont 60;-	PT _ (TD happy_dollar_dollar) -> cont 61;-	PT _ (TI happy_dollar_dollar) -> cont 62;-	PT _ (TL happy_dollar_dollar) -> cont 63;-	PT _ (T_Bytes happy_dollar_dollar) -> cont 64;-	PT _ (T_Function happy_dollar_dollar) -> cont 65;-	PT _ (T_LabelId happy_dollar_dollar) -> cont 66;-	PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 67;-	PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 68;-	PT _ (T_TailMetaId happy_dollar_dollar) -> cont 69;-	PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 70;-	PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 71;-	PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 72;-	PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 73;-	_ -> happyError' ((tk:tks), [])-	}--happyError_ explist 74 tk tks = happyError' (tks, explist)-happyError_ explist _ tk tks = happyError' ((tk:tks), explist)--happyThen :: () => Err a -> (a -> Err b) -> Err b-happyThen = ((>>=))-happyReturn :: () => a -> Err a-happyReturn = (return)-happyThen1 m k tks = ((>>=)) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> Err a-happyReturn1 = \a tks -> (return) a-happyError' :: () => ([(Token)], [Prelude.String]) -> Err a-happyError' = (\(tokens, _) -> happyError tokens)-pProgram tks = happySomeParser where- happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn27 z -> happyReturn z; _other -> notHappyAtAll })--pMetaId tks = happySomeParser where- happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })--pObject tks = happySomeParser where- happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn29 z -> happyReturn z; _other -> notHappyAtAll })--pBinding tks = happySomeParser where- happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn30 z -> happyReturn z; _other -> notHappyAtAll })--pListBinding tks = happySomeParser where- happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })--pAttribute tks = happySomeParser where- happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })--pRuleAttribute tks = happySomeParser where- happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })--pPeeledObject tks = happySomeParser where- happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })--pObjectHead tks = happySomeParser where- happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })--pObjectAction tks = happySomeParser where- happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })--pListObjectAction tks = happySomeParser where- happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })+  , pListLabelId+  , pRuleAttribute+  , pPeeledObject+  , pObjectHead+  , pObjectAction+  , pListObjectAction+  ) where++import Prelude++import qualified Language.EO.Phi.Syntax.Abs+import Language.EO.Phi.Syntax.Lex+import qualified Data.Array as Happy_Data_Array+import qualified Data.Bits as Bits+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.20.1.1++data HappyAbsSyn +	= HappyTerminal (Token)+	| HappyErrorToken Prelude.Int+	| HappyAbsSyn15 (Double)+	| HappyAbsSyn16 (Integer)+	| HappyAbsSyn17 (String)+	| HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.Bytes)+	| HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.Function)+	| HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.LabelId)+	| HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.AlphaIndex)+	| HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.LabelMetaId)+	| HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.TailMetaId)+	| HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)+	| HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)+	| HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.BytesMetaId)+	| HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)+	| HappyAbsSyn28 (Language.EO.Phi.Syntax.Abs.IntegerSigned)+	| HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.DoubleSigned)+	| HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.StringRaw)+	| HappyAbsSyn31 (Language.EO.Phi.Syntax.Abs.Program)+	| HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.MetaId)+	| HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.Object)+	| HappyAbsSyn34 (Language.EO.Phi.Syntax.Abs.Binding)+	| HappyAbsSyn35 ([Language.EO.Phi.Syntax.Abs.Binding])+	| HappyAbsSyn36 (Language.EO.Phi.Syntax.Abs.Attribute)+	| HappyAbsSyn37 ([Language.EO.Phi.Syntax.Abs.LabelId])+	| HappyAbsSyn38 (Language.EO.Phi.Syntax.Abs.RuleAttribute)+	| HappyAbsSyn39 (Language.EO.Phi.Syntax.Abs.PeeledObject)+	| HappyAbsSyn40 (Language.EO.Phi.Syntax.Abs.ObjectHead)+	| HappyAbsSyn41 (Language.EO.Phi.Syntax.Abs.ObjectAction)+	| HappyAbsSyn42 ([Language.EO.Phi.Syntax.Abs.ObjectAction])++{- to allow type-synonyms as our monads (likely+ - with explicitly-specified bind and return)+ - in Haskell98, it seems that with+ - /type M a = .../, then /(HappyReduction M)/+ - is not allowed.  But Happy is a+ - code-generator that can just substitute it.+type HappyReduction m = +	   Prelude.Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> [(Token)] -> m HappyAbsSyn+-}++action_0,+ action_1,+ action_2,+ action_3,+ action_4,+ action_5,+ action_6,+ action_7,+ action_8,+ action_9,+ action_10,+ action_11,+ action_12,+ action_13,+ action_14,+ action_15,+ action_16,+ action_17,+ action_18,+ action_19,+ action_20,+ action_21,+ action_22,+ action_23,+ action_24,+ action_25,+ action_26,+ action_27,+ action_28,+ action_29,+ action_30,+ action_31,+ action_32,+ action_33,+ action_34,+ action_35,+ action_36,+ action_37,+ action_38,+ action_39,+ action_40,+ action_41,+ action_42,+ action_43,+ action_44,+ action_45,+ action_46,+ action_47,+ action_48,+ action_49,+ action_50,+ action_51,+ action_52,+ action_53,+ action_54,+ action_55,+ action_56,+ action_57,+ action_58,+ action_59,+ action_60,+ action_61,+ action_62,+ action_63,+ action_64,+ action_65,+ action_66,+ action_67,+ action_68,+ action_69,+ action_70,+ action_71,+ action_72,+ action_73,+ action_74,+ action_75,+ action_76,+ action_77,+ action_78,+ action_79,+ action_80,+ action_81,+ action_82,+ action_83,+ action_84,+ action_85,+ action_86,+ action_87,+ action_88,+ action_89,+ action_90,+ action_91,+ action_92,+ action_93,+ action_94,+ action_95,+ action_96,+ action_97,+ action_98,+ action_99,+ action_100,+ action_101,+ action_102,+ action_103,+ action_104,+ action_105,+ action_106,+ action_107,+ action_108,+ action_109,+ action_110,+ action_111,+ action_112,+ action_113,+ action_114,+ action_115,+ action_116,+ action_117,+ action_118,+ action_119,+ action_120,+ action_121,+ action_122,+ action_123,+ action_124,+ action_125,+ action_126,+ action_127,+ action_128,+ action_129,+ action_130,+ action_131,+ action_132 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}+	   Prelude.Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> [(Token)] -> (Err) HappyAbsSyn)++happyReduce_12,+ happyReduce_13,+ happyReduce_14,+ happyReduce_15,+ happyReduce_16,+ happyReduce_17,+ happyReduce_18,+ happyReduce_19,+ happyReduce_20,+ happyReduce_21,+ happyReduce_22,+ happyReduce_23,+ happyReduce_24,+ happyReduce_25,+ happyReduce_26,+ happyReduce_27,+ happyReduce_28,+ happyReduce_29,+ happyReduce_30,+ happyReduce_31,+ happyReduce_32,+ happyReduce_33,+ happyReduce_34,+ happyReduce_35,+ happyReduce_36,+ happyReduce_37,+ happyReduce_38,+ happyReduce_39,+ happyReduce_40,+ happyReduce_41,+ happyReduce_42,+ happyReduce_43,+ happyReduce_44,+ happyReduce_45,+ happyReduce_46,+ happyReduce_47,+ happyReduce_48,+ happyReduce_49,+ happyReduce_50,+ happyReduce_51,+ happyReduce_52,+ happyReduce_53,+ happyReduce_54,+ happyReduce_55,+ happyReduce_56,+ happyReduce_57,+ happyReduce_58,+ happyReduce_59,+ happyReduce_60,+ happyReduce_61,+ happyReduce_62,+ happyReduce_63,+ happyReduce_64,+ happyReduce_65,+ happyReduce_66,+ happyReduce_67,+ happyReduce_68,+ happyReduce_69,+ happyReduce_70,+ happyReduce_71,+ happyReduce_72,+ happyReduce_73,+ happyReduce_74,+ happyReduce_75,+ happyReduce_76,+ happyReduce_77,+ happyReduce_78,+ happyReduce_79,+ happyReduce_80,+ happyReduce_81 :: () => ({-HappyReduction (Err) = -}+	   Prelude.Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> [(Token)] -> (Err) HappyAbsSyn)++happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int+happyExpList = Happy_Data_Array.listArray (0,374) ([0,0,0,2,0,0,0,0,0,49152,7,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,1,0,0,32768,105,112,0,0,0,8480,1,0,0,0,4608,18,0,0,0,68,0,0,0,0,1088,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32768,5759,31600,0,0,0,0,0,0,0,16384,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,63488,359,1975,0,0,32768,5759,31600,0,0,0,0,2048,0,0,0,24704,28672,0,0,0,0,1,0,0,0,0,8192,0,0,0,62464,0,0,0,0,0,0,2048,0,0,0,0,16400,64,0,0,0,5910,31232,0,0,0,26616,46849,7,0,0,5632,22,122,0,0,0,0,1,0,0,64,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,0,0,0,0,4096,0,0,0,0,0,0,0,0,3520,0,0,0,0,0,0,0,0,0,16384,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5632,22,122,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,8192,0,0,0,0,4,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,3392,2048,0,0,0,0,0,0,0,0,32768,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0+	])++{-# NOINLINE happyExpListPerState #-}+happyExpListPerState st =+    token_strs_expected+  where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pListLabelId","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Double","Integer","String","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","IntegerSigned","DoubleSigned","StringRaw","Program","MetaId","Object","Binding","ListBinding","Attribute","ListLabelId","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'~'","'\916'","'\934'","'\934\775'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\8968'","'\8969'","'\10214'","'\10215'","'\10509'","L_doubl","L_integ","L_quoted","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","L_IntegerSigned","L_DoubleSigned","L_StringRaw","%eof"]+        bit_start = st Prelude.* 84+        bit_end = (st Prelude.+ 1) Prelude.* 84+        read_bit = readArrayBit happyExpList+        bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]+        bits_indexed = Prelude.zip bits [0..83]+        token_strs_expected = Prelude.concatMap f bits_indexed+        f (Prelude.False, _) = []+        f (Prelude.True, nr) = [token_strs Prelude.!! nr]++action_0 (50) = happyShift action_77+action_0 (31) = happyGoto action_76+action_0 _ = happyFail (happyExpListPerState 0)++action_1 (75) = happyShift action_38+action_1 (76) = happyShift action_74+action_1 (77) = happyShift action_60+action_1 (78) = happyShift action_61+action_1 (79) = happyShift action_75+action_1 (22) = happyGoto action_68+action_1 (23) = happyGoto action_69+action_1 (24) = happyGoto action_70+action_1 (25) = happyGoto action_71+action_1 (26) = happyGoto action_72+action_1 (32) = happyGoto action_73+action_1 _ = happyFail (happyExpListPerState 1)++action_2 (54) = happyShift action_53+action_2 (55) = happyShift action_54+action_2 (57) = happyShift action_56+action_2 (62) = happyShift action_57+action_2 (63) = happyShift action_58+action_2 (65) = happyShift action_59+action_2 (78) = happyShift action_61+action_2 (80) = happyShift action_62+action_2 (81) = happyShift action_63+action_2 (82) = happyShift action_64+action_2 (83) = happyShift action_65+action_2 (25) = happyGoto action_43+action_2 (27) = happyGoto action_44+action_2 (28) = happyGoto action_45+action_2 (29) = happyGoto action_46+action_2 (30) = happyGoto action_47+action_2 (33) = happyGoto action_67+action_2 _ = happyFail (happyExpListPerState 2)++action_3 (52) = happyShift action_31+action_3 (53) = happyShift action_52+action_3 (54) = happyShift action_53+action_3 (55) = happyShift action_54+action_3 (56) = happyShift action_55+action_3 (57) = happyShift action_56+action_3 (58) = happyShift action_34+action_3 (59) = happyShift action_35+action_3 (62) = happyShift action_57+action_3 (63) = happyShift action_58+action_3 (65) = happyShift action_59+action_3 (73) = happyShift action_36+action_3 (74) = happyShift action_37+action_3 (75) = happyShift action_38+action_3 (77) = happyShift action_60+action_3 (78) = happyShift action_61+action_3 (80) = happyShift action_62+action_3 (81) = happyShift action_63+action_3 (82) = happyShift action_64+action_3 (83) = happyShift action_65+action_3 (20) = happyGoto action_26+action_3 (21) = happyGoto action_27+action_3 (22) = happyGoto action_28+action_3 (24) = happyGoto action_42+action_3 (25) = happyGoto action_43+action_3 (27) = happyGoto action_44+action_3 (28) = happyGoto action_45+action_3 (29) = happyGoto action_46+action_3 (30) = happyGoto action_47+action_3 (33) = happyGoto action_48+action_3 (34) = happyGoto action_66+action_3 (36) = happyGoto action_51+action_3 _ = happyFail (happyExpListPerState 3)++action_4 (52) = happyShift action_31+action_4 (53) = happyShift action_52+action_4 (54) = happyShift action_53+action_4 (55) = happyShift action_54+action_4 (56) = happyShift action_55+action_4 (57) = happyShift action_56+action_4 (58) = happyShift action_34+action_4 (59) = happyShift action_35+action_4 (62) = happyShift action_57+action_4 (63) = happyShift action_58+action_4 (65) = happyShift action_59+action_4 (73) = happyShift action_36+action_4 (74) = happyShift action_37+action_4 (75) = happyShift action_38+action_4 (77) = happyShift action_60+action_4 (78) = happyShift action_61+action_4 (80) = happyShift action_62+action_4 (81) = happyShift action_63+action_4 (82) = happyShift action_64+action_4 (83) = happyShift action_65+action_4 (20) = happyGoto action_26+action_4 (21) = happyGoto action_27+action_4 (22) = happyGoto action_28+action_4 (24) = happyGoto action_42+action_4 (25) = happyGoto action_43+action_4 (27) = happyGoto action_44+action_4 (28) = happyGoto action_45+action_4 (29) = happyGoto action_46+action_4 (30) = happyGoto action_47+action_4 (33) = happyGoto action_48+action_4 (34) = happyGoto action_49+action_4 (35) = happyGoto action_50+action_4 (36) = happyGoto action_51+action_4 _ = happyReduce_57++action_5 (52) = happyShift action_31+action_5 (58) = happyShift action_34+action_5 (59) = happyShift action_35+action_5 (73) = happyShift action_36+action_5 (74) = happyShift action_37+action_5 (75) = happyShift action_38+action_5 (20) = happyGoto action_26+action_5 (21) = happyGoto action_27+action_5 (22) = happyGoto action_28+action_5 (36) = happyGoto action_41+action_5 _ = happyFail (happyExpListPerState 5)++action_6 (73) = happyShift action_36+action_6 (20) = happyGoto action_39+action_6 (37) = happyGoto action_40+action_6 _ = happyReduce_67++action_7 (52) = happyShift action_31+action_7 (53) = happyShift action_32+action_7 (56) = happyShift action_33+action_7 (58) = happyShift action_34+action_7 (59) = happyShift action_35+action_7 (73) = happyShift action_36+action_7 (74) = happyShift action_37+action_7 (75) = happyShift action_38+action_7 (20) = happyGoto action_26+action_7 (21) = happyGoto action_27+action_7 (22) = happyGoto action_28+action_7 (36) = happyGoto action_29+action_7 (38) = happyGoto action_30+action_7 _ = happyFail (happyExpListPerState 7)++action_8 (54) = happyShift action_20+action_8 (57) = happyShift action_21+action_8 (62) = happyShift action_22+action_8 (65) = happyShift action_23+action_8 (39) = happyGoto action_24+action_8 (40) = happyGoto action_25+action_8 _ = happyFail (happyExpListPerState 8)++action_9 (54) = happyShift action_20+action_9 (57) = happyShift action_21+action_9 (62) = happyShift action_22+action_9 (65) = happyShift action_23+action_9 (40) = happyGoto action_19+action_9 _ = happyFail (happyExpListPerState 9)++action_10 (43) = happyShift action_16+action_10 (47) = happyShift action_17+action_10 (41) = happyGoto action_18+action_10 _ = happyFail (happyExpListPerState 10)++action_11 (43) = happyShift action_16+action_11 (47) = happyShift action_17+action_11 (41) = happyGoto action_14+action_11 (42) = happyGoto action_15+action_11 _ = happyReduce_80++action_12 (68) = happyShift action_13+action_12 _ = happyFail (happyExpListPerState 12)++action_13 _ = happyFail (happyExpListPerState 13)++action_14 (43) = happyShift action_16+action_14 (47) = happyShift action_17+action_14 (41) = happyGoto action_14+action_14 (42) = happyGoto action_97+action_14 _ = happyReduce_80++action_15 (84) = happyAccept+action_15 _ = happyFail (happyExpListPerState 15)++action_16 (52) = happyShift action_31+action_16 (53) = happyShift action_52+action_16 (54) = happyShift action_53+action_16 (55) = happyShift action_54+action_16 (56) = happyShift action_55+action_16 (57) = happyShift action_56+action_16 (58) = happyShift action_34+action_16 (59) = happyShift action_35+action_16 (62) = happyShift action_57+action_16 (63) = happyShift action_58+action_16 (65) = happyShift action_59+action_16 (73) = happyShift action_36+action_16 (74) = happyShift action_37+action_16 (75) = happyShift action_38+action_16 (77) = happyShift action_60+action_16 (78) = happyShift action_61+action_16 (80) = happyShift action_62+action_16 (81) = happyShift action_63+action_16 (82) = happyShift action_64+action_16 (83) = happyShift action_65+action_16 (20) = happyGoto action_26+action_16 (21) = happyGoto action_27+action_16 (22) = happyGoto action_28+action_16 (24) = happyGoto action_42+action_16 (25) = happyGoto action_43+action_16 (27) = happyGoto action_44+action_16 (28) = happyGoto action_45+action_16 (29) = happyGoto action_46+action_16 (30) = happyGoto action_47+action_16 (33) = happyGoto action_48+action_16 (34) = happyGoto action_49+action_16 (35) = happyGoto action_96+action_16 (36) = happyGoto action_51+action_16 _ = happyReduce_57++action_17 (52) = happyShift action_31+action_17 (58) = happyShift action_34+action_17 (59) = happyShift action_35+action_17 (73) = happyShift action_36+action_17 (74) = happyShift action_37+action_17 (75) = happyShift action_38+action_17 (20) = happyGoto action_26+action_17 (21) = happyGoto action_27+action_17 (22) = happyGoto action_28+action_17 (36) = happyGoto action_95+action_17 _ = happyFail (happyExpListPerState 17)++action_18 (84) = happyAccept+action_18 _ = happyFail (happyExpListPerState 18)++action_19 (84) = happyAccept+action_19 _ = happyFail (happyExpListPerState 19)++action_20 _ = happyReduce_75++action_21 _ = happyReduce_76++action_22 _ = happyReduce_77++action_23 (52) = happyShift action_31+action_23 (53) = happyShift action_52+action_23 (54) = happyShift action_53+action_23 (55) = happyShift action_54+action_23 (56) = happyShift action_55+action_23 (57) = happyShift action_56+action_23 (58) = happyShift action_34+action_23 (59) = happyShift action_35+action_23 (62) = happyShift action_57+action_23 (63) = happyShift action_58+action_23 (65) = happyShift action_59+action_23 (73) = happyShift action_36+action_23 (74) = happyShift action_37+action_23 (75) = happyShift action_38+action_23 (77) = happyShift action_60+action_23 (78) = happyShift action_61+action_23 (80) = happyShift action_62+action_23 (81) = happyShift action_63+action_23 (82) = happyShift action_64+action_23 (83) = happyShift action_65+action_23 (20) = happyGoto action_26+action_23 (21) = happyGoto action_27+action_23 (22) = happyGoto action_28+action_23 (24) = happyGoto action_42+action_23 (25) = happyGoto action_43+action_23 (27) = happyGoto action_44+action_23 (28) = happyGoto action_45+action_23 (29) = happyGoto action_46+action_23 (30) = happyGoto action_47+action_23 (33) = happyGoto action_48+action_23 (34) = happyGoto action_49+action_23 (35) = happyGoto action_94+action_23 (36) = happyGoto action_51+action_23 _ = happyReduce_57++action_24 (84) = happyAccept+action_24 _ = happyFail (happyExpListPerState 24)++action_25 (43) = happyShift action_16+action_25 (47) = happyShift action_17+action_25 (41) = happyGoto action_14+action_25 (42) = happyGoto action_93+action_25 _ = happyReduce_80++action_26 _ = happyReduce_63++action_27 _ = happyReduce_64++action_28 _ = happyReduce_65++action_29 _ = happyReduce_70++action_30 (84) = happyAccept+action_30 _ = happyFail (happyExpListPerState 30)++action_31 (59) = happyShift action_92+action_31 (73) = happyShift action_36+action_31 (20) = happyGoto action_91+action_31 _ = happyFail (happyExpListPerState 31)++action_32 _ = happyReduce_71++action_33 _ = happyReduce_72++action_34 _ = happyReduce_62++action_35 _ = happyReduce_60++action_36 _ = happyReduce_17++action_37 _ = happyReduce_18++action_38 _ = happyReduce_19++action_39 (46) = happyShift action_90+action_39 _ = happyReduce_68++action_40 (84) = happyAccept+action_40 _ = happyFail (happyExpListPerState 40)++action_41 (84) = happyAccept+action_41 _ = happyFail (happyExpListPerState 41)++action_42 _ = happyReduce_55++action_43 _ = happyReduce_46++action_44 (43) = happyShift action_89+action_44 _ = happyFail (happyExpListPerState 44)++action_45 _ = happyReduce_42++action_46 _ = happyReduce_43++action_47 _ = happyReduce_41++action_48 (43) = happyShift action_79+action_48 (45) = happyShift action_80+action_48 (47) = happyShift action_81+action_48 (48) = happyShift action_82+action_48 _ = happyReduce_50++action_49 (46) = happyShift action_88+action_49 _ = happyReduce_58++action_50 (84) = happyAccept+action_50 _ = happyFail (happyExpListPerState 50)++action_51 (60) = happyShift action_87+action_51 _ = happyFail (happyExpListPerState 51)++action_52 (67) = happyShift action_86+action_52 _ = happyFail (happyExpListPerState 52)++action_53 _ = happyReduce_37++action_54 _ = happyReduce_38++action_55 (67) = happyShift action_85+action_55 _ = happyFail (happyExpListPerState 55)++action_56 _ = happyReduce_39++action_57 _ = happyReduce_40++action_58 (54) = happyShift action_53+action_58 (55) = happyShift action_54+action_58 (57) = happyShift action_56+action_58 (62) = happyShift action_57+action_58 (63) = happyShift action_58+action_58 (65) = happyShift action_59+action_58 (78) = happyShift action_61+action_58 (80) = happyShift action_62+action_58 (81) = happyShift action_63+action_58 (82) = happyShift action_64+action_58 (83) = happyShift action_65+action_58 (25) = happyGoto action_43+action_58 (27) = happyGoto action_44+action_58 (28) = happyGoto action_45+action_58 (29) = happyGoto action_46+action_58 (30) = happyGoto action_47+action_58 (33) = happyGoto action_84+action_58 _ = happyFail (happyExpListPerState 58)++action_59 (52) = happyShift action_31+action_59 (53) = happyShift action_52+action_59 (54) = happyShift action_53+action_59 (55) = happyShift action_54+action_59 (56) = happyShift action_55+action_59 (57) = happyShift action_56+action_59 (58) = happyShift action_34+action_59 (59) = happyShift action_35+action_59 (62) = happyShift action_57+action_59 (63) = happyShift action_58+action_59 (65) = happyShift action_59+action_59 (73) = happyShift action_36+action_59 (74) = happyShift action_37+action_59 (75) = happyShift action_38+action_59 (77) = happyShift action_60+action_59 (78) = happyShift action_61+action_59 (80) = happyShift action_62+action_59 (81) = happyShift action_63+action_59 (82) = happyShift action_64+action_59 (83) = happyShift action_65+action_59 (20) = happyGoto action_26+action_59 (21) = happyGoto action_27+action_59 (22) = happyGoto action_28+action_59 (24) = happyGoto action_42+action_59 (25) = happyGoto action_43+action_59 (27) = happyGoto action_44+action_59 (28) = happyGoto action_45+action_59 (29) = happyGoto action_46+action_59 (30) = happyGoto action_47+action_59 (33) = happyGoto action_48+action_59 (34) = happyGoto action_49+action_59 (35) = happyGoto action_83+action_59 (36) = happyGoto action_51+action_59 _ = happyReduce_57++action_60 _ = happyReduce_21++action_61 _ = happyReduce_22++action_62 _ = happyReduce_24++action_63 _ = happyReduce_25++action_64 _ = happyReduce_26++action_65 _ = happyReduce_27++action_66 (84) = happyAccept+action_66 _ = happyFail (happyExpListPerState 66)++action_67 (43) = happyShift action_79+action_67 (45) = happyShift action_80+action_67 (47) = happyShift action_81+action_67 (48) = happyShift action_82+action_67 (84) = happyAccept+action_67 _ = happyFail (happyExpListPerState 67)++action_68 _ = happyReduce_29++action_69 _ = happyReduce_30++action_70 _ = happyReduce_31++action_71 _ = happyReduce_32++action_72 _ = happyReduce_33++action_73 (84) = happyAccept+action_73 _ = happyFail (happyExpListPerState 73)++action_74 _ = happyReduce_20++action_75 _ = happyReduce_23++action_76 (84) = happyAccept+action_76 _ = happyFail (happyExpListPerState 76)++action_77 (65) = happyShift action_78+action_77 _ = happyFail (happyExpListPerState 77)++action_78 (52) = happyShift action_31+action_78 (53) = happyShift action_52+action_78 (54) = happyShift action_53+action_78 (55) = happyShift action_54+action_78 (56) = happyShift action_55+action_78 (57) = happyShift action_56+action_78 (58) = happyShift action_34+action_78 (59) = happyShift action_35+action_78 (62) = happyShift action_57+action_78 (63) = happyShift action_58+action_78 (65) = happyShift action_59+action_78 (73) = happyShift action_36+action_78 (74) = happyShift action_37+action_78 (75) = happyShift action_38+action_78 (77) = happyShift action_60+action_78 (78) = happyShift action_61+action_78 (80) = happyShift action_62+action_78 (81) = happyShift action_63+action_78 (82) = happyShift action_64+action_78 (83) = happyShift action_65+action_78 (20) = happyGoto action_26+action_78 (21) = happyGoto action_27+action_78 (22) = happyGoto action_28+action_78 (24) = happyGoto action_42+action_78 (25) = happyGoto action_43+action_78 (27) = happyGoto action_44+action_78 (28) = happyGoto action_45+action_78 (29) = happyGoto action_46+action_78 (30) = happyGoto action_47+action_78 (33) = happyGoto action_48+action_78 (34) = happyGoto action_49+action_78 (35) = happyGoto action_119+action_78 (36) = happyGoto action_51+action_78 _ = happyReduce_57++action_79 (52) = happyShift action_31+action_79 (53) = happyShift action_52+action_79 (54) = happyShift action_53+action_79 (55) = happyShift action_54+action_79 (56) = happyShift action_55+action_79 (57) = happyShift action_56+action_79 (58) = happyShift action_34+action_79 (59) = happyShift action_35+action_79 (62) = happyShift action_57+action_79 (63) = happyShift action_58+action_79 (65) = happyShift action_59+action_79 (73) = happyShift action_36+action_79 (74) = happyShift action_37+action_79 (75) = happyShift action_38+action_79 (77) = happyShift action_60+action_79 (78) = happyShift action_61+action_79 (80) = happyShift action_62+action_79 (81) = happyShift action_63+action_79 (82) = happyShift action_64+action_79 (83) = happyShift action_65+action_79 (20) = happyGoto action_26+action_79 (21) = happyGoto action_27+action_79 (22) = happyGoto action_28+action_79 (24) = happyGoto action_42+action_79 (25) = happyGoto action_43+action_79 (27) = happyGoto action_44+action_79 (28) = happyGoto action_45+action_79 (29) = happyGoto action_46+action_79 (30) = happyGoto action_47+action_79 (33) = happyGoto action_48+action_79 (34) = happyGoto action_49+action_79 (35) = happyGoto action_118+action_79 (36) = happyGoto action_51+action_79 _ = happyReduce_57++action_80 (76) = happyShift action_74+action_80 (23) = happyGoto action_117+action_80 _ = happyFail (happyExpListPerState 80)++action_81 (52) = happyShift action_31+action_81 (58) = happyShift action_34+action_81 (59) = happyShift action_35+action_81 (73) = happyShift action_36+action_81 (74) = happyShift action_37+action_81 (75) = happyShift action_38+action_81 (20) = happyGoto action_26+action_81 (21) = happyGoto action_27+action_81 (22) = happyGoto action_28+action_81 (36) = happyGoto action_116+action_81 _ = happyFail (happyExpListPerState 81)++action_82 (57) = happyShift action_115+action_82 _ = happyFail (happyExpListPerState 82)++action_83 (66) = happyShift action_114+action_83 _ = happyFail (happyExpListPerState 83)++action_84 (43) = happyShift action_79+action_84 (45) = happyShift action_80+action_84 (46) = happyShift action_113+action_84 (47) = happyShift action_81+action_84 (48) = happyShift action_82+action_84 _ = happyFail (happyExpListPerState 84)++action_85 (72) = happyShift action_112+action_85 (19) = happyGoto action_111+action_85 _ = happyFail (happyExpListPerState 85)++action_86 (61) = happyShift action_109+action_86 (71) = happyShift action_110+action_86 (79) = happyShift action_75+action_86 (18) = happyGoto action_107+action_86 (26) = happyGoto action_108+action_86 _ = happyFail (happyExpListPerState 86)++action_87 (54) = happyShift action_53+action_87 (55) = happyShift action_54+action_87 (57) = happyShift action_56+action_87 (61) = happyShift action_106+action_87 (62) = happyShift action_57+action_87 (63) = happyShift action_58+action_87 (65) = happyShift action_59+action_87 (78) = happyShift action_61+action_87 (80) = happyShift action_62+action_87 (81) = happyShift action_63+action_87 (82) = happyShift action_64+action_87 (83) = happyShift action_65+action_87 (25) = happyGoto action_43+action_87 (27) = happyGoto action_44+action_87 (28) = happyGoto action_45+action_87 (29) = happyGoto action_46+action_87 (30) = happyGoto action_47+action_87 (33) = happyGoto action_105+action_87 _ = happyFail (happyExpListPerState 87)++action_88 (52) = happyShift action_31+action_88 (53) = happyShift action_52+action_88 (54) = happyShift action_53+action_88 (55) = happyShift action_54+action_88 (56) = happyShift action_55+action_88 (57) = happyShift action_56+action_88 (58) = happyShift action_34+action_88 (59) = happyShift action_35+action_88 (62) = happyShift action_57+action_88 (63) = happyShift action_58+action_88 (65) = happyShift action_59+action_88 (73) = happyShift action_36+action_88 (74) = happyShift action_37+action_88 (75) = happyShift action_38+action_88 (77) = happyShift action_60+action_88 (78) = happyShift action_61+action_88 (80) = happyShift action_62+action_88 (81) = happyShift action_63+action_88 (82) = happyShift action_64+action_88 (83) = happyShift action_65+action_88 (20) = happyGoto action_26+action_88 (21) = happyGoto action_27+action_88 (22) = happyGoto action_28+action_88 (24) = happyGoto action_42+action_88 (25) = happyGoto action_43+action_88 (27) = happyGoto action_44+action_88 (28) = happyGoto action_45+action_88 (29) = happyGoto action_46+action_88 (30) = happyGoto action_47+action_88 (33) = happyGoto action_48+action_88 (34) = happyGoto action_49+action_88 (35) = happyGoto action_104+action_88 (36) = happyGoto action_51+action_88 _ = happyReduce_57++action_89 (54) = happyShift action_53+action_89 (55) = happyShift action_54+action_89 (57) = happyShift action_56+action_89 (62) = happyShift action_57+action_89 (63) = happyShift action_58+action_89 (65) = happyShift action_59+action_89 (78) = happyShift action_61+action_89 (80) = happyShift action_62+action_89 (81) = happyShift action_63+action_89 (82) = happyShift action_64+action_89 (83) = happyShift action_65+action_89 (25) = happyGoto action_43+action_89 (27) = happyGoto action_44+action_89 (28) = happyGoto action_45+action_89 (29) = happyGoto action_46+action_89 (30) = happyGoto action_47+action_89 (33) = happyGoto action_103+action_89 _ = happyFail (happyExpListPerState 89)++action_90 (73) = happyShift action_36+action_90 (20) = happyGoto action_39+action_90 (37) = happyGoto action_102+action_90 _ = happyReduce_67++action_91 (43) = happyShift action_101+action_91 _ = happyFail (happyExpListPerState 91)++action_92 (43) = happyShift action_100+action_92 _ = happyFail (happyExpListPerState 92)++action_93 _ = happyReduce_73++action_94 (66) = happyShift action_99+action_94 _ = happyFail (happyExpListPerState 94)++action_95 _ = happyReduce_79++action_96 (44) = happyShift action_98+action_96 _ = happyFail (happyExpListPerState 96)++action_97 _ = happyReduce_81++action_98 _ = happyReduce_78++action_99 _ = happyReduce_74++action_100 (73) = happyShift action_36+action_100 (20) = happyGoto action_39+action_100 (37) = happyGoto action_126+action_100 _ = happyReduce_67++action_101 (73) = happyShift action_36+action_101 (20) = happyGoto action_39+action_101 (37) = happyGoto action_125+action_101 _ = happyReduce_67++action_102 _ = happyReduce_69++action_103 (43) = happyShift action_79+action_103 (44) = happyShift action_124+action_103 (45) = happyShift action_80+action_103 (47) = happyShift action_81+action_103 (48) = happyShift action_82+action_103 _ = happyFail (happyExpListPerState 103)++action_104 _ = happyReduce_59++action_105 (43) = happyShift action_79+action_105 (45) = happyShift action_80+action_105 (47) = happyShift action_81+action_105 (48) = happyShift action_82+action_105 _ = happyReduce_49++action_106 _ = happyReduce_51++action_107 _ = happyReduce_52++action_108 _ = happyReduce_56++action_109 _ = happyReduce_53++action_110 _ = happyReduce_15++action_111 _ = happyReduce_54++action_112 _ = happyReduce_16++action_113 (54) = happyShift action_53+action_113 (55) = happyShift action_54+action_113 (57) = happyShift action_56+action_113 (62) = happyShift action_57+action_113 (63) = happyShift action_58+action_113 (65) = happyShift action_59+action_113 (78) = happyShift action_61+action_113 (80) = happyShift action_62+action_113 (81) = happyShift action_63+action_113 (82) = happyShift action_64+action_113 (83) = happyShift action_65+action_113 (25) = happyGoto action_43+action_113 (27) = happyGoto action_44+action_113 (28) = happyGoto action_45+action_113 (29) = happyGoto action_46+action_113 (30) = happyGoto action_47+action_113 (33) = happyGoto action_123+action_113 _ = happyFail (happyExpListPerState 113)++action_114 _ = happyReduce_34++action_115 (60) = happyShift action_122+action_115 _ = happyFail (happyExpListPerState 115)++action_116 _ = happyReduce_36++action_117 _ = happyReduce_47++action_118 (44) = happyShift action_121+action_118 _ = happyFail (happyExpListPerState 118)++action_119 (66) = happyShift action_120+action_119 _ = happyFail (happyExpListPerState 119)++action_120 (51) = happyShift action_131+action_120 _ = happyFail (happyExpListPerState 120)++action_121 _ = happyReduce_35++action_122 (54) = happyShift action_53+action_122 (55) = happyShift action_54+action_122 (57) = happyShift action_56+action_122 (62) = happyShift action_57+action_122 (63) = happyShift action_58+action_122 (65) = happyShift action_59+action_122 (78) = happyShift action_61+action_122 (80) = happyShift action_62+action_122 (81) = happyShift action_63+action_122 (82) = happyShift action_64+action_122 (83) = happyShift action_65+action_122 (25) = happyGoto action_43+action_122 (27) = happyGoto action_44+action_122 (28) = happyGoto action_45+action_122 (29) = happyGoto action_46+action_122 (30) = happyGoto action_47+action_122 (33) = happyGoto action_130+action_122 _ = happyFail (happyExpListPerState 122)++action_123 (43) = happyShift action_79+action_123 (45) = happyShift action_80+action_123 (47) = happyShift action_81+action_123 (48) = happyShift action_82+action_123 (64) = happyShift action_129+action_123 _ = happyFail (happyExpListPerState 123)++action_124 _ = happyReduce_48++action_125 (44) = happyShift action_128+action_125 _ = happyFail (happyExpListPerState 125)++action_126 (44) = happyShift action_127+action_126 _ = happyFail (happyExpListPerState 126)++action_127 _ = happyReduce_61++action_128 _ = happyReduce_66++action_129 _ = happyReduce_45++action_130 (43) = happyShift action_79+action_130 (45) = happyShift action_80+action_130 (47) = happyShift action_81+action_130 (48) = happyShift action_82+action_130 (49) = happyShift action_132+action_130 _ = happyFail (happyExpListPerState 130)++action_131 _ = happyReduce_28++action_132 _ = happyReduce_44++happyReduce_12 = happySpecReduce_1  15 happyReduction_12+happyReduction_12 (HappyTerminal (PT _ (TD happy_var_1)))+	 =  HappyAbsSyn15+		 ((read happy_var_1) :: Double+	)+happyReduction_12 _  = notHappyAtAll ++happyReduce_13 = happySpecReduce_1  16 happyReduction_13+happyReduction_13 (HappyTerminal (PT _ (TI happy_var_1)))+	 =  HappyAbsSyn16+		 ((read happy_var_1) :: Integer+	)+happyReduction_13 _  = notHappyAtAll ++happyReduce_14 = happySpecReduce_1  17 happyReduction_14+happyReduction_14 (HappyTerminal (PT _ (TL happy_var_1)))+	 =  HappyAbsSyn17+		 (happy_var_1+	)+happyReduction_14 _  = notHappyAtAll ++happyReduce_15 = happySpecReduce_1  18 happyReduction_15+happyReduction_15 (HappyTerminal (PT _ (T_Bytes happy_var_1)))+	 =  HappyAbsSyn18+		 (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1+	)+happyReduction_15 _  = notHappyAtAll ++happyReduce_16 = happySpecReduce_1  19 happyReduction_16+happyReduction_16 (HappyTerminal (PT _ (T_Function happy_var_1)))+	 =  HappyAbsSyn19+		 (Language.EO.Phi.Syntax.Abs.Function happy_var_1+	)+happyReduction_16 _  = notHappyAtAll ++happyReduce_17 = happySpecReduce_1  20 happyReduction_17+happyReduction_17 (HappyTerminal (PT _ (T_LabelId happy_var_1)))+	 =  HappyAbsSyn20+		 (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1+	)+happyReduction_17 _  = notHappyAtAll ++happyReduce_18 = happySpecReduce_1  21 happyReduction_18+happyReduction_18 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))+	 =  HappyAbsSyn21+		 (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1+	)+happyReduction_18 _  = notHappyAtAll ++happyReduce_19 = happySpecReduce_1  22 happyReduction_19+happyReduction_19 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))+	 =  HappyAbsSyn22+		 (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1+	)+happyReduction_19 _  = notHappyAtAll ++happyReduce_20 = happySpecReduce_1  23 happyReduction_20+happyReduction_20 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))+	 =  HappyAbsSyn23+		 (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1+	)+happyReduction_20 _  = notHappyAtAll ++happyReduce_21 = happySpecReduce_1  24 happyReduction_21+happyReduction_21 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))+	 =  HappyAbsSyn24+		 (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1+	)+happyReduction_21 _  = notHappyAtAll ++happyReduce_22 = happySpecReduce_1  25 happyReduction_22+happyReduction_22 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))+	 =  HappyAbsSyn25+		 (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1+	)+happyReduction_22 _  = notHappyAtAll ++happyReduce_23 = happySpecReduce_1  26 happyReduction_23+happyReduction_23 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))+	 =  HappyAbsSyn26+		 (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1+	)+happyReduction_23 _  = notHappyAtAll ++happyReduce_24 = happySpecReduce_1  27 happyReduction_24+happyReduction_24 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))+	 =  HappyAbsSyn27+		 (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1+	)+happyReduction_24 _  = notHappyAtAll ++happyReduce_25 = happySpecReduce_1  28 happyReduction_25+happyReduction_25 (HappyTerminal (PT _ (T_IntegerSigned happy_var_1)))+	 =  HappyAbsSyn28+		 (Language.EO.Phi.Syntax.Abs.IntegerSigned happy_var_1+	)+happyReduction_25 _  = notHappyAtAll ++happyReduce_26 = happySpecReduce_1  29 happyReduction_26+happyReduction_26 (HappyTerminal (PT _ (T_DoubleSigned happy_var_1)))+	 =  HappyAbsSyn29+		 (Language.EO.Phi.Syntax.Abs.DoubleSigned happy_var_1+	)+happyReduction_26 _  = notHappyAtAll ++happyReduce_27 = happySpecReduce_1  30 happyReduction_27+happyReduction_27 (HappyTerminal (PT _ (T_StringRaw happy_var_1)))+	 =  HappyAbsSyn30+		 (Language.EO.Phi.Syntax.Abs.StringRaw happy_var_1+	)+happyReduction_27 _  = notHappyAtAll ++happyReduce_28 = happyReduce 5 31 happyReduction_28+happyReduction_28 (_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn35  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn31+		 (Language.EO.Phi.Syntax.Abs.Program happy_var_3+	) `HappyStk` happyRest++happyReduce_29 = happySpecReduce_1  32 happyReduction_29+happyReduction_29 (HappyAbsSyn22  happy_var_1)+	 =  HappyAbsSyn32+		 (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1+	)+happyReduction_29 _  = notHappyAtAll ++happyReduce_30 = happySpecReduce_1  32 happyReduction_30+happyReduction_30 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn32+		 (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1+	)+happyReduction_30 _  = notHappyAtAll ++happyReduce_31 = happySpecReduce_1  32 happyReduction_31+happyReduction_31 (HappyAbsSyn24  happy_var_1)+	 =  HappyAbsSyn32+		 (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1+	)+happyReduction_31 _  = notHappyAtAll ++happyReduce_32 = happySpecReduce_1  32 happyReduction_32+happyReduction_32 (HappyAbsSyn25  happy_var_1)+	 =  HappyAbsSyn32+		 (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1+	)+happyReduction_32 _  = notHappyAtAll ++happyReduce_33 = happySpecReduce_1  32 happyReduction_33+happyReduction_33 (HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn32+		 (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1+	)+happyReduction_33 _  = notHappyAtAll ++happyReduce_34 = happySpecReduce_3  33 happyReduction_34+happyReduction_34 _+	(HappyAbsSyn35  happy_var_2)+	_+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.Formation happy_var_2+	)+happyReduction_34 _ _ _  = notHappyAtAll ++happyReduce_35 = happyReduce 4 33 happyReduction_35+happyReduction_35 (_ `HappyStk`+	(HappyAbsSyn35  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn33  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3+	) `HappyStk` happyRest++happyReduce_36 = happySpecReduce_3  33 happyReduction_36+happyReduction_36 (HappyAbsSyn36  happy_var_3)+	_+	(HappyAbsSyn33  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3+	)+happyReduction_36 _ _ _  = notHappyAtAll ++happyReduce_37 = happySpecReduce_1  33 happyReduction_37+happyReduction_37 _+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.GlobalObject+	)++happyReduce_38 = happySpecReduce_1  33 happyReduction_38+happyReduction_38 _+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.GlobalObjectPhiOrg+	)++happyReduce_39 = happySpecReduce_1  33 happyReduction_39+happyReduction_39 _+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.ThisObject+	)++happyReduce_40 = happySpecReduce_1  33 happyReduction_40+happyReduction_40 _+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.Termination+	)++happyReduce_41 = happySpecReduce_1  33 happyReduction_41+happyReduction_41 (HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.ConstStringRaw happy_var_1+	)+happyReduction_41 _  = notHappyAtAll ++happyReduce_42 = happySpecReduce_1  33 happyReduction_42+happyReduction_42 (HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.ConstIntRaw happy_var_1+	)+happyReduction_42 _  = notHappyAtAll ++happyReduce_43 = happySpecReduce_1  33 happyReduction_43+happyReduction_43 (HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.ConstFloatRaw happy_var_1+	)+happyReduction_43 _  = notHappyAtAll ++happyReduce_44 = happyReduce 6 33 happyReduction_44+happyReduction_44 (_ `HappyStk`+	(HappyAbsSyn33  happy_var_5) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn33  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5+	) `HappyStk` happyRest++happyReduce_45 = happyReduce 5 33 happyReduction_45+happyReduction_45 (_ `HappyStk`+	(HappyAbsSyn33  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn33  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.MetaContextualize happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_46 = happySpecReduce_1  33 happyReduction_46+happyReduction_46 (HappyAbsSyn25  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1+	)+happyReduction_46 _  = notHappyAtAll ++happyReduce_47 = happySpecReduce_3  33 happyReduction_47+happyReduction_47 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn33  happy_var_1)+	 =  HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3+	)+happyReduction_47 _ _ _  = notHappyAtAll ++happyReduce_48 = happyReduce 4 33 happyReduction_48+happyReduction_48 (_ `HappyStk`+	(HappyAbsSyn33  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn27  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn33+		 (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3+	) `HappyStk` happyRest++happyReduce_49 = happySpecReduce_3  34 happyReduction_49+happyReduction_49 (HappyAbsSyn33  happy_var_3)+	_+	(HappyAbsSyn36  happy_var_1)+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3+	)+happyReduction_49 _ _ _  = notHappyAtAll ++happyReduce_50 = happySpecReduce_1  34 happyReduction_50+happyReduction_50 (HappyAbsSyn33  happy_var_1)+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.AlphaBindingSugar happy_var_1+	)+happyReduction_50 _  = notHappyAtAll ++happyReduce_51 = happySpecReduce_3  34 happyReduction_51+happyReduction_51 _+	_+	(HappyAbsSyn36  happy_var_1)+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1+	)+happyReduction_51 _ _ _  = notHappyAtAll ++happyReduce_52 = happySpecReduce_3  34 happyReduction_52+happyReduction_52 (HappyAbsSyn18  happy_var_3)+	_+	_+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3+	)+happyReduction_52 _ _ _  = notHappyAtAll ++happyReduce_53 = happySpecReduce_3  34 happyReduction_53+happyReduction_53 _+	_+	_+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding+	)++happyReduce_54 = happySpecReduce_3  34 happyReduction_54+happyReduction_54 (HappyAbsSyn19  happy_var_3)+	_+	_+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3+	)+happyReduction_54 _ _ _  = notHappyAtAll ++happyReduce_55 = happySpecReduce_1  34 happyReduction_55+happyReduction_55 (HappyAbsSyn24  happy_var_1)+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1+	)+happyReduction_55 _  = notHappyAtAll ++happyReduce_56 = happySpecReduce_3  34 happyReduction_56+happyReduction_56 (HappyAbsSyn26  happy_var_3)+	_+	_+	 =  HappyAbsSyn34+		 (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3+	)+happyReduction_56 _ _ _  = notHappyAtAll ++happyReduce_57 = happySpecReduce_0  35 happyReduction_57+happyReduction_57  =  HappyAbsSyn35+		 ([]+	)++happyReduce_58 = happySpecReduce_1  35 happyReduction_58+happyReduction_58 (HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn35+		 ((:[]) happy_var_1+	)+happyReduction_58 _  = notHappyAtAll ++happyReduce_59 = happySpecReduce_3  35 happyReduction_59+happyReduction_59 (HappyAbsSyn35  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn35+		 ((:) happy_var_1 happy_var_3+	)+happyReduction_59 _ _ _  = notHappyAtAll ++happyReduce_60 = happySpecReduce_1  36 happyReduction_60+happyReduction_60 _+	 =  HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.Phi+	)++happyReduce_61 = happyReduce 5 36 happyReduction_61+happyReduction_61 (_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.PhiSugar happy_var_4+	) `HappyStk` happyRest++happyReduce_62 = happySpecReduce_1  36 happyReduction_62+happyReduction_62 _+	 =  HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.Rho+	)++happyReduce_63 = happySpecReduce_1  36 happyReduction_63+happyReduction_63 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.Label happy_var_1+	)+happyReduction_63 _  = notHappyAtAll ++happyReduce_64 = happySpecReduce_1  36 happyReduction_64+happyReduction_64 (HappyAbsSyn21  happy_var_1)+	 =  HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1+	)+happyReduction_64 _  = notHappyAtAll ++happyReduce_65 = happySpecReduce_1  36 happyReduction_65+happyReduction_65 (HappyAbsSyn22  happy_var_1)+	 =  HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1+	)+happyReduction_65 _  = notHappyAtAll ++happyReduce_66 = happyReduce 5 36 happyReduction_66+happyReduction_66 (_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn20  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn36+		 (Language.EO.Phi.Syntax.Abs.AttrSugar happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_67 = happySpecReduce_0  37 happyReduction_67+happyReduction_67  =  HappyAbsSyn37+		 ([]+	)++happyReduce_68 = happySpecReduce_1  37 happyReduction_68+happyReduction_68 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn37+		 ((:[]) happy_var_1+	)+happyReduction_68 _  = notHappyAtAll ++happyReduce_69 = happySpecReduce_3  37 happyReduction_69+happyReduction_69 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn37+		 ((:) happy_var_1 happy_var_3+	)+happyReduction_69 _ _ _  = notHappyAtAll ++happyReduce_70 = happySpecReduce_1  38 happyReduction_70+happyReduction_70 (HappyAbsSyn36  happy_var_1)+	 =  HappyAbsSyn38+		 (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1+	)+happyReduction_70 _  = notHappyAtAll ++happyReduce_71 = happySpecReduce_1  38 happyReduction_71+happyReduction_71 _+	 =  HappyAbsSyn38+		 (Language.EO.Phi.Syntax.Abs.DeltaAttr+	)++happyReduce_72 = happySpecReduce_1  38 happyReduction_72+happyReduction_72 _+	 =  HappyAbsSyn38+		 (Language.EO.Phi.Syntax.Abs.LambdaAttr+	)++happyReduce_73 = happySpecReduce_2  39 happyReduction_73+happyReduction_73 (HappyAbsSyn42  happy_var_2)+	(HappyAbsSyn40  happy_var_1)+	 =  HappyAbsSyn39+		 (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2+	)+happyReduction_73 _ _  = notHappyAtAll ++happyReduce_74 = happySpecReduce_3  40 happyReduction_74+happyReduction_74 _+	(HappyAbsSyn35  happy_var_2)+	_+	 =  HappyAbsSyn40+		 (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2+	)+happyReduction_74 _ _ _  = notHappyAtAll ++happyReduce_75 = happySpecReduce_1  40 happyReduction_75+happyReduction_75 _+	 =  HappyAbsSyn40+		 (Language.EO.Phi.Syntax.Abs.HeadGlobal+	)++happyReduce_76 = happySpecReduce_1  40 happyReduction_76+happyReduction_76 _+	 =  HappyAbsSyn40+		 (Language.EO.Phi.Syntax.Abs.HeadThis+	)++happyReduce_77 = happySpecReduce_1  40 happyReduction_77+happyReduction_77 _+	 =  HappyAbsSyn40+		 (Language.EO.Phi.Syntax.Abs.HeadTermination+	)++happyReduce_78 = happySpecReduce_3  41 happyReduction_78+happyReduction_78 _+	(HappyAbsSyn35  happy_var_2)+	_+	 =  HappyAbsSyn41+		 (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2+	)+happyReduction_78 _ _ _  = notHappyAtAll ++happyReduce_79 = happySpecReduce_2  41 happyReduction_79+happyReduction_79 (HappyAbsSyn36  happy_var_2)+	_+	 =  HappyAbsSyn41+		 (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2+	)+happyReduction_79 _ _  = notHappyAtAll ++happyReduce_80 = happySpecReduce_0  42 happyReduction_80+happyReduction_80  =  HappyAbsSyn42+		 ([]+	)++happyReduce_81 = happySpecReduce_2  42 happyReduction_81+happyReduction_81 (HappyAbsSyn42  happy_var_2)+	(HappyAbsSyn41  happy_var_1)+	 =  HappyAbsSyn42+		 ((:) happy_var_1 happy_var_2+	)+happyReduction_81 _ _  = notHappyAtAll ++happyNewToken action sts stk [] =+	action 84 84 notHappyAtAll (HappyState action) sts stk []++happyNewToken action sts stk (tk:tks) =+	let cont i = action i i tk (HappyState action) sts stk tks in+	case tk of {+	PT _ (TS _ 1) -> cont 43;+	PT _ (TS _ 2) -> cont 44;+	PT _ (TS _ 3) -> cont 45;+	PT _ (TS _ 4) -> cont 46;+	PT _ (TS _ 5) -> cont 47;+	PT _ (TS _ 6) -> cont 48;+	PT _ (TS _ 7) -> cont 49;+	PT _ (TS _ 8) -> cont 50;+	PT _ (TS _ 9) -> cont 51;+	PT _ (TS _ 10) -> cont 52;+	PT _ (TS _ 11) -> cont 53;+	PT _ (TS _ 12) -> cont 54;+	PT _ (TS _ 13) -> cont 55;+	PT _ (TS _ 14) -> cont 56;+	PT _ (TS _ 15) -> cont 57;+	PT _ (TS _ 16) -> cont 58;+	PT _ (TS _ 17) -> cont 59;+	PT _ (TS _ 18) -> cont 60;+	PT _ (TS _ 19) -> cont 61;+	PT _ (TS _ 20) -> cont 62;+	PT _ (TS _ 21) -> cont 63;+	PT _ (TS _ 22) -> cont 64;+	PT _ (TS _ 23) -> cont 65;+	PT _ (TS _ 24) -> cont 66;+	PT _ (TS _ 25) -> cont 67;+	PT _ (TD happy_dollar_dollar) -> cont 68;+	PT _ (TI happy_dollar_dollar) -> cont 69;+	PT _ (TL happy_dollar_dollar) -> cont 70;+	PT _ (T_Bytes happy_dollar_dollar) -> cont 71;+	PT _ (T_Function happy_dollar_dollar) -> cont 72;+	PT _ (T_LabelId happy_dollar_dollar) -> cont 73;+	PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 74;+	PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 75;+	PT _ (T_TailMetaId happy_dollar_dollar) -> cont 76;+	PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 77;+	PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 78;+	PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 79;+	PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 80;+	PT _ (T_IntegerSigned happy_dollar_dollar) -> cont 81;+	PT _ (T_DoubleSigned happy_dollar_dollar) -> cont 82;+	PT _ (T_StringRaw happy_dollar_dollar) -> cont 83;+	_ -> happyError' ((tk:tks), [])+	}++happyError_ explist 84 tk tks = happyError' (tks, explist)+happyError_ explist _ tk tks = happyError' ((tk:tks), explist)++happyThen :: () => Err a -> (a -> Err b) -> Err b+happyThen = ((>>=))+happyReturn :: () => a -> Err a+happyReturn = (return)+happyThen1 m k tks = ((>>=)) m (\a -> k a tks)+happyReturn1 :: () => a -> b -> Err a+happyReturn1 = \a tks -> (return) a+happyError' :: () => ([(Token)], [Prelude.String]) -> Err a+happyError' = (\(tokens, _) -> happyError tokens)+pProgram tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })++pMetaId tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })++pObject tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })++pBinding tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })++pListBinding tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })++pAttribute tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })++pListLabelId tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })++pRuleAttribute tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn38 z -> happyReturn z; _other -> notHappyAtAll })++pPeeledObject tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn39 z -> happyReturn z; _other -> notHappyAtAll })++pObjectHead tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })++pObjectAction tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn41 z -> happyReturn z; _other -> notHappyAtAll })++pListObjectAction tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_11 tks) (\x -> case x of {HappyAbsSyn42 z -> happyReturn z; _other -> notHappyAtAll })  happySeq = happyDontSeq 
src/Language/EO/Phi/Syntax/Par.y view
@@ -14,6 +14,7 @@   , pBinding   , pListBinding   , pAttribute+  , pListLabelId   , pRuleAttribute   , pPeeledObject   , pObjectHead@@ -34,6 +35,7 @@ %name pBinding Binding %name pListBinding ListBinding %name pAttribute Attribute+%name pListLabelId ListLabelId %name pRuleAttribute RuleAttribute %name pPeeledObject PeeledObject %name pObjectHead ObjectHead@@ -52,20 +54,22 @@   ']'                { PT _ (TS _ 7)                }   '{'                { PT _ (TS _ 8)                }   '}'                { PT _ (TS _ 9)                }-  'Δ'                { PT _ (TS _ 10)               }-  'Φ'                { PT _ (TS _ 11)               }-  'λ'                { PT _ (TS _ 12)               }-  'ξ'                { PT _ (TS _ 13)               }-  'ρ'                { PT _ (TS _ 14)               }-  'φ'                { PT _ (TS _ 15)               }-  '↦'                { PT _ (TS _ 16)               }-  '∅'                { PT _ (TS _ 17)               }-  '⊥'                { PT _ (TS _ 18)               }-  '⌈'                { PT _ (TS _ 19)               }-  '⌉'                { PT _ (TS _ 20)               }-  '⟦'                { PT _ (TS _ 21)               }-  '⟧'                { PT _ (TS _ 22)               }-  '⤍'                { PT _ (TS _ 23)               }+  '~'                { PT _ (TS _ 10)               }+  'Δ'                { PT _ (TS _ 11)               }+  'Φ'                { PT _ (TS _ 12)               }+  'Φ̇'               { PT _ (TS _ 13)               }+  'λ'                { PT _ (TS _ 14)               }+  'ξ'                { PT _ (TS _ 15)               }+  'ρ'                { PT _ (TS _ 16)               }+  'φ'                { PT _ (TS _ 17)               }+  '↦'                { PT _ (TS _ 18)               }+  '∅'                { PT _ (TS _ 19)               }+  '⊥'                { PT _ (TS _ 20)               }+  '⌈'                { PT _ (TS _ 21)               }+  '⌉'                { PT _ (TS _ 22)               }+  '⟦'                { PT _ (TS _ 23)               }+  '⟧'                { PT _ (TS _ 24)               }+  '⤍'                { PT _ (TS _ 25)               }   L_doubl            { PT _ (TD $$)                 }   L_integ            { PT _ (TI $$)                 }   L_quoted           { PT _ (TL $$)                 }@@ -79,6 +83,9 @@   L_ObjectMetaId     { PT _ (T_ObjectMetaId $$)     }   L_BytesMetaId      { PT _ (T_BytesMetaId $$)      }   L_MetaFunctionName { PT _ (T_MetaFunctionName $$) }+  L_IntegerSigned    { PT _ (T_IntegerSigned $$)    }+  L_DoubleSigned     { PT _ (T_DoubleSigned $$)     }+  L_StringRaw        { PT _ (T_StringRaw $$)        }  %% @@ -121,6 +128,15 @@ MetaFunctionName :: { Language.EO.Phi.Syntax.Abs.MetaFunctionName } MetaFunctionName  : L_MetaFunctionName { Language.EO.Phi.Syntax.Abs.MetaFunctionName $1 } +IntegerSigned :: { Language.EO.Phi.Syntax.Abs.IntegerSigned }+IntegerSigned  : L_IntegerSigned { Language.EO.Phi.Syntax.Abs.IntegerSigned $1 }++DoubleSigned :: { Language.EO.Phi.Syntax.Abs.DoubleSigned }+DoubleSigned  : L_DoubleSigned { Language.EO.Phi.Syntax.Abs.DoubleSigned $1 }++StringRaw :: { Language.EO.Phi.Syntax.Abs.StringRaw }+StringRaw  : L_StringRaw { Language.EO.Phi.Syntax.Abs.StringRaw $1 }+ Program :: { Language.EO.Phi.Syntax.Abs.Program } Program   : '{' '⟦' ListBinding '⟧' '}' { Language.EO.Phi.Syntax.Abs.Program $3 }@@ -139,11 +155,12 @@   | Object '(' ListBinding ')' { Language.EO.Phi.Syntax.Abs.Application $1 $3 }   | Object '.' Attribute { Language.EO.Phi.Syntax.Abs.ObjectDispatch $1 $3 }   | 'Φ' { Language.EO.Phi.Syntax.Abs.GlobalObject }+  | 'Φ̇' { Language.EO.Phi.Syntax.Abs.GlobalObjectPhiOrg }   | 'ξ' { Language.EO.Phi.Syntax.Abs.ThisObject }   | '⊥' { Language.EO.Phi.Syntax.Abs.Termination }-  | String { Language.EO.Phi.Syntax.Abs.ConstString $1 }-  | Integer { Language.EO.Phi.Syntax.Abs.ConstInt $1 }-  | Double { Language.EO.Phi.Syntax.Abs.ConstFloat $1 }+  | StringRaw { Language.EO.Phi.Syntax.Abs.ConstStringRaw $1 }+  | IntegerSigned { Language.EO.Phi.Syntax.Abs.ConstIntRaw $1 }+  | DoubleSigned { Language.EO.Phi.Syntax.Abs.ConstFloatRaw $1 }   | Object '[' 'ξ' '↦' Object ']' { Language.EO.Phi.Syntax.Abs.MetaSubstThis $1 $5 }   | '⌈' Object ',' Object '⌉' { Language.EO.Phi.Syntax.Abs.MetaContextualize $2 $4 }   | ObjectMetaId { Language.EO.Phi.Syntax.Abs.MetaObject $1 }@@ -153,6 +170,7 @@ Binding :: { Language.EO.Phi.Syntax.Abs.Binding } Binding   : Attribute '↦' Object { Language.EO.Phi.Syntax.Abs.AlphaBinding $1 $3 }+  | Object { Language.EO.Phi.Syntax.Abs.AlphaBindingSugar $1 }   | Attribute '↦' '∅' { Language.EO.Phi.Syntax.Abs.EmptyBinding $1 }   | 'Δ' '⤍' Bytes { Language.EO.Phi.Syntax.Abs.DeltaBinding $3 }   | 'Δ' '⤍' '∅' { Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding }@@ -169,10 +187,18 @@ Attribute :: { Language.EO.Phi.Syntax.Abs.Attribute } Attribute   : 'φ' { Language.EO.Phi.Syntax.Abs.Phi }+  | '~' 'φ' '(' ListLabelId ')' { Language.EO.Phi.Syntax.Abs.PhiSugar $4 }   | 'ρ' { Language.EO.Phi.Syntax.Abs.Rho }   | LabelId { Language.EO.Phi.Syntax.Abs.Label $1 }   | AlphaIndex { Language.EO.Phi.Syntax.Abs.Alpha $1 }   | LabelMetaId { Language.EO.Phi.Syntax.Abs.MetaAttr $1 }+  | '~' LabelId '(' ListLabelId ')' { Language.EO.Phi.Syntax.Abs.AttrSugar $2 $4 }++ListLabelId :: { [Language.EO.Phi.Syntax.Abs.LabelId] }+ListLabelId+  : {- empty -} { [] }+  | LabelId { (:[]) $1 }+  | LabelId ',' ListLabelId { (:) $1 $3 }  RuleAttribute :: { Language.EO.Phi.Syntax.Abs.RuleAttribute } RuleAttribute
− src/Language/EO/Phi/Syntax/Print.hs
@@ -1,269 +0,0 @@-{--Copyright EO/Polystat Development Team (c) 2023--All rights reserved.--Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:--    * Redistributions of source code must retain the above copyright-      notice, this list of conditions and the following disclaimer.--    * Redistributions in binary form must reproduce the above-      copyright notice, this list of conditions and the following-      disclaimer in the documentation and/or other materials provided-      with the distribution.--    * Neither the name of EO/Polystat Development Team nor the names of other-      contributors may be used to endorse or promote products derived-      from this software without specific prior written permission.--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.--}---- File generated by the BNF Converter (bnfc 2.9.5).--{-# LANGUAGE CPP #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE LambdaCase #-}-#if __GLASGOW_HASKELL__ <= 708-{-# LANGUAGE OverlappingInstances #-}-#endif---- | Pretty-printer for Language.--module Language.EO.Phi.Syntax.Print where--import Prelude-  ( ($), (.)-  , Bool(..), (==), (<)-  , Int, Integer, Double, (+), (-), (*)-  , String, (++)-  , ShowS, showChar, showString-  , all, elem, foldr, id, map, null, replicate, shows, span-  )-import Data.Char ( Char, isSpace )-import qualified Language.EO.Phi.Syntax.Abs---- | The top-level printing method.--printTree :: Print a => a -> String-printTree = render . prt 0--type Doc = [ShowS] -> [ShowS]--doc :: ShowS -> Doc-doc = (:)--render :: Doc -> String-render d = rend 0 False (map ($ "") $ d []) ""-  where-  rend-    :: Int        -- ^ Indentation level.-    -> Bool       -- ^ Pending indentation to be output before next character?-    -> [String]-    -> ShowS-  rend i p = \case-      "["      :ts -> char '[' . rend i False ts-      "("      :ts -> char '(' . rend i False ts-      "{"      :ts -> onNewLine i     p . showChar   '{'  . new (i+1) ts-      "}" : ";":ts -> onNewLine (i-1) p . showString "};" . new (i-1) ts-      "}"      :ts -> onNewLine (i-1) p . showChar   '}'  . new (i-1) ts-      [";"]        -> char ';'-      ";"      :ts -> char ';' . new i ts-      t  : ts@(s:_) | closingOrPunctuation s-                   -> pending . showString t . rend i False ts-      t        :ts -> pending . space t      . rend i False ts-      []           -> id-    where-    -- Output character after pending indentation.-    char :: Char -> ShowS-    char c = pending . showChar c--    -- Output pending indentation.-    pending :: ShowS-    pending = if p then indent i else id--  -- Indentation (spaces) for given indentation level.-  indent :: Int -> ShowS-  indent i = replicateS (2*i) (showChar ' ')--  -- Continue rendering in new line with new indentation.-  new :: Int -> [String] -> ShowS-  new j ts = showChar '\n' . rend j True ts--  -- Make sure we are on a fresh line.-  onNewLine :: Int -> Bool -> ShowS-  onNewLine i p = (if p then id else showChar '\n') . indent i--  -- Separate given string from following text by a space (if needed).-  space :: String -> ShowS-  space t s =-    case (all isSpace t, null spc, null rest) of-      (True , _   , True ) -> []             -- remove trailing space-      (False, _   , True ) -> t              -- remove trailing space-      (False, True, False) -> t ++ ' ' : s   -- add space if none-      _                    -> t ++ s-    where-      (spc, rest) = span isSpace s--  closingOrPunctuation :: String -> Bool-  closingOrPunctuation [c] = c `elem` closerOrPunct-  closingOrPunctuation _   = False--  closerOrPunct :: String-  closerOrPunct = ")],;"--parenth :: Doc -> Doc-parenth ss = doc (showChar '(') . ss . doc (showChar ')')--concatS :: [ShowS] -> ShowS-concatS = foldr (.) id--concatD :: [Doc] -> Doc-concatD = foldr (.) id--replicateS :: Int -> ShowS -> ShowS-replicateS n f = concatS (replicate n f)---- | The printer class does the job.--class Print a where-  prt :: Int -> a -> Doc--instance {-# OVERLAPPABLE #-} Print a => Print [a] where-  prt i = concatD . map (prt i)--instance Print Char where-  prt _ c = doc (showChar '\'' . mkEsc '\'' c . showChar '\'')--instance Print String where-  prt _ = printString--printString :: String -> Doc-printString s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"')--mkEsc :: Char -> Char -> ShowS-mkEsc q = \case-  s | s == q -> showChar '\\' . showChar s-  '\\' -> showString "\\\\"-  '\n' -> showString "\\n"-  '\t' -> showString "\\t"-  s -> showChar s--prPrec :: Int -> Int -> Doc -> Doc-prPrec i j = if j < i then parenth else id--instance Print Integer where-  prt _ x = doc (shows x)--instance Print Double where-  prt _ x = doc (shows x)--instance Print Language.EO.Phi.Syntax.Abs.Bytes where-  prt _ (Language.EO.Phi.Syntax.Abs.Bytes i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.Function where-  prt _ (Language.EO.Phi.Syntax.Abs.Function i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.LabelId where-  prt _ (Language.EO.Phi.Syntax.Abs.LabelId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.AlphaIndex where-  prt _ (Language.EO.Phi.Syntax.Abs.AlphaIndex i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.LabelMetaId where-  prt _ (Language.EO.Phi.Syntax.Abs.LabelMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.TailMetaId where-  prt _ (Language.EO.Phi.Syntax.Abs.TailMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.BindingsMetaId where-  prt _ (Language.EO.Phi.Syntax.Abs.BindingsMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.ObjectMetaId where-  prt _ (Language.EO.Phi.Syntax.Abs.ObjectMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.BytesMetaId where-  prt _ (Language.EO.Phi.Syntax.Abs.BytesMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.MetaFunctionName where-  prt _ (Language.EO.Phi.Syntax.Abs.MetaFunctionName i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.Program where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.Program bindings -> prPrec i 0 (concatD [doc (showString "{"), doc (showString "\10214"), prt 0 bindings, doc (showString "\10215"), doc (showString "}")])--instance Print Language.EO.Phi.Syntax.Abs.MetaId where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.MetaIdLabel labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])-    Language.EO.Phi.Syntax.Abs.MetaIdTail tailmetaid -> prPrec i 0 (concatD [prt 0 tailmetaid])-    Language.EO.Phi.Syntax.Abs.MetaIdBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])-    Language.EO.Phi.Syntax.Abs.MetaIdObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])-    Language.EO.Phi.Syntax.Abs.MetaIdBytes bytesmetaid -> prPrec i 0 (concatD [prt 0 bytesmetaid])--instance Print Language.EO.Phi.Syntax.Abs.Object where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.Formation bindings -> prPrec i 0 (concatD [doc (showString "\10214"), prt 0 bindings, doc (showString "\10215")])-    Language.EO.Phi.Syntax.Abs.Application object bindings -> prPrec i 0 (concatD [prt 0 object, doc (showString "("), prt 0 bindings, doc (showString ")")])-    Language.EO.Phi.Syntax.Abs.ObjectDispatch object attribute -> prPrec i 0 (concatD [prt 0 object, doc (showString "."), prt 0 attribute])-    Language.EO.Phi.Syntax.Abs.GlobalObject -> prPrec i 0 (concatD [doc (showString "\934")])-    Language.EO.Phi.Syntax.Abs.ThisObject -> prPrec i 0 (concatD [doc (showString "\958")])-    Language.EO.Phi.Syntax.Abs.Termination -> prPrec i 0 (concatD [doc (showString "\8869")])-    Language.EO.Phi.Syntax.Abs.ConstString str -> prPrec i 0 (concatD [printString str])-    Language.EO.Phi.Syntax.Abs.ConstInt n -> prPrec i 0 (concatD [prt 0 n])-    Language.EO.Phi.Syntax.Abs.ConstFloat d -> prPrec i 0 (concatD [prt 0 d])-    Language.EO.Phi.Syntax.Abs.MetaSubstThis object1 object2 -> prPrec i 0 (concatD [prt 0 object1, doc (showString "["), doc (showString "\958"), doc (showString "\8614"), prt 0 object2, doc (showString "]")])-    Language.EO.Phi.Syntax.Abs.MetaContextualize object1 object2 -> prPrec i 0 (concatD [doc (showString "\8968"), prt 0 object1, doc (showString ","), prt 0 object2, doc (showString "\8969")])-    Language.EO.Phi.Syntax.Abs.MetaObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])-    Language.EO.Phi.Syntax.Abs.MetaTailContext object tailmetaid -> prPrec i 0 (concatD [prt 0 object, doc (showString "*"), prt 0 tailmetaid])-    Language.EO.Phi.Syntax.Abs.MetaFunction metafunctionname object -> prPrec i 0 (concatD [prt 0 metafunctionname, doc (showString "("), prt 0 object, doc (showString ")")])--instance Print Language.EO.Phi.Syntax.Abs.Binding where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.AlphaBinding attribute object -> prPrec i 0 (concatD [prt 0 attribute, doc (showString "\8614"), prt 0 object])-    Language.EO.Phi.Syntax.Abs.EmptyBinding attribute -> prPrec i 0 (concatD [prt 0 attribute, doc (showString "\8614"), doc (showString "\8709")])-    Language.EO.Phi.Syntax.Abs.DeltaBinding bytes -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytes])-    Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), doc (showString "\8709")])-    Language.EO.Phi.Syntax.Abs.LambdaBinding function -> prPrec i 0 (concatD [doc (showString "\955"), doc (showString "\10509"), prt 0 function])-    Language.EO.Phi.Syntax.Abs.MetaBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])-    Language.EO.Phi.Syntax.Abs.MetaDeltaBinding bytesmetaid -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytesmetaid])--instance Print [Language.EO.Phi.Syntax.Abs.Binding] where-  prt _ [] = concatD []-  prt _ [x] = concatD [prt 0 x]-  prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]--instance Print Language.EO.Phi.Syntax.Abs.Attribute where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.Phi -> prPrec i 0 (concatD [doc (showString "\966")])-    Language.EO.Phi.Syntax.Abs.Rho -> prPrec i 0 (concatD [doc (showString "\961")])-    Language.EO.Phi.Syntax.Abs.Label labelid -> prPrec i 0 (concatD [prt 0 labelid])-    Language.EO.Phi.Syntax.Abs.Alpha alphaindex -> prPrec i 0 (concatD [prt 0 alphaindex])-    Language.EO.Phi.Syntax.Abs.MetaAttr labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])--instance Print Language.EO.Phi.Syntax.Abs.RuleAttribute where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.ObjectAttr attribute -> prPrec i 0 (concatD [prt 0 attribute])-    Language.EO.Phi.Syntax.Abs.DeltaAttr -> prPrec i 0 (concatD [doc (showString "\916")])-    Language.EO.Phi.Syntax.Abs.LambdaAttr -> prPrec i 0 (concatD [doc (showString "\955")])--instance Print Language.EO.Phi.Syntax.Abs.PeeledObject where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.PeeledObject objecthead objectactions -> prPrec i 0 (concatD [prt 0 objecthead, prt 0 objectactions])--instance Print Language.EO.Phi.Syntax.Abs.ObjectHead where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.HeadFormation bindings -> prPrec i 0 (concatD [doc (showString "\10214"), prt 0 bindings, doc (showString "\10215")])-    Language.EO.Phi.Syntax.Abs.HeadGlobal -> prPrec i 0 (concatD [doc (showString "\934")])-    Language.EO.Phi.Syntax.Abs.HeadThis -> prPrec i 0 (concatD [doc (showString "\958")])-    Language.EO.Phi.Syntax.Abs.HeadTermination -> prPrec i 0 (concatD [doc (showString "\8869")])--instance Print Language.EO.Phi.Syntax.Abs.ObjectAction where-  prt i = \case-    Language.EO.Phi.Syntax.Abs.ActionApplication bindings -> prPrec i 0 (concatD [doc (showString "("), prt 0 bindings, doc (showString ")")])-    Language.EO.Phi.Syntax.Abs.ActionDispatch attribute -> prPrec i 0 (concatD [doc (showString "."), prt 0 attribute])--instance Print [Language.EO.Phi.Syntax.Abs.ObjectAction] where-  prt _ [] = concatD []-  prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
src/Language/EO/Phi/ToLaTeX.hs view
@@ -24,17 +24,20 @@ {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-}  module Language.EO.Phi.ToLaTeX where  import Data.Foldable (fold)-import Data.List (intersperse)+import Data.List (intercalate, intersperse) import Data.String (IsString) import Data.Text qualified as T import Language.EO.Phi import Language.EO.Phi.Rules.Yaml+import PyF (fmt) import Text.Regex (mkRegex, subRegex)  newtype LaTeX = LaTeX {unLaTeX :: String}@@ -53,11 +56,16 @@     "\\Big\\{ " <> toLatex (Formation bindings) <> " \\Big\\}"  instance ToLatex Attribute where-  toLatex Phi = "@"-  toLatex Rho = "^"-  toLatex (Alpha (AlphaIndex a)) = LaTeX ("\\alpha_" ++ tail a)-  toLatex (Label (LabelId l)) = LaTeX l-  toLatex (MetaAttr (LabelMetaId l)) = LaTeX l+  toLatex = \case+    Phi -> "@"+    Rho -> "^"+    (Alpha (AlphaIndex a)) -> LaTeX ("\\alpha_" ++ tail a)+    (Label (LabelId l)) -> LaTeX l+    (MetaAttr (LabelMetaId l)) -> LaTeX l+    (AttrSugar (LabelId l) ls) -> LaTeX [fmt|{l}({mkLabels ls})|]+    (PhiSugar ls) -> LaTeX [fmt|@({mkLabels ls})|]+   where+    mkLabels ls = intercalate ", " ((\(LabelId l') -> l') <$> ls)  instance ToLatex Binding where   toLatex (AlphaBinding attr obj) = toLatex attr <> " -> " <> toLatex obj@@ -67,6 +75,7 @@   toLatex (LambdaBinding (Function fn)) = "L> " <> LaTeX fn   toLatex (MetaBindings (BindingsMetaId x)) = LaTeX x   toLatex (MetaDeltaBinding (BytesMetaId x)) = "D> " <> LaTeX x+  toLatex b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b  instance ToLatex Object where   toLatex (Formation bindings) =@@ -76,6 +85,7 @@   toLatex (ObjectDispatch obj attr) =     toLatex obj <> "." <> toLatex attr   toLatex GlobalObject = "Q"+  toLatex GlobalObjectPhiOrg = "QQ"   toLatex ThisObject = "\\xi"   toLatex Termination = "\\dead"   toLatex (MetaObject (ObjectMetaId metaId)) = LaTeX metaId@@ -84,8 +94,11 @@   toLatex (MetaSubstThis obj1 obj2) = LaTeX "\\mathbb{S}(" <> toLatex obj1 <> ", " <> toLatex obj2 <> ")"   toLatex (MetaContextualize obj1 obj2) = LaTeX "\\lceil" <> toLatex obj1 <> ", " <> toLatex obj2 <> "\\rceil"   toLatex (ConstString string) = "|" <> LaTeX (show string) <> "|"+  toLatex obj@(ConstStringRaw{}) = errorExpectedDesugaredObject obj   toLatex (ConstInt n) = LaTeX (show n)+  toLatex obj@(ConstIntRaw{}) = errorExpectedDesugaredObject obj   toLatex (ConstFloat x) = LaTeX (show x)+  toLatex obj@(ConstFloatRaw{}) = errorExpectedDesugaredObject obj  removeOrgEolang :: String -> String removeOrgEolang = T.unpack . T.replace "Q.org.eolang" "QQ" . T.pack
test/Language/EO/Phi/DataizeSpec.hs view
@@ -21,6 +21,7 @@ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- SOFTWARE. {- FOURMOLU_ENABLE -}+{-# LANGUAGE BlockArguments #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE RecordWildCards #-}@@ -62,23 +63,30 @@ spec :: Spec spec = do   DataizeTestGroup{..} <- runIO (dataizationTests "test/eo/phi/dataization.yaml")-  ruleset <- runIO $ parseRuleSetFromFile "test/eo/phi/rules/yegor.yaml"-  let rules = map convertRuleNamed ruleset.rules-  describe title $-    forM_ tests $-      \test -> do-        deps <- runIO $ mapM getProgram test.dependencies-        let mergedProgs = case deepMergePrograms (test.input : deps) of-              Left err -> error ("Error merging programs: " ++ err)-              Right prog -> prog-        let ctx = defaultContext rules (progToObj mergedProgs)-        let inputObj = progToObj test.input-        let expectedResult = case test.output of-              Object obj -> Left obj-              Bytes bytes -> Right bytes-        it test.name $ do-          let dataizedResult = dataizeRecursively ctx inputObj-          ObjectOrBytes dataizedResult `shouldBe` ObjectOrBytes expectedResult+  describe title do+    forM_+      [ ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml")+      -- TODO #617:10m Enable+      -- , ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+      ]+      $ \(rulesTitle, rulesFile) -> do+        ruleset <- runIO $ parseRuleSetFromFile rulesFile+        let rules = map convertRuleNamed ruleset.rules+        describe rulesTitle do+          forM_ tests $+            \test -> do+              deps <- runIO $ mapM getProgram test.dependencies+              let mergedProgs = case deepMergePrograms (test.input : deps) of+                    Left err -> error ("Error merging programs: " ++ err)+                    Right prog -> prog+              let ctx = defaultContext rules (progToObj mergedProgs)+              let inputObj = progToObj test.input+              let expectedResult = case test.output of+                    Object obj -> Left obj+                    Bytes bytes -> Right bytes+              it test.name $ do+                let dataizedResult = dataizeRecursively ctx inputObj+                ObjectOrBytes dataizedResult `shouldBe` ObjectOrBytes expectedResult  progToObj :: Phi.Program -> Phi.Object progToObj (Phi.Program bindings) = Phi.Formation bindings
test/Language/EO/Rules/PhiPaperSpec.hs view
@@ -48,10 +48,11 @@ import Language.EO.Phi.Dataize.Context (defaultContext) import Language.EO.Phi.Rules.Common (ApplicationLimits (..), NamedRule, applyOneRule, defaultApplicationLimits, equalObject, objectSize) import Language.EO.Phi.Rules.Yaml (convertRuleNamed, parseRuleSetFromFile, rules)-import Language.EO.Phi.Syntax (intToBytes, printTree)+import Language.EO.Phi.Syntax (errorExpectedDesugaredBinding, intToBytes, printTree) import Language.EO.Phi.Syntax.Abs as Phi import Test.Hspec import Test.QuickCheck+import Test.QuickCheck.Gen (genDouble)  arbitraryNonEmptyString :: Gen String arbitraryNonEmptyString = do@@ -75,6 +76,10 @@   arbitrary = intToBytes <$> arbitrarySizedNatural instance Arbitrary Phi.Function where   arbitrary = Phi.Function <$> arbitraryNonEmptyString+instance Arbitrary DoubleSigned where+  arbitrary = DoubleSigned . show . (1000 *) <$> genDouble+instance Arbitrary IntegerSigned where+  arbitrary = IntegerSigned . show <$> chooseInteger (-1_000_000, 1_000_000)  instance Arbitrary Phi.ObjectMetaId where   arbitrary = Phi.ObjectMetaId . ("!b" ++) <$> arbitraryNonEmptyString@@ -107,6 +112,9 @@   shrink (AlphaBinding attr obj) = AlphaBinding attr <$> shrink obj   shrink _ = [] -- do not shrink deltas and lambdas +instance Arbitrary Phi.StringRaw where+  arbitrary = Phi.StringRaw <$> arbitraryNonEmptyString+ -- | Split an integer into a list of positive integers, -- whose sum is less than or equal the initial one. --@@ -142,6 +150,7 @@   LambdaBinding{} -> Label "λ"   MetaDeltaBinding{} -> Label "Δ"   MetaBindings{} -> error "attempting to retrieve attribute of meta bindings"+  b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b  arbitraryBindings :: Gen [Binding] arbitraryBindings =@@ -330,14 +339,14 @@ spec :: Spec spec =   forM_-    [ ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml")-    , ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+    [ ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+    , ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml")     ]-    $ \(name, rulesFile) -> do+    $ \(title, rulesFile) -> do       ruleset <- runIO $ parseRuleSetFromFile rulesFile       let rulesFromYaml = map convertRuleNamed (rules ruleset)       inputs <- runIO $ parseTests "test/eo/phi/confluence.yaml"-      describe name $ do+      describe title $ do         it "Are confluent (via QuickCheck)" (confluent rulesFromYaml)         describe           "Are confluent (regression tests)"
test/Language/EO/YamlSpec.hs view
@@ -31,7 +31,7 @@ spec :: Spec spec =   Test.spec-    [ "test/eo/phi/rules/yegor.yaml"-    , "test/eo/phi/rules/new.yaml"+    [ "test/eo/phi/rules/new.yaml"+    , "test/eo/phi/rules/yegor.yaml"     , "test/eo/phi/rules/streams.yaml"     ]
test/eo/phi/rules/new.yaml view
@@ -31,7 +31,8 @@       ⌈ !b , ⟦ !τ ↦ !b, !B ⟧ ⌉(ρ ↦ ⟦ !τ ↦ !b, !B ⟧)     when:       - nf: '!b'-      - nf: '⟦ !B ⟧' #TODO: change the condition, every object in !B should be in the nf+      # TODO #636:30min Change the condition, every object in !B should be in the nf+      - nf: '⟦ !B ⟧'     tests:       - name: 'Contextualization changes ξ'         input: ⟦ a ↦ ξ ⟧.a@@ -80,7 +81,6 @@         output: ['⟦ a ↦ ⟦ b ↦ ⟦ a ↦ ⟦ b ↦ ∅ ⟧ (b ↦ ξ) ⟧ ⟧ ().a ⟧']       - name: Phi Paper - Example E1         input: ⟦ k ↦ ⟦ x ↦ ξ.t, t ↦ ∅ ⟧(t ↦ ⟦ρ ↦ ⟦⟧⟧) ⟧-        # output: ['⟦ k ↦ ⟦ x ↦ ξ.t, t ↦ ⟦ρ ↦ ⟦⟧⟧ ⟧() ⟧']         output: ['⟦ k ↦ ⟦ t ↦ ⟦ρ ↦ ⟦⟧⟧, x ↦ ξ.t ⟧() ⟧']       - name: Phi Paper - Example E4 - dispatch on y         input: ⟦ k ↦ ⟦ x ↦ ∅, y ↦ ξ.x ⟧(x ↦ ⟦ρ ↦ ⟦⟧⟧).y ⟧@@ -124,7 +124,7 @@         input: ⟦ m ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧.t(ρ ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧) ⟧         output: ['⟦ m ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧.φ.t(ρ ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧) ⟧'] -  # there's no B2 in the result+  # TODO #636:30min There's no B2 in the result   - name: STAY     description: 'Application of a ρ-binding when ρ already exists'     pattern: |