aboutsummaryrefslogtreecommitdiff
path: root/boca-1.5.2/doc
diff options
context:
space:
mode:
authorcassio <cassiopc@gmail.com>2013-07-02 05:44:46 +0000
committercassio <cassiopc@gmail.com>2013-07-02 05:44:46 +0000
commita9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /boca-1.5.2/doc
parent94caebadeb66ad7b453d4258a796979cafb758b0 (diff)
downloadboca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.tar.gz
boca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.zip
restructuring of boca's git
Diffstat (limited to 'boca-1.5.2/doc')
-rw-r--r--boca-1.5.2/doc/.htaccess1
-rw-r--r--boca-1.5.2/doc/ADMIN.txt469
-rw-r--r--boca-1.5.2/doc/APACHE.txt88
-rw-r--r--boca-1.5.2/doc/AUTOJUDGING.txt128
-rw-r--r--boca-1.5.2/doc/INSTALL.txt197
-rw-r--r--boca-1.5.2/doc/LICENSE.txt674
-rwxr-xr-xboca-1.5.2/doc/PC2_Team.tab6
-rw-r--r--boca-1.5.2/doc/READMEubuntu.txt37
-rw-r--r--boca-1.5.2/doc/READMEvm.txt167
-rwxr-xr-xboca-1.5.2/doc/Teams.tsv9
-rw-r--r--boca-1.5.2/doc/acknowledgments.txt40
-rw-r--r--boca-1.5.2/doc/changelog.txt197
-rwxr-xr-xboca-1.5.2/doc/dump.sh27
-rw-r--r--boca-1.5.2/doc/html/.htaccess1
-rw-r--r--boca-1.5.2/doc/html/manualjudge.en.html203
-rw-r--r--boca-1.5.2/doc/html/manualjudge.pt_br.html219
-rw-r--r--boca-1.5.2/doc/html/manualteam.en.html198
-rw-r--r--boca-1.5.2/doc/html/manualteam.pt_br.html227
-rw-r--r--boca-1.5.2/doc/import-user.txt114
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi.zipbin22384 -> 0 bytes
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/compare/c97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/compare/cpp97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/compare/java97
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/compile/c172
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/compile/cpp172
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/compile/java189
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/compile/pas172
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/description/abacaxi.txt1
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/description/problem.info3
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/input/abacaxi25
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/limits/c15
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/limits/cpp15
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/limits/java15
-rw-r--r--boca-1.5.2/doc/problemexamples/abacaxi/output/abacaxi24
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/run/c128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/run/cpp128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/run/java183
-rwxr-xr-xboca-1.5.2/doc/problemexamples/abacaxi/tests/c36
-rw-r--r--boca-1.5.2/doc/problemexamples/bits.zipbin22200 -> 0 bytes
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/compare/c97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/compare/cpp97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/compare/java97
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/compile/c172
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/compile/cpp172
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/compile/java189
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/compile/pas172
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/description/bits.txt1
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/description/problem.info3
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/input/bits9
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/limits/c15
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/limits/cpp15
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/limits/java15
-rw-r--r--boca-1.5.2/doc/problemexamples/bits/output/bits24
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/run/c128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/run/cpp128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/run/java183
-rwxr-xr-xboca-1.5.2/doc/problemexamples/bits/tests/c36
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga.zipbin22321 -> 0 bytes
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/compare/c97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/compare/cpp97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/compare/java97
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/compile/c172
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/compile/cpp172
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/compile/java189
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/compile/pas172
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/description/formiga.txt1
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/description/problem.info3
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/input/formiga15
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/limits/c15
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/limits/cpp15
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/limits/java15
-rw-r--r--boca-1.5.2/doc/problemexamples/formiga/output/formiga14
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/run/c128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/run/cpp128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/run/java183
-rwxr-xr-xboca-1.5.2/doc/problemexamples/formiga/tests/c36
-rwxr-xr-xboca-1.5.2/doc/problemexamples/gen_examples.sh17
-rw-r--r--boca-1.5.2/doc/problemexamples/multas.zipbin24161 -> 0 bytes
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/compare/c97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/compare/cpp97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/compare/java97
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/compile/c172
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/compile/cpp172
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/compile/java189
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/compile/pas172
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/description/m.txt1
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/description/problem.info3
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/input/file518
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/limits/c15
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/limits/cpp15
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/limits/java15
-rw-r--r--boca-1.5.2/doc/problemexamples/multas/output/file466
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/run/c128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/run/cpp128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/run/java183
-rwxr-xr-xboca-1.5.2/doc/problemexamples/multas/tests/c36
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate.zipbin22267 -> 0 bytes
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/compare/c97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/compare/cpp97
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/compare/java97
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/compile/c172
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/compile/cpp172
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/compile/java189
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/compile/pas172
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/description/desc.txt1
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/description/problem.info3
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/input/file11
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/limits/c15
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/limits/cpp15
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/limits/java15
-rw-r--r--boca-1.5.2/doc/problemexamples/problemtemplate/output/file11
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/run/c128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/run/cpp128
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/run/java183
-rwxr-xr-xboca-1.5.2/doc/problemexamples/problemtemplate/tests/c36
-rw-r--r--boca-1.5.2/doc/tests/fontes/abacaxi-yes.c48
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-compile.c5
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-compile.cpp5
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-compile.java23
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-compile.pas27
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-diffbug.c25
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-incorrect.c17
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-incorrect.cpp18
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-incorrect.java23
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-incorrect.pas27
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-outputformat.c17
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-outputformat.cpp17
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-outputformat.java23
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-outputformat.pas27
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-runtime.c5
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-runtime.cpp5
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-runtime.java24
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-runtime.pas27
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-timelimit.c8
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-timelimit.cpp8
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-timelimit.java10
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-timelimit.pas8
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-yes.c17
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-yes.cpp18
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-yes.java23
-rw-r--r--boca-1.5.2/doc/tests/fontes/bits-yes.pas27
-rw-r--r--boca-1.5.2/doc/tests/fontes/formiga-yes.c68
-rw-r--r--boca-1.5.2/doc/tests/fontes/grid.java10
-rw-r--r--boca-1.5.2/doc/tests/fontes/multas-yes.c85
-rw-r--r--boca-1.5.2/doc/tests/in_out/abacaxi.in25
-rw-r--r--boca-1.5.2/doc/tests/in_out/abacaxi.sol24
-rw-r--r--boca-1.5.2/doc/tests/in_out/bits.in9
-rw-r--r--boca-1.5.2/doc/tests/in_out/bits.sol24
-rw-r--r--boca-1.5.2/doc/tests/in_out/formiga.in15
-rw-r--r--boca-1.5.2/doc/tests/in_out/formiga.sol14
-rw-r--r--boca-1.5.2/doc/tests/in_out/multas.in518
-rw-r--r--boca-1.5.2/doc/tests/in_out/multas.sol466
152 files changed, 0 insertions, 13456 deletions
diff --git a/boca-1.5.2/doc/.htaccess b/boca-1.5.2/doc/.htaccess
deleted file mode 100644
index 3a42882..0000000
--- a/boca-1.5.2/doc/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/boca-1.5.2/doc/ADMIN.txt b/boca-1.5.2/doc/ADMIN.txt
deleted file mode 100644
index 657e5fc..0000000
--- a/boca-1.5.2/doc/ADMIN.txt
+++ /dev/null
@@ -1,469 +0,0 @@
-How to create a contest
------------------------
-(Last updated: 24/aug/2012 by cassio@ime.usp.br)
-
-(This file also explains details about problem packages, multi-site
-contests, and other relevant topics to run a contest. Please read it
-in full.)
-
-1) Log in as "system", empty password (or the password that is set in
-the file src/private/conf.php under name "basepass").
-
-2) Click on "Options" and change the password of
-the user "system" to something secret and safe.
-
-3a) (Most likely you don't want to do this item)
-If you have an import file, click on "Import",
-choose the file, click to Send it and go to step 4.
-Note that many follow steps will be already complete.
-However, take a time to look at them and verify if
-everything is ok.
-
-3b) Click on "Contest" and create a new contest
-(do it by choosing the "new" item of the combo).
-
-4) Change/Verify the information of the new created
-contest and click on "Send". Then click on
-"Activate" to make the new contest activated
-(after that you will be automatically logged off).
-Here some explanation about available fields:
-* Name: name of the contest
-* Start date: when the contest will begin
-* Duration: how many minutes the contest have
-* Stop answering: number of minutes from which
-teams don't receive the information if their
-runs were accepted or not. Usually choose 285
-for fifteen minutes without answers to teams.
-* Stop scoreboard: number of minutes from which
-the scoreboard becomes frozen (to keep the winner
-secret :-). Usual value: 240.
-* Penalty: number of minutes a team is penalized
-for each time it submits a code that is not
-accepted (this minutes are counted only if the
-team receives an YES for the corresponding problem,
-as done in ACM-ICPC like contests). Usual value: 20.
-* Max file size allowed for teams: for security reasons.
-If you know that source code files are larger, choose
-another value.
-* Contest main site number: which is the main site
-of the contest (in case of multi-site contests). Usually 1.
-IF RUNNING MULTIPLE SITES, BE SURE TO USE THE CORRECT
-NUMBERS HERE ASSIGNED BY WHOEVER IS COORDINATING
-THE MULTI-SITE CONTEST!!
-* Contest local site number: which is the number of the
-current site of the contest (in case of multi-site contests).
-IF RUNNING MULTIPLE SITES, BE SURE TO USE THE CORRECT
-NUMBERS HERE ASSIGNED BY WHOEVER IS COORDINATING
-THE MULTI-SITE CONTEST!!
-
-5) Log in as "admin", empty password (or the password that is set in
-the file src/private/conf.php under name "basepass").
-
-6) Click on "Options" and change the password of
-the user "admin" to something secret and SAFE!!
-
-7) (This can be probably skipped if they are already included, which
-is the case in the newest BOCA versions)
-Include any answers for submissions that you might
-like to have in addition to the standard ones.
-Click on "Answers" and use the two fields to input
-the answers. Already pre-included are:
-1 YES
-2 NO - Compilation error
-3 NO - Runtime error
-4 NO - Time limit exceeded
-5 NO - Presentation error
-6 NO - Wrong answer
-7 NO - If possible, contact staff
-Even the pre-included ones can be changed, but that is not
-recommended.
-
-If you make some mistake, you can re-insert the answer
-even without deleting it. Just fill up the fields again,
-repeating the answer number (first field). In this case
-the database record will be updated. But take care: any
-changes with the contest running will affect all records
-of the contest. Do not delete any record during the contest
-unless you really know what you are doing. The updates
-cascade on the database, removing or updating everywhere
-needed.
-
-8) (This can be probably skipped if they are already included, which
-is the case in the newest BOCA versions)
-Include the contest languages. Use the "Languages"
-item for it. Each language is defined by a number,
-a name and the extension of the source files in such language.
-(*** Note that BOCA versions prior to 1.5 had also the scripts for
-compiling and running the submitted codes, and one for verifying
-if the output generated is equilavent to the judge's output. Ignore
-this comments if you are running BOCA 1.5 or later.
-The scripts should be any executable file permitted
-in the computer that will run the autojudging
-environment (pay attetion on CRs or CRLFs for EOLs.
-This causes problems in some systems).
-It's also possible to import the language
-information from a file.
-The scripts are available together with BOCA in the
-"bits" example directory of the documentation. Usually
-values are:
-1 C C.run compare.sh
-2 C++ Cpp.run compare.sh
-3 Java Java.run compare.sh
-
-Remember, all these scripts are available on "bits" directory.
-Take some minutes to look into those script files, because
-they have path specifications for some executables, such as gcc,
-g++, javac, etc. These paths must be fixed (if needed) before
-uploading the file to BOCA. Usually the default values work
-just fine. This ends the part about BOCA prior to 1.5 **)
-
-For BOCA >= 1.5, all scripts to run the submission are inside the
-problem package. Please take a look into the examples in the directory
-doc/problemexamples/ and use them as basis for specifying new
-problems. Later on we discuss further how problems are specified.
-
-If you make some mistake, you can re-insert the language
-even without deleting it. Just fill up the fields again,
-repeating the language number (first field). In this case
-the database record will be updated. But take care: any
-changes with the contest running will affect all records
-of the contest. Do not delete any record during the contest
-unless you really know what you are doing. The updates
-cascade on the database, removing or updating everywhere
-necessary.
-
-
-9) Include the problems. Click on "Problems" and
-use the form available there. The fields are:
-* Number: number of the problem. Start with 1.
-* Name: nickname of the problem. Good choices are
-problem letters: A, B, C, D, etc. A good practice is to
-create the warm-up problems e.g. using letters plus a dot,
-like A., B., and then the contest problem with A, B, C, D...
-Then, to run the warm-up, one might delete all the contest
-problems, which later can be undeleted for the real contest,
-while the warm-up problem deleted. Do not forget to delete all
-clarification, runs, tasks and bkps between warump and real
-contest. This can be done from the tab Site (there are four buttons
-there, one for deleting each of these items).
-
-* Problem package (ZIP): a zip file (encrypted or not) containing
-all information about the problem. See below for a description
-of how this ZIP must be organized.
-* Color name: name of the color for this problem. It will
-be used if the balloon figure cannot be displayed.
-* Color (RGB): enter the rgb value, in the standard HTML
-format for colors, for this problem. E.g. 000000 is black,
-FFFFFF is white, FF0000 is red, 00FF00 is green and so on.
-Colors are interesting because BOCA presents the balloons
-with the problem colors. Nevertheless, they are not essential
-and can be left empty.
-
-If you make some mistake, you can re-insert the problem
-even without deleting it. Just fill up the fields again,
-repeating the problem number (first field). In this case
-the database record will be updated. But take care: any
-changes with the contest running will affect all records
-of the contest. Do not delete any record during the contest
-unless you really know what you are doing. The updates
-cascade on the database, removing or updating everywhere
-needed.
-
-===== ATTENTION: READ THIS CAREFULLY IF YOU ARE GOING
-===== TO CREATE YOUR OWN PROBLEM PACKAGE FILES. IF YOU
-===== ARE RUNNING A CONTEST THAT HAS THESE FILES ALREADY
-===== PREPARED FOR YOU, THEN THIS IS NOT SO IMPORTANT...
-PROBLEM PACKAGE: since BOCA 1.5, the problems are
-specified by a ZIP file, which shall have the following folders
-inside it:
-compare/
-compile/
-description/
-input/
-limits/
-output/
-run/
-tests/
-
-Inside compare/, compile/, limits/, runs/, there should be an
-executable (usually a shell script) with the name of each language
-extension that is configured in BOCA (within tab languages). The
-common files are c, cpp and java.
-Inside description/, there must exist a text file named problem.info,
-with the following lines:
-basename=shortfilename
-fullname=This is the problem full name
-descfile=desc.txt
-
-The left-side of this equalities are tags and must not be changed. The
-right-hand side are the values that must be specified.
-shortfilename is the name of the java class that must contain the main()
-function. This is the name that appears in the booklet of problems
-that is distributed to the teams. This is a mandatory field.
-"This is the problem full name" is to be replaced by the full name of
-the problem, as it appears in the booklet of problems. This is also a
-mandatory field. The line of descfile must contain the name of a file
-that will be made available for the teams in the BOCA interface. It is
-the description of the problem, and can have any format. Usual formats
-are .txt and .pdf files. This field is not mandatory, and this line
-can be removed if one does not want to make the problem description
-available inside BOCA.
-
-Inside input/ and output/ there must have files in a one-to-one
-correspondence and with the same filenames. Each file in input will be
-given as standard input to the code that has been submitted, and later
-the generated output will be compared to the file with same name that
-is in the output/ folder.
-
-The folder tests/ may contain any executable files that are meant to
-test the autojudge system in the first time it is run. To clarify all
-the steps, the workflow of the BOCA autojudge system, which dictates how
-the problem must be specified, is as follows:
-
-When a submission arrives for the first time for a given problem, the
-corresponding problem package is downloaded by the autojudge from the
-server. Then the autojudge reads the description/problem.info to
-obtain the basename of the problem, runs the scripts in the directory
-tests/ to check if everything is ok (the person who specified the
-problem package can include any desired code to be tested in such
-directory, and this code will be run and should return zero on success
-and non-zero otherwise), runs the scripts inside limits/ for each language
-to obtain the time-limits of the problem, and then proceeds to run the
-submission itself. If the problem had already been run by the
-autojudge, then these steps are not performed, but are cached and the
-information is reused later.
-
-To test a submission, the autojudge runs the script in the compile/
-folder corresponding to the language of the submission, which obtains
-an executable version of the code. Then the script of run/ for the
-given language is executed for each file in the input/ directory, and
-finally the script in compare/ is performed (again for the given
-language and every file in the output/ directory), checking if the
-results are correct.
-
-Take a look in the doc/problemexamples/.
-There is a script named gen_examples.sh with some command-lines
-to generated encrypted problem zip files. The main code for that is
-the script createproblemzip.php. If it is not to encrypt the problem
-file, then it is enough to zip the directory with the problem data as
-described, e.g. by doing:
-
-# cd doc/problemexamples
-# zip -r bits.zip bits/
-
-and the file bits.zip is to be included in the problem form of BOCA.
-
-
-10) Include the users. There are five types of users
-that can be used: admin, team, judge, staff and score.
-* admin: manage the contest. He(she) has access to every
-clarification, run, logs, tasks, etc of the contest.
-It is him(her) that starts and ends the competition
-(although it can be done automaticly by the system).
-You don't need to have more than one or two admin accounts. It is
-usually useful to have two admin accounts just in case you have any
-problem with one of them.
-* judge: responsible for judging the submission and
-answering the clarification. It's used to have from
-three to eight judges. Note that admins, judges and
-staff must have well formed complicated passwords.
-There is one judge, which is appointed by the admin using the tab
-"Site", which is designated as chief judge, and has some additional
-tasks such as fixing submission answers that are not in agreement
-among different judges.
-* staff: responsible for printing files, delivery
-balloons, helping teams with hardware problems, etc.
-Normally one staff account (for the chief staff person)
-is enough.
-* score: account with the scoreboard. It has no other
-privilegies. This account is good for making the coachs
-informed about the results and for making the results
-available to remote people. Usually a single score account is
-enough.
-* team: here is where the contest happens. These accounts
-are for the teams. It is safest to restrict the access of each team by
-IP addresses. The same thing may be done for the other users too
-(and it's a good practice to improve security).
-* site: the user of type site is only used as the means of
-communication between the main server and the local servers in a
-multi-site contest. On local sites, this user can be set up with
-standard data (and strong password). The details on how to step up a
-user of type site are usually given by the admin of the main site. The
-users of type "site" on the main server have an important
-characteristic: they are not allowed to directly log in to the main
-site, but connections are established from the local sites. On the
-main site, the ICPC ID (see below) of the user of type "site" must be
-a number corresponding to the site from which the connection will
-come. THIS IS AN IMPORTANT INFORMATION FOR MULTI-SITE CONTESTS ONLY.
-
-The users can be imported by a text file too. See
-IMPORT.txt for details.
-The fields presented in the "Users" item are:
-* User site number: number of the site of the user. Usually 1 in a
-single site contest. or the corresponding site number in a multi-site
-contest. PAY ATTENTION TO USE THE PROPER SITE NUMBER.
-* User number: number of the user (used internally
-by the system). Usually equals the team number, but doesn't have
-to. It only has to be a unique number among users.
-* Username: nickname of the user. Used to be
-team1, team2, team30, judge1, judge2, admin1, staff1, etc.
-It's possible to have the same usernumber and username
-in different sites. In a single site contest, all user numbers
-and usernames must be distinct.
-* ICPC ID: ID Number of team in the ICPC System. In case of users of
-type "site" for a multi-site contest, this field tells the site number
-of the user when connecting to the main server.
-* Type: type of the user (team, judge, staff, admin, score, site)
-* Enabled: is the user enabled?
-* Multilogins: can the user make more than one connection
-at the same time? It's not a problem to allow that if
-the users are restricted by IP numbers.
-* User full name: complete name of the user. In case of teams,
-it's convinient to put a short name for the team between [ ] and then
-the full name of the team. This does not include the institution
-name. E.g.
-"[Best Ever] Best team name ever created in history"
-
-* User description: some detail about the user, like institution name
-and students names. The rule of thumb is to have a short institution
-name between [ ], then the full institution name between another pair [ ],
-then any additional description that you may want to include. E.g.
-"[IME-USP][Institute of Maths and Statistics] Person1, Person2, Person3"
-
-* User IP: if set, it restricts from where the user can log in
-the system. It is recommended to restrict the logins by IP numbers.
-Check the IP numbers of the computers where the teams are supposed to
-be. If using ICPC linux, do not check the IP inside the virtual
-machine, but the IP of the actual computer where the virtual machine
-is run.
-* Password: choose strong passwords!
-
-If you make some mistake, you can alter the user fields.
-Click on the user number in the table and proceed to its
-fields below in the page. Edit them and resubmit. Note that,
-if you do not fill a new password, the old password is kept.
-IMPORTANT WARNING: for users, it is possible to click on
-a number for editting the information. All other admin flips
-regarding problems, answers, languages, etc do not follow the
-same idea. If you click on those number, the corresponding
-record will be removed, together with all database information
-related to that record. So DO NOT REMOVE ANYTHING DURING
-THE CONTEST.
-
-
-11) Configure the site data in the "Site" item. The fields
-are:
-* Site number: number of the site, with a "new" item to create
-new sites. This is not necessary for single-site contests. In
-multi-site contest, be sure to have your site number correctly
-assigned to you by whoever is running the main site.
-* Name: name of the site
-* Start date, End date, stop answering, stop score: equivalent
-to admin's contest page. Usually the default values are enough.
-* Runs/clars that will be judged here: for multi-site contest,
-it defines which runs/clars will be judged in this site. It
-is a list of site numbers, separated by commas. For a single
-site contest, just leave the site number here.
-* Tasks that will be treated here: same meaning of the
-previous field. For single contests or multi-site contest
-it's used to have each site treating its tasks. So leave here
-the number of the local site.
-* Active: is the site active? I hope yes.
-* Autoend: should the contest ends automaticly at the defined
-* time? Usually yes.
-* Globalscore: site numbers of the teams that should be included in
-the scoreboard. Not needed for single-site contests. For multi-site,
-this defines which information to include in the local scoreboard.
-* Autojudge: do not use this option for a contest unless you tested
-it and are fine with the results. It basically tell the autojudge to
-take final decisions about the submissions. In a real contest, it is
-ideal that a human judge check each of the submissions before sending
-the result to the teams.
-* Scorelevel: detail level of information on the scoreboard.
-0 means no details while 4 means maximum detail. 2 is a good
-choice, although, for single contests, 3 and 4 are also ok and
-more informative. A negative number means the same as its
-absolute value counterpart, but keeps the problem names hidden
-(useful when the same problem set is used in sites with very
-distinct start times).
-
-Furthermore, there are buttons for: start the contest,
-end the contest, delete completely (and without undo) the
-runs, clarifications and tasks of the site, disable logins,
-enable logins and force all users to log off.
-
-The start and stop buttons should not be used as the contest
-start and stop are automatic. They are just for special
-purpose, like a energy fault. In this case, you may, when
-energy supply become stable again, use the "Stop at" field and
-button to indicate when the contest should have stopped and
-then the "start now" button to re-start the contest. This will
-make the BOCA see this interval time as they never happened,
-and all penalty and time calculations will be made correctly.
-
-The "delete all" fields (delete all clars, delete all runs and
-delete all tasks, delete all bkps) are useful (AND IMPORTANT!)
-for cleaning everything up just after finished the warmup.
-Between the warmup and the real contest, you
-do not need to create another BOCA contest. Just delete all warmup
-problems, all clars, all tasks and all runs (keeping the languages,
-users and answers). Then undelete the problems of the real contest (if
-you have already included them), or enter them for the first time,
-reenter the contest information (start date and duration), and you are
-ready.
-
-12) It's all done.
-
-Important Note
---------------
-Any deletion of problems, languages, answers, users, etc will
-promptly delete all records related. So deleting an answer
-will remove all runs with that answer. Deleting a problem
-will delete all clarifications and runs related to that
-problem. This way, it's not recommended to remove any of these
-things during the contest.
-
-===
-=== IMPORTANT INFORMATION FOR SITES WITH MANY TEAMS ===
-===
-Please read the file APACHE.txt
-
-===
-=== IMPORTANT INFORMATION FOR MULTI-SITE CONTESTS ===
-===
-If you are participating in a multi-site contest as a local site, you
-may simply wait for the main site to set up languages and problems for
-you. If you connect to the main site (by logging in with the user of
-type site you have created) and the problems are already defined
-there in the main site, then they will be downloaded to your site
-automatically. Other information, such as time of contest, inclusion
-of users, languages, etc, can all be downloaded from the main site if
-this has already been specified there. So the natural procedure is to
-create a user type "site" and log in with it, then enter the
-credentials to the main site (it will be asked after the log in) and
-see what information is already downloaded from the main site, before
-spending time included everything by yourself.
-===
-===
-
-Contacts and Copyrights
------------------------
-BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
-http://www.ime.usp.br/~cassio/boca
-
-////////////////////////////////////////////////////////////////////////////////
-//BOCA Online Contest Administrator
-// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-////////////////////////////////////////////////////////////////////////////////
diff --git a/boca-1.5.2/doc/APACHE.txt b/boca-1.5.2/doc/APACHE.txt
deleted file mode 100644
index 998f0cf..0000000
--- a/boca-1.5.2/doc/APACHE.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-COMMENTS ON THE CONFIGURATION OF APACHE FOR LARGE SITES
------------------------------------------------------
-(File last updated on 25/October/2012)
-
-If you have a large site, for instance with more than 50 teams, then
-the best practice is to decrease the number of threads/servers that
-apache starts (yes, I said to DECREASE). The problem is that the computers
-are not so powerful, and apache is usually configured with too many of them.
-If there are too many requests, instead of queuing them, apache tries to
-answer all in parallel, and the server suffers a lot. This can be changed in the
-/etc/apache2/apache.conf file, as below (well, the exact values to use
-depend on your site, the original config has too high numbers):
-
-
-# prefork MPM
-# StartServers: number of server processes to start
-# MinSpareServers: minimum number of server processes which are kept spare
-# MaxSpareServers: maximum number of server processes which are kept spare
-# MaxClients: maximum number of server processes allowed to start
-# MaxRequestsPerChild: maximum number of requests a server process serves
-<IfModule mpm_prefork_module>
- StartServers 3
- MinSpareServers 3
- MaxSpareServers 6
- MaxClients 40
- MaxRequestsPerChild 0
-</IfModule>
-
-# worker MPM
-# StartServers: initial number of server processes to start
-# MinSpareThreads: minimum number of worker threads which are kept spare
-# MaxSpareThreads: maximum number of worker threads which are kept spare
-# ThreadLimit: ThreadsPerChild can be changed to this maximum value during a
-# graceful restart. ThreadLimit can only be changed by stopping
-# and starting Apache.
-# ThreadsPerChild: constant number of worker threads in each server process
-# MaxClients: maximum number of simultaneous client connections
-# MaxRequestsPerChild: maximum number of requests a server process serves
-<IfModule mpm_worker_module>
- StartServers 2
- MinSpareThreads 10
- MaxSpareThreads 30
- ThreadLimit 32
- ThreadsPerChild 10
- MaxClients 40
- MaxRequestsPerChild 0
-</IfModule>
-
-# event MPM
-# StartServers: initial number of server processes to start
-# MinSpareThreads: minimum number of worker threads which are kept spare
-# MaxSpareThreads: maximum number of worker threads which are kept spare
-# ThreadsPerChild: constant number of worker threads in each server process
-# MaxClients: maximum number of simultaneous client connections
-# MaxRequestsPerChild: maximum number of requests a server process serves
-<IfModule mpm_event_module>
- StartServers 2
- MinSpareThreads 10
- MaxSpareThreads 30
- ThreadLimit 32
- ThreadsPerChild 10
- MaxClients 40
- MaxRequestsPerChild 0
-</IfModule>
-
-
-
-Contacts and Copyrights
------------------------
-BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
-http://www.ime.usp.br/~cassio/boca
-
-////////////////////////////////////////////////////////////////////////////////
-//BOCA Online Contest Administrator
-// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-////////////////////////////////////////////////////////////////////////////////
diff --git a/boca-1.5.2/doc/AUTOJUDGING.txt b/boca-1.5.2/doc/AUTOJUDGING.txt
deleted file mode 100644
index cf81f06..0000000
--- a/boca-1.5.2/doc/AUTOJUDGING.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-(Last updated 18/oct/2011 by cassio@ime.usp.br. See copyright notice below.)
-
-AUTOJUDGING.txt
----------------
-
-To help the process of judging, the BOCA system provides
-a php script that is able to execute some user defined
-script in order to compile, execute and compare the output
-generated by teams with the correct output. This procedure
-is not essential to the system, since each judge is capable
-to download from BOCA all the files needed to evaluate a
-submission.
-
-The propose here is not to have a automated scheme for
-submission evaluation, but a supporting system that can
-help judges to do their job. In this way, the autojudging
-provides to the judge the data generated by the scripts
-when trying to compile, to execute and to compare the results.
-This data is presented in a formatted way during the judging
-process inside the BOCA web interface, and can help the
-judge to evaluate the submission. If the autojudging is
-not enabled in the contest, the judges will see just some
-"unavailable" texts when judging a submission, and they
-will have to execute the whole process by theirselves.
-
-To start the autojudging procedure, the only thing needed
-is to run the autojudging.php script from some commandline
-shell. Note that it may be necessary to change the permissions
-of private/conf.php file to something more readable and the php.ini
-file to turn safe_mode off (on the computer running the
-autojudging scheme). Furthermore, verify whether the private/conf.php
-options are correctly pointing to the postgresql server/users
-and if the current working directory (ie, ".") is included
-in the PATH environment variable.
-
-$ sudo /bin/bash
-# cd /var/www/boca/src
-# /var/www/boca/tools/autojudge.sh
-
-The autojudging.php will stay running until CRTL+C is
-pressed or it's killed by some other way. Autojudging waits
-for a new submission, takes it and executes the
-compiling/running/comparing scripts defined in BOCA for the
-corresponding language/problem (this information is all included
-in the problem package for each problem). More details about them
-are in the ADMIN.txt file and in the examples of the folder
-doc/problemexamples/
-
-As long as the autojudging php script will execute
-code from teams, these codes may contain malicious
-procedures. Thus it is essential that a dedicated
-computer be allocated only for the autojudging
-scheme. Furthermore, users with shell on this computer
-could eventually see important data which they should not
-be allowed. This computer must have the same requirements
-as the one running the BOCA web interface (but it
-does not need postgresql neither a running web server),
-and it needs to be configured properly. All the steps
-described in INSTALL.txt applies to this new computer,
-but three important things should be noted:
-
-(ATTENTION: IF YOU ARE USING THE ICPC LINUX VIRTUAL
-MACHINE, THEN ALL THE FOLLOWING SHOULD ALREADY
-BE DONE FOR YOU...)
-
-1) the computer must have a firewall that
-only permits connections between it and the main BOCA
-server (this is an important security issue). This is automatically
-done if you are using the ICPC linux virtual machine, which is in fact
-the best way to run the autojudging system.
-
-2) the src/private/conf.php file must be configure properly
-with the correct location of the boca database
-(probably it will be needed tcp/ip connection to
-the postgresql at the main BOCA server), the
-correct user/password for database access, the
-local IP number and the current contest number.
-
-3) the postgresql running at the main BOCA server
-will have to be configured to accept connections
-from the IP of the autojudging server. This can
-be achieved inserting the line
-
-host all all IPAUTOJUDGING 255.255.255.255 md5
-
-in the pg_hba.conf file at the main BOCA server, where IPAUTOJUDGING
-is to be replaced by the actual IP of the computer running the
-autojudging script. Note that if run within a virtual machine, one
-must take the IP of the host computer, not of the virtual machine for
-this configuration. If the postgresql server is already configured to
-accept incoming connections from all IPs, then this is not necessary.
-
-Talking a little bit more about the compiling/running
-script, it will be responsible for running the executable
-code generated from the team's source. This is exactly
-where the danger lives. To decrease the risk and to have
-control over the time spent by the team's code, the C
-source code safeexec.c (tools directory) should be used.
-It was designed to execute other programs with lower
-privilegies and with a time limit set. It is enough to
-run "gcc -O2 -o safeexec safeexec.c" for compiling and it is
-necessary to make a setuid root: "chown root.root safeexec"
-and "chmod 4555 safeexec" for running. This safeexec must be
-placed in a folder included in the path, usually copying it to
-/usr/bin will suffice: "cp -a safeexec /usr/bin" (note the -a)
-
-
-Contacts and Copyrights
------------------------
-BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
-http://www.ime.usp.br/~cassio/boca
-
-////////////////////////////////////////////////////////////////////////////////
-//BOCA Online Contest Administrator
-// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-////////////////////////////////////////////////////////////////////////////////
diff --git a/boca-1.5.2/doc/INSTALL.txt b/boca-1.5.2/doc/INSTALL.txt
deleted file mode 100644
index 9c5fd57..0000000
--- a/boca-1.5.2/doc/INSTALL.txt
+++ /dev/null
@@ -1,197 +0,0 @@
-(Last modified 24/aug/2012 by cassio@ime.usp.br. See Copyright note below.)
-
-Requirements
-------------
-The system was tested with:
-* postgresql 8.2+ / 9.1+
-* apache 2.2+
-* php 5.3+
-(Please see the specific needs below.)
-
-Installation
-------------
-
-Before following the steps, you must be sure of:
-* your php system is integrated with your web server,
-* the php extension module for the postgresql (e.g. php_pgsql.so)
- is installed and configured,
-* the postgresql database management system is running.
-
-Usually that is true if you have installed the following ubuntu/debian
-packages, as given by an apt-get example line:
-
-apt-get install \
-postgresql postgresql-contrib postgresql-client apache2 \
-libapache2-mod-php5 php5 php5-cli php5-cgi php5-gd \
-php5-mcrypt php5-pgsql
-
-It may be needed to configure some parameters in php.ini,
-postgresql.conf and pg_hba.conf files. The following lines
-show some important attributes for BOCA:
-
-********* apache boca config file (to be created as /etc/apache2/conf.d/boca): **********
-<Directory /var/www/boca>
- AllowOverride Options AuthConfig Limit
- Order Allow,Deny
- Allow from all
- AddDefaultCharset utf-8
-</Directory>
-<Directory /var/www/boca/private>
- AllowOverride None
- Deny from all
-</Directory>
-<Directory /var/www/boca/doc>
- AllowOverride None
- Deny from all
-</Directory>
-<Directory /var/www/boca/tools>
- AllowOverride None
- Deny from all
-</Directory>
-
-********* /etc/postgresql/*/main/postgresql.conf: *********
-tcpip_socket = true #if using tcp to connect to database (older postgresqls)
-listen_addresses = '*' #newer postgresqls
-
-# THE FOLLOWING MAY BE GOOD FOR PERFORMANCE
-max_connections = 100
-maintenance_work_mem = 32MB
-shared_buffers = 512MB ## USE AROUND 1/3 OF YOUR RAM
-work_mem = 10MB
-effective_cache_size = 512MB ## USE AROUND 1/3 OF YOUR RAM
-
-Note that for doing these changes you will need to increase the SHMMAX
-parameter of your kernel, e.g. in file /etc/sysctl.d/10-shmmax.conf
-
-kernel.shmmax = 805416960
-kernel.shmall = 196635
-
-
-********* /etc/postgresql/*/main/pg_hba.conf: *********
-#this is the access control file
-#restricting connections from unixsocket or localhost is
-#the best choice, but it could not enough if the
-#database is not in the same machine.
-host all all 127.0.0.1 255.255.255.255 md5
-host all all 0.0.0.0 0.0.0.0 md5
-# this last line will allow connection from everywhere. If you
-# know the IP address of the machines that will serve as autojudging,
-# then you may restrict the access to only such machines. Anyway,
-# if you have a good password, that should not be a problem, as we
-# are not expecting this to be available on the internet but only on
-# the local net.
-
-***********
-*********** Steps for installing boca:
-
-1) Unpack the boca file into a internet world readable directory,
-according to the setting you chose in /etc/apache2/conf.d/boca,
-e.g.:
-# cd /var/www
-# tar xvzf boca-x.y.z.tar.gz
-# ln -s boca-x.y.z boca
-
-2) create a postgresql account with permission to create new
-databases (you need database admin privilegies to do that),
-e.g.:
-# psql -h 127.0.0.1 -U postgres -d template1
-template1=# create user bocauser with password 'boca' createdb;
-template1=# \q
-
-3) edit the file private/conf.php (placed where you unpacked boca),
-in order to set up the correct values for your system. E.g.:
- $conf["dblocal"]="false"; // use unix socket to connect?
- $conf["dbhost"]="localhost"; // ip address of the db
- $conf["dbname"]="bocadb"; // name of the boca database
- $conf["dbuser"]="bocauser"; // unpriviligied boca user
- $conf["dbpass"]="boca"; // unpriviligied boca password
- $conf["dbsuperuser"]="bocauser"; // priviligied boca user
- $conf["dbsuperpass"]="boca"; // priviligied boca password
- // note that it is just fine to use the same user for
- // unpriv and priv access
-
- // secret key to be used in HTTP headers
- // you MUST set it with any random large enough sequence
- // DONT LEAVE IT AS YOU GOT WHEN UNPACKED THE SOFTWARE
- // CHOOSE ANOTHER NUMBER/STRING AND REPLACE BELOW
- $conf["key"]="secretKey:23894091237589234759234723489";
-
- // initial password that is used for the user admin -- set it
- // to something hard to guess if the server is available
- // online even in the moment you are creating the contest
- // In this way, the new accounts for system and admin that are
- // eventually created come already with the password set to this
- // value. It is your task later to update these passwords to
- // some other values within the BOCA web interface.
- $conf["basepass"]="boca";
-
- // the following field is used by the autojudging script
- // set it with IP address (or other short description)
- // of the computer allocated for
- // autojudging during the competition
- // this is only useful for debug purposes when multiple
- // autojudges are being used
- $conf["ip"]='10.10.10.10';
-
-4) run the php script to initialize the boca database. E.g.
-# cd /var/www/boca/src
-# php private/createdb.php
-
-5) It's all done. Now you have to manage the contest with a
-browser and boca. Proceed to the ADMIN.TXT file.
-
-========
-==> DETAIL ABOUT MIGRATING FROM POSTGRES 8.x TO 9.1
-LARGE OBJECTS GET WRONG OWNERSHIP. TO FIX, RUN WITHIN psql:
-# su - postgres
-# psql -d bocadb
-
-do $$
-declare r record;
-begin
-for r in select loid from pg_catalog.pg_largeobject loop
-execute 'ALTER LARGE OBJECT ' || r.loid || ' OWNER TO bocauser';
-end loop;
-end$$;
-\q
-========
-
-========
-Security Issue when BOCA server is not exclusively dedicated to BOCA
---------------------------
-It is strongly recommended that BOCA be installed on a computer
-with no other users. If the computer where you are installing BOCA
-is used by others (with command line shells), it is essential
-that you change the permission of the file src/private/conf.php to be
-readable just by the user which the apache server runs and set
-safe_mode=On in the php.ini file (furthermore, the database access
-must be strictly restricted by passwords). Do it before configuring the
-src/private/conf.php file, so no one will be able to see your passwords.
-Moreover, the src/private/conf.php file must be in a directory owned by the
-bocauser or www-data or apache (all this combination implies that the only
-way to read the src/private/conf.php is from a php script owned by
-bocauser in the same directory).
-========
-
-========
-Contacts and Copyrights
------------------------
-BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
-http://www.ime.usp.br/~cassio/boca
-
-////////////////////////////////////////////////////////////////////////////////
-//BOCA Online Contest Administrator
-// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-////////////////////////////////////////////////////////////////////////////////
diff --git a/boca-1.5.2/doc/LICENSE.txt b/boca-1.5.2/doc/LICENSE.txt
deleted file mode 100644
index 94a9ed0..0000000
--- a/boca-1.5.2/doc/LICENSE.txt
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/boca-1.5.2/doc/PC2_Team.tab b/boca-1.5.2/doc/PC2_Team.tab
deleted file mode 100755
index ad6a1d7..0000000
--- a/boca-1.5.2/doc/PC2_Team.tab
+++ /dev/null
@@ -1,6 +0,0 @@
-1783 1301 A Garotos de Programa Universidade Estadual do Norte do Paraná UENP http://www.uenp.edu.br/ Brazil Y
-1533 1301 A Calouro Verde Universidade Estadual do Norte do Paraná UENP http://www.uenp.edu.br/ Brazil Y
-1065 1289 P UGF-Coders Universidade Gama Filho UGF www.ugf.br Brazil Y
-1892 1203 P IFSC2012 IFSC - Instituto de Física de São Carlos - USP IFSC-USP http://www.ifsc.usp.br Brazil Y
-1844 1286 A Team not Found Universidade Regional Integrada - Campus de Erechim URI - Erechim www.uricer.edu.br Brazil Y
-1843 1286 A Jokers Universidade Regional Integrada - Campus de Erechim URI - Erechim www.uricer.edu.br Brazil Y
diff --git a/boca-1.5.2/doc/READMEubuntu.txt b/boca-1.5.2/doc/READMEubuntu.txt
deleted file mode 100644
index b3b1baa..0000000
--- a/boca-1.5.2/doc/READMEubuntu.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-ICPC Linux installation script
-----------------------------------
-Copyright (c) 2009-2012 BOCA System (bocasystem@gmail.com) and C. P. de Campos.
-Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
----------------------------------
-File last modified: 24/aug/2012
-
-==> The installv2.sh script is not necessary if you are using the virtual machine version. This is intended to those that
-want to install the system as the host of a computer, or desire to create again the virtual machine version from the beginning.
-
-The script installv2.sh available here was used to create the "ICPC Linux" image after a standard installation
-of the ubuntu (or xubuntu) distribution. This is well-suitable in case you do not want to
-use the virtualized version, for example, in the server of the contest. After using the installv2.sh script over a fresh
-install of the ubuntu, you reach the exactly same content of the virtual machine version that is available.
-Take care with the following points during the installation of the ubuntu:
-1) Use the name "icpcadmin" and password "icpcadmin" (no quotes obviously) as the standard user during the installation.
-2) Call the machine "icpc" (in the same screen where you set up the username above).
-3) Use the simplest partitioning option (that is, everything in a single partition) and choose at least 10GB for it.
-
-After installing ubuntu, the system reboots. Download the script installv2.sh to the home directory of icpcadmin,
-make it executable by chmod 755 installv2.sh, and run it as root:
-$ sudo /bin/bash
-# ./installv2.sh
-(if you already updated packages, then run ./installv2.sh alreadydone)
-
-and reboot the system to finish the configuration (such as setting passwords, IPs, etc).
-Note this is going to give you a system just like you would get from the box (the virtual machine version). If you
-want it to become a server, you must follow the same procedure that is indicated in the READMEvm.txt. This
-mainly means that you need to run the script /etc/icpc/becomeserver.sh
-
-The most recent installv2.sh script is available at http://www.ime.usp.br/~cassio/boca/ link named installv2.sh
-In case of any questions, do not hesitate to contact me: bocasystem@gmail.com. Have fun!
diff --git a/boca-1.5.2/doc/READMEvm.txt b/boca-1.5.2/doc/READMEvm.txt
deleted file mode 100644
index 7755c2d..0000000
--- a/boca-1.5.2/doc/READMEvm.txt
+++ /dev/null
@@ -1,167 +0,0 @@
-READMEvm.txt file of the ICPC Linux VM (release 2012)
-=================================
-Copyright (c) 2009-2012 BOCA System (bocasystem@gmail.com) and C. P. de Campos.
-Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-=================================
-Last modified: 24/aug/2012
-
-This file concerns the ICPC Linux image available for virtualbox or vmware. It was created as a
-vmware-type hard-disk image with a system built up over a ubuntu (or xubuntu) distribution. This
-README is also relevant if you have used the installv2.sh script to build the server natively, as the
-system will have the exactly same characteristics of the VM version mentioned here.
-
-- You need the vmplayer from www.vmware.com to use this image. As far as I know, vmplayer is
-free-of-charge for linux and windows hosts. Check it. You can also use virtualbox, which
-is free and works pretty well too.
-
-- Internet access is restricted inside the box. By default, users can only access
-bombonera.ime.usp.br and bombonera.org, servers where BOCA is hosted. During the first boot time,
-you are able to choose a different IP address of your server instead of bombonera. If you are going to
-run a contest, you must do that! The system inside the virtual machine (or just VM) will
-only be able to access such server and nothing else. An alias with the name boca is created
-for such IP, so it is possible to connect to it using the name boca instead of typing the
-IP address. So, during the first initialization of each VM you should configure the IP address
-of your BOCA server. The image provided here can be used as a BOCA server too. See next bullets
-on how to do that. In the team machines, check if the internet is really blocked. If not, the
-initialization scripts might be malfunctioning, or the computer might be mistakenly set to be
-a server (this can be easily checked by verifying whether the file /etc/icpc/.isserver exists or not).
-
-- There are two linux users in the box: icpcadmin, which has right to become root using
-sudo, and the user icpc. The latter has password icpc, and more restricted access. The user
-icpc is intended to be used by the teams, judges, staff, or anyone else. The icpcadmin is
-an administrative account and the password must be known only by the sysadmin, director of the
-contest, and so on. During the first boot time, you are able to change the password of the icpcadmin
-account. DO IT and keep it safe! The default password is icpcadmin. Note that such
-users (icpcadmin and icpc) have nothing to do with users of the BOCA web system. Each
-team must have a distinct user to login on BOCA, which are configured through the BOCA web interface.
-Still, each team will logon into the linux box using the same user: icpc. As mentioned, this is
-not a security problem because the user icpc is just a local account in the linux system without
-any privileges.
-
-- To run a contest using a virtual machine, you probably need at least 384MB of RAM inside a
-"good" computer (then you can configure the VM to run with 256MB). I have tested the vm image
-configured to use 512MB. If your host has for example 1GB, you may change the vmplayer
-to use 768MB, although 512 should be fine too. Just keep some room for the underlying operating
-system. Using more memory inside the vm is better for the teams, so they can run heavier tools.
-
-- Unzipped, the image takes around 12 GB of your hard disk. You need this space in the hard
-disk of each computer. If this is a problem for you, it is possible to rebuild the vm system
-with less space (8GB for clients is enough, the server has to have more though).
-
-- It is possible to maximize the VM window so as it uses the whole screen area. The current
-image is set to 800x600 or 1024x768 pixels, but that can probably be increased depending on your
-video card and monitor settings. The keyboard config can also be changed
-inside the system configurations of ubuntu.
-
-- During the first startup, an script will ask you for the BOCA database password (after
-asking the BOCA server IP address and password of the icpcadmin). YOU MUST ONLY FILL
-SUCH PASSWORD IN THERE IF the machine being configured is NOT going to be used by a team. With
-this password, it will be possible to access the database directly (instead of by web). Teams
-shall access the system only by using the web interface. This password is intended to be used
-in the machine that will have the autojudging system, as the autojudging script needs to
-connect to the database directly (see next item about the autojudge). In fact only the
-autojudging machine (or machines, if you have more than one) need this password to be set.
-SO PAY ATTENTION TO ONLY SET THIS PASSWORD IN THE AUTOJUDGING MACHINES.
-
-- An autojugding machine is used to automatically compile and execute the codes submitted
-by the teams. DO NOT run it on the same computer as the BOCA server (the web server and the database
-server). Because teams may submit malicious code, it is only safe to run it on a separate computer.
-The worst scenario (in case a team's code hangs the computer) will require to reboot such
-computer. About the configuration, the only difference between the autojudge computer and
-team's computers is the setup of the database password, as mentioned before. You must set up
-the database password during the initialization of the autojudging computer. Then, to run the
-autojudging system, you need to login as icpcadmin (privileged user), open a command-line
-terminal (it is inside accessories), and run "sudo /var/www/boca/tools/autojudge.sh" (without quotes).
-If everything is fine, some dots will appear on the screen while the script runs an infinite
-loop waiting for submissions. Ctrl-C stops the autojudge. The autojudging shall be started
-after configuring the server to run the contest, otherwise it will eventually output an error or
-freeze. If you see the dots happening every few seconds, you are in the correct track. The dots mean
-the autojudging is running, but there are no submissions to process.
-
-- With old versions of ICPC Linux, all the team files were kept in the server. Now this is
-NOT true anymore. Everything is stored locally. So, after a warmup and before the real
-contest, it is necessary to go to each team computer, open a command-line shell (you do not
-need to change to the privileged user, the unprivilegied icpc user is enough) and run
-the command
-/etc/icpc/cleandisk.sh
-After that, reboot the system inside the virtual machine (not the host computer itself, only the VM!)
-and you are done. All files belonging to the icpc user have been erased.
-
-- Because the files are stored in the local team computers, now BOCA (by web) has an option
-to make file backups, where teams can save their files on the server. Currently this must be done
-manually by the teams (using the web interface of BOCA). There is a script available inside the
-ICPC linux (and inside the BOCA package) that teams may use to backup their files. To
-do that, they can just run "makebkp.sh". If they want to save other files, it is possible to use
-the web interface of the teams. Note that teams should submit backup files with small size only, but
-that is not a problem because source codes are really small. The script makebkp.sh is available
-(but not very tested) which sends files .c, .cpp, .java and .in (it looks for these files in the
-current directory) and send them to the server. IT IS IMPORTANT TO LET THE TEAMS KNOW ABOUT THIS
-SITUATION AND THE POSSIBILITY OF SAVING FILES TO THE SERVER, EITHER BY USING THE makebkp.sh IN
-THE COMMAND-LINE, OR BY DIRECTLY UPLOADING THE FILES IN THE WEB INTERFACE.
-
-- The most complicated thing to run the contest using a VM is that you need to restrict the
-use of the host operating system. For example, it would be possible for a team to switch
-the window (from the VM to another program), and then use the internet (in case you have
-internet available in the host, which is usually true). I believe that the simplest approach
-to restrict the system is to impose a set of packet filtering rules in the host system, using
-a firewall solution. That would make the host system useless for the team. The only permission
-that the host must have is to allow connections to the BOCA server and (possibly) to the
-authentication server of your network (in case it is needed to keep the host running. Better
-if that can be avoided too). If your host is linux, then it is easy: you just need to include some
-rules in the iptables (certainly a sysadmin knows how to do it).
-For windows (which is probably more usual and easy to deal with), there are many free-of-charge
-solutions. I do not know them well, but let me cite some: www.r-firewall.com,
-www.personalfirewall.comodo.com, tiny personal firewall (it is possible to find it online),
-perhaps the windows firewall can be enough (in some windows versions). NOW THE MOST COMMON /
-PRACTICAL WAY TO SOLVE THE PROBLEM: keep an eye on the teams all the time. Have some volunteers
-looking the teams work on the computers during the whole contest. No one is allowed to leave the
-VM and use the underlying system. If they do that, then simply expel them from the contest!
-Give a warn of the possible penalty to everyone before starting and that is it. Quick and clean :D
-
-- Any ICPC Linux VM can become a server for the contest, which in this case will be a BOCA server running
-inside a virtual machine system. To do that, you just need to login as user
-icpcadmin, become root using the command "sudo /bin/bash"
-and execute the script /etc/icpc/becomeserver.sh
-READ THE FULL TEXT BEFORE RUNNING THIS SCRIPT. THE VM, TO BECOME A SERVER, MUST BE SET TO BRIDGE
-MODE (see explanation below). At this moment, you will be prompted to define the DB password or use a
-random one. After that, the IP address of this computer must be used to configure all other VMs (during those
-startup questions).
-Some considerations about a server: more memory must be used for the server. Have a computer
-with enough memory and increase the memory of the VM. Also take care with the
-disk space. The current image has only a few gigabytes free (still, that must be more than enough).
-Finally, note that to run the VM as the server, it must be configured to run in BRIDGE mode
-with respect to the network interface, otherwise it will not be possible for other computers
-to reach it. BRIDGE mode means that you must look in your vmplayer (whatever player you are using)
-to configure the network as in BRIDGE mode. You may need to reboot the VM. If after rebooting it
-and running the command-line program "ifconfig" you can see that the IP address of your computer
-is the same inside the VM and outside, you are done. Besides that, the underlying (host) operating
-system must have NO apache or postgresql running, nor
-any other TCP server in the ports 80 (http), 443 (https) and 5432 (postgres). Otherwise this will create a
-conflict when running the BOCA server in the VM with BRIDGE mode.
-Yet I point out that running the BOCA system in a server computer (without the VM)
-is the mostly tested solution, but the VM version was used in many sites already. If you want to
-run it natively, stop here, get a ubuntu 12.04, install it, and run the installv2.sh script over it. See the
-file READMEubuntu.txt for more details. You will need a computer that you can format and reinstall.
-That is the simplest way of having a full ICPC linux server
-running apart from using the VM version itself, as explained here.
-
-- After having the server and clients running up, it is necessary to configure the BOCA
-web system. For that purpose, please follow the steps of the ADMIN.txt file in the doc/
-folder of the boca system. It is available in the BOCA package or inside the ICPC
-linux at /var/www/boca/doc/. There are some examples inside the subfolders there.
-
-- Try to use the vm without fear. In the worst case, download it again and start again
-(or even better, keep a copy of the image without changes). Any questions, please
-do not hesitate to contact me: bocasystem@gmail.com.
-
-- If you need to update the BOCA system that is running in your server (with the risk of losing
-data in the database of BOCA!), then you may run the script /etc/icpc/installboca.sh
-If you need to update general scripts that are used in the system and were installed by the
-installv2.sh procedure, you may run the script /etc/icpc/installscripts.sh
-These are easy ways to update the system in case bugs are found and fixed, without having to download
-again the whole VM image. Good luck and have fun!
diff --git a/boca-1.5.2/doc/Teams.tsv b/boca-1.5.2/doc/Teams.tsv
deleted file mode 100755
index 40476a1..0000000
--- a/boca-1.5.2/doc/Teams.tsv
+++ /dev/null
@@ -1,9 +0,0 @@
-File_Version 1
-null 1488 1 The Goodfellas Universidade de São Paulo - Escola de Artes, Ciências e Humanidades EACH-USP BRA
-null 1487 2 FODUVA Universidade de São Paulo - Escola de Artes, Ciências e Humanidades EACH-USP BRA
-null 1486 2 Multi-thread Simultâneo (MTS) Universidade de São Paulo - Escola de Artes, Ciências e Humanidades EACH-USP BRA
-null 1485 2 SWR Universidade de São Paulo - Escola de Artes, Ciências e Humanidades EACH-USP BRA
-null 1484 2 USP Lost Universidade de São Paulo - Escola de Artes, Ciências e Humanidades EACH-USP BRA
-null 1483 1 UFRN-1 Universidade Federal do Rio Grande do Norte UFRN BRA
-null 1482 3 ineficiente Universidade Federal de Santa Catarina UF Santa Catarina BRA
-null 1481 1 Gargamel's team Universidade Federal de Santa Catarina UF Santa Catarina BRA
diff --git a/boca-1.5.2/doc/acknowledgments.txt b/boca-1.5.2/doc/acknowledgments.txt
deleted file mode 100644
index c939d15..0000000
--- a/boca-1.5.2/doc/acknowledgments.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-BOCA Acknowledgments
--------------------
-(last updated 25/October/2012)
-
-This is a very important file of BOCA. It gives a list of people we must acknowledge
-for having in a way or another helping BOCA reach its current development situation.
-They certainly deserve more much thanks than only this file, but it is away a begining.
-Moreover, many names are probably still missing here, so if you identify such a case,
-please let us know as soon as possible so as to include them here! This file has been
-created much after the begining of BOCA, so there will be many many missing names,
-do not be shine and do help us to fill this list! Also if you see some incoherency on the
-lists, let us know! Thanks!
-
-I will divide the list into two section: those who effectively contributed in ideas for the
-code, and those who found bugs and/or suggested modifications. Names are given in
-no particular order.
-
-CODE
-- Cassio P. de Campos
-- Fabio A. Avellaneda Pachon
-- Flavio G. C. Rocha
-- Humberto Longo
-- Fabio D. Moreira
-- Bruno C. Ribas
-- Alejandro Sazo
-- Jorge Luis R. Alvarez
-- Vinicius K. Ruoso
-
-
-REPORTERS/COMMENTATORS
-- Guillermo Solis
-- Alejandro S. de Loma
-- Cristian Ruz
-- Rodolfo J. de Azevedo
-- Carlos E. Ferreira
-- Ricardo Anido
-- Juan Pablo G. Ibarra
-- Ricardo Dahab
-- Liliane Salgado
-
diff --git a/boca-1.5.2/doc/changelog.txt b/boca-1.5.2/doc/changelog.txt
deleted file mode 100644
index 07684d4..0000000
--- a/boca-1.5.2/doc/changelog.txt
+++ /dev/null
@@ -1,197 +0,0 @@
-version 1.5.2:
-(THIS VERSION IS IN DEVEL AND CAN BE CHANGED AT ANY TIME)
-- improve description of inbetween warmup and contest in ADMIN.txt
-- fix a bug that could allow an user to change their username
-- creation of an APACHE.txt doc about setting up apache configuration
-- force source files to have no spaces (warn a message in case they have)
-
-version 1.5.1:
-2012/10/20:
-- (ICPC Linux) fixed logging in issue after cleandisk.sh
-- (ICPC Linux) inclusion of some (new) suggested packages and links
-- updated safeexec (there was a timing issue between time-limit and run-time-error)
-- updated installboca.sh to account for different install directories
-- fix bug with the option that teams can't change their password. This was causing login problems.
-
-version 1.5.0:
-2012/08/24
-- (ICPC Linux) updated scripts to create ICPC linux under ubuntu
- 12.04. Hopefully it will still work with older versions of ubuntu.
-- (ICPC Linux) java version now is openjdk6 (it is getting harder to
- keep using sun java on new linux distributions)
-- Problems in BOCA are now defined by a problem package in ZIP format,
- which can be encrypted.
-- private/score.sep file now allows also the specification of by-user
- and by-site scoretables.
-- admin password need to change other users' passwords.
-- option to import users using the ICPC webpage formats (.tab and .tsv).
-- multi-site re-included in the system, with a centralized idea (one
- main server and many local servers that connect to it). The
- connection is done (encryptedly) via http and is handled by a new type of
- user named type "site".
-- main site can provide redundancy in case of failure, as it has a
- copy of everything.
-- autojudging scheme has been improved, specially in terms of
- safety. Scripts to judge are now inside the problem package.
-- examples of problem packages are included in doc/problemexamples/
-- option to delete and undelete problems included, so one can setup
- the warmup and contest with all problems, delete some, undelete later.
-- bug fix in updating time of contest and sites (updating contest
- didn't update sites).
-- options to insert keys and password in the tab contest in order to
- unlock problems in case they are encrypted.
-- documentation files updated.
-
-version 1.4.2:
-2011/11/04
-- user type site created to allow for pushing of scores from other sites
-- createdb.php moved to private/ for better safety. Option to abort its execution is included.
-- autojudging.php moved to private/ for better safety
-- possibility of multiple scores defined by the private/score.sep file
-- fix of setup.sh and rc.local scripts to properly set firewall rules (thanks Flavio GC Rocha).
- Also some other minor script changes, such as /etc/network/if-pre-up.d/boca
-- script that creates the bocajail changed to /etc/icpc/createbocajail.sh and some
- improvements are applied (e.g. use of debootstrap). It should now run smoother on
- ubuntu and other debian-like systems.
-- bugfix: general clarification option was not appearing in the list of problems.
-- scripts have been updated to make it easy to replace the use of user 'www-data' by 'apache'.
-- updatescores.sh now accepts full path names for servers. This solves the case where boca
- is not installed in the default http://SERVER/boca/
-- updatescores.sh now gets all the available information about the score of the other sites, and
- the local boca server decides which info shall be put in the score board. This fixes issues with
- displaying undesired info from other sites, because the responsability is given to local boca.
-- webcast directory for F. D. Moreira's fancy score included in the distro.
-
-version 1.4.1:
-2011/10/10
-- special chars and character encoding included as utf-8 in every page. This shall fix the
- bug of dealing with special chars.
-- bug fix: max length of clars fixed.
-- bug fix: teams could not download their submitted code.
-- many changes to improve security of safeexec (including possibility of chrooting)
-- changes to improve security of conf.php
-- changes to make php configuration directly on .htaccess file of the boca folder
-- new feature: speed improvement by caching run.php of teams
-- new feature: speed improvement by caching scores of all users
-- new feature: scores can be read from files, which can be updated from other servers by a script
-- new feature: chief judge is introduced (configured at admin/site.php) and each run has to be
- judged by two judges. In case of disagreement, chief judge or admin has to act.
-- new feature: judges can submit code to the system (even before the competition is running).
-- new feature: admin and chief judge can open multiple runs to re-judge at once in the same screen.
-- scripts to run code at doc/bits/ updated to cope with new safeexec and possible chrooting
-- directory doc/tools/ moved to tools/
-- directory doc/bits/ reorganized
-- development of install scripts and config files for making ubuntu/xubuntu be ready for running
- a competition are included in tools/
-- simple html versions of manuals for teams and judges included in doc/html/
-
-version 1.4.0:
-2009/08/31
-- safeexec updated to include option of multiple runs of the same code (e.g. for averaging the time).
-
-version 1.3.2:
-2008/08/31
-- bug fix: div by zero at history of judges (thanks to Marcelo Cezar Pinto).
-- standard encoding changed to UTF8 to facilitate the installation on debian/ubuntu systems.
-- scripts to compile/execute runs changed to user nobody and group nogroup to fix a warning.
-
-version 1.3.1:
-2008/08/19
-- bug fix: filenames with spaces were not properly handled by filewindow.php and filedownload.php
-- delete functions of languages, problems and answers are replaced by nicer versions where the runs
- are kept in the system (Thanks to Renato Lucindo :).
-- openrun feature now does not make the run completely reopened (the teams keep seeing the already
- judged results, while the runs are rejudged. If a change is performed, then the new status is seen.
-- autojudging procedure now keeps a copy of input and output files in the local filesystem, so the
- network and DB accesses are reduced (Thanks to huge files of Wanderley Guimaraes :).
-- bug fix: autojudging was not removing old directories, so that was taking extra space on disk. I
- do not know if this was a bug or a feature.
-- script makebkp.sh added to connect to BOCA by http and send source files.
-
-version 1.3.0:
-2008/08/12
-- new backup feature. Teams can submit files to the server to keep them there. This is going to
- replace the network mounted homes of Maratona Linux.
-
-version 1.2.3:
-2007/08/25
-- php tag <? changed to <?php in all files for better compatibility (Thanks to Joel Uchoa).
-
-version 1.2.2:
-2007/08/22
-- bug fix: (Thanks to Fabio D. Moreira) when installing on root directory,
- global path variables had an extra '/', leading to problems with browsers.
-
-version 1.2.1:
-2007/08/21
-- new md5sum check while importing files in "systems" interface.
-- bug fix: autojudge WHI didnt work. It is still experimental.
-
-version 1.2.0:
-2007/08/20
-- bug fix: tie rule now includes the first accepted run.
-- bug fix: names with spaces would create problems to bash scripts.
-- scoreboard improved. New level (4) has many ideas introduced
- during ICPC world finals 2007.
-- judge's history now is complete: it has all clars and runs.
-- autojudging and scripts modified so as to send diff outputs to judges.
-- autojudging and related procedures updated to allow automatic
- judging without human interaction (WHI).
-- documentation updated to agree with system improvements.
-
-version 1.1.2:
-2006/09/16
-- bug fix: extra empty line removed when donwloading files.
-
-version 1.1.1:
-2006/08/21
-- bug fix: wrong variable name in DBUpdateTask.
-- bug fix: admin calls DBChiefUpdateTask instead of DBUpdateTask.
-- bug fix: send only one balloon per problem.
-- textarea for showing clarifications.
-
-version 1.1.0:
-2006/07/31
-- documentation atualization.
-- new problem attributes: color and colorname.
-- new balloon images and graphics.
-- new feature to stop and start the contest several times.
-- report page implementation.
-- new feature to order runs (on admin's interface) as desired.
-- new feature to order clarifications (on admin's interface) as desired.
-- new feature to order tasks (on admin's interface) as desired.
-- html tag <pre></pre> defined for showing clarifications.
-- bug fix: some http headers could not be sent because of misplaced
- output buffering. This was implying in some "session expired" messages.
-
-version 1.0.6:
-2005/09/04
-- bug fix: special characters in problem names.
-
-version 1.0.5:
-2004/10/06
-- included timelimit field for problems.
-
-version 1.0.4:
-2004/08/19
-- bug fix: in the task window, the file to print was unavailable.
-- new button to view the file before printing.
-- Pascal (Free Pascal Compiler) included in the run.sh example.
-- run.sh improved to better detect errors
-- autojudging small text changes
-
-version 1.0.3:
-2004/06/18
-- bug fix: incorrect report of new balloons to staff.
-- documentation changes concerning autojugding.
-- changes on limit clauses for compatibility with postgres 7.1.x/php 4.1.x.
-
-version 1.0.2:
-2004/06/05
-- bug fix: problem to drop the database when it does not exist.
-- bug fix: duplicating new contests using mozilla browser.
-- changes on file permissions inside the tarball.
-
-version 1.0.1:
-2004/05/09
-- first public release. In 2003, boca 0.5 was used.
diff --git a/boca-1.5.2/doc/dump.sh b/boca-1.5.2/doc/dump.sh
deleted file mode 100755
index f3f3282..0000000
--- a/boca-1.5.2/doc/dump.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-if [ "`id -u`" != "0" ]; then
- echo "Must be run as root"
- exit 1
-fi
-bocadir=/var/www/boca
-[ -r /etc/boca.conf ] && . /etc/boca.conf
-
-for i in pg_dump grep cut gzip date; do
- if [ "`which $i`" == "" ]; then
- echo "$i executable is not in the PATH. Aborting"
- exit 1
- fi
-done
-da=`date +%d%b%Y-%Hh%Mmin`
-echo "I will create the file `pwd`/bocadb.$da.tar.gz"
-f=$bocadir/src/private/conf.php
-[ -r $f ] || f=$bocadir/src/private/conf.php
-if [ -r $f ]; then
- echo I believe the password is `grep "\$conf\[\"dbpass\"\]=" $bocadir/src/private/conf.php | cut -d'"' -f4`
-else
- echo "The password can be found in private/conf.php of the boca directory"
-fi
-pg_dump -f bocadb.$da.tar -Ft -b -h 127.0.0.1 -U bocauser bocadb
-gzip -9 bocadb.$da.tar
-
-exit 0
diff --git a/boca-1.5.2/doc/html/.htaccess b/boca-1.5.2/doc/html/.htaccess
deleted file mode 100644
index 605d2f4..0000000
--- a/boca-1.5.2/doc/html/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Allow from all
diff --git a/boca-1.5.2/doc/html/manualjudge.en.html b/boca-1.5.2/doc/html/manualjudge.en.html
deleted file mode 100644
index a7f8a0e..0000000
--- a/boca-1.5.2/doc/html/manualjudge.en.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-
-<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-<title>BOCA Manual for the judges</title>
-</head>
-<body bgcolor="white" link="blue" vlink="blue">
-<font size="5"><b>BOCA Online Contest Administrator</b></font>
-<p><b>BOCA Reference Manual for judges<font size="5"> - </font>
-version October/2011 (BOCA 1.4.1+)</b>
-</p>
-
-<p><font size="1">Copyright (c) 2006-2011 Cassio P. de Campos (cassio@ime.usp.br).<br>
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU Free Documentation License, Version 1.2 or any later
-version published by the Free Software Foundation; with no Invariant Sections,
-no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be
-found in <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p>
-
-<p>BOCA is a software created to control a contest with the <i>ACM International Collegiate
-Programming Contest</i> rules. It has been developed in PHP and the interaction between judges
-and the system is done through a <i>web browser</i>. In the following we describe
-the set of available features for a judge in the system.</p>
-
-<p>It is assumed here that the judge has already logged in the system with their
-<i>username</i> and <i>password</i> in a windows of their browser. Tthe <i>URL</i>
-to access BOCA will depend on the setup of your server. Usually this URL ends with
-<i>/boca/</i>, where a simple authentication form will show up.
-
-<p>
-After a successful login, the web page contains the judge identification in the upper-left
-corner. In the upper-right corner, the clock of the contest is shown, indicating if it has
-started or not, if it has already ended, stopped, or in progress, in which case the number of
-minutes to go are displayed. Below that, there is a set of options in a vertical menu, namely
-<i>Runs, Score, Clarifications, History, As Team, Options e Logout.</i>
-There is still an extra option named <i>Chief</i> which only appear to the chief judge, who
-has to be appointed in the admin's interface (with in the <i>Site</i> options).
-</p>
-
-<p><font size="4"><b>Runs</b></font></p>
-<p> In this area, the judge might visualize the runs that are still to be judged and shall be
-taken care of. In order to process a run, the judge has to click in its number (eventually a
-message might pop up here indicating the run was already taken; this happens if another judge
-got the run before you). After clicking on the run to judge, a new set of data appear about it:
-
-<ol>
-<li><b>Site</b>: site number of the run.</li>
-<li><b>Number</b>: run number.</li>
-<li><b>Time</b>: minutes from the start of the competition until this submission.</li>
-<li><b>Problem</b> <i>X</i>: <i>X</i> is the name of problem. There are links
-to download the input and output files (click on the names), or simply to visualize them in the browser (click on view).
-These links are mostly used when the <i>autojudge</i> is turned off or is not running properly for a given problem/language.
-Instead, if the <i>autojudge</i> feature is working correctly, then the judge can directly to go the links in the bottom part of
-the page in order to see the expected output together with the output generated by the team.
-</li>
-<li><b>Language</b> <i>Y</i>: <i>Y</i> is the language chosen by the team. The scripts that are used to
-compile and execute the submission with this language are available through links.
-When using the <i>autojudge</i>, note that is not necessary to use this links, because the results are
-already shown in the bottom of the page.
-</li>
-<li><b>Source code</b>: here it is possible to <i>view</i> or download the submitted file. An important
-task is to check if the name and extension of this file are correct with respect to the chosen problem, language,
-and the specification in the booklet of problem descriptions.
-</li>
-<li><b>Answer</b>: the judge has to choose, among the options available in the system (which were configured by the admin),
-the correct answer to be sent to the team.
-</li>
-<li><b>Autojudging answer</b>: here it is presented the suggestion from the <i>autojudge</i> about this submission.
-Usually the <i>autojudge</i> properly identify the answer that has to be sent to the team. However, it may
-fail to do so. For example, the <i>autojudge</i> might indicate a <b>wrong answer</b>, because the
-<i>diff</i> procedure identified the output and expected output to be different, while the only mistake
-happened in the punctuation/accent of a letter (this is usually a case of <b>presentation error</b>, but
-may vary according to the contest). Other issues might happen, and the role of the judge is to check everything
-for eventual mistakes.
-</li>
-<li><b>Autojudged by</b>: indicates the computer that has acts as <i>autojudge</i>. Usually this is not
-much relevant for judging a submission.
-</li>
-<li><b>Standard output</b>: links for downloading and visualizing the output generated by the team's code are
-available. This is the output generated by the team, which is to be compared with the expected output of
-the given problem. It might also be possible to see some error, in case it happened.
-</li>
-<li><b>Standard error</b>: links for downloading and visualizing the standard error output generated by the team's code.
-When a error happens (including compilation or runtime errors, but not restricted to them), this is the most probable file to identify it.
-The judge must always check the content of this file. In the end of it, the judge also finds the output of the <i>diff</i> command
-that has compared the team's output and the expected one (to facilitate the visual inspection).
-</li>
-</ol>
-
-<p>By pressing the button named <b>Judge</b>, the judge submits their veredict about the <i>run</i>, and then
-has no access to the this <i>run</i> anymore. It is also possible to give up judging the run by clicking
-on <b>Cancel</b>, which will send the run back to the pool (and it will be eventually judged by another judge).
-</p>
-
-<p>In the tab <i>Runs</i>, the judge can see all the submissions that are yet to be judged. The colors
-represent their status, meaning that they are already been judged by others, or that they are waiting
-you to judge them (red color). You must act with respect to those in red, as only you can judge them (or
-send them back to the pool).
-</p>
-
-<p></p>
-<p><font size="4"><b>Chief</b></font></p>
-<p>
-Besides acting as a normal judge, there is a designated judge with access to the tab <i>Chief</i>. This tab
-is used for the chief judge to resolve disputes regarding submissions that received different answers by different
-judges (they are shown in red). The prodecure is equivalent to that of a normal judge, but the decision made in the tab of the chief is
-final. The idea is to have the chief judge acting as a tie-breaker between the distinct answers that were assigned to
-a <i>run</i>. Hence, if the chief judge is acting as a normal judge (and they may do so), it is recommended to use
-the tab <i>Runs</i> instead, leaving the tab <i>Chief</i> only for resolving issues. (In the very special case where there
-is a single judge in the competition, then this judge has to be designated as chief and shall use the tab <i>Chief</i>
-to judge the runs, otherwise they will never receive the judgement of another judge and thus will not be sent to teams.)
-In this same tab, the chief judge is able to ask the <i>autojudge</i> to be re-executed for some submissions (selected by
-the boxes besides each of them) or to completely re-open the submission for judging again, which implies in a new round
-of autojudging and judging by actual judges. The <b>team does not become aware</b> of this rejudging unless the new final
-result for the run has to be changed (with respect to the first round of judgement).
-</p>
-<p></p>
-
-<p></p>
-<p><font size="4"><b>Score</b></font></p>
-<p>In this tab the judge can see the scoreboard of the competition. It has to be noted that the scoreboard available
-for the judges is complete and not subject to the freezing of the final part of the contest. Hence, the judge is
-expected to keep the scoreboard in secret. In case the scoreboard is consolidated among different sites, the final part
-of the other sites is not shown (*this fact is for technical reasons, to be discussed later*).
-</p>
-
-<p><font size="4"><b>Clarifications</b></font></p>
-<p>This tab allows the judge to answer <i>clarifications</i> submitted by team regarding
-a specific problem or any general aspect of the contest.
-In order to reply to a <i>clarification</i>, the judge must first <b>click on the clarification number</b>.
-The box available in the bottom part is meant for creating a new clarification, as judges are allowed to do
-so. The new clarification will only be meaningful if the judge that gets it to answer selected the reply to all
-option (explained in the next paragraph). This is useful for the judges to send a general information to the teams.
-</p>
-
-<p>After clicking on the clarification number, the judge sees information about it, such as
-site number, clarification number, time in minutes from the start of the competition, and the
-problem to which the clarification regards. There are two text boxes: one with the question (on top)
-and one to be filled with the reply. Finally, there is a selection box to indicate if the reply
-should be sent to all the teams or just the the team that posted the question.
-</p>
-
-<p>The system also allows the judge to select the <u><i>No response</i></u> button. In general
-this is used for questions that are already stated in the booklet of problem descriptions, or
-that has already been replied, or even that should not be answered at all (for example, about
-the timelimit of a problem, or about some sensitive information of the input/output).
-</p>
-
-<p><font size="4"><b>History</b></font></p>
-<p>This tab shows the history of <i>Clarifications</i> and
-<i>Runs</i> that were processed by the judge so far.
-</p>
-
-<p><font size="4"><b>Options</b></font></p>
-<p>This tab shows the information of the judge, such as <i>Username,
-User</i> <i>full name </i>,<i> User description</i>. It is possible
-for the judge to update their password, although this is not necessary neither
-recommended. Instead it is recommended that the admin who created the users already
-specifies secret and safe password for all users.
-</p>
-<br>
-
-</p>
-<p><font size="4"><i><b>Logout</b></i></font></p>
-<p>Button to log out from the judge interface.</p>
-
-<p><font size="4"><b>Important hints for judges</b></font></p>
-<p> While judging a submission, it is necessary to be very careful. Even if it is possible
-to alter the judgement of a run afterwards, this has to be avoided as much as possible, because
-the team might suffer an undesired situation.
-</p>
-<p>Every time a judge is about to answer a problem for its first time (that is, the problem has not
-been submitted before, or has not received yet any YESes), when possible it is interesting to have other judges
-also checking the submission, which should be analyzed with even greater care. Sometimes this is the
-moment when an unfortunate issue with the <i>autojudge</i> or with inputs or outputs is discovered
-(obviously nobody wants it to happen, but it might).
-</p>
-<p>In order to reply to <i>clarifications</i>, it is important that the judge has read and understood
-the question and the problem to which it concerns. When possible, it is interesting to have the opinion
-of the person or group that created the problem description, its input and output. After that,
-it is necessary to think if such reply has to be sent only
-to this user or to all teams in the contest. If it is a relevant issue and the contest is also offered in
-other sites, then the judge shall find a way to contact other sites about the clarification.
-Some examples of clarifications that are not disclosured (that is, are replied with a <i>no response</i>)
-are
-<i>What is the timelimit for this problem?</i>,
-<i>Given this input, which is the correct output?</i>,
-questions that are already explained in the problem description,
-etc.
-In case the judge is not certain about it, they must contact the chief judge of the site or the
-chief judge of the contest for help.
-</p>
-
-<p><font size="4"><b>About BOCA and this document</b></font></p>
-<p>BOCA System and this document have been created by Cassio Polpo de Campos and can be found at
-<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>.</p>
-
-<hr>
-<p>
-<a href="http://validator.w3.org/check?uri=referer">
-<img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" border="0" height="31" width="88"></a>
-
-</p></body></html>
diff --git a/boca-1.5.2/doc/html/manualjudge.pt_br.html b/boca-1.5.2/doc/html/manualjudge.pt_br.html
deleted file mode 100644
index eabeecc..0000000
--- a/boca-1.5.2/doc/html/manualjudge.pt_br.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-
-<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-<title>Manual do BOCA para as equipes</title>
-</head>
-<body bgcolor="white" link="blue" vlink="blue">
-<font size="5"><b>BOCA Online Contest Administrator - Sistema de Submiss&atilde;o</b></font>
-<p><b>Manual de Refer&ecirc;ncia para os ju&iacute;zes<font size="5"> - </font>
-vers&atilde;o setembro/2010 (para o BOCA vers&atilde;o 1.4.x)</b>
-</p>
-
-<p><font size="1">Copyright (c) 2006-2010 Cassio P. de Campos (cassio@ime.usp.br).<br>
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU Free Documentation License, Version 1.2 or any later
-version published by the Free Software Foundation; with no Invariant Sections,
-no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be
-found in <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p>
-
-<p>O BOCA &eacute; um <i>software</i> criado para controlar uma competi&ccedil;&atilde;o nos moldes
-da Maratona de Programa&ccedil;&atilde;o da SBC. Foi feito em PHP e a intera&ccedil;&atilde;o dos ju&iacute;zes
-com o sistema &eacute; feita usando-se um <i>browser</i>. A seguir descrevemos a
-interface dispon&iacute;vel no BOCA para os ju&iacute;zes e suas principais fun&ccedil;&otilde;es.</p>
-
-<p>Neste texto ser&aacute; assumido que o juiz j&aacute; realizou o seu
-<i>login</i> na m&aacute;quina e abriu uma janela do navegador (leia
-as instru&ccedil;&otilde;es sobre o Maratona Linux ou sobre o sistema que
-estiver sendo utilizado). O BOCA &eacute; acessado atrav&eacute;s de uma
-<i>URL</i> (usualmente a p&aacute;gina se chama
-http://mainserver/boca ou http://bocaserver/boca).
-Ao carregar a p&aacute;gina, o juiz dever&aacute; ver a
-tela de <i>login</i> do BOCA. Basta digitar o <i>login</i> do
-BOCA fornecido ao juiz e a sua senha correspondente.</p>
-
-<p>Ap&oacute;s realizar o <i>login</i> com sucesso, uma p&aacute;gina dever&aacute; ser aberta
-contendo a identifica&ccedil;&atilde;o do juiz no canto superior esquerdo.
-No canto superior
-direito haver&aacute; a informa&ccedil;&atilde;o sobre o estado da competi&ccedil;&atilde;o: ou ainda n&atilde;o
-come&ccedil;ou, ou j&aacute; acabou, ou est&aacute; parada, ou a competi&ccedil;&atilde;o est&aacute; em andamento e a
-quantidade de minutos restantes ser&aacute; mostrada. Mais abaixo dessas primeiras
-linhas estar&atilde;o seis op&ccedil;&otilde;es, que representam a interface propriamente dita do
-BOCA. Estas seis op&ccedil;&otilde;es s&atilde;o: <i>Runs,
-Score, Clarifications, History, Options e Logout.</i>
-Existe ainda uma op&ccedil;&atilde;o extra para o juiz chefe (que deve ser previamente apontado atrav&eacute;s da
-interface do admin no sistema): <i>Chief</i>. Ela n&atilde;o est&aacute; dispon&iacute;vel para os demais ju&iacute;zes.
-</p>
-
-<p><font size="4"><b>Runs</b></font></p>
-<p>Ao entrar nessa op&ccedil;&atilde;o, o juiz poder&aacute; visualizar as submiss&otilde;es que ainda
-n&atilde;o foram corrigidas e devem ser processadas. Para corrigir uma submiss&atilde;o,
-o juiz deve clicar sobre seu n&uacute;mero (como &eacute; feito o tratamento de concorr&ecirc;ncia
-para que dois ou mais ju&iacute;zes n&atilde;o peguem a mesma <i>Run</i>, neste momento o juiz pode
-ser avisado que a <i>Run</i> acaba de ser pega por outro juiz). Ao clicar em uma
-submiss&atilde;o, o juiz ver&aacute; os seguintes campos:
-<ol>
-<li><b>Site</b>: n&uacute;mero do site atual.</li>
-<li><b>Number</b>: n&uacute;mero da <i>Run</i> sendo julgada.</li>
-<li><b>Time</b>: minutos decorridos da competi&ccedil;&atilde;o para esta submiss&atilde;o.</li>
-<li><b>Problem</b> <i>X</i>: <i>X</i> &eacute; o nome do problema. Ao lado, existem
-links para fazer o download (clicando sobre o nome) ou simplesmente visualizar
-os arquivos de entrada e sa&iacute;da (clicando em <i>view</i>). Usando o esquema de
-autojudging, o importante &eacute; ficar atento &agrave; sa&iacute;da esperada, comparando-a com a
-sa&iacute;da que o programa da equipe gerou.</li>
-<li><b>Language</b> <i>Y</i>: <i>Y</i> &eacute; a linguagem escolhida pela equipe. Ao
-lado aparece o script para compila&ccedil;&atilde;o e execu&ccedil;&atilde;o nesta linguagem. Note que,
-utilizando o esquema de autojudging, n&atilde;o &eacute; necess&aacute;rio olhar para esse arquivo.</li>
-<li><b>Source code</b>: Aqui &eacute; poss&iacute;vel visualizar (<i>view</i>) ou fazer o
-download do arquivo submetido. Um ponto importante para o juiz &eacute; verificar se
-o nome e a extens&atilde;o desse arquivo est&atilde;o de acordo com o problema e a linguagem
-escolhidos.</li>
-<li><b>Answer</b>: Neste campo o juiz escolher&aacute; qual a resposta que ser&aacute; enviada
-para a equipe. Para tomar essa decis&atilde;o, ele tem &agrave; disposi&ccedil;&atilde;o os arquivos e bot&otilde;es
-j&aacute; mencionados e tamb&eacute;m, logo abaixo, os dados gerados pelo esquema de autojudging
-(se esse esquema estiver sendo utilizado).</li>
-<li><b>Autojudging answer</b>: Resposta sugerida pelo esquema de autojudging.
-Usualmente o autojudging acerta o que deve ser respondido &agrave;s equipes, mas pode
-falhar. Por exemplo, ele pode dizer que a resposta est&aacute; errada (<b>Incorrect Output</b>),
-pois comparou os arquivos e n&atilde;o eram iguais, mas o &uacute;nico erro do programa da
-equipe foi na digita&ccedil;&atilde;o de um acento em uma palavra (usualmente isso &eacute; simplesmente
-um <b>Output format error</b>). Outros detalhes podem ocorrer, e o juiz deve
-estar atento aos pr&oacute;ximos demais dados fornecidos pelo autojudging.</li>
-<li><b>Autojudged by</b>: indica qual computador fez o autojudging, no
-caso de diversos autojudgings estarem sendo utilizados. Usualmente n&atilde;o essencial
-na corre&ccedil;&atilde;o.</li>
-<li><b>Standard output</b>: links para fazer o download ou visualizar a sa&iacute;da
-padr&atilde;o gerada pelo programa da equipe. Usualmente neste lugar deve estar a
-sa&iacute;da que foi gerada pela equipe e que deve ser comparada com a sa&iacute;da esperada,
-dispon&iacute;vel no item <b>Problem</b>. Caso haja algum problema, eventualmente
-pode ser poss&iacute;vel visualizar o erro aqui.</li>
-<li><b>Standard error</b>: links para fazer o download ou visualizar a sa&iacute;da de
-erro padr&atilde;o gerada pelo programa da equipe. Quando um problema acontece, por
-exemplo um erro em tempo de execu&ccedil;&atilde;o por causa de um acesso ilegal, a informa&ccedil;&atilde;o
-sobre o erro torna-se dispon&iacute;vel nesta sa&iacute;da de erro. Al&eacute;m de sempre
-analisar essa sa&iacute;da, o juiz deve estar atento &agrave; sa&iacute;da padr&atilde;o, pois m&aacute;quinas virtuais
-como da linguagem Java podem escrever os erros na sa&iacute;da padr&atilde;o e/ou na sa&iacute;da
-de erro. Na sa&iacute;da de erro est&aacute; ainda o resultado do diff feito entre o arquivo
- esperado e o arquivo gerado pelo programa submetido.
-</li>
-</ol>
-
-<p>Utilizando o bot&atilde;o <b>Judge</b> o juiz faz o julgamento da <i>Run</i>, e ap&oacute;s
-isso n&atilde;o tem mais acesso para alterar seu julgamento. &Eacute; poss&iacute;vel ainda devolver
-a <i>Run</i> para o <i>pool</i> de submiss&otilde;es a serem julgadas, utilizando o
-bot&atilde;o <b>Cancel</b>.</p>
-
-<p>Na tela de <i>Runs</i>, o juiz visualiza todas as submiss&otilde;es, mesmo aquelas que
-est&atilde;o sendo julgadas por outros ju&iacute;zes. Tais submiss&otilde;es aparecem com a cor
-azul. As submiss&otilde;es sendo julgados por ele pr&oacute;prio aparecem em vermelho, e somente
-ele tem acesso para julg&aacute;-las (ou o admin, claro).</p>
-
-<p></p>
-<p><font size="4"><b>Chief</b></font></p>
-<p>
-Al&eacute;m de poder atuar como um juiz <i>normal</i>, um juiz pode ser designado como <i>chief</i>. Nesta aba
-o juiz chefe tem a op&ccedil;&atilde;o de julgar <i>runs</i> que foram previamente julgadas mas obtiveram resultados
-diferentes dos diferentes ju&iacute;zes. A tela &eacute; similar &agrave;quela do juiz normal, s&oacute; que <i>runs</i>
-julgadas aqui s&atilde;o dadas como resposta final ao time, sem a necessidade de interven&ccedil;&atilde;o de outro juiz.
-Por esse motivo, &eacute; aconselh&aacute;vel que mesmo o juiz chefe, quando estiver julgando <i>runs</i> sem conflito, apenas
-utilize a aba <i>Runs</i>, e deixe para utilizar esta aba apenas para resolver os casos de <i>runs</i> que foram julgadas de
-forma diferente por diferente ju&iacute;zes. Al&eacute;m das informa&ccedil;&otilde;es da <i>run</i>, o juiz chefe possui
-(ao clicar sobre a <i>run</i>) as resposta contradit&oacute;rias que foram dados pelos ju&iacute;zes, de forma a desempatar
-a quest&atilde;o e enviar a resposta mais adequada ao time.
-</p>
-<p></p>
-
-<p></p>
-<p><font size="4"><b>Score</b></font></p>
-<p>Nessa op&ccedil;&atilde;o ser&aacute; mostrado o placar atualizado da competi&ccedil;&atilde;o. Vale a pena
-lembrar que o placar dispon&iacute;vel para os ju&iacute;zes &eacute; completo, e portanto
-deve ser mantido em <b>sigilo at&eacute; a divulga&ccedil;&atilde;o dos resultados finais da competi&ccedil;&atilde;o</b>
-(para manter o suspense :-). </p>
-
-<p><font size="4"><b>Clarifications</b></font></p>
-<p>Essa op&ccedil;&atilde;o permite que o juiz responda as <i>clarifications</i> enviadas
-pelas equipes a cerca de um problema espec&iacute;fico ou de algum aspecto geral da
-prova. Para responder uma <i>clarification</i>, o juiz deve clicar sobre seu
-n&uacute;mero <b>Cuidado:</b> a caixa de texto dispon&iacute;vel na parte inferior n&atilde;o &eacute; para
-responder perguntas, mas para elaborar uma pergunta. Isso serve para que um juiz
-crie uma pergunta, que ent&atilde;o poder&aacute; ser respondida por ele mesmo (ou por outros
-ju&iacute;zes) e enviada para todas as equipes, funcionando assim como uma forma de
-aviso geral.</p>
-
-<p>Neste instante ele poder&aacute; visualizar informa&ccedil;&otilde;es sobre a <i>clarification</i>,
-como n&uacute;mero do site, n&uacute;mero da <i>clarification</i>, tempo em minutos desde o
-in&iacute;cio da competi&ccedil;&atilde;o e problema sobre o qual
-a pergunta est&aacute; relacionada, al&eacute;m de duas caixas de texto: uma com a
-pergunta e outra onde ser&aacute; preenchida a resposta. Se julgar relevante, o juiz
-pode clicar nas sele&ccedil;&otilde;es <b>answer to all users in the site</b> para que esta pergunta seja
-respondida (enviada) para todas as equipes no site ou <b>answer to all users in all sites</b>
-para que a resposta seja enviada para todas as equipes em todos os sites (no caso de
-uma competi&ccedil;&atilde;o executada no BOCA em um &uacute;nico site, n&atilde;o h&aacute; diferen&ccedil;a entre estas sele&ccedil;&otilde;es).</p>
-
-<p>O sistema tamb&eacute;m permite que o juiz utilize um bot&atilde;o chamado
-<u><i>No response</i></u>. Isso ocorre
-em geral porque a pergunta feita n&atilde;o deve ser respondida, pois sua resposta faz parte do
-entendimento da quest&atilde;o ou da prova, ou j&aacute; foi respondida anteriormente.
-Por fim, existe um bot&atilde;o onde o juiz pode devolver a <i>clarification</i> para que
-outro juiz a responda.
-</p>
-
-<p><font size="4"><b>History</b></font></p>
-<p>Ao entrar nessa op&ccedil;&atilde;o, o juiz poder&aacute; visualizar as <i>Clarifications</i> e
-<i>Runs</i> que foram respondidas/corrigidas at&eacute; o momento.
-N&atilde;o &eacute; poss&iacute;vel alterar nada, apenas visualizar.</p>
-
-<p><font size="4"><b>History</b></font></p>
-<p>Nesta aba o juiz pode atuar como uma equipe, submetendo <i>runs</i> para serem julgadas.
-O uso deste item se d&aacute; no momento de testar o sistema e o conjunto de problemas. Ju&iacute;zes
-podem submeter <i>runs</i> mesmo antes de iniciada a competi&ccedil;&atilde;o.
-</p>
-
-<p><font size="4"><b>Options</b></font></p>
-<p>Entrando nessa op&ccedil;&atilde;o poder&atilde;o ser vistas as informa&ccedil;&otilde;es: <i>Username,
-User</i> <i>full name </i>e<i> User description</i> do juiz.<i> </i>Tamb&eacute;m
-ser&aacute; poss&iacute;vel trocar a senha do juiz no BOCA digitando-se a senha antiga e a
-nova (duas vezes). Para efetuar a troca da senha, basta preencher os campos
-corretamente e clicar no bot&atilde;o <i>Send</i>. &Eacute; importante ter uma senha
-segura para um juiz.<br>
-
-</p>
-<p><font size="4"><i><b>Logout</b></i></font></p>
-<p>Essa op&ccedil;&atilde;o permite sair do BOCA.</p>
-
-<p><font size="4"><b>Dicas importantes</b></font></p>
-<p>Ao corrigir problemas, devemos tomar extremo cuidado. Ainda que seja poss&iacute;vel
-alterar a corre&ccedil;&atilde;o posteriormente (atrav&eacute;s do ambiente do administrador da competi&ccedil;&atilde;o),
-isso implica que a equipe receber&aacute; uma resposta e, depois de certo tempo, outra.
-Obviamente esse tipo de situa&ccedil;&atilde;o n&atilde;o &eacute; agrad&aacute;vel.</p>
-<p>Sempre que um dos ju&iacute;zes est&aacute; corrigindo um problema pela primeira vez (ou ainda nas
-demais vezes iniciais, isto &eacute;, at&eacute; o momento foram feitas poucas submiss&otilde;es
-desde problema),
-&eacute; interessante que todos participem e tenham cuidados especiais, analisando a
-submiss&atilde;o com calma. &Eacute; poss&iacute;vel que na primeira
-submiss&atilde;o de um dado problema possamos descobrir um defeito no
-sistema ou nos arquivos de entrada e sa&iacute;da (claro que torcemos para isso nunca aconte&ccedil;a :-).
-</p>
-<p>Para responder &agrave;s <i>clarifications</i>, &eacute; necess&aacute;rio que o juiz tenha lido com
-calma as quest&otilde;es e identifique se a pergunta &eacute; v&aacute;lida e deve ser respondida. Al&eacute;m disso,
-&eacute; necess&aacute;rio considerar se a resposta deve ser enviada para todas as equipes ou apenas
-para aquela que fez a pergunta. Perguntas t&iacute;picas que n&atilde;o s&atilde;o respondidas s&atilde;o:
-<i>Qual o tempo limite desse problema?</i>, <i>Dada essa entrada, qual a sa&iacute;da correta?</i>,
-etc. Al&eacute;m disso, perguntas cujas respostas est&atilde;o definidas nos enunciados normalmente
-n&atilde;o s&atilde;o respondidas.
-Caso haja uma d&uacute;vida sobre o que se deve responder, o juiz deve procurar o juiz-chefe
-respons&aacute;vel pela prova.
-</p>
-
-<p><font size="4"><b>Sobre o BOCA e este documento</b></font></p>
-<p>O sistema BOCA foi criado por Cassio Polpo de Campos
-e pode ser encontrado em
-<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>.
-Este manual foi feito por Cassio Polpo de Campos.</p>
-
-<hr>
-<p>
-<a href="http://validator.w3.org/check?uri=referer">
-<img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" border="0" height="31" width="88"></a>
-
-</p></body></html>
diff --git a/boca-1.5.2/doc/html/manualteam.en.html b/boca-1.5.2/doc/html/manualteam.en.html
deleted file mode 100644
index 815eda0..0000000
--- a/boca-1.5.2/doc/html/manualteam.en.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-<title>BOCA Team's Manual</title>
-</head>
-
-<body bgcolor="white" vlink="blue" link="blue">
-<font size="5"><b>BOCA Online Contest Administrator</b></font>
-<p><b>Reference Manual for teams<font size="5"> - </font>version
-October/2011 (BOCA version 1.4.1+)</b></p>
-
-<p><font size="1">Copyright (c) 2003-2010 Ulisses F. F. da Silva and Cassio
-P. de Campos.<br>
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU Free Documentation License, Version 1.2 or any later
-version published by the Free Software Foundation; with no Invariant Sections,
-no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be
-found in <a
-href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p>
-
-<p>BOCA is a software for controlling a competition in the scope of the <i>ACM International
-Collegiate Programming Contest</i>. It has been developed in PHP and the interaction between teams
-and the system is performed using a <i>web browser</i>. In the following it is described
-this interface and its main functions.</p>
-
-<p><u>It is important that teams tested the system during the <i>warmup session</i>, before
-the official contest, so any issue can be addressed in time. The warmup has exactly this
-purpose. It is expected that teams submit correct and incorrect runs, as long as they <b>do not</b>
-try to perform malicious operations in the system. It is also expected that clarifications be
-submitted, and a small file to print.
-</u></p>
-
-<p>It is assumed here that the team has already logged in using the web browser and
-the URL address provided to access the BOCA system. The URL varies from contest to contest,
-so you have to ask the staff of your site about it. The login page contains the fields
-username and password, which are provided by the staff of the contest. Usually the
-username follows the format <b>teamX</b>, where <b>X</b> is the team number, but that is
-not mandatory (again, check with the staff). If not speficied, the initial password is empty.</p>
-
-<p>After the successful login, a page opens with the team identification in the upper-left
-corner, and the clock of the contest in the upper-right corner. During the contest,
-as the team gets YESes as balloons appear besides the team name.
-Just below this information, a vertical menu has the following options:
-<i>Problems, Runs, Score, Clarifications, Tasks, Backups, Options e Logout.</i></p>
-
-<p><font size="4"><b>Problems</b></font></p>
-<p>In this tab, the team sees the problems of the contest, together with the book of problem
-descriptions (if available online). In <i>in-loco</i> contests, this tab is less important
-given that a printed version of the booklet is distributed to the teams. Still, the column
-named <b>Basename</b> provides to teams the name of the file that has to be used for each problem.
-This is the name that has to be followed by the extension (depending on the language) and
-also as the <u>name of the class containing the <i>public main</i> procedure</u> in Java.
-Usually this information is also available in the booklet. Nevertheless, here the team can
-check if their name is correct.
-</p>
-
-<p><font size="4"><b>Runs</b></font></p>
-<p>This tab represents the actual information about the team's submissions, as well as provides
-the interface to submit new <i>runs</i>. It is important for the team to select the correct
-problem, language, and to choose the correct file for the submission. <b>Note that the file name
-must follow the specification</b> in the booklet, and which shall also be available in the tab <i>Problems</i>.
-Hence,
-<ol>
- <li>Use in the source-code the filename defined in the column <b>Basename</b> of the tab <i>Problems</i>.
- Take care with small typos and the proper extension according to the chosen language.
- </li>
- <li>Choose the correct language and problem. It is not uncommon to happen submissions with wrong filename, language or problem.
- </li>
- <li>Make sure your code reads the input from the <b>standard input</b> and writes the output to the
- <b>standard output</b>. Avoid writing anything to the <b>standard error</b>. Furthermore, make your
- program exit the code zero in the final return or exit(.) call. By default, this indicates that no
- error has happened during its execution.
- </li>
-</ol>
-
-<p>In order to see the judgements of runs, the team must click on
-the tab <i>Runs</i> and watch the list of submitted runs.
-However, do not stop working while waiting for the answers. Even if the judges
-are in the backstage working hard to reply to all submissions, this might take some time.
-In the last part of the competition, the scoreboard is not updated, neither the runs are answered back
-(the number of minutes from the end when this happens depends on the contest; usually it is something around
-15 minutes, but this is informed by the staff). For each run, there is a set of standard answers that
-exist in each contest (and they may vary depending on the contest). Still the common options are shown below:
-<table border="1">
- <tr>
- <td nowrap>Answer</td><td>Description</td>
- </tr>
- <tr>
- <td nowrap>YES</td>
- <td>Your code was properly compiled, run, and correctly generated the expected output for the problem.</td></tr>
- <tr>
- <td nowrap>NO: Wrong answer</td>
- <td>Some times known as <i>Incorrect output</i>. It indicates that the code compiled and ran, however it
- did not generated the expected output for the problem, given the input of the judges (which most certainly
- is different from yours and is not available to you).</td>
- </tr>
- <tr>
- <td nowrap>NO: Time-limit Exceeded</td>
- <td>The code compiled properly but spent more than the maximum amount of time defined for the given problem.
- This time-limit is defined by the judges for each problem and is not disclosed to the teams.</td>
- </tr>
- <tr>
- <td nowrap>NO: Runtime Error</td>
- <td>The code compiled properly but achieved an error during its run, given the input of the judges. Some examples
- of runtime error are: illegal memory access (seg. fault), illegal file access, excess of memory usage, etc.</td>
- </tr>
- <tr><td nowrap>NO: Compilation Error</td>
- <td>The code has not compiled properly in the judges' computers. Note that you are expected to have compiled in your
- own computer before submitting the code. So check the compilation options and versions in your
- computer, and if you do not have a problem compiling it locally, ask a member of the staff for help.</td>
- </tr>
- <tr>
- <td nowrap>NO: presentation Error</td>
- <td>Also known as <i>output format error</i>, it means that your code compiled, ran, and generated the
- expected output apart from some minor presentation issue, such as upper/lower-cases, acents or punctuations (the
- definition of presentation error may vary in each contest and is defined by the judges who created the test set).</td>
- </tr>
- <tr>
- <td nowrap>NO: If possible, contact staff</td>
- <td>This reply tells you to contact your local staff for help/asking about the issue, if at all possible.</td>
- </tr>
-</table>
-
-<p></p>
-<p></p>
-<p><font size="4"><b>Score</b></font></p>
-<p>This tab shows the scoreboard of the contest. If running as a multi-site competition, the scoreboard might also
-contain teams from other sites, which can be identified by the <b>/X</b> after the team name, where <b>X</b> is the
-site number of the corresponding team. Note that the scoreboard is not updated during the last part of the competition.
-This is indicated accordingly.
-</p>
-
-<p><font size="4"><b>Clarifications</b></font></p>
-<p>This tab can be used by the team to submit questions to the judges concerning the problems, their descriptions,
-or any other aspect of the contest. If the question is specific to a problem of the test set, the team must select
-the problem from the combo list. Otherwise, the option <i>General</i> is to be used. The text box is used to
-write the question. It is also available in this tab all the replies to questions that were formulated by the
-team, as well as questions formulated by other teams but that judges decided that the reply should be made
-available to all the teams. Some facts:</p>
-
-<ol>
- <li><b>Teams must make questions regarding the problems and test set using only this interface, and not directly
- to the staff or judges.</b>
- </li>
- <li>It is the team's responsibility to check the tab about <i>clarifications</i> during the contest
- to check for new replies. Judges may also send general clarifications to teams, and they will appear in this tab.
- </li>
-</ol>
-
-<p>BOCA allows judges to use a particular button named <u><i>No response</i></u>. If you receive this
-reply it means that the question may not be answered by the judges, for instance because it is against
-the rules to disclose such information, or because the judges understand that the
-information asked is already available in the booklet of problem descriptions.</p>
-
-<p><font size="4"><b>Tasks</b></font></p>
-<p>This tab allows the team to send files for printing, as well as ask for help from a staff member (using
-the button <i>S.O.S.</i>. To print a file, just select it from the disk and click on <i>Send</i>.
-The help provided by the <i>staff</i> has to be only related to issues with the computers or other
-physical problem, while questions about the test set, problem descriptions, etc must be send to the
-judges using the tab <i>Clarifications</i>.</p>
-
-<p><font size="4"><b>Backups</b></font></p>
-<p>It is possible to send small files to BOCA in order to keep them safe in the server. This is
-particularly useful if some drastic issue happens with your computer. This tab provides a way
-for the teams to send and query back files that are stored in the server. Only very small files
-are allowed, so it is recommended that you backup only plain text files (source code, inputs, etc)
-and use a zip or tar.gz format to create a single file.
-</p>
-<br>
-
-<p><font size="4"><b>Options</b></font></p>
-<p>This tab shows the information of the team, such as <i>Username,
-User</i> <i>full name </i>,<i> User description</i>. It is possible
-for the team to update their password, although this is not necessary neither
-recommended. Instead it is recommended that the admin who created the users already
-specifies secret and safe password for all users.
-</p>
-<br>
-
-</p>
-<p><font size="4"><i><b>Logout</b></i></font></p>
-<p>Button to log out from the team interface.</p>
-
-<p><font size="4"><b>About BOCA and this document</b></font></p>
-<p>BOCA System and this document have been created by Cassio Polpo de Campos and can be found at
-<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>.
-An initial version of this document was made by Ulisses Furquim Freire da Silva.
-</p>
-
-<hr>
-<p><a href="http://validator.w3.org/check?uri=referer"><img border="0"
-src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31"
-width="88"></a>
-</body>
-
-</html>
diff --git a/boca-1.5.2/doc/html/manualteam.pt_br.html b/boca-1.5.2/doc/html/manualteam.pt_br.html
deleted file mode 100644
index efa3871..0000000
--- a/boca-1.5.2/doc/html/manualteam.pt_br.html
+++ /dev/null
@@ -1,227 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
-<title>Manual do BOCA para as equipes</title>
-</head>
-
-<body bgcolor="white" vlink="blue" link="blue">
-<font size="5"><b>BOCA Online Contest Administrator - Sistema de Submiss&atilde;o</b></font>
-<p><b>Manual de Refer&ecirc;ncia para as equipes<font size="5"> - </font>vers&atilde;o
-setembro/2010 (para o BOCA vers&atilde;o 1.4.x)</b></p>
-
-<p><font size="1">Copyright (c) 2003-2010 Ulisses F. F. da Silva and Cassio
-P. de Campos.<br>
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU Free Documentation License, Version 1.2 or any later
-version published by the Free Software Foundation; with no Invariant Sections,
-no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be
-found in <a
-href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p>
-
-<p>O BOCA &eacute; um <i>software</i> criado para controlar uma competi&ccedil;&atilde;o nos moldes
-da Maratona de Programa&ccedil;&atilde;o da SBC. Foi feito em PHP e a intera&ccedil;&atilde;o dos times
-com o sistema &eacute; feita usando-se um <i>browser</i>. A seguir descrevemos a
-interface dispon&iacute;vel no BOCA para as equipes e suas principais fun&ccedil;&otilde;es.</p>
-
-<p><b>&Eacute; interessante que todos os times testem essas op&ccedil;&otilde;es durante a<i>
-</i>sess&atilde;o de aquecimento <i>(warmup)</i></b> <b>que antecede a competi&ccedil;&atilde;o. O
-warmup tem exatamente esta fun&ccedil;&atilde;o, e assim espera-se que cada equipe submeta
-um problema correto, submeta um problema errado, fa&ccedil;a perguntas aos ju&iacute;zes
-atrav&eacute;s do sistema de <i>clarifications</i> e at&eacute; submeta um arquivo pequeno
-para impress&atilde;o.</b></p>
-
-<p>Neste texto ser&aacute; assumido que o time j&aacute; realizou o seu
-<i>login</i> na m&aacute;quina e abriu uma janela do navegador (leia
-as instru&ccedil;&otilde;es sobre o Maratona Linux ou sobre o sistema que
-estiver sendo utilizado). O BOCA &eacute; acessado atrav&eacute;s de uma
-<i>URL</i> (endere&ccedil;os comuns s&atilde;o
-http://mainserver/boca/ ou http://bocaserver/boca/). Ao carregar a p&aacute;gina, o time dever&aacute; ver a
-tela de <i>login</i> do BOCA. Basta digitar o <i>login</i> do
-BOCA fornecido ao time e a sua senha correspondente (usualmente
-algo como <b>teamX</b>, onde <b>X</b>
-deve ser substitu&iacute;do pelo n&uacute;mero da equipe. A senha inicial &eacute;
-vazia caso n&atilde;o escolhida diferentemente).</p>
-
-<p>Ap&oacute;s realizar o <i>login</i> com sucesso, uma p&aacute;gina dever&aacute; ser aberta
-contendo a identifica&ccedil;&atilde;o do time no canto superior esquerdo. Durante a
-competi&ccedil;&atilde;o, conforme o time acerta os problemas, pequenos bal&otilde;es coloridos
-s&atilde;o apresentados pr&oacute;ximos ao nome do time.
-No canto superior
-direito haver&aacute; a informa&ccedil;&atilde;o sobre o estado da competi&ccedil;&atilde;o: ou ainda n&atilde;o
-come&ccedil;ou, ou j&aacute; acabou, ou est&aacute; parada, ou a competi&ccedil;&atilde;o est&aacute; em andamento e a
-quantidade de minutos restantes ser&aacute; mostrada. Mais abaixo dessas primeiras
-linhas estar&atilde;o sete op&ccedil;&otilde;es, que representam a interface propriamente dita do
-BOCA. Estas sete op&ccedil;&otilde;es s&atilde;o: <i>Problems, Runs,
-Score, Clarifications, Tasks, Backups, Options e Logout.</i></p>
-
-<p><font size="4"><b>Problems</b></font></p>
-<p>Ao entrar nessa op&ccedil;&atilde;o, o time poder&aacute; visualizar as quest&otilde;es da prova. Para
-cada quest&atilde;o, estar&aacute; dispon&iacute;vel um arquivo con sua descri&ccedil;&atilde;o (muitas vezes
-apenas um arquivo de descri&ccedil;&atilde;o &eacute; dado, contendo todas as quest&otilde;es da prova).
-Esta op&ccedil;&atilde;o &eacute; normalmente utilizada para competi&ccedil;&otilde;es n&atilde;o-presenciais como forma de
-distribuir a prova. Em competi&ccedil;&otilde;es presenciais, sua utilidade &eacute; reduzida.
-Ainda nesta tela &eacute; poss&iacute;vel visualizar as cores dos bal&otilde;es de cada problema.</p>
-
-<p><font size="4"><b>Runs</b></font></p>
-<p>Ao entrar nessa op&ccedil;&atilde;o, o time poder&aacute; submeter as suas solu&ccedil;&otilde;es e receber as
-respostas dos ju&iacute;zes. <b>Para submeter uma solu&ccedil;&atilde;o, o time dever&aacute; selecionar o
-problema para o qual a solu&ccedil;&atilde;o foi feita, a linguagem utilizada e depois
-carregar o arquivo contendo a solu&ccedil;&atilde;o.</b> Depois disso, basta clicar no bot&atilde;o
-<i>Send</i> para enviar sua solu&ccedil;&atilde;o. O bot&atilde;o <i>Clear</i> permite apagar os
-dados selecionados. Algumas observa&ccedil;&otilde;es importantes na hora de criar e
-submeter uma solu&ccedil;&atilde;o:</p>
-
-<ol>
- <li>Crie o seu arquivo-fonte contendo a solu&ccedil;&atilde;o de um problema com o <b>nome
- indicado</b> <b>no enunciado.</b> Cuidado com pequenos erros no nome e em sua extens&atilde;o.
- </li>
- <li>Escolha a <b>linguagem correta.</b> Note que seu fonte dever&aacute; ter a
- extens&atilde;o correspondente para cada uma das linguagens aceitas (veja a folha
- de quest&otilde;es da prova).
- </li>
- <li>Lembre-se de que sua solu&ccedil;&atilde;o deve <b>ler os dados da entrada padr&atilde;o e
- escrever os</b> <b>resultados na sa&iacute;da padr&atilde;o.</b> <b>Nada</b> deve ser
- escrito <b>na sa&iacute;da padr&atilde;o de erro.</b> Al&eacute;m disso, programas escritos em
- linguagens que possibilitam o retorno de algum valor para o sistema
- operacional devem retornar o valor 0 (zero), que por conven&ccedil;&atilde;o indica que
- nenhum problema ocorreu na execu&ccedil;&atilde;o.
- </li>
-</ol>
-
-<p>Para receber as respostas dos ju&iacute;zes, o time dever&aacute; clicar em <i>Runs</i> e
-esperar que a lista contendo as respostas recebidas para cada solu&ccedil;&atilde;o
-submetida seja atualizada (ainda assim, n&atilde;o perca tempo esperando. Voc&ecirc; pode
-produzir enquanto a resposta dos ju&iacute;zes n&atilde;o chega). Vale a pena lembrar que
-nos <b>&uacute;ltimos minutos os times que submeterem</b> <b>solu&ccedil;&otilde;es n&atilde;o receber&atilde;o
-mais as respostas dos ju&iacute;zes</b>
-(assim o suspense fica melhor, n&atilde;o? :-). Esse prazo &eacute; informado na
-competi&ccedil;&atilde;o. Cada competi&ccedil;&atilde;o tem seu conjunto de respostas poss&iacute;vel que as
-equipes podem receber. A seguir apresentamos apenas uma tabela exemplo com as
-respostas tradicionais. <b>Verifique as especialidades da sua
-competi&ccedil;&atilde;o</b>.</p>
-
-<table border="1">
- <tr>
- <td nowrap>Resposta</td><td>Descri&ccedil;&atilde;o</td>
- </tr>
- <tr>
- <td nowrap>YES</td>
- <td>Seu programa foi aceito, e voc&ecirc; receber&aacute; um bal&atilde;o da cor correspondente ao problema.</td></tr>
- <tr>
- <td nowrap>NO: Incorrect Output</td>
- <td>Tamb&eacute;m conhecido como <i>Wrong Answer</i>. Indica que seu programa
- respondeu incorretamente a algum(ns) dos testes dos ju&iacute;zes.</td>
- </tr>
- <tr>
- <td nowrap>NO: Time-limit Exceeded</td>
- <td>A execu&ccedil;&atilde;o do seu programa excedeu o tempo permitido pelos
- ju&iacute;zes. Esse limite de tempo usualmente n&atilde;o &eacute; divulgado aos times e pode variar
- para cada problema.</td>
- </tr>
- <tr>
- <td nowrap>NO: Runtime Error</td>
- <td>Durante o teste ocorreu um erro de execu&ccedil;&atilde;o (causado pelo seu
- programa) na m&aacute;quina dos ju&iacute;zes. Acesso a posi&ccedil;&otilde;es irregulares de
- mem&oacute;ria ou estouro dos limites da m&aacute;quina s&atilde;o os erros mais comuns.</td>
- </tr>
- <tr><td nowrap>NO: Compilation Error</td>
- <td>Seu programa tem erros de sintaxe. Pode ser ainda que voc&ecirc; errou o
- nome do problema ou linguagem no momento da submiss&atilde;o.</td>
- </tr>
- <tr>
- <td nowrap>NO: Output Format Error</td>
- <td>Tamb&eacute;m conhecido como <i>Presentation Error</i>, indica que a sa&iacute;da
- do seu programa n&atilde;o segue a especifica&ccedil;&atilde;o exigida na folha de
- quest&otilde;es, apesar do "resultado" estar correto. Corrija para se
- adequar &agrave; especifica&ccedil;&atilde;o do problema.</td>
- </tr>
- <tr>
- <td nowrap>NO: Contact Staff</td>
- <td>Voc&ecirc; deve pedir a presen&ccedil;a do pessoal de <i>staff</i>, pois algum
- erro incomum aconteceu.</td>
- </tr>
-</table>
-
-<p></p>
-<p></p>
-<p><font size="4"><b>Score</b></font></p>
-<p>Nessa op&ccedil;&atilde;o ser&aacute; mostrado o placar atualizado da competi&ccedil;&atilde;o. Vale a pena
-lembrar que <b>o placar ser&aacute; congelado antes do final da competi&ccedil;&atilde;o</b>
-(suspense mantido :-). Esse prazo tamb&eacute;m &eacute; informado na competi&ccedil;&atilde;o, e o placar
-quando estiver congelado mostra um aviso sobre seu estado.</p>
-
-<p><font size="4"><b>Clarifications</b></font></p>
-<p>Essa op&ccedil;&atilde;o permite que o time fa&ccedil;a perguntas aos ju&iacute;zes a cerca de um
-problema espec&iacute;fico ou de algum aspecto geral da prova. O time dever&aacute;
-selecionar o problema relacionado &agrave; sua pergunta ou selecionar <i>General</i>,
-caso a pergunta n&atilde;o seja espec&iacute;fica. Logo abaixo dever&aacute; ser escrito o texto da
-<i>clarification</i>. Para enviar a <i>clarification</i> basta clicar no bot&atilde;o
-<i>Send.</i> O bot&atilde;o <i>Clear</i> apaga os dados selecionados. Para visualizar
-a resposta da <i>clarification</i>, o time dever&aacute; estar na op&ccedil;&atilde;o
-<i>Clarifications</i> e olhar na lista das <i>clarifications</i> submetidas se
-a resposta j&aacute; foi dada. Como j&aacute; foi mencionado, uma lista contendo as
-<i>clarifications</i> pertinentes a cada time ser&aacute; sempre mostrada nessa
-op&ccedil;&atilde;o. Algumas observa&ccedil;&otilde;es importantes sobre <i>clarifications</i>:</p>
-
-<ol>
- <li><b>Os times devem fazer perguntas sobre a prova utilizando apenas essa
- interface</b> <b>dispon&iacute;vel no BOCA!</b>
- </li>
- <li>O time dever&aacute; ficar atento &agrave;s <i>clarifications</i> durante toda a
- prova, pois uma <i>clarification</i> feita por um time poder&aacute; ser respondida
- para todos os outros. Os ju&iacute;zes tamb&eacute;m podem enviar clarifications a todos
- os times se julgarem conveniente. Fiquem atentos.
- </li>
- <li>As respostas de clarifications n&atilde;o surgem na tela. Voc&ecirc; deve consultar esta p&aacute;gina para v&ecirc;-las.
- </li>
-</ol>
-
-<p>O sistema permite que o juiz respondendo uma d&uacute;vida utilize um bot&atilde;o chamado <u><i>No response</i></u>. Isso ocorre
-em geral porque a pergunta feita n&atilde;o deve ser respondida, pois sua resposta faz parte do
-entendimento da quest&atilde;o ou da prova. Neste caso sugerimos ler com cuidado as quest&otilde;es e as
-poss&iacute;veis <i>clarifications</i> relacionadas.</p>
-
-<p><font size="4"><b>Tasks</b></font></p>
-<p>Ao entrar nessa op&ccedil;&atilde;o, o time poder&aacute; enviar arquivos para impress&atilde;o. Para
-isso o arquivo deve ser selecionado e ent&atilde;o basta clicar no bot&atilde;o
-<i>Send</i>. O bot&atilde;o <i>Clear</i> permite apagar os dados selecionados. Outra
-op&ccedil;&atilde;o neste item &eacute; o bot&atilde;o <i>S.O.S.</i> que pode ser usado para chamar a
-ajuda do pessoal de <i>staff</i>. Essa ajuda deve estar relacionada apenas com
-problemas do computador ou semelhantes, j&aacute; que d&uacute;vidas sobre a prova devem ser
-enviadas pelo sistema BOCA na op&ccedil;&atilde;o <i>Clarifications</i>.</p>
-
-<p><font size="4"><b>Backups</b></font></p>
-<p>No sistema BOCA &eacute; poss&iacute;vel enviar pequenos arquivos para que sejam
-guardados no servidor em case de uma interrup&ccedil;&atilde;o do funcionamento do computador
-do time. Entrando nessa op&ccedil;&atilde;o poder&atilde;o ser vistos os arquivos j&aacute; enviados
-e mantidos no servidor, assim como enviar novos arquivos. Note que existe um limite usualmente
-pequeno na capacidade de armazenamento para que n&atilde;o hajam abusos. Um arquivo compactado &eacute;
-geralmente a melhor forma de guardar dados no servidor.<br>
-
-<p><font size="4"><b>Options</b></font></p>
-<p>Entrando nessa op&ccedil;&atilde;o poder&atilde;o ser vistas as informa&ccedil;&otilde;es: <i>Username,
-User</i> <i>full name </i>e<i> User description</i> do time.<i> </i>Tamb&eacute;m
-ser&aacute; poss&iacute;vel trocar a senha do time no BOCA digitando-se a senha antiga e a
-nova (duas vezes). Para efetuar a troca da senha, basta preencher os campos
-corretamente e clicar no bot&atilde;o <i>Send</i>.<br>
-
-</p>
-<p><font size="4"><i><b>Logout</b></i></font></p>
-<p>Essa op&ccedil;&atilde;o permite sair do BOCA.</p>
-
-<p><font size="4"><b>Sobre o BOCA e este documento</b></font></p>
-<p>O sistema BOCA foi criado por Cassio Polpo de Campos
-e pode ser encontrado em
-<a href="http://www.ime.usp.br/~cassio/boca">http://www.ime.usp.br/~cassio/boca</a>.
-Este manual, em sua vers&atilde;o inicial, foi feito por Ulisses Furquim Freire da Silva e
-complementado e atualizado por Cassio Polpo de Campos.</p>
-
-<hr>
-<p><a href="http://validator.w3.org/check?uri=referer"><img border="0"
-src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31"
-width="88"></a>
-</body>
-
-</html>
diff --git a/boca-1.5.2/doc/import-user.txt b/boca-1.5.2/doc/import-user.txt
deleted file mode 100644
index ea16d82..0000000
--- a/boca-1.5.2/doc/import-user.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-import-user.txt
----------------
-Last modified 24/aug/2012 by cassio@ime.usp.br
-See Copyright below.
-
-To simplify the input of user's data, it is
-possible to put all information in a text
-file, according to three different formats. Two
-of them are based on the files generated from the
-ICPC website system, usually in TAB separated format. Examples of such
-files are in this folder, named PC2_Team.tab and Teams.tsv
-The third possible format follows the example below:
-
-************ users.txt: *************
-[user]
-usernumber=2000
-usersitenumber=1
-username=cassio
-userfullname=Cassio P. de Campos
-usertype=admin
-userpassword=secret
-
-usernumber=2001
-usersitenumber=1
-username=judge1
-usertype=judge
-userfullname=First judge name
-userenabled=f
-usermultilogin=t
-userip=10.0.0.5
-
-usernumber=2002
-usersitenumber=1
-username=staff1
-usertype=staff
-userfullname=Staff person name
-userpassword=aBcDe
-
-usernumber=1
-usersitenumber=1
-userfullname=[PUC-SP A] Team A
-userdesc=[PUC-SP][Pontificial Universidade Catolica de SP] Nome1, Nome2, Nome3
-userip=192.168.0.1
-usericpcid=1234
-
-usernumber=2
-usersitenumber=1
-userfullname=[Team B] Full team B name
-userdesc=[InstitutionShortName] Long institution name
-userip=192.168.0.2
-usericpcid=1111
-
-usernumber=3
-usersitenumber=1
-userfullname=[Shortname] Long team name
-userip=192.168.0.3
-
-**************************************
-Note that the "****" lines should not
-be included in the text file, only what is between them. Consider
-using the ICPC data format, downloaded from the ICPC site, to input
-the information about the teams. Note that passwords will be
-automatically generated for the teams in such case, and you have to
-take note of those passwords. If you re-include the teams using those
-file formats, new passwords will be generated, and you must take note again.
-
-The users are defined per block of lines.
-Blank lines separate the definitions of the
-users. The parameters not specified for a
-given user inside its block are set to
-the default values.
-
-The parameters in the user's file are:
-usernumber: number of the user in the site
-usersitenumber: number of the user's site
-username: nickname of the user. If not
- specified, it's generated from
- the usernumber, ie, "team"+usernumber
-userfullname: institution name and team name or
- just the user name.
-userdesc: detailed description about the user.
-usertype: type of the user. If not specified,
- it's set to "team".
-userpassword: if not specified, it's left emtpy.
-userenabled: if not specified, the user is enabled.
-usericpcid: ID of user in the ICPC system. Not required.
-usermultilogin: if not specified, the user cannot
- make simultaneous logins form distinct IPs.
-userip: from which IP number the user may connect. A list
- of IPs separated by comma may be specified. IPs may
- have netmasks, such as 10.0.0.0/16, or negations,
- such as !143.107.0.0/16.
-
-Contacts and Copyrights
------------------------
-BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
-http://www.ime.usp.br/~cassio/boca
-
-////////////////////////////////////////////////////////////////////////////////
-//BOCA Online Contest Administrator
-// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-////////////////////////////////////////////////////////////////////////////////
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi.zip b/boca-1.5.2/doc/problemexamples/abacaxi.zip
deleted file mode 100644
index 2dcf701..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi.zip
+++ /dev/null
Binary files differ
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compare/c b/boca-1.5.2/doc/problemexamples/abacaxi/compare/c
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compare/c
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compare/cpp b/boca-1.5.2/doc/problemexamples/abacaxi/compare/cpp
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compare/cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compare/java b/boca-1.5.2/doc/problemexamples/abacaxi/compare/java
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compare/java
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compile/c b/boca-1.5.2/doc/problemexamples/abacaxi/compile/c
deleted file mode 100644
index 5376708..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compile/c
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which gcc\`
-[ -x "\$cc" ] || cc=/usr/bin/gcc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compile/cpp b/boca-1.5.2/doc/problemexamples/abacaxi/compile/cpp
deleted file mode 100644
index 6a61bc1..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compile/cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which g++\`
-[ -x "\$cc" ] || cc=/usr/bin/g++
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compile/java b/boca-1.5.2/doc/problemexamples/abacaxi/compile/java
deleted file mode 100644
index f62215b..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compile/java
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.jar)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- if [ "${name##*.}" == "zip" ]; then
- name=`basename $name .zip`
- else
- name=`basename $name .ZIP`
- fi
-else
- cp $name src
-fi
-chown -R $bocau src
-chmod -R 700 src
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$4
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-maxm=512
-if [ "$4" != "" -a "$4" -gt "0" ]; then
-maxm=$4
-fi
-
-if [ "$2" == "" ]; then
- jarfile=run.jar
-else
- jarfile=$2
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-
-cat <<EOF > compileit.sh
-#!/bin/bash
-javac=`which javac`
-[ -x "\$javac" ] || javac=/usr/bin/javac
-if [ ! -x \$javac ]; then
- echo "\$javac not found or it's not executable"
- exit 47
-fi
-jar=`which jar`
-[ -x "\$jar" ] || jar=/usr/bin/jar
-if [ ! -x \$jar ]; then
- echo "\$jar not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:\$CLASSPATH
-cd src
-if [ -r "$name" ]; then
- \$javac "$name"
- echo \$? > ../compileit.retcode
-fi
-find . -name "*.java" | while read lin; do
- \$javac "\$lin"
- echo \$? > ../compileit.retcode
-done
-rm -f ../$jarfile
-\$jar cvf ../$jarfile *
-exit 0
-EOF
-chmod 755 compileit.sh
-
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-
-$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
-# $javac "$name"
- $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/compile/pas b/boca-1.5.2/doc/problemexamples/abacaxi/compile/pas
deleted file mode 100644
index e0b73ca..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/compile/pas
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 28/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which fpc\`
-[ -x "\$cc" ] || cc=/usr/bin/fpc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -Xt -XS -O2 -o../$exe $name
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/description/abacaxi.txt b/boca-1.5.2/doc/problemexamples/abacaxi/description/abacaxi.txt
deleted file mode 100644
index 4cd89f0..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/description/abacaxi.txt
+++ /dev/null
@@ -1 +0,0 @@
-THIS IS THE FILE DESCRIBING THE PROBLEM! IT CAN BE A PDF OR ANY OTHER FORMAT...
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/description/problem.info b/boca-1.5.2/doc/problemexamples/abacaxi/description/problem.info
deleted file mode 100644
index b4b6af8..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/description/problem.info
+++ /dev/null
@@ -1,3 +0,0 @@
-basename=abacaxi
-fullname=The abacaxi problem
-descfile=abacaxi.txt
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/input/abacaxi b/boca-1.5.2/doc/problemexamples/abacaxi/input/abacaxi
deleted file mode 100644
index 26d3afe..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/input/abacaxi
+++ /dev/null
@@ -1,25 +0,0 @@
-5
-32 37 82 46 32
-13 40 75 62 19
-8
-14 22 29 41 72 25 68 90
-22 19 21 45 70 46 66 80
-3
-2 4 5
-8 8 8
-8
-12 1 0 8 5 0 9 4
-0 0 13 0 0 13 0 0
-8
-8 8 8 8 8 8 8 8
-7 9 5 8 9 5 9 7
-1
-0
-0
-999
-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-999
- 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/limits/c b/boca-1.5.2/doc/problemexamples/abacaxi/limits/c
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/limits/c
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/limits/cpp b/boca-1.5.2/doc/problemexamples/abacaxi/limits/cpp
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/limits/cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/limits/java b/boca-1.5.2/doc/problemexamples/abacaxi/limits/java
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/limits/java
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/output/abacaxi b/boca-1.5.2/doc/problemexamples/abacaxi/output/abacaxi
deleted file mode 100644
index 2e9fd8b..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/output/abacaxi
+++ /dev/null
@@ -1,24 +0,0 @@
-Fazenda 1
-Inicio 1 Fim 3
-
-Fazenda 2
-Inicio 7 Fim 8
-
-Fazenda 3
-O produtor so teve prejuizo nesta fazenda
-
-Fazenda 4
-Inicio 1 Fim 2
-
-Fazenda 5
-Inicio 1 Fim 6
-
-Fazenda 6
-Inicio 1 Fim 1
-
-Fazenda 7
-Inicio 1 Fim 999
-
-Fazenda 8
-Inicio 1 Fim 999
-
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/run/c b/boca-1.5.2/doc/problemexamples/abacaxi/run/c
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/run/c
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/run/cpp b/boca-1.5.2/doc/problemexamples/abacaxi/run/cpp
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/run/cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/run/java b/boca-1.5.2/doc/problemexamples/abacaxi/run/java
deleted file mode 100755
index d6a73a5..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/run/java
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 14/sept/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 main_class
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ -r run.exe ]; then
- mv run.exe run.jar
-fi
-if [ -r "$1" ]; then
- mv "$1" run.jar
-fi
-if [ ! -r run.jar ]; then
- echo "ERROR: file run.jar not found - possible error during compilation"
- exit 1
-fi
-name="$1"
-if [ "${name##*.}" == "class" -a "${name##*.}" == "CLASS" ]; then
- echo "WARNING: removing .class file extension"
-fi
-if [ "${name##*.}" == "class" ]; then
- name=`basename "$1" .class`
-fi
-if [ "${name##*.}" == "CLASS" ]; then
- name=`basename "$1" .CLASS`
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-rm -f runit.retcode 2>/dev/null
-cp "$2" stdin0 2>/dev/null
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-java=`which java`
-[ -x "\$java" ] || java=/usr/bin/java
-if [ ! -x \$java ]; then
- echo "\$java not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:./run.jar:$CLASSPATH
-$sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 -- \$java -Xmx${maxm}K -Xms${maxm}K "$name"
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- fi
- if [ "$ret" == "" ]; then
- echo "Execution error - check autojudging"
- exit 49
- fi
-else
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- java=`which java`
- [ -x "$java" ] || java=/usr/bin/java
- if [ ! -x $java ]; then
- echo "$java not found or it's not executable"
- exit 47
- fi
- $sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 -- $java -cp run.jar -Xmx${maxm}K -Xms${maxm}K "$name"
- ret=$?
-fi
-if [ $ret -gt 10 ]; then
- echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
- ret=9
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/abacaxi/tests/c b/boca-1.5.2/doc/problemexamples/abacaxi/tests/c
deleted file mode 100755
index de0a9c5..0000000
--- a/boca-1.5.2/doc/problemexamples/abacaxi/tests/c
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
-# and the script files that are included in the problem package
-
-cat > test.c <<EOF
-#include<stdio.h>
-int main() {
- char s[100];
- scanf("%s", s);
- printf("%s\n",s);
- return 0;
-}
-EOF
-cat > test.in <<EOF
-inputdata
-EOF
-
-TL=2
-REP=10
-chmod 755 ../compile/c
-../compile/c test.c test.exe $TL
-chmod 755 ../run/c
-../run/c test.exe test.in $TL $REP
-if [ -r stdout0 ]; then
- output=`cat stdout0`
- if [ "$output" != "inputdata" ]; then
- echo "ERROR"
- exit 1
- fi
-else
- echo "ERROR"
- exit 1
-fi
-echo "TEST PASSED"
-exit 0
diff --git a/boca-1.5.2/doc/problemexamples/bits.zip b/boca-1.5.2/doc/problemexamples/bits.zip
deleted file mode 100644
index 5be7f38..0000000
--- a/boca-1.5.2/doc/problemexamples/bits.zip
+++ /dev/null
Binary files differ
diff --git a/boca-1.5.2/doc/problemexamples/bits/compare/c b/boca-1.5.2/doc/problemexamples/bits/compare/c
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compare/c
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/bits/compare/cpp b/boca-1.5.2/doc/problemexamples/bits/compare/cpp
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compare/cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/bits/compare/java b/boca-1.5.2/doc/problemexamples/bits/compare/java
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compare/java
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/bits/compile/c b/boca-1.5.2/doc/problemexamples/bits/compile/c
deleted file mode 100644
index 5376708..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compile/c
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which gcc\`
-[ -x "\$cc" ] || cc=/usr/bin/gcc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/compile/cpp b/boca-1.5.2/doc/problemexamples/bits/compile/cpp
deleted file mode 100644
index 6a61bc1..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compile/cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which g++\`
-[ -x "\$cc" ] || cc=/usr/bin/g++
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/compile/java b/boca-1.5.2/doc/problemexamples/bits/compile/java
deleted file mode 100644
index f62215b..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compile/java
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.jar)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- if [ "${name##*.}" == "zip" ]; then
- name=`basename $name .zip`
- else
- name=`basename $name .ZIP`
- fi
-else
- cp $name src
-fi
-chown -R $bocau src
-chmod -R 700 src
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$4
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-maxm=512
-if [ "$4" != "" -a "$4" -gt "0" ]; then
-maxm=$4
-fi
-
-if [ "$2" == "" ]; then
- jarfile=run.jar
-else
- jarfile=$2
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-
-cat <<EOF > compileit.sh
-#!/bin/bash
-javac=`which javac`
-[ -x "\$javac" ] || javac=/usr/bin/javac
-if [ ! -x \$javac ]; then
- echo "\$javac not found or it's not executable"
- exit 47
-fi
-jar=`which jar`
-[ -x "\$jar" ] || jar=/usr/bin/jar
-if [ ! -x \$jar ]; then
- echo "\$jar not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:\$CLASSPATH
-cd src
-if [ -r "$name" ]; then
- \$javac "$name"
- echo \$? > ../compileit.retcode
-fi
-find . -name "*.java" | while read lin; do
- \$javac "\$lin"
- echo \$? > ../compileit.retcode
-done
-rm -f ../$jarfile
-\$jar cvf ../$jarfile *
-exit 0
-EOF
-chmod 755 compileit.sh
-
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-
-$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
-# $javac "$name"
- $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/compile/pas b/boca-1.5.2/doc/problemexamples/bits/compile/pas
deleted file mode 100644
index e0b73ca..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/compile/pas
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 28/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which fpc\`
-[ -x "\$cc" ] || cc=/usr/bin/fpc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -Xt -XS -O2 -o../$exe $name
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/description/bits.txt b/boca-1.5.2/doc/problemexamples/bits/description/bits.txt
deleted file mode 100644
index 4cd89f0..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/description/bits.txt
+++ /dev/null
@@ -1 +0,0 @@
-THIS IS THE FILE DESCRIBING THE PROBLEM! IT CAN BE A PDF OR ANY OTHER FORMAT...
diff --git a/boca-1.5.2/doc/problemexamples/bits/description/problem.info b/boca-1.5.2/doc/problemexamples/bits/description/problem.info
deleted file mode 100644
index e1bc487..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/description/problem.info
+++ /dev/null
@@ -1,3 +0,0 @@
-basename=bits
-fullname=The Problem of bits
-descfile=bits.txt
diff --git a/boca-1.5.2/doc/problemexamples/bits/input/bits b/boca-1.5.2/doc/problemexamples/bits/input/bits
deleted file mode 100644
index ef548be..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/input/bits
+++ /dev/null
@@ -1,9 +0,0 @@
-1 7
-4 1 10 20 30
-2 2000 999
-3 0 0 0
-2 1 1000
-1000 1073741824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-1 0
-1 8
-0
diff --git a/boca-1.5.2/doc/problemexamples/bits/limits/c b/boca-1.5.2/doc/problemexamples/bits/limits/c
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/limits/c
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/bits/limits/cpp b/boca-1.5.2/doc/problemexamples/bits/limits/cpp
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/limits/cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/bits/limits/java b/boca-1.5.2/doc/problemexamples/bits/limits/java
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/limits/java
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/bits/output/bits b/boca-1.5.2/doc/problemexamples/bits/output/bits
deleted file mode 100644
index 7749442..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/output/bits
+++ /dev/null
@@ -1,24 +0,0 @@
-Instancia 1
-3
-
-Instancia 2
-20
-
-Instancia 3
-22
-
-Instancia 4
-3
-
-Instancia 5
-20
-
-Instancia 6
-31000
-
-Instancia 7
-1
-
-Instancia 8
-4
-
diff --git a/boca-1.5.2/doc/problemexamples/bits/run/c b/boca-1.5.2/doc/problemexamples/bits/run/c
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/run/c
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/run/cpp b/boca-1.5.2/doc/problemexamples/bits/run/cpp
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/run/cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/run/java b/boca-1.5.2/doc/problemexamples/bits/run/java
deleted file mode 100755
index d6a73a5..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/run/java
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 14/sept/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 main_class
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ -r run.exe ]; then
- mv run.exe run.jar
-fi
-if [ -r "$1" ]; then
- mv "$1" run.jar
-fi
-if [ ! -r run.jar ]; then
- echo "ERROR: file run.jar not found - possible error during compilation"
- exit 1
-fi
-name="$1"
-if [ "${name##*.}" == "class" -a "${name##*.}" == "CLASS" ]; then
- echo "WARNING: removing .class file extension"
-fi
-if [ "${name##*.}" == "class" ]; then
- name=`basename "$1" .class`
-fi
-if [ "${name##*.}" == "CLASS" ]; then
- name=`basename "$1" .CLASS`
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-rm -f runit.retcode 2>/dev/null
-cp "$2" stdin0 2>/dev/null
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-java=`which java`
-[ -x "\$java" ] || java=/usr/bin/java
-if [ ! -x \$java ]; then
- echo "\$java not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:./run.jar:$CLASSPATH
-$sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 -- \$java -Xmx${maxm}K -Xms${maxm}K "$name"
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- fi
- if [ "$ret" == "" ]; then
- echo "Execution error - check autojudging"
- exit 49
- fi
-else
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- java=`which java`
- [ -x "$java" ] || java=/usr/bin/java
- if [ ! -x $java ]; then
- echo "$java not found or it's not executable"
- exit 47
- fi
- $sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 -- $java -cp run.jar -Xmx${maxm}K -Xms${maxm}K "$name"
- ret=$?
-fi
-if [ $ret -gt 10 ]; then
- echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
- ret=9
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/bits/tests/c b/boca-1.5.2/doc/problemexamples/bits/tests/c
deleted file mode 100755
index de0a9c5..0000000
--- a/boca-1.5.2/doc/problemexamples/bits/tests/c
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
-# and the script files that are included in the problem package
-
-cat > test.c <<EOF
-#include<stdio.h>
-int main() {
- char s[100];
- scanf("%s", s);
- printf("%s\n",s);
- return 0;
-}
-EOF
-cat > test.in <<EOF
-inputdata
-EOF
-
-TL=2
-REP=10
-chmod 755 ../compile/c
-../compile/c test.c test.exe $TL
-chmod 755 ../run/c
-../run/c test.exe test.in $TL $REP
-if [ -r stdout0 ]; then
- output=`cat stdout0`
- if [ "$output" != "inputdata" ]; then
- echo "ERROR"
- exit 1
- fi
-else
- echo "ERROR"
- exit 1
-fi
-echo "TEST PASSED"
-exit 0
diff --git a/boca-1.5.2/doc/problemexamples/formiga.zip b/boca-1.5.2/doc/problemexamples/formiga.zip
deleted file mode 100644
index 98a416c..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga.zip
+++ /dev/null
Binary files differ
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compare/c b/boca-1.5.2/doc/problemexamples/formiga/compare/c
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compare/c
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compare/cpp b/boca-1.5.2/doc/problemexamples/formiga/compare/cpp
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compare/cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compare/java b/boca-1.5.2/doc/problemexamples/formiga/compare/java
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compare/java
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compile/c b/boca-1.5.2/doc/problemexamples/formiga/compile/c
deleted file mode 100644
index 5376708..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compile/c
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which gcc\`
-[ -x "\$cc" ] || cc=/usr/bin/gcc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compile/cpp b/boca-1.5.2/doc/problemexamples/formiga/compile/cpp
deleted file mode 100644
index 6a61bc1..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compile/cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which g++\`
-[ -x "\$cc" ] || cc=/usr/bin/g++
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compile/java b/boca-1.5.2/doc/problemexamples/formiga/compile/java
deleted file mode 100644
index f62215b..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compile/java
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.jar)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- if [ "${name##*.}" == "zip" ]; then
- name=`basename $name .zip`
- else
- name=`basename $name .ZIP`
- fi
-else
- cp $name src
-fi
-chown -R $bocau src
-chmod -R 700 src
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$4
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-maxm=512
-if [ "$4" != "" -a "$4" -gt "0" ]; then
-maxm=$4
-fi
-
-if [ "$2" == "" ]; then
- jarfile=run.jar
-else
- jarfile=$2
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-
-cat <<EOF > compileit.sh
-#!/bin/bash
-javac=`which javac`
-[ -x "\$javac" ] || javac=/usr/bin/javac
-if [ ! -x \$javac ]; then
- echo "\$javac not found or it's not executable"
- exit 47
-fi
-jar=`which jar`
-[ -x "\$jar" ] || jar=/usr/bin/jar
-if [ ! -x \$jar ]; then
- echo "\$jar not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:\$CLASSPATH
-cd src
-if [ -r "$name" ]; then
- \$javac "$name"
- echo \$? > ../compileit.retcode
-fi
-find . -name "*.java" | while read lin; do
- \$javac "\$lin"
- echo \$? > ../compileit.retcode
-done
-rm -f ../$jarfile
-\$jar cvf ../$jarfile *
-exit 0
-EOF
-chmod 755 compileit.sh
-
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-
-$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
-# $javac "$name"
- $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/compile/pas b/boca-1.5.2/doc/problemexamples/formiga/compile/pas
deleted file mode 100644
index e0b73ca..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/compile/pas
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 28/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which fpc\`
-[ -x "\$cc" ] || cc=/usr/bin/fpc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -Xt -XS -O2 -o../$exe $name
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/description/formiga.txt b/boca-1.5.2/doc/problemexamples/formiga/description/formiga.txt
deleted file mode 100644
index 4cd89f0..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/description/formiga.txt
+++ /dev/null
@@ -1 +0,0 @@
-THIS IS THE FILE DESCRIBING THE PROBLEM! IT CAN BE A PDF OR ANY OTHER FORMAT...
diff --git a/boca-1.5.2/doc/problemexamples/formiga/description/problem.info b/boca-1.5.2/doc/problemexamples/formiga/description/problem.info
deleted file mode 100644
index 0bd73c3..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/description/problem.info
+++ /dev/null
@@ -1,3 +0,0 @@
-basename=formiga
-fullname=The formiga test problem
-descfile=formiga.txt
diff --git a/boca-1.5.2/doc/problemexamples/formiga/input/formiga b/boca-1.5.2/doc/problemexamples/formiga/input/formiga
deleted file mode 100644
index c9a59b2..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/input/formiga
+++ /dev/null
@@ -1,15 +0,0 @@
-1 1 Norte
-4 8 Norte
-3 2 Sul
-100000 100000 Oeste
-6 6 Sul
-4 13 Oeste
-4 14 Sul
-4 13 Leste
-640 648 Norte
-45 99998 Leste
-45 99995 Oeste
-99999 99998 Norte
-99999 99996 Oeste
-445 1157 Sul
-100000 0 Qqlixo
diff --git a/boca-1.5.2/doc/problemexamples/formiga/limits/c b/boca-1.5.2/doc/problemexamples/formiga/limits/c
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/limits/c
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/formiga/limits/cpp b/boca-1.5.2/doc/problemexamples/formiga/limits/cpp
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/limits/cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/formiga/limits/java b/boca-1.5.2/doc/problemexamples/formiga/limits/java
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/limits/java
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/formiga/output/formiga b/boca-1.5.2/doc/problemexamples/formiga/output/formiga
deleted file mode 100644
index 499641c..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/output/formiga
+++ /dev/null
@@ -1,14 +0,0 @@
-100% 0 Sul
- 25% 1 Leste
-100% 3 Oeste
- 0% 0 Leste
- 17% 0 Norte
-100% 15 Norte
- 50% 7 Leste
-100% 15 Sul
- 12% 159 Oeste
-100% 100041 Norte
- 20% 20006 Leste
-100% 199995 Leste
- 33% 66663 Sul
- 1% 16 Norte
diff --git a/boca-1.5.2/doc/problemexamples/formiga/run/c b/boca-1.5.2/doc/problemexamples/formiga/run/c
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/run/c
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/run/cpp b/boca-1.5.2/doc/problemexamples/formiga/run/cpp
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/run/cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/run/java b/boca-1.5.2/doc/problemexamples/formiga/run/java
deleted file mode 100755
index d6a73a5..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/run/java
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 14/sept/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 main_class
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ -r run.exe ]; then
- mv run.exe run.jar
-fi
-if [ -r "$1" ]; then
- mv "$1" run.jar
-fi
-if [ ! -r run.jar ]; then
- echo "ERROR: file run.jar not found - possible error during compilation"
- exit 1
-fi
-name="$1"
-if [ "${name##*.}" == "class" -a "${name##*.}" == "CLASS" ]; then
- echo "WARNING: removing .class file extension"
-fi
-if [ "${name##*.}" == "class" ]; then
- name=`basename "$1" .class`
-fi
-if [ "${name##*.}" == "CLASS" ]; then
- name=`basename "$1" .CLASS`
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-rm -f runit.retcode 2>/dev/null
-cp "$2" stdin0 2>/dev/null
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-java=`which java`
-[ -x "\$java" ] || java=/usr/bin/java
-if [ ! -x \$java ]; then
- echo "\$java not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:./run.jar:$CLASSPATH
-$sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 -- \$java -Xmx${maxm}K -Xms${maxm}K "$name"
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- fi
- if [ "$ret" == "" ]; then
- echo "Execution error - check autojudging"
- exit 49
- fi
-else
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- java=`which java`
- [ -x "$java" ] || java=/usr/bin/java
- if [ ! -x $java ]; then
- echo "$java not found or it's not executable"
- exit 47
- fi
- $sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 -- $java -cp run.jar -Xmx${maxm}K -Xms${maxm}K "$name"
- ret=$?
-fi
-if [ $ret -gt 10 ]; then
- echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
- ret=9
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/formiga/tests/c b/boca-1.5.2/doc/problemexamples/formiga/tests/c
deleted file mode 100755
index de0a9c5..0000000
--- a/boca-1.5.2/doc/problemexamples/formiga/tests/c
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
-# and the script files that are included in the problem package
-
-cat > test.c <<EOF
-#include<stdio.h>
-int main() {
- char s[100];
- scanf("%s", s);
- printf("%s\n",s);
- return 0;
-}
-EOF
-cat > test.in <<EOF
-inputdata
-EOF
-
-TL=2
-REP=10
-chmod 755 ../compile/c
-../compile/c test.c test.exe $TL
-chmod 755 ../run/c
-../run/c test.exe test.in $TL $REP
-if [ -r stdout0 ]; then
- output=`cat stdout0`
- if [ "$output" != "inputdata" ]; then
- echo "ERROR"
- exit 1
- fi
-else
- echo "ERROR"
- exit 1
-fi
-echo "TEST PASSED"
-exit 0
diff --git a/boca-1.5.2/doc/problemexamples/gen_examples.sh b/boca-1.5.2/doc/problemexamples/gen_examples.sh
deleted file mode 100755
index 6f11671..0000000
--- a/boca-1.5.2/doc/problemexamples/gen_examples.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-if [ "$1" == "" ]; then
- echo "CREATING FILES WITHOUT PASSWORDS"
- for i in `ls`; do
- if [ -d $i ]; then
- cd $i; zip -r ../$i.zip .; cd -;
- fi
- done
-else
- echo "USING ARGUMENT AS PASSWORD"
- rm -f keys.txt
- for i in `ls`; do
- if [ -d $i ]; then
- ../../src/private/createproblemzip.php "$i" "$i.zip" "$1" | grep -A2 "The following line" | tail -n1 >> keys.txt
- fi
- done
-fi
diff --git a/boca-1.5.2/doc/problemexamples/multas.zip b/boca-1.5.2/doc/problemexamples/multas.zip
deleted file mode 100644
index 8bc6f1d..0000000
--- a/boca-1.5.2/doc/problemexamples/multas.zip
+++ /dev/null
Binary files differ
diff --git a/boca-1.5.2/doc/problemexamples/multas/compare/c b/boca-1.5.2/doc/problemexamples/multas/compare/c
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compare/c
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/multas/compare/cpp b/boca-1.5.2/doc/problemexamples/multas/compare/cpp
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compare/cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/multas/compare/java b/boca-1.5.2/doc/problemexamples/multas/compare/java
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compare/java
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/multas/compile/c b/boca-1.5.2/doc/problemexamples/multas/compile/c
deleted file mode 100644
index 5376708..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compile/c
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which gcc\`
-[ -x "\$cc" ] || cc=/usr/bin/gcc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/compile/cpp b/boca-1.5.2/doc/problemexamples/multas/compile/cpp
deleted file mode 100644
index 6a61bc1..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compile/cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which g++\`
-[ -x "\$cc" ] || cc=/usr/bin/g++
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/compile/java b/boca-1.5.2/doc/problemexamples/multas/compile/java
deleted file mode 100644
index f62215b..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compile/java
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.jar)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- if [ "${name##*.}" == "zip" ]; then
- name=`basename $name .zip`
- else
- name=`basename $name .ZIP`
- fi
-else
- cp $name src
-fi
-chown -R $bocau src
-chmod -R 700 src
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$4
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-maxm=512
-if [ "$4" != "" -a "$4" -gt "0" ]; then
-maxm=$4
-fi
-
-if [ "$2" == "" ]; then
- jarfile=run.jar
-else
- jarfile=$2
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-
-cat <<EOF > compileit.sh
-#!/bin/bash
-javac=`which javac`
-[ -x "\$javac" ] || javac=/usr/bin/javac
-if [ ! -x \$javac ]; then
- echo "\$javac not found or it's not executable"
- exit 47
-fi
-jar=`which jar`
-[ -x "\$jar" ] || jar=/usr/bin/jar
-if [ ! -x \$jar ]; then
- echo "\$jar not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:\$CLASSPATH
-cd src
-if [ -r "$name" ]; then
- \$javac "$name"
- echo \$? > ../compileit.retcode
-fi
-find . -name "*.java" | while read lin; do
- \$javac "\$lin"
- echo \$? > ../compileit.retcode
-done
-rm -f ../$jarfile
-\$jar cvf ../$jarfile *
-exit 0
-EOF
-chmod 755 compileit.sh
-
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-
-$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
-# $javac "$name"
- $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/compile/pas b/boca-1.5.2/doc/problemexamples/multas/compile/pas
deleted file mode 100644
index e0b73ca..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/compile/pas
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 28/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which fpc\`
-[ -x "\$cc" ] || cc=/usr/bin/fpc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -Xt -XS -O2 -o../$exe $name
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/description/m.txt b/boca-1.5.2/doc/problemexamples/multas/description/m.txt
deleted file mode 100644
index 4cd89f0..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/description/m.txt
+++ /dev/null
@@ -1 +0,0 @@
-THIS IS THE FILE DESCRIBING THE PROBLEM! IT CAN BE A PDF OR ANY OTHER FORMAT...
diff --git a/boca-1.5.2/doc/problemexamples/multas/description/problem.info b/boca-1.5.2/doc/problemexamples/multas/description/problem.info
deleted file mode 100644
index 45944fc..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/description/problem.info
+++ /dev/null
@@ -1,3 +0,0 @@
-basename=multas
-fullname=The Poblem of multas
-descfile=m.txt
diff --git a/boca-1.5.2/doc/problemexamples/multas/input/file b/boca-1.5.2/doc/problemexamples/multas/input/file
deleted file mode 100644
index bb947cd..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/input/file
+++ /dev/null
@@ -1,518 +0,0 @@
-5
-john
-mary
-bob
-rick
-donna
-4
-4
-5
-7
-7
-7
--2
-3
-paul
-irene
-charlie
-5
-5
-5
-5
-5
-4
-7
-7
-4
-4
-4
-4
--3
-19
-Zzzzzzzzzzzzzzzzzzzs
-zzzzzzzzzzzzzzzzzzzr
-zzzzzzzzzzzzzzzzzzzq
-zzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzp
-zzzzzzzzzzzzzzzzzzzo
-zzzzzzzzzzzzzzzzzzzn
-zzzzzzzzzzzzzzzzzzzm
-zzzzzzzzzzzzzzzzzzzl
-zzzzzzzzzzzzzzzzzzzk
-zzzzzzzzzzzzzzzzzzzj
-zzzzzzzzzzzzzzzzzzzi
-zzzzzzzzzzzzzzzzzzzh
-zzzzzzzzzzzzzzzzzzzg
-zzzzzzzzzzzzzzzzzzzf
-zzzzzzzzzzzzzzzzzzze
-zzzzzzzzzzzzzzzzzzzd
-zzzzzzzzzzzzzzzzzzzc
-zzzzzzzzzzzzzzzzzzzb
-Zzzzzzzzzzzzzzzzzzza
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
--50
-19
-Zzzzzzzzzzzzzzzzzzzs
-zzzzzzzzzzzzzzzzzzzr
-zzzzzzzzzzzzzzzzzzzq
-zzzzzzzzzzzzzzzzzzzp
-zzzzzzzzzzzzzzzzzzzo
-zzzzzzzzzzzzzzzzzzzn
-zzzzzzzzzzzzzzzzzzzm
-zzzzzzzzzzzzzzzzzzzl
-zzzzzzzzzzzzzzzzzzzk
-zzzzzzzzzzzzzzzzzzzj
-zzzzzzzzzzzzzzzzzzzi
-zzzzzzzzzzzzzzzzzzzh
-zzzzzzzzzzzzzzzzzzzg
-zzzzzzzzzzzzzzzzzzzf
-zzzzzzzzzzzzzzzzzzze
-zzzzzzzzzzzzzzzzzzzd
-zzzzzzzzzzzzzzzzzzzc
-zzzzzzzzzzzzzzzzzzzb
-Zzzzzzzzzzzzzzzzzzza
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
--50
-5
-a
-b
-c
-d
-e
-5
-4
-3
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
--3
-0
diff --git a/boca-1.5.2/doc/problemexamples/multas/limits/c b/boca-1.5.2/doc/problemexamples/multas/limits/c
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/limits/c
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/multas/limits/cpp b/boca-1.5.2/doc/problemexamples/multas/limits/cpp
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/limits/cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/multas/limits/java b/boca-1.5.2/doc/problemexamples/multas/limits/java
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/limits/java
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/multas/output/file b/boca-1.5.2/doc/problemexamples/multas/output/file
deleted file mode 100644
index 5855c90..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/output/file
+++ /dev/null
@@ -1,466 +0,0 @@
-Familia 1
-Multa 1 bob
-Multa 2 donna
-Multa 3 john
-Multa 4 mary
-Multa 5 rick
-Multa 6 bob
-
-Familia 2
-Multa 1 charlie
-Multa 2 irene
-Multa 3 paul
-Multa 4 charlie
-Multa 5 irene
-Multa 6 paul
-Multa 7 paul
-Multa 8 charlie
-Multa 9 irene
-Multa 10 irene
-Multa 11 paul
-Multa 12 charlie carteira suspensa
-
-Familia 3
-Multa 1 Zzzzzzzzzzzzzzzzzzza carteira suspensa
-Multa 2 zzzzzzzzzzzzzzzzzzzb carteira suspensa
-Multa 3 zzzzzzzzzzzzzzzzzzzc carteira suspensa
-Multa 4 zzzzzzzzzzzzzzzzzzzd carteira suspensa
-Multa 5 zzzzzzzzzzzzzzzzzzze carteira suspensa
-Multa 6 zzzzzzzzzzzzzzzzzzzf carteira suspensa
-Multa 7 zzzzzzzzzzzzzzzzzzzg carteira suspensa
-Multa 8 zzzzzzzzzzzzzzzzzzzh carteira suspensa
-Multa 9 zzzzzzzzzzzzzzzzzzzi carteira suspensa
-Multa 10 zzzzzzzzzzzzzzzzzzzj carteira suspensa
-Multa 11 zzzzzzzzzzzzzzzzzzzk carteira suspensa
-Multa 12 zzzzzzzzzzzzzzzzzzzl carteira suspensa
-Multa 13 zzzzzzzzzzzzzzzzzzzm carteira suspensa
-Multa 14 zzzzzzzzzzzzzzzzzzzn carteira suspensa
-Multa 15 zzzzzzzzzzzzzzzzzzzo carteira suspensa
-Multa 16 zzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzp carteira suspensa
-Multa 17 zzzzzzzzzzzzzzzzzzzq carteira suspensa
-Multa 18 zzzzzzzzzzzzzzzzzzzr carteira suspensa
-Multa 19 Zzzzzzzzzzzzzzzzzzzs carteira suspensa
-
-Familia 4
-Multa 1 Zzzzzzzzzzzzzzzzzzza
-Multa 2 zzzzzzzzzzzzzzzzzzzb
-Multa 3 zzzzzzzzzzzzzzzzzzzc
-Multa 4 zzzzzzzzzzzzzzzzzzzd
-Multa 5 zzzzzzzzzzzzzzzzzzze
-Multa 6 zzzzzzzzzzzzzzzzzzzf
-Multa 7 zzzzzzzzzzzzzzzzzzzg
-Multa 8 zzzzzzzzzzzzzzzzzzzh
-Multa 9 zzzzzzzzzzzzzzzzzzzi
-Multa 10 zzzzzzzzzzzzzzzzzzzj
-Multa 11 zzzzzzzzzzzzzzzzzzzk
-Multa 12 zzzzzzzzzzzzzzzzzzzl
-Multa 13 zzzzzzzzzzzzzzzzzzzm
-Multa 14 zzzzzzzzzzzzzzzzzzzn
-Multa 15 zzzzzzzzzzzzzzzzzzzo
-Multa 16 zzzzzzzzzzzzzzzzzzzp
-Multa 17 zzzzzzzzzzzzzzzzzzzq
-Multa 18 zzzzzzzzzzzzzzzzzzzr
-Multa 19 Zzzzzzzzzzzzzzzzzzzs
-Multa 20 Zzzzzzzzzzzzzzzzzzza
-Multa 21 zzzzzzzzzzzzzzzzzzzb
-Multa 22 zzzzzzzzzzzzzzzzzzzc
-Multa 23 zzzzzzzzzzzzzzzzzzzd
-Multa 24 zzzzzzzzzzzzzzzzzzze
-Multa 25 zzzzzzzzzzzzzzzzzzzf
-Multa 26 zzzzzzzzzzzzzzzzzzzg
-Multa 27 zzzzzzzzzzzzzzzzzzzh
-Multa 28 zzzzzzzzzzzzzzzzzzzi
-Multa 29 zzzzzzzzzzzzzzzzzzzj
-Multa 30 zzzzzzzzzzzzzzzzzzzk
-Multa 31 zzzzzzzzzzzzzzzzzzzl
-Multa 32 zzzzzzzzzzzzzzzzzzzm
-Multa 33 zzzzzzzzzzzzzzzzzzzn
-Multa 34 zzzzzzzzzzzzzzzzzzzo
-Multa 35 zzzzzzzzzzzzzzzzzzzp
-Multa 36 zzzzzzzzzzzzzzzzzzzq
-Multa 37 zzzzzzzzzzzzzzzzzzzr
-Multa 38 Zzzzzzzzzzzzzzzzzzzs
-Multa 39 Zzzzzzzzzzzzzzzzzzza
-Multa 40 zzzzzzzzzzzzzzzzzzzb
-Multa 41 zzzzzzzzzzzzzzzzzzzc
-Multa 42 zzzzzzzzzzzzzzzzzzzd
-Multa 43 zzzzzzzzzzzzzzzzzzze
-Multa 44 zzzzzzzzzzzzzzzzzzzf
-Multa 45 zzzzzzzzzzzzzzzzzzzg
-Multa 46 zzzzzzzzzzzzzzzzzzzh
-Multa 47 zzzzzzzzzzzzzzzzzzzi
-Multa 48 zzzzzzzzzzzzzzzzzzzj
-Multa 49 zzzzzzzzzzzzzzzzzzzk
-Multa 50 zzzzzzzzzzzzzzzzzzzl
-Multa 51 zzzzzzzzzzzzzzzzzzzm
-Multa 52 zzzzzzzzzzzzzzzzzzzn
-Multa 53 zzzzzzzzzzzzzzzzzzzo
-Multa 54 zzzzzzzzzzzzzzzzzzzp
-Multa 55 zzzzzzzzzzzzzzzzzzzq
-Multa 56 zzzzzzzzzzzzzzzzzzzr
-Multa 57 Zzzzzzzzzzzzzzzzzzzs
-Multa 58 Zzzzzzzzzzzzzzzzzzza
-Multa 59 zzzzzzzzzzzzzzzzzzzb
-Multa 60 zzzzzzzzzzzzzzzzzzzc
-Multa 61 zzzzzzzzzzzzzzzzzzzd
-Multa 62 zzzzzzzzzzzzzzzzzzze
-Multa 63 zzzzzzzzzzzzzzzzzzzf
-Multa 64 zzzzzzzzzzzzzzzzzzzg
-Multa 65 zzzzzzzzzzzzzzzzzzzh
-Multa 66 zzzzzzzzzzzzzzzzzzzi
-Multa 67 zzzzzzzzzzzzzzzzzzzj
-Multa 68 zzzzzzzzzzzzzzzzzzzk
-Multa 69 zzzzzzzzzzzzzzzzzzzl
-Multa 70 zzzzzzzzzzzzzzzzzzzm
-Multa 71 zzzzzzzzzzzzzzzzzzzn
-Multa 72 zzzzzzzzzzzzzzzzzzzo
-Multa 73 zzzzzzzzzzzzzzzzzzzp
-Multa 74 zzzzzzzzzzzzzzzzzzzq
-Multa 75 zzzzzzzzzzzzzzzzzzzr
-Multa 76 Zzzzzzzzzzzzzzzzzzzs
-Multa 77 Zzzzzzzzzzzzzzzzzzza
-Multa 78 zzzzzzzzzzzzzzzzzzzb
-Multa 79 zzzzzzzzzzzzzzzzzzzc
-Multa 80 zzzzzzzzzzzzzzzzzzzd
-Multa 81 zzzzzzzzzzzzzzzzzzze
-Multa 82 zzzzzzzzzzzzzzzzzzzf
-Multa 83 zzzzzzzzzzzzzzzzzzzg
-Multa 84 zzzzzzzzzzzzzzzzzzzh
-Multa 85 zzzzzzzzzzzzzzzzzzzi
-Multa 86 zzzzzzzzzzzzzzzzzzzj
-Multa 87 zzzzzzzzzzzzzzzzzzzk
-Multa 88 zzzzzzzzzzzzzzzzzzzl
-Multa 89 zzzzzzzzzzzzzzzzzzzm
-Multa 90 zzzzzzzzzzzzzzzzzzzn
-Multa 91 zzzzzzzzzzzzzzzzzzzo
-Multa 92 zzzzzzzzzzzzzzzzzzzp
-Multa 93 zzzzzzzzzzzzzzzzzzzq
-Multa 94 zzzzzzzzzzzzzzzzzzzr
-Multa 95 Zzzzzzzzzzzzzzzzzzzs
-Multa 96 Zzzzzzzzzzzzzzzzzzza
-Multa 97 zzzzzzzzzzzzzzzzzzzb
-Multa 98 zzzzzzzzzzzzzzzzzzzc
-Multa 99 zzzzzzzzzzzzzzzzzzzd
-Multa 100 zzzzzzzzzzzzzzzzzzze
-Multa 101 zzzzzzzzzzzzzzzzzzzf
-Multa 102 zzzzzzzzzzzzzzzzzzzg
-Multa 103 zzzzzzzzzzzzzzzzzzzh
-Multa 104 zzzzzzzzzzzzzzzzzzzi
-Multa 105 zzzzzzzzzzzzzzzzzzzj
-Multa 106 zzzzzzzzzzzzzzzzzzzk
-Multa 107 zzzzzzzzzzzzzzzzzzzl
-Multa 108 zzzzzzzzzzzzzzzzzzzm
-Multa 109 zzzzzzzzzzzzzzzzzzzn
-Multa 110 zzzzzzzzzzzzzzzzzzzo
-Multa 111 zzzzzzzzzzzzzzzzzzzp
-Multa 112 zzzzzzzzzzzzzzzzzzzq
-Multa 113 zzzzzzzzzzzzzzzzzzzr
-Multa 114 Zzzzzzzzzzzzzzzzzzzs
-Multa 115 Zzzzzzzzzzzzzzzzzzza
-Multa 116 zzzzzzzzzzzzzzzzzzzb
-Multa 117 zzzzzzzzzzzzzzzzzzzc
-Multa 118 zzzzzzzzzzzzzzzzzzzd
-Multa 119 zzzzzzzzzzzzzzzzzzze
-Multa 120 zzzzzzzzzzzzzzzzzzzf
-Multa 121 zzzzzzzzzzzzzzzzzzzg
-Multa 122 zzzzzzzzzzzzzzzzzzzh
-Multa 123 zzzzzzzzzzzzzzzzzzzi
-Multa 124 zzzzzzzzzzzzzzzzzzzj
-Multa 125 zzzzzzzzzzzzzzzzzzzk
-Multa 126 zzzzzzzzzzzzzzzzzzzl
-Multa 127 zzzzzzzzzzzzzzzzzzzm
-Multa 128 zzzzzzzzzzzzzzzzzzzn
-Multa 129 zzzzzzzzzzzzzzzzzzzo
-Multa 130 zzzzzzzzzzzzzzzzzzzp
-Multa 131 zzzzzzzzzzzzzzzzzzzq
-Multa 132 zzzzzzzzzzzzzzzzzzzr
-Multa 133 Zzzzzzzzzzzzzzzzzzzs
-Multa 134 Zzzzzzzzzzzzzzzzzzza
-Multa 135 zzzzzzzzzzzzzzzzzzzb
-Multa 136 zzzzzzzzzzzzzzzzzzzc
-Multa 137 zzzzzzzzzzzzzzzzzzzd
-Multa 138 zzzzzzzzzzzzzzzzzzze
-Multa 139 zzzzzzzzzzzzzzzzzzzf
-Multa 140 zzzzzzzzzzzzzzzzzzzg
-Multa 141 zzzzzzzzzzzzzzzzzzzh
-Multa 142 zzzzzzzzzzzzzzzzzzzi
-Multa 143 zzzzzzzzzzzzzzzzzzzj
-Multa 144 zzzzzzzzzzzzzzzzzzzk
-Multa 145 zzzzzzzzzzzzzzzzzzzl
-Multa 146 zzzzzzzzzzzzzzzzzzzm
-Multa 147 zzzzzzzzzzzzzzzzzzzn
-Multa 148 zzzzzzzzzzzzzzzzzzzo
-Multa 149 zzzzzzzzzzzzzzzzzzzp
-Multa 150 zzzzzzzzzzzzzzzzzzzq
-Multa 151 zzzzzzzzzzzzzzzzzzzr
-Multa 152 Zzzzzzzzzzzzzzzzzzzs
-Multa 153 Zzzzzzzzzzzzzzzzzzza
-Multa 154 zzzzzzzzzzzzzzzzzzzb
-Multa 155 zzzzzzzzzzzzzzzzzzzc
-Multa 156 zzzzzzzzzzzzzzzzzzzd
-Multa 157 zzzzzzzzzzzzzzzzzzze
-Multa 158 zzzzzzzzzzzzzzzzzzzf
-Multa 159 zzzzzzzzzzzzzzzzzzzg
-Multa 160 zzzzzzzzzzzzzzzzzzzh
-Multa 161 zzzzzzzzzzzzzzzzzzzi
-Multa 162 zzzzzzzzzzzzzzzzzzzj
-Multa 163 zzzzzzzzzzzzzzzzzzzk
-Multa 164 zzzzzzzzzzzzzzzzzzzl
-Multa 165 zzzzzzzzzzzzzzzzzzzm
-Multa 166 zzzzzzzzzzzzzzzzzzzn
-Multa 167 zzzzzzzzzzzzzzzzzzzo
-Multa 168 zzzzzzzzzzzzzzzzzzzp
-Multa 169 zzzzzzzzzzzzzzzzzzzq
-Multa 170 zzzzzzzzzzzzzzzzzzzr
-Multa 171 Zzzzzzzzzzzzzzzzzzzs
-Multa 172 Zzzzzzzzzzzzzzzzzzza
-Multa 173 zzzzzzzzzzzzzzzzzzzb
-Multa 174 zzzzzzzzzzzzzzzzzzzc
-Multa 175 zzzzzzzzzzzzzzzzzzzd
-Multa 176 zzzzzzzzzzzzzzzzzzze
-Multa 177 zzzzzzzzzzzzzzzzzzzf
-Multa 178 zzzzzzzzzzzzzzzzzzzg
-Multa 179 zzzzzzzzzzzzzzzzzzzh
-Multa 180 zzzzzzzzzzzzzzzzzzzi
-Multa 181 zzzzzzzzzzzzzzzzzzzj
-Multa 182 zzzzzzzzzzzzzzzzzzzk
-Multa 183 zzzzzzzzzzzzzzzzzzzl
-Multa 184 zzzzzzzzzzzzzzzzzzzm
-Multa 185 zzzzzzzzzzzzzzzzzzzn
-Multa 186 zzzzzzzzzzzzzzzzzzzo
-Multa 187 zzzzzzzzzzzzzzzzzzzp
-Multa 188 zzzzzzzzzzzzzzzzzzzq
-Multa 189 zzzzzzzzzzzzzzzzzzzr
-Multa 190 Zzzzzzzzzzzzzzzzzzzs
-Multa 191 Zzzzzzzzzzzzzzzzzzza
-Multa 192 zzzzzzzzzzzzzzzzzzzb
-Multa 193 zzzzzzzzzzzzzzzzzzzc
-Multa 194 zzzzzzzzzzzzzzzzzzzd
-Multa 195 zzzzzzzzzzzzzzzzzzze
-Multa 196 zzzzzzzzzzzzzzzzzzzf
-Multa 197 zzzzzzzzzzzzzzzzzzzg
-Multa 198 zzzzzzzzzzzzzzzzzzzh
-Multa 199 zzzzzzzzzzzzzzzzzzzi
-Multa 200 zzzzzzzzzzzzzzzzzzzj
-Multa 201 zzzzzzzzzzzzzzzzzzzk
-Multa 202 zzzzzzzzzzzzzzzzzzzl
-Multa 203 zzzzzzzzzzzzzzzzzzzm
-Multa 204 zzzzzzzzzzzzzzzzzzzn
-Multa 205 zzzzzzzzzzzzzzzzzzzo
-Multa 206 zzzzzzzzzzzzzzzzzzzp
-Multa 207 zzzzzzzzzzzzzzzzzzzq
-Multa 208 zzzzzzzzzzzzzzzzzzzr
-Multa 209 Zzzzzzzzzzzzzzzzzzzs
-Multa 210 Zzzzzzzzzzzzzzzzzzza
-Multa 211 zzzzzzzzzzzzzzzzzzzb
-Multa 212 zzzzzzzzzzzzzzzzzzzc
-Multa 213 zzzzzzzzzzzzzzzzzzzd
-Multa 214 zzzzzzzzzzzzzzzzzzze
-Multa 215 zzzzzzzzzzzzzzzzzzzf
-Multa 216 zzzzzzzzzzzzzzzzzzzg
-Multa 217 zzzzzzzzzzzzzzzzzzzh
-Multa 218 zzzzzzzzzzzzzzzzzzzi
-Multa 219 zzzzzzzzzzzzzzzzzzzj
-Multa 220 zzzzzzzzzzzzzzzzzzzk
-Multa 221 zzzzzzzzzzzzzzzzzzzl
-Multa 222 zzzzzzzzzzzzzzzzzzzm
-Multa 223 zzzzzzzzzzzzzzzzzzzn
-Multa 224 zzzzzzzzzzzzzzzzzzzo
-Multa 225 zzzzzzzzzzzzzzzzzzzp
-Multa 226 zzzzzzzzzzzzzzzzzzzq
-Multa 227 zzzzzzzzzzzzzzzzzzzr
-Multa 228 Zzzzzzzzzzzzzzzzzzzs
-Multa 229 Zzzzzzzzzzzzzzzzzzza
-Multa 230 zzzzzzzzzzzzzzzzzzzb
-Multa 231 zzzzzzzzzzzzzzzzzzzc
-Multa 232 zzzzzzzzzzzzzzzzzzzd
-Multa 233 zzzzzzzzzzzzzzzzzzze
-Multa 234 zzzzzzzzzzzzzzzzzzzf
-Multa 235 zzzzzzzzzzzzzzzzzzzg
-Multa 236 zzzzzzzzzzzzzzzzzzzh
-Multa 237 zzzzzzzzzzzzzzzzzzzi
-Multa 238 zzzzzzzzzzzzzzzzzzzj
-Multa 239 zzzzzzzzzzzzzzzzzzzk
-Multa 240 zzzzzzzzzzzzzzzzzzzl
-Multa 241 zzzzzzzzzzzzzzzzzzzm
-Multa 242 zzzzzzzzzzzzzzzzzzzn
-Multa 243 zzzzzzzzzzzzzzzzzzzo
-Multa 244 zzzzzzzzzzzzzzzzzzzp
-Multa 245 zzzzzzzzzzzzzzzzzzzq
-Multa 246 zzzzzzzzzzzzzzzzzzzr
-Multa 247 Zzzzzzzzzzzzzzzzzzzs
-Multa 248 Zzzzzzzzzzzzzzzzzzza
-Multa 249 zzzzzzzzzzzzzzzzzzzb
-Multa 250 zzzzzzzzzzzzzzzzzzzc
-Multa 251 zzzzzzzzzzzzzzzzzzzd
-Multa 252 zzzzzzzzzzzzzzzzzzze
-Multa 253 zzzzzzzzzzzzzzzzzzzf
-Multa 254 zzzzzzzzzzzzzzzzzzzg
-Multa 255 zzzzzzzzzzzzzzzzzzzh
-Multa 256 zzzzzzzzzzzzzzzzzzzi
-Multa 257 zzzzzzzzzzzzzzzzzzzj
-Multa 258 zzzzzzzzzzzzzzzzzzzk
-Multa 259 zzzzzzzzzzzzzzzzzzzl
-Multa 260 zzzzzzzzzzzzzzzzzzzm
-Multa 261 zzzzzzzzzzzzzzzzzzzn
-Multa 262 zzzzzzzzzzzzzzzzzzzo
-Multa 263 zzzzzzzzzzzzzzzzzzzp
-Multa 264 zzzzzzzzzzzzzzzzzzzq
-Multa 265 zzzzzzzzzzzzzzzzzzzr
-Multa 266 Zzzzzzzzzzzzzzzzzzzs
-Multa 267 Zzzzzzzzzzzzzzzzzzza
-Multa 268 zzzzzzzzzzzzzzzzzzzb
-Multa 269 zzzzzzzzzzzzzzzzzzzc
-Multa 270 zzzzzzzzzzzzzzzzzzzd
-Multa 271 zzzzzzzzzzzzzzzzzzze
-Multa 272 zzzzzzzzzzzzzzzzzzzf
-Multa 273 zzzzzzzzzzzzzzzzzzzg
-Multa 274 zzzzzzzzzzzzzzzzzzzh
-Multa 275 zzzzzzzzzzzzzzzzzzzi
-Multa 276 zzzzzzzzzzzzzzzzzzzj
-Multa 277 zzzzzzzzzzzzzzzzzzzk
-Multa 278 zzzzzzzzzzzzzzzzzzzl
-Multa 279 zzzzzzzzzzzzzzzzzzzm
-Multa 280 zzzzzzzzzzzzzzzzzzzn
-Multa 281 zzzzzzzzzzzzzzzzzzzo
-Multa 282 zzzzzzzzzzzzzzzzzzzp
-Multa 283 zzzzzzzzzzzzzzzzzzzq
-Multa 284 zzzzzzzzzzzzzzzzzzzr
-Multa 285 Zzzzzzzzzzzzzzzzzzzs
-Multa 286 Zzzzzzzzzzzzzzzzzzza
-Multa 287 zzzzzzzzzzzzzzzzzzzb
-Multa 288 zzzzzzzzzzzzzzzzzzzc
-Multa 289 zzzzzzzzzzzzzzzzzzzd
-Multa 290 zzzzzzzzzzzzzzzzzzze
-Multa 291 zzzzzzzzzzzzzzzzzzzf
-Multa 292 zzzzzzzzzzzzzzzzzzzg
-Multa 293 zzzzzzzzzzzzzzzzzzzh
-Multa 294 zzzzzzzzzzzzzzzzzzzi
-Multa 295 zzzzzzzzzzzzzzzzzzzj
-Multa 296 zzzzzzzzzzzzzzzzzzzk
-Multa 297 zzzzzzzzzzzzzzzzzzzl
-Multa 298 zzzzzzzzzzzzzzzzzzzm
-Multa 299 zzzzzzzzzzzzzzzzzzzn
-Multa 300 zzzzzzzzzzzzzzzzzzzo
-Multa 301 zzzzzzzzzzzzzzzzzzzp
-Multa 302 zzzzzzzzzzzzzzzzzzzq
-Multa 303 zzzzzzzzzzzzzzzzzzzr
-Multa 304 Zzzzzzzzzzzzzzzzzzzs
-Multa 305 Zzzzzzzzzzzzzzzzzzza
-Multa 306 zzzzzzzzzzzzzzzzzzzb
-Multa 307 zzzzzzzzzzzzzzzzzzzc
-Multa 308 zzzzzzzzzzzzzzzzzzzd
-Multa 309 zzzzzzzzzzzzzzzzzzze
-Multa 310 zzzzzzzzzzzzzzzzzzzf
-Multa 311 zzzzzzzzzzzzzzzzzzzg
-Multa 312 zzzzzzzzzzzzzzzzzzzh
-Multa 313 zzzzzzzzzzzzzzzzzzzi
-Multa 314 zzzzzzzzzzzzzzzzzzzj
-Multa 315 zzzzzzzzzzzzzzzzzzzk
-Multa 316 zzzzzzzzzzzzzzzzzzzl
-Multa 317 zzzzzzzzzzzzzzzzzzzm
-Multa 318 zzzzzzzzzzzzzzzzzzzn
-Multa 319 zzzzzzzzzzzzzzzzzzzo
-Multa 320 zzzzzzzzzzzzzzzzzzzp
-Multa 321 zzzzzzzzzzzzzzzzzzzq
-Multa 322 zzzzzzzzzzzzzzzzzzzr
-Multa 323 Zzzzzzzzzzzzzzzzzzzs
-Multa 324 Zzzzzzzzzzzzzzzzzzza
-Multa 325 zzzzzzzzzzzzzzzzzzzb
-Multa 326 zzzzzzzzzzzzzzzzzzzc
-Multa 327 zzzzzzzzzzzzzzzzzzzd
-Multa 328 zzzzzzzzzzzzzzzzzzze
-Multa 329 zzzzzzzzzzzzzzzzzzzf
-Multa 330 zzzzzzzzzzzzzzzzzzzg
-Multa 331 zzzzzzzzzzzzzzzzzzzh
-Multa 332 zzzzzzzzzzzzzzzzzzzi
-Multa 333 zzzzzzzzzzzzzzzzzzzj
-Multa 334 zzzzzzzzzzzzzzzzzzzk
-Multa 335 zzzzzzzzzzzzzzzzzzzl
-Multa 336 zzzzzzzzzzzzzzzzzzzm
-Multa 337 zzzzzzzzzzzzzzzzzzzn
-Multa 338 zzzzzzzzzzzzzzzzzzzo
-Multa 339 zzzzzzzzzzzzzzzzzzzp
-Multa 340 zzzzzzzzzzzzzzzzzzzq
-Multa 341 zzzzzzzzzzzzzzzzzzzr
-Multa 342 Zzzzzzzzzzzzzzzzzzzs
-Multa 343 Zzzzzzzzzzzzzzzzzzza
-Multa 344 zzzzzzzzzzzzzzzzzzzb
-Multa 345 zzzzzzzzzzzzzzzzzzzc
-Multa 346 zzzzzzzzzzzzzzzzzzzd
-Multa 347 zzzzzzzzzzzzzzzzzzze
-Multa 348 zzzzzzzzzzzzzzzzzzzf
-Multa 349 zzzzzzzzzzzzzzzzzzzg
-Multa 350 zzzzzzzzzzzzzzzzzzzh
-Multa 351 zzzzzzzzzzzzzzzzzzzi
-Multa 352 zzzzzzzzzzzzzzzzzzzj
-Multa 353 zzzzzzzzzzzzzzzzzzzk
-Multa 354 zzzzzzzzzzzzzzzzzzzl
-Multa 355 zzzzzzzzzzzzzzzzzzzm
-Multa 356 zzzzzzzzzzzzzzzzzzzn
-Multa 357 zzzzzzzzzzzzzzzzzzzo
-Multa 358 zzzzzzzzzzzzzzzzzzzp
-Multa 359 zzzzzzzzzzzzzzzzzzzq
-Multa 360 zzzzzzzzzzzzzzzzzzzr
-Multa 361 Zzzzzzzzzzzzzzzzzzzs
-Multa 362 Zzzzzzzzzzzzzzzzzzza
-Multa 363 zzzzzzzzzzzzzzzzzzzb
-Multa 364 zzzzzzzzzzzzzzzzzzzc
-Multa 365 zzzzzzzzzzzzzzzzzzzd
-Multa 366 zzzzzzzzzzzzzzzzzzze
-Multa 367 zzzzzzzzzzzzzzzzzzzf
-Multa 368 zzzzzzzzzzzzzzzzzzzg
-Multa 369 zzzzzzzzzzzzzzzzzzzh
-Multa 370 zzzzzzzzzzzzzzzzzzzi
-Multa 371 zzzzzzzzzzzzzzzzzzzj
-Multa 372 zzzzzzzzzzzzzzzzzzzk
-Multa 373 zzzzzzzzzzzzzzzzzzzl
-Multa 374 zzzzzzzzzzzzzzzzzzzm
-Multa 375 zzzzzzzzzzzzzzzzzzzn
-Multa 376 zzzzzzzzzzzzzzzzzzzo
-Multa 377 zzzzzzzzzzzzzzzzzzzp
-Multa 378 zzzzzzzzzzzzzzzzzzzq
-Multa 379 zzzzzzzzzzzzzzzzzzzr
-Multa 380 Zzzzzzzzzzzzzzzzzzzs
-Multa 381 Zzzzzzzzzzzzzzzzzzza carteira suspensa
-Multa 382 zzzzzzzzzzzzzzzzzzzb carteira suspensa
-Multa 383 zzzzzzzzzzzzzzzzzzzc carteira suspensa
-Multa 384 zzzzzzzzzzzzzzzzzzzd carteira suspensa
-Multa 385 zzzzzzzzzzzzzzzzzzze carteira suspensa
-Multa 386 zzzzzzzzzzzzzzzzzzzf carteira suspensa
-Multa 387 zzzzzzzzzzzzzzzzzzzg carteira suspensa
-Multa 388 zzzzzzzzzzzzzzzzzzzh carteira suspensa
-Multa 389 zzzzzzzzzzzzzzzzzzzi carteira suspensa
-Multa 390 zzzzzzzzzzzzzzzzzzzj carteira suspensa
-Multa 391 zzzzzzzzzzzzzzzzzzzk carteira suspensa
-Multa 392 zzzzzzzzzzzzzzzzzzzl carteira suspensa
-Multa 393 zzzzzzzzzzzzzzzzzzzm carteira suspensa
-Multa 394 zzzzzzzzzzzzzzzzzzzn carteira suspensa
-Multa 395 zzzzzzzzzzzzzzzzzzzo carteira suspensa
-Multa 396 zzzzzzzzzzzzzzzzzzzp carteira suspensa
-Multa 397 zzzzzzzzzzzzzzzzzzzq carteira suspensa
-Multa 398 zzzzzzzzzzzzzzzzzzzr carteira suspensa
-Multa 399 Zzzzzzzzzzzzzzzzzzzs carteira suspensa
-
-Familia 5
-Multa 1 a
-Multa 2 b
-Multa 3 c
-Multa 4 d
-Multa 5 e
-Multa 6 e
-Multa 7 d
-Multa 8 e
-Multa 9 c
-Multa 10 d
-Multa 11 e
-Multa 12 b
-Multa 13 c
-Multa 14 d
-Multa 15 e
-Multa 16 a
-Multa 17 b
-Multa 18 c
-Multa 19 d
-Multa 20 e
-
diff --git a/boca-1.5.2/doc/problemexamples/multas/run/c b/boca-1.5.2/doc/problemexamples/multas/run/c
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/run/c
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/run/cpp b/boca-1.5.2/doc/problemexamples/multas/run/cpp
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/run/cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/run/java b/boca-1.5.2/doc/problemexamples/multas/run/java
deleted file mode 100755
index d6a73a5..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/run/java
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 14/sept/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 main_class
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ -r run.exe ]; then
- mv run.exe run.jar
-fi
-if [ -r "$1" ]; then
- mv "$1" run.jar
-fi
-if [ ! -r run.jar ]; then
- echo "ERROR: file run.jar not found - possible error during compilation"
- exit 1
-fi
-name="$1"
-if [ "${name##*.}" == "class" -a "${name##*.}" == "CLASS" ]; then
- echo "WARNING: removing .class file extension"
-fi
-if [ "${name##*.}" == "class" ]; then
- name=`basename "$1" .class`
-fi
-if [ "${name##*.}" == "CLASS" ]; then
- name=`basename "$1" .CLASS`
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-rm -f runit.retcode 2>/dev/null
-cp "$2" stdin0 2>/dev/null
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-java=`which java`
-[ -x "\$java" ] || java=/usr/bin/java
-if [ ! -x \$java ]; then
- echo "\$java not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:./run.jar:$CLASSPATH
-$sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 -- \$java -Xmx${maxm}K -Xms${maxm}K "$name"
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- fi
- if [ "$ret" == "" ]; then
- echo "Execution error - check autojudging"
- exit 49
- fi
-else
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- java=`which java`
- [ -x "$java" ] || java=/usr/bin/java
- if [ ! -x $java ]; then
- echo "$java not found or it's not executable"
- exit 47
- fi
- $sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 -- $java -cp run.jar -Xmx${maxm}K -Xms${maxm}K "$name"
- ret=$?
-fi
-if [ $ret -gt 10 ]; then
- echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
- ret=9
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/multas/tests/c b/boca-1.5.2/doc/problemexamples/multas/tests/c
deleted file mode 100755
index de0a9c5..0000000
--- a/boca-1.5.2/doc/problemexamples/multas/tests/c
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
-# and the script files that are included in the problem package
-
-cat > test.c <<EOF
-#include<stdio.h>
-int main() {
- char s[100];
- scanf("%s", s);
- printf("%s\n",s);
- return 0;
-}
-EOF
-cat > test.in <<EOF
-inputdata
-EOF
-
-TL=2
-REP=10
-chmod 755 ../compile/c
-../compile/c test.c test.exe $TL
-chmod 755 ../run/c
-../run/c test.exe test.in $TL $REP
-if [ -r stdout0 ]; then
- output=`cat stdout0`
- if [ "$output" != "inputdata" ]; then
- echo "ERROR"
- exit 1
- fi
-else
- echo "ERROR"
- exit 1
-fi
-echo "TEST PASSED"
-exit 0
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate.zip b/boca-1.5.2/doc/problemexamples/problemtemplate.zip
deleted file mode 100644
index d98c53e..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate.zip
+++ /dev/null
Binary files differ
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/c b/boca-1.5.2/doc/problemexamples/problemtemplate/compare/c
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/c
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/cpp b/boca-1.5.2/doc/problemexamples/problemtemplate/compare/cpp
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/java b/boca-1.5.2/doc/problemexamples/problemtemplate/compare/java
deleted file mode 100755
index 4998be3..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compare/java
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-# // Last modified 21/jul/2012 by cassio@ime.usp.br
-#
-# This script receives:
-# $1 team_output
-# $2 sol_output
-# $3 problem_input (might be used by some specific checkers, here it is not)
-#
-# BOCA reads the last line of the standard output
-# and pass it to judges
-#
-if [ ! -r "$1" -o ! -r "$2" ]; then
- echo "Parameter problem"
- exit 43
-fi
-
-# Next lines of this script just compares team_output and sol_output,
-# although it is possible to change them to more complex evaluations.
-
-diff -q "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff \"$1\" \"$2\" # files match"
- echo "Files match exactly"
- exit 4
-fi
-diff -q -b "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b \"$1\" \"$2\" # files match"
- echo -e "diff -c \"$1\" \"$2\" # files dont match - see output"
- diff -c "$1" "$2"
- echo "Files match with differences in the amount of white spaces"
- exit 5
-fi
-diff -q -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b \"$1\" \"$2\" # files dont match - see output"
- diff -c -b "$1" "$2"
- echo "Files match with differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -i -b -B "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B "$1" "$2"
- echo "Files match if we ignore case and differences in the amount of white spaces and blank lines"
- exit 5
-fi
-diff -q -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B "$1" "$2"
- echo "Files match if we discard all white spaces"
- exit 5
-fi
-diff -q -i -b -B -w "$1" "$2" >/dev/null 2>/dev/null
-if [ "$?" == "0" ]; then
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files match"
- echo -e "diff -c -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -b -B -w "$1" "$2"
- echo "Files match if we ignore case and discard all white spaces"
- exit 5
-fi
-wd=`which wdiff`
-if [ "$wd" != "" ]; then
- wdiff \"$1\" \"$2\" >/dev/null 2>/dev/null
- if [ "$?" == "0" ]; then
- echo -e "wdiff \"$1\" \"$2\" # files match"
- echo -e "diff -c -i -b -B -w \"$1\" \"$2\" # files dont match - see output"
- diff -c -i -b -B -w "$1" "$2"
- echo "BUT Files match if we compare word by word, ignoring everything else, using wdiff"
- echo "diff has a bug that, if a line contains a single space, this is not discarded by -w"
- exit 5
- fi
-fi
-echo -e "### files dont match - see output"
-diff -c -i -b -B -w "$1" "$2"
-echo "Differences found"
-exit 6
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/c b/boca-1.5.2/doc/problemexamples/problemtemplate/compile/c
deleted file mode 100644
index 5376708..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/c
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which gcc\`
-[ -x "\$cc" ] || cc=/usr/bin/gcc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/cpp b/boca-1.5.2/doc/problemexamples/problemtemplate/compile/cpp
deleted file mode 100644
index 6a61bc1..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which g++\`
-[ -x "\$cc" ] || cc=/usr/bin/g++
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -static -O2 -o ../$exe $name -lm
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/java b/boca-1.5.2/doc/problemexamples/problemtemplate/compile/java
deleted file mode 100644
index f62215b..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/java
+++ /dev/null
@@ -1,189 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 21/july/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.jar)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- if [ "${name##*.}" == "zip" ]; then
- name=`basename $name .zip`
- else
- name=`basename $name .ZIP`
- fi
-else
- cp $name src
-fi
-chown -R $bocau src
-chmod -R 700 src
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$4
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-maxm=512
-if [ "$4" != "" -a "$4" -gt "0" ]; then
-maxm=$4
-fi
-
-if [ "$2" == "" ]; then
- jarfile=run.jar
-else
- jarfile=$2
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-
-cat <<EOF > compileit.sh
-#!/bin/bash
-javac=`which javac`
-[ -x "\$javac" ] || javac=/usr/bin/javac
-if [ ! -x \$javac ]; then
- echo "\$javac not found or it's not executable"
- exit 47
-fi
-jar=`which jar`
-[ -x "\$jar" ] || jar=/usr/bin/jar
-if [ ! -x \$jar ]; then
- echo "\$jar not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:\$CLASSPATH
-cd src
-if [ -r "$name" ]; then
- \$javac "$name"
- echo \$? > ../compileit.retcode
-fi
-find . -name "*.java" | while read lin; do
- \$javac "\$lin"
- echo \$? > ../compileit.retcode
-done
-rm -f ../$jarfile
-\$jar cvf ../$jarfile *
-exit 0
-EOF
-chmod 755 compileit.sh
-
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-
-$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
-# $javac "$name"
- $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/pas b/boca-1.5.2/doc/problemexamples/problemtemplate/compile/pas
deleted file mode 100644
index e0b73ca..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/compile/pas
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 28/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 source_file
-# $2 exe_file (default run.exe)
-# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition)
-# $4 maximum allowed memory (in MBytes, default 512M)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-
-if [ "$1" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-name="$1"
-if [ ! -r "$1" ]; then
- echo "$1 not found or it's not readable"
- exit 44
-fi
-mkdir -p src
-if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then
- unzip "$name" -d src
- name="*.c"
-else
- cp "$name" src
-fi
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-maxm=512000
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- maxm=${4}000
- fi
-fi
-
-# setting up the timelimit according to the problem
-if [ "$3" == "" ]; then
-time=5
-else
-time=$3
-fi
-let "ttime = $time + 30"
-
-if [ "$2" == "" ]; then
- exe=run.exe
-else
- exe=$2
-fi
-
-rm -f $exe compileit.retcode runit.retcode 2>/dev/null
-cat <<EOF > compileit.sh
-#!/bin/bash
-cc=\`which fpc\`
-[ -x "\$cc" ] || cc=/usr/bin/fpc
-if [ ! -x "\$cc" ]; then
- echo "\$cc not found or it's not executable"
- exit 47
-fi
-cd src
-"\$cc" -Xt -XS -O2 -o../$exe $name
-echo \$? > ../compileit.retcode
-exit 0
-EOF
-chmod 755 compileit.sh
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- echo "Internal directory is $cdir"
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-$sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- else
- ret=99
- fi
-else
- echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING"
- $sf -r1 -F1000 -n0 -U$bocau -G$bocag -C. -ostdout0 -estderr0 -d$maxm -m$maxm -f20000 -t$ttime -T$ttime ./compileit.sh
- ret=$?
-fi
-if [ -f "stdout0" ]; then
- cat "stdout0"
-fi
-if [ -f "stderr0" ]; then
- cat "stderr0"
-fi
-rm -rf src/
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- exit $ret
-fi
-ret=`cat compileit.retcode`
-if [ "$ret" != "0" ]; then
- echo "Compilation Error: $ret"
- ret=1
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/description/desc.txt b/boca-1.5.2/doc/problemexamples/problemtemplate/description/desc.txt
deleted file mode 100644
index 4cd89f0..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/description/desc.txt
+++ /dev/null
@@ -1 +0,0 @@
-THIS IS THE FILE DESCRIBING THE PROBLEM! IT CAN BE A PDF OR ANY OTHER FORMAT...
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/description/problem.info b/boca-1.5.2/doc/problemexamples/problemtemplate/description/problem.info
deleted file mode 100644
index 785e648..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/description/problem.info
+++ /dev/null
@@ -1,3 +0,0 @@
-basename=shortfilename
-fullname=This is the problem full name
-descfile=desc.txt
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/input/file1 b/boca-1.5.2/doc/problemexamples/problemtemplate/input/file1
deleted file mode 100644
index 79ecf36..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/input/file1
+++ /dev/null
@@ -1 +0,0 @@
-FILE WITH THE INPUT TO BE GIVEN TO THE PROGRAM. NOTE THAT THE CORRESPONDING OUTPUT FILE HAS TO HAVE THE SAME NAME AS THIS FILE!
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/c b/boca-1.5.2/doc/problemexamples/problemtemplate/limits/c
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/c
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/cpp b/boca-1.5.2/doc/problemexamples/problemtemplate/limits/cpp
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/java b/boca-1.5.2/doc/problemexamples/problemtemplate/limits/java
deleted file mode 100644
index b5aec73..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/limits/java
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# this executable shall output the number of second of timelimit in the first line, for the given problem and with language according to this filename
-echo 4
-# and the number of repetitions to run within the given timelimit in the second line
-echo 10
-# and the maximum amount of memory per repetition in the third line (in Mbytes)
-echo 512
-# and the maximum file size in the fourth line (in kbytes)
-echo 1024
-# and shall return zero to indicate no failure
-exit 0
-# the idea is that this file will be executed by the autojudge in the first time the autojudge downloads a problem, so as it will be
-# able to decide the proper time limit for the machine where it is running. If one wants to fix a predefined time limit, then it is
-# enough to write a script like this one with the desired value. Otherwise, one can build any more sophisticated program that outputs
-# the value.
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/output/file1 b/boca-1.5.2/doc/problemexamples/problemtemplate/output/file1
deleted file mode 100644
index 16a2f69..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/output/file1
+++ /dev/null
@@ -1 +0,0 @@
-FILE WITH THE OUTPUT THAT SHOULD HAVE BEEN GENERATED BY THE PROGRAM FOR THE INPUT WITH THE SAME NAME
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/run/c b/boca-1.5.2/doc/problemexamples/problemtemplate/run/c
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/run/c
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/run/cpp b/boca-1.5.2/doc/problemexamples/problemtemplate/run/cpp
deleted file mode 100755
index b46e5f9..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/run/cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 22/aug/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 exe_file
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ ! -x "$1" ]; then
- echo "$1 not found (or is not in the current dir) or it's not executable"
- exit 44
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-cp "$2" stdin0 2>/dev/null
-cp "$1" run.exe 2>/dev/null
-
-file run.exe | grep -iq "statically linked"
-if [ "$?" != "0" ]; then
- echo "Aborting because $1 is not statically linked"
- exit 47
-fi
-
-cdir=`pwd`
-echo "Current directory is $cdir -- chrooting on it" >&2
-$sf -F10 -f$maxf -r$nruns -n1 -R$cdir -C. -U$bocau -G$bocag -ostdout0 -estderr0 -d$maxm -m$maxm -t$time -T$ttime -istdin0 ./run.exe
-ret=$?
-if [ $ret -gt 10 ]; then
- ret=0
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/run/java b/boca-1.5.2/doc/problemexamples/problemtemplate/run/java
deleted file mode 100755
index d6a73a5..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/run/java
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/bash
-# ////////////////////////////////////////////////////////////////////////////////
-# //BOCA Online Contest Administrator
-# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com)
-# //
-# // This program is free software: you can redistribute it and/or modify
-# // it under the terms of the GNU General Public License as published by
-# // the Free Software Foundation, either version 3 of the License, or
-# // (at your option) any later version.
-# //
-# // This program is distributed in the hope that it will be useful,
-# // but WITHOUT ANY WARRANTY; without even the implied warranty of
-# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# // GNU General Public License for more details.
-# // You should have received a copy of the GNU General Public License
-# // along with this program. If not, see <http://www.gnu.org/licenses/>.
-# ////////////////////////////////////////////////////////////////////////////////
-#Last modified: 14/sept/2012 by cassio@ime.usp.br
-#
-# parameters are:
-# $1 main_class
-# $2 input_file
-# $3 timelimit (limit to run all the repetitions, by default only one repetition)
-# $4 number_of_repetitions_to_run (optional, can be used for better tuning the timelimit)
-# $5 maximum allowed memory (in MBytes)
-# $6 maximum allowed output size (in KBytes)
-#
-# the output of the submission should be directed to the standard output
-#
-# the return code show what happened (according to safeexec):
-# 0 ok
-# 1 compile error
-# 2 runtime error
-# 3 timelimit exceeded
-# 4 internal error
-# 5 parameter error
-# 6 internal error
-# 7 memory limit exceeded
-# 8 security threat
-# 9 runtime error
-# other_codes are unknown to boca: in this case BOCA will present the
-# last line of standard output to the judge
-
-umask 0022
-id -u bocajail >/dev/null 2>/dev/null
-if [ $? == 0 ]; then
- bocau=`id -u bocajail`
- bocag=`id -g bocajail`
- chown bocajail.nogroup .
-else
- bocau=`id -u nobody`
- bocag=`id -g nobody`
- chown nobody.nogroup .
-fi
-if [ "$bocau" == "" -o "$bocag" == "" ]; then
- echo "error finding user to run script"
- exit 43
-fi
-
-# this script makes use of safeexec to execute the code with less privilegies
-# make sure that directories below are correct.
-sf=`which safeexec`
-[ -x "$sf" ] || sf=/usr/bin/safeexec
-
-if [ "$1" == "" -o "$2" == "" -o "$3" == "" ]; then
- echo "parameter problem"
- exit 43
-fi
-if [ -r run.exe ]; then
- mv run.exe run.jar
-fi
-if [ -r "$1" ]; then
- mv "$1" run.jar
-fi
-if [ ! -r run.jar ]; then
- echo "ERROR: file run.jar not found - possible error during compilation"
- exit 1
-fi
-name="$1"
-if [ "${name##*.}" == "class" -a "${name##*.}" == "CLASS" ]; then
- echo "WARNING: removing .class file extension"
-fi
-if [ "${name##*.}" == "class" ]; then
- name=`basename "$1" .class`
-fi
-if [ "${name##*.}" == "CLASS" ]; then
- name=`basename "$1" .CLASS`
-fi
-if [ ! -r "$2" ]; then
- echo "$2 not found (or is not in the current dir) or it's not readable"
- exit 45
-fi
-if [ ! -x $sf ]; then
- echo "$sf not found or it's not executable"
- exit 46
-fi
-
-time=$3
-if [ "$time" -gt "0" ]; then
- let "ttime = $time + 30"
-else
- time=1
- ttime=30
-fi
-
-nruns=1
-if [ "$4" != "" ]; then
- if [ "$4" -gt "0" ]; then
- nruns=$4
- fi
-fi
-maxm=512000
-if [ "$5" != "" ]; then
- if [ "$5" -gt "0" ]; then
- maxm=${5}000
- fi
-fi
-maxf=1024
-if [ "$6" != "" ]; then
- if [ "$6" -gt "0" ]; then
- maxf=${6}
- fi
-fi
-
-rm -f runit.retcode 2>/dev/null
-cp "$2" stdin0 2>/dev/null
-
-cdir=`pwd`
-echo "Current directory is $cdir" >&2
-echo $cdir | grep -q "/bocajail"
-if [ $? == 0 ]; then
- cdir=`echo $cdir | sed "s/.*\/bocajail//"`
- cat <<EOF > runit.sh
-#!/bin/bash
-cd "$cdir"
-[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc
-#/bin/mount --bind /dev /dev
-[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys
-java=`which java`
-[ -x "\$java" ] || java=/usr/bin/java
-if [ ! -x \$java ]; then
- echo "\$java not found or it's not executable"
- exit 47
-fi
-export CLASSPATH=.:./run.jar:$CLASSPATH
-$sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 -- \$java -Xmx${maxm}K -Xms${maxm}K "$name"
-echo \$? > runit.retcode
-if [ ! -d /bocajail ]; then
- /bin/umount /proc 2>/dev/null
- #/bin/umount /dev
- /bin/umount /sys 2>/dev/null
-fi
-EOF
- chmod 755 runit.sh
- chroot /bocajail "$cdir/runit.sh"
- if [ -r runit.retcode ]; then
- ret=`cat runit.retcode`
- fi
- if [ "$ret" == "" ]; then
- echo "Execution error - check autojudging"
- exit 49
- fi
-else
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- echo "CODE NOT BEING CHROOTED. DO NOT RUN THIS ON THE MAIN SERVER" >&2
- java=`which java`
- [ -x "$java" ] || java=/usr/bin/java
- if [ ! -x $java ]; then
- echo "$java not found or it's not executable"
- exit 47
- fi
- $sf -r$nruns -t$time -T$ttime -istdin0 -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 -- $java -cp run.jar -Xmx${maxm}K -Xms${maxm}K "$name"
- ret=$?
-fi
-if [ $ret -gt 10 ]; then
- echo "> > > > > > > Nonzero return code - possible runtime error - I'M GUESSING IT IS RUNTIME ERROR < < < < < < < <"
- ret=9
-fi
-if [ -f stdout0 ]; then
- cat stdout0
-fi
-exit $ret
diff --git a/boca-1.5.2/doc/problemexamples/problemtemplate/tests/c b/boca-1.5.2/doc/problemexamples/problemtemplate/tests/c
deleted file mode 100755
index de0a9c5..0000000
--- a/boca-1.5.2/doc/problemexamples/problemtemplate/tests/c
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
-# and the script files that are included in the problem package
-
-cat > test.c <<EOF
-#include<stdio.h>
-int main() {
- char s[100];
- scanf("%s", s);
- printf("%s\n",s);
- return 0;
-}
-EOF
-cat > test.in <<EOF
-inputdata
-EOF
-
-TL=2
-REP=10
-chmod 755 ../compile/c
-../compile/c test.c test.exe $TL
-chmod 755 ../run/c
-../run/c test.exe test.in $TL $REP
-if [ -r stdout0 ]; then
- output=`cat stdout0`
- if [ "$output" != "inputdata" ]; then
- echo "ERROR"
- exit 1
- fi
-else
- echo "ERROR"
- exit 1
-fi
-echo "TEST PASSED"
-exit 0
diff --git a/boca-1.5.2/doc/tests/fontes/abacaxi-yes.c b/boca-1.5.2/doc/tests/fontes/abacaxi-yes.c
deleted file mode 100644
index 3b9d1a0..0000000
--- a/boca-1.5.2/doc/tests/fontes/abacaxi-yes.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2001 Maratona de Programacao do IME-USP -- cef@ime.usp.br
- */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- FILE * ent;
- int cont = 0;
- int n, num, rec[1000], desp[1000], soma, i, inic, somamax, imax, fmax;
-
- ent = stdin;
- fscanf(ent, "%d", &n);
- while (n > 0){
- cont++;
- printf("Fazenda %d\n", cont);
- for (i = 0; i < n; i++) fscanf(ent, "%d", &rec[i]);
- for (i = 0; i < n; i++) fscanf(ent, "%d", &desp[i]);
- somamax = -1;
- imax = 0;
- fmax = 0;
- soma = 0;
- inic = 1;
- for (i = 0; i < n; i++){
- num = rec[i] - desp[i];
- if (soma + num >= 0){
- soma += num;
- if (soma > somamax){
- imax = inic;
- fmax = i + 1;
- somamax = soma;
- }
- }
- else{
- inic = i + 2;
- soma = 0;
- }
- }
- if(somamax >= 0)
- printf("Inicio %d Fim %d\n\n", imax, fmax);
- else
- printf("O produtor so teve prejuizo nesta fazenda\n\n");
-
- fscanf(ent, "%d", &n);
- }
- return(0);
-}
-
diff --git a/boca-1.5.2/doc/tests/fontes/bits-compile.c b/boca-1.5.2/doc/tests/fontes/bits-compile.c
deleted file mode 100644
index ad979fd..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-compile.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int main(void) {
- int n;
- n = 42
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-compile.cpp b/boca-1.5.2/doc/tests/fontes/bits-compile.cpp
deleted file mode 100644
index ad979fd..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-compile.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-int main(void) {
- int n;
- n = 42
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-compile.java b/boca-1.5.2/doc/tests/fontes/bits-compile.java
deleted file mode 100644
index dcfa1eb..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-compile.java
+++ /dev/null
@@ -1,23 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int i, j, n, max, inst=0;
- while(42==42) {
- st.nextToken();
- n = (int) st.nval;
- if(n==0) break;
- max=1;
- for(i=0; i<n; i++) {
- st.nextToken();
- j = (int) st.nval;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- inst++;
- System.out.println("Instancia " + inst);
- System.out.println(i*n + "\n");
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-compile.pas b/boca-1.5.2/doc/tests/fontes/bits-compile.pas
deleted file mode 100644
index ad2765f..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-compile.pas
+++ /dev/null
@@ -1,27 +0,0 @@
-program bits;
-var i, j, n, max, inst: Longint;
-begin
- inst=0;
- while true do
- begin
- read(n);
- if n=0 then break;
- max:=1;
- for i:=0 to n-1 do
- begin
- read(j);
- if j>max then max:=j
- end;
- i:=0;
- while max>0 do
- begin
- max := max div 2;
- i := i + 1
- end;
- write('Instancia ');
- inst := inst + 1;
- writeln(inst);
- writeln(i*n);
- writeln()
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/bits-diffbug.c b/boca-1.5.2/doc/tests/fontes/bits-diffbug.c
deleted file mode 100644
index 3703152..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-diffbug.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* this file illustrate a bug in diff that, even using -w -B -b,
- * it will think that the files are different and will return
- * exit code 1, when the only difference between them is a line
- * in the end with a single white space.
- * Author: cassio@ime.usp.br
- * Last updated: 18/aug/2008
- */
-#include <stdio.h>
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- scanf("%d", &n);
- if(!n) break;
- max=1;
- for(i=0; i<n; i++) {
- scanf("%d", &j);
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- printf("Instancia %d\n%d\n\n", ++inst, i*n);
- }
- printf(" \n");
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-incorrect.c b/boca-1.5.2/doc/tests/fontes/bits-incorrect.c
deleted file mode 100644
index de05583..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-incorrect.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- scanf("%d", &n);
- if(!n) break;
- max=0;
- for(i=0; i<n; i++) {
- scanf("%d", &j);
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- printf("Instancia %d\n%d\n\n", ++inst, i*n);
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-incorrect.cpp b/boca-1.5.2/doc/tests/fontes/bits-incorrect.cpp
deleted file mode 100644
index 3b38845..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-incorrect.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <iostream>
-using namespace std;
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- cin >> n;
- if(!n) break;
- max=0;
- for(i=0; i<n; i++) {
- cin >> j;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- cout << "Instancia " << ++inst << endl << (i*n) << endl << endl;
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-incorrect.java b/boca-1.5.2/doc/tests/fontes/bits-incorrect.java
deleted file mode 100644
index 30b388d..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-incorrect.java
+++ /dev/null
@@ -1,23 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int i, j, n, max, inst=0;
- while(42==42) {
- st.nextToken();
- n = (int) st.nval;
- if(n==0) break;
- max=0;
- for(i=0; i<n; i++) {
- st.nextToken();
- j = (int) st.nval;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- inst++;
- System.out.println("Instancia " + inst);
- System.out.println(i*n + "\n");
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-incorrect.pas b/boca-1.5.2/doc/tests/fontes/bits-incorrect.pas
deleted file mode 100644
index 7dbcd4b..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-incorrect.pas
+++ /dev/null
@@ -1,27 +0,0 @@
-program bits;
-var i, j, n, max, inst: Longint;
-begin
- inst:=0;
- while true do
- begin
- read(n);
- if n=0 then break;
- max:=1;
- for i:=0 to n-1 do
- begin
- read(j);
- if j>max then max:=j
- end;
- i:=0;
- while max>0 do
- begin
- max := max div 2;
- i := i + 1
- end;
- write('Instancia ');
- inst := inst + 1;
- writeln(inst);
- writeln(i);
- writeln()
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/bits-outputformat.c b/boca-1.5.2/doc/tests/fontes/bits-outputformat.c
deleted file mode 100644
index 62d11f5..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-outputformat.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- scanf("%d", &n);
- if(!n) break;
- max=1;
- for(i=0; i<n; i++) {
- scanf("%d", &j);
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- printf("INStanCIA %d\n%d\n\n", ++inst, i*n);
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-outputformat.cpp b/boca-1.5.2/doc/tests/fontes/bits-outputformat.cpp
deleted file mode 100644
index 62d11f5..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-outputformat.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- scanf("%d", &n);
- if(!n) break;
- max=1;
- for(i=0; i<n; i++) {
- scanf("%d", &j);
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- printf("INStanCIA %d\n%d\n\n", ++inst, i*n);
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-outputformat.java b/boca-1.5.2/doc/tests/fontes/bits-outputformat.java
deleted file mode 100644
index 7a3d144..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-outputformat.java
+++ /dev/null
@@ -1,23 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int i, j, n, max, inst=0;
- while(42==42) {
- st.nextToken();
- n = (int) st.nval;
- if(n==0) break;
- max=1;
- for(i=0; i<n; i++) {
- st.nextToken();
- j = (int) st.nval;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- inst++;
- System.out.println("Instancia " + inst);
- System.out.println(i*n);
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-outputformat.pas b/boca-1.5.2/doc/tests/fontes/bits-outputformat.pas
deleted file mode 100644
index e5094d2..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-outputformat.pas
+++ /dev/null
@@ -1,27 +0,0 @@
-program bits;
-var i, j, n, max, inst: Longint;
-begin
- inst:=0;
- while true do
- begin
- read(n);
- if n=0 then break;
- max:=1;
- for i:=0 to n-1 do
- begin
- read(j);
- if j>max then max:=j
- end;
- i:=0;
- while max>0 do
- begin
- max := max div 2;
- i := i + 1
- end;
- write('Instacia ');
- inst := inst + 1;
- writeln(inst);
- writeln(i*n);
- writeln()
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/bits-runtime.c b/boca-1.5.2/doc/tests/fontes/bits-runtime.c
deleted file mode 100644
index 9fe074f..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-runtime.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int main(void) {
- int *n= (int *)42;
- *n = 42;
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-runtime.cpp b/boca-1.5.2/doc/tests/fontes/bits-runtime.cpp
deleted file mode 100644
index 9fe074f..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-runtime.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-int main(void) {
- int *n= (int *)42;
- *n = 42;
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-runtime.java b/boca-1.5.2/doc/tests/fontes/bits-runtime.java
deleted file mode 100644
index f7bffc5..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-runtime.java
+++ /dev/null
@@ -1,24 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int i, j, n, max, inst=0;
- while(42==42) {
- st.nextToken();
- n = (int) st.nval;
- if(n==0) break;
- max=1;
- for(i=0; i<n; i++) {
- st.nextToken();
- j = (int) st.nval;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- inst++;
- System.out.println("Instancia " + inst);
- System.out.println(i*n + "\n");
- throw new Exception("OPA! Runtime error, hehehe...");
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-runtime.pas b/boca-1.5.2/doc/tests/fontes/bits-runtime.pas
deleted file mode 100644
index ed496c0..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-runtime.pas
+++ /dev/null
@@ -1,27 +0,0 @@
-program bits;
-var i, inst, max, n: Longint;
- v: array[0..1] of Longint;
-begin
- while true do
- begin
- read(n);
- if n=0 then break;
- max := 1;
- for i:=0 to n-1 do
- begin
- read(v[i]);
- if v[i]>max then max:=v[i]
- end;
- i:=0;
- while max>0 do
- begin
- max := max div 2;
- i := i + 1
- end;
- write('Instancia ');
- inst := inst + 1;
- writeln(inst);
- writeln(i*n);
- writeln()
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/bits-timelimit.c b/boca-1.5.2/doc/tests/fontes/bits-timelimit.c
deleted file mode 100644
index 19e1c57..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-timelimit.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdio.h>
-int main(void) {
- int n=0;
- while(42) {
- n++;
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-timelimit.cpp b/boca-1.5.2/doc/tests/fontes/bits-timelimit.cpp
deleted file mode 100644
index 25cb517..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-timelimit.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <iostream>
-int main(void) {
- int n=0;
- while(42) {
- n++;
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-timelimit.java b/boca-1.5.2/doc/tests/fontes/bits-timelimit.java
deleted file mode 100644
index 4330bb3..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-timelimit.java
+++ /dev/null
@@ -1,10 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int inst=0;
- while(42==42) {
- inst++;
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-timelimit.pas b/boca-1.5.2/doc/tests/fontes/bits-timelimit.pas
deleted file mode 100644
index d0b496d..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-timelimit.pas
+++ /dev/null
@@ -1,8 +0,0 @@
-program bits;
-var inst: Longint;
-begin
- inst:=0;
- while true do
- begin
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/bits-yes.c b/boca-1.5.2/doc/tests/fontes/bits-yes.c
deleted file mode 100644
index ab23f83..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-yes.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- scanf("%d", &n);
- if(!n) break;
- max=1;
- for(i=0; i<n; i++) {
- scanf("%d", &j);
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- printf("Instancia %d\n%d\n\n", ++inst, i*n);
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-yes.cpp b/boca-1.5.2/doc/tests/fontes/bits-yes.cpp
deleted file mode 100644
index 11a32b5..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-yes.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <iostream>
-using namespace std;
-int main(void) {
- int i, j, n, max, inst=0;
- while(42) {
- cin >> n;
- if(!n) break;
- max=1;
- for(i=0; i<n; i++) {
- cin >> j;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- cout << "Instancia " << ++inst << endl << (i*n) << endl << endl;
- }
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-yes.java b/boca-1.5.2/doc/tests/fontes/bits-yes.java
deleted file mode 100644
index 3448484..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-yes.java
+++ /dev/null
@@ -1,23 +0,0 @@
-import java.io.*;
-class bits {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int i, j, n, max, inst=0;
- while(42==42) {
- st.nextToken();
- n = (int) st.nval;
- if(n==0) break;
- max=1;
- for(i=0; i<n; i++) {
- st.nextToken();
- j = (int) st.nval;
- if(j>max) max=j;
- }
- for(i=0; max>0; i++)
- max >>= 1;
- inst++;
- System.out.println("Instancia " + inst);
- System.out.println(i*n + "\n");
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/bits-yes.pas b/boca-1.5.2/doc/tests/fontes/bits-yes.pas
deleted file mode 100644
index 0970c43..0000000
--- a/boca-1.5.2/doc/tests/fontes/bits-yes.pas
+++ /dev/null
@@ -1,27 +0,0 @@
-program bits;
-var i, j, n, max, inst: Longint;
-begin
- inst:=0;
- while true do
- begin
- read(n);
- if n=0 then break;
- max:=1;
- for i:=0 to n-1 do
- begin
- read(j);
- if j>max then max:=j
- end;
- i:=0;
- while max>0 do
- begin
- max := max div 2;
- i := i + 1
- end;
- write('Instancia ');
- inst := inst + 1;
- writeln(inst);
- writeln(i*n);
- writeln()
- end
-end.
diff --git a/boca-1.5.2/doc/tests/fontes/formiga-yes.c b/boca-1.5.2/doc/tests/fontes/formiga-yes.c
deleted file mode 100644
index 7640d75..0000000
--- a/boca-1.5.2/doc/tests/fontes/formiga-yes.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2002 Maratona de Programacao do IME-USP -- cef@ime.usp.br (written by S.G.Tavares)
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-FILE *in, *out;
-
-long mdc(long a, long b){
- long i, mdca=1;
- for(i=2; ((i<=a) && (i<=b)) ; i++)
- if ((!(a%i)) && (!(b%i))) mdca = i;
- return mdca;
-}
-
-
-int main(){
- long x, y, i, j, k;
- char p1[8];
- double db1;
- int dh, dv;
- in = stdin;
- out = stdout;
-
- while(42){
- fscanf(in, "%ld%ld\n", &x, &y);
- if (!x || !y) break;
- fscanf(in, "%s\n", &p1[0]);
- if (p1[0]=='N') {
- dh = 0;
- dv = 0;
- }
- else if (p1[0]=='S') {
- dh = 1;
- dv = 1;
- }
- else if (p1[0]=='L') {
- dh = 1;
- dv = 0;
- }
- else {
- dh = 0;
- dv = 1;
- }
- for (i=x, j=y; ((!(i%2)) && (!(j%2))); i /= 2, j /= 2 );
- if (i%2) dh = !dh;
- if (j%2) dv = !dv;
- k = mdc(x, y);
- db1 = 100.0/(double)k;
- i = floor(100.0/(double)k);
- if (db1-(double)i > 0.5) i++;
-
- j = x/k + y/k -2;
- fprintf(out, "%3ld%%%10ld", i, j);
- if (dh){
- if (dv) fprintf(out, " Sul\n");
- else fprintf(out, " Leste\n");
- }
- else {
- if (dv) fprintf(out, " Oeste\n");
- else fprintf(out, " Norte\n");
- }
- }
-
- return 0;
-}
diff --git a/boca-1.5.2/doc/tests/fontes/grid.java b/boca-1.5.2/doc/tests/fontes/grid.java
deleted file mode 100644
index b7876ec..0000000
--- a/boca-1.5.2/doc/tests/fontes/grid.java
+++ /dev/null
@@ -1,10 +0,0 @@
-import java.io.*;
-class cancer {
- public static void main(String args[]) throws Exception {
- StreamTokenizer st = new StreamTokenizer(System.in);
- int inst=0;
- while(42==42) {
- inst++;
- }
- }
-}
diff --git a/boca-1.5.2/doc/tests/fontes/multas-yes.c b/boca-1.5.2/doc/tests/fontes/multas-yes.c
deleted file mode 100644
index 3729d0b..0000000
--- a/boca-1.5.2/doc/tests/fontes/multas-yes.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2001 Maratona de Programacao do IME-USP -- cef@ime.usp.br
- */
-
-#include <stdio.h>
-
-typedef struct
-{
- char nome[100];
- char nomeconv[100];
-
- int pontos;
-}
-m_familia;
-
-#define MAX 21
-
-char conv(char c)
-{
- if(c >= 'A' && c <= 'Z') return (c += 'a' - 'A');
- return(c);
-
-}
-
-
-int menor(char v[80], char w[80])
-{
- int i=0;
-
- while(i < 80 && v[i] == w[i])i++;
- return(v[i] < w[i]);
-}
-
-
-int main(int argc, char *argv[])
-{
- FILE * ent;
- int cont = 0;
- int n, i,j, multa, nmult, min;
- m_familia familia[20];
-
- ent = stdin;
-
- fscanf(ent, "%d", &n);
- while (n > 0){
- cont++;
- printf("Familia %d\n", cont);
-
- for (i = 0; i < n; i++){
- fscanf(ent, "%s", &(familia[i].nome[0]));
- j = 0;
- while(familia[i].nome[j] != 0) {
- familia[i].nomeconv[j]=conv(familia[i].nome[j]);
- j++;
- }
- familia[i].nomeconv[j]=0;
-
- familia[i].pontos = 0;
- }
- fscanf(ent, "%d", &multa);
- nmult = 0;
-
- while(multa > 0){
- nmult++;
- min = 0;
- for (i = 0; i < n; i++)
- if (familia[i].pontos < familia[min].pontos ||
- (familia[i].pontos == familia[min].pontos &&
- menor(familia[i].nomeconv, familia[min].nomeconv)))
- min = i;
- printf("Multa %d %s", nmult, familia[min].nome);
- familia[min].pontos += multa;
- if ( familia[min].pontos >= MAX)
- printf(" carteira suspensa\n");
- else printf("\n");
- fscanf(ent, "%d", &multa);
- }
- printf("\n");
-
- fscanf(ent, "%d", &n);
- }
- fclose(ent);
- return(0);
-}
-
-
diff --git a/boca-1.5.2/doc/tests/in_out/abacaxi.in b/boca-1.5.2/doc/tests/in_out/abacaxi.in
deleted file mode 100644
index 26d3afe..0000000
--- a/boca-1.5.2/doc/tests/in_out/abacaxi.in
+++ /dev/null
@@ -1,25 +0,0 @@
-5
-32 37 82 46 32
-13 40 75 62 19
-8
-14 22 29 41 72 25 68 90
-22 19 21 45 70 46 66 80
-3
-2 4 5
-8 8 8
-8
-12 1 0 8 5 0 9 4
-0 0 13 0 0 13 0 0
-8
-8 8 8 8 8 8 8 8
-7 9 5 8 9 5 9 7
-1
-0
-0
-999
-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-999
- 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0
diff --git a/boca-1.5.2/doc/tests/in_out/abacaxi.sol b/boca-1.5.2/doc/tests/in_out/abacaxi.sol
deleted file mode 100644
index 2e9fd8b..0000000
--- a/boca-1.5.2/doc/tests/in_out/abacaxi.sol
+++ /dev/null
@@ -1,24 +0,0 @@
-Fazenda 1
-Inicio 1 Fim 3
-
-Fazenda 2
-Inicio 7 Fim 8
-
-Fazenda 3
-O produtor so teve prejuizo nesta fazenda
-
-Fazenda 4
-Inicio 1 Fim 2
-
-Fazenda 5
-Inicio 1 Fim 6
-
-Fazenda 6
-Inicio 1 Fim 1
-
-Fazenda 7
-Inicio 1 Fim 999
-
-Fazenda 8
-Inicio 1 Fim 999
-
diff --git a/boca-1.5.2/doc/tests/in_out/bits.in b/boca-1.5.2/doc/tests/in_out/bits.in
deleted file mode 100644
index ef548be..0000000
--- a/boca-1.5.2/doc/tests/in_out/bits.in
+++ /dev/null
@@ -1,9 +0,0 @@
-1 7
-4 1 10 20 30
-2 2000 999
-3 0 0 0
-2 1 1000
-1000 1073741824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-1 0
-1 8
-0
diff --git a/boca-1.5.2/doc/tests/in_out/bits.sol b/boca-1.5.2/doc/tests/in_out/bits.sol
deleted file mode 100644
index 7749442..0000000
--- a/boca-1.5.2/doc/tests/in_out/bits.sol
+++ /dev/null
@@ -1,24 +0,0 @@
-Instancia 1
-3
-
-Instancia 2
-20
-
-Instancia 3
-22
-
-Instancia 4
-3
-
-Instancia 5
-20
-
-Instancia 6
-31000
-
-Instancia 7
-1
-
-Instancia 8
-4
-
diff --git a/boca-1.5.2/doc/tests/in_out/formiga.in b/boca-1.5.2/doc/tests/in_out/formiga.in
deleted file mode 100644
index c9a59b2..0000000
--- a/boca-1.5.2/doc/tests/in_out/formiga.in
+++ /dev/null
@@ -1,15 +0,0 @@
-1 1 Norte
-4 8 Norte
-3 2 Sul
-100000 100000 Oeste
-6 6 Sul
-4 13 Oeste
-4 14 Sul
-4 13 Leste
-640 648 Norte
-45 99998 Leste
-45 99995 Oeste
-99999 99998 Norte
-99999 99996 Oeste
-445 1157 Sul
-100000 0 Qqlixo
diff --git a/boca-1.5.2/doc/tests/in_out/formiga.sol b/boca-1.5.2/doc/tests/in_out/formiga.sol
deleted file mode 100644
index 499641c..0000000
--- a/boca-1.5.2/doc/tests/in_out/formiga.sol
+++ /dev/null
@@ -1,14 +0,0 @@
-100% 0 Sul
- 25% 1 Leste
-100% 3 Oeste
- 0% 0 Leste
- 17% 0 Norte
-100% 15 Norte
- 50% 7 Leste
-100% 15 Sul
- 12% 159 Oeste
-100% 100041 Norte
- 20% 20006 Leste
-100% 199995 Leste
- 33% 66663 Sul
- 1% 16 Norte
diff --git a/boca-1.5.2/doc/tests/in_out/multas.in b/boca-1.5.2/doc/tests/in_out/multas.in
deleted file mode 100644
index bb947cd..0000000
--- a/boca-1.5.2/doc/tests/in_out/multas.in
+++ /dev/null
@@ -1,518 +0,0 @@
-5
-john
-mary
-bob
-rick
-donna
-4
-4
-5
-7
-7
-7
--2
-3
-paul
-irene
-charlie
-5
-5
-5
-5
-5
-4
-7
-7
-4
-4
-4
-4
--3
-19
-Zzzzzzzzzzzzzzzzzzzs
-zzzzzzzzzzzzzzzzzzzr
-zzzzzzzzzzzzzzzzzzzq
-zzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzp
-zzzzzzzzzzzzzzzzzzzo
-zzzzzzzzzzzzzzzzzzzn
-zzzzzzzzzzzzzzzzzzzm
-zzzzzzzzzzzzzzzzzzzl
-zzzzzzzzzzzzzzzzzzzk
-zzzzzzzzzzzzzzzzzzzj
-zzzzzzzzzzzzzzzzzzzi
-zzzzzzzzzzzzzzzzzzzh
-zzzzzzzzzzzzzzzzzzzg
-zzzzzzzzzzzzzzzzzzzf
-zzzzzzzzzzzzzzzzzzze
-zzzzzzzzzzzzzzzzzzzd
-zzzzzzzzzzzzzzzzzzzc
-zzzzzzzzzzzzzzzzzzzb
-Zzzzzzzzzzzzzzzzzzza
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
-250
--50
-19
-Zzzzzzzzzzzzzzzzzzzs
-zzzzzzzzzzzzzzzzzzzr
-zzzzzzzzzzzzzzzzzzzq
-zzzzzzzzzzzzzzzzzzzp
-zzzzzzzzzzzzzzzzzzzo
-zzzzzzzzzzzzzzzzzzzn
-zzzzzzzzzzzzzzzzzzzm
-zzzzzzzzzzzzzzzzzzzl
-zzzzzzzzzzzzzzzzzzzk
-zzzzzzzzzzzzzzzzzzzj
-zzzzzzzzzzzzzzzzzzzi
-zzzzzzzzzzzzzzzzzzzh
-zzzzzzzzzzzzzzzzzzzg
-zzzzzzzzzzzzzzzzzzzf
-zzzzzzzzzzzzzzzzzzze
-zzzzzzzzzzzzzzzzzzzd
-zzzzzzzzzzzzzzzzzzzc
-zzzzzzzzzzzzzzzzzzzb
-Zzzzzzzzzzzzzzzzzzza
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
--50
-5
-a
-b
-c
-d
-e
-5
-4
-3
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
--3
-0
diff --git a/boca-1.5.2/doc/tests/in_out/multas.sol b/boca-1.5.2/doc/tests/in_out/multas.sol
deleted file mode 100644
index 5855c90..0000000
--- a/boca-1.5.2/doc/tests/in_out/multas.sol
+++ /dev/null
@@ -1,466 +0,0 @@
-Familia 1
-Multa 1 bob
-Multa 2 donna
-Multa 3 john
-Multa 4 mary
-Multa 5 rick
-Multa 6 bob
-
-Familia 2
-Multa 1 charlie
-Multa 2 irene
-Multa 3 paul
-Multa 4 charlie
-Multa 5 irene
-Multa 6 paul
-Multa 7 paul
-Multa 8 charlie
-Multa 9 irene
-Multa 10 irene
-Multa 11 paul
-Multa 12 charlie carteira suspensa
-
-Familia 3
-Multa 1 Zzzzzzzzzzzzzzzzzzza carteira suspensa
-Multa 2 zzzzzzzzzzzzzzzzzzzb carteira suspensa
-Multa 3 zzzzzzzzzzzzzzzzzzzc carteira suspensa
-Multa 4 zzzzzzzzzzzzzzzzzzzd carteira suspensa
-Multa 5 zzzzzzzzzzzzzzzzzzze carteira suspensa
-Multa 6 zzzzzzzzzzzzzzzzzzzf carteira suspensa
-Multa 7 zzzzzzzzzzzzzzzzzzzg carteira suspensa
-Multa 8 zzzzzzzzzzzzzzzzzzzh carteira suspensa
-Multa 9 zzzzzzzzzzzzzzzzzzzi carteira suspensa
-Multa 10 zzzzzzzzzzzzzzzzzzzj carteira suspensa
-Multa 11 zzzzzzzzzzzzzzzzzzzk carteira suspensa
-Multa 12 zzzzzzzzzzzzzzzzzzzl carteira suspensa
-Multa 13 zzzzzzzzzzzzzzzzzzzm carteira suspensa
-Multa 14 zzzzzzzzzzzzzzzzzzzn carteira suspensa
-Multa 15 zzzzzzzzzzzzzzzzzzzo carteira suspensa
-Multa 16 zzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzpzzzzzzzzzzzzzzzzzzzp carteira suspensa
-Multa 17 zzzzzzzzzzzzzzzzzzzq carteira suspensa
-Multa 18 zzzzzzzzzzzzzzzzzzzr carteira suspensa
-Multa 19 Zzzzzzzzzzzzzzzzzzzs carteira suspensa
-
-Familia 4
-Multa 1 Zzzzzzzzzzzzzzzzzzza
-Multa 2 zzzzzzzzzzzzzzzzzzzb
-Multa 3 zzzzzzzzzzzzzzzzzzzc
-Multa 4 zzzzzzzzzzzzzzzzzzzd
-Multa 5 zzzzzzzzzzzzzzzzzzze
-Multa 6 zzzzzzzzzzzzzzzzzzzf
-Multa 7 zzzzzzzzzzzzzzzzzzzg
-Multa 8 zzzzzzzzzzzzzzzzzzzh
-Multa 9 zzzzzzzzzzzzzzzzzzzi
-Multa 10 zzzzzzzzzzzzzzzzzzzj
-Multa 11 zzzzzzzzzzzzzzzzzzzk
-Multa 12 zzzzzzzzzzzzzzzzzzzl
-Multa 13 zzzzzzzzzzzzzzzzzzzm
-Multa 14 zzzzzzzzzzzzzzzzzzzn
-Multa 15 zzzzzzzzzzzzzzzzzzzo
-Multa 16 zzzzzzzzzzzzzzzzzzzp
-Multa 17 zzzzzzzzzzzzzzzzzzzq
-Multa 18 zzzzzzzzzzzzzzzzzzzr
-Multa 19 Zzzzzzzzzzzzzzzzzzzs
-Multa 20 Zzzzzzzzzzzzzzzzzzza
-Multa 21 zzzzzzzzzzzzzzzzzzzb
-Multa 22 zzzzzzzzzzzzzzzzzzzc
-Multa 23 zzzzzzzzzzzzzzzzzzzd
-Multa 24 zzzzzzzzzzzzzzzzzzze
-Multa 25 zzzzzzzzzzzzzzzzzzzf
-Multa 26 zzzzzzzzzzzzzzzzzzzg
-Multa 27 zzzzzzzzzzzzzzzzzzzh
-Multa 28 zzzzzzzzzzzzzzzzzzzi
-Multa 29 zzzzzzzzzzzzzzzzzzzj
-Multa 30 zzzzzzzzzzzzzzzzzzzk
-Multa 31 zzzzzzzzzzzzzzzzzzzl
-Multa 32 zzzzzzzzzzzzzzzzzzzm
-Multa 33 zzzzzzzzzzzzzzzzzzzn
-Multa 34 zzzzzzzzzzzzzzzzzzzo
-Multa 35 zzzzzzzzzzzzzzzzzzzp
-Multa 36 zzzzzzzzzzzzzzzzzzzq
-Multa 37 zzzzzzzzzzzzzzzzzzzr
-Multa 38 Zzzzzzzzzzzzzzzzzzzs
-Multa 39 Zzzzzzzzzzzzzzzzzzza
-Multa 40 zzzzzzzzzzzzzzzzzzzb
-Multa 41 zzzzzzzzzzzzzzzzzzzc
-Multa 42 zzzzzzzzzzzzzzzzzzzd
-Multa 43 zzzzzzzzzzzzzzzzzzze
-Multa 44 zzzzzzzzzzzzzzzzzzzf
-Multa 45 zzzzzzzzzzzzzzzzzzzg
-Multa 46 zzzzzzzzzzzzzzzzzzzh
-Multa 47 zzzzzzzzzzzzzzzzzzzi
-Multa 48 zzzzzzzzzzzzzzzzzzzj
-Multa 49 zzzzzzzzzzzzzzzzzzzk
-Multa 50 zzzzzzzzzzzzzzzzzzzl
-Multa 51 zzzzzzzzzzzzzzzzzzzm
-Multa 52 zzzzzzzzzzzzzzzzzzzn
-Multa 53 zzzzzzzzzzzzzzzzzzzo
-Multa 54 zzzzzzzzzzzzzzzzzzzp
-Multa 55 zzzzzzzzzzzzzzzzzzzq
-Multa 56 zzzzzzzzzzzzzzzzzzzr
-Multa 57 Zzzzzzzzzzzzzzzzzzzs
-Multa 58 Zzzzzzzzzzzzzzzzzzza
-Multa 59 zzzzzzzzzzzzzzzzzzzb
-Multa 60 zzzzzzzzzzzzzzzzzzzc
-Multa 61 zzzzzzzzzzzzzzzzzzzd
-Multa 62 zzzzzzzzzzzzzzzzzzze
-Multa 63 zzzzzzzzzzzzzzzzzzzf
-Multa 64 zzzzzzzzzzzzzzzzzzzg
-Multa 65 zzzzzzzzzzzzzzzzzzzh
-Multa 66 zzzzzzzzzzzzzzzzzzzi
-Multa 67 zzzzzzzzzzzzzzzzzzzj
-Multa 68 zzzzzzzzzzzzzzzzzzzk
-Multa 69 zzzzzzzzzzzzzzzzzzzl
-Multa 70 zzzzzzzzzzzzzzzzzzzm
-Multa 71 zzzzzzzzzzzzzzzzzzzn
-Multa 72 zzzzzzzzzzzzzzzzzzzo
-Multa 73 zzzzzzzzzzzzzzzzzzzp
-Multa 74 zzzzzzzzzzzzzzzzzzzq
-Multa 75 zzzzzzzzzzzzzzzzzzzr
-Multa 76 Zzzzzzzzzzzzzzzzzzzs
-Multa 77 Zzzzzzzzzzzzzzzzzzza
-Multa 78 zzzzzzzzzzzzzzzzzzzb
-Multa 79 zzzzzzzzzzzzzzzzzzzc
-Multa 80 zzzzzzzzzzzzzzzzzzzd
-Multa 81 zzzzzzzzzzzzzzzzzzze
-Multa 82 zzzzzzzzzzzzzzzzzzzf
-Multa 83 zzzzzzzzzzzzzzzzzzzg
-Multa 84 zzzzzzzzzzzzzzzzzzzh
-Multa 85 zzzzzzzzzzzzzzzzzzzi
-Multa 86 zzzzzzzzzzzzzzzzzzzj
-Multa 87 zzzzzzzzzzzzzzzzzzzk
-Multa 88 zzzzzzzzzzzzzzzzzzzl
-Multa 89 zzzzzzzzzzzzzzzzzzzm
-Multa 90 zzzzzzzzzzzzzzzzzzzn
-Multa 91 zzzzzzzzzzzzzzzzzzzo
-Multa 92 zzzzzzzzzzzzzzzzzzzp
-Multa 93 zzzzzzzzzzzzzzzzzzzq
-Multa 94 zzzzzzzzzzzzzzzzzzzr
-Multa 95 Zzzzzzzzzzzzzzzzzzzs
-Multa 96 Zzzzzzzzzzzzzzzzzzza
-Multa 97 zzzzzzzzzzzzzzzzzzzb
-Multa 98 zzzzzzzzzzzzzzzzzzzc
-Multa 99 zzzzzzzzzzzzzzzzzzzd
-Multa 100 zzzzzzzzzzzzzzzzzzze
-Multa 101 zzzzzzzzzzzzzzzzzzzf
-Multa 102 zzzzzzzzzzzzzzzzzzzg
-Multa 103 zzzzzzzzzzzzzzzzzzzh
-Multa 104 zzzzzzzzzzzzzzzzzzzi
-Multa 105 zzzzzzzzzzzzzzzzzzzj
-Multa 106 zzzzzzzzzzzzzzzzzzzk
-Multa 107 zzzzzzzzzzzzzzzzzzzl
-Multa 108 zzzzzzzzzzzzzzzzzzzm
-Multa 109 zzzzzzzzzzzzzzzzzzzn
-Multa 110 zzzzzzzzzzzzzzzzzzzo
-Multa 111 zzzzzzzzzzzzzzzzzzzp
-Multa 112 zzzzzzzzzzzzzzzzzzzq
-Multa 113 zzzzzzzzzzzzzzzzzzzr
-Multa 114 Zzzzzzzzzzzzzzzzzzzs
-Multa 115 Zzzzzzzzzzzzzzzzzzza
-Multa 116 zzzzzzzzzzzzzzzzzzzb
-Multa 117 zzzzzzzzzzzzzzzzzzzc
-Multa 118 zzzzzzzzzzzzzzzzzzzd
-Multa 119 zzzzzzzzzzzzzzzzzzze
-Multa 120 zzzzzzzzzzzzzzzzzzzf
-Multa 121 zzzzzzzzzzzzzzzzzzzg
-Multa 122 zzzzzzzzzzzzzzzzzzzh
-Multa 123 zzzzzzzzzzzzzzzzzzzi
-Multa 124 zzzzzzzzzzzzzzzzzzzj
-Multa 125 zzzzzzzzzzzzzzzzzzzk
-Multa 126 zzzzzzzzzzzzzzzzzzzl
-Multa 127 zzzzzzzzzzzzzzzzzzzm
-Multa 128 zzzzzzzzzzzzzzzzzzzn
-Multa 129 zzzzzzzzzzzzzzzzzzzo
-Multa 130 zzzzzzzzzzzzzzzzzzzp
-Multa 131 zzzzzzzzzzzzzzzzzzzq
-Multa 132 zzzzzzzzzzzzzzzzzzzr
-Multa 133 Zzzzzzzzzzzzzzzzzzzs
-Multa 134 Zzzzzzzzzzzzzzzzzzza
-Multa 135 zzzzzzzzzzzzzzzzzzzb
-Multa 136 zzzzzzzzzzzzzzzzzzzc
-Multa 137 zzzzzzzzzzzzzzzzzzzd
-Multa 138 zzzzzzzzzzzzzzzzzzze
-Multa 139 zzzzzzzzzzzzzzzzzzzf
-Multa 140 zzzzzzzzzzzzzzzzzzzg
-Multa 141 zzzzzzzzzzzzzzzzzzzh
-Multa 142 zzzzzzzzzzzzzzzzzzzi
-Multa 143 zzzzzzzzzzzzzzzzzzzj
-Multa 144 zzzzzzzzzzzzzzzzzzzk
-Multa 145 zzzzzzzzzzzzzzzzzzzl
-Multa 146 zzzzzzzzzzzzzzzzzzzm
-Multa 147 zzzzzzzzzzzzzzzzzzzn
-Multa 148 zzzzzzzzzzzzzzzzzzzo
-Multa 149 zzzzzzzzzzzzzzzzzzzp
-Multa 150 zzzzzzzzzzzzzzzzzzzq
-Multa 151 zzzzzzzzzzzzzzzzzzzr
-Multa 152 Zzzzzzzzzzzzzzzzzzzs
-Multa 153 Zzzzzzzzzzzzzzzzzzza
-Multa 154 zzzzzzzzzzzzzzzzzzzb
-Multa 155 zzzzzzzzzzzzzzzzzzzc
-Multa 156 zzzzzzzzzzzzzzzzzzzd
-Multa 157 zzzzzzzzzzzzzzzzzzze
-Multa 158 zzzzzzzzzzzzzzzzzzzf
-Multa 159 zzzzzzzzzzzzzzzzzzzg
-Multa 160 zzzzzzzzzzzzzzzzzzzh
-Multa 161 zzzzzzzzzzzzzzzzzzzi
-Multa 162 zzzzzzzzzzzzzzzzzzzj
-Multa 163 zzzzzzzzzzzzzzzzzzzk
-Multa 164 zzzzzzzzzzzzzzzzzzzl
-Multa 165 zzzzzzzzzzzzzzzzzzzm
-Multa 166 zzzzzzzzzzzzzzzzzzzn
-Multa 167 zzzzzzzzzzzzzzzzzzzo
-Multa 168 zzzzzzzzzzzzzzzzzzzp
-Multa 169 zzzzzzzzzzzzzzzzzzzq
-Multa 170 zzzzzzzzzzzzzzzzzzzr
-Multa 171 Zzzzzzzzzzzzzzzzzzzs
-Multa 172 Zzzzzzzzzzzzzzzzzzza
-Multa 173 zzzzzzzzzzzzzzzzzzzb
-Multa 174 zzzzzzzzzzzzzzzzzzzc
-Multa 175 zzzzzzzzzzzzzzzzzzzd
-Multa 176 zzzzzzzzzzzzzzzzzzze
-Multa 177 zzzzzzzzzzzzzzzzzzzf
-Multa 178 zzzzzzzzzzzzzzzzzzzg
-Multa 179 zzzzzzzzzzzzzzzzzzzh
-Multa 180 zzzzzzzzzzzzzzzzzzzi
-Multa 181 zzzzzzzzzzzzzzzzzzzj
-Multa 182 zzzzzzzzzzzzzzzzzzzk
-Multa 183 zzzzzzzzzzzzzzzzzzzl
-Multa 184 zzzzzzzzzzzzzzzzzzzm
-Multa 185 zzzzzzzzzzzzzzzzzzzn
-Multa 186 zzzzzzzzzzzzzzzzzzzo
-Multa 187 zzzzzzzzzzzzzzzzzzzp
-Multa 188 zzzzzzzzzzzzzzzzzzzq
-Multa 189 zzzzzzzzzzzzzzzzzzzr
-Multa 190 Zzzzzzzzzzzzzzzzzzzs
-Multa 191 Zzzzzzzzzzzzzzzzzzza
-Multa 192 zzzzzzzzzzzzzzzzzzzb
-Multa 193 zzzzzzzzzzzzzzzzzzzc
-Multa 194 zzzzzzzzzzzzzzzzzzzd
-Multa 195 zzzzzzzzzzzzzzzzzzze
-Multa 196 zzzzzzzzzzzzzzzzzzzf
-Multa 197 zzzzzzzzzzzzzzzzzzzg
-Multa 198 zzzzzzzzzzzzzzzzzzzh
-Multa 199 zzzzzzzzzzzzzzzzzzzi
-Multa 200 zzzzzzzzzzzzzzzzzzzj
-Multa 201 zzzzzzzzzzzzzzzzzzzk
-Multa 202 zzzzzzzzzzzzzzzzzzzl
-Multa 203 zzzzzzzzzzzzzzzzzzzm
-Multa 204 zzzzzzzzzzzzzzzzzzzn
-Multa 205 zzzzzzzzzzzzzzzzzzzo
-Multa 206 zzzzzzzzzzzzzzzzzzzp
-Multa 207 zzzzzzzzzzzzzzzzzzzq
-Multa 208 zzzzzzzzzzzzzzzzzzzr
-Multa 209 Zzzzzzzzzzzzzzzzzzzs
-Multa 210 Zzzzzzzzzzzzzzzzzzza
-Multa 211 zzzzzzzzzzzzzzzzzzzb
-Multa 212 zzzzzzzzzzzzzzzzzzzc
-Multa 213 zzzzzzzzzzzzzzzzzzzd
-Multa 214 zzzzzzzzzzzzzzzzzzze
-Multa 215 zzzzzzzzzzzzzzzzzzzf
-Multa 216 zzzzzzzzzzzzzzzzzzzg
-Multa 217 zzzzzzzzzzzzzzzzzzzh
-Multa 218 zzzzzzzzzzzzzzzzzzzi
-Multa 219 zzzzzzzzzzzzzzzzzzzj
-Multa 220 zzzzzzzzzzzzzzzzzzzk
-Multa 221 zzzzzzzzzzzzzzzzzzzl
-Multa 222 zzzzzzzzzzzzzzzzzzzm
-Multa 223 zzzzzzzzzzzzzzzzzzzn
-Multa 224 zzzzzzzzzzzzzzzzzzzo
-Multa 225 zzzzzzzzzzzzzzzzzzzp
-Multa 226 zzzzzzzzzzzzzzzzzzzq
-Multa 227 zzzzzzzzzzzzzzzzzzzr
-Multa 228 Zzzzzzzzzzzzzzzzzzzs
-Multa 229 Zzzzzzzzzzzzzzzzzzza
-Multa 230 zzzzzzzzzzzzzzzzzzzb
-Multa 231 zzzzzzzzzzzzzzzzzzzc
-Multa 232 zzzzzzzzzzzzzzzzzzzd
-Multa 233 zzzzzzzzzzzzzzzzzzze
-Multa 234 zzzzzzzzzzzzzzzzzzzf
-Multa 235 zzzzzzzzzzzzzzzzzzzg
-Multa 236 zzzzzzzzzzzzzzzzzzzh
-Multa 237 zzzzzzzzzzzzzzzzzzzi
-Multa 238 zzzzzzzzzzzzzzzzzzzj
-Multa 239 zzzzzzzzzzzzzzzzzzzk
-Multa 240 zzzzzzzzzzzzzzzzzzzl
-Multa 241 zzzzzzzzzzzzzzzzzzzm
-Multa 242 zzzzzzzzzzzzzzzzzzzn
-Multa 243 zzzzzzzzzzzzzzzzzzzo
-Multa 244 zzzzzzzzzzzzzzzzzzzp
-Multa 245 zzzzzzzzzzzzzzzzzzzq
-Multa 246 zzzzzzzzzzzzzzzzzzzr
-Multa 247 Zzzzzzzzzzzzzzzzzzzs
-Multa 248 Zzzzzzzzzzzzzzzzzzza
-Multa 249 zzzzzzzzzzzzzzzzzzzb
-Multa 250 zzzzzzzzzzzzzzzzzzzc
-Multa 251 zzzzzzzzzzzzzzzzzzzd
-Multa 252 zzzzzzzzzzzzzzzzzzze
-Multa 253 zzzzzzzzzzzzzzzzzzzf
-Multa 254 zzzzzzzzzzzzzzzzzzzg
-Multa 255 zzzzzzzzzzzzzzzzzzzh
-Multa 256 zzzzzzzzzzzzzzzzzzzi
-Multa 257 zzzzzzzzzzzzzzzzzzzj
-Multa 258 zzzzzzzzzzzzzzzzzzzk
-Multa 259 zzzzzzzzzzzzzzzzzzzl
-Multa 260 zzzzzzzzzzzzzzzzzzzm
-Multa 261 zzzzzzzzzzzzzzzzzzzn
-Multa 262 zzzzzzzzzzzzzzzzzzzo
-Multa 263 zzzzzzzzzzzzzzzzzzzp
-Multa 264 zzzzzzzzzzzzzzzzzzzq
-Multa 265 zzzzzzzzzzzzzzzzzzzr
-Multa 266 Zzzzzzzzzzzzzzzzzzzs
-Multa 267 Zzzzzzzzzzzzzzzzzzza
-Multa 268 zzzzzzzzzzzzzzzzzzzb
-Multa 269 zzzzzzzzzzzzzzzzzzzc
-Multa 270 zzzzzzzzzzzzzzzzzzzd
-Multa 271 zzzzzzzzzzzzzzzzzzze
-Multa 272 zzzzzzzzzzzzzzzzzzzf
-Multa 273 zzzzzzzzzzzzzzzzzzzg
-Multa 274 zzzzzzzzzzzzzzzzzzzh
-Multa 275 zzzzzzzzzzzzzzzzzzzi
-Multa 276 zzzzzzzzzzzzzzzzzzzj
-Multa 277 zzzzzzzzzzzzzzzzzzzk
-Multa 278 zzzzzzzzzzzzzzzzzzzl
-Multa 279 zzzzzzzzzzzzzzzzzzzm
-Multa 280 zzzzzzzzzzzzzzzzzzzn
-Multa 281 zzzzzzzzzzzzzzzzzzzo
-Multa 282 zzzzzzzzzzzzzzzzzzzp
-Multa 283 zzzzzzzzzzzzzzzzzzzq
-Multa 284 zzzzzzzzzzzzzzzzzzzr
-Multa 285 Zzzzzzzzzzzzzzzzzzzs
-Multa 286 Zzzzzzzzzzzzzzzzzzza
-Multa 287 zzzzzzzzzzzzzzzzzzzb
-Multa 288 zzzzzzzzzzzzzzzzzzzc
-Multa 289 zzzzzzzzzzzzzzzzzzzd
-Multa 290 zzzzzzzzzzzzzzzzzzze
-Multa 291 zzzzzzzzzzzzzzzzzzzf
-Multa 292 zzzzzzzzzzzzzzzzzzzg
-Multa 293 zzzzzzzzzzzzzzzzzzzh
-Multa 294 zzzzzzzzzzzzzzzzzzzi
-Multa 295 zzzzzzzzzzzzzzzzzzzj
-Multa 296 zzzzzzzzzzzzzzzzzzzk
-Multa 297 zzzzzzzzzzzzzzzzzzzl
-Multa 298 zzzzzzzzzzzzzzzzzzzm
-Multa 299 zzzzzzzzzzzzzzzzzzzn
-Multa 300 zzzzzzzzzzzzzzzzzzzo
-Multa 301 zzzzzzzzzzzzzzzzzzzp
-Multa 302 zzzzzzzzzzzzzzzzzzzq
-Multa 303 zzzzzzzzzzzzzzzzzzzr
-Multa 304 Zzzzzzzzzzzzzzzzzzzs
-Multa 305 Zzzzzzzzzzzzzzzzzzza
-Multa 306 zzzzzzzzzzzzzzzzzzzb
-Multa 307 zzzzzzzzzzzzzzzzzzzc
-Multa 308 zzzzzzzzzzzzzzzzzzzd
-Multa 309 zzzzzzzzzzzzzzzzzzze
-Multa 310 zzzzzzzzzzzzzzzzzzzf
-Multa 311 zzzzzzzzzzzzzzzzzzzg
-Multa 312 zzzzzzzzzzzzzzzzzzzh
-Multa 313 zzzzzzzzzzzzzzzzzzzi
-Multa 314 zzzzzzzzzzzzzzzzzzzj
-Multa 315 zzzzzzzzzzzzzzzzzzzk
-Multa 316 zzzzzzzzzzzzzzzzzzzl
-Multa 317 zzzzzzzzzzzzzzzzzzzm
-Multa 318 zzzzzzzzzzzzzzzzzzzn
-Multa 319 zzzzzzzzzzzzzzzzzzzo
-Multa 320 zzzzzzzzzzzzzzzzzzzp
-Multa 321 zzzzzzzzzzzzzzzzzzzq
-Multa 322 zzzzzzzzzzzzzzzzzzzr
-Multa 323 Zzzzzzzzzzzzzzzzzzzs
-Multa 324 Zzzzzzzzzzzzzzzzzzza
-Multa 325 zzzzzzzzzzzzzzzzzzzb
-Multa 326 zzzzzzzzzzzzzzzzzzzc
-Multa 327 zzzzzzzzzzzzzzzzzzzd
-Multa 328 zzzzzzzzzzzzzzzzzzze
-Multa 329 zzzzzzzzzzzzzzzzzzzf
-Multa 330 zzzzzzzzzzzzzzzzzzzg
-Multa 331 zzzzzzzzzzzzzzzzzzzh
-Multa 332 zzzzzzzzzzzzzzzzzzzi
-Multa 333 zzzzzzzzzzzzzzzzzzzj
-Multa 334 zzzzzzzzzzzzzzzzzzzk
-Multa 335 zzzzzzzzzzzzzzzzzzzl
-Multa 336 zzzzzzzzzzzzzzzzzzzm
-Multa 337 zzzzzzzzzzzzzzzzzzzn
-Multa 338 zzzzzzzzzzzzzzzzzzzo
-Multa 339 zzzzzzzzzzzzzzzzzzzp
-Multa 340 zzzzzzzzzzzzzzzzzzzq
-Multa 341 zzzzzzzzzzzzzzzzzzzr
-Multa 342 Zzzzzzzzzzzzzzzzzzzs
-Multa 343 Zzzzzzzzzzzzzzzzzzza
-Multa 344 zzzzzzzzzzzzzzzzzzzb
-Multa 345 zzzzzzzzzzzzzzzzzzzc
-Multa 346 zzzzzzzzzzzzzzzzzzzd
-Multa 347 zzzzzzzzzzzzzzzzzzze
-Multa 348 zzzzzzzzzzzzzzzzzzzf
-Multa 349 zzzzzzzzzzzzzzzzzzzg
-Multa 350 zzzzzzzzzzzzzzzzzzzh
-Multa 351 zzzzzzzzzzzzzzzzzzzi
-Multa 352 zzzzzzzzzzzzzzzzzzzj
-Multa 353 zzzzzzzzzzzzzzzzzzzk
-Multa 354 zzzzzzzzzzzzzzzzzzzl
-Multa 355 zzzzzzzzzzzzzzzzzzzm
-Multa 356 zzzzzzzzzzzzzzzzzzzn
-Multa 357 zzzzzzzzzzzzzzzzzzzo
-Multa 358 zzzzzzzzzzzzzzzzzzzp
-Multa 359 zzzzzzzzzzzzzzzzzzzq
-Multa 360 zzzzzzzzzzzzzzzzzzzr
-Multa 361 Zzzzzzzzzzzzzzzzzzzs
-Multa 362 Zzzzzzzzzzzzzzzzzzza
-Multa 363 zzzzzzzzzzzzzzzzzzzb
-Multa 364 zzzzzzzzzzzzzzzzzzzc
-Multa 365 zzzzzzzzzzzzzzzzzzzd
-Multa 366 zzzzzzzzzzzzzzzzzzze
-Multa 367 zzzzzzzzzzzzzzzzzzzf
-Multa 368 zzzzzzzzzzzzzzzzzzzg
-Multa 369 zzzzzzzzzzzzzzzzzzzh
-Multa 370 zzzzzzzzzzzzzzzzzzzi
-Multa 371 zzzzzzzzzzzzzzzzzzzj
-Multa 372 zzzzzzzzzzzzzzzzzzzk
-Multa 373 zzzzzzzzzzzzzzzzzzzl
-Multa 374 zzzzzzzzzzzzzzzzzzzm
-Multa 375 zzzzzzzzzzzzzzzzzzzn
-Multa 376 zzzzzzzzzzzzzzzzzzzo
-Multa 377 zzzzzzzzzzzzzzzzzzzp
-Multa 378 zzzzzzzzzzzzzzzzzzzq
-Multa 379 zzzzzzzzzzzzzzzzzzzr
-Multa 380 Zzzzzzzzzzzzzzzzzzzs
-Multa 381 Zzzzzzzzzzzzzzzzzzza carteira suspensa
-Multa 382 zzzzzzzzzzzzzzzzzzzb carteira suspensa
-Multa 383 zzzzzzzzzzzzzzzzzzzc carteira suspensa
-Multa 384 zzzzzzzzzzzzzzzzzzzd carteira suspensa
-Multa 385 zzzzzzzzzzzzzzzzzzze carteira suspensa
-Multa 386 zzzzzzzzzzzzzzzzzzzf carteira suspensa
-Multa 387 zzzzzzzzzzzzzzzzzzzg carteira suspensa
-Multa 388 zzzzzzzzzzzzzzzzzzzh carteira suspensa
-Multa 389 zzzzzzzzzzzzzzzzzzzi carteira suspensa
-Multa 390 zzzzzzzzzzzzzzzzzzzj carteira suspensa
-Multa 391 zzzzzzzzzzzzzzzzzzzk carteira suspensa
-Multa 392 zzzzzzzzzzzzzzzzzzzl carteira suspensa
-Multa 393 zzzzzzzzzzzzzzzzzzzm carteira suspensa
-Multa 394 zzzzzzzzzzzzzzzzzzzn carteira suspensa
-Multa 395 zzzzzzzzzzzzzzzzzzzo carteira suspensa
-Multa 396 zzzzzzzzzzzzzzzzzzzp carteira suspensa
-Multa 397 zzzzzzzzzzzzzzzzzzzq carteira suspensa
-Multa 398 zzzzzzzzzzzzzzzzzzzr carteira suspensa
-Multa 399 Zzzzzzzzzzzzzzzzzzzs carteira suspensa
-
-Familia 5
-Multa 1 a
-Multa 2 b
-Multa 3 c
-Multa 4 d
-Multa 5 e
-Multa 6 e
-Multa 7 d
-Multa 8 e
-Multa 9 c
-Multa 10 d
-Multa 11 e
-Multa 12 b
-Multa 13 c
-Multa 14 d
-Multa 15 e
-Multa 16 a
-Multa 17 b
-Multa 18 c
-Multa 19 d
-Multa 20 e
-