Π‘Π»Π΅Π΄ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° ΠΏΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera (0.0.1), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠΈ, ΡΠΎΡΠΎΠ°ΠΏΠ°ΡΠ°ΡΠΈ ΠΈ TV ΡΡΠ½Π΅ΡΠΈ Π² Linux, Android ΠΈ ChromeOS, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° API V4L2 ΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ Π³ΠΎ Π·Π°ΠΌΠ΅ΡΡΠΈ. ΠΠΎΠ½Π΅ΠΆΠ΅ API Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΈ Π½Π΅ Π΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΄ΠΎΡΠ΅Π³Π° ΡΠ΅ Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π» Π±Π΅Π· ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π½ΡΠΆΠ΄Π°ΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈΡΠ΅ ΠΎΡ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² API, Π·Π°ΡΡΠ³Π°ΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ°, ΠΈ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π² ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ΅Π³Π° Π΅ Π²Π·Π΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΎΡΠΌΡΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΈ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ABI ΠΈ API. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ LGPLv2.1.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Π² ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ Ρ ΡΠ΅Π» Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ Π·Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Linux, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ. ΠΠ΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΡ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux API V4L2 Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΠΌΠΈΡΡΠ» Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈ ΡΠ΅Π± ΠΊΠ°ΠΌΠ΅ΡΠΈ ΠΈ Π΅ ΡΠ»Π°Π±ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ ΠΊΡΠΌ Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° MCU Π² ΡΡΡΠ΅ΡΠ΅ Π½Π° CPU.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠ°ΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ Π² ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ (MCU), Π²ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ½ΠΎΡΡΡΡΡ Π½Π° ΠΏΠ»Π΅ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ CPU ΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΈ Π‘ΠΠ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΠ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠ°ΠΌΠ΅Ρ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΡΡΠΊ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libcamera Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½Π°ΠΏΡΠ»Π½ΠΎ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ API V4L, Gstreamer ΠΈ Android Camera HAL. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΡΠ° ΠΎΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΠ΅Π· IPC. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½ΡΠΌΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΠ²Π°Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΡΡΠ΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ API, Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ, ΡΠΈΠ»ΡΡΠΈΡΠ°Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅Π° (ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π±Π°Π»Π°Π½ΡΠ° Π½Π° Π±ΡΠ»ΠΎΡΠΎ, ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΡΡΠΌ, ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎ, Π°Π²ΡΠΎΡΠΎΠΊΡΡ, ΠΈΠ·Π±ΠΎΡ Π½Π° Π΅ΠΊΡΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ Π΄Ρ.), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π²ΡΠ½ΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ. API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ
Π²Π°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠ°Π΄ΡΡ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ²Π΅ΡΠΊΠ°Π²ΠΈΡΠ°ΡΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ°ΠΌΠ΅ΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Ρ
Π²Π°ΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° ΠΎΡ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄ΠΈΠ½ Ρ Π½ΠΈΡΠΊΠ° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΠΈ Π΄ΡΡΠ³ Ρ Π²ΠΈΡΠΎΠΊΠ° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ Π·Π° Π°ΡΡ
ΠΈΠ²Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
