[task]
version=
use=
task_type=
score_precision=

[tests]
has_sample_test=

in_gen=
gen_type=
#!if tests in_gen!=
in_format=
out_format=
validator=
validator_type=
#!if tests validator!=

out_check=
out_judge=
#!if tests out_check==judge
judge_type=
#!if tests out_check==judge
judge_needs_in=
#!if task task_type==batch
#!if tests out_check==judge
judge_needs_out=
#!if task task_type==batch
#!if tests out_check==judge

tokens_ignore_newlines=
#!if tests out_check==tokens
tokens_ignore_case=
#!if tests out_check==tokens
tokens_float_rel_error=
#!if tests out_check==tokens
tokens_float_abs_error=
#!if tests out_check==tokens

shuffle_mode=
#!if tests out_check==shuffle
shuffle_ignore_case=
#!if tests out_check==shuffle

static_subdir=

name=
points=
in_globs=
predecessors=

checks.no_unused_inputs=
checks.all_inputs_in_last_test=
checks.one_input_in_each_nonsample_test=
checks.generator_respects_seed=
checks.validate=
checks.different_outputs=
checks.solution_for_this_test=
checks.fuzzing_thoroughness=
#!if tests out_check==judge
checks.judge_rejects_trailing_string=
#!if tests out_check==judge

opendata.online_validity=

[test{num}]
#!regex test\d{2}
#!default tests
name=
points=
in_globs=
predecessors=
checks.generator_respects_seed=
checks.validate=
checks.solution_for_this_test=
checks.different_outputs=
opendata.online_validity=

[solution_{solution}]
#!regex solution_(.*)
#!default solutions

run=
primary=

points=
#!if solution_{solution} points_min==X
#!if solution_{solution} points_max==X
points_min=
#!if solution_{solution} points==X
points_max=
#!if solution_{solution} points==X

tests=

[solutions]
run=
primary=
tests=
points=
points_min=
points_max=

# -------------- runs --------------

[run]
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_gen]
#!default run
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_gen:{program}]
#!regex run_gen:(.*)
#!default run_gen
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_validator]
#!default run
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_validator:{program}]
#!regex run_validator:(.*)
#!default run_validator
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_solution]
#!default run
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_primary_solution]
#!default run_solution
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_secondary_solution]
#!default run_solution
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_solution:{program}]
#!regex run_solution:(.*)
#!dynamic_default
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_judge]
#!default run
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

[run_judge:{program}]
#!regex run_judge:(.*)
#!default run_judge
build=
exec=
time_limit=
clock_mul=
clock_min=
mem_limit=
process_limit=
args=
subdir=
env_{KEY}=
#!regex env_(.*)

# -------------- builds--------------
[build]
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build:{program}]
#!regex build:(.*)
#!default build
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_gen]
#!default build
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_gen:{program}]
#!regex build_gen:(.*)
#!default build_gen
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_validator]
#!default build
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_validator:{program}]
#!regex build_validator:(.*)
#!default build_validator
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_solution]
#!default build
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_solution:{program}]
#!regex build_solution:(.*)
#!default build_solution
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_judge]
#!default build
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[build_judge:{program}]
#!regex build_judge:(.*)
#!default build_judge
sources=
comp_args=
extras=
entrypoint=
strategy=

headers_c=
extra_sources_c=
headers_cpp=
extra_sources_cpp=
extra_sources_py=
extra_sources_java=

[limits]
input_max_size=
output_max_size=

[cms]
name=
title=
submission_format=
time_limit=
mem_limit=
max_submissions=
min_submission_interval=
score_mode=
feedback_level=

stubs=
headers=
