libmdbx 0.10.4 (MDBX) āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§āϞāĻŋ āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻŦāĻ āϏāĻāĻļā§āϞāĻŋāώā§āĻ libfpta 0.3.9 (FPTA) āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āϏāĻžāĻĨā§ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āϝāĻž āϏā§āĻā§āύā§āĻĄāĻžāϰāĻŋ āĻāĻŦāĻ āĻāĻŽā§āĻĒā§āĻāĻŋāĻ āĻāύāĻĄā§āĻā§āϏā§āϰ āϏāĻžāĻĨā§ āĻĄā§āĻāĻžāϰ āĻāĻāĻāĻŋ āϏāĻžāϰāĻŖā§ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻž āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰ⧠MDBX āĻāϰ āĻāĻĒāϰā§āĨ¤ āĻāĻāϝāĻŧ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ OSI āĻ āύā§āĻŽā§āĻĻāĻŋāϤ āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āϏāĻŽāϏā§āϤ āĻŦāϰā§āϤāĻŽāĻžāύ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ āϏāĻŽāϰā§āĻĨāĻŋāϤ, āϏā§āĻāϏāĻžāĻĨā§ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻāϞāĻŦā§āϰāĻžāϏ 2000āĨ¤
āĻāϤāĻŋāĻšāĻžāϏāĻŋāĻāĻāĻžāĻŦā§, libmdbx āĻšāϞ LMDB DBMS-āĻāϰ āĻāĻāĻāĻŋ āĻāĻā§āϰ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāĻŦāĻ āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝāϤāĻž, āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϏā§āĻ āĻāĻŦāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻžāϰ āĻĻāĻŋāĻ āĻĨā§āĻā§ āĻāĻāĻŋāϰ āĻĒā§āϰā§āĻŦāĻĒā§āϰā§āώā§āϰ āĻĨā§āĻā§ āĻāĻā§āĻāϤāϰāĨ¤ LMDB āĻāϰ āϤā§āϞāύāĻžāϝāĻŧ, libmdbx āĻā§āĻĄā§āϰ āĻā§āĻŖāĻŽāĻžāύ, API āϏā§āĻĨāĻžāϝāĻŧāĻŋāϤā§āĻŦ, āĻĒāϰā§āĻā§āώāĻž āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻā§āĻā§āϰ āĻāĻĒāϰ āĻ āύā§āĻ āĻā§āϰ āĻĻā§āϝāĻŧāĨ¤ āĻāĻŋāĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰā§āϰ āĻā§āώāĻŽāϤāĻž āϏāĻš āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻžāĻ āĻžāĻŽā§āϰ āĻ āĻāĻŖā§āĻĄāϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻĒā§āϰāϝā§āĻā§āϤāĻŋ āĻ āύā§āϏāĻžāϰā§, libmdbx ACID, āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ, āĻāĻŦāĻ CPU āĻā§āϰ āĻā§āĻĄāĻŧā§ āϞāĻŋāύāĻŋāϝāĻŧāĻžāϰ āϏā§āĻā§āϞāĻŋāĻ āϏāĻš āύāύ-āĻŦā§āϞāĻāĻŋāĻ āϰāĻŋāĻĄ āĻ āĻĢāĻžāϰ āĻāϰā§āĨ¤ āĻ āĻā§-āĻāĻŽā§āĻĒā§āϝāĻžāĻā§āĻāĻŋāĻĢāĻŋāĻā§āĻļāύ, āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāĻžāϰ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž, āĻāĻŦāĻ āĻĒāϰāĻŋāϏā§āĻŽāĻž āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻ āύā§āĻŽāĻžāύ āϏāĻŽāϰā§āĻĨāĻŋāϤāĨ¤ 2016 āϏāĻžāϞ āĻĨā§āĻā§, āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋ āĻāϤāĻŋāĻŦāĻžāĻāĻ āĻĒā§āϰāϝā§āĻā§āϤāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻ āϰā§āĻĨāĻžāϝāĻŧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ 2017 āϏāĻžāϞ āĻĨā§āĻā§ āĻāϰ āĻĒāĻŖā§āϝāĻā§āϞāĻŋāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
libmdbx āĻāĻāĻāĻŋ C++ API, āϏā§āĻāϏāĻžāĻĨā§ āϰāĻžāϏā§āĻ, āĻšāĻžāϏāĻā§āϞ, āĻĒāĻžāĻāĻĨāύ, āύā§āĻĄāĻā§āĻāϏ, āϰā§āĻŦāĻŋ, āĻā§ āĻāĻŦāĻ āύāĻŋāĻŽā§āϰ āĻāύā§āϝ āĻāϤā§āϏāĻžāĻšā§-āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻāĻžāώāĻž āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ āĻ āĻĢāĻžāϰ āĻāϰā§āĨ¤ libfpta-āĻāϰ āĻāύā§āϝ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ API āĻŦāĻŋāĻŦāϰāĻŖ āĻāĻāĻāĻŋ C/C++ āĻšā§āĻĄāĻžāϰ āĻĢāĻžāĻāϞ āĻāĻāĻžāϰ⧠āϏāϰā§āĻŦāĻāύā§āύāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧāĨ¤
9 āĻŽā§ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻāĻŦāĻžāĻĻ āĻĨā§āĻā§ āĻĒā§āϰāϧāĻžāύ āĻāĻĻā§āĻāĻžāĻŦāύ, āĻāύā§āύāϤāĻŋ āĻāĻŦāĻ āϏāĻāĻļā§āϧāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§:
- āĻĒā§āϰāĻāύāύāϝā§āĻā§āϝ āĻŦāĻŋāϞā§āĻĄ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤
- āĻāĻāĻāĻŋ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝāĻžāϰ āĻāĻžāϰāĻŖā§, āĻā§āĻŦ āĻŦāĻŋāϰāϞ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤā§, āĻāĻāĻāĻŋ āϞā§āύāĻĻā§āύ āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻāĻŋ āϞā§āĻĒ/āĻĢā§āϰāĻŋāĻ āĻāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻĒāĻāĻŋāĻāĻŋāĻ āĻā§āĻāύā§āϞāĻāĻŋ āĻŦāĻŋāĻļā§āώāĻā§āĻāϰāĻž āϤāĻžāĻĻā§āϰ āύāĻŋāĻāϏā§āĻŦ āĻĒāĻŖā§āϝā§āϰ āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻĒāϰā§āĻā§āώāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§āĻāĻŋāϞā§āύāĨ¤
- āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āĻāĻŋāϤāϰ⧠āĻĒā§āώā§āĻ āĻž āĻā§āϰāĻŋ āĻāĻŦāĻ āĻāĻŋāϏāĻŋ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§āϰ āϏāĻŽāϏā§āϤ āĻĒā§āĻāĻāĻžāύ⧠āϝāĻžāϝāĻŧ āĻāĻŽāύ āĻ -āĻāĻāϏā§āĻŽāϰāĻĢāĻŋāĻ āĻ āĻŦāϏā§āĻĨāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒāϰā§āĻā§āώāĻžāĻā§āϞāĻŋ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāϰā§āĻā§āώāĻžāϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāĻā§āϞāĻŋāĻā§ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- C++ API-āĻ, āĻāĻāĻāĻŋ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ "noexcept" āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, "cursor::erase()" āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻāύā§āϝ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻāĻžāϰāϞā§āĻĄ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻŦāĻžāĻĢāĻžāϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύāĻā§ āϏāĻžāϰāĻŋāĻŦāĻĻā§āϧāĻāϰāĻŖ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠"std::string" āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻĨā§āĻā§ āϰā§āĻšāĻžāĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ (CLANG libstdc++ āĻāϰ āĻāύā§āϝ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻ)āĨ¤
- āύā§āĻāϰāĻž āĻĒā§āĻ āϏā§āĻĒāĻŋāϞāĻŋāĻ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽā§ āĻāĻāĻāĻŋ āϰāĻŋāĻā§āϰā§āĻļāύ (āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāϰ āύāĻŋāϰā§āĻŦāĻžāĻāύ⧠āĻāĻā§āĻāĻļāύ) āϝāĻž āĻŦāĻŋāĻļāĻžāϞ āϞā§āύāĻĻā§āύ⧠āĻĄā§āĻāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻāĻŋ āĻŦāĻŋāϰāϞ āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āϤā§āϰā§āĻāĻŋ MDBX_PROBLEM āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
- āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āĻāĻā§āĻāĻžāĻā§āϤ āĻā§āώāϤāĻŋāϰ āĻā§āώā§āϤā§āϰ⧠āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻā§āĻ āϝā§āĻā§āϤ āĻāϰ⧠āĻāĻāĻāĻŋ āĻĒāϰā§āϝāĻžāϝāĻŧāĻā§āϰāĻŽā§ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
- āĻ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āĻāĻāϰāĻŖ āϏā§āϝāĻžāύāĻŋāĻāĻžāĻāĻāĻžāϰ āĻāĻŦāĻ āĻāĻāĻžāϰāĻŋāĻāĻŋ āϏā§āĻā§āϝāĻžāύ āϏāĻāĻā§āϰāĻžāύā§āϤ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻĒā§āϰāĻžāύ⧠āϏāĻāϏā§āĻāϰāĻŖ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻŋāϤā§āϰāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āύā§āϏā§āĻā§āĻĄ āĻĒā§āώā§āĻ āĻžāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāĻžāύ⧠āĻāĻŦāĻ āĻāϰ āĻŦā§āϝāĻŦāĻšā§āϤ āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻĒāϤāĻžāĻāĻž "P_DIRTY" āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āϏā§āĻĨāĻŋāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ
- CMake āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻā§āϞāĻŋāϤā§, LTO (āϞāĻŋāĻā§āĻ-āĻāĻžāĻāĻŽ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāύ) āĻāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞāĻŋāϰ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻāĻāϝā§āĻā§ āĻĒāĻžāĻ āĻā§āϰ āϏāϰā§āĻŦā§āĻā§āĻ āϏāĻāĻā§āϝāĻž 32767 āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻāĻžāϞāĻā§āϰāĻŋāύā§āĻĄ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻĄā§āϰā§āϏ āϏā§āϝāĻžāύāĻŋāĻāĻžāĻāĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāύā§āύāϤ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻžāĨ¤
- āĻŽāϧā§āϝ⧠Windows ŅŅŅŅаĐŊĐĩĐŊĐž ŅĐĩĐēŅŅŅивĐŊĐžĐĩ иŅĐŋĐžĐģŅСОваĐŊиĐĩ SRW-lock ĐŋŅи ŅайОŅĐĩ в ŅĐĩĐļиĐŧĐĩ MDBX_NOTLS (ĐąĐĩС иŅĐŋĐžĐģŅСОваĐŊĐ¸Ņ thread local storage), иŅĐŋŅавĐģĐĩĐŊа ĐŗĐĩĐŊĐĩŅаŅĐ¸Ņ bootid в ŅĐģŅŅаĐĩ иСĐŧĐĩĐŊĐĩĐŊии ŅиŅŅĐĩĐŧĐŊĐžĐŗĐž вŅĐĩĐŧĐĩĐŊи, Đ´ĐžŅайОŅаĐŊĐž Đ´ĐĩŅĐĩĐēŅиŅОваĐŊиĐĩ WSL1 и WSL2, дОйавĐģĐĩĐŊа вОСĐŧĐžĐļĐŊĐžŅŅŅ ĐžŅĐēŅŅŅĐ¸Ņ ĐĐ ĐŊа Plan 9 ŅĐŧĐžĐŊŅиŅОваĐŊĐŊОК ĐŋĐžŅŅĐĩĐ´ŅŅвОĐŧ DrvFS.
- āĻŽā§āĻ, 160āĻāĻŋ āĻĢāĻžāĻāϞ⧠57āĻāĻŋāϰāĻ āĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, ~5000āĻāĻŋ āϞāĻžāĻāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, ~2500āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ
āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻāϰāĻŋāĻāύ āĻĒā§āϰāĻāϞā§āĻĒ āĻĻāϞāĻā§ āϧāύā§āϝāĻŦāĻžāĻĻ āĻāĻžāύāĻžāϤ⧠āĻāĻžāĻ (āĻāĻĨā§āϰāĻŋāϝāĻŧāĻžāĻŽ āĻāĻā§āϏāĻŋāϏā§āĻā§āĻŽ) āĻāϰāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āϤāĻžāĻĻā§āϰ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āĻāύā§āϝāĨ¤ āĻāĻāĻž āϤāĻžā§āĻĒāϰā§āϝāĻĒā§āϰā§āĻŖ āϝ⧠libmdbx v0.10.0 āĻĒā§āϰāĻāĻžāĻļā§āϰ āĻĒāϰ āĻĨā§āĻā§, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϰāĻŋāĻāύ āĻāύāϏā§āĻāϞā§āĻļāύ⧠1-2 TB āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāϞāĻŋāĻāĻŽ āϏāĻš (7% Ethereum āύā§āĻĄāĻā§āϞāĻŋāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ), āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĻā§āϰā§āύā§āϤāĻŋāϰ āĻŽāĻžāϤā§āϰ āϤāĻŋāύāĻāĻŋ āϰāĻŋāĻĒā§āϰā§āĻ āĻĒāĻžāĻāϝāĻŧāĻž āĻā§āĻā§, āϏāĻŽāϏā§āϤ āϝāĻž āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻāĻžāϰāĻŖā§ āĻāĻā§āĻā§, āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āϤā§āϰā§āĻāĻŋ āύāϝāĻŧ: āĻĻā§āĻāĻŋ āĻā§āώā§āϤā§āϰ⧠āĻāĻžāϰāĻŖāĻāĻŋ āĻāĻŋāϞ RAM āĻŦā§āϝāϰā§āĻĨāϤāĻž, āϤā§āϤā§āϝāĻŧāĻāĻŋāϤ⧠BTRFS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āĻā§āϰā§āĻ āϏāĻžāĻŦāϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠āĻĄā§āĻāĻž āĻĒā§āύāϰāĻžāϝāĻŧ āϏā§āĻ āĻāϰāĻžāϰ āϤā§āϰā§āĻāĻŋāĨ¤
āĻāϤā§āϏ: opennet.ru
