Kahip: рдореИрдХ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдлрд╝рд░ре░ 2017  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: KaHIP/KaHIP

рдирдорд╕реНрддреЗ, рдореИрдВ рдореИрдХ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдХреЗрдПрдЪрдЖрдИрдкреА рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрд┐рд▓реНрдб рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

brew install scons
brew install argtable
brew install open-mpi
[check out KaHIP using GitHub desktop]
./compile.sh

рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
clang: error: unknown argument: '-fno-stack-limit'
рддрдерд╛
error: unsupported option '-fopenmp'

рдореИрдВрдиреЗ alias g++='gcc-6' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред

рдЕрдЧрд░ рдореИрдВ g++ -v рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:

Using built-in specs.
COLLECT_GCC=gcc-6
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/6.3.0_1/libexec/gcc/x86_64-apple-darwin15.6.0/6.3.0/lto-wrapper
Target: x86_64-apple-darwin15.6.0
Configured with: ../configure --build=x86_64-apple-darwin15.6.0 --prefix=/usr/local/Cellar/gcc/6.3.0_1 --libdir=/usr/local/Cellar/gcc/6.3.0_1/lib/gcc/6 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-6 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew GCC 6.3.0_1' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --enable-plugin --disable-nls --enable-multilib
Thread model: posix
gcc version 6.3.0 (Homebrew GCC 6.3.0_1) 

рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА!
рдзрдиреНрдпрд╡рд╛рдж

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж рдИрд╕рд╛рдИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдХреЗ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ:

brew reinstall gcc --without-multilib (рдПрдирдмреА: рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 2 рдШрдВрдЯреЗ рд▓рдЧреЗ)

(рдпрд╣ рдЬреАрд╕реАрд╕реА рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреАрд╕реАрд╕реА -6 рд╣реИ)

if SYSTEM == 'Darwin': рдмреНрд▓реЙрдХ (рд▓рдЧрднрдЧ 93 рдкрдВрдХреНрддрд┐) рдореЗрдВ Sconstruct рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ:

        env['CC'] = 'gcc-6'
        env['CXX'] = 'g++-6'

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА рдХреНрд▓реИрдВрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рддреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬреАрд╕реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдХреНрд▓реИрдВрдЧ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк -рдлрдиреЛ-рд╕реНрдЯреИрдХ-рд▓рд┐рдорд┐рдЯ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓реИрдВрдЧ рдУрдкрдирдПрдордкреА рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред

рд╢реНрд░реЗрд╖реНрда,
рдИрд╕рд╛рдИ

рдзрдиреНрдпрд╡рд╛рдж рдИрд╕рд╛рдИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдХреЗ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ:

brew reinstall gcc --without-multilib (рдПрдирдмреА: рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 2 рдШрдВрдЯреЗ рд▓рдЧреЗ)

(рдпрд╣ рдЬреАрд╕реАрд╕реА рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреАрд╕реАрд╕реА -6 рд╣реИ)

if SYSTEM == 'Darwin': рдмреНрд▓реЙрдХ (рд▓рдЧрднрдЧ 93 рдкрдВрдХреНрддрд┐) рдореЗрдВ Sconstruct рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ:

        env['CC'] = 'gcc-6'
        env['CXX'] = 'g++-6'

рдзрдиреНрдпрд╡рд╛рдж рдкреАрдЯрд░!

рдирдорд╕реНрддреЗ,

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рд╕реНрддреГрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЙрдирдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реНрдерд╛рдкрдирд╛ рдЕрдВрдд рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЬрд╛рд░реА рд╣реИред рдореБрдЭреЗ рд╕реА ++ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрдо рдЕрдиреБрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рд╕рдордореВрд▓реНрдп рдкрд░ рдХрд┐рд╕реА рднреА рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЕрднреА рднреА рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ (рддрдм рддрдХ рдЬреА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ) рднрд▓реЗ рд╣реА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдореБрдЦреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдХреИрдирд╕реНрдЯреНрд░рдХреНрдЪрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред

@peterwake рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореИрдХрдмреБрдХ рдкрд░ рдЖрдкрдХреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдореИрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╢рд╛рдЦрд╛ рдХреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред

рдореЗрд░реЗ рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдорд╛рди рдпрд╣ рд╣реИ рдХрд┐ mpicxx (#6 рджреЗрдЦреЗрдВ) рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА mpicxx --showme рд░рд┐рдЯрд░реНрди g++ -I/usr/local/include -L/usr/local/lib -lmpi ред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

[тАж]
scons: done building targets.
scons: Reading SConscript files ...
Checking for C++ header file mpi.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: optimized
mpicxx -o optimized/app/kaffpaE.o -c -fopenmp -DNDEBUG -Wall -funroll-loops -fno-stack-limit -O3 -std=c++0x -DMODE_KAFFPAE -O3 -DNDEBUG -funroll-loops -std=c++0x -DMODE_KAFFPAE -DPOINTER64=1 -Iextern/argtable-2.10/include -Ioptimized/extern/argtable-2.10/include -Iextern/argtable-2.10/include -Ioptimized/lib -Ilib -Ioptimized/lib/tools -Ilib/tools -Ioptimized/lib/partition -Ilib/partition -Ioptimized/lib/io -Ilib/io -Ioptimized/lib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib -Ilib/tools -Ilib/partition -Ilib/io -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -I/usr/include/openmpi -I/opt/local/include -Iinclude app/kaffpaE.cpp
mpicxx -o optimized/lib/data_structure/graph_hierarchy.o -c -fopenmp -DNDEBUG -Wall -funroll-loops -fno-stack-limit -O3 -std=c++0x -DMODE_KAFFPAE -O3 -DNDEBUG -funroll-loops -std=c++0x -DMODE_KAFFPAE -DPOINTER64=1 -Iextern/argtable-2.10/include -Ioptimized/extern/argtable-2.10/include -Iextern/argtable-2.10/include -Ioptimized/lib -Ilib -Ioptimized/lib/tools -Ilib/tools -Ioptimized/lib/partition -Ilib/partition -Ioptimized/lib/io -Ilib/io -Ioptimized/lib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib -Ilib/tools -Ilib/partition -Ilib/io -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -I/usr/include/openmpi -I/opt/local/include -Iinclude lib/data_structure/graph_hierarchy.cpp
mpicxx -o optimized/lib/algorithms/strongly_connected_components.o -c -fopenmp -DNDEBUG -Wall -funroll-loops -fno-stack-limit -O3 -std=c++0x -DMODE_KAFFPAE -O3 -DNDEBUG -funroll-loops -std=c++0x -DMODE_KAFFPAE -DPOINTER64=1 -Iextern/argtable-2.10/include -Ioptimized/extern/argtable-2.10/include -Iextern/argtable-2.10/include -Ioptimized/lib -Ilib -Ioptimized/lib/tools -Ilib/tools -Ioptimized/lib/partition -Ilib/partition -Ioptimized/lib/io -Ilib/io -Ioptimized/lib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib -Ilib/tools -Ilib/partition -Ilib/io -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -I/usr/include/openmpi -I/opt/local/include -Iinclude lib/algorithms/strongly_connected_components.cpp
clang: error: unknown argument: '-fno-stack-limit'
clang: error: unknown argument: '-fno-stack-limit'
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
mpicxx -o optimized/lib/algorithms/topological_sort.o -c -fopenmp -DNDEBUG -Wall -funroll-loops -fno-stack-limit -O3 -std=c++0x -DMODE_KAFFPAE -O3 -DNDEBUG -funroll-loops -std=c++0x -DMODE_KAFFPAE -DPOINTER64=1 -Iextern/argtable-2.10/include -Ioptimized/extern/argtable-2.10/include -Iextern/argtable-2.10/include -Ioptimized/lib -Ilib -Ioptimized/lib/tools -Ilib/tools -Ioptimized/lib/partition -Ilib/partition -Ioptimized/lib/io -Ilib/io -Ioptimized/lib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -Ilib -Ilib/tools -Ilib/partition -Ilib/io -Ilib/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement -I/usr/include/openmpi -I/opt/local/include -Iinclude lib/algorithms/topological_sort.cpp
scons: *** [optimized/lib/data_structure/graph_hierarchy.o] Error 1
scons: *** [optimized/app/kaffpaE.o] Error 1
clang: error: unknown argument: '-fno-stack-limit'
clang: error: unsupported option '-fopenmp'
scons: *** [optimized/lib/algorithms/strongly_connected_components.o] Error 1
clang: error: unknown argument: '-fno-stack-limit'
clang: error: unsupported option '-fopenmp'
scons: *** [optimized/lib/algorithms/topological_sort.o] Error 1
scons: building terminated because of errors.
compile error in kaffpaE. exiting.

рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░/рдпрд╛ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рд╕рд╛рджрд░,
рдпрд╛рдирд┐

рдореИрдВрдиреЗ рдЕрдм рдХреНрд▓реИрдВрдЧ рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдмрдЪреА рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрд▓реИрдВрдЧ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдУрдкрдирдПрдордкреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

@YaniKolev рдореБрдЭреЗ рдЕрдВрдд рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛, рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рдмреИрд╢ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджреЗрдЦ рд░рд╣реА рд╣реИ рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЕрдкрдиреЗ рдЙрддреНрд╕рд╛рд╣ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ.. рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _use_ kaffpae рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛! рдмреИрд╢ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрджрд┐ рдЖрдк рдЬреАрд╕реАрд╕реА рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬрд╛рд░реА рд░рдЦ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

mpicxx -v

(рдХрд╣реАрдВ рднреА рдмрдЬрдирд╛ рдХрд╣рддреЗ рд╣реИрдВ)

export OMPI_CC=gcc-6
export OMPI_CXX=g++-6
mpicxx -v

(рдХреНрдпрд╛ рдЕрдм рдпрд╣ рдХрд╣реАрдВ рднреА рдХреНрд▓реИрдВрдЧ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ, рдФрд░ рдЬреА ++ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ)

@peterwake @schulzchristian

рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдПрдХ рдкреАрдЯрд░ рдХреА рд╕рд▓рд╛рд╣ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдХ рдУрдПрд╕ рдЕрдкрдбреЗрдЯ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЗрд╕реЗ рдХреНрд▓реИрдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ (рднрд▓реЗ рд╣реА рдореЗрд░рд╛ рдХреНрд▓реИрдВрдЧ 4.0.0 рдУрдкрдирдПрдордкреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕