rbx.cp 0.13.7__tar.gz → 0.13.8__tar.gz

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 (225) hide show
  1. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/PKG-INFO +1 -1
  2. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/pyproject.toml +1 -1
  3. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/upload.py +7 -1
  4. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testcase_utils.py +7 -7
  5. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/contest/contest.rbx.yml +4 -0
  6. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/problem.rbx.yml +2 -0
  7. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/shared/contest_template.rbx.tex +8 -2
  8. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/shared/icpc.sty +18 -5
  9. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/shared/problem_template.rbx.tex +7 -1
  10. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/LICENSE +0 -0
  11. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/README.md +0 -0
  12. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/__init__.py +0 -0
  13. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/annotations.py +0 -0
  14. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/autoenum.py +0 -0
  15. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/__init__.py +0 -0
  16. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/builder.py +0 -0
  17. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/cd.py +0 -0
  18. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/checkers.py +0 -0
  19. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/cli.py +0 -0
  20. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/code.py +0 -0
  21. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/compile.py +0 -0
  22. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/__init__.py +0 -0
  23. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/build_contest_statements.py +0 -0
  24. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/contest_package.py +0 -0
  25. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/contest_utils.py +0 -0
  26. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/main.py +0 -0
  27. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/schema.py +0 -0
  28. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/contest/statements.py +0 -0
  29. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/creation.py +0 -0
  30. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/deferred.py +0 -0
  31. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/download.py +0 -0
  32. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/dump_schemas.py +0 -0
  33. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/environment.py +0 -0
  34. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/extensions.py +0 -0
  35. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/fields.py +0 -0
  36. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/formatting.py +0 -0
  37. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/generators.py +0 -0
  38. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/git_utils.py +0 -0
  39. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/global_package.py +0 -0
  40. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/header.py +0 -0
  41. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/lang.py +0 -0
  42. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/lazy_importing_main.py +0 -0
  43. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/linting.py +0 -0
  44. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/main.py +0 -0
  45. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/naming.py +0 -0
  46. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/package.py +0 -0
  47. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/__init__.py +0 -0
  48. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/boca/__init__.py +0 -0
  49. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/boca/extension.py +0 -0
  50. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/boca/packager.py +0 -0
  51. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/contest_main.py +0 -0
  52. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/importer.py +0 -0
  53. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/main.py +0 -0
  54. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/moj/packager.py +0 -0
  55. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/packager.py +0 -0
  56. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/pkg/packager.py +0 -0
  57. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/importer.py +0 -0
  58. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/packager.py +0 -0
  59. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/polygon_api.py +0 -0
  60. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/test.py +0 -0
  61. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/packaging/polygon/xml_schema.py +0 -0
  62. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/presets/__init__.py +0 -0
  63. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/presets/fetch.py +0 -0
  64. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/presets/lock_schema.py +0 -0
  65. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/presets/schema.py +0 -0
  66. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/remote.py +0 -0
  67. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/retries.py +0 -0
  68. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/sanitizers/warning_stack.py +0 -0
  69. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/schema.py +0 -0
  70. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/setter_config.py +0 -0
  71. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/solutions.py +0 -0
  72. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/state.py +0 -0
  73. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/__init__.py +0 -0
  74. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/build_statements.py +0 -0
  75. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/builders.py +0 -0
  76. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/expander.py +0 -0
  77. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/joiners.py +0 -0
  78. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/latex.py +0 -0
  79. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/latex_jinja.py +0 -0
  80. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/statements/schema.py +0 -0
  81. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/stats.py +0 -0
  82. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/stresses.py +0 -0
  83. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/stressing/__init__.py +0 -0
  84. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/stressing/finder_parser.py +0 -0
  85. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/stressing/generator_parser.py +0 -0
  86. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tasks.py +0 -0
  87. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testcase_extractors.py +0 -0
  88. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testcases/__init__.py +0 -0
  89. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testcases/main.py +0 -0
  90. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testing/__init__.py +0 -0
  91. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testing/testing_package.py +0 -0
  92. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testing/testing_preset.py +0 -0
  93. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/testing/testing_shared.py +0 -0
  94. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/__init__.py +0 -0
  95. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/boca/__init__.py +0 -0
  96. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/boca/main.py +0 -0
  97. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/boca/scrape.py +0 -0
  98. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/boca/scraper.py +0 -0
  99. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/converter.py +0 -0
  100. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/tooling/main.py +0 -0
  101. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/__init__.py +0 -0
  102. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/captured_log.py +0 -0
  103. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/css/app.tcss +0 -0
  104. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/main.py +0 -0
  105. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/__init__.py +0 -0
  106. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/build.py +0 -0
  107. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/command.py +0 -0
  108. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/differ.py +0 -0
  109. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/error.py +0 -0
  110. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/rich_log_modal.py +0 -0
  111. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/run.py +0 -0
  112. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/run_explorer.py +0 -0
  113. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/run_test_explorer.py +0 -0
  114. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/selector.py +0 -0
  115. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/screens/test_explorer.py +0 -0
  116. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/utils/__init__.py +0 -0
  117. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/utils/run_ui.py +0 -0
  118. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/__init__.py +0 -0
  119. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/diff_box.py +0 -0
  120. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/file_log.py +0 -0
  121. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/interaction_box.py +0 -0
  122. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/rich_log_box.py +0 -0
  123. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/test_output_box.py +0 -0
  124. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/ui/widgets/two_sided_test_output_box.py +0 -0
  125. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/unit.py +0 -0
  126. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/box/validators.py +0 -0
  127. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/config.py +0 -0
  128. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/console.py +0 -0
  129. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/__init__.py +0 -0
  130. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/caching.py +0 -0
  131. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/debug_context.py +0 -0
  132. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/grading_context.py +0 -0
  133. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/__init__.py +0 -0
  134. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/cacher.py +0 -0
  135. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/digester.py +0 -0
  136. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/program.py +0 -0
  137. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/sandbox.py +0 -0
  138. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/sandboxes/__init__.py +0 -0
  139. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/sandboxes/stupid_sandbox.py +0 -0
  140. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/sandboxes/tee.py +0 -0
  141. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/judge/storage.py +0 -0
  142. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/limits.py +0 -0
  143. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/profiling.py +0 -0
  144. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/steps.py +0 -0
  145. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/grading/steps_with_caching.py +0 -0
  146. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/providers/__init__.py +0 -0
  147. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/providers/codeforces.py +0 -0
  148. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/providers/provider.py +0 -0
  149. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/checkers/boilerplate.cpp +0 -0
  150. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/checkers/noop.cpp +0 -0
  151. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/default_config.json +0 -0
  152. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/default_setter_config.mac.yml +0 -0
  153. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/default_setter_config.yml +0 -0
  154. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/envs/default.rbx.yml +0 -0
  155. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/checker.sh +0 -0
  156. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compare.sh +0 -0
  157. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/c +0 -0
  158. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/cc +0 -0
  159. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/cpp +0 -0
  160. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/java +0 -0
  161. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/kt +0 -0
  162. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/py2 +0 -0
  163. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/compile/py3 +0 -0
  164. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/c +0 -0
  165. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/cc +0 -0
  166. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/cpp +0 -0
  167. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/java +0 -0
  168. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/kt +0 -0
  169. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/py2 +0 -0
  170. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactive/py3 +0 -0
  171. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactor_compile.sh +0 -0
  172. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/interactor_run.sh +0 -0
  173. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/bkp +0 -0
  174. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/c +0 -0
  175. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/cc +0 -0
  176. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/cpp +0 -0
  177. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/java +0 -0
  178. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/kt +0 -0
  179. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/py2 +0 -0
  180. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/run/py3 +0 -0
  181. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/safeexec.c +0 -0
  182. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/boca/safeexec_compile.sh +0 -0
  183. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/c/compile.sh +0 -0
  184. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/c/prep.sh +0 -0
  185. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/c/run.sh +0 -0
  186. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/compare.sh +0 -0
  187. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/cpp/compile.sh +0 -0
  188. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/cpp/prep.sh +0 -0
  189. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/cpp/run.sh +0 -0
  190. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/interactor_prep.sh +0 -0
  191. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/interactor_run.sh +0 -0
  192. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/java/compile.sh +0 -0
  193. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/java/prep.sh +0 -0
  194. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/java/run.sh +0 -0
  195. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py2/compile.sh +0 -0
  196. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py2/prep.sh +0 -0
  197. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py2/run.sh +0 -0
  198. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py3/compile.sh +0 -0
  199. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py3/prep.sh +0 -0
  200. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/packagers/moj/scripts/py3/run.sh +0 -0
  201. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/contest/.gitignore +0 -0
  202. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/contest/statement/contest.rbx.tex +0 -0
  203. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/contest/statement/instructions.tex +0 -0
  204. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/contest/statement/logo.png +0 -0
  205. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/env.rbx.yml +0 -0
  206. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/preset.rbx.yml +0 -0
  207. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/.gitignore +0 -0
  208. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/gens/gen.cpp +0 -0
  209. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/manual_tests/samples/000.in +0 -0
  210. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/manual_tests/samples/001.in +0 -0
  211. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/rbx.h +0 -0
  212. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/sols/main.cpp +0 -0
  213. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/sols/wa.cpp +0 -0
  214. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/statement/statement.rbx.tex +0 -0
  215. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/testplan/random.py +0 -0
  216. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/testplan/random.txt +0 -0
  217. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/validator.cpp +0 -0
  218. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/presets/default/problem/wcmp.cpp +0 -0
  219. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/templates/rbx.h +0 -0
  220. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/resources/templates/template.cpp +0 -0
  221. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/submitors/__init__.py +0 -0
  222. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/submitors/codeforces.py +0 -0
  223. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/submitors/submitor.py +0 -0
  224. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/testing_utils.py +0 -0
  225. {rbx_cp-0.13.7 → rbx_cp-0.13.8}/rbx/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.13.7
3
+ Version: 0.13.8
4
4
  Summary:
5
5
  Author: Roberto Sales
6
6
  Requires-Python: >=3.9.1,<4.0.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "rbx.cp"
3
- version = "0.13.7"
3
+ version = "0.13.8"
4
4
  description = ""
5
5
  packages = [
6
6
  {include = "rbx"}
@@ -247,9 +247,15 @@ def _get_statement_for_language(language: str) -> Optional[Statement]:
247
247
  def _get_statement_blocks(statement: Statement) -> StatementBlocks:
248
248
  # TODO: actually try to convert to rbxTeX
249
249
  assert statement.type == StatementType.rbxTeX
250
+ pkg = package.find_problem_package_or_die()
251
+ # TODO: pull this from a library, too hacky at the moment
250
252
  builder_problem = StatementBuilderProblem(
251
- package=package.find_problem_package_or_die(),
253
+ package=pkg,
252
254
  statement=statement,
255
+ vars={
256
+ **pkg.expanded_vars,
257
+ **statement.expanded_vars,
258
+ },
253
259
  )
254
260
  with tempfile.TemporaryDirectory() as temp_dir:
255
261
  return render_jinja_blocks(
@@ -181,10 +181,10 @@ def parse_interaction(file: pathlib.Path) -> TestcaseInteraction:
181
181
 
182
182
  while line := f.readline().strip():
183
183
  if line.startswith(interactor_prefix):
184
- stripped = line[len(interactor_prefix) :].strip()
184
+ stripped = line[len(interactor_prefix) :].rstrip()
185
185
  entries.append(TestcaseInteractionEntry(data=stripped, pipe=0))
186
186
  elif line.startswith(solution_prefix):
187
- stripped = line[len(solution_prefix) :].strip()
187
+ stripped = line[len(solution_prefix) :].rstrip()
188
188
  entries.append(TestcaseInteractionEntry(data=stripped, pipe=1))
189
189
  else:
190
190
  raise TestcaseInteractionParsingError(
@@ -204,11 +204,11 @@ def get_alternate_interaction_texts(
204
204
  solution_entries = []
205
205
  for entry in interaction.entries:
206
206
  if entry.pipe == 1:
207
- solution_entries.append(entry.data)
208
- interactor_entries.extend(['\n'] * entry.data.count('\n'))
207
+ solution_entries.append(entry.data + '\n')
208
+ interactor_entries.extend(['\n'] * (entry.data.count('\n') + 1))
209
209
  else:
210
- interactor_entries.append(entry.data)
211
- solution_entries.extend(['\n'] * entry.data.count('\n'))
210
+ interactor_entries.append(entry.data + '\n')
211
+ solution_entries.extend(['\n'] * (entry.data.count('\n') + 1))
212
212
  return ''.join(interactor_entries), ''.join(solution_entries)
213
213
 
214
214
 
@@ -219,4 +219,4 @@ def print_interaction(interaction: TestcaseInteraction):
219
219
  text.stylize('status')
220
220
  else:
221
221
  text.stylize('info')
222
- console.console.print(text, end='')
222
+ console.console.print(text)
@@ -17,6 +17,10 @@ statements:
17
17
  configure:
18
18
  - type: "rbx-tex" # Convert rbxTeX to TeX
19
19
  template: "statement/template.rbx.tex"
20
+ vars:
21
+ # Turn into false to hide time limits and memory limits in the problem statement.
22
+ # Useful for ICPC-style contests where you distribute a separate info sheet.
23
+ show_limits: true
20
24
  - name: "editorial-en"
21
25
  extends: "statement-en"
22
26
  override:
@@ -31,6 +31,8 @@ statements:
31
31
  configure:
32
32
  - type: "rbx-tex" # Convert rbxTeX to TeX
33
33
  template: "statement/template.rbx.tex"
34
+ vars:
35
+ show_limits: true
34
36
  stresses:
35
37
  - name: "stress"
36
38
  generator:
@@ -1,10 +1,16 @@
1
- %- if vars.show_problem is truthy or vars.editorial is falsy
1
+ %- if problem.vars.show_problem is truthy or problem.vars.editorial is falsy
2
2
  \includeProblem
3
3
  %- if problem.short_name is defined
4
4
  [\VAR{problem.short_name}]
5
5
  %- endif
6
6
  {\VAR{problem.title | escape}}{
7
7
 
8
+ %- if problem.vars.show_limits is truthy
9
+ \includeLimits{\VAR{problem.package.timeLimit} ms}{\VAR{problem.package.memoryLimit} MiB}
10
+ %- else
11
+ \vspace{0.55cm}
12
+ %- endif
13
+
8
14
  \VAR{problem.blocks.legend}
9
15
 
10
16
  %- if problem.blocks.input is defined
@@ -20,7 +26,7 @@
20
26
  %- endif
21
27
 
22
28
  %- if problem.samples
23
- \vspace{0.3cm}
29
+ \vspace{0.1cm}
24
30
  \subsection*{\strExamples}
25
31
  %- for sample in problem.samples
26
32
  %- if sample.interaction is not none
@@ -16,6 +16,7 @@
16
16
  \let\mytitleformat\titleformat
17
17
  \let\titleformat\relax
18
18
  \usepackage{logicpuzzle}
19
+ \let\titleformat\mytitleformat
19
20
  \usepackage{enumitem}
20
21
  \usepackage{amsfonts}
21
22
  \usepackage[brazil]{babel}
@@ -76,6 +77,11 @@
76
77
 
77
78
  \setlength{\voffset}{-1in}
78
79
 
80
+ % Increase section text sizes
81
+ \titleformat{\section}{\LARGE\bfseries}{\thesection}{1em}{}
82
+ \titleformat{\subsection}{\Large\bfseries}{\thesubsection}{1em}{}
83
+ \titleformat{\subsubsection}{\normalsize\bfseries}{\thesubsubsection}{1em}{}
84
+
79
85
  \newcommand{\insereArquivo}[1]{
80
86
  \ifnum0\pdffilesize{#1}>0
81
87
  \VerbatimInput[xleftmargin=0mm,numbers=none,obeytabs=true]{#1}\vspace{.5em}
@@ -139,6 +145,15 @@
139
145
  #3
140
146
  }
141
147
 
148
+ \newcommand{\includeLimits}[2]{
149
+ \vspace{0.2cm}
150
+ \begin{center}
151
+ \textit{\strTimeLimit: #1}\\
152
+ \textit{\strMemoryLimit: #2}
153
+ \end{center}
154
+ \vspace{0.25cm}
155
+ }
156
+
142
157
  \newcommand{\inputdesc}[1]{
143
158
  \subsection*{\strInput}
144
159
  {#1} }
@@ -271,11 +286,9 @@
271
286
  \newcounter{pcounter}\setcounter{pcounter}{0}
272
287
  \newcounter{qcounter}\setcounter{qcounter}{0}
273
288
 
274
- \usepackage{titlesec}
275
-
276
- \titlespacing\section{0pt}{6pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
277
- \titlespacing\subsection{0pt}{6pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
278
- \titlespacing\subsubsection{0pt}{6t plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
289
+ \titlespacing\section{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
290
+ \titlespacing\subsection{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
291
+ \titlespacing\subsubsection{0pt}{12pt plus 0pt minus 2pt}{10pt plus 0pt minus 2pt}
279
292
 
280
293
  \newcommand{\InsertTitlePage}
281
294
  {
@@ -15,6 +15,12 @@
15
15
  %- endif
16
16
  {\VAR{problem.title | escape}}{
17
17
 
18
+ %- if problem.vars.show_limits is truthy
19
+ \includeLimits{\VAR{problem.package.timeLimit} ms}{\VAR{problem.package.memoryLimit} MiB}
20
+ %- else
21
+ \vspace{0.55cm}
22
+ %- endif
23
+
18
24
  \VAR{problem.blocks.legend}
19
25
 
20
26
  %- if problem.blocks.input is defined
@@ -30,7 +36,7 @@
30
36
  %- endif
31
37
 
32
38
  %- if problem.samples
33
- \vspace{0.3cm}
39
+ \vspace{0.1cm}
34
40
  \subsection*{\strExamples}
35
41
  %- for sample in problem.samples
36
42
  %- if sample.interaction is not none
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes