rbx.cp 0.5.73__py3-none-any.whl → 0.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. rbx/annotations.py +21 -1
  2. rbx/box/cd.py +11 -1
  3. rbx/box/checkers.py +9 -1
  4. rbx/box/cli.py +59 -46
  5. rbx/box/code.py +142 -3
  6. rbx/box/contest/build_contest_statements.py +44 -34
  7. rbx/box/contest/contest_package.py +4 -7
  8. rbx/box/contest/main.py +7 -58
  9. rbx/box/contest/schema.py +52 -8
  10. rbx/box/contest/statements.py +53 -25
  11. rbx/box/creation.py +3 -36
  12. rbx/box/environment.py +21 -9
  13. rbx/box/fields.py +35 -0
  14. rbx/box/lang.py +27 -0
  15. rbx/box/linting.py +26 -0
  16. rbx/box/package.py +4 -35
  17. rbx/box/packaging/boca/packager.py +48 -5
  18. rbx/box/packaging/contest_main.py +13 -0
  19. rbx/box/packaging/main.py +13 -2
  20. rbx/box/packaging/packager.py +4 -4
  21. rbx/box/packaging/pkg/packager.py +142 -0
  22. rbx/box/packaging/polygon/packager.py +2 -24
  23. rbx/box/packaging/polygon/upload.py +35 -17
  24. rbx/box/presets/__init__.py +362 -281
  25. rbx/box/presets/lock_schema.py +1 -2
  26. rbx/box/presets/schema.py +13 -5
  27. rbx/box/remote.py +2 -2
  28. rbx/box/retries.py +8 -0
  29. rbx/box/schema.py +82 -19
  30. rbx/box/solutions.py +77 -15
  31. rbx/box/statements/build_statements.py +44 -27
  32. rbx/box/statements/builders.py +18 -10
  33. rbx/box/statements/expander.py +49 -0
  34. rbx/box/statements/latex_jinja.py +61 -4
  35. rbx/box/statements/schema.py +33 -9
  36. rbx/box/stats.py +92 -0
  37. rbx/box/tasks.py +6 -3
  38. rbx/box/testcase_utils.py +19 -47
  39. rbx/box/tooling/__init__.py +0 -0
  40. rbx/box/tooling/boca/__init__.py +0 -0
  41. rbx/box/tooling/boca/main.py +13 -0
  42. rbx/box/tooling/boca/scrape.py +34 -0
  43. rbx/box/{packaging/boca/upload.py → tooling/boca/scraper.py} +77 -8
  44. rbx/box/tooling/main.py +8 -0
  45. rbx/box/ui/utils/run_ui.py +1 -1
  46. rbx/box/ui/widgets/interaction_box.py +19 -1
  47. rbx/grading/caching.py +18 -2
  48. rbx/grading/judge/sandbox.py +60 -5
  49. rbx/grading/judge/sandboxes/isolate.py +1 -0
  50. rbx/grading/judge/sandboxes/stupid_sandbox.py +11 -5
  51. rbx/grading/judge/sandboxes/timeit.py +36 -15
  52. rbx/grading/processing_context.py +62 -78
  53. rbx/grading/steps.py +92 -40
  54. rbx/resources/packagers/boca/checker.sh +4 -1
  55. rbx/resources/packagers/boca/compile/c +2 -6
  56. rbx/resources/packagers/boca/compile/cc +2 -6
  57. rbx/resources/packagers/boca/compile/cpp +2 -6
  58. rbx/resources/packagers/boca/compile/java +1 -6
  59. rbx/resources/packagers/boca/compile/kt +24 -28
  60. rbx/resources/packagers/boca/compile/py2 +2 -6
  61. rbx/resources/packagers/boca/compile/py3 +2 -6
  62. rbx/resources/packagers/boca/interactive/c +15 -83
  63. rbx/resources/packagers/boca/interactive/cc +15 -83
  64. rbx/resources/packagers/boca/interactive/cpp +15 -83
  65. rbx/resources/packagers/boca/interactive/java +15 -88
  66. rbx/resources/packagers/boca/interactive/kt +15 -88
  67. rbx/resources/packagers/boca/interactive/py2 +15 -88
  68. rbx/resources/packagers/boca/interactive/py3 +15 -88
  69. rbx/resources/packagers/boca/interactor_compile.sh +5 -2
  70. rbx/resources/packagers/boca/interactor_run.sh +174 -0
  71. rbx/resources/packagers/boca/safeexec.c +530 -0
  72. rbx/resources/packagers/boca/safeexec_compile.sh +49 -0
  73. rbx/resources/presets/default/contest/contest.rbx.yml +9 -8
  74. rbx/resources/presets/default/problem/problem.rbx.yml +38 -26
  75. rbx/resources/presets/default/problem/random.txt +3 -1
  76. rbx/resources/presets/default/problem/rbx.h +92 -0
  77. rbx/resources/presets/default/problem/statement/statement.rbx.tex +4 -7
  78. rbx/resources/presets/default/problem/validator.cpp +8 -8
  79. rbx/resources/templates/rbx.h +2 -3
  80. {rbx_cp-0.5.73.dist-info → rbx_cp-0.6.1.dist-info}/METADATA +23 -6
  81. {rbx_cp-0.5.73.dist-info → rbx_cp-0.6.1.dist-info}/RECORD +84 -71
  82. {rbx_cp-0.5.73.dist-info → rbx_cp-0.6.1.dist-info}/WHEEL +1 -1
  83. rbx/resources/packagers/boca/compile/pas +0 -172
  84. rbx/resources/presets/default/problem/statement/projecao.png +0 -0
  85. {rbx_cp-0.5.73.dist-info → rbx_cp-0.6.1.dist-info}/LICENSE +0 -0
  86. {rbx_cp-0.5.73.dist-info → rbx_cp-0.6.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,92 @@
1
+ #ifndef _RBX_H
2
+ #define _RBX_H
3
+ #include <optional>
4
+ #include <stdexcept>
5
+ #include <string>
6
+
7
+ std::optional<std::string> getStringVar(std::string name) {
8
+
9
+ return std::nullopt;
10
+ }
11
+
12
+ std::optional<int> getIntVar(std::string name) {
13
+ if (name == "MAX_N") {
14
+ return 1000000000;
15
+ }
16
+
17
+ return std::nullopt;
18
+ }
19
+
20
+ std::optional<float> getFloatVar(std::string name) {
21
+
22
+ return std::nullopt;
23
+ }
24
+
25
+ std::optional<bool> getBoolVar(std::string name) {
26
+
27
+ return std::nullopt;
28
+ }
29
+
30
+ template <typename T> T getVar(std::string name);
31
+
32
+ template <> int getVar<int>(std::string name) {
33
+ auto opt = getIntVar(name);
34
+ if (!opt.has_value()) {
35
+ throw std::runtime_error("Variable " + name +
36
+ " is not an integer or could not be found");
37
+ }
38
+ return opt.value();
39
+ }
40
+
41
+ template <> float getVar<float>(std::string name) {
42
+ auto opt = getFloatVar(name);
43
+ if (!opt.has_value()) {
44
+ auto intOpt = getIntVar(name);
45
+ if (intOpt.has_value()) {
46
+ opt = (float)intOpt.value();
47
+ }
48
+ }
49
+ if (!opt.has_value()) {
50
+ throw std::runtime_error("Variable " + name +
51
+ " is not a float or could not be found");
52
+ }
53
+ return opt.value();
54
+ }
55
+
56
+ template <> double getVar<double>(std::string name) {
57
+ return getVar<float>(name);
58
+ }
59
+
60
+ template <> std::string getVar<std::string>(std::string name) {
61
+ auto opt = getStringVar(name);
62
+ if (!opt.has_value()) {
63
+ auto intOpt = getIntVar(name);
64
+ if (intOpt.has_value()) {
65
+ opt = std::to_string(intOpt.value());
66
+ }
67
+ }
68
+ if (!opt.has_value()) {
69
+ auto floatOpt = getFloatVar(name);
70
+ if (floatOpt.has_value()) {
71
+ opt = std::to_string(floatOpt.value());
72
+ }
73
+ }
74
+ if (!opt.has_value()) {
75
+ throw std::runtime_error("Variable " + name +
76
+ " is not a string or could not be found");
77
+ }
78
+ return opt.value();
79
+ }
80
+
81
+ template <> bool getVar<bool>(std::string name) {
82
+ auto opt = getBoolVar(name);
83
+ if (!opt.has_value()) {
84
+ opt = getIntVar(name) != 0;
85
+ }
86
+ if (!opt.has_value()) {
87
+ throw std::runtime_error("Variable " + name +
88
+ " is not a boolean or could not be found");
89
+ }
90
+ return opt.value();
91
+ }
92
+ #endif
@@ -1,18 +1,15 @@
1
1
  %- block legend
2
- Dado dois números inteiros $A$ e $B$, determine o valor de $A + B$.
3
-
4
- \includegraphics[width=6cm]{projecao.png}
2
+ Given two integers $A$ and $B$, determine the value of $A + B$.
5
3
  %- endblock
6
4
 
7
5
  %- block input
8
- A entrada é composta por uma única linha contendo dois números
9
- inteiros $A$ e $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
6
+ The input is a single line containing two integers $A$ and $B$ ($1 \leq A, B \leq \VAR{vars.MAX_N | sci}$).
10
7
  %- endblock
11
8
 
12
9
  %- block output
13
- A saída deve conter somente um único inteiro, a soma de $A$ e $B$.
10
+ The output must contain only one integer, the sum of $A$ and $B$.
14
11
  %- endblock
15
12
 
16
13
  %- block notes
17
- Sem muitas notas pra este problema.
14
+ No notes.
18
15
  %- endblock
@@ -3,14 +3,14 @@
3
3
  using namespace std;
4
4
 
5
5
  int main(int argc, char *argv[]) {
6
- registerValidation(argc, argv);
7
- prepareOpts(argc, argv);
6
+ registerValidation(argc, argv);
7
+ prepareOpts(argc, argv);
8
8
 
9
- int MAX_N = opt<int>("MAX_N"); // Read from package vars.
9
+ int MAX_N = opt<int>("MAX_N"); // Read from package vars.
10
10
 
11
- inf.readInt(1, MAX_N, "A");
12
- inf.readSpace();
13
- inf.readInt(1, MAX_N, "B");
14
- inf.readEoln();
15
- inf.readEof();
11
+ inf.readInt(1, MAX_N, "A");
12
+ inf.readSpace();
13
+ inf.readInt(1, MAX_N, "B");
14
+ inf.readEoln();
15
+ inf.readEof();
16
16
  }
@@ -1,10 +1,9 @@
1
+ #ifndef _RBX_H
2
+ #define _RBX_H
1
3
  #include <optional>
2
4
  #include <stdexcept>
3
5
  #include <string>
4
6
 
5
- #ifndef _RBX_H
6
- #define _RBX_H
7
-
8
7
  std::optional<std::string> getStringVar(std::string name) {
9
8
  //<rbx::string_var>
10
9
  return std::nullopt;
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.5.73
3
+ Version: 0.6.1
4
4
  Summary:
5
5
  Author: Roberto Sales
6
- Requires-Python: >=3.9,<4.0
6
+ Requires-Python: >=3.9.1,<4.0.0
7
7
  Classifier: Programming Language :: Python :: 3
8
- Classifier: Programming Language :: Python :: 3.9
9
8
  Classifier: Programming Language :: Python :: 3.10
10
9
  Classifier: Programming Language :: Python :: 3.11
11
10
  Classifier: Programming Language :: Python :: 3.12
@@ -16,6 +15,7 @@ Requires-Dist: beautifulsoup4 (>=4.13.4,<5.0.0)
16
15
  Requires-Dist: chardet (>=5.2.0,<6.0.0)
17
16
  Requires-Dist: colour (>=0.1.5,<0.2.0)
18
17
  Requires-Dist: dateparser (>=1.2.1,<2.0.0)
18
+ Requires-Dist: deepmerge (>=2.0,<3.0)
19
19
  Requires-Dist: fastapi (>=0.115.8,<0.116.0)
20
20
  Requires-Dist: filelock (>=3.14.0,<4.0.0)
21
21
  Requires-Dist: gitpython (>=3.1.43,<4.0.0)
@@ -39,10 +39,15 @@ Requires-Dist: syncer (>=2.0.3,<3.0.0)
39
39
  Requires-Dist: textual (>=3.1.1,<4.0.0)
40
40
  Requires-Dist: textual-serve (>=1.1.2,<2.0.0)
41
41
  Requires-Dist: typer (>=0.15.1,<0.16.0)
42
+ Requires-Dist: yamlfix (>=1.17.0,<2.0.0)
42
43
  Description-Content-Type: text/markdown
43
44
 
44
45
  <p align="center">
45
- <em>The go-to CLI tool for competitive programmers and setters.</em>
46
+ <img src="docs/rbx_white.png" alt="rbx" width="200">
47
+ </p>
48
+
49
+ <p align="center">
50
+ <em>The go-to CLI tool for programming competitions setters.</em>
46
51
  </p>
47
52
  <p align="center">
48
53
  <!-- loscal repository, no metadata badges. -->
@@ -59,6 +64,7 @@ Description-Content-Type: text/markdown
59
64
  <summary>Table of Contents</summary><br>
60
65
 
61
66
  - [Overview](#overview)
67
+ - [Features](#features)
62
68
  - [Documentation](#documentation)
63
69
  - [License](#license)
64
70
  </details>
@@ -72,9 +78,20 @@ Description-Content-Type: text/markdown
72
78
  [![PyPI pyversions](https://img.shields.io/pypi/pyversions/rbx.svg)](https://pypi.python.org/pypi/rbx/)
73
79
  [![PyPI version shields.io](https://img.shields.io/pypi/v/rbx.svg)](https://pypi.python.org/pypi/rbx/)
74
80
 
75
- rbx is a CLI tool and library that aims to help contestants and setters from the competitive programming community to have an easier time.
81
+ **rbx** is a CLI tool that empowers setters from the competitive programming community.
82
+
83
+ A flexible setting tool, as powerful as [Polygon](https://polygon.codeforces.com/), right on your terminal.
84
+
85
+ ---
86
+
87
+ ## Features
76
88
 
77
- Although trying to solve the issues of these two audiences seems to be too much for a single tool to handle, we exploit the fact that the journeys of contestants and setters have a lot in common.
89
+ - 🧱 Structure: describe your problem or contest structure with the use of YAML configuration files.
90
+ - 🤖 Generation: provides a simple way to describe your whole testset, including both manually added and generated testcases.
91
+ - 🔨 Testing: provides commands for automatically running correct and incorrect solutions against the testcases of your problem, automatically judging whether the verdict was as expected or not.
92
+ - ✅ Verify: checks if your testcases and solutions are strictly conformant with the use of validators and unit tests.
93
+ - 📝 Statements: provides tooling for writing and building statements, also ensuring they're easily synchronized with your testset.
94
+ - 📤 Package: provides a single command for packaging your problems for use in your preferred judge system.
78
95
 
79
96
  ---
80
97
 
@@ -1,77 +1,88 @@
1
1
  rbx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- rbx/annotations.py,sha256=LXbVOSkE9kwcxEirsOMo10cEnvol854QvaCBIjhWyE8,3047
2
+ rbx/annotations.py,sha256=qcJGL_INONSirH7LTrEma5RsweAIbO6QlRHVvRvb9ao,3521
3
3
  rbx/autoenum.py,sha256=cusv8ClXRlDVvhZ8eDrtYcL_2peXlHugAey_ht8roXk,12025
4
4
  rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
6
- rbx/box/cd.py,sha256=KGaqXHnv2hCumZS2VdMezFfwFEQcSq0rt05_KZtuQAo,1570
7
- rbx/box/checkers.py,sha256=0r_9cdRfZJlDuBuBB7xrzMJixcVL2JdBe4dmWAQym04,12828
8
- rbx/box/cli.py,sha256=jWL-Tws_74d0WFuHymk_VSTWTy8MGgmroBD0o5sqGxo,27767
9
- rbx/box/code.py,sha256=2oC1JbZiwfeg53ZICPig-KJYchqFRIZz-inlM-cLc7Q,19911
6
+ rbx/box/cd.py,sha256=w7Z8Goq9gNwC4g0OWBazo-M25nysuTXYrhB4Q9DZ0nw,1820
7
+ rbx/box/checkers.py,sha256=2eLfMOzJajoca26M4rOBxUxve3-BpxcMu_q2upI1Pcg,13017
8
+ rbx/box/cli.py,sha256=NCKkdXF6_zmepw_ZAktH8WLTSCItwozboGe0x48JrZs,27643
9
+ rbx/box/code.py,sha256=9Eba-LlvmMkfyiNAFOk2V2rRXKQvQYWyC_d0q195pZw,24445
10
10
  rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
11
11
  rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
12
12
  rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- rbx/box/contest/build_contest_statements.py,sha256=DtbzLShc8zzbjE-1sBFtPY3JGhSwm48q6eSOPYWSVxQ,11399
14
- rbx/box/contest/contest_package.py,sha256=OaUbpBtkhkgOPzJ1ccI_Vq4FMSaJvZm3gMOKfVY8oy4,3032
13
+ rbx/box/contest/build_contest_statements.py,sha256=643LJY1XEgevitbnzc05Cgo8wcLp7w91Z1K4D5XKcqA,12016
14
+ rbx/box/contest/contest_package.py,sha256=EqtmEw36Hpr7-AYf4hGV0tYDu5esj7k14w7ZEIYU36o,2980
15
15
  rbx/box/contest/contest_utils.py,sha256=fsWHG1e65wq9zvRY3tdf32VF0nU1yzGTOBX5yjXiNk4,1102
16
- rbx/box/contest/main.py,sha256=5IRdTRxk4u7wSFgmcC18mefuuLfgsJGRlYWl3pLg-v8,8416
17
- rbx/box/contest/schema.py,sha256=OOoQUPYAHzu78aQfRbrqGepiUdGxSVRR1VQKFbKHjkE,6111
18
- rbx/box/contest/statements.py,sha256=Or8gFb6P_oViGdeiVgepXsvd_W84mA7LRaVmiAXWWSg,2977
19
- rbx/box/creation.py,sha256=Evz7K6JoarD-4JJQsZsgoxU9FgCF9Z7-LfuroG4Cqls,2444
16
+ rbx/box/contest/main.py,sha256=l8fAR_mB6AIa0QcIgL9X2oGjoXSHw6uiwJq6C-ZkoLc,6545
17
+ rbx/box/contest/schema.py,sha256=eb7xtyq078YYWYHueximNhyHFINzwgLMFm1j9U3LxBQ,7461
18
+ rbx/box/contest/statements.py,sha256=wTLmCO3VlGUcN-CzBf-uKUSOAbLUnDeZhdMcsIuF63A,3803
19
+ rbx/box/creation.py,sha256=dJwtaG6520fK2BflLKVtXSHiMABX0q-m3gJ465h7k0Y,1301
20
20
  rbx/box/deferred.py,sha256=II3X9e87JCOZtmspnHh-n4PFqh-FsH_oc0XJHZ9ZYVQ,691
21
21
  rbx/box/download.py,sha256=tLW5gLVeLk0gHMEMwScSoHIXQPkXuPsqXzItsrsnUZY,3070
22
22
  rbx/box/dump_schemas.py,sha256=3j5t47_vJmXj0BCczxDX6ByOcsfolGEDNCBXlPpk86w,593
23
- rbx/box/environment.py,sha256=Kp69MekUwwoVpupnafUcN5KAbP-ZTCwe0OQXt1h0FN8,11859
23
+ rbx/box/environment.py,sha256=6HeFBEgxM-ug41M_7O6lwc7JI9HoifTu7F-W5GjGmL8,12189
24
24
  rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
25
+ rbx/box/fields.py,sha256=lc1OHpo_AC8RxzNasipULGkRmToAiXBGzWDeb14L_ss,1092
25
26
  rbx/box/formatting.py,sha256=drxGLRS-uh_5j0GTmk8kAq0NlWpM5WoSBJoDHh9KXNI,1222
26
27
  rbx/box/generators.py,sha256=0HiNZfZXvEpXLHP1D0cJp-fgSujOm4jPDdniWyy8HrI,13824
27
28
  rbx/box/generators_test.py,sha256=J7aBfuJhU84MWDWzgReRoOuQw_hVa09B8gTKAvL2XVo,1987
28
29
  rbx/box/git_utils.py,sha256=VlUgzuHOCnrjjiJQnDB32qDHbHw_zkwgA7wm4bloibc,750
29
30
  rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
31
+ rbx/box/lang.py,sha256=GaWvf4rgukflIZ9ti4MUKSJcz9wm2mIVuFcrO-pA8L8,669
30
32
  rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
31
33
  rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJISo,628
34
+ rbx/box/linting.py,sha256=Kr9ySmGxM0dkXmQKJ6w40eAOmFYdnevdMwd3WGeeyrY,842
32
35
  rbx/box/main.py,sha256=a8CYi77kOywPFly4-ucEIJLXQW-1NFp91kK2fA42YTE,86
33
36
  rbx/box/naming.py,sha256=pOG37X_wQM9CCSYwJIUf-b-ZHEs_nchO7wQEdP_quJg,1367
34
- rbx/box/package.py,sha256=1V2uKjHqgIpzSeMv6nHcZCxDkDvsAt5gEBY6cw5aleQ,15012
37
+ rbx/box/package.py,sha256=ZywWmXjQo-A14fMOhOCzAO5IjFX9x-TBs8PusAv8iWE,13771
35
38
  rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
36
- rbx/box/packaging/boca/packager.py,sha256=kiCcP9roRCiDU0Xr5PDKO83W1yN6cyg-EKMF9fxE0EY,11950
37
- rbx/box/packaging/boca/upload.py,sha256=_YSPlaz-E57dtt4mOFcTQB9UfyGWeXAW-mXg3YoDQn0,10795
38
- rbx/box/packaging/contest_main.py,sha256=UsRfIdNmOf0iLUbzgjxzyECfMuCQINstG1SCClGHaUQ,2808
39
- rbx/box/packaging/main.py,sha256=NgFBoqkSRyOwA9srXoUwzrI0F6qxjsmjGAFZ-un8j0M,4073
39
+ rbx/box/packaging/boca/packager.py,sha256=MEVXTGtMWxcXetvXZ4td-AtOUTM68WeRqy5yt-7Lg28,13675
40
+ rbx/box/packaging/contest_main.py,sha256=7YQWmzl1rOdO7cWFc_D6zhywIE12lKJY1O6hnrxkOLs,3168
41
+ rbx/box/packaging/main.py,sha256=J0wPj9gNOJRUWtIRncspBmYVCkdzyUOHDCWmQ7qSqsc,4352
40
42
  rbx/box/packaging/moj/packager.py,sha256=FjghOe5CPlaF1GqK0NZgWVV_eYWpdTmz88bh04yeAyI,8708
41
- rbx/box/packaging/packager.py,sha256=da2haC1L9cG30myneMrRIAdGubtid0Xmy38BHKPCZZ4,3633
42
- rbx/box/packaging/polygon/packager.py,sha256=GfZ-Dc2TDKkb3QNnfOy8yxldho2L401Ao06oWg--Gcs,11714
43
+ rbx/box/packaging/packager.py,sha256=4WASooYT3VQvDM4M0gNrg9SS7nS-deLQeZWV4c-YLV0,3669
44
+ rbx/box/packaging/pkg/packager.py,sha256=4pt4cZa_MU9gsWNVvh5Um1KEIh_axBHlXmPf6rpFoHg,4904
45
+ rbx/box/packaging/polygon/packager.py,sha256=ANF1wbnvLmmNiovc7COj90fw8nxinuH1zQdlD24cKwM,11163
43
46
  rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgzzPHW6kkf7R4,41016
44
47
  rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
45
- rbx/box/packaging/polygon/upload.py,sha256=s9AHYe_utRFL681AmDbSaoc-t0PD6TdrIhnoVGa-Xwc,12429
48
+ rbx/box/packaging/polygon/upload.py,sha256=6dIbjwygKtirLBkbh40UgtHU1NHGxSMoFAtg2BcC2II,12902
46
49
  rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
47
- rbx/box/presets/__init__.py,sha256=9S7AyCop5aopr5U2ttXxOmvfBU0LHrgg5reyskfhbds,21316
50
+ rbx/box/presets/__init__.py,sha256=tuLdCvuFJptJEhGcllEs86_2xxaFmScBOtPNhXWb3NU,22713
48
51
  rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
49
- rbx/box/presets/lock_schema.py,sha256=6sRPnyePOC8yy-5WcD5JRZdDJHf8loqbvpQ1IPiOU9s,349
50
- rbx/box/presets/schema.py,sha256=mZmSPkQsw7eQM0lQN6er1MO_LiW1ObwwAZFDK0F5fxE,1962
51
- rbx/box/remote.py,sha256=Hujnl4bmIoemrFgAdCcz_MZo09iS-YJgKxu1to_ujr8,4574
52
- rbx/box/retries.py,sha256=70n2avWa7GYSyNcmhml8qp1K21Fmp-JNjvYC9b_UaNg,4721
52
+ rbx/box/presets/lock_schema.py,sha256=Ohxs5J_B5_Dr8ZajptGqKzRzIjQS2ehDHbCOSy07PyY,309
53
+ rbx/box/presets/schema.py,sha256=KhAZjA5VU7dBEvGc22jBWO8JHKkQ-sbPz6EcJK8Rgfg,2299
54
+ rbx/box/remote.py,sha256=2xN0XSWoRyDY0-FNKejK0x8iKhRuVsluIMKKb-gD7bI,4572
55
+ rbx/box/retries.py,sha256=2K2AiFdtTaVsbzSgupbP4xr4QQ7LFeGBOcyXLinVf0I,4950
53
56
  rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
54
- rbx/box/schema.py,sha256=bJgO0KV75mGzCXv24jASFvZFP1peM_qP23_H5MpXM5M,16670
57
+ rbx/box/schema.py,sha256=424VcpZzY2qUz8rlETwIqrzzwmnoARILEO7Wf2P61BY,18855
55
58
  rbx/box/setter_config.py,sha256=9iObg6BwxQhFAhIOk31Jc0BDDpRYVGf3SyLIOsWIltM,4393
56
- rbx/box/solutions.py,sha256=VLd-v8Ns0qgJ0-wMD9AIW0v4Jiw3dvWzpLrhV1u9P1s,50900
59
+ rbx/box/solutions.py,sha256=g2jgDtSCqvlG-WiiJpTibLDljil2tRCKNelGS8qTrXQ,53357
57
60
  rbx/box/solutions_test.py,sha256=PX1TQoRzNd9mi1SGsG7WFrpqFgNrNX5Kwt0mkwFdoOA,1749
58
61
  rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
59
62
  rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- rbx/box/statements/build_statements.py,sha256=lu3mwm-ZID0N_t_6FIrCcMFjlqa5JR49PQ28dq2C3s8,12169
61
- rbx/box/statements/builders.py,sha256=6lYV-cnC-NXMnJf1wasbq_AMbjdIuPpMirm7QsjZI6s,11825
63
+ rbx/box/statements/build_statements.py,sha256=KFPfX9IglaPW17B4hSTPXiaylV-kt6j3eWUIS1ddJZI,12685
64
+ rbx/box/statements/builders.py,sha256=tEC8IRMa_RxoUTXubIrJlbYOVO9Kkeud9-OtGqg2KRw,12102
65
+ rbx/box/statements/expander.py,sha256=sdbMtNcJQCbXGIkFIl9h24pGr77vhFLnM31V5AfuduI,1715
62
66
  rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg,2886
63
67
  rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
64
- rbx/box/statements/latex_jinja.py,sha256=7WBfn1h8DpqCAmSE6Av64HfURMnJ2AO4QX1CD72sz5E,7096
65
- rbx/box/statements/schema.py,sha256=ES8EUE9JE_uJlDwQx1kZd_5nQJyABtlnjP5IjbWaJ-0,3897
68
+ rbx/box/statements/latex_jinja.py,sha256=6whLCIHzPjq7oeDwzUgdvirpLA4Y3G-w319DhzPwPUI,8960
69
+ rbx/box/statements/schema.py,sha256=QIUkQhrLb3rqAdvzDSwL3r4uAvDv-mKsWRtfCEH2L7Y,4685
70
+ rbx/box/stats.py,sha256=hXp4xF0_dI5TuU7unxAM5q0cVE9e1phmFbBS0PRQUbA,2999
66
71
  rbx/box/stresses.py,sha256=SOfYhJxge3ykuLlBMALM0IAmpZuOZFS9EP8Jmn6yHiw,12923
67
72
  rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
73
  rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
69
74
  rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
70
- rbx/box/tasks.py,sha256=sVPR6a3CSU28pN6bMjZcZATYZBV7JlZvhvxcPRH8-MI,10514
75
+ rbx/box/tasks.py,sha256=JygSpQzHxH71JwBJCl_JEbAfVMVz34lKjj5bhqQFqaM,10649
71
76
  rbx/box/testcase_extractors.py,sha256=J43eG7vpxc5nP_2yhrXJODkd4EYlV4WiYVbM6hzipY4,11944
72
- rbx/box/testcase_utils.py,sha256=0HydSzmy1Olqws6iPMkX6dnPnl45sPZf83SlrjQxs40,7816
77
+ rbx/box/testcase_utils.py,sha256=epal6TFd2PK3dbEvTTr9tCebfmbF-rQD0d3xW8umriA,6860
73
78
  rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
79
  rbx/box/testcases/main.py,sha256=_I7h_obRcpNLRQ6dDJDIE5NAvTyn5nBOhdsBhRA_PvU,5442
80
+ rbx/box/tooling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ rbx/box/tooling/boca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ rbx/box/tooling/boca/main.py,sha256=knl1rpaHIwA63KkzMJMZQrejzMpbTPBhYqGx1IpuNm4,289
83
+ rbx/box/tooling/boca/scrape.py,sha256=q1BoVstfLbw5CwB9e2hQnseBv6HQMnXq2z_tk18ui6M,1024
84
+ rbx/box/tooling/boca/scraper.py,sha256=ISz8kfEN6srnjJHPdG87wOJgNstEcqrkXF-4PFE8UDg,12686
85
+ rbx/box/tooling/main.py,sha256=4nVXUprVUFcqtHU5SMSsOvPlOV9d0fZFPndRUvHrB5I,205
75
86
  rbx/box/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
87
  rbx/box/ui/captured_log.py,sha256=HPoV6LZohuECmjoqOdM_xFZbpICzQnI4n3rF-lf_b1Q,11634
77
88
  rbx/box/ui/css/app.tcss,sha256=yArFcQlehLoVYPN4AzZnekOnKTEaNdbC-SERSwopxg8,2426
@@ -88,11 +99,11 @@ rbx/box/ui/screens/run_test_explorer.py,sha256=D6sXTEbqzXI7uPu3EXZoFyIBxlGFbkdey
88
99
  rbx/box/ui/screens/selector.py,sha256=s9JR74anCt8NAlkk7GeNvqyqz2YEhCWTebOUNQ7HrXg,856
89
100
  rbx/box/ui/screens/test_explorer.py,sha256=Iv6yDqELr4-Ouo9PSD5Wr3bTdbmx8VfrK9zj5ULhPlg,4078
90
101
  rbx/box/ui/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- rbx/box/ui/utils/run_ui.py,sha256=aOIF-84TbLe7KN3JeppANPuxJ1U4jHAaxDBnnFBQZcE,3762
102
+ rbx/box/ui/utils/run_ui.py,sha256=0dr18mfRSPIu7JmR9OGIh87OvNmwqDL_zhhdpKtnD_g,3772
92
103
  rbx/box/ui/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
104
  rbx/box/ui/widgets/diff_box.py,sha256=4OxgwOvdm9nSVUKeKLzOQBlBweFu8LiTfp6g4ZkS5nM,1125
94
105
  rbx/box/ui/widgets/file_log.py,sha256=3wlrmkWR-EMibwlwXOJ5sGpTFwFEkRaGYo5fdmf8L3w,1704
95
- rbx/box/ui/widgets/interaction_box.py,sha256=WDHmpO5ck21y6hNdUVxvJ81jEg9TVJh39hFJUc5-Dos,1572
106
+ rbx/box/ui/widgets/interaction_box.py,sha256=mJoQjHegxkIL00OgiCULmV0_w-2ZcwsQEa-Y8NrDlZM,2252
96
107
  rbx/box/ui/widgets/rich_log_box.py,sha256=mF565c_Y3RYUZ_GJEFj5Eb86SFjsib31wE5qu1K0UBM,91
97
108
  rbx/box/ui/widgets/test_output_box.py,sha256=yqeAb-JFvVx1Q7w_qJbDMWQigyGy4ofGECDxQ7P0_2s,3864
98
109
  rbx/box/ui/widgets/two_sided_test_output_box.py,sha256=L-ORiDwd6CP5DFpavrKGBaX0ZHkSoQqbJrGZ4BdFUWc,2289
@@ -107,22 +118,22 @@ rbx/console.py,sha256=X8EJy68OROgh6ao3ZcUjZm5Y56VFMzen58ywAuQ7pAU,990
107
118
  rbx/create.py,sha256=ezUq9KiSA-88ASd8CtjWXw8UB4LCaQ3Gib3OgvsLK-Q,986
108
119
  rbx/edit.py,sha256=Zqnx_Pt06ijCxV-pZKGCJhjKB-nVO0QCM6xSBwPWGoE,798
109
120
  rbx/grading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- rbx/grading/caching.py,sha256=tnCQl08kUC0IYx5XKxfvaUGJIvEC_C2LPJHNv90clOw,12029
121
+ rbx/grading/caching.py,sha256=tUDkhCaH8vA82_Iv-LRBhFjUQY13YWOSKG_3B2DhXpA,12573
111
122
  rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
112
123
  rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
124
  rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
114
125
  rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
115
- rbx/grading/judge/sandbox.py,sha256=0ILirjd9xQTDH2mycRYAKvad-rMqDHrK72fjX3sBRBw,24868
126
+ rbx/grading/judge/sandbox.py,sha256=EuBPWPuaRq6ikPd4G2V8fMJLJFkx7mdnNRSuql8loNE,26172
116
127
  rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- rbx/grading/judge/sandboxes/isolate.py,sha256=oLFcbOXsuIjbI2G58i9UrGk_h7k32OgL_8yvZybshhQ,25936
118
- rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=d0ZrMDFg8P1aDyyvk_dKauP1eAGPMbxgwb3GF_FhuUk,11122
119
- rbx/grading/judge/sandboxes/timeit.py,sha256=0qs3RD2LmFMg0wolGPSl5sg8HRMHsnZEgUEvBuhGyT4,10865
128
+ rbx/grading/judge/sandboxes/isolate.py,sha256=L-h2_GZfFGYQEsGjd-lyzqzpsl6_ytJZ5myVyQCxerk,25961
129
+ rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PSPQUBSSsP2OfEBbcLjx4m2rUlSxLZ-hKyMYP8zJWhI,11310
130
+ rbx/grading/judge/sandboxes/timeit.py,sha256=RTfkL5eyjs0ci2c7r9szza7guexKcNWoPjrEFBzkR_4,11359
120
131
  rbx/grading/judge/storage.py,sha256=3vv0HvtenbUZBH33CB5ZzX66ppL22G6munBaAA9BgwQ,9418
121
132
  rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
122
133
  rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
123
134
  rbx/grading/limits.py,sha256=ev312UTOo8S4-3AAVibQdXZclWCxS96CdbZxqW4y1kE,770
124
- rbx/grading/processing_context.py,sha256=EOxsRTKB_JEgcKNodDWPIYaBramANU-6QnDkqdF8tEk,2556
125
- rbx/grading/steps.py,sha256=uhEL5_cEkZdb6-euxHthcL5Zi_sLCfJQKohXsURtnmU,27522
135
+ rbx/grading/processing_context.py,sha256=Jg9kNnkH3hi2hiE6Gh23QwS89r9Zj230NMl1CUEHSfo,1866
136
+ rbx/grading/steps.py,sha256=pL1eoUYOR09jn5MHUsHFU2xTnwrTBo_2K4UPkcy60Oo,29021
126
137
  rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
127
138
  rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
128
139
  rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
@@ -139,24 +150,24 @@ rbx/resources/default_setter_config.mac.yml,sha256=i28xwAUDg-kuxx19knCiYkh-NR7Qe
139
150
  rbx/resources/default_setter_config.yml,sha256=oy6fbuQyYaJS2Cw2zcbYcBBGt6138CyB3-bLl45_QqY,1000
140
151
  rbx/resources/envs/default.rbx.yml,sha256=8gl4DXc5mVISx__1libPQfmuHYdW32xjysfqpNESIAo,853
141
152
  rbx/resources/envs/isolate.rbx.yml,sha256=VZAJ-Mu-A5Rt4m0VtMygOXA7eLLvCCmoorv_0acDmXQ,870
142
- rbx/resources/packagers/boca/checker.sh,sha256=nNif_PIHriktliHI-N2_PxLEO3T1zXbTGnM58ok0G1g,1218
153
+ rbx/resources/packagers/boca/checker.sh,sha256=kesoIYeCttAtuQBq-7HvfXK8cAFTJhFbqHm9rNd_udg,1272
143
154
  rbx/resources/packagers/boca/compare.sh,sha256=a6AmQqwrIq616DHjp_S2l95wO7UiMVy0LQ9EajZKDDk,1201
144
- rbx/resources/packagers/boca/compile/c,sha256=7bx47zeZB5nJl2WmYmt2jjhQGgBnQnFwGFziL2p_Q-Y,4510
145
- rbx/resources/packagers/boca/compile/cc,sha256=B_18QkUGcjUg6yrTFlTQuMWnHpTWUKPZmFuk7Y0l1VA,4561
146
- rbx/resources/packagers/boca/compile/cpp,sha256=_1pJTSC7uADu-IIdQCaZyMbH8x01wfgxcdZ36oxXncI,4496
147
- rbx/resources/packagers/boca/compile/java,sha256=vh3IeWzvPWrEX0n9AmAHFlpQrq7MX1feLhHfdBP7onU,5259
148
- rbx/resources/packagers/boca/compile/kt,sha256=3B900QSD4jSXnX91gJbvI4ZmNELHSiBb584Tmx7XtOc,4026
149
- rbx/resources/packagers/boca/compile/pas,sha256=C5IwZzmZpIos49FrLGafRbdGPODNJn7N5JbnLX_FT_4,4576
150
- rbx/resources/packagers/boca/compile/py2,sha256=UJknN4xiKP8oMN8tRZ92tDlESXgBfRO69QfyUyjijvA,4739
151
- rbx/resources/packagers/boca/compile/py3,sha256=L5Yzl_G5kTdmx7N7-oW3Dm_sq4uQJleRmFq84WNfZXo,4739
152
- rbx/resources/packagers/boca/interactive/c,sha256=gLuJ9heX00i-8bmj5J1j4RcHaksMEDv-z3ykDoYqqZs,6360
153
- rbx/resources/packagers/boca/interactive/cc,sha256=gLuJ9heX00i-8bmj5J1j4RcHaksMEDv-z3ykDoYqqZs,6360
154
- rbx/resources/packagers/boca/interactive/cpp,sha256=gLuJ9heX00i-8bmj5J1j4RcHaksMEDv-z3ykDoYqqZs,6360
155
- rbx/resources/packagers/boca/interactive/java,sha256=seoD4td8n85l7v-8rqDuwEKhl3ekHnHkZ_Z3ypNVoJA,7327
156
- rbx/resources/packagers/boca/interactive/kt,sha256=L5-hTrQ9VblO0d1hBOjbHVzEp1GEELWo0N8AceULnCU,7261
157
- rbx/resources/packagers/boca/interactive/py2,sha256=ceNObaszmSzAxfK7CuXdjO-8XoR3PNa0kxieoJBlJFg,6524
158
- rbx/resources/packagers/boca/interactive/py3,sha256=htrTvWHoAulWV2e-Y9AlcpWNsq0_rv0ktrbTzxO96aE,6524
159
- rbx/resources/packagers/boca/interactor_compile.sh,sha256=5dvF_eYuAJS3wlxyjUIJvu9HUNiMvET17rgoPq-WIlc,1082
155
+ rbx/resources/packagers/boca/compile/c,sha256=DZ9PWjgDTuauwY4my8Y8WXz0gZCBd4I7n0k0QxBaAUs,4466
156
+ rbx/resources/packagers/boca/compile/cc,sha256=jxPjE9UDspBcEJV4kG7wkYbiadXCBePiMq4M9zvp5vE,4517
157
+ rbx/resources/packagers/boca/compile/cpp,sha256=Fla9Ld6niiZT-0tRiekb2PS18dB2k0e8QmRFepMASag,4452
158
+ rbx/resources/packagers/boca/compile/java,sha256=UrgpcwCtrJsMAEF0B7gDRl2VCZgtBocassleN3Jxw7o,5192
159
+ rbx/resources/packagers/boca/compile/kt,sha256=C_EZGs19irFFmMGg_UHA64hAitXglx18hYG4EkeXSJM,3953
160
+ rbx/resources/packagers/boca/compile/py2,sha256=eFJIzpRuE7XtI1CzE44njnRUU7tQNgK_wNbIslh9I0Q,4695
161
+ rbx/resources/packagers/boca/compile/py3,sha256=HWA_yQ6B8VQ_WYVRZWPclbxv7BRiEJTTc9H9oWl1bGU,4695
162
+ rbx/resources/packagers/boca/interactive/c,sha256=HVEyQ4uHyqkuzopWvOKtju1J45sulgC-zNioJg-_mgE,4856
163
+ rbx/resources/packagers/boca/interactive/cc,sha256=HVEyQ4uHyqkuzopWvOKtju1J45sulgC-zNioJg-_mgE,4856
164
+ rbx/resources/packagers/boca/interactive/cpp,sha256=HVEyQ4uHyqkuzopWvOKtju1J45sulgC-zNioJg-_mgE,4856
165
+ rbx/resources/packagers/boca/interactive/java,sha256=NgtrKg5sTFQO589QTfEVSYYQOMsKTn7RQ2A4lCxBnFc,5595
166
+ rbx/resources/packagers/boca/interactive/kt,sha256=p2Nz1Tnn0n55umH-cX1NBnkfMoB0sHPBndRmkkht2_o,5516
167
+ rbx/resources/packagers/boca/interactive/py2,sha256=A-4GgaIFvt3-8c8MeYzeT19I4MztAY6uyy3VDnaOyII,4829
168
+ rbx/resources/packagers/boca/interactive/py3,sha256=1Kgj-zy4e8hk1583wNZUxnCBvmfyCkPDV9WMhyshyLw,4829
169
+ rbx/resources/packagers/boca/interactor_compile.sh,sha256=ZsUjQAtLSSwfZsYEs200lSdSrRbGrEFgAmRBmLOzI48,1161
170
+ rbx/resources/packagers/boca/interactor_run.sh,sha256=_hNr_0BIBNy0sedmx21xVKoYF6tJBfI316MfDqsMtqw,4246
160
171
  rbx/resources/packagers/boca/run/bkp,sha256=xyDkZDaxgUrW-K2I0YJs8a8dJMuF-k8_ganDGxqhvUQ,4218
161
172
  rbx/resources/packagers/boca/run/c,sha256=bhB-I-mJ4xNa6lr0OwC1O-eiMVTE_bdAd13nmySiT8A,3687
162
173
  rbx/resources/packagers/boca/run/cc,sha256=bhB-I-mJ4xNa6lr0OwC1O-eiMVTE_bdAd13nmySiT8A,3687
@@ -165,6 +176,8 @@ rbx/resources/packagers/boca/run/java,sha256=rAcvpriBr3NAuzzjMzIrtTBTgD9dLVr49dW
165
176
  rbx/resources/packagers/boca/run/kt,sha256=0nTcFhEtGSJXLkPmGCqOx58XpTdoGn0qL5niePGDEdo,4673
166
177
  rbx/resources/packagers/boca/run/py2,sha256=2IobOou2k6oYIa_mw0DjeZaqJgw9ZQc69e6XYnRS-fo,4917
167
178
  rbx/resources/packagers/boca/run/py3,sha256=_w9IBoDhAThrABcvWfZQ0wOaqnzeiqwG5AL-eAQrVSU,4917
179
+ rbx/resources/packagers/boca/safeexec.c,sha256=HcZyfnCoIRY8Q7HjT6ohUdNBcP4h6jd5A4uoXXNPzYw,17377
180
+ rbx/resources/packagers/boca/safeexec_compile.sh,sha256=MX_lRM2wnBh9MyXRRMcnZlqlnB41BuIbGXrwXkBPM1s,1094
168
181
  rbx/resources/packagers/moj/scripts/c/compile.sh,sha256=d6IFuVf_EmUhkHg5urrv3G4e8AFFYgHqEYJ_ROs-A-M,231
169
182
  rbx/resources/packagers/moj/scripts/c/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
170
183
  rbx/resources/packagers/moj/scripts/c/run.sh,sha256=w_DAapoBVMZj7uiA4TMcNi2D5S243Cvsa4VQ_OoHGtY,187
@@ -183,28 +196,28 @@ rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai
183
196
  rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
184
197
  rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
185
198
  rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
186
- rbx/resources/presets/default/contest/contest.rbx.yml,sha256=aThSvWG0Nv4BKoucQG6Q0KpS20hsT46BHyVCQTdvtUM,424
199
+ rbx/resources/presets/default/contest/contest.rbx.yml,sha256=8Eb5DI3RAX_0x9KO9xDS-L1PHYaNujcLOGQijFfTsPg,449
187
200
  rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
188
201
  rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
189
202
  rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=XSGtd8JJKfOmU7yTWcC02x6NND9GUlj9uXOEJC168Lg,834
190
203
  rbx/resources/presets/default/preset.rbx.yml,sha256=hYesK08n17FBNThr4iaGrDfC0L3us_pzGDkhD33Ryt4,313
191
204
  rbx/resources/presets/default/problem/.gitignore,sha256=zc-lnGQQZsLBaXpSshesA_QfxhiZdNCSJDEuKqlPtjw,29
192
205
  rbx/resources/presets/default/problem/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
193
- rbx/resources/presets/default/problem/problem.rbx.yml,sha256=sgOTa7LedlY3nFOno28XHAgUN89w9p5dl0aIafq1dQs,1379
206
+ rbx/resources/presets/default/problem/problem.rbx.yml,sha256=-J2UqB9tJnwXOWLAs6wHGXAPtTGYE6inpJwqbCrLyGE,1681
194
207
  rbx/resources/presets/default/problem/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
195
- rbx/resources/presets/default/problem/random.txt,sha256=oDS_a9LdKSTKj4MvGLWvHSljI3AjRY6MclaxEwK794I,23
208
+ rbx/resources/presets/default/problem/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
209
+ rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
196
210
  rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
197
211
  rbx/resources/presets/default/problem/sols/slow.cpp,sha256=at9iXQjROaxG5f6OWH__phENb2SOK3crRfU7AwYT6hM,229
198
212
  rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
199
213
  rbx/resources/presets/default/problem/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
200
- rbx/resources/presets/default/problem/statement/projecao.png,sha256=nYNXuV6MOUG-P29jDzZP2b8m8IWWm0631hpwAYfk9L0,136096
201
- rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=tYcxTKLEvUgOQpB9f1foNFctshlxyVceGFc0k-WvAxI,459
214
+ rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=JHdiMN3NQQsysDA1w3RfOGmDFobCc68YCB6SURy2hHo,360
202
215
  rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=BNvHDWGY1BU4tHUHtuIYBhdoOqp3fXO5qNr84ekOsgY,1693
203
216
  rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
204
217
  rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
205
- rbx/resources/presets/default/problem/validator.cpp,sha256=VwZZUVq8GZHB07eOb6AoQirrYttPfTpF6P5m6I9nsLI,333
218
+ rbx/resources/presets/default/problem/validator.cpp,sha256=w4gl1u30Dx1N9oRTVtIg_rPlIyL6QdN_Bi5FDpp4gyw,317
206
219
  rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
207
- rbx/resources/templates/rbx.h,sha256=7v-dm4cwP6trsJR-Ixk3_JNfaG1dwM_Lm8FcVPaA0YA,2180
220
+ rbx/resources/templates/rbx.h,sha256=Iwtmr2gdDYmZ2VlIurmleBb_uEpriWd4EX0dJta8xUA,2179
208
221
  rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
209
222
  rbx/run.py,sha256=8WsEAdj7FwYSc9itfJ977n5HN5CYN63T__HRYI6IB1A,1515
210
223
  rbx/schema.py,sha256=qcxuuxUJ0KwHR03CEYvdoP1SYW7yes3QyuI_0lnVMl0,1494
@@ -217,8 +230,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
217
230
  rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
218
231
  rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
219
232
  rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
220
- rbx_cp-0.5.73.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
221
- rbx_cp-0.5.73.dist-info/METADATA,sha256=NK12BtXCVWjzZWL9Dnvo0R3zsd8pZSgRqL2xwng11-A,3604
222
- rbx_cp-0.5.73.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
223
- rbx_cp-0.5.73.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
224
- rbx_cp-0.5.73.dist-info/RECORD,,
233
+ rbx_cp-0.6.1.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
234
+ rbx_cp-0.6.1.dist-info/METADATA,sha256=4o56u8aN673yNGkQTzObRY7lqic2IEQjNPInIlJHzcA,4409
235
+ rbx_cp-0.6.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
236
+ rbx_cp-0.6.1.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
237
+ rbx_cp-0.6.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any