Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- function CLoginPromptManager( strBaseURL, rgOptions )
- {
- // normalize with trailing slash
- this.m_strBaseURL = strBaseURL + ( strBaseURL.substr(-1) == '/' ? '' : '/' ) + ( this.m_bIsMobile ? 'mobilelogin' : 'login' ) + '/';
- // read options
- rgOptions = rgOptions || {};
- this.m_bIsMobile = rgOptions.bIsMobile || false;
- this.m_strMobileClientType = rgOptions.strMobileClientType || '';
- this.m_strMobileClientVersion = rgOptions.strMobileClientVersion || '';
- this.m_bIsMobileSteamClient = ( this.m_strMobileClientType ? true : false );
- this.m_$LogonForm = $JFromIDOrElement( rgOptions.elLogonForm || document.forms['logon'] );
- this.m_fnOnFailure = rgOptions.fnOnFailure || null;
- this.m_fnOnSuccess = rgOptions.fnOnSuccess || null;
- this.m_strRedirectURL = rgOptions.strRedirectURL || (this.m_bIsMobile ? '' : strBaseURL);
- this.m_strSessionID = rgOptions.strSessionID || null;
- this.m_strUsernameEntered = null;
- this.m_strUsernameCanonical = null;
- if ( rgOptions.gidCaptcha )
- this.UpdateCaptcha( rgOptions.gidCaptcha );
- else
- this.RefreshCaptcha(); // check if needed
- this.m_bLoginInFlight = false;
- this.m_bInEmailAuthProcess = false;
- this.m_bInTwoFactorAuthProcess = false;
- this.m_TwoFactorModal = null;
- this.m_bEmailAuthSuccessful = false;
- this.m_bLoginTransferInProgress = false;
- this.m_bEmailAuthSuccessfulWantToLeave = false;
- this.m_bTwoFactorAuthSuccessful = false;
- this.m_bTwoFactorAuthSuccessfulWantToLeave = false;
- this.m_sOAuthRedirectURI = 'steammobile://mobileloginsucceeded';
- this.m_sAuthCode = "";
- this.m_sPhoneNumberLastDigits = "??";
- this.m_bTwoFactorReset = false;
- // values we collect from the user
- this.m_steamidEmailAuth = '';
- // record keeping
- this.m_iIncorrectLoginFailures = 0; // mobile reveals password after a couple failures
- var _this = this;
- this.m_$LogonForm.submit( function(e) {
- _this.DoLogin();
- e.preventDefault();
- });
- // find buttons and make them clickable
- $J('#login_btn_signin' ).children('a, button' ).click( function() { _this.DoLogin(); } );
- this.InitModalContent();
- // these modals need to be in the body because we refer to elements by name before they are ready
- this.m_$ModalAuthCode = this.GetModalContent( 'loginAuthCodeModal' );
- this.m_$ModalAuthCode.find('[data-modalstate]' ).each( function() {
- $J(this).click( function() { _this.SetEmailAuthModalState( $J(this).data('modalstate') ); } );
- });
- this.m_$ModalAuthCode.find('form').submit( function(e) {
- _this.SetEmailAuthModalState('submit');
- e.preventDefault();
- });
- this.m_EmailAuthModal = null;
- this.m_$ModalIPT = this.GetModalContent( 'loginIPTModal' );
- this.m_$ModalTwoFactor = this.GetModalContent( 'loginTwoFactorCodeModal' );
- this.m_$ModalTwoFactor.find( '[data-modalstate]' ).each( function() {
- $J(this).click( function() { _this.SetTwoFactorAuthModalState( $J(this).data('modalstate') ); } );
- });
- this.m_$ModalTwoFactor.find( 'form' ).submit( function(e) {
- // Prevent submit if nothing was entered
- if ( $J('#twofactorcode_entry').val() != '' )
- {
- // Push the left button
- var $btnLeft = _this.m_$ModalTwoFactor.find( '.auth_buttonset:visible .auth_button.leftbtn ' );
- $btnLeft.trigger( 'click' );
- }
- e.preventDefault();
- });
- // register to listen to IOS two factor callback
- $J(document).on('SteamMobile_ReceiveAuthCode', function( e, authcode ) {
- _this.m_sAuthCode = authcode;
- });
- $J('#captchaRefreshLink' ).click( $J.proxy( this.RefreshCaptcha, this ) );
- // include some additional scripts we may need
- if ( typeof BigNumber == 'undefined' )
- $J.ajax( { url: 'https://steamcommunity-a.akamaihd.net/public/shared/javascript/crypto/jsbn.js', type: 'get', dataType: 'script', cache: true } );
- if ( typeof RSA == 'undefined' )
- $J.ajax( { url: 'https://steamcommunity-a.akamaihd.net/public/shared/javascript/crypto/rsa.js', type: 'get', dataType: 'script', cache: true } );
- }
- CLoginPromptManager.prototype.BIsIos = function() { return this.m_strMobileClientType == 'ios'; };
- CLoginPromptManager.prototype.BIsAndroid = function() { return this.m_strMobileClientType == 'android'; };
- CLoginPromptManager.prototype.BIsWinRT = function() { return this.m_strMobileClientType == 'winrt'; };
- CLoginPromptManager.prototype.BIsUserInMobileClientVersionOrNewer = function( nMinMajor, nMinMinor, nMinPatch ) {
- if ( (!this.BIsIos() && !this.BIsAndroid() && !this.BIsWinRT() ) || this.m_strMobileClientVersion == '' )
- return false;
- var version = this.m_strMobileClientVersion.match( /(?:(\d+) )?\(?(\d+)\.(\d+)(?:\.(\d+))?\)?/ );
- if ( version && version.length >= 3 )
- {
- var nMajor = parseInt( version[2] );
- var nMinor = parseInt( version[3] );
- var nPatch = parseInt( version[4] );
- return nMajor > nMinMajor || ( nMajor == nMinMajor && ( nMinor > nMinMinor || ( nMinor == nMinMinor && nPatch >= nMinPatch ) ) );
- }
- };
- CLoginPromptManager.prototype.GetParameters = function( rgParams )
- {
- var rgDefaultParams = { 'donotcache': new Date().getTime() };
- if ( this.m_strSessionID )
- rgDefaultParams['sessionid'] = this.m_strSessionID;
- return $J.extend( rgDefaultParams, rgParams );
- };
- CLoginPromptManager.prototype.$LogonFormElement = function( strElementName )
- {
- var $Form = this.m_$LogonForm;
- var elInput = this.m_$LogonForm[0].elements[ strElementName ];
- if ( !elInput )
- {
- var $Input = $J('<input/>', {type: 'hidden', name: strElementName } );
- $Form.append( $Input );
- return $Input;
- }
- else
- {
- return $J( elInput );
- }
- };
- CLoginPromptManager.prototype.HighlightFailure = function( msg )
- {
- if ( this.m_fnOnFailure )
- {
- this.m_fnOnFailure( msg );
- // always blur on mobile so the error can be seen
- if ( this.m_bIsMobile && msg )
- $J('input:focus').blur();
- }
- else
- {
- var $ErrorElement = $J('#error_display');
- if ( msg )
- {
- $ErrorElement.text( msg );
- $ErrorElement.slideDown();
- if ( this.m_bIsMobile )
- $J('input:focus').blur();
- }
- else
- {
- $ErrorElement.hide();
- }
- }
- };
- //Refresh the catpcha image
- CLoginPromptManager.prototype.RefreshCaptcha = function()
- {
- var _this = this;
- $J.post( this.m_strBaseURL + 'refreshcaptcha/', this.GetParameters( {} ) )
- .done( function( data ) {
- _this.UpdateCaptcha( data.gid );
- });
- };
- CLoginPromptManager.prototype.UpdateCaptcha = function( gid )
- {
- if ( gid != -1 )
- {
- $J('#captcha_entry').show();
- $J('#captchaImg').attr( 'src', this.m_strBaseURL + 'rendercaptcha/?gid='+gid );
- this.$LogonFormElement('captcha_text').val('');
- }
- else
- {
- $J('#captcha_entry' ).hide();
- }
- this.m_gidCaptcha = gid;
- };
- CLoginPromptManager.prototype.DoLogin = function()
- {
- var form = this.m_$LogonForm[0];
- var username = form.elements['username'].value;
- this.m_strUsernameEntered = username;
- username = username.replace( /[^\x00-\x7F]/g, '' ); // remove non-standard-ASCII characters
- this.m_strUsernameCanonical = username;
- var password = form.elements['password'].value;
- password = password.replace( /[^\x00-\x7F]/g, '' ); // remove non-standard-ASCII characters
- if ( this.m_bLoginInFlight || password.length == 0 || username.length == 0 )
- return;
- this.m_bLoginInFlight = true;
- $J('#login_btn_signin').hide();
- $J('#login_btn_wait').show();
- // reset some state
- this.HighlightFailure( '' );
- var _this = this;
- $J.post( this.m_strBaseURL + 'getrsakey/', this.GetParameters( { username: username } ) )
- .done( $J.proxy( this.OnRSAKeyResponse, this ) )
- .fail( function () {
- ShowAlertDialog( 'Ошибка', 'При подключении к серверам Steam возникла проблема. Повторите попытку позже.' );
- $J('#login_btn_signin').show();
- $J('#login_btn_wait').hide();
- _this.m_bLoginInFlight = false;
- });
- };
- // used to get mobile client to execute a steammobile URL
- CLoginPromptManager.prototype.RunLocalURL = function(url)
- {
- var $IFrame = $J('<iframe/>', {src: url} );
- $J(document.body).append( $IFrame );
- // take it back out immediately
- $IFrame.remove();
- };
- var g_interval = null;
- // read results from Android or WinRT clients
- CLoginPromptManager.prototype.GetValueFromLocalURL = function( url, callback )
- {
- window.g_status = null;
- window.g_data = null;
- this.RunLocalURL( url );
- var timeoutTime = Date.now() + 1000 * 5;
- if ( g_interval != null )
- {
- window.clearInterval( g_interval );
- g_interval = null;
- }
- // poll regularly (but gently) for an update.
- g_interval = window.setInterval( function() {
- var status = window.SGHandler.getResultStatus();
- if ( status && status != 'busy' )
- {
- if ( g_interval )
- window.clearInterval( g_interval );
- var value = window.SGHandler.getResultValue();
- callback( [ status, value ] );
- return;
- }
- if ( Date.now() > timeoutTime )
- {
- if ( g_interval )
- window.clearInterval( g_interval );
- callback( ['error', 'timeout'] );
- return;
- }
- }, 100);
- };
- // this function is invoked by iOS after the steammobile:// url is triggered by GetAuthCode.
- // we post an event to the dom to let any login handlers deal with it.
- function receiveAuthCode( code )
- {
- $J(document).trigger( 'SteamMobile_ReceiveAuthCode', [ code ] );
- };
- CLoginPromptManager.prototype.GetAuthCode = function( results, callback )
- {
- if ( this.m_bIsMobile )
- {
- // honor manual entry before anything else
- var code = $J('#twofactorcode_entry').val();
- if ( code.length > 0 )
- {
- callback( results, code );
- return;
- }
- if ( this.BIsIos() )
- {
- this.m_sAuthCode = '';
- this.RunLocalURL( "steammobile://twofactorcode?gid=" + results.token_gid );
- // this is expected to trigger receiveAuthCode and we'll have this value set by the time it's done
- if ( this.m_sAuthCode.length > 0 )
- {
- callback( results, this.m_sAuthCode );
- return;
- }
- }
- else if ( this.BIsAndroid() || this.BIsWinRT() )
- {
- var result = this.GetValueFromLocalURL('steammobile://twofactorcode?gid=' + results.token_gid, function(result) {
- if ( result[0] == 'ok' )
- {
- callback(results, result[1]);
- } else {
- // this may be in the modal
- callback(results, $J('#twofactorcode_entry').val());
- }
- });
- return;
- }
- // this may be in the modal
- callback(results, $J('#twofactorcode_entry').val());
- }
- else
- {
- var authCode = this.m_sAuthCode;
- this.m_sAuthCode = '';
- callback( results, authCode );
- }
- };
- CLoginPromptManager.prototype.OnRSAKeyResponse = function( results )
- {
- if ( results.publickey_mod && results.publickey_exp && results.timestamp )
- {
- this.GetAuthCode( results , $J.proxy(this.OnAuthCodeResponse, this) );
- }
- else
- {
- if ( results.message )
- {
- this.HighlightFailure( results.message );
- }
- $J('#login_btn_signin').show();
- $J('#login_btn_wait').hide();
- this.m_bLoginInFlight = false;
- }
- };
- CLoginPromptManager.prototype.OnAuthCodeResponse = function( results, authCode )
- {
- var form = this.m_$LogonForm[0];
- var pubKey = RSA.getPublicKey(results.publickey_mod, results.publickey_exp);
- var username = this.m_strUsernameCanonical;
- var password = form.elements['password'].value;
- password = password.replace(/[^\x00-\x7F]/g, ''); // remove non-standard-ASCII characters
- var encryptedPassword = RSA.encrypt(password, pubKey);
- var rgParameters = {
- password: encryptedPassword,
- username: username,
- twofactorcode: authCode,
- emailauth: form.elements['emailauth'] ? form.elements['emailauth'].value : '',
- loginfriendlyname: form.elements['loginfriendlyname'] ? form.elements['loginfriendlyname'].value : '',
- captchagid: this.m_gidCaptcha,
- captcha_text: form.elements['captcha_text'] ? form.elements['captcha_text'].value : '',
- emailsteamid: this.m_steamidEmailAuth,
- rsatimestamp: results.timestamp,
- remember_login: ( form.elements['remember_login'] && form.elements['remember_login'].checked ) ? 'true' : 'false'
- };
- if (this.m_bIsMobile)
- rgParameters.oauth_client_id = form.elements['oauth_client_id'].value;
- var _this = this;
- $J.post(this.m_strBaseURL + 'dologin/', this.GetParameters(rgParameters))
- .done($J.proxy(this.OnLoginResponse, this))
- .fail(function () {
- ShowAlertDialog('Error', 'There was a problem communicating with the Steam servers. Please try again later.');
- $J('#login_btn_signin').show();
- $J('#login_btn_wait').hide();
- _this.m_bLoginInFlight = false;
- });
- };
- CLoginPromptManager.prototype.OnLoginResponse = function( results )
- {
- this.m_bLoginInFlight = false;
- var bRetry = true;
- if ( results.login_complete )
- {
- if ( this.m_bIsMobile && results.oauth )
- {
- if( results.redirect_uri )
- {
- this.m_sOAuthRedirectURI = results.redirect_uri;
- }
- this.$LogonFormElement('oauth' ).val( results.oauth );
- bRetry = false;
- this.LoginComplete();
- return;
- }
- var bRunningTransfer = false;
- if ( ( results.transfer_url || results.transfer_urls ) && results.transfer_parameters )
- {
- bRunningTransfer = true;
- this.TransferLogin( results.transfer_urls || [ results.transfer_url ], results.transfer_parameters );
- }
- if ( this.m_bInEmailAuthProcess )
- {
- this.m_bEmailAuthSuccessful = true;
- this.SetEmailAuthModalState( 'success' );
- }
- else if ( this.m_bInTwoFactorAuthProcess )
- {
- this.m_bTwoFactorAuthSuccessful = true;
- this.SetTwoFactorAuthModalState( 'success' );
- }
- else
- {
- bRetry = false;
- if ( !bRunningTransfer )
- this.LoginComplete();
- }
- }
- else
- {
- // if there was some kind of other error while doing email auth or twofactor, make sure
- // the modals don't get stuck
- if ( !results.emailauth_needed && this.m_EmailAuthModal )
- this.m_EmailAuthModal.Dismiss();
- if ( !results.requires_twofactor && this.m_TwoFactorModal )
- this.m_TwoFactorModal.Dismiss();
- if ( results.requires_twofactor )
- {
- $J('#captcha_entry').hide();
- if ( !this.m_bInTwoFactorAuthProcess )
- this.StartTwoFactorAuthProcess();
- else
- this.SetTwoFactorAuthModalState( 'incorrectcode' );
- }
- else if ( results.captcha_needed && results.captcha_gid )
- {
- this.UpdateCaptcha( results.captcha_gid );
- this.m_iIncorrectLoginFailures ++;
- }
- else if ( results.emailauth_needed )
- {
- if ( results.emaildomain )
- $J('#emailauth_entercode_emaildomain').text( results.emaildomain );
- if ( results.emailsteamid )
- this.m_steamidEmailAuth = results.emailsteamid;
- if ( !this.m_bInEmailAuthProcess )
- this.StartEmailAuthProcess();
- else
- this.SetEmailAuthModalState( 'incorrectcode' );
- }
- else if ( results.denied_ipt )
- {
- ShowDialog( 'Технология Intel® Identity Protection', this.m_$ModalIPT.show() ).always( $J.proxy( this.ClearLoginForm, this ) );
- }
- else
- {
- this.m_strUsernameEntered = null;
- this.m_strUsernameCanonical = null;
- this.m_iIncorrectLoginFailures ++;
- }
- if ( results.message )
- {
- this.HighlightFailure( results.message );
- if ( this.m_bIsMobile && this.m_iIncorrectLoginFailures > 1 && !results.emailauth_needed && !results.bad_captcha )
- {
- // 2 failed logins not due to Steamguard or captcha, un-obfuscate the password field
- $J( '#passwordclearlabel' ).show();
- $J( '#steamPassword' ).val('');
- $J( '#steamPassword' ).attr( 'type', 'text' );
- $J( '#steamPassword' ).attr( 'autocomplete', 'off' );
- }
- else if ( results.clear_password_field )
- {
- $J( '#input_password' ).val('');
- $J( '#input_password' ).focus();
- }
- }
- }
- if ( bRetry )
- {
- $J('#login_btn_signin').show();
- $J('#login_btn_wait').hide();
- }
- };
- CLoginPromptManager.prototype.ClearLoginForm = function()
- {
- var rgElements = this.m_$LogonForm[0].elements;
- rgElements['username'].value = '';
- rgElements['password'].value = '';
- if ( rgElements['emailauth'] ) rgElements['emailauth'].value = '';
- this.m_steamidEmailAuth = '';
- // part of the email auth modal
- $J('#authcode').value = '';
- if ( this.m_gidCaptcha )
- this.RefreshCaptcha();
- rgElements['username'].focus();
- };
- CLoginPromptManager.prototype.StartEmailAuthProcess = function()
- {
- this.m_bInEmailAuthProcess = true;
- this.SetEmailAuthModalState( 'entercode' );
- var _this = this;
- this.m_EmailAuthModal = ShowDialog( 'Steam Guard', this.m_$ModalAuthCode.show() )
- .always( function() {
- $J(document.body).append( _this.m_$ModalAuthCode.hide() );
- _this.CancelEmailAuthProcess();
- _this.m_EmailAuthModal = null;
- } );
- this.m_EmailAuthModal.SetDismissOnBackgroundClick( false );
- this.m_EmailAuthModal.SetRemoveContentOnDismissal( false );
- $J('#authcode_entry').find('input').focus();
- };
- CLoginPromptManager.prototype.CancelEmailAuthProcess = function()
- {
- this.m_steamidEmailAuth = '';
- if ( this.m_bInEmailAuthProcess )
- {
- this.m_bInEmailAuthProcess = false;
- // if the user closed the auth window on the last step, just redirect them like we normally would
- if ( this.m_bEmailAuthSuccessful )
- this.LoginComplete();
- }
- };
- CLoginPromptManager.prototype.TransferLogin = function( rgURLs, parameters )
- {
- if ( this.m_bLoginTransferInProgress )
- return;
- this.m_bLoginTransferInProgress = true;
- var bOnCompleteFired = false;
- var _this = this;
- var fnOnComplete = function() {
- if ( !bOnCompleteFired )
- _this.OnTransferComplete();
- bOnCompleteFired = true;
- };
- var cResponsesExpected = rgURLs.length;
- $J(window).on( 'message', function() {
- if ( --cResponsesExpected == 0 )
- fnOnComplete();
- });
- for ( var i = 0 ; i < rgURLs.length; i++ )
- {
- var $IFrame = $J('<iframe>', {id: 'transfer_iframe' } ).hide();
- $J(document.body).append( $IFrame );
- var doc = $IFrame[0].contentWindow.document;
- doc.open();
- doc.write( '<form method="POST" action="' + rgURLs[i] + '" name="transfer_form">' );
- for ( var param in parameters )
- {
- doc.write( '<input type="hidden" name="' + param + '" value="' + V_EscapeHTML( parameters[param] ) + '">' );
- }
- doc.write( '</form>' );
- doc.write( '<script>window.onload = function(){ document.forms["transfer_form"].submit(); }</script>' );
- doc.close();
- }
- // after 10 seconds, give up on waiting for transfer
- window.setTimeout( fnOnComplete, 10000 );
- };
- CLoginPromptManager.prototype.OnTransferComplete = function()
- {
- if ( !this.m_bLoginTransferInProgress )
- return;
- this.m_bLoginTransferInProgress = false;
- if ( !this.m_bInEmailAuthProcess && !this.m_bInTwoFactorAuthProcess )
- this.LoginComplete();
- else if ( this.m_bEmailAuthSuccessfulWantToLeave || this.m_bTwoFactorAuthSuccessfulWantToLeave)
- this.LoginComplete();
- };
- CLoginPromptManager.prototype.OnEmailAuthSuccessContinue = function()
- {
- $J('#auth_buttonsets').children().hide();
- $J('#auth_buttonset_waiting').show();
- if ( this.m_bLoginTransferInProgress )
- {
- this.m_bEmailAuthSuccessfulWantToLeave = true;
- }
- else
- this.LoginComplete();
- };
- CLoginPromptManager.prototype.LoginComplete = function()
- {
- if ( this.m_fnOnSuccess )
- {
- this.m_fnOnSuccess();
- }
- else if ( $J('#openidForm').length )
- {
- $J('#openidForm').submit();
- }
- else if ( this.m_strRedirectURL != '' )
- {
- window.location = this.m_strRedirectURL;
- }
- else if ( this.m_bIsMobile )
- {
- if ( document.forms['logon'].elements['oauth'] && ( document.forms['logon'].elements['oauth'].value.length > 0 ) )
- {
- window.location = this.m_sOAuthRedirectURI + '?' + document.forms['logon'].elements['oauth'].value;
- }
- }
- };
- CLoginPromptManager.prototype.SubmitAuthCode = function()
- {
- if ( !v_trim( $J('#authcode').val() ).length )
- return;
- $J('#auth_details_computer_name').css('color', '85847f' ); //TODO
- $J('#auth_buttonsets').children().hide();
- $J('#auth_buttonset_waiting').show();
- this.$LogonFormElement( 'loginfriendlyname' ).val( $J('#friendlyname').val() );
- this.$LogonFormElement( 'emailauth' ).val( $J('#authcode').val() );
- this.DoLogin();
- };
- CLoginPromptManager.prototype.SetEmailAuthModalState = function( step )
- {
- if ( step == 'submit' )
- {
- this.SubmitAuthCode();
- return;
- }
- else if ( step == 'complete' )
- {
- this.OnEmailAuthSuccessContinue();
- return;
- }
- $J('#auth_messages').children().hide();
- $J('#auth_message_' + step ).show();
- $J('#auth_details_messages').children().hide();
- $J('#auth_details_' + step ).show();
- $J('#auth_buttonsets').children().hide();
- $J('#auth_buttonset_' + step ).show();
- $J('#authcode_help_supportlink').hide();
- var icon='key';
- var bShowAuthcodeEntry = true;
- if ( step == 'entercode' )
- {
- icon = 'mail';
- }
- else if ( step == 'checkspam' )
- {
- icon = 'trash';
- }
- else if ( step == 'success' )
- {
- icon = 'unlock';
- bShowAuthcodeEntry = false;
- $J('#success_continue_btn').focus();
- this.m_EmailAuthModal.SetDismissOnBackgroundClick( true );
- this.m_EmailAuthModal.always( $J.proxy( this.LoginComplete, this ) );
- }
- else if ( step == 'incorrectcode' )
- {
- icon = 'lock';
- }
- else if ( step == 'help' )
- {
- icon = 'steam';
- bShowAuthcodeEntry = false;
- $J('#authcode_help_supportlink').show();
- }
- if ( bShowAuthcodeEntry )
- {
- var $AuthcodeEntry = $J('#authcode_entry');
- if ( !$AuthcodeEntry.is(':visible') )
- {
- $AuthcodeEntry.show().find('input').focus();
- }
- $J('#auth_details_computer_name').show();
- }
- else
- {
- $J('#authcode_entry').hide();
- $J('#auth_details_computer_name').hide();
- }
- $J('#auth_icon').attr('class', 'auth_icon auth_icon_' + icon );
- };
- CLoginPromptManager.prototype.StartTwoFactorAuthProcess = function()
- {
- this.m_bInTwoFactorAuthProcess = true;
- this.SetTwoFactorAuthModalState( 'entercode' );
- var _this = this;
- this.m_TwoFactorModal = ShowDialog( 'Мобильная аутентификация Steam Guard', this.m_$ModalTwoFactor.show() )
- .fail( function() { _this.CancelTwoFactorAuthProcess(); } )
- .always( function() {
- $J(document.body).append( _this.m_$ModalTwoFactor.hide() );
- _this.m_bInTwoFactorAuthProcess = false;
- _this.m_TwoFactorModal = null;
- } );
- this.m_TwoFactorModal.SetDismissOnBackgroundClick( false );
- this.m_TwoFactorModal.SetRemoveContentOnDismissal( false );
- $J('#twofactorcode_entry').focus();
- };
- CLoginPromptManager.prototype.CancelTwoFactorAuthProcess = function()
- {
- this.m_bInTwoFactorAuthProcess = false;
- if ( this.m_bTwoFactorAuthSuccessful )
- this.LoginComplete();
- else
- this.ClearLoginForm();
- };
- CLoginPromptManager.prototype.OnTwoFactorResetOptionsResponse = function( results )
- {
- if ( results.success && results.options.sms.allowed )
- {
- this.m_sPhoneNumberLastDigits = results.options.sms.last_digits;
- this.SetTwoFactorAuthModalState( 'selfhelp_sms_remove' ); // Or reset if this.m_bTwoFactorReset
- }
- else if ( results.success )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_nosms' );
- }
- else
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_failure' );
- $J( '#login_twofactorauth_details_selfhelp_failure' ).text( results.message );
- }
- };
- CLoginPromptManager.prototype.OnTwoFactorRecoveryFailure = function()
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_failure' );
- $J( '#login_twofactorauth_details_selfhelp_failure' ).text( '' ); // v0v
- };
- CLoginPromptManager.prototype.OnStartRemoveTwoFactorResponse = function( results )
- {
- if ( results.success )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_sms_remove_entercode' );
- }
- else
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_failure' );
- $J( '#login_twofactorauth_details_selfhelp_failure' ).text( results.message );
- }
- };
- CLoginPromptManager.prototype.OnRemoveTwoFactorResponse = function( results )
- {
- if ( results.success )
- {
- if ( this.m_bTwoFactorReset )
- {
- this.RunLocalURL( "steammobile://steamguard?op=setsecret&arg1=" + results.replacement_token );
- this.SetTwoFactorAuthModalState( 'selfhelp_twofactor_replaced' );
- }
- else
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_twofactor_removed' );
- }
- }
- else if ( results.retry )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_sms_remove_incorrectcode' );
- }
- else
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_failure' );
- $J( '#login_twofactorauth_details_selfhelp_failure' ).text( results.message );
- }
- };
- CLoginPromptManager.prototype.OnUseTwoFactorRecoveryCodeResponse = function( results )
- {
- if ( results.success )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_twofactor_removed' );
- }
- else if ( results.retry )
- {
- $J( '#login_twofactorauth_details_selfhelp_rcode_incorrectcode' ).text( results.message );
- this.SetTwoFactorAuthModalState( 'selfhelp_rcode_incorrectcode' );
- }
- else if ( results.exhausted )
- {
- $J( '#login_twofactorauth_details_selfhelp_rcode_incorrectcode_exhausted' ).text( results.message );
- this.SetTwoFactorAuthModalState( 'selfhelp_rcode_incorrectcode_exhausted' );
- }
- else
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_failure' );
- $J( '#login_twofactorauth_details_selfhelp_failure' ).text( results.message );
- }
- };
- CLoginPromptManager.prototype.OnTwoFactorAuthSuccessContinue = function()
- {
- if ( !this.m_bIsMobile )
- {
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- }
- if ( this.m_bLoginTransferInProgress )
- {
- this.m_bTwoFactorAuthSuccessfulWantToLeave = true;
- }
- else
- {
- this.LoginComplete();
- }
- };
- CLoginPromptManager.prototype.SetTwoFactorAuthModalState = function( step )
- {
- if ( step == 'submit' )
- {
- $J('#login_twofactor_authcode_entry').hide();
- this.SubmitTwoFactorCode();
- return;
- }
- else if ( step == 'success' )
- {
- this.OnTwoFactorAuthSuccessContinue();
- return;
- }
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_message_' + step ).show();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_details_' + step ).show();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_' + step ).show();
- $J('#login_twofactor_authcode_help_supportlink').hide();
- var icon = 'key';
- if ( step == 'entercode' )
- {
- icon = 'phone';
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').val('');
- $J('#login_twofactorauth_message_entercode_accountname').text( this.m_strUsernameEntered );
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'incorrectcode' )
- {
- icon = 'lock';
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').val('');
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'selfhelp' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- if ( !this.m_bIsMobileSteamClient
- || this.BIsAndroid() && !this.BIsUserInMobileClientVersionOrNewer( 2, 0, 32 )
- || this.BIsIos() && !this.BIsUserInMobileClientVersionOrNewer( 2, 0, 0 )
- // no version minimum for Windows phones
- )
- {
- $J( '#login_twofactorauth_buttonset_selfhelp div[data-modalstate=selfhelp_sms_reset_start]' ).hide();
- }
- }
- else if ( step == 'selfhelp_sms_remove_start' || step == 'selfhelp_sms_reset_start' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- this.m_bTwoFactorReset = (step == 'selfhelp_sms_reset_start');
- $J.post( this.m_strBaseURL + 'getresetoptions/', this.GetParameters( {} ) )
- .done( $J.proxy( this.OnTwoFactorResetOptionsResponse, this ) )
- .fail( $J.proxy( this.OnTwoFactorRecoveryFailure, this ) );
- }
- else if ( step == 'selfhelp_sms_remove' )
- {
- icon = 'steam';
- $J('#login_twofactorauth_selfhelp_sms_remove_last_digits').text( this.m_sPhoneNumberLastDigits );
- }
- else if ( step == 'selfhelp_sms_remove_sendcode' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- $J.post( this.m_strBaseURL + 'startremovetwofactor/', this.GetParameters( {} ) )
- .done( $J.proxy( this.OnStartRemoveTwoFactorResponse, this ) )
- .fail( $J.proxy( this.OnTwoFactorRecoveryFailure, this ) );
- }
- else if ( step == 'selfhelp_sms_remove_entercode' )
- {
- $J('#login_twofactorauth_selfhelp_sms_remove_entercode_last_digits').text( this.m_sPhoneNumberLastDigits );
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').val('');
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'selfhelp_sms_remove_checkcode' )
- {
- $J('#login_twofactor_authcode_entry').hide();
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- // Immediately skip to incorrect code step without actually checking it if the user forgot to enter a code.
- if ( $J('#twofactorcode_entry').val().length == 0 )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_sms_remove_incorrectcode' );
- }
- else
- {
- var rgParameters = {
- smscode: $J( '#twofactorcode_entry' ).val(),
- reset: this.m_bTwoFactorReset ? 1 : 0
- };
- $J.post( this.m_strBaseURL + 'removetwofactor/', this.GetParameters( rgParameters ) )
- .done( $J.proxy( this.OnRemoveTwoFactorResponse, this ) )
- .fail( $J.proxy( this.OnTwoFactorRecoveryFailure, this ) );
- }
- }
- else if ( step == 'selfhelp_sms_remove_incorrectcode' )
- {
- icon = 'lock';
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'selfhelp_twofactor_removed' )
- {
- icon = 'unlock';
- $J('#twofactorcode_entry').val(''); // Make sure the next login doesn't supply a code
- }
- else if ( step == 'selfhelp_twofactor_replaced' )
- {
- icon = 'steam';
- $J('#twofactorcode_entry').val('');
- }
- else if ( step == 'selfhelp_sms_remove_complete' )
- {
- this.m_TwoFactorModal.Dismiss();
- this.m_bInTwoFactorAuthProcess = false;
- this.DoLogin();
- }
- else if ( step == 'selfhelp_nosms' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- }
- else if ( step == 'selfhelp_rcode' )
- {
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').val('');
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'selfhelp_rcode_checkcode' )
- {
- $J('#login_twofactor_authcode_entry').hide();
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- // Immediately skip to incorrect code step without actually checking it if the user forgot to enter a code.
- if ( $J('#twofactorcode_entry').val().length == 0 )
- {
- this.SetTwoFactorAuthModalState( 'selfhelp_rcode_incorrectcode' );
- }
- else
- {
- var rgParameters = { rcode: $J( '#twofactorcode_entry' ).val() };
- $J.post( this.m_strBaseURL + 'userecoverycode/', this.GetParameters( rgParameters ) )
- .done( $J.proxy( this.OnUseTwoFactorRecoveryCodeResponse, this ) )
- .fail( $J.proxy( this.OnTwoFactorRecoveryFailure, this ) );
- }
- }
- else if ( step == 'selfhelp_rcode_incorrectcode' )
- {
- icon = 'lock';
- $J('#login_twofactor_authcode_entry').show();
- $J('#twofactorcode_entry').focus();
- }
- else if ( step == 'selfhelp_couldnthelp' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- }
- else if ( step == 'help' )
- {
- icon = 'steam';
- $J('#login_twofactor_authcode_entry').hide();
- $J('#login_twofactor_authcode_help_supportlink').show();
- }
- else if ( step == 'selfhelp_failure' )
- {
- icon = 'steam';
- }
- if ( this.m_bInTwoFactorAuthProcess && this.m_TwoFactorModal )
- {
- this.m_TwoFactorModal.AdjustSizing();
- }
- $J('#login_twofactorauth_icon').attr( 'class', 'auth_icon auth_icon_' + icon );
- };
- CLoginPromptManager.prototype.SubmitTwoFactorCode = function()
- {
- this.m_sAuthCode = $J('#twofactorcode_entry').val();
- $J('#login_twofactorauth_messages').children().hide();
- $J('#login_twofactorauth_details_messages').children().hide();
- $J('#login_twofactorauth_buttonsets').children().hide();
- $J('#login_twofactorauth_buttonset_waiting').show();
- this.DoLogin();
- };
- CLoginPromptManager.sm_$Modals = null; // static
- CLoginPromptManager.prototype.InitModalContent = function()
- {
- var $modals = $J('#loginModals');
- if ( $modals.length == 0 )
- {
- // This does not work on Android 2.3, nor does creating the DOM node and
- // setting innerHTML without jQuery. So on the mobile login page, we put
- // the modals into the page directly, but not all pages have that.
- CLoginPromptManager.sm_$Modals = $J( "<div id=\"loginModals\">\r\n\t<div class=\"login_modal loginAuthCodeModal\" style=\"display: none\">\r\n\t\t<form data-ajax=\"false\">\r\n\t\t\t<div class=\"auth_message_area\">\r\n\t\t\t\t<div id=\"auth_icon\" class=\"auth_icon auth_icon_key\">\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_messages\" id=\"auth_messages\">\r\n\t\t\t\t\t<div class=\"auth_message\" id=\"auth_message_entercode\" style=\"display: none;\">\r\n\t\t\t\t\t\t<div class=\"auth_modal_h1\">\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!<\/div>\r\n\t\t\t\t\t\t<p>\u0412\u0438\u0434\u0438\u043c\u043e, \u0432\u044b \u0432\u043e\u0448\u043b\u0438 \u0432 Steam \u0447\u0435\u0440\u0435\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u043b\u0438 \u0441 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430. \u0418\u043b\u0438, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0430\u0432\u043d\u043e \u043d\u0435 \u0437\u0430\u0445\u043e\u0434\u0438\u043b\u0438...<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"auth_message\" id=\"auth_message_checkspam\" style=\"display: none;\">\r\n\t\t\t\t\t\t<div class=\"auth_modal_h1\">\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043e\u043d\u043e \u043f\u043e\u043f\u0430\u043b\u043e \u0432 \u0441\u043f\u0430\u043c?<\/div>\r\n\t\t\t\t\t\t<p>\u0412\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438 \u043f\u0430\u043f\u043a\u0443 \u0441\u043e \u0441\u043f\u0430\u043c\u043e\u043c? \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0430\u043c, \u0435\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"auth_message\" id=\"auth_message_success\" style=\"display: none;\">\r\n\t\t\t\t\t\t<div class=\"auth_modal_h1\">\u0413\u043e\u0442\u043e\u0432\u043e!<\/div>\r\n\t\t\t\t\t\t<p>\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Steam.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"auth_message\" id=\"auth_message_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043e\u043d \u043d\u0435\u0432\u0435\u0440\u0435\u043d...<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"auth_message\" id=\"auth_message_help\" style=\"display: none;\">\r\n\t\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c!<\/div>\r\n\t\t\t\t\t\t<p>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u041c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 Steam \u0432\u0430\u0436\u0435\u043d \u0434\u043b\u044f \u0432\u0430\u0441, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043b\u0438\u0446.<\/p>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div id=\"auth_details_messages\" class=\"auth_details_messages\">\r\n\t\t\t\t<div class=\"auth_details\" id=\"auth_details_entercode\" style=\"display: none;\">\r\n\t\t\t\t\t\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0440\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432\u0430\u043c \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u044d\u0442\u043e\u043c\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443, \u0432\u0432\u0435\u0434\u044f \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043d\u0430 \u0432\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b. \u043f\u043e\u0447\u0442\u044b <span id=\"emailauth_entercode_emaildomain\"><\/span>.\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_details\" id=\"auth_details_success\" style=\"display: none;\">\r\n\t\t\t\t\t\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u0432\u0430\u0448 \u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440, \u043f\u0435\u0440\u0435\u0434 \u0443\u0445\u043e\u0434\u043e\u043c \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0432\u044b\u0448\u043b\u0438 \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 Steam.\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_details\" id=\"auth_details_help\" style=\"display: none;\">\r\n\t\t\t\t\t\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u2014 \u043d\u0430\u0448\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430.\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"authcode_entry_area\">\r\n\t\t\t\t<div id=\"authcode_entry\">\r\n\t\t\t\t\t<div class=\"authcode_entry_box\">\r\n\t\t\t\t\t\t<input class=\"authcode_entry_input authcode_placeholder\" id=\"authcode\" type=\"text\" value=\"\"\r\n\t\t\t\t\t\t\t placeholder=\"\u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0437\u0434\u0435\u0441\u044c\">\r\n\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div id=\"authcode_help_supportlink\">\r\n\t\t\t\t\t<a href=\"https:\/\/support.steampowered.com\/kb_article.php?ref=4020-ALZM-5519\" data-ajax=\"false\" data-externallink=\"1\">\u0421\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u043b\u0443\u0436\u0431\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443<\/a>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"modal_buttons\" id=\"auth_buttonsets\">\r\n\t\t\t\t<div class=\"auth_buttonset\" id=\"auth_buttonset_entercode\" style=\"display: none;\">\r\n\t\t\t\t\t<div data-modalstate=\"submit\" class=\"auth_button leftbtn\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u043c\u043e\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div data-modalstate=\"checkspam\" class=\"auth_button\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041a\u0430\u043a\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435?<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam...<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_buttonset\" id=\"auth_buttonset_checkspam\" style=\"display: none;\">\r\n\t\t\t\t\t<div data-modalstate=\"submit\" class=\"auth_button leftbtn\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041d\u0430\u0448\u0435\u043b!<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u0438 \u0432\u0432\u0435\u043b \u043c\u043e\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432\u044b\u0448\u0435<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div data-modalstate=\"help\" class=\"auth_button\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u043d\u0430\u0448\u0435\u043b...<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam...<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_buttonset\" id=\"auth_buttonset_success\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_button auth_button_spacer\">\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<a data-modalstate=\"complete\" class=\"auth_button\" id=\"success_continue_btn\" href=\"javascript:void(0);\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a Steam!<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\"> <br> <\/div>\r\n\t\t\t\t\t<\/a>\r\n\t\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_buttonset\" id=\"auth_buttonset_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t\t<div data-modalstate=\"submit\" class=\"auth_button leftbtn\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432\u044b\u0448\u0435<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div data-modalstate=\"help\" class=\"auth_button\">\r\n\t\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435<\/div>\r\n\t\t\t\t\t\t<div class=\"auth_button_h5\">\u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam...<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_buttonset\" id=\"auth_buttonset_waiting\" style=\"display: none;\">\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div style=\"\" id=\"auth_details_computer_name\" class=\"auth_details_messages\">\r\n\t\t\t\t\u0427\u0442\u043e\u0431\u044b \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0440\u0435\u0434\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 Steam Guard, \u0434\u0430\u0439\u0442\u0435 \u0435\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0438\u043c\u044f \u0434\u043b\u0438\u043d\u043e\u0439 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0448\u0435\u0441\u0442\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\t\t\t\t<div id=\"friendly_name_box\" class=\"friendly_name_box\">\r\n\t\t\t\t\t<input class=\"authcode_entry_input authcode_placeholder\" id=\"friendlyname\" type=\"text\"\r\n\t\t\t\t\t\t placeholder=\"\u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\">\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div style=\"display: none;\">\r\n\t\t\t\t<input type=\"submit\">\r\n\t\t\t<\/div>\r\n\t\t<\/form>\r\n\t<\/div>\r\n\r\n\t<div class=\"login_modal loginIPTModal\" style=\"display: none\">\r\n\t\t<div class=\"auth_message_area\">\r\n\t\t\t<div class=\"auth_icon ipt_icon\">\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_messages\">\r\n\t\t\t\t<div class=\"auth_message\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435<\/div>\r\n\t\t\t\t\t<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"auth_details_messages\">\r\n\t\t\t<div class=\"auth_details\">\r\n\t\t\t\t\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u2014 \u043d\u0430\u0448\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430.\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"authcode_entry_area\">\r\n\t\t<\/div>\r\n\t\t<div class=\"modal_buttons\">\r\n\t\t\t<div class=\"auth_buttonset\" >\r\n\t\t\t\t<a href=\"https:\/\/support.steampowered.com\/kb_article.php?ref=9400-IPAX-9398&auth=e39b5c227cffc8ae65414aba013e5fef\" class=\"auth_button leftbtn\" data-ajax=\"false\" data-externallink=\"1\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0437\u0430\u0449\u0438\u0442\u044b \u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 Intel\u00ae<\/div>\r\n\t\t\t\t<\/a>\r\n\t\t\t\t<a href=\"https:\/\/support.steampowered.com\" class=\"auth_button\" data-ajax=\"false\" data-externallink=\"1\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam\u2026<\/div>\r\n\t\t\t\t<\/a>\r\n\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n\r\n\t<div class=\"login_modal loginTwoFactorCodeModal\" style=\"display: none\">\r\n\t\t<form>\r\n\t\t<div class=\"twofactorauth_message_area\">\r\n\t\t\t<div id=\"login_twofactorauth_icon\" class=\"auth_icon auth_icon_key\">\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_messages\" id=\"login_twofactorauth_messages\">\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_entercode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, <span id=\"login_twofactorauth_message_entercode_accountname\"><\/span>!<\/div>\r\n\t\t\t\t\t<p>\u042d\u0442\u043e\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0434 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 Steam.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043a\u043e\u0434 \u043d\u0435\u0432\u0435\u0440\u0435\u043d\u2026<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c!<\/div>\r\n\t\t\t\t\t<p>\u041c\u044b \u0441\u043e\u0436\u0430\u043b\u0435\u0435\u043c, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438. \u041c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 Steam \u0432\u0430\u0436\u0435\u043d \u0434\u043b\u044f \u0432\u0430\u0441, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043b\u0438\u0446.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_sms_remove\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u043c<\/div>\r\n\t\t\t\t\t<p>\u041c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0421\u041c\u0421 \u0441 \u043a\u043e\u0434\u043e\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043d\u0430 \u043d\u043e\u043c\u0435\u0440, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 <span id=\"login_twofactorauth_selfhelp_sms_remove_last_digits\"><\/span>. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u044b \u0432\u0432\u0435\u0434\u0435\u0442\u0435 \u043a\u043e\u0434, \u043c\u044b \u0443\u0434\u0430\u043b\u0438\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u0434\u044b Steam Guard \u043f\u043e \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u0435.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_sms_remove_entercode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u043c<\/div>\r\n\t\t\t\t\t<p>\u041c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u0421\u041c\u0421 \u0441 \u043a\u043e\u0434\u043e\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0430 \u0432\u0430\u0448 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 <span id=\"login_twofactorauth_selfhelp_sms_remove_entercode_last_digits\"><\/span>. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u043d\u0438\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_sms_remove_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043a\u043e\u0434 \u043d\u0435\u0432\u0435\u0440\u0435\u043d\u2026<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_twofactor_removed\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0413\u043e\u0442\u043e\u0432\u043e!<\/div>\r\n\t\t\t\t\t<p>\u041c\u044b \u0443\u0434\u0430\u043b\u0438\u043b\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u041f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u0445\u043e\u0434\u0435 \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u0434 Steam Guard, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u0430\u0448\u0443 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u0443.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_twofactor_replaced\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0413\u043e\u0442\u043e\u0432\u043e!<\/div>\r\n\t\t\t\t\t<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u0434\u044b \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u043e\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_nosms\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u0434 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f?<\/div>\r\n\t\t\t\t\t<p>\u041a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Steam \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0421\u041c\u0421 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041c\u043e\u0436\u0435\u0442, \u0443 \u0432\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043a\u043e\u0434 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430? \u041e\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0431\u0443\u043a\u0432\u044b R.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_rcode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/div>\r\n\t\t\t\t\t<p>\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0438\u0436\u0435. \u041e\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0431\u0443\u043a\u0432\u044b R.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_rcode_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043a\u043e\u0434 \u043d\u0435\u0432\u0435\u0440\u0435\u043d\u2026<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_rcode_incorrectcode_exhausted\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043a\u043e\u0434 \u043d\u0435\u0432\u0435\u0440\u0435\u043d\u2026<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_rcode_message\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041e\u0439!<\/div>\r\n\t\t\t\t\t<p>\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, <br>\u043d\u043e \u043a\u043e\u0434 \u043d\u0435\u0432\u0435\u0440\u0435\u043d\u2026<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_couldnthelp\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c!<\/div>\r\n\t\t\t\t\t<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u0438\u043b\u0438 \u043d\u043e\u043c\u0435\u0440\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0435 \u043a\u043e\u0434\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430, \u0441\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u043b\u0443\u0436\u0431\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_help\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u041f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c!<\/div>\r\n\t\t\t\t\t<p>\u041c\u044b \u0441\u043e\u0436\u0430\u043b\u0435\u0435\u043c, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438. \u041c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 Steam \u0432\u0430\u0436\u0435\u043d \u0434\u043b\u044f \u0432\u0430\u0441, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043f\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043b\u0438\u0446.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"twofactorauth_message\" id=\"login_twofactorauth_message_selfhelp_failure\" style=\"display: none;\">\r\n\t\t\t\t\t<div class=\"auth_modal_h1\">\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435!<\/div>\r\n\t\t\t\t\t<p>\u041f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430.<\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div id=\"login_twofactorauth_details_messages\" class=\"twofactorauth_details_messages\">\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_entercode\" style=\"display: none;\">\r\n\t\t\t\t\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0438\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Steam:\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_selfhelp\" style=\"display: none;\">\r\n\t\t\t\t\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Steam \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u043a\u043e\u0434\u044b, \u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u042d\u0442\u043e \u0441\u043d\u0438\u0437\u0438\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435.\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_help\" style=\"display: none;\">\r\n\t\t\t\t\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0432 \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam.\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_selfhelp_failure\" style=\"display: none;\">\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_selfhelp_rcode_incorrectcode\" style=\"display: none;\">\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"twofactorauth_details\" id=\"login_twofactorauth_details_selfhelp_rcode_incorrectcode_exhausted\" style=\"display: none;\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"twofactorauthcode_entry_area\">\r\n\t\t\t<div id=\"login_twofactor_authcode_entry\">\r\n\t\t\t\t<div class=\"twofactorauthcode_entry_box\">\r\n\t\t\t\t\t<input class=\"twofactorauthcode_entry_input authcode_placeholder\" id=\"twofactorcode_entry\" type=\"text\"\r\n\t\t\t\t\t\t placeholder=\"\u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 \u0437\u0434\u0435\u0441\u044c\" autocomplete=\"off\">\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div id=\"login_twofactor_authcode_help_supportlink\">\r\n\t\t\t\t<a href=\"https:\/\/support.steampowered.com\/kb_article.php?ref=4020-ALZM-5519\">\r\n\t\t\t\t\t\u0421\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u043b\u0443\u0436\u0431\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443\t\t\t\t<\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div class=\"modal_buttons\" id=\"login_twofactorauth_buttonsets\">\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_entercode\" style=\"display: none;\">\r\n\t\t\t\t<div type=\"submit\" class=\"auth_button leftbtn\" data-modalstate=\"submit\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u043a\u043e\u0434 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0443 \u043c\u0435\u043d\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043a\u043e\u0434\u0430\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"submit\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u041a\u043e\u0434 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0432\u0432\u0435\u0434\u0435\u043d \u0432\u0435\u0440\u043d\u043e<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Steam\u2026<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div style=\"clear: left;\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_start\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\" style=\"font-size: 16px;\">\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0438 \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u0434\u044b \u043f\u043e \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u0435<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_sms_reset_start\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u0434\u044b \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_sms_remove\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_sendcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0425\u043e\u0440\u043e\u0448\u043e!<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u043c\u043d\u0435 \u0421\u041c\u0421<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_nosms\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041d\u0435 \u043d\u0430\u0434\u043e,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u0442\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_sms_remove_entercode\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_checkcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u0432\u0432\u0435\u043b \u043a\u043e\u0434 \u0432\u044b\u0448\u0435<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_nosms\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_sms_remove_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_checkcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043a\u043e\u0434. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0449\u0435 \u0440\u0430\u0437.<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_nosms\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_twofactor_removed\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_complete\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0412\u043e\u0439\u0442\u0438<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_twofactor_replaced\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_sms_remove_complete\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0412\u043e\u0439\u0442\u0438<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Steam<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_nosms\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_rcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0414\u0430,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u043a\u043e\u0434, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 R<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_couldnthelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041d\u0435\u0442,<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_rcode\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_rcode_checkcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u043a\u043e\u0434 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_couldnthelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435!<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Steam\u2026<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_rcode_incorrectcode\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button leftbtn\" data-modalstate=\"selfhelp_rcode_checkcode\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u042f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043a\u043e\u0434. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0449\u0435 \u0440\u0430\u0437.<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_couldnthelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435!<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Steam\u2026<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_rcode_incorrectcode_exhausted\" style=\"display: none;\">\r\n\t\t\t\t<div class=\"auth_button\" data-modalstate=\"selfhelp_couldnthelp\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u041f\u043e\u043c\u043e\u0433\u0438\u0442\u0435!<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 Steam\u2026<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_selfhelp_couldnthelp\" style=\"display: none;\">\r\n\t\t\t\t<a class=\"auth_button leftbtn\" href=\"https:\/\/help.steampowered.com\/\">\r\n\t\t\t\t\t<div class=\"auth_button_h3\">\u0421\u0432\u044f\u0436\u0438\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u043c\u0438<\/div>\r\n\t\t\t\t\t<div class=\"auth_button_h5\">\u0434\u043b\u044f \u043f\u043e\u043c\u043e\u0449\u0438 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443<\/div>\r\n\t\t\t\t<\/a>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"auth_buttonset\" id=\"login_twofactorauth_buttonset_waiting\" style=\"display: none;\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div style=\"display: none;\">\r\n\t\t\t<input type=\"submit\">\r\n\t\t<\/div>\r\n\t\t<\/form>\r\n\t<\/div>\r\n<\/div>\r\n" );
- $J('body').append( CLoginPromptManager.sm_$Modals );
- }
- else
- {
- CLoginPromptManager.sm_$Modals = $modals;
- }
- };
- CLoginPromptManager.prototype.GetModalContent = function( strModalType )
- {
- var $ModalContent = CLoginPromptManager.sm_$Modals.find( '.login_modal.' + strModalType );
- if ( this.m_bIsMobileSteamClient )
- {
- $ModalContent.find('a[data-externallink]' ).each( function() {
- $J(this).attr( 'href', 'steammobile://openexternalurl?url=' + $J(this).attr('href') );
- });
- }
- return $ModalContent;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement