diff options
| author | Arnaud Bailly <arnaud.bailly@iohk.io> | 2025-01-25 10:45:41 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud.bailly@iohk.io> | 2025-01-25 10:45:41 +0100 |
| commit | 7752d73216578d5961751b5d0535088d384b4aa6 (patch) | |
| tree | 786e46fe1276e93ade0a48398cd4c9ac13081707 | |
| parent | d6f68e919db51d366c8ca3c1509bea12aa81d692 (diff) | |
| download | lambda-nantes-7752d73216578d5961751b5d0535088d384b4aa6.tar.gz | |
Move λ-calcul workshop code to subdirectory
| -rw-r--r-- | README.md | 12 | ||||
| -rw-r--r-- | lambda-calcul/clojure/.gitignore (renamed from clojure/.gitignore) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/deps.edn (renamed from clojure/deps.edn) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/src/lccl/app.clj (renamed from clojure/src/lccl/app.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/src/lccl/fwk/middlewares.clj (renamed from clojure/src/lccl/fwk/middlewares.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/src/lccl/lc/ast.clj (renamed from clojure/src/lccl/lc/ast.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/src/lccl/lc/evaluator.clj (renamed from clojure/src/lccl/lc/evaluator.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/src/lccl/main.clj (renamed from clojure/src/lccl/main.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/clojure/test/lccl/lc/evaluator_test.clj (renamed from clojure/test/lccl/lc/evaluator_test.clj) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/.formatter.exs (renamed from elixir/.formatter.exs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/.gitignore (renamed from elixir/.gitignore) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/README.md (renamed from elixir/README.md) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/ast.ex (renamed from elixir/ast.ex) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/ast_test.exs (renamed from elixir/ast_test.exs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/mix.exs (renamed from elixir/mix.exs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/test_helper.exs (renamed from elixir/test_helper.exs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/workshop1.ex (renamed from elixir/workshop1.ex) | 0 | ||||
| -rw-r--r-- | lambda-calcul/elixir/workshop1_test.exs (renamed from elixir/workshop1_test.exs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/.gitignore (renamed from java/lcgoji/.gitignore) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/pom.xml (renamed from java/lcgoji/pom.xml) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java (renamed from java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/main/resources/log4j2.xml (renamed from java/lcgoji/src/main/resources/log4j2.xml) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java (renamed from java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java (renamed from java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java) | 0 | ||||
| -rw-r--r-- | lambda-calcul/papers/sestoft-lamreduce.pdf | bin | 0 -> 142164 bytes | |||
| -rw-r--r-- | lambda-calcul/rust/.gitignore (renamed from rust/.gitignore) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/Cargo.lock (renamed from rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/Cargo.lock.rej | 9 | ||||
| -rw-r--r-- | lambda-calcul/rust/Cargo.toml (renamed from rust/Cargo.toml) | 2 | ||||
| -rw-r--r-- | lambda-calcul/rust/README.md (renamed from rust/README.md) | 0 | ||||
| -rwxr-xr-x | lambda-calcul/rust/cover.sh (renamed from rust/cover.sh) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/distrib | 3022 | ||||
| -rw-r--r-- | lambda-calcul/rust/proptest-regressions/ast.txt | 7 | ||||
| -rw-r--r-- | lambda-calcul/rust/proptest-regressions/lambda.txt | 7 | ||||
| -rw-r--r-- | lambda-calcul/rust/proptest-regressions/parser.txt | 7 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test.txt (renamed from rust/sample/test.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test01/input (renamed from rust/sample/test01/input) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test01/output (renamed from rust/sample/test01/output) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test02/input (renamed from rust/sample/test02/input) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test02/output (renamed from rust/sample/test02/output) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test03/input (renamed from rust/sample/test03/input) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test03/output (renamed from rust/sample/test03/output) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_bool.txt (renamed from rust/sample/test_bool.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_full.txt (renamed from rust/sample/test_full.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_let.txt (renamed from rust/sample/test_let.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_nat.txt (renamed from rust/sample/test_nat.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/sample/test_normal.txt (renamed from rust/sample/test_normal.txt) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/ast.rs (renamed from rust/src/ast.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/io.rs (renamed from rust/src/io.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/lambda.rs (renamed from rust/src/lambda.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/lib.rs (renamed from rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/main.rs (renamed from rust/src/main.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/parser.rs (renamed from rust/src/parser.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/tester.rs (renamed from rust/src/tester.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/src/web.rs (renamed from rust/src/web.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/templates/leaderboard.html (renamed from rust/templates/leaderboard.html) | 0 | ||||
| -rw-r--r-- | lambda-calcul/rust/tests/interpret_test.rs (renamed from rust/tests/interpret_test.rs) | 0 | ||||
| -rw-r--r-- | lambda-calcul/support/2024-10-10.md (renamed from support/2024-10-10.md) | 0 | ||||
| -rw-r--r-- | lambda-calcul/support/2024-10-10.pdf (renamed from support/2024-10-10.pdf) | bin | 60690 -> 60690 bytes | |||
| -rw-r--r-- | lambda-calcul/support/Makefile (renamed from support/Makefile) | 0 |
65 files changed, 3064 insertions, 2 deletions
@@ -1,3 +1,13 @@ # λ-Nantes -λ-Nantes est un groupe de développeuses et développeurs de Nantes et sa région, intéressées par les langages dits fonctionnels (ou applicatifs), qui se réunit de manière apériodique et irrégulière pour des conférences et des ateliers. +λ-Nantes est un groupe de développeuses et développeurs de Nantes et +sa région, intéressées par les langages dits fonctionnels (ou +applicatifs), qui se réunit de manière apériodique et irrégulière pour +des conférences et des ateliers. + +Ce répertoire de code contient du matériel lié aux ateliers animés dans le cadre de λ-Nantes. + +## Ateliers + +* [10 octobre 2024](lambda-calcul/) : Atelier "Coder un évaluateur de λ-calcul" +* [30 janvier 2025](pbt/) : Atelier "Test de propriétés" diff --git a/clojure/.gitignore b/lambda-calcul/clojure/.gitignore index 883fee3..883fee3 100644 --- a/clojure/.gitignore +++ b/lambda-calcul/clojure/.gitignore diff --git a/clojure/deps.edn b/lambda-calcul/clojure/deps.edn index b43182c..b43182c 100644 --- a/clojure/deps.edn +++ b/lambda-calcul/clojure/deps.edn diff --git a/clojure/src/lccl/app.clj b/lambda-calcul/clojure/src/lccl/app.clj index 522d8bf..522d8bf 100644 --- a/clojure/src/lccl/app.clj +++ b/lambda-calcul/clojure/src/lccl/app.clj diff --git a/clojure/src/lccl/fwk/middlewares.clj b/lambda-calcul/clojure/src/lccl/fwk/middlewares.clj index 973cffc..973cffc 100644 --- a/clojure/src/lccl/fwk/middlewares.clj +++ b/lambda-calcul/clojure/src/lccl/fwk/middlewares.clj diff --git a/clojure/src/lccl/lc/ast.clj b/lambda-calcul/clojure/src/lccl/lc/ast.clj index 58bad11..58bad11 100644 --- a/clojure/src/lccl/lc/ast.clj +++ b/lambda-calcul/clojure/src/lccl/lc/ast.clj diff --git a/clojure/src/lccl/lc/evaluator.clj b/lambda-calcul/clojure/src/lccl/lc/evaluator.clj index 70e972e..70e972e 100644 --- a/clojure/src/lccl/lc/evaluator.clj +++ b/lambda-calcul/clojure/src/lccl/lc/evaluator.clj diff --git a/clojure/src/lccl/main.clj b/lambda-calcul/clojure/src/lccl/main.clj index 071d7c6..071d7c6 100644 --- a/clojure/src/lccl/main.clj +++ b/lambda-calcul/clojure/src/lccl/main.clj diff --git a/clojure/test/lccl/lc/evaluator_test.clj b/lambda-calcul/clojure/test/lccl/lc/evaluator_test.clj index d1e9c41..d1e9c41 100644 --- a/clojure/test/lccl/lc/evaluator_test.clj +++ b/lambda-calcul/clojure/test/lccl/lc/evaluator_test.clj diff --git a/elixir/.formatter.exs b/lambda-calcul/elixir/.formatter.exs index d2cda26..d2cda26 100644 --- a/elixir/.formatter.exs +++ b/lambda-calcul/elixir/.formatter.exs diff --git a/elixir/.gitignore b/lambda-calcul/elixir/.gitignore index 12fd196..12fd196 100644 --- a/elixir/.gitignore +++ b/lambda-calcul/elixir/.gitignore diff --git a/elixir/README.md b/lambda-calcul/elixir/README.md index fe5b773..fe5b773 100644 --- a/elixir/README.md +++ b/lambda-calcul/elixir/README.md diff --git a/elixir/ast.ex b/lambda-calcul/elixir/ast.ex index 4305b7b..4305b7b 100644 --- a/elixir/ast.ex +++ b/lambda-calcul/elixir/ast.ex diff --git a/elixir/ast_test.exs b/lambda-calcul/elixir/ast_test.exs index b10c959..b10c959 100644 --- a/elixir/ast_test.exs +++ b/lambda-calcul/elixir/ast_test.exs diff --git a/elixir/mix.exs b/lambda-calcul/elixir/mix.exs index df46a80..df46a80 100644 --- a/elixir/mix.exs +++ b/lambda-calcul/elixir/mix.exs diff --git a/elixir/test_helper.exs b/lambda-calcul/elixir/test_helper.exs index 869559e..869559e 100644 --- a/elixir/test_helper.exs +++ b/lambda-calcul/elixir/test_helper.exs diff --git a/elixir/workshop1.ex b/lambda-calcul/elixir/workshop1.ex index caf85d7..caf85d7 100644 --- a/elixir/workshop1.ex +++ b/lambda-calcul/elixir/workshop1.ex diff --git a/elixir/workshop1_test.exs b/lambda-calcul/elixir/workshop1_test.exs index f0b4603..f0b4603 100644 --- a/elixir/workshop1_test.exs +++ b/lambda-calcul/elixir/workshop1_test.exs diff --git a/java/lcgoji/.gitignore b/lambda-calcul/java/lcgoji/.gitignore index af515ad..af515ad 100644 --- a/java/lcgoji/.gitignore +++ b/lambda-calcul/java/lcgoji/.gitignore diff --git a/java/lcgoji/pom.xml b/lambda-calcul/java/lcgoji/pom.xml index f4a4f30..f4a4f30 100644 --- a/java/lcgoji/pom.xml +++ b/lambda-calcul/java/lcgoji/pom.xml diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java index b0fe69b..b0fe69b 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/LCEvaluator.java diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java index 76cb839..76cb839 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/Main.java diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java index 9d1c146..9d1c146 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Abs.java diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java index 2f3e04d..2f3e04d 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/App.java diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java index 2dcc9fe..2dcc9fe 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Term.java diff --git a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java index ed710b6..ed710b6 100644 --- a/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java +++ b/lambda-calcul/java/lcgoji/src/main/java/org/lambdanantes/lcgoji/ast/Var.java diff --git a/java/lcgoji/src/main/resources/log4j2.xml b/lambda-calcul/java/lcgoji/src/main/resources/log4j2.xml index f938085..f938085 100644 --- a/java/lcgoji/src/main/resources/log4j2.xml +++ b/lambda-calcul/java/lcgoji/src/main/resources/log4j2.xml diff --git a/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java b/lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java index ec2f027..ec2f027 100644 --- a/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java +++ b/lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/LCEvaluatorTest.java diff --git a/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java b/lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java index f11ca77..f11ca77 100644 --- a/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java +++ b/lambda-calcul/java/lcgoji/src/test/java/org/lambdanantes/lcgoji/ast/TermTest.java diff --git a/lambda-calcul/papers/sestoft-lamreduce.pdf b/lambda-calcul/papers/sestoft-lamreduce.pdf Binary files differnew file mode 100644 index 0000000..2013f1d --- /dev/null +++ b/lambda-calcul/papers/sestoft-lamreduce.pdf diff --git a/rust/.gitignore b/lambda-calcul/rust/.gitignore index 2f7896d..2f7896d 100644 --- a/rust/.gitignore +++ b/lambda-calcul/rust/.gitignore diff --git a/rust/Cargo.lock b/lambda-calcul/rust/Cargo.lock index bdb2dd9..bdb2dd9 100644 --- a/rust/Cargo.lock +++ b/lambda-calcul/rust/Cargo.lock diff --git a/lambda-calcul/rust/Cargo.lock.rej b/lambda-calcul/rust/Cargo.lock.rej new file mode 100644 index 0000000..3e5e0dc --- /dev/null +++ b/lambda-calcul/rust/Cargo.lock.rej @@ -0,0 +1,9 @@ +diff a/rust/Cargo.lock b/rust/Cargo.lock (rejected hunks) +@@ -1777,6 +1777,7 @@ dependencies = [ + "log", + "proptest", + "rand", ++ "regex", + "reqwest", + "serde", + "serde_json", diff --git a/rust/Cargo.toml b/lambda-calcul/rust/Cargo.toml index b2eab9c..c742302 100644 --- a/rust/Cargo.toml +++ b/lambda-calcul/rust/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" [dependencies] rand = { version = "0.8.5", features = ["small_rng"] } serde = { version = "1.0", features = ["derive"] } -chrono = { version= "0.4.38", features = ["serde"]} serde_json = "1.0.128" +chrono = { version= "0.4.38", features = ["serde"]} actix-web = "4.9.0" env_logger = "0.8" log = "0.4" diff --git a/rust/README.md b/lambda-calcul/rust/README.md index 7dfc03b..7dfc03b 100644 --- a/rust/README.md +++ b/lambda-calcul/rust/README.md diff --git a/rust/cover.sh b/lambda-calcul/rust/cover.sh index c7befa6..c7befa6 100755 --- a/rust/cover.sh +++ b/lambda-calcul/rust/cover.sh diff --git a/lambda-calcul/rust/distrib b/lambda-calcul/rust/distrib new file mode 100644 index 0000000..ba11467 --- /dev/null +++ b/lambda-calcul/rust/distrib @@ -0,0 +1,3022 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +11118 +13127 +47069 +65868 +1000000 +1000000 +1000000 +1000000 +1000000 +1000000 +1000000 +1000009 +1000100 +1000100 +1044631 +1200000 +1221941 +1231208 +1258444 +1289969 +1322858 +1430897 +1434673 +1434673 +1481480 +1481480 +1586597 +1665757 +1688197 +1763938 +1773860 +1800569 +1801494 +1822883 +1854270 +1865490 +1957114 +2001200 +2007228 +2029803 +2050621 +2062184 +2228964 +2267244 +2386319 +2443789 +2450653 +2486679 +2500000 +2562761 +2609445 +2618354 +2621434 +2623282 +2639298 +2646822 +2729004 +2735858 +2742048 +2823411 +2915210 +2925923 +2925923 +2953199 +2990070 +3070591 +3080875 +3092547 +3455860 +3570478 +3625350 +3629838 +3678935 +3981480 +3991496 +4000000 +4048591 +4191429 +4233056 +4310452 +4427641 +4581261 +4585779 +4593662 +4613646 +4613866 +5000000 +5154646 +5223772 +5398685 +5577986 +5624250 +5800118 +5879394 +5885306 +6000000 +6000000 +6000000 +6001245 +6135954 +6399036 +6444552 +6453117 +6470103 +6638814 +6863246 +7054091 +7401751 +7414749 +7475689 +7620000 +7621654 +7622358 +7624514 +7629486 +7629486 +7634370 +7900602 +7952568 +8247561 +8249917 +8602239 +8618750 +8705929 +8755036 +9248208 +9471895 +9486132 +9490391 +9618398 +9618530 +9619058 +9630058 +9802291 +9823059 +9825875 +9892022 +10000000 +10181917 +10276880 +10276968 +10276968 +10277188 +10277188 +10277276 +10843473 +10984954 +11000000 +11095972 +11286634 +11633160 +11700000 +12000000 +12017087 +12145784 +12440621 +12611753 +12621038 +12691233 +12851369 +13276968 +14776577 +17236444 +17425265 +17427226 +17509389 +17619014 +17620334 +17719612 +17988077 +18269664 +18599471 +18621214 +18737033 +18816176 +19232201 +19424099 +19453176 +19736460 +20000000 +20015900 +20061667 +22420601 +22424605 +22971625 +23420165 +23433361 +23613933 +24517029 +24923870 +25098487 +25300000 +25825259 +27595522 +27597982 +27617078 +27624822 +29445355 +29620216 +30477971 +31323894 +32036957 +32150290 +32637619 +32724696 +35245376 +36118889 +36313357 +37987754 +39624703 +39983004 +40326929 +41986459 +42018412 +44304481 +44454085 +47821475 +49055495 +49678250 +49782708 +50005115 +50425749 +51339332 +52037404 +52237703 +53694740 +53706194 +53738926 +55456744 +55651486 +57425793 +57602998 +59460400 +59603626 +61914723 +62602470 +65887919 +66488296 +67456466 +69720767 +70449031 +70473160 +70535921 +74670202 +76837286 +77512682 +77848386 +79065199 +80466289 +81498032 +86883798 +89153217 +90420676 +92090039 +92633094 +93505493 +94912118 +95424561 +96634341 +96794849 +97023027 +97052335 +97510309 +97620466 +97623898 +97624556 +97624734 +97924379 +98624030 +98903851 +99280884 +99442997 +100000000 +100000000 +100025743 +100257520 +100609921 +100838685 +101080977 +101227512 +101250210 +101376006 +101924863 +102228700 +102232264 +102616550 +102624998 +103000000 +103000000 +103000000 +103070019 +103072351 +103164846 +103230899 +103607970 +104493534 +104596453 +105132223 +105235662 +105303081 +106115657 +106623722 +107145887 +107224476 +107413297 +107414793 +107431117 +107845589 +108761740 +109028510 +109063264 +109611710 +110622006 +111625658 +112693362 +112711109 +112744004 +113068208 +114280001 +114848902 +115453029 +116330953 +116709162 +116948336 +117618178 +118910750 +119036341 +119116223 +119504595 +120549939 +121436315 +121484627 +121740362 +122078687 +122084935 +122213685 +126003727 +126660459 +127046347 +127837672 +127878040 +128905489 +132502367 +133400000 +135106409 +136644068 +138742943 +139818659 +143353157 +145825699 +147624426 +147661322 +148091537 +148435878 +148796601 +150000000 +150610962 +154247620 +156277982 +160317709 +160730261 +163039113 +163755733 +164620642 +165628320 +167368737 +169936908 +174968922 +177440451 +177788132 +177935758 +178259850 +183265277 +183277705 +188239958 +189691746 +195445945 +195954037 +197125746 +197226148 +197226148 +197226280 +197237368 +197299065 +197430721 +197456153 +197616022 +197619190 +197619190 +197619190 +197624030 +199600000 +200000000 +200810035 +203182474 +203250629 +205618530 +208581547 +212498157 +217955135 +218055983 +218615274 +220848661 +223360860 +223866352 +229374109 +233375391 +233445021 +234628065 +240722383 +241299438 +244646977 +245204781 +246637145 +247210196 +247237293 +247700679 +251000039 +266665872 +277173167 +281976853 +291472771 +295935325 +297094817 +300093772 +300822669 +304278509 +306685167 +306763214 +308097517 +313285815 +314271584 +316147380 +316914476 +321624382 +326466865 +330742127 +340339941 +340417081 +340922310 +341624605 +342417653 +343734222 +343736822 +347620334 +350501298 +354952691 +356830510 +357849567 +360524775 +366625702 +367289456 +368178331 +373760410 +374410917 +375469867 +376518669 +381263120 +384919390 +385377493 +385500629 +386440554 +388321443 +391087660 +391105694 +396714456 +397178663 +397921363 +397940567 +399168123 +400944493 +407405934 +413801996 +416934572 +424685339 +429144410 +432075956 +432816574 +437621830 +443098286 +444287597 +455976917 +458257808 +464078945 +465409359 +466084377 +466984959 +472976532 +476652900 +478757616 +489240394 +494831058 +495282744 +496562740 +496719173 +497420337 +497432393 +497625262 +497625350 +499489389 +500000000 +500000000 +500000000 +500412330 +500624074 +500954444 +501033989 +501132556 +502251844 +502300231 +502365742 +502580210 +502624954 +503725382 +504101303 +504683670 +507102535 +507236356 +507423329 +507449333 +507449373 +507621786 +509235798 +509766415 +511697133 +512065971 +512621610 +515476511 +515619014 +516425793 +516461389 +517625000 +517703111 +519044358 +520082000 +525042337 +525372401 +527290227 +528015204 +531488042 +532618310 +533517462 +536842986 +538425594 +540700677 +544125690 +545772868 +545778456 +545954517 +545978937 +546890394 +546890394 +546890394 +546890394 +546890394 +546890394 +546890394 +547629794 +548340078 +548606340 +551719342 +552424253 +554651740 +564425881 +568150653 +568163192 +572915210 +586099654 +593799895 +594564135 +596889206 +597625746 +598614966 +607393771 +607724090 +626690294 +627115849 +631048656 +635210245 +638756010 +640942071 +642048577 +642121377 +645079510 +653014581 +658619725 +658852361 +666500221 +668741592 +676699901 +680266470 +695426541 +697439961 +698292896 +700169687 +701407805 +707520898 +709842356 +726170453 +738215807 +760828483 +766842596 +776657131 +784476660 +809142273 +812165326 +816886634 +820025746 +851328895 +862976284 +868469289 +870877150 +872085077 +894599514 +897047887 +903951793 +910342644 +915406660 +922009012 +923691183 +928651575 +939083298 +942823411 +946757501 +964601654 +967820719 +970921601 +983781249 +997620818 +998257168 +999825743 +1000000000 +1000713424 +1000819149 +1000833986 +1001063730 +1001425841 +1001670616 +1001676644 +1002437424 +1005175300 +1006277905 +1008551601 +1008611006 +1008640310 +1009939347 +1012075370 +1014271248 +1018842337 +1032212606 +1032235168 +1034088522 +1037490472 +1043463985 +1045574031 +1047231164 +1047621962 +1053239172 +1055552627 +1057631925 +1059010727 +1062558799 +1062873813 +1068026209 +1073037195 +1074408468 +1075435349 +1084589756 +1087461798 +1087822733 +1093094791 +1094719930 +1097230020 +1099411067 +1100522781 +1103489806 +1112619894 +1115774522 +1117431611 +1122038051 +1123182320 +1144071818 +1144474695 +1145957833 +1155789836 +1157134418 +1162065545 +1162108630 +1166785736 +1171558392 +1178371972 +1178645015 +1187238209 +1190761831 +1206074434 +1212621566 +1222471073 +1230538750 +1232444199 +1252760574 +1257550057 +1257789162 +1271948106 +1272255210 +1291305394 +1294750981 +1300746858 +1312854346 +1313172885 +1313835444 +1319343533 +1320400771 +1328590923 +1340486162 +1346753281 +1354324795 +1373294480 +1382006124 +1382921328 +1401271790 +1401641693 +1405326847 +1426822522 +1442483670 +1465471754 +1467747766 +1481390053 +1492842946 +1498795122 +1500600798 +1501139082 +1501200000 +1537820303 +1544341958 +1545808690 +1560678754 +1562213912 +1579036646 +1584279164 +1588049383 +1595203260 +1602699093 +1605577377 +1624415312 +1624578741 +1630616373 +1652303744 +1686687763 +1690364826 +1733824563 +1739103467 +1769822884 +1773424838 +1803750610 +1807002289 +1808521302 +1822684341 +1828161971 +1835142148 +1838324182 +1845225224 +1853696443 +1898923995 +1905182270 +1913108997 +1959295288 +1967312227 +1967323190 +1970064530 +2005908625 +2007224344 +2007823514 +2010436661 +2015433009 +2043866091 +2062083345 +2062719440 +2068638613 +2073354402 +2085425390 +2087287575 +2097621830 +2126516983 +2132836767 +2139335348 +2141065397 +2143559813 +2162167160 +2166443110 +2185473740 +2192059776 +2209544259 +2241707795 +2252575182 +2256562616 +2270958676 +2273931246 +2293233363 +2319060076 +2338718760 +2340633105 +2342124049 +2342381143 +2349016313 +2399203983 +2452995576 +2491888820 +2492146501 +2530037735 +2532541028 +2534400511 +2555076489 +2568212709 +2576835838 +2579588877 +2586439425 +2586554977 +2666797935 +2671108363 +2689502728 +2706664774 +2742203972 +2752688285 +2761946533 +2798567280 +2832231589 +2839123365 +2862511736 +2865449967 +2868893050 +2920621038 +2961853978 +2963394789 +2973279064 +2983360040 +2999286455 +3009507338 +3027701347 +3044099794 +3045807206 +3046727776 +3068811017 +3111297391 +3114836741 +3140661415 +3141246591 +3143999618 +3174074558 +3183547849 +3184517673 +3202189619 +3235145197 +3240830147 +3244477628 +3258401079 +3259062887 +3325425846 +3342063943 +3360713955 +3361294749 +3362440323 +3388748623 +3396396549 +3402847137 +3409011964 +3431328488 +3460734977 +3486358693 +3502420645 +3504492886 +3504731226 +3515654434 +3520782752 +3525442456 +3534459381 +3577538843 +3592830569 +3660083336 +3684745565 +3698660010 +3734720474 +3807649110 +3815239683 +3841060475 +3854097533 +3857047153 +3859620760 +3860705625 +3866076017 +3903228748 +3914912996 +3927934149 +4033899362 +4067721006 +4072302660 +4095742493 +4113653362 +4142342163 +4259437485 +4269285597 +4272549203 +4292361625 +4295972311 +4303456068 +4366629956 +4501383251 +4502792062 +4506603467 +4542267679 +4549109833 +4557490354 +4559949286 +4579530164 +4579597207 +4598618506 +4692675353 +4743211146 +4749808601 +4767922558 +4779601797 +4803539356 +4823463893 +4842868356 +4907458502 +4940301320 +4940580436 +4955035353 +4988631386 +4993254694 +5005385376 +5005501668 +5005690577 +5005690577 +5006400908 +5006401040 +5006401040 +5006401040 +5006401040 +5006401040 +5006589905 +5016829727 +5018662003 +5021439761 +5047663460 +5060719070 +5097623546 +5100830925 +5114922901 +5122521586 +5172169595 +5181203855 +5183914431 +5204234546 +5250307114 +5266515615 +5295411616 +5332739649 +5341736360 +5383518020 +5396794817 +5399069147 +5421133387 +5477524588 +5495576820 +5505087142 +5505260529 +5505449262 +5505634736 +5505826992 +5506634739 +5506823648 +5508627200 +5534346013 +5585614991 +5611705943 +5643104132 +5647630894 +5729819308 +5766811717 +5777870727 +5805804939 +5807729763 +5817089850 +5828192999 +5865827814 +5902168208 +5915429018 +5922701064 +5926679611 +5927242564 +5953961242 +6008222335 +6043495827 +6108812087 +6119945026 +6192921948 +6235559617 +6287073701 +6357800530 +6361179346 +6361824303 +6379905318 +6545108724 +6570051739 +6625925994 +6647683557 +6707636362 +6708854687 +6734321082 +6773072547 +6777251649 +6954077606 +6961520218 +6977766329 +6995401709 +7036603226 +7060811542 +7174319745 +7190833552 +7195455435 +7212598776 +7238825810 +7283963802 +7341936445 +7395261117 +7406315985 +7493027773 +7526077830 +7555735877 +7594177636 +7707423908 +7727136525 +7786285385 +7860850235 +7907549576 +8009081322 +8012919654 +8060329280 +8141162421 +8193054356 +8208256175 +8247425397 +8268167106 +8284335119 +8368432191 +8387367396 +8413284648 +8490580319 +8561276755 +8573062334 +8575953329 +8631314979 +8677497309 +8749648203 +8780532788 +8858762849 +8977645645 +8988304031 +9028150574 +9095700179 +9121677991 +9121743535 +9308804645 +9525183073 +9665378771 +10000033939 +10001826841 +10010883882 +10023790644 +10062447266 +10093542993 +10104234572 +10137954961 +10142080850 +10175696117 +10193697827 +10201810681 +10206841039 +10274361569 +10286953804 +10297450331 +10301698801 +10314134659 +10331029925 +10332251008 +10417664878 +10440076907 +10473829979 +10476196439 +10495223149 +10573027034 +10716764409 +10731313434 +10754655804 +10857952418 +11061408070 +11083547903 +11104025578 +11273564695 +11301534858 +11313808040 +11325084428 +11480492451 +11536676262 +11625848783 +11682509253 +11744806827 +11776778617 +11850295212 +11859791909 +11970400153 +12037639443 +12060992506 +12202381821 +12297455276 +12327417890 +12363226671 +12365615288 +12381954972 +12395137882 +12422119858 +12457455168 +12625637976 +12655342922 +12674172223 +12722930793 +12771028015 +12821769312 +12981370864 +13051110200 +13102218292 +13118010042 +13216000539 +13456933998 +13574730253 +13819890288 +13905752028 +14119689781 +14476153680 +14533528790 +14804902888 +14805657811 +14986194862 +15138493118 +15160177348 +15245732530 +15353472193 +15512924144 +15525042189 +15645243685 +15966985610 +16022950283 +16028088873 +16062989388 +16119110438 +16259313487 +16350597558 +16429803195 +16605982476 +17012014811 +17154042465 +17251914497 +17711546284 +17853779131 +18026761778 +18083506410 +18137202111 +18275420906 +18497395549 +19002597457 +19359460156 +19378143795 +19503536547 +19640603255 +20027820181 +20156195509 +20369775749 +20419669518 +20497620862 +20559133742 +20684441149 +20736188560 +20755159837 +20825937233 +21011982349 +21269084948 +21274559773 +21284271597 +21382320648 +21504128708 +21578046232 +21658425894 +21927758500 +22037975299 +22094139443 +22230526013 +22836315543 +22935323440 +23086771822 +23332897048 +23346286872 +23410106289 +23836128105 +25130034791 +25180782550 +25207035311 +25260930066 +25539160274 +26132088633 +26365745442 +26563959405 +26585723383 +26641381084 +26726358705 +27881594320 +28101403275 +28159365230 +28679053639 +28772028944 +28876279824 +28889034933 +28893162406 +29436678010 +29681999080 +29755512977 +29780998084 +29942873966 +30049710114 +30471557042 +30506174005 +30648988302 +30895048883 +30901318724 +30945183151 +31019794875 +31044398950 +31236944012 +31442900570 +31761336266 +32053366269 +32201955613 +32453689363 +32758869134 +32780750451 +33635486176 +33807992913 +34506120042 +34533711042 +34669757721 +34973360583 +35249722947 +35392451029 +35439518169 +35567330507 +36333543923 +36375194089 +36732618442 +36763175545 +36821812033 +37093780787 +37172350432 +37679092194 +37755849359 +37909806327 +37932825619 +38412037746 +38455975003 +38491365864 +38610581044 +38715417450 +38755787273 +40406361751 +40416256640 +40459562385 +40599249445 +41226879055 +41263458389 +42014878868 +42046187030 +42119698538 +42724198820 +43048912307 +43696716372 +43851653916 +43883145909 +44424150430 +44970433517 +45200111572 +45449551579 +45582479317 +46096646397 +46171889046 +46511690352 +46942688890 +47098749612 +47362516149 +47532941355 +48239052081 +48740181896 +50543029862 +51057597291 +51093675235 +51363919295 +51426670597 +51498021487 +51618797986 +51894695967 +51989720521 +52419779401 +52746402628 +54181642493 +55853918006 +56403104253 +56613334998 +56658474015 +56881972951 +56956829509 +57436266933 +57669488002 +58121060645 +58610815355 +58718251619 +58740242561 +59327791580 +59794233350 +60376629368 +60737966607 +61022927501 +61488192179 +62559153870 +63737270819 +64680248179 +64692695532 +64708952944 +64761704205 +65156104703 +65583351883 +65842383704 +66173843155 +67173559142 +67389473956 +67414232189 +67629366480 +67906613271 +69181849476 +70690441386 +70806200266 +71538558467 +73254481881 +73744493698 +73924633882 +74597368355 +75067476136 +75300883750 +75376430684 +75440360129 +76305536831 +76360000535 +76848546548 +76999055527 +77524591324 +77998664841 +78134828598 +78242900629 +78368540603 +79064114458 +79828373161 +79892456722 +79951438824 +81068435024 +81563015911 +81958617748 +82617644325 +82858038172 +83388550077 +83736484761 +83777758895 +83787742296 +84727971052 +85477520224 +86226544069 +86565466794 +86786669750 +87143158212 +87681694224 +88742128596 +88849236744 +90570918088 +91738653832 +91856338057 +92117088534 +92368115005 +93154145932 +95117508695 +95430360763 +97497796080 +97965445233 +98500201513 +100002251543 +100124896006 +100980617482 +101110103171 +101448568036 +101747256080 +101951287458 +102389085054 +103520598372 +103838707406 +105611356519 +107322115355 +107355973557 +107651232857 +107845306226 +107928631903 +108640433339 +108851896469 +108868940600 +109870574167 +110503354467 +115701836754 +115935409241 +116225897748 +116315500671 +116419626218 +116692475134 +116891017787 +117606385727 +118423871629 +118437973249 +118632640412 +118707045047 +119447489391 +120419552566 +120445856915 +121275518304 +121347510881 +122448430926 +122680092731 +122691741048 +122773196807 +123046192099 +123932352700 +124124412269 +124466900441 +124497618310 +125759890444 +127244136823 +128498053663 +129213055409 +130379542594 +131488285000 +131777077775 +132495587187 +136155897212 +136264384696 +136865597655 +138493509592 +138729159296 +139246820627 +140030737959 +140154026602 +140793121550 +141588606874 +143477686641 +144259481021 +144769697700 +145048081515 +145471448917 +146159307276 +148023434212 +150646234077 +150990903879 +151827719039 +152017274751 +155395940655 +155819572975 +156188730232 +156701987685 +156770681542 +156830050368 +157363022784 +157397795975 +158285748746 +159047643241 +159099349162 +160190415635 +161144135898 +162183694155 +163290152906 +164062329723 +164171388354 +164257660708 +165160631845 +165425486277 +166230845878 +168261067322 +169124857216 +169901452799 +170514030090 +173785560841 +174768816778 +175209148928 +177792898579 +177859998667 +182631650350 +183491319493 +184022723939 +185721071907 +187385838025 +188181775959 +188399585263 +188966518017 +189420472746 +189897551269 +190601514677 +190952015081 +191324711178 +192650066636 +194729861615 +195499865671 +198870387164 +199193959974 +200009081675 +200414405326 +200861864639 +201173339755 +201581393855 +202484918830 +204276853130 +209480669485 +211285430613 +215103827469 +215552282283 +220457266096 +221501835551 +222235025833 +224762055997 +225101040553 +226618495961 +227757047018 +230206986339 +230799774550 +231314162581 +233635612528 +233765375302 +235830381736 +236509252810 +237244414158 +239303468804 +243295285674 +244485397841 +245443412938 +246647767653 +247959713760 +248130386655 +252249811901 +254508056659 +256506358884 +256806893472 +257408257735 +258003544654 +259449614310 +260611040589 +262518180117 +263317376715 +263445027395 +264324253435 +265342954220 +265433241245 +266400018079 +267327138657 +268697291304 +270568924783 +271942513406 +272148243673 +274128587892 +276033019038 +276797894091 +277999467527 +278752939545 +279358143398 +279399369865 +280551725854 +281378895760 +283214877277 +283379867269 +283689643618 +284927303171 +286912977002 +287807735376 +292137416965 +293023987700 +293238876990 +293865163806 +294338468147 +294386452520 +295337482554 +296829237385 +296970592431 +303546080640 +306360486151 +307346397947 +307533350478 +308088866751 +308835047330 +311286195318 +313548566009 +314005881820 +314650772794 +317846375987 +318428120386 +319034806839 +327188466156 +327482558930 +328398820066 +328489526185 +329868760079 +330488707117 +332258617416 +337264175807 +342758712955 +344746395150 +346834795177 +349892470613 +350755812150 +352217104242 +354266180810 +355041364568 +358221703479 +358815870038 +359092532403 +360611052126 +369492586994 +370161623457 +371294192712 +375106443202 +379951534327 +381111795688 +383341646941 +385838343190 +386759362065 +386813244977 +389231871367 +391475562498 +392141854226 +393612145616 +394749552839 +396435834415 +397311536557 +398550120289 +399108161505 +401506917399 +405132997666 +407773623183 +407857010642 +408890316943 +410769242936 +413205991613 +413436405205 +413710862256 +417201219245 +418318751381 +419212462590 +420826767965 +421064776219 +423860985814 +426044227736 +428131521084 +431206278328 +435538751686 +437590601745 +448159504747 +449909279041 +456002233589 +460799806976 +461948969105 +462093112878 +465614953659 +465731483948 +470877968051 +475087547994 +475835246300 +476767312495 +478303267912 +485499675015 +486580658158 +492922713648 +495195134516 +495357114253 +500547381872 +500596183796 +504167539419 +505317479725 +506108599440 +509734839293 +510672042186 +510946167440 +513446525914 +514156590931 +514798273672 +514859454894 +520002711209 +520217253592 +520393317273 +520661052453 +520959313694 +523243202837 +525914737845 +526097070311 +527515664605 +527541239362 +528692169102 +530163163287 +530173229222 +530362850103 +532339837747 +533262360730 +535237262100 +537816805485 +542276074299 +542914557302 +545733300588 +547044467935 +548718392107 +551271747390 +573284904357 +576092477588 +579978033195 +580750797719 +582161955806 +586260656042 +591634337324 +594939021405 +595378103564 +596053482764 +600951285655 +602648007357 +604022648302 +604405292520 +605706474929 +613683439988 +615786335049 +618136497166 +618590451318 +620466339003 +622398325515 +628638469617 +634699462789 +635554403735 +637984726897 +640165680899 +640183852072 +642448592379 +643815318534 +644146412440 +647805776992 +648268688767 +651722061473 +677997464709 +696091472094 +697566995100 +698633952485 +701093077461 +702749267347 +706543961140 +707528931409 +709940472678 +711587645304 +712979301322 +713218865614 +716638461532 +720541263126 +724206506715 +726593833513 +727120076799 +729378049534 +731418885462 +733872025204 +735674806709 +739586153236 +742205005946 +744813796439 +747895643148 +758274322503 +763611243409 +768323099140 +769710838221 +773646119814 +781871810962 +787401476042 +801327963266 +809145452687 +810414047483 +811952735421 +813971948955 +814135569319 +814734789631 +815707002454 +826448203031 +828147045403 +832075518805 +832230831789 +838263643813 +842842897117 +852752082878 +859164041381 +861612406503 +866246026535 +877629899833 +895147199129 +896707526826 +899364380926 +924751448855 +924775807784 +925978946887 +933357944250 +935320506111 +935768166773 +936111364447 +939266141586 +944333314660 +946680971295 +948779349995 +951702355461 +956162534261 +961744285530 +970437060329 +975860780021 +990081619861 +1002096877670 +1002721079957 +1008902523996 +1012932161709 +1014837220166 +1019147419372 +1027799279335 +1035385601028 +1036679908402 +1038306862038 +1042977399630 +1043857640144 +1053599166145 +1058831066281 +1062455585779 +1069876313136 +1084553604545 +1088702129707 +1089448464031 +1090583092959 +1091341973674 +1100678509810 +1103598243324 +1105407774844 +1108139907570 +1108390872015 +1110245174594 +1111466830953 +1111876970145 +1111924428460 +1115220904935 +1117142495686 +1121324932459 +1123850881327 +1132351217231 +1154986442787 +1155973510209 +1157870029385 +1161184465044 +1167539167495 +1176171106238 +1178302678850 +1179701909886 +1180187184702 +1182537055173 +1184452480083 +1198995830704 +1201470968087 +1202342502716 +1203872994193 +1205927040405 +1215663779345 +1221910101003 +1222896391352 +1222929944158 +1223513210665 +1240746735820 +1242688799830 +1248974512783 +1264540834444 +1265300911448 +1266228342137 +1267832176477 +1268120112068 +1268420081016 +1283654728932 +1287022767413 +1297361846417 +1313371123155 +1331265277802 +1341849281813 +1355010935164 +1357229927512 +1358661990357 +1359008507383 +1365014832129 +1371571440660 +1373520626087 +1377865519182 +1382725996265 +1393530857958 +1410728024685 +1425957256291 +1426754039186 +1436334877866 +1443883972608 +1448923155903 +1455575747622 +1457017046664 +1462364025508 +1466290455083 +1471295325796 +1487221729674 +1498094368308 +1513511418970 +1519955370351 +1529020356200 +1530337425580 +1534378993812 +1536105721591 +1549024352184 +1549131913250 +1557013771808 +1566681704349 +1569827230828 +1573039813770 +1574297205268 +1575770577904 +1581269015957 +1591257594860 +1593206021622 +1610320331720 +1611569193469 +1618445651654 +1630551306049 +1657749877994 +1665466184445 +1668815241422 +1671684832337 +1672186241423 +1675296094686 +1690510807390 +1697253551352 +1703801489696 +1711298089082 +1761754506039 +1769132691906 +1771734493320 +1797773173306 +1802669955700 +1821851618882 +1828377461571 +1835091391390 +1843457989908 +1869471443836 +1887383962419 +1888612747330 +1891798507378 +1905663515264 +1909306650875 +1949324649919 +1958251550190 +1961011348197 +1984686368781 +2022381891369 +2039225715195 +2070917753613 +2080497735669 +2081234875837 +2088548981239 +2100710744297 +2104066198082 +2106335600600 +2108318475629 +2108515787747 +2110733189934 +2118696330405 +2124422082074 +2127149862331 +2129987566582 +2130045224469 +2130348779972 +2132880719930 +2138846240432 +2155781419051 +2163836386756 +2204327233148 +2209186114600 +2211273115878 +2213751347783 +2228013239238 +2230455947971 +2262704684807 +2263326560884 +2273335314661 +2284810128793 +2291231629358 +2308573849411 +2370921051787 +2388758849424 +2395459336060 +2414038379562 +2420554753212 +2432652958722 +2434430554874 +2454600213786 +2470540624340 +2474854884684 +2478440946692 +2483389985062 +2490953995995 +2492850753164 +2526248919724 +2528983157915 +2539178011650 +2540449429286 +2545967508081 +2563744451020 +2585158437170 +2589326850320 +2595457117612 +2622906870830 +2636626261941 +2644859030393 +2665570420990 +2681818823480 +2701165602316 +2720394114778 +2727132528019 +2733642227724 +2734714860798 +2754239329576 +2772986518524 +2802286013045 +2807784524271 +2847054476440 +2847905940158 +2851305496636 +2875790032159 +2885551796048 +2889912582034 +2907511079862 +2910929252888 +2930644427541 +2931178210195 +2939956839483 +2943798666003 +2971539488535 +2972877883467 +2992264998318 +2996635675787 +3006826252864 +3060254752072 +3068252623157 +3074537110444 +3084018572905 +3085589837412 +3109258203177 +3121869316899 +3130540965062 +3151455838728 +3156812236136 +3159218682860 +3181410587466 +3194918409134 +3197164400658 +3205096169109 +3212035146554 +3227648050616 +3233656903291 +3239937249577 +3251373905068 +3257436485027 +3259051365784 +3273222196127 +3288931839421 +3302278041729 +3312523712926 +3319302941208 +3346429071419 +3346769049295 +3389101395468 +3401444294704 +3433864680270 +3447933587633 +3449736675062 +3454326043767 +3473654362804 +3581744862376 +3602081620697 +3633430459227 +3653578834649 +3673118677505 +3678920535733 +3710448455762 +3719225384855 +3726355626576 +3744728191746 +3765864787072 +3768061285463 +3775915469648 +3789127372692 +3815463923919 +3827523755071 +3831057693409 +3840258282139 +3864986527307 +3868622815530 +3891885408728 +3893652933231 +3920563270509 +3928659740104 +3934569920014 +3945857662557 +3963442063151 +3985171394224 +3989293833292 +3989689549098 +3994377884903 +4002425205172 +4010235351886 +4018800527188 +4090929258798 +4112056644392 +4118544445195 +4146440165563 +4161768411916 +4231050879575 +4239927041231 +4290269178843 +4292506047793 +4306424078369 +4331376158295 +4343704937539 +4360681260808 +4391766680585 +4410938188313 +4424735098799 +4425398054308 +4442848766368 +4519272073227 +4523515747284 +4545459324134 +4565221336398 +4609681074555 +4620419763968 +4625838628241 +4642656745035 +4643939762419 +4647173109584 +4719860702072 +4797052678428 +4803401496110 +4830944117381 +4851730258812 +4860715205655 +4870872723908 +4880943806128 +4903496636302 +4906873688593 +4917689075988 +4922154993819 +4975601748411 +4997229164240 +5007845036594 +5007847962996 +5011900894961 +5014501903991 +5023405154253 +5038684394734 +5041645942572 +5052306838466 +5073045918573 +5126949818291 +5147848753944 +5168256331471 +5187386849017 +5208987141790 +5239187070708 +5243452039720 +5251774457879 +5272741953694 +5277696551287 +5306820006882 +5310586222397 +5322329904842 +5353211721226 +5354916904868 +5365270392915 +5375983232842 +5411653563759 +5433015425802 +5452421177310 +5501020844678 +5530137563626 +5584791789410 +5586808807311 +5671680717522 +5681796011247 +5735063435950 +5753215012797 +5803397537546 +5825747978564 +5838857509208 +5891382275491 +5940914635774 +5945221183115 +5982191448874 +5985547937980 +6001187486126 +6004170243657 +6006595313861 +6037513372055 +6061858213194 +6069842249361 +6091917990723 +6103969032335 +6354604718717 +6363867458095 +6458265901894 +6462806991812 +6486180807221 +6497818582394 +6513115921848 +6544867323745 +6567583604016 +6587320538189 +6649412990088 +6675436149309 +6762487404254 +6822862112299 +6886045598604 +6907172453979 +7002729789983 +7024251933006 +7100777506783 +7111182544839 +7127786978748 +7147367653235 +7183688230049 +7211492408617 +7237003993001 +7239558367362 +7322918356285 +7353805429278 +7369829218926 +7418711255310 +7459816909815 +7481144294403 +7512590604359 +7555197059454 +7630462255675 +7655449241557 +7680734432681 +7691788100976 +7730817674920 +7781087680357 +7849289629914 +7906750150420 +7920402999349 +7922993952830 +7969780394253 +7994306279679 +8002994231434 +8005198467513 +8046000988760 +8179013183878 +8186651526118 +8215009561350 +8221747675307 +8244890021204 +8254098468688 +8263983603499 +8268652533988 +8278258914306 +8291876993500 +8383997519204 +8395993834186 +8574568065517 +8685842093257 +8716074802133 +8766721903256 +8781564027163 +8823775038736 +8893429952214 +8923923123872 +8955524834810 +9095081583023 +9103797903084 +9107162823637 +9142972015174 +9184715518183 +9196775120753 +9214215969712 +9235387380786 +9388043047445 +9584784938495 +9768160905794 +9769327359837 +9843857474078 +9864253394643 +9923668059179 +9943691370362 +9959681312986 +9998527123598 +10024903056907 +10057208780963 +10081176486240 +10106114602262 +10133875950499 +10146273676448 +10169379380988 +10234158942534 +10294127533453 +10324951186348 +10344950015104 +10345088517256 +10364416080816 +10431916639629 +10441423719763 +10547042820290 +10648587982528 +10722247243007 +10732543701060 +10795104419870 +10965098486837 +10994789210770 +11039689757553 +11099179169413 +11118372242960 +11241884568199 +11345855149219 +11383459822195 +11398477513327 +11495307691233 +11586189091478 +11628475621507 +11748306138602 +11796855492777 +11813586308455 +11826152696548 +11940850778268 +12010423971954 +12171456441522 +12229115923557 +12383791009354 +12473831580008 +12590056964801 +12603473794177 +12768876707037 +12808729278487 +12858757395462 +12901010577203 +12914573045771 +13035474222521 +13140622043219 +13145118189548 +13248128527415 +13259503360129 +13366686605793 +13751768279359 +13776245864767 +13928678261260 +14034252970160 +14035438374996 +14078133277013 +14126598956174 +14169802258166 +14278617321444 +14591077301431 +14597243119372 +14633148218886 +14765114041019 +14975879453899 +15001876644068 +15046238316767 +15060973788698 +15396145547106 +15495161009753 +15641724037702 +15680694844877 +15909981951624 +15932614550346 +15999899974033 +16146565370552 +16212456828032 +16259533930611 +16292463002055 +16295762999484 +16334718444739 +16406610298479 +16433866256837 +16515331452488 +16580593323767 +17008738046634 +17090527756683 +17093694809208 +17349395330187 +17363896543728 +17426265570609 +17454808974989 +17521390277458 +17595087717173 +17699891837444 +17750236611402 +17835047847578 +18010556491355 +18169245932897 +18226845677602 +18387881776609 +18434082949772 +18483866033648 +18488161361436 +18524529426270 +18607749349764 +18633371428001 +18673701869253 +18805090568523 +18807777483377 +19081145754783 +19082106508322 +19086796420235 +19219699318509 +19293026221244 +19388867527055 +19483281954695 +19502067141825 +19561444861263 +19653445790449 +19784891084316 +20072305649281 +20118333462077 +20272137005170 +20347695927606 +20355007729311 +20387074111952 +20497775819813 +20763669576250 +20797408112833 +20801515130390 +20887098503426 +20949968319457 +20954215265712 +21046576310079 +21248866693564 +21283720594337 +21331454277029 +21337038326883 +21369010814940 +21429447057554 +21463867671278 +21539004203004 +21636659826711 +21764680991706 +21798614845705 +21806209677029 +21827961662344 +21964409079484 +22002886417707 +22138846987813 +22159217994844 +22201677157591 +22284992026012 +22351411692977 +22438129122682 +22460043845751 +22637520978820 +22638636983298 +22773742712479 +22845848695932 +22846357887730 +22926819396967 +22954929429909 +22990163251540 +22991322423540 +23039114447608 +23108690973052 +23207626880092 +23299286184895 +23446754149429 +23611599614995 +23833718680000 +23850432225194 +23990094055417 +24117948051449 +24147534375179 +24178696458856 +24267302347766 +24322861209215 +24483558968885 +24575502658708 +24688127873247 +24838994564812 +24911225949163 +24927670207580 +24969134375782 +25437012545190 +25729949054145 +25850368884858 +25902266906358 +25948530003537 +26263505351360 +26413621235305 +26419477407821 +26427815763119 +26530751303777 +26563854840530 +26965220420854 +27246866472070 +27354610145901 +27421400948156 +27444170474144 +27551476326836 +27576097985201 +27660181380349 +27756346208495 +27760593517068 +27769942780089 +27967464333113 +28135058153386 +28144580867047 +28164504216186 +28188062531292 +28236288124967 +28271427162612 +28289958871469 +28311339929384 +28317103634705 +28354916359953 +28372962536580 +28406305878224 +28412419351276 +28506007004489 +28535178859933 +28692721650377 +29178177520957 +29230621851622 +29311742898993 +29475026965666 +29548791252655 +29823176119932 +29973448643876 +30122802759415 +30181325601197 +30228757186018 +30308042485227 +30441490566271 +30625890139190 +30700246779200 +30850164623329 +30872523284682 +30904888260986 +31145363432749 +31282259103816 +31432004963044 +31660847229251 +31829364518210 +31877024929349 +31957180214446 +31964327357713 +32110994695471 +32113025974494 +32114658506800 +32118867243425 +32124135899176 +32124921914061 +32125739604889 +32130420871909 +32131593807669 +32134852593809 +32136014548641 +32142022342405 +32151772381681 +32159075789321 +32171950188469 +32177775222956 +32181031175618 +32215030806375 +32221471147728 +32239410500332 +32245377078446 +32252776824722 +32272517772915 +32344623180508 +32431561189012 +32492152956117 +32525143956857 +32578674509958 +32605267125021 +32694742838666 +32752564626995 +33032529635783 +33067769087757 +33561128419070 +33863610663360 +33893048444431 +34094998908587 +34411387078058 +34729173755157 +34974104633399 +35010047778434 +35013470690773 +35023554392404 +35024821321820 +35031695623233 +35064068947361 +35075508438201 +35094706123313 +35104497888983 +35119623237583 +35171833054264 +35579356341043 +35580540670111 +35719387593268 +35775988504284 +35888490677462 +35949605332719 +35965754842350 +35971025161578 +36081141695191 +36113440967660 +36284163647213 +36502364254840 +36620963746877 +36675610554935 +36748240019307 +36837382654086 +37099352345748 +37351498960510 +37511916672940 +38215680859493 +38228463521566 +38255553531993 +38413453958642 +38704383673896 +38798371953187 +38822048380308 +39039485131162 +39408798476202 +39934331449133 +40108071256930 +40175908906550 +40316016316313 +40373373320846 +40407391213013 +40911686260868 +41477406651574 +41764111352922 +41843303362307 +42000125596639 +42134707478398 +42327003215637 +42534577079033 +42855021542256 +43081924757946 +43189677084026 +43618383750128 +43741324343485 +44028688899118 +44053472985208 +44465587564376 +44493275860677 +44575288150090 +44581568489238 +44587176570272 +44819806651637 +44897700877507 +45497362558714 +45871519069003 +46289836111659 +46344868654263 +46421669292882 +46424547656014 +46496709778549 +46624507537717 +47146421230353 +47298972548174 +48088517484196 +48127469505482 +48346201993952 +49241515478591 +49361018334471 +49495711320428 +49550367386432 +49565582743815 +49687074939503 +49999906543209 +50000000000000 +50000000000000 +50000106630058 +50000337393995 +50006996286899 +50010593368183 +50039297497365 +50058311777181 +50099648350997 +50121787543637 +50428173388468 +50785923423179 +50924277399281 +51461186712937 +51613463696352 +51821307581578 +52163672815765 +52186008455721 +52192028614357 +52287381596278 +52521167119823 +52574523710158 +52672458276396 +52804150267636 +53069438869761 +53420006685525 +53487713930786 +53800543308113 +53826992703929 +54024493509490 +54337311314914 +54887012418993 +54901897553855 +55227614875369 +55228599920001 +55524304104656 +55877163945938 +55931629388075 +56337210599311 +56343378039530 +56371414093476 +56770746140763 +57036014695640 +57411476446828 +57591766903156 +57639038789953 +58077963325046 +58125719417731 +58151535988236 +58495298334169 +58672610426914 +59237705210131 +59298262140915 +59519641402838 +59631146040043 +60223264077831 +60364168943206 +60426036428227 +60661075871207 +60689245854036 +60866252099702 +60945585426179 +60956808355665 +61930640708589 +62061601639436 +62234124269205 +62243043607799 +62569005106546 +62732994327293 +62805624875144 +63163980006292 +63174145980378 +63333506894818 +64175744606748 +64249465998446 +64328596815617 +64328655986831 +64329498883566 +64372570992762 +64550272376622 +64606076581686 +64968482197256 +65765735341742 +66051038895212 +66479529512465 +66718083708209 +66741511006189 +67095062349663 +67431015997117 +67456548948609 +67606754148021 +68393047347237 +69071328982290 +69174369087661 +69181749385449 +69277278118852 +69321516629824 +69382565518506 +69502760172144 +69818576461956 +69903834130025 +70019238278444 +70020758635779 +70022408630916 +70022667538006 +70023046591689 +70023990860835 +70024942523372 +70025328553301 +70025890876285 +70026745865418 +70028060031468 +70028686954959 +70029144109562 +70029432493234 +70029517899411 +70032542305696 +70038175911360 +70039463406061 +70044600421852 +70044911919558 +70053716693439 +70066245367167 +70189151364856 +70216158793643 +70233652198178 +70266544438145 +70308652345002 +70356129987956 +70502118999158 +70588973570551 +70676678899417 +70707573083215 +70724839070648 +70739720775539 +70740113610310 +70744799431876 +70850693571020 +70856850969228 +70961177672030 +70964170251274 +71104638695344 +71127936500591 +71233804334119 +71497798654021 +71540208858243 +71606595177636 +71624604381104 +71821465793254 +72635299340538 +72796726523418 +72860332258242 +72867187067984 +73010429509244 +73067096648391 +73502527004769 +73548916086020 +73822070202199 +74008203416928 +74009887611183 +74398773861300 +74556629896383 +74692372306901 +74749105076196 +75122028642077 +105408513666370 diff --git a/lambda-calcul/rust/proptest-regressions/ast.txt b/lambda-calcul/rust/proptest-regressions/ast.txt new file mode 100644 index 0000000..7a8c8d1 --- /dev/null +++ b/lambda-calcul/rust/proptest-regressions/ast.txt @@ -0,0 +1,7 @@ +# Seeds for failure cases proptest has generated in the past. It is +# automatically read and these particular cases re-run before any +# novel cases are generated. +# +# It is recommended to check this file in to source control so that +# everyone who runs the test benefits from these saved cases. +cc 5ce217238e9cf11ab2c5369b545fd374a630a943184d4b61579b65aa4d8f49b8 # shrinks to mut atoms = [Sym("ꧠ"), Sym("ቊ")] diff --git a/lambda-calcul/rust/proptest-regressions/lambda.txt b/lambda-calcul/rust/proptest-regressions/lambda.txt new file mode 100644 index 0000000..2867930 --- /dev/null +++ b/lambda-calcul/rust/proptest-regressions/lambda.txt @@ -0,0 +1,7 @@ +# Seeds for failure cases proptest has generated in the past. It is +# automatically read and these particular cases re-run before any +# novel cases are generated. +# +# It is recommended to check this file in to source control so that +# everyone who runs the test benefits from these saved cases. +cc 1589680cd328dc53046b4c3d6dd3956c643d75b4a8cdca25b69acfc4b5e80070 # shrinks to i = 0 diff --git a/lambda-calcul/rust/proptest-regressions/parser.txt b/lambda-calcul/rust/proptest-regressions/parser.txt new file mode 100644 index 0000000..cd13f63 --- /dev/null +++ b/lambda-calcul/rust/proptest-regressions/parser.txt @@ -0,0 +1,7 @@ +# Seeds for failure cases proptest has generated in the past. It is +# automatically read and these particular cases re-run before any +# novel cases are generated. +# +# It is recommended to check this file in to source control so that +# everyone who runs the test benefits from these saved cases. +cc 369f514eb0f4e92e4809a33e1af32452801757a413be00426c99ba26bead4fa9 # shrinks to values = [Sym(" ")] diff --git a/rust/sample/test.txt b/lambda-calcul/rust/sample/test.txt index 76dc68a..76dc68a 100644 --- a/rust/sample/test.txt +++ b/lambda-calcul/rust/sample/test.txt diff --git a/rust/sample/test01/input b/lambda-calcul/rust/sample/test01/input index 48082f7..48082f7 100644 --- a/rust/sample/test01/input +++ b/lambda-calcul/rust/sample/test01/input diff --git a/rust/sample/test01/output b/lambda-calcul/rust/sample/test01/output index 48082f7..48082f7 100644 --- a/rust/sample/test01/output +++ b/lambda-calcul/rust/sample/test01/output diff --git a/rust/sample/test02/input b/lambda-calcul/rust/sample/test02/input index 81a0443..81a0443 100644 --- a/rust/sample/test02/input +++ b/lambda-calcul/rust/sample/test02/input diff --git a/rust/sample/test02/output b/lambda-calcul/rust/sample/test02/output index c61e10e..c61e10e 100644 --- a/rust/sample/test02/output +++ b/lambda-calcul/rust/sample/test02/output diff --git a/rust/sample/test03/input b/lambda-calcul/rust/sample/test03/input index 6cff466..6cff466 100644 --- a/rust/sample/test03/input +++ b/lambda-calcul/rust/sample/test03/input diff --git a/rust/sample/test03/output b/lambda-calcul/rust/sample/test03/output index fd56297..fd56297 100644 --- a/rust/sample/test03/output +++ b/lambda-calcul/rust/sample/test03/output diff --git a/rust/sample/test_bool.txt b/lambda-calcul/rust/sample/test_bool.txt index a1b1309..a1b1309 100644 --- a/rust/sample/test_bool.txt +++ b/lambda-calcul/rust/sample/test_bool.txt diff --git a/rust/sample/test_full.txt b/lambda-calcul/rust/sample/test_full.txt index ece76b8..ece76b8 100644 --- a/rust/sample/test_full.txt +++ b/lambda-calcul/rust/sample/test_full.txt diff --git a/rust/sample/test_let.txt b/lambda-calcul/rust/sample/test_let.txt index 6027cd0..6027cd0 100644 --- a/rust/sample/test_let.txt +++ b/lambda-calcul/rust/sample/test_let.txt diff --git a/rust/sample/test_nat.txt b/lambda-calcul/rust/sample/test_nat.txt index 81a6e9d..81a6e9d 100644 --- a/rust/sample/test_nat.txt +++ b/lambda-calcul/rust/sample/test_nat.txt diff --git a/rust/sample/test_normal.txt b/lambda-calcul/rust/sample/test_normal.txt index 00abde9..00abde9 100644 --- a/rust/sample/test_normal.txt +++ b/lambda-calcul/rust/sample/test_normal.txt diff --git a/rust/src/ast.rs b/lambda-calcul/rust/src/ast.rs index d0f1d6f..d0f1d6f 100644 --- a/rust/src/ast.rs +++ b/lambda-calcul/rust/src/ast.rs diff --git a/rust/src/io.rs b/lambda-calcul/rust/src/io.rs index 8c628ba..8c628ba 100644 --- a/rust/src/io.rs +++ b/lambda-calcul/rust/src/io.rs diff --git a/rust/src/lambda.rs b/lambda-calcul/rust/src/lambda.rs index a73ca34..a73ca34 100644 --- a/rust/src/lambda.rs +++ b/lambda-calcul/rust/src/lambda.rs diff --git a/rust/src/lib.rs b/lambda-calcul/rust/src/lib.rs index a8cf18e..a8cf18e 100644 --- a/rust/src/lib.rs +++ b/lambda-calcul/rust/src/lib.rs diff --git a/rust/src/main.rs b/lambda-calcul/rust/src/main.rs index 8d52c46..8d52c46 100644 --- a/rust/src/main.rs +++ b/lambda-calcul/rust/src/main.rs diff --git a/rust/src/parser.rs b/lambda-calcul/rust/src/parser.rs index 52aad5a..52aad5a 100644 --- a/rust/src/parser.rs +++ b/lambda-calcul/rust/src/parser.rs diff --git a/rust/src/tester.rs b/lambda-calcul/rust/src/tester.rs index eb66d4e..eb66d4e 100644 --- a/rust/src/tester.rs +++ b/lambda-calcul/rust/src/tester.rs diff --git a/rust/src/web.rs b/lambda-calcul/rust/src/web.rs index 3f8f056..3f8f056 100644 --- a/rust/src/web.rs +++ b/lambda-calcul/rust/src/web.rs diff --git a/rust/templates/leaderboard.html b/lambda-calcul/rust/templates/leaderboard.html index 82992d1..82992d1 100644 --- a/rust/templates/leaderboard.html +++ b/lambda-calcul/rust/templates/leaderboard.html diff --git a/rust/tests/interpret_test.rs b/lambda-calcul/rust/tests/interpret_test.rs index 16e7fb7..16e7fb7 100644 --- a/rust/tests/interpret_test.rs +++ b/lambda-calcul/rust/tests/interpret_test.rs diff --git a/support/2024-10-10.md b/lambda-calcul/support/2024-10-10.md index 390ff10..390ff10 100644 --- a/support/2024-10-10.md +++ b/lambda-calcul/support/2024-10-10.md diff --git a/support/2024-10-10.pdf b/lambda-calcul/support/2024-10-10.pdf Binary files differindex 68a3c7b..68a3c7b 100644 --- a/support/2024-10-10.pdf +++ b/lambda-calcul/support/2024-10-10.pdf diff --git a/support/Makefile b/lambda-calcul/support/Makefile index 2a45ef1..2a45ef1 100644 --- a/support/Makefile +++ b/lambda-calcul/support/Makefile |
