EncryptedPasswd
рдкреИрд░рд╛рдореАрдЯрд░
android.clients.google.com/auth
android.clients.google.com/auth
ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ POST рдХрд╛ рдЕрдиреБрд░реЛрдз рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ
EncryptedPasswd
рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЗрддрдиреА рджрд┐рд▓рдЪрд╕реНрдкреА рдХреНрдпреЛрдВ рдереАред рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, Google Apps рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЕрд╡рд░реЛрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ Google Play рдкрд░ Android рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд▓реЙрдЧрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдкреЛрд╕реНрдЯ / HTTP HTTP / 1.1 рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / x-www-form-urlencoded рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ: 404 рд╣реЛрд╕реНрдЯ: android.clients.google.com рдХрдиреЗрдХреНрд╢рди: рдХреАрдк-рдЕрд▓рд╛рдЗрд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ: GoogleLoginService / 1.3 (a10 JZO54K) ACCOUNTTYPE = HOSTED_OR_GOOGLE рдФрд░ рдИрдореЗрд▓ = testemail% 40gmail.com рдФрд░ has_permission = 1 & add_account = 1 & EncryptedPasswd = AFcb4KS9WAU3NI_-jdMDSueqT-oO1-WN2B9pxB-te_Elx3MElC9B2TgAaWqkY7kiQSnGFEwaY1KVkizxadGsRnFnHa7vlRCrB4Me1XnHBuOz9oi48eBcm0rC7r8QaC_GPp1YPI8OFa0fZU_dTJypganc2tREsgE-_TJQSKWkA7zSWnsq8g% 3 рдбреА% 3 рдбреА рдФрд░ рд╕реЗрд╡рд╛ = ac2dm рдФрд░ рд╕реНрд░реЛрдд = рдПрдВрдбреНрд░реЙрдпрдб рдФрд░ androidId = 378b05ab23e0e8e9 рдФрд░ device_country = ua рдФрд░ operatorCountry = ua & lang = hi & sdk_version = 16
рдпрд╣ рдЕрдиреБрд░реЛрдз рдЕрднреА рднреА рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ Google рдХреЗ рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрд░ рдПрдХ рд╣рдорд▓реЗ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдХрдореЛрдмреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп
EncryptedPasswd
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗред рдПрдиреНрд╣рд╛рдВрд╕реНрдб Google рдиреЗ рд╕рд┐рд░реНрдл
EncryptedPasswd
рджрд┐рдпрд╛ - рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ Google рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП Google рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдбред рдФрд░ рдпрд╣ рд╕рдм, рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИред рдЗрддрдирд╛ рдЕрд╕реНрдкрд╖реНрдЯ рдЬрд╡рд╛рдм, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ рдФрд░ рдореИрдВ
com.google.android.gsf.login
рдЕрдВрджрд░ рдЪрдврд╝ рдЧрдпрд╛ред
рдЕрдВрджрд░ рдореБрдЭреЗ рдХрдХреНрд╖рд╛
com.google.android.gsf.loginservice.PasswordEncrypter
рдЦреЛрдЬ рд╣реБрдИ - рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдХреА рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдиреЗ рдЙрд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рджрд┐рдЦрд╛рдпрд╛ ... рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рд╕рдореНрдорд╛рдирд┐рдд рдкрд╛рдардХ рдХреЛ рдбреЙрд▓рд╡рд┐рдХ рдмрд╛рдпреЛрдЯреЗрдХ рдХреЗ рдЯрди рдХреЗ рд╕рд╛рде рдмреЛрд░ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рдореИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░ рд░рд╣реЗ javnocode рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ (рдПрдирдХреЛрдбрд░ рдРрд╕рд╛ рд╣реИ):
// Google private static final String googleDefaultPublicKey = "AAAAgMom/1a/v0lblO2Ubrt60J2gcuXSljGFQXgcyZWveWLEwo6prwgi3iJIZdodyhKZQrNWp5nKJ3srRXcUW+F1BD3baEVGcmEgqaLZUNBjm057pKRI16kB0YppeGx5qIQ5QjKzsR8ETQbKLNWgRY0QRNVz34kMJR3P/LgHax/6rmf5AAAAAwEAAQ=="; // : // login - myemail@gmail.com // password - // : // base64 // ! , // login+password // 80 ( - // ) @SuppressWarnings("static-access") public static String encrypt(String login, String password) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, UnsupportedEncodingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { // Google login public base64 // PublicKey SHA-1 : // 1. Google login public base64 byte[] byte[] binaryKey = Base64.decode(googleDefaultPublicKey, 0); // 2. BigInteger int i = readInt(binaryKey, 0); byte [] half = new byte[i]; System.arraycopy(binaryKey, 4, half, 0, i); BigInteger firstKeyInteger = new BigInteger(1, half); // 3. BigInteger int j = readInt(binaryKey, i + 4); half = new byte[j]; System.arraycopy(binaryKey, i + 8, half, 0, j); BigInteger secondKeyInteger = new BigInteger(1, half); // 4. SHA-1 signature: // signature[0] = 0 ( !) // signature[1...4] = 4 SHA-1 byte[] sha1 = MessageDigest.getInstance("SHA-1").digest(binaryKey); byte[] signature = new byte[5]; signature[0] = 0; System.arraycopy(sha1, 0, signature, 1, 4); // 5. BigInteger' // PublicKey publicKey = KeyFactory.getInstance("RSA"). generatePublic(new RSAPublicKeySpec(firstKeyInteger, secondKeyInteger)); // : // 1. Cipher: Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA1ANDMGF1PADDING"); // 2. "\u0000" : String combined = login + "\u0000" + password; // 3. : byte[] plain = combined.getBytes("UTF-8"); // 4. cipher.init(cipher.PUBLIC_KEY, publicKey); byte[] encrypted = cipher.doFinal(plain); // 5. output 133 : // output[0] = 0 ( 0) // output[1...4] = 4 SHA-1 // output[5...132] = + ( "\u0000") byte[] output = new byte [133]; System.arraycopy(signature, 0, output, 0, signature.length); System.arraycopy(encrypted, 0, output, signature.length, encrypted.length); // ! output base64 :) return Base64.encodeToString(output, Base64.URL_SAFE + Base64.NO_WRAP); } // , 4 int private static int readInt(byte[] arrayOfByte, int start) { return 0x0 | (0xFF & arrayOfByte[start]) << 24 | (0xFF & arrayOfByte[(start + 1)]) << 16 | (0xFF & arrayOfByte[(start + 2)]) << 8 | 0xFF & arrayOfByte[(start + 3)]; }
/ 1 рдП / v0lblO2Ubrt60J2gcuXSljGFQXgcyZWveWLEwo6prwgi3iJIZdodyhKZQrNWp5nKJ3srRXcUW + F1BD3baEVGcmEgqaLZUNBjm057pKRI16kB0YppeGx5qIQ5QjKzsR8ETQbKLNWgRY0QRNVz34kMJR3P / LgHax / 6rmf5AAAAAwEAAQ =="; // Google private static final String googleDefaultPublicKey = "AAAAgMom/1a/v0lblO2Ubrt60J2gcuXSljGFQXgcyZWveWLEwo6prwgi3iJIZdodyhKZQrNWp5nKJ3srRXcUW+F1BD3baEVGcmEgqaLZUNBjm057pKRI16kB0YppeGx5qIQ5QjKzsR8ETQbKLNWgRY0QRNVz34kMJR3P/LgHax/6rmf5AAAAAwEAAQ=="; // : // login - myemail@gmail.com // password - // : // base64 // ! , // login+password // 80 ( - // ) @SuppressWarnings("static-access") public static String encrypt(String login, String password) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, UnsupportedEncodingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { // Google login public base64 // PublicKey SHA-1 : // 1. Google login public base64 byte[] byte[] binaryKey = Base64.decode(googleDefaultPublicKey, 0); // 2. BigInteger int i = readInt(binaryKey, 0); byte [] half = new byte[i]; System.arraycopy(binaryKey, 4, half, 0, i); BigInteger firstKeyInteger = new BigInteger(1, half); // 3. BigInteger int j = readInt(binaryKey, i + 4); half = new byte[j]; System.arraycopy(binaryKey, i + 8, half, 0, j); BigInteger secondKeyInteger = new BigInteger(1, half); // 4. SHA-1 signature: // signature[0] = 0 ( !) // signature[1...4] = 4 SHA-1 byte[] sha1 = MessageDigest.getInstance("SHA-1").digest(binaryKey); byte[] signature = new byte[5]; signature[0] = 0; System.arraycopy(sha1, 0, signature, 1, 4); // 5. BigInteger' // PublicKey publicKey = KeyFactory.getInstance("RSA"). generatePublic(new RSAPublicKeySpec(firstKeyInteger, secondKeyInteger)); // : // 1. Cipher: Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA1ANDMGF1PADDING"); // 2. "\u0000" : String combined = login + "\u0000" + password; // 3. : byte[] plain = combined.getBytes("UTF-8"); // 4. cipher.init(cipher.PUBLIC_KEY, publicKey); byte[] encrypted = cipher.doFinal(plain); // 5. output 133 : // output[0] = 0 ( 0) // output[1...4] = 4 SHA-1 // output[5...132] = + ( "\u0000") byte[] output = new byte [133]; System.arraycopy(signature, 0, output, 0, signature.length); System.arraycopy(encrypted, 0, output, signature.length, encrypted.length); // ! output base64 :) return Base64.encodeToString(output, Base64.URL_SAFE + Base64.NO_WRAP); } // , 4 int private static int readInt(byte[] arrayOfByte, int start) { return 0x0 | (0xFF & arrayOfByte[start]) << 24 | (0xFF & arrayOfByte[(start + 1)]) << 16 | (0xFF & arrayOfByte[(start + 2)]) << 8 | 0xFF & arrayOfByte[(start + 3)]; }
рдпрд╣ рдХреЛрдб рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
- рдкрд╛рд╕рд╡рд░реНрдб рдХреИрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рд╡рд┐рд╕реНрддреГрдд рд╡реНрдпрд╛рдЦреНрдпрд╛
- рдПрдХ рддреЗрдЬ, рд╕реБрдВрджрд░ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдЬреЛ рдПрдХ рд╕рдореНрдорд╛рдирд┐рдд рдкрд╛рдардХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рд▓рд┐рдЦреЗрдЧрд╛
рдпрд╣реА рд╕рдм рдореИрдВ
EncryptedPasswd
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИрдВ - рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред
рдЕрдм рдореЗрд░реЗ рд╕рдкрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХред рдореИрдВрдиреЗ рд╕реНрдЯрд╛рд▓рд┐рди рдХреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдкрдирд╛ рджреЗрдЦрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдЖрдорддреМрд░ рдкрд░ рдпреВрдПрд╕рдПрд╕рдЖрд░ рдХреЗ рд╕рдордп рд╕реЗ рдЕрднрд┐рдпрд╛рди рдХреЗ рдкреЛрд╕реНрдЯрд░ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдПрдХ рдмрдбрд╝реЗ, рдХрдареЛрд░ рдореЗрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрд▓реЗрдЯреЗрдб рдХрдорд░рд╛ рдЬрд┐рд╕ рдкрд░ рдХрд╛рдЧрдЬрд╛рдд рдФрд░ рдирдХреНрд╢реЗ рдмрд┐рдЫрд╛рдП рдЧрдП рдереЗред рдореЗрд░реЗ рд╕рдкрдиреЗ рдореЗрдВ, рдореЗрдЬ рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрдордбрд╝реЗ рдХреА рдПрдХ рдмрдбрд╝реА рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреА рдХреБрд░реНрд╕реА рдереА, рдЬрд┐рд╕рдореЗрдВ рдбреБрд╡рд░реЛрд╡ рдХреЛ рдПрдХ рдореЛрдЯреА рдЧрд╛рдВрда рдХреА рд░рд╕реНрд╕реА рд╕реЗ рдмрд╛рдВрдзрд╛ рдЧрдпрд╛ рдерд╛ред рд╡реАрдХреЗ рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдкрд░ рдорд╛рд░ рдпрд╛ рдЕрддреНрдпрд╛рдЪрд╛рд░ рдХреЗ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдереЗ, рд▓реЗрдХрд┐рди рд╡рд╣ рдЕрднреА рднреА рджрдпрдиреАрдп рджрд┐рдЦ рд░рд╣рд╛ рдерд╛ред рдбреНрдпреВрд░реЛрд╡ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдЯреЗрдмрд▓ рдкрд░, рдХрд╛рдЧрдЬ рдФрд░ рдХрд╛рд░реНрдб рдХреЗ рдКрдкрд░, рдЪреЙрдХрд▓реЗрдЯ рдЪрд┐рдк рдХреБрдХреАрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдлреЗрдж рддрд╢реНрддрд░реА рдереА, рдФрд░ рдореЗрдЬ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдереЛрдбрд╝рд╛ рд╕реНрдЯрд╛рд▓рд┐рди рдЦреБрдж рдПрдХ рдЕрдВрдЧрд░рдЦрд╛ рдореЗрдВ рдЦрдбрд╝рд╛ рдерд╛, рдПрдХ рдкрд╛рдЗрдк рдзреВрдореНрд░рдкрд╛рди рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрд╕рдХреА рдореВрдВрдЫреЛрдВ рдкрд░ рдореБрд╕реНрдХреБрд░рд╛ рд░рд╣рд╛ рдерд╛ред рдЕрдкрдиреЗ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рдореЗрдВ, рд╕реНрдЯрд╛рд▓рд┐рди рдиреЗ рд╕рднреА рд╕рдорд╛рди рдХреБрдХреАрдЬрд╝ рд░рдЦреЗ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдбреНрдпреВрд░реЛрд╡ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ред рдбреБрдУрд░реЛрд╡ рдХреЗ рдХрдмреАрд▓реЗ рдореЗрдВ рдПрдХ рдХреБрдХреА рднрд░ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдиреЗрддрд╛ рдиреЗ рдЕрдЧрд▓реЗ рдХреЛ рддрд╢реНрддрд░реА рд╕реЗ рдирд┐рдХрд╛рд▓ рд▓рд┐рдпрд╛ - рдФрд░ рд╢реБрд░реБрдЖрдд рд╕реЗ "рдЦрд┐рд▓рд╛рдиреЗ" рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред рдбреНрдпреВрд░реЛрд╡, crumbs рдХреЗ рд╕рд╛рде рдХрд╡рд░, рдЪрдмрд╛рдпрд╛ рдХреБрдХреАрдЬрд╝, doomedly рдЙрд╕рдХреА рд▓рд╛рд▓ рдкрд╛рдиреА рдЖрдБрдЦреЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдФрд░ рдХрднреА рдХрднреА рдЕрд╕рд╣рд╛рдп рд░реВрдк рд╕реЗред рдпрд╣ рджреГрд╢реНрдп рдФрд░ рднреА рдЕрдЬреАрдм рдФрд░ рднрдпрд╛рд╡рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдЯрд╛рд▓рд┐рди рдХреЗ рдкрд╛рдЗрдк рд╕реЗ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдзреБрдЖрдВ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдмреЗрд╕ 64 рдореЗрдВ Google рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдмрд╣реБрдд рд╣реА рд╣реИ:
AAAAgMom / 1 рдП / v0lblO2Ubrt60J2gcuXSljGFQXgcyZWveWLEwo6prwgi3iJIZdodyhKZQrNWp5nKJ3srRXcUW + F1BD3baEVGcmEgqaLZUNBjm057pKRI16kB0YppeGx5qIQ5QjKzsR8ETQbKLNWgRY0QRNVz34kMJR3P / LgHax / 6rmf5AAAAAwEAAQ ==
рдЗрд╕ рд╕рдкрдиреЗ рдиреЗ рдореБрдЭреЗ рдЧрдВрднреАрд░ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЖрдШрд╛рдд рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рджрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдмрд░ рдХреЗ рд░рд╣рд╕реНрдпрд╡рд╛рдж рдФрд░ рдордиреЛрд╡рд┐рдЬреНрдЮрд╛рди рдХрд╛ рд╕рдкреНрддрд╛рд╣ред