# SPDX-License-Identifier: CC0-1.0 language = 'Ruby' display = 'Ruby 3.4 (ruby 3.4.5)' license = [ { name = 'Ruby', url = 'https://www.ruby-lang.org/en/about/license.txt' }, # default gems { name = 'Ruby', url = 'https://rubygems.org/gems/abbrev' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/abbrev' }, { name = 'Ruby', url = 'https://rubygems.org/gems/base64' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/base64' }, { name = 'Ruby', url = 'https://rubygems.org/gems/benchmark' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/benchmark' }, { name = 'Ruby', url = 'https://rubygems.org/gems/bigdecimal' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/bigdecimal' }, { name = 'MIT', url = 'https://rubygems.org/gems/bundler' }, { name = 'Ruby', url = 'https://rubygems.org/gems/cgi' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/cgi' }, { name = 'Ruby', url = 'https://rubygems.org/gems/csv' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/csv' }, { name = 'Ruby', url = 'https://rubygems.org/gems/date' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/date' }, { name = 'Ruby', url = 'https://rubygems.org/gems/debug' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/debug' }, { name = 'Ruby', url = 'https://rubygems.org/gems/delegate' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/delegate' }, { name = 'MIT', url = 'https://rubygems.org/gems/did_you_mean' }, { name = 'Ruby', url = 'https://rubygems.org/gems/digest' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/digest' }, { name = 'Ruby', url = 'https://rubygems.org/gems/drb' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/drb' }, { name = 'Ruby', url = 'https://rubygems.org/gems/english' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/english' }, { name = 'Ruby', url = 'https://rubygems.org/gems/erb' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/erb' }, { name = 'MIT', url = 'https://rubygems.org/gems/error_highlight' }, { name = 'Ruby', url = 'https://rubygems.org/gems/etc' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/etc' }, { name = 'Ruby', url = 'https://rubygems.org/gems/fcntl' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/fcntl' }, { name = 'Ruby', url = 'https://rubygems.org/gems/fiddle' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/fiddle' }, { name = 'Ruby', url = 'https://rubygems.org/gems/fileutils' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/fileutils' }, { name = 'Ruby', url = 'https://rubygems.org/gems/find' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/find' }, { name = 'Ruby', url = 'https://rubygems.org/gems/forwardable' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/forwardable' }, { name = 'Ruby', url = 'https://rubygems.org/gems/getoptlong' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/getoptlong' }, { name = 'Ruby', url = 'https://rubygems.org/gems/io-console' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/io-console' }, { name = 'Ruby', url = 'https://rubygems.org/gems/io-nonblock' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/io-nonblock' }, { name = 'Ruby', url = 'https://rubygems.org/gems/io-wait' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/io-wait' }, { name = 'Ruby', url = 'https://rubygems.org/gems/ipaddr' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/ipaddr' }, { name = 'Ruby', url = 'https://rubygems.org/gems/irb' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/irb' }, { name = 'Ruby', url = 'https://rubygems.org/gems/json' }, { name = 'Ruby', url = 'https://rubygems.org/gems/logger' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/logger' }, { name = 'Ruby', url = 'https://rubygems.org/gems/matrix' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/matrix' }, { name = 'MIT', url = 'https://rubygems.org/gems/minitest' }, { name = 'Ruby', url = 'https://rubygems.org/gems/mutex_m' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/mutex_m' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-ftp' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-ftp' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-http' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-http' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-imap' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-imap' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-pop' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-pop' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-protocol' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-protocol' }, { name = 'Ruby', url = 'https://rubygems.org/gems/net-smtp' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/net-smtp' }, { name = 'Ruby', url = 'https://rubygems.org/gems/nkf' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/nkf' }, { name = 'Ruby', url = 'https://rubygems.org/gems/observer' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/observer' }, { name = 'Ruby', url = 'https://rubygems.org/gems/open-uri' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/open-uri' }, { name = 'Ruby', url = 'https://rubygems.org/gems/open3' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/open3' }, { name = 'Ruby', url = 'https://rubygems.org/gems/openssl' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/openssl' }, { name = 'Ruby', url = 'https://rubygems.org/gems/optparse' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/optparse' }, { name = 'Ruby', url = 'https://rubygems.org/gems/ostruct' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/ostruct' }, { name = 'Ruby', url = 'https://rubygems.org/gems/pathname' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/pathname' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/power_assert' }, { name = 'Ruby', url = 'https://rubygems.org/gems/power_assert' }, { name = 'Ruby', url = 'https://rubygems.org/gems/pp' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/pp' }, { name = 'Ruby', url = 'https://rubygems.org/gems/prettyprint' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/prettyprint' }, { name = 'Ruby', url = 'https://rubygems.org/gems/prime' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/prime' }, { name = 'MIT', url = 'https://rubygems.org/gems/prism' }, { name = 'Ruby', url = 'https://rubygems.org/gems/pstore' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/pstore' }, { name = 'MIT', url = 'https://rubygems.org/gems/psych' }, { name = 'Ruby', url = 'https://rubygems.org/gems/racc' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/racc' }, { name = 'MIT', url = 'https://rubygems.org/gems/rake' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/rbs' }, { name = 'Ruby', url = 'https://rubygems.org/gems/rbs' }, { name = 'Ruby', url = 'https://rubygems.org/gems/rdoc' }, { name = 'Ruby', url = 'https://rubygems.org/gems/readline' }, { name = 'Ruby', url = 'https://rubygems.org/gems/reline' }, { name = 'MIT', url = 'https://rubygems.org/gems/repl_type_completor' }, { name = 'Ruby', url = 'https://rubygems.org/gems/resolv' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/resolv' }, { name = 'Ruby', url = 'https://rubygems.org/gems/resolv-replace' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/resolv-replace' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/rexml' }, { name = 'Ruby', url = 'https://rubygems.org/gems/rinda' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/rinda' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/rss' }, { name = 'Ruby', url = 'https://rubygems.org/gems/ruby2_keywords' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/ruby2_keywords' }, { name = 'Ruby', url = 'https://rubygems.org/gems/securerandom' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/securerandom' }, { name = 'Ruby', url = 'https://rubygems.org/gems/set' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/set' }, { name = 'Ruby', url = 'https://rubygems.org/gems/shellwords' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/shellwords' }, { name = 'Ruby', url = 'https://rubygems.org/gems/singleton' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/singleton' }, { name = 'Ruby', url = 'https://rubygems.org/gems/stringio' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/stringio' }, { name = 'Ruby', url = 'https://rubygems.org/gems/strscan' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/strscan' }, { name = 'MIT', url = 'https://rubygems.org/gems/syntax_suggest' }, { name = 'Ruby', url = 'https://rubygems.org/gems/syslog' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/syslog' }, { name = 'Ruby', url = 'https://rubygems.org/gems/tempfile' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/tempfile' }, { name = 'Ruby', url = 'https://rubygems.org/gems/test-unit' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/test-unit' }, { name = 'PSF-2.0', url = 'https://rubygems.org/gems/test-unit' }, { name = 'Ruby', url = 'https://rubygems.org/gems/time' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/time' }, { name = 'Ruby', url = 'https://rubygems.org/gems/timeout' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/timeout' }, { name = 'Ruby', url = 'https://rubygems.org/gems/tmpdir' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/tmpdir' }, { name = 'Ruby', url = 'https://rubygems.org/gems/tsort' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/tsort' }, { name = 'MIT', url = 'https://rubygems.org/gems/typeprof' }, { name = 'Ruby', url = 'https://rubygems.org/gems/un' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/un' }, { name = 'Ruby', url = 'https://rubygems.org/gems/uri' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/uri' }, { name = 'Ruby', url = 'https://rubygems.org/gems/weakref' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/weakref' }, { name = 'Ruby', url = 'https://rubygems.org/gems/yaml' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/yaml' }, { name = 'Ruby', url = 'https://rubygems.org/gems/zlib' }, { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/zlib' }, ] library.ac-library-rb = { license = [ { name = 'CC0-1.0', url = 'https://rubygems.org/gems/ac-library-rb' }, ], version = '1.2.0' } library.backports = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/backports' }, ], indirect = true } library.bit_utils = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/bit_utils' }, ], version = '0.1.2' } library.bitarray = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/bitarray' }, ], version = '1.3.1' } library.concurrent-ruby = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/concurrent-ruby' }, ], indirect = true } library.fast_trie = { license = [ { name = 'MIT', url = 'https://github.com/tyler/trie/blob/master/LICENSE' }, ], version = '0.5.1' } library.faster_prime = { license = [ { name = 'MIT', url = 'https://github.com/mame/faster_prime' }, ], version = '1.0.2' } library.ffi = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/ffi' }, ], indirect = true } library.ffi-geos = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/ffi-geos' }, ], version = '2.5.0' } library.function_module = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/function_module' }, ], indirect = true } library.immutable-ruby = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/immutable-ruby' }, ], version = '0.2.0' } library.lbfgsb = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/lbfgsb' }, ], indirect = true } library.lightgbm = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/lightgbm' }, ], version = '0.4.3' } library.mmh3 = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/mmh3' }, ], indirect = true } library.numo-linalg = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/numo-linalg' }, ], version = '0.1.7' } library.numo-narray = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/numo-narray' }, ], version = '0.9.2.1' } library.numo-openblas = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/numo-openblas' }, ], version = '0.5.1' } library.or-tools = { license = [ { name = 'Apache-2.0', url = 'https://rubygems.org/gems/or-tools' }, ], version = '0.16.0' } library.pairing_heap = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/pairing_heap' }, ], indirect = true } library.polars-df = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/polars-df' }, ], version = '0.21.1' } library.rbtree = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/rbtree' }, ], version = '0.4.6' } library.rgl = { license = [ { name = 'Ruby', url = 'https://rubygems.org/gems/rgl' }, ], version = '0.6.6' } library.rice = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/rice' }, ], indirect = true } library.rumale = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale' }, ], version = '1.0.0' } library.rumale-clustering = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-clustering' }, ], indirect = true } library.rumale-core = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-core' }, ], indirect = true } library.rumale-decomposition = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-decomposition' }, ], indirect = true } library.rumale-ensemble = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-ensemble' }, ], indirect = true } library.rumale-evaluation_measure = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-evaluation_measure' }, ], indirect = true } library.rumale-feature_extraction = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-feature_extraction' }, ], indirect = true } library.rumale-kernel_approximation = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-kernel_approximation' }, ], indirect = true } library.rumale-kernel_machine = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-kernel_machine' }, ], indirect = true } library.rumale-linear_model = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-linear_model' }, ], indirect = true } library.rumale-manifold = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-manifold' }, ], indirect = true } library.rumale-metric_learning = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-metric_learning' }, ], indirect = true } library.rumale-model_selection = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-model_selection' }, ], indirect = true } library.rumale-naive_bayes = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-naive_bayes' }, ], indirect = true } library.rumale-nearest_neighbors = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-nearest_neighbors' }, ], indirect = true } library.rumale-neural_network = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-neural_network' }, ], indirect = true } library.rumale-pipeline = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-pipeline' }, ], indirect = true } library.rumale-preprocessing = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-preprocessing' }, ], indirect = true } library.rumale-tree = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/rumale-tree' }, ], indirect = true } library.sorted_containers = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/sorted_containers' }, ], version = '1.1.0' } library.sorted_set = { license = [ { name = 'BSD-2-Clause', url = 'https://rubygems.org/gems/sorted_set' }, ], version = '1.0.3' } library.stream = { license = [ { name = 'Ruby', url = 'https://rubygems.org/gems/stream' }, ], indirect = true } library.torch-rb = { license = [ { name = 'BSD-3-Clause', url = 'https://rubygems.org/gems/torch-rb' }, ], version = '0.21.0' } library.z3 = { license = [ { name = 'MIT', url = 'https://rubygems.org/gems/z3' }, ], version = '0.0.20230311' } filename = 'Main.rb' install = ''' sudo apt-get update sudo apt-get install -y autoconf bison patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev libz3-dev libgeos-dev libopenblas0 pushd /tmp AC_LIBTORCH_VERSION="2.8.0" wget -q -O libtorch.zip https://download.pytorch.org/libtorch/cpu/libtorch-shared-with-deps-"$AC_LIBTORCH_VERSION"%2Bcpu.zip unzip -q libtorch.zip pushd libtorch sudo cp -dR include /usr/local/ sudo cp -dR lib /usr/local/ echo /usr/local/lib/libtorch | sudo tee /etc/ld.so.conf.d/libtorch.conf echo "libtorch $AC_LIBTORCH_VERSION" >> $HOME/library_version popd curl -s https://api.github.com/repos/rbenv/ruby-build/releases/latest | grep -o 'https://[^"]*tarball[^"]*' | xargs curl -o ruby-build.tarball -L tar -xf ruby-build.tarball PREFIX=/usr/local sudo ./*ruby-build-*/install.sh ruby-build 3.4.5 $HOME/.rubies/ruby popd export PATH=$HOME/.rubies/ruby/bin:$PATH # list default gems for license information gem list -q --no-versions > /tmp/default-gems # install libraries export MAKEFLAGS="-j$(nproc)" gem install -N \ ac-library-rb:1.2.0 \ bit_utils:0.1.2 \ bitarray:1.3.1 \ fast_trie:0.5.1 \ faster_prime:1.0.2 \ ffi-geos:2.5.0 \ immutable-ruby:0.2.0 \ lightgbm:0.4.3 \ numo-linalg:0.1.7 \ numo-narray:0.9.2.1 \ numo-openblas:0.5.1 \ or-tools:0.16.0 \ polars-df:0.21.1 \ rbtree:0.4.6 \ rgl:0.6.6 \ rumale:1.0.0 \ sorted_containers:1.1.0 \ sorted_set:1.0.3 \ torch-rb:0.21.0 \ z3:0.0.20230311 \ ''' compile = ''' export PATH=$HOME/.rubies/ruby/bin:$PATH ruby -c Main.rb && touch syntax_ok && ruby --jit Main.rb ONLINE_JUDGE 2> /dev/null ''' object = 'syntax_ok' environment.RUBY_THREAD_VM_STACK_SIZE = "{memory:b}" environment.PATH = "/home/runner/.rubies/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" execution = [ 'ruby', '--jit', 'Main.rb', ]