<!DOCTYPE html>
<html>
<!--STATUS OK-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="百度帐号是登录所有百度系产品的通行证，登录后还可以在帐户管理页管理/修改您的个人信息，包括修改密码、绑定手机、身份认证等">
<title>passport</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="width=240, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
<meta name="format-detection" content="telephone=no, email=no" />
<style type="text/css">body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0}html{color:#111;background:#f5f5f5;-webkit-text-size-adjust:none}body,button,input,select,textarea,pre{font-size:1.6rem;font-family:PingFang SC,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{font-size:100%}h3,h4,h5,h6{font-weight:400}ul,ol{list-style:none}a{text-decoration:none;color:#3c76ff;-webkit-touch-callout:none}a:hover{cursor:pointer}fieldset,img{border:0}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}html,body{width:100%;height:100%;min-height:430px;position:relative}@media screen and (orientation:landscape){html,body{height:auto}}body{-webkit-touch-callout:none;-webkit-text-size-adjust:none;-webkit-user-select:none;-webkit-highlight:none;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}:focus{outline:0}.left{float:left}.right{float:right}.tright{text-align:right}.tcenter{text-align:center}.hide{display:none}.inlineBlock{display:inline-block;zoom:1}.inline{display:inline}button{cursor:pointer}.block,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}.clearfix:after{content:'\20';display:block;height:0;clear:both;overflow:hidden;visibility:hidden}.clearfix{zoom:1}.clear{clear:both}.wordwrap{word-break:break-all;word-wrap:break-word}input[type=submit],input[type=button]{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-appearance:none}.gray{color:#999}.f14{font-size:1.4rem}.fb{font-weight:700}.m-t05{margin-top:.5rem}.m-t10{margin-top:1rem}.m-t20{margin-top:2rem}.m-t40{margin-top:4rem}.m-t50{margin-top:5rem}.m-t25{margin-top:2.5rem}.m-b10{margin-bottom:1rem}.m-b15{margin-bottom:1.5rem}.link-font{color:#666;cursor:pointer;font-size:1.4rem;height:3rem}.p-t25{padding-top:2.5rem}.p-t15{padding-top:1.5rem}.p-t50{padding-top:5rem}.p-l5{padding-left:.5rem}.orange{color:#ff812d}.p-b20{padding-bottom:2rem;margin-bottom:constant(safe-area-inset-bottom)}.m-t180{margin-top:18rem}.p-b40{padding-bottom:4rem}.pass-header{background:#fff;border-bottom:1px solid #d6d6d6;height:4.4rem;width:100%;padding:0;display:block;text-align:center;z-index:100;position:relative}.pass-header-title{text-align:center;width:100%;height:4.4rem;display:block;font-size:2rem;line-height:4.4rem}.pass-header-links{margin:.6rem 0;border:1px solid #fff;background:#fff;font-size:1.6rem;line-height:3rem;text-align:center;width:5rem;color:#666;display:block;position:absolute;right:1.4rem;top:0;cursor:pointer;-webkit-border-radius:2px;border:1px solid #ccc}.pass-header-back{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAApCAYAAAAvUenwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowRTYwMTYyRkVBMTZFNDExOTczNkJERkUyMDY2QTY5NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMDAyNDIwMDE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMDAyNDFGRjE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k2fgIgAAAc1JREFUeNq0lz8sA2EYxq+XxmAwsJiYGIiNTSIiGBAiLGyGMwhDO2BikXQQBhJ6kxiIf5MYDBQTk9gsNpOlEZImkobnTd5PvjT9c9d7+ia/9L636fNr+9333V0snU47UcrzvP9j3/fjeDkGb+ivSM91SGWFT4FljFM0QUG4qTqKoET4Nv6iBENQNjyqoGJ4FEGg8GoFgcOrEYQKDysIHR5GUCx8CyQqfdCNEJ4M8s3cWoZXEkQOLyeghJcS0MKLCajhhQJ6uC2oSbgR1CzcCI4Kwi9Y4UaQAb9WbwyMMwV7YAF8WdfSczDLEjgq6QCv1qQfyl0JSyD1DvrAs/XePus0NfUBBsCjjmNgE6yxBFJZMAhurd66imIMgdQ3GAVXVi+pc+UyBFI5MAlOrN68Tn6cIZD60dP1wOrJ+MzcGjIumXkwB3as3gS4BPUMgaMrfQmkrN4QuMa9aQNDYGpVMdULbiBpYgkc/RWL1v7VDe4haWYJpHZ1XvI67gQPkLSyBI6eWTN6pkm1qaSdJZA61bWS03GL/l1dLIE8BMpqH9HVLyVzcQdJD+0ZDZKM7l9ZbTWCDepTJiSyA/frjvwEpqkClbzo2hjG8af0/gQYAHkain5LZUqyAAAAAElFTkSuQmCC') no-repeat 15px 13px;-webkit-background-size:1.2rem 2rem;padding:1.3rem 0 1.3rem 3.3rem;width:3.6rem;height:1.8rem;position:absolute;left:0;top:0;cursor:pointer;color:#f8f8f8}.mod-button-back.active{}#agreement-headerWrapper,#personal_agreement-headerWrapper{position:fixed}.error_area{color:#E85352;font-size:1.2rem;min-height:2.5rem;line-height:2.5rem;clear:both}.error_redtip{color:red;height:2rem;line-height:2rem;visibility:hidden}.mod-info{color:#cac9c9;-webkit-box-flex:1;visibility:visible;text-align:center}.error_div .t-a-l{text-align:left}.mod-ok,.mod-page-ok{background:url(/static/appsapi/img/icon_ok.png) no-repeat 0 5px;-webkit-background-size:14px 14px}.mod-page-ok{margin-top:14px;background-position:0 2px;-webkit-background-size:20px 20px;padding-left:25px}.pass-mod-toastWrapper{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-6rem;-webkit-border-radius:2px;z-index:101;padding:.8rem;display:none}.pass-form-item{display:-webkit-box;width:100%;background:#fff}.pass-form-item-v{width:100%;float:left;height:5rem;display:-webkit-box}.pass-form-verify-wrapper p.pass-form-item-v{margin:1rem 0 0}.pass-form-input-wrapper{display:-webkit-box;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;margin-left:1px}.pass-form-input-wrapper-forvcode{display:-webkit-box;-webkit-box-sizing:border-box;float:left;width:66%;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;z-index:10}.pass-form-verify-wrapper span.pass-form-input-wrapper-forvcode{margin-right:1rem}.pass-form-code{line-height:4rem}input[type=text],input[type=password],input[type=number],input[type=email],input[type=tel],textarea{border:0;display:block;-webkit-box-flex:1;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);line-height:2rem;font-size:1.6rem;height:2rem;padding-top:1.5rem;padding-bottom:1.3rem;color:#333;line-height:2rem;z-index:10;position:relative;margin-top:1px}textarea{padding-bottom:0}.pass-text-label{display:inline-block}.pass-text-label{font-size:1.6rem;width:5rem;margin-right:.5rem}.pass-text-label-long{width:6.5rem}.pass-overseas-wrapper{width:60px;display:inline-block;border-right:1px solid #efefef;margin-right:10px;margin-top:1rem}.pass-label-code{position:relative;z-index:14;text-align:right;width:50px;margin-right:4px;margin-left:-1.5rem;float:left;height:3rem;line-height:3rem}.pass-overseas-down{width:.6rem;height:.6rem;display:block;margin-top:1rem;margin-right:11px;border-right:1px solid #333;border-bottom:1px solid #333;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);float:left}.pass-input-aide{width:22px;height:19px;display:block;cursor:pointer;margin-top:1.5rem}.pass-input-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4MzY4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4MzU4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hJCX0AAAAPdJREFUeNrsl9EKwiAYhWeMXUTdBdWLBLuOoEFvW9BFvVDQ3bqKwI7jF0SW+jvJG384E4bzfHPzuAkpZZWzZlXmKgAFoAAUgOwAtToIIf5urLcAewZa6AA1if0aGrcdnQGjttAKmkNX6J3IvIPW0NP3DtygF3XuEsyEad7T+E4A1emcCMI2v1DrXQUpIILMXctQQ/QREMHmvhwwLw6FYJmHBBEHQp0/csxDkzAEQptvOOacKHZBRJsPKawikRHFS+hE7QO6Q/sYcx3FXAAb4kNpyr7zX3sB93FEmY+SRNQC2lEb5Tt45/oz0gD1xFkon2QFYHJ9BRgA1YdoEYAKKm8AAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative;margin-left:20px;display:none}.pass-input-down-userlist{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzhDRjIwRkFCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzhDRjIwRjlCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QzUzMjgzNThBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QzUzMjgzNjhBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgkdx+4AAADZSURBVHja7NaxCsIwEAbgBqSTboI+idBZBIW6+KBOgosvJLh1EyH+gStEMcldEujgHfzc1PwfLbQ11tpmyjEKUIACFPD3gMYBxghnjmxoZ/W5fNwBYwz3nAXS0x6QC20WIPgImAC//IXMJIhSgF9+R27IFllzESWA7/Ir8kRaZM9F5AJC5eOwETmAVLkIIQVwy33EAVmFEBKAtJyF4AJc6ZFeMpLyJIIDKC2PIlKAWuVBBPqGGOCEtaxU/gvxQN859jHqkB1dVHNaOreLfoz0h0QBCphi3gIMAKyG6fHr2eHjAAAAAElFTkSuQmCC) no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative}.pass-input-userSelect{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAmCAYAAAC/H3lnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAb9JREFUeNrsmNFHQ1Ecx7eWMSJi9NTD3iMiRowYy1LKKNLD2FNE7Kk/IHqKntJDSmmKaaJsliKi/+L+FTHGrO/he7l+7rV27rnVcn58bPfce8/v4+w6v99dvN/vx0YpxmIjFlbYClthK2yFfzfGg044jrOEjwuQBHugHqHHKjgDXVDOZDKvOiusJpgB0+AW7EQkWwL3zKPyXek+EpOe7wmu9qZh2XVww/ndmNAVPhTHCU5eMiRb5C+XFONHusInPje70sWQsgU+BlL2OIywigNO4o0kkxU0ZfMBsmqBqia2tSon85PODymbAw8gJcbPwb7JfVhNdirGUkye++YcWfDoI3sJKlEUjl2uhJRugsUB9y7wOrkDXA8jq1PpKkziJ50NuGcetMU2qeJOFQnQi7o0l5ksJvbOJlfSG3MBsqpqbg8rqyvcY7K6T6FpU1LFLI+nxHUNXdkwzY8r3QiQVhXxBaTF+RbYYs/w491al8mfxHiaFUzKPoONMLIm2ssuJVoDrnsDa6DzF/phVzqoJXwHyyZkTTbwSmaFct74MClr+o2jQ7kaV73G40+T/Wjc/rdmha2wFbbCVvhfC38JMABCZlbvDsimaQAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:22px 19px;z-index:12;position:relative}.pass-input-pwdToggle{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA4VBMVEVMaXGnp6elpaWfn5+ampqXl5eZmZmioqKsrKyZmZmZmZmZmZmfn5+mpqampqaZmZmZmZmjo6OYmJiZmZmlpaWYmJiZmZmZmZmZmZmcnJyYmJilpaWlpaWYmJiZmZmZmZmYmJiYmJiYmJiYmJigoKCmpqalpaWZmZmmpqaZmZmZmZmYmJiZmZmampqZmZmYmJimpqampqaenp6lpaWZmZmZmZmZmZmZmZmZmZmXl5eZmZmmpqalpaWZmZmYmJimpqampqalpaWmpqampqaZmZmmpqaYmJimpqafn5+ZmZmmpqbbCXr6AAAASXRSTlMACmkhHxWfBwH8+OUN9ufaRyrLSsFlpxi7ENDhYd+sfU3q8kIcmXjtg/7D1lI+joNBNyaPvm6KXsYwOK+osljs3OnEw3Gzk/pszOrydQAAAbpJREFUeNrlU+t6ojAQFVFCAAVEFKUgiC0q3mq992Lt7fsm7/9AixNgrd19gs6fnEwmc04OQ+kXhSbuD9PosBc7/6sgy8lsF0Ma/cbXRJT/VVNZJ6CoerfR6CaqAo115SdRsIPYmQeiUCrJA2PuxLCbXJFWNwqs7M5FwnYo3bS/UfkQSxUufbkcaGfUnoXgX1AOniEJzkLJ/cMrY68P9yTdyFYCz0UvrQXdKb6vXGdH1z2yepmc99MutDIJpKd4U0Q3p9rjQtMWn7X6DSYij84FRJZKbTRFbLIhpoQha4p49kLVAEFr5HPmcq1p8ubmW62MoCPRFgIPDH50y+4ym+U7dsuRBTquMex54omhEmzKnjg4QIirDlbRKS8qOgVZp5S2eq2pmWmq+lRCYBSve2dDgqbkr5O3VDVyn9SI+1RPfRKExSP6hPeVHskclyCJuOMndnLdU+54pIOk5TLbPnhbwr+dy5jLvx3ZeoBq8yrp7xSYpoi3K1IMUvvbPPX6o9X68trHCpQeTxQhGA70x7MXs0rkTjrs4z44hvBzxu0djEKccT0cwdhG+uuQRWvuqBQAwvHGwr/lV8Qftuw0O3ggesMAAAAASUVORK5CYII=) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-pwdToggle-show{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAkFBMVEVMaXE1e/82fP82e/81e/81fP82e/89ff82fP81fP81e/81e/81ev82fP81fP81fP81e/80ev81fP84e/80fP81fP81e/81fP82e/82e/8zff81e/81fP82e/82e/9Cef81e/82fP81e/8AAP82e/80fP80ef81f/82ff82fP81fP81e/82e/81fP81fP82fP9qlGdGAAAAL3RSTlMA2/mUmzYwDOvFYqNRIvzfjEqBEBbne3Hh/gnvRMr1A7rYWwFvaSkfPamGn7MrrIf6PmoAAAFJSURBVHja5ZPJloIwEEWFhJAAEiAyySA4j13//3fdVtCAh0Xvfasi554aH4uv0fro0SZt27Sh3nE9zzik5zagbN4TZwZZkiK0RbQ9M3beRsIOJVl+MrEIK78+Kf2lTrVfhSKeILuDBX2wGj+tgh6sw/gl50DYM3ADcu8OumlGgOeG8TgkmMbxJQDfboZkCXDvxdQWJC4yHfyJYox5E5DxMFcHN4VvN5z/akooCkLPmNkW0xNKhC7Pyjud7tHbGQYN7HUTkV4lT9Ri7enBNnkpMODAdPILaHH/StOf4QyQzkMo30DTcqFhwqspN228MFARTxtfitcKqIGoa1Yws0xU50yXiWcpM/U+C4D0kVFZyb3RgSuI3ge+kwDzsgiqfGyVvZyzitzvFmMF2nTucFltumDGvmVr7NuWBdr3Uw61zI9gUedfv9S36BcT/SwPiz/IggAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-clearValue{width:20px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAJ1BMVEUAAABMaXFFRUXz8/MAAAAAAAAAAAAAAAAAAADx8fEAAAAAAAD///+VXwL6AAAADHRSTlMzAEHYHS8CKQfREQq/Q1+sAAAAsUlEQVR42pXU6w6DIAyG4W/aE+j9X++SynB1mnbvLxOeRCMUvAr9j6STMsBKXR6QEWPGZDdICJdIrsgUP6lFtDFu4u0b2WmishOJ4iGViQiP0QcZvNYWzJbW4NlANNC+LtOs+0B0IOG54Co+sjjqQFgKBuiOCFFFA3KkiCoaqCNGVNGAHQFRRQNUUf666ofnv6D+M/NtyTe4flTyQ5cf3/og5COVD2c+5vULo371JJXRG1ESBwk5JTX6AAAAAElFTkSuQmCC) no-repeat center center;-webkit-background-size:18px 18px;cursor:pointer;z-index:12;position:relative}.pass-form-vcodeImg{float:right;display:inline-block;position:relative;width:10rem;height:5rem}.pass-verifyCode-img{display:block;float:left;-webkit-box-sizing:border-box;-webkit-border-radius:2px;margin-left:1px;position:relative;z-index:15;height:4.8rem;width:9.8rem;top:1px}.pass-form-item-content{height:14rem}.pass-text-area{height:12rem;resize:none;font-size:1.6rem}.pass-form-item-realname{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0;padding-top:1px}.pass-form-item-code{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0}.pass-form-item-accpassword{border-top:0;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-item-smsvc,.pass-form-item-smsVcode{width:64%;float:left}.pass-form-item-password,.pass-form-item-idcard{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-input-wrapper{float:left}.pass-form-VerifyButton,.sms_verify-noVerifyButton{-webkit-box-sizing:border-box;display:box;background-color:#fff;border:0;line-height:4.8rem;width:98%;font-size:1.4rem;position:relative;z-index:12;left:1%;top:2%;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.pass-form-VerifyButton:disabled{border:0;background:#fff;color:#d6d6d6;opacity:1}p.verify-button{position:relative;height:5rem;width:33%;float:right;background:#fff}p.verify-button:before{content:" ";-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;z-index:1;-webkit-transform:scale(0.5,.5);-ms-transform:scale(0.5,.5);transform:scale(0.5,.5);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px}.pass-form-item-univc{width:100%}.agree-link{text-decoration:underline;color:#999;display:inline-block}input[type=text]::-webkit-input-placeholder,input[type=password]::-webkit-input-placeholder,input[type=number]::-webkit-input-placeholder,input[type=email]::-webkit-input-placeholder,input[type=tel]::-webkit-input-placeholder{font-size:1.6rem;-webkit-appearance:none;color:#CCC}input.pass-button-vcode{z-index:10;top:0;float:right;margin-right:.5rem;width:40%}p.pass-form-input-wrapper{position:relative}p.pass-form-item.pass-form-input-wrapper:before,span.pass-form-input-wrapper-forvcode:before,span.pass-form-vcodeImg:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.border-lighter:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code{margin-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username:before,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code:before{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password:before{border-top-right-radius:0;border-top-left-radius:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password-other:before{border-top-right-radius:3px;border-top-left-radius:3px}span.pass-form-input-wrapper-forvcode{position:relative;-webkit-box-flex:1}p.pass-form-item.pass-form-input-wrapper.pass-form-item-content:before{border-top-right-radius:0;border-top-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-realname:before{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-bottom:1px solid #e6e6e6}p.pass-form-item.pass-form-input-wrapper.pass-form-item-idcard:before{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6}p.pass-form-item.pass-form-item-error:before,span.pass-form-item-error:before,span.pass-form-item-error:before{-webkit-transition:all .3s;border:1px solid red!important}@-webkit-keyframes progressError{0%{border:1px solid #fc4343}100%{border:1px solid #fc4343}}.pass-form-item-submit{float:left;border:0;background:0 0;margin:0 0 1.5rem}.pass-button-full{color:#fff;font-size:1.8rem;width:100%;line-height:4.8rem;height:4.8rem;background:#5291FF;border:1px solid #5291FF;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.pass-button-full-disabled{border:1px solid #5291FF;background:#5291FF;color:#90b6ff;-webkit-border-radius:2px;border-radius:2px}.pass-button-full-active{border:1px solid #3c76ff;background:#3c76ff;border-radius:2px;-webkit-border-radius:2px}.pass-button-auto{z-index:12;position:relative;display:block;font-size:1.8rem;color:#666;height:4.4rem;line-height:4.4rem;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);border:1px solid #ddd;background:#f1f1f1;padding:0 2rem;cursor:pointer;width:13.6rem;margin:.5rem .5rem .5rem 0}.pass-button-sub-full{background:#fff;border:1px solid #d6d6d6;color:#3c76ff}.pass-button-auto-active{background:#eee}.pass-button-disabled{color:#ccc}.pass-button-sub-default{width:100%;line-height:4.3rem;text-align:center;-webkit-box-sizing:border-box;background:#fff;border:1px solid #ddd;margin-top:2.5rem;-webkit-border-radius:2px;cursor:pointer;color:#666}.pass-button-sub-active{border:1px solid #ddd;background:#ddd}.mod-btn-colwrapper a{display:inline-block;width:12rem;padding:0;border:0}.mod-btn-colwrapper a.pass-button-auto{background:#dfdfdf;margin-left:1.4rem}.pass-button-minor{font-size:1.6rem;width:auto;line-height:4.4rem;background:#e1e1e1;border-color:#d5d5d5;color:#666;-webkit-box-sizing:border-box;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);-webkit-border-radius:2px}.other-log{border:0;background:0 0;position:relative;color:#3c76ff;cursor:pointer;font-size:1.4rem;line-height:1.4rem;height:2rem;line-height:2rem}.pass-button-other{color:#3c76ff;font-size:1.8rem;width:100%;line-height:4.4rem;height:4.4rem;background:#fff;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;display:block;text-align:center;border:0;position:relative;z-index:3}.pass-button-other:before{border:1px solid #3c76ff}.mod-vcode{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1010;background:#000;opacity:.7}.mod-vcode-body{width:30rem;position:absolute;left:50%;top:50%;margin-left:-15rem;margin-top:-15rem;z-index:1012;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-vcode-content{background:#fff;padding:4rem 1.6rem 3rem;text-align:center}.vcode-content-btn{height:4.4rem;line-height:4.4rem}.mod-page-verifyImg{text-align:center;margin:2rem 0 .6rem}.vcodeInputWrapper{display:inline-block;position:relative}.mod-page-verifyImg img{height:4.6rem;width:11rem;border:1px solid #e0e0e0}.small-tip{font-size:1.2rem;color:#adadad;line-height:1.4rem}.vcode-close{background:url(/static/appsapi/img/vcode_close.png) no-repeat center center;width:3rem;height:3rem;background-size:1.4rem 1.4rem;position:absolute;top:.7rem;right:.7rem}.keyboardInputEle_focus{color:#fff;border-bottom:1px solid #3C76FF}.vcode_error_redtip{color:red;height:1.4rem;line-height:1.4rem;visibility:hidden;font-size:1.2rem;margin-top:.6rem}.vcodeInputWrapper .vcodeInput{display:block;position:absolute;border:0;height:5rem;width:20rem;left:-1rem;font-size:12px;top:0;color:#fff;opacity:0}.vcodeInputWrapper .vcodeInput_9300:focus{top:100rem}.vcodeInput_ios:focus{visibility:hidden}.keyboardInputEle{width:4rem;height:4rem;display:block;float:left;margin-right:1rem;text-align:center;line-height:4rem;border:0;border-bottom:1px solid #aaa;border-radius:0;font-size:1.8rem}.keyboardCursor,.keyboardCursor2{color:#3c76ff;font-size:2.2rem;font-weight:lighter;-webkit-animation:blink 1s infinite;animation:blink 1s infinite;border-bottom:1px solid #3C76FF}.keyboardCursor2:before{content:"|";position:relative;height:4rem;line-height:4rem;display:block;width:4rem;text-align:center}@keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}@-webkit-keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}.keyboarddone{border-bottom:1px solid #3C76FF}.keyboarderror{border-bottom:1px solid #E85352}.mod-dialog{position:absolute;top:0;left:0;width:100%;height:100%;z-index:101;background:#000;opacity:.3}.mod-dialog-body{width:80%;position:absolute;left:50%;z-index:102;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-dialog-content{background:#fff;padding:2.1rem 1.6rem 1.6rem}.page-dialog-content{line-height:2.8rem;font-size:1.6rem;text-align:left;padding-bottom:3.5rem}.dialog-title{font-size:20px;text-align:center;padding-bottom:3.2rem}.page-dialog-title{text-align:center;font-size:2rem;color:#333;margin-bottom:3rem;line-height:2rem}.pass-dialog-orangecolor{color:#ff5400}.dialog-content-btn{height:4.4rem;line-height:4.4rem}.dialog-content-btn input{background:0 0;border:0;display:inline-block;color:#333;text-align:center;height:100%;width:47%;border-radius:2px}.dialog-content-btn input.pass-dialog-btnleft{float:left;background:#fff;border:1px solid #ccc}.dialog-content-btn input.pass-dialog-btnright{float:right;background:#3c76ff;color:#fff;border:1px solid #3c76ff}.pass-fast-dialog{padding-bottom:3.5rem}a.dialog-banner-mainbtn{background:#3c76ff;color:#fff;border:1px solid #3c76ff;height:4.2rem;width:100%;display:inline-block;text-align:center}.footer{margin:2rem 0 1rem;text-align:center}.go-safe-manager{display:none;border-top:1px solid #d6d6d6;height:.1rem;position:relative;width:19rem;left:50%;margin-left:-9.5rem}.register-content .border-none{border:0}.fastlogin-bordertext{position:absolute;left:50%;margin-left:-2rem;font-size:1.2rem;color:#bcbcbc;top:-.7rem;z-index:10;width:4rem;background:#f5f5f5}.fastlogin-layer-login{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.fastlogin-item{padding-top:1.5rem}.fastlogin-item a{display:block;width:3rem;height:3rem;background-size:3rem 3rem;margin-right:5.4rem}.fastlogin-item:last-child a{margin-right:0}.li-img-tweixin_sso{background:url(data:image/png;base64,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) no-repeat}.li-img-tsina_sso,.li-img-tsina{background:url(data:image/png;base64,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) no-repeat}.li-img-qzone{background:url(data:image/png;base64,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) no-repeat}.li-img-tqq{background:url(data:image/png;base64,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) no-repeat}.li-img-qr_app_login{background:url(data:image/png;base64,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) no-repeat}.li-img-device_login{background:url(data:image/png;base64,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) no-repeat}.li-img-nuomi_login{background:url(data:image/png;base64,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) no-repeat}.li-img-voice_login{background:url(data:image/png;base64,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) no-repeat}.li-img-huawei_login{background:url(data:image/png;base64,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) no-repeat}.li-img-feifan{background:url(data:image/png;base64,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) no-repeat}.li-img-meizu_sso{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACSBJREFUaAXlm2tsFFUUx9vtQilQkEfEGOoLEeQDjUQESUu3W2IwokSIJgbSRCpPDVHgAxjFd4wR/WCEApIQK6iJlIiYoNjHLhAQEJNiIBQ1kUcUDI1iAfvc+vtPZ5pZdqad7YvtepO79865595z/uece+/M3NnUlF5ILS0tvgMHDtzR1NR0TyQSuQWRmdAyfT4fRcsVrmupX/D7/adzcnJ+S01NjfS0Wqk9IaCysnIAgPIYO0gZIGdTv0g+qRJgtdBqKSV/MPVMylHkCSohV5FD1Csow/n5+XXUuzV1K3AAB/DoPDScCxhDecqKgQMH/jBt2rR/vWh+8ODBjGvXrt0PYMNolDJaKRGxHQOEvIzhhafLwAHmq6iomI2wl8h+FN3Wv3//7YTs714U6IiHKXJrQ0PDPOTMh7eJ/GYwGNyFnC5Nhy4Bx8M5zc3NG1CmHo8YCnUEpCvtMjARJQOnk5+dMWPG/s6O1yng+/fvH4YXPkRoHpZfhge+6qwCnemHAR4jAtbTdx/R9Vxubu5f8Y7ji7cDXh4P6KMAPj9y5MhxvQ1a+komssdLB+kineLFEZfHy8vLH0ZACQJXIrwkXmE9wY/3C/H+e4xdWFBQsMerDM/AEbCC+bUqLS1tDqvr914F9AYfHp/KWrOTdWYdDnnfi0xPwPH0aqz6NqCzAH3ey8C9zQP40TimDLl78fzyjuR3CLysrGwlof1Menr6A2xRtR0NeCPb2foy6+rq/sHzmorter7dxQ0rzgTISm4lH0p00DK4dFRUakqa65GrH1w9rpWSAfYx0OxAIHDIdYQEbNCcR/fdeD6XqXnKSUVHj2ufpuPXhPiqvgZaILX4aucRBmHxDFw3J3QsTZQty0nxjmjSXRjMG60Y9hiPEyY5cOWNGDHi9RjuPkYwMUxngc69XvUo4GxZPsKjGEsty87Ovno9c1+7FgawPIve64XNVX9uUuZgnSOuDH20AUxHWeUft6sfZQW8/ZKesuwMyVA3MempLjYxtwNYpSq2JTkowiaMFpo2j+PtecyHbVZDspXCJowWLgM4lhgAYa7enFgNyVaa2OaaWFMM4FhiOkCPd9frokQ0mrCxsleR9RK0FThlkBwiJ3Ui3EMAFNY24PlYolyEZE5grCAHhFFv9JWz9Qo4mUELmzAKqzCnchN/V319fSVvLG93A75p06ZJMBfSftmNx6SfHTdu3Mc8JDTRZwxrx3LC62+nPv369fu0qKioGr5XGPvEkiVLdmzevHkWfSY78YvGO4Fi7r0Hmbpso8/Pdt6tW7feBJYXeKLcs3DhQse3RNzMnGGcfL+OdeisEw7HtGXLlvsaGxuPAaAZhjRHJogokyKe6urqt0pKSiZevXr1F24cGqD3d+oDgLUbN258BaCvqh0DBHl9tJsxnNhFa+Ylw1pKvQzRycsKs6RoTbR/Qf8ZYBKf20AnhdmPYJ1l6XjHMQH6SQECQBqlvFdDfYwUNMH+anYcQ5kGbRQnIU/Rfpmxh0Jron7G5DEKeDIwSon6U7bAp+OkP8m6XR5h8dIu5W+DJwUeHVbshnY31/dS/mHxWSXt/6hO2d6R00Vh1naWCaPrKyWEaBDD0/CNJbwkuFgCSBFCe7xotO1oJaXUU5eBZKg6cgFh/Yg9QwssXrx4jclvFNAijDNFY5njTYX2L7kRkI0wnUHWHHufztQZz4gYLWw6uXQFbhvc09mXjV+Wl9J7Cesj9gztNGGuYyfHpPUBnuP0HwtDhLybR8wxWjscO8RHvMK4g/14DxlGSMXX3SO3wMMaNd+Q59q7uLj4AULxO/QaRKno+YAIeNG1Q5wNAktKFWqdTw+Os78ndsbWVHoEEPfbM2GvKbPr+kHw9BRoh+EdwkLXwEvO5XGCjjLw9ePrGkMaU9tPXWfVWiW7LTFeBgK0IGaQw3jOWgANGVynAfJz2uzTZyj0Q4DWQiYFawG/hilhrAXwYgf/u6zIwzQI12Npq6FqnZvJiXfST22uIUVTK3AEXUDAKEMjlx9znAxbsw7+dSmPGgmBQ0xaOh7dzpzWmxyFuZJW/KgEuNW0azuTl+ThSWLQGFKedLOZVTdo8KjPXvo8QSl9hptZLFY/LYjfGgTnn1HCLCueZkB9ieCYWH1fwztS6DD1S2LKyspaeu7cuTMoELYtONr2nqd5b1FRUS37/1i2wqcR0uA0MPTPFi1apEVOW9oJ6qXI0YPEfYyjBS0moetHCxYs+AO+nTROcuKjf8Pw4cN1luaWJgizAPm4m6nTlwhunMlCF0ZhFWafrEau0ucXyQLQDYf5iYk+UYlYc7SSiwK3DslCB2OQHBIeC3gF9YAIyZwI8QD4hLUVOIvLPuoT9aGNiMmYhA1vZ5PDwmd4nJVZ9+M6bpmXjKCFycRWamJtC3VtKdsJhfnJClzYhNERH0v9j/qiyLGxDxPBNJv36sfsEKzFzaAR/29wU/KynSEZ6mDSKYr7CZE2dizzUzJ5XViI5OPCZndi1AUejzAPlsK0oaqqapCdsS/WhUFYeAe3TNjsGKKAq4FV7wBFuKamZq2dsS/WTQxhE1MUhBjgatVnklhqLmFSGMXdhy6kuzAIi5Parg/unDH9/z7+kYUIj1PM90Ie/EvD4XCWk9USkYbDRvOYrcfWQmFw09Ex1C1mOn5D/T2eq8/q4zmLnqildGTrKsNh6zr6rtU11O3g2OI+4Ho6D/CP5uXlnbO3JUpdUSkHsXqvBvQ7HenVrsetzvo2lIXiEwY+TChNteiJUoZCoQelG/qs8gJaenvyuAUQ0DMJpU+waqJ9tr1O65E5NS112y3jAq6RzNVeXz2W6juyG/VZmG5OtE9rywL0rPYWMicLeAp1e0cJYG+cjMDRly5dqr4Rt7eSKdnSQbrEC1p44va43Qh4P4fQL0aBOqz+RrCH/5siwHrgINp06LgUwLrL7FTqEnBJBLTx9yvKl1FIB4U99vcrZDQD+E0Af4mcqHvveNF3GbhdIBHQ9oc76MfJIZQt7+Qf7vTyM0CeSE68P9yhVEzCAAMIyek0BMn6viab8iK57S+W1K9Ab8Fzxv9MudZpTttfLKlXkivw8D48rFdj3Zq61eNumoEv5k+1AB6McSiM8+pe/1Ptf1y81yyALLZqAAAAAElFTkSuQmCC) no-repeat}.li-img-chuanke{background:url(data:image/png;base64,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) no-repeat}#pageWrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}[data-role]{-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.wrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.mod-content{overflow:hidden;padding:0 15px;-webkit-box-sizing:border-box}.mod-content-code{padding-right:0;-webkit-box-sizing:border-box}.pass-form-wrapper{margin-top:2.5rem}.pass-form-item-username{position:relative}.pass-input-suggest{position:absolute;left:0;top:4.9rem;width:100%;-webkit-box-sizing:content-box;background:#fff;max-height:150px;overflow-y:scroll;z-index:15;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:13;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest li{cursor:pointer;color:#999;font-size:1.6rem;line-height:4.2rem;position:relative;word-spacing:break-word;word-break:break-all;display:-webkit-box;height:4.2rem;border:1px solid #e6e6e6;border-top:0;z-index:14;position:relative}.pass-input-suggest li:nth-child(odd){background:#fff}.pass-input-suggest li:nth-child(even){background:#fff}.pass-input-suggest li:nth-child(odd) span{color:#999}.pass-input-suggest li:nth-child(even) span{color:#999}.pass-input-suggest .pass-remove-item{background:url('data:image/png;base64,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') 4px 15px no-repeat;background-size:10px;position:absolute;top:0;right:0;width:12px;height:12px;padding:8px;text-align:center;padding-top:15px;padding-right:15px;z-index:14}.pass-input-suggest li a{color:#999;line-height:4.2rem;display:block;padding:0 2rem;-webkit-box-flex:1;height:4.2rem}.pass-input-suggest li a:focus{background:#aaa;color:#eee}.mod-page-tipInfo{font-size:1.5rem;color:#333;line-height:2.1rem;margin:4rem 0 0}.mod-page-downInfo{padding-top:1rem;clear:both}.mod-page-tipInfo-gray{color:#333;text-align:center;font-size:1.8rem}.mod-page-tipUsername{text-align:center;font-size:2.4rem;font-weight:400;padding-top:1.5rem}.mod-page-verifySendInfo{text-align:center;margin-bottom:1.5rem;height:2.1rem}.mod-page-verifySendInfo span{color:#2e82ff}.pass-mod-loadingWrap,.pass-mod-reSendToast{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-1.7re,;-webkit-border-radius:2px;z-index:151;padding:.8rem;display:none}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pass-mod-loadingImg{background-color:#fff;border-radius:100%;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;border:2px solid #fff;border-bottom-color:transparent;height:20px;width:20px;margin-right:10px;background:transparent!important;display:inline-block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}.pass-mod-Mask{background:rgba(0,0,0,.5);position:absolute;top:0;left:0;display:none;width:100%;height:100%;z-index:100}.pass-mod-reSendToast{background:rgba(255,255,255,1);color:#2e82ff}.sms-verify-noVerifycode{text-align:center;color:#2e82ff;margin-bottom:15px;height:21px;display:none}.canshare-account-list{margin-top:20px}.loading-img{background:url(data:image/gif;base64,R0lGODlhPAA8AIQAAKyqrNTW1MTCxOzu7LS2tOTi5MzOzPz6/LSytNze3MzKzPT29Ly+vOzq7KyurNza3MTGxPTy9Ly6vOTm5NTS1Pz+/P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJDQAWACwAAAAAPAA8AAAF/qAljmRpmofhOMZxvnAsv5UA3IBQzXzPDzjcwEeMLRqDnakRvE2K0FIBAWC5ShFH0LGIegdaXOCUCAMSsEHi6jUlmgwlqTIwGJKvhQRgaJObOl41AA9+KARBT20HXYYmAwwOBAlyjpZzlZeam5ydhgcTE5meUQOIABKNpFEVDEEQqy8HEAJDJxFUOASxJwU3fScHpzcMvCYLBASKvWEOtsYkBxExFQ0GAc/Q2tvc3d7f4OHi4ycDEBIt5Me5ABCj3RUJ6C5vQargC7lo9Tj33wth0AjD4W5chQkCAiiJYICBQnUQI0qcSLGixYsiFkxowEZihD05/BlbYEBBthIGeYKg4QbhhoSOJFrioNDtFJcX/AAs01bPwDsLFQIk27ktwkmMSJMqhRIhAcdPC362aRDGZxtTDgJpsnHjpheuZzaB9Qpl0I2VlyZU/bkgwINpLyYQcMAApqMGASjJAknA7ogFEaSumpCIIpiuR8lVeIDAgd6KFfz6CQEAIfkECQ0AFgAsAAAAADwAPAAABf6gJY5kaZpVwTBJdb5wLMMBYAOUO+/8vBA3gGPRK8YqkcMrggg6BqdDIzHQGWERBoLwsI4OwBtBWVoIbI7c9QUOTk4NB/pdqhiCgML6NMArXgsJCUQmBxJ4EHsmfUEGawsMeI6KJBVnaFBrNW6UZQYEDHRrBwZyDgmdqTALVaqur7CxJguEsqkHAg4OCl62a3c3Ab4wFQ8UZCiHNwLDS3KoLxCNzVECBBEwA00A19QnFb2zgrXe5ebn6Onq6+zt7lcHAQYFyO+VlwAB4eoHD62MNsa8q6BACBGAQvahqyBtiAWGwRSiO5CgwYhABlrY28ixo8ePIEOKlIEkgkR3B3oU6FKzsMADciUSBLGIbhMEhZtsQDtXkFs9EnHQYEM3QY4wGBMEQMiUrsLPkVCjSqWE5ClHQw4I0NxzAAIBCrEo3JBglUfOraqA+VSkVpSqoPlgUExQ1kKWXSfXDAgwQSFEAAzqOl0XQY4Qph3bcIPJMQIECGg/gosVAgAh+QQJDQAWACwAAAAAPAA8AAAF/qAljmRpmlVkUEN1vnAsw5MD3MWs73vF3DeCi0eMVYamgwQIQCxOqcGzKDsoJILJC8JkIEcVCqKZo8K4N0fkFPkBCINTgqk2nw42YOBVmUy+YAJMAHt2JXhMhUUVaEAJhiYUQARTVBN0lZAiFQEQBnF2FQkEDgygmqhQC4Cpra6vsLFEAxQGf3wBCAgPsjEFeQAUrBZzQFq9JgsEg6ckjQAGyCYDwDePkYnSJQtjTMfbbhCZ2mFd4yMLA7fa2wEEBOLsdger8vb3+Pn6+/z6fQ8t+sEoB8BBGYEWKjSYcqDLsHwBAEg4YAHRDS8ILTyQSJGgg28CD0yo1CdBs4wog1OqXMmypcuXMA48zFjhAQEGDfYtOEeiwSSK+JQhAFliY5o1+ArciPaCWpCZvQ4YEIC0qSeeMLNq3cr1ENCWFRQ4kHCyyIEHEIiiUnoRqgy2AL6mgovRDlysdhYwcPBx4IABcg9BIKDIVQUpMSJCc7vvwLImeAUKAlCX5YIAFCJ3JRICACH5BAkNABYALAAAAAA8ADwAAAX+oCWOZGmeR1IsZ+u+8BsRAIAMca7vRl1Du6DQxPABCK7DojKEVRIQCusUMBpOlYIEwYg0XQ8f43BaKH7T0sDhI5C/Jppv0qosli2KEUCHl+Q1fUN6RoJ+Iglib0NrbUyHJBMGCWlNEwwEEJWQnJ2en6ChonAHBQleLhMCEDijLQNyDgUtDWwADqiuJBUCRgibIlU+CbolCwh7DScFhcW7gLetJQcQDg4Gj86IRhDZJRUREd7aTwwMAcDaORXj6u7v8PHy8/SQCw0Dj+ANi/RPNAggHKjwwBqDdO8G7DFwAFmNAPUsEPLh4IAtABDrTazhoEIANgQQumuwB0iFAROG+s3zaOtgRCwRJuR7SbOmzZs4c+rU0WCVtHfsXiyQQ6BdsQMCJOQy0eiWyFERahBrcaAIgG7wPEp5cSBAAqM7w4odS7ZsiwQSBB5aMAEsnKg1rsBZIOEqKIU1FPiJwIYBqArVCCw1ccethQkUBnOqcEBliQkIEMzSaVXCTkJyc6ZI4NjslxAAIfkECQ0AFgAsAAAAADwAPAAABf6gJY5kaZ5VNFRn677wewgAICxxru9PXQe7oNBk8AEgw2RpECgcWgljojWASAxP5WniqGFRAYcjwDJFCD6k1kSrOSKtymFRNkV973UJgocn7z44eiMNXQAGdUILaDVqgyMRCROJQxEGDAFZj5ucnZ6foKE7KQOaJwMGmaItC20SA1QINQyUqxZFPrQnPW5+tiMSRg6CJRN4tasMRgTEJAcBBAQNv8WGAEAudNQmDQYQE6bb4uPk5ebn6OnUKaZzyOUNDAgEDywDEggQ4eULsj4JFfjUmJIO0KwKbQA8UGcQAAMLDRA4YNDM3AJr10QsWKHOQoUCBMQg6njiwABtJH9TqlzJsqW5AwfeqXvG4EpFEhECqBqHq4aAfR6VHRnXzwiACSeKAiAwrpBRgiUC1qBAlJEPWCgmYB1ncCTLbhAAuhxLtqyoBgrq6ZnzqYIhqEkQKvR04N+aA8EMfIIG4SaJCjJFDEgAdFBMGQoU+CXJC+7KQg62sqywYLHZNSEAACH5BAkNABYALAAAAAA8ADwAAAX+oCWOZGme1XFUZ+u+8FsFDhKwca7rE+ADk51waHr8AA+isjRINHCmxnHQWgQUCeiy1ED4kqgEg5E9HQQ/8LYE+UkOroqWe0SsTYYfY76T/hx3JQsEAAhBSwcMPwmBJRUDfENWBoeNlpeYmZqbnEMqMAcFE5GdFhUUDg4KcGaKAAalJ0Y/sCcNDj4OrLEjbT8EkRG4AMC8JHl6pAVjVMYjEV4ADs0tcs4lEQEB1Nfd3t/g4eLj5Jsr5VUKBAKHCxAED7vhBxJ/ERYUP9zgfrQWyAAakOtxBFYECQ4MkLp2gJA+ESnQWRjAwAGBMhJJVFiwMKPHjyBDihzZqMIEBRB/CsgrEWqUtwRHbrRQ8KVbwyMOFqBwCKHbgmgPTwTwUckYPZw6qyTtdmtRSCvbSEpFtzHCSokHKCCwWLTRgQlLlQy1h4kmgas6bh6hgEkRgrBCBh15hWkAhQJbKtA80pVXhQcyT0Rw9arjph4OBFaZsM3wpgUSJMD1eGDy1DshAAAh+QQJDQAWACwAAAAAPAA8AAAF/qAljmRpntVxnGzrvm/1IERSwXiuDw4AOBGdcGgq+HwNorJ0GKxYC4KP8TQdEo/BsnVgOAhaViQQWLAOCp8juTU9jpAtD942JejLSM8Xr5O6X2FKFQZqgn4iFQs3bQcTCUGIkpOUlZaXmJcVEWaZLQkSBA+MJhVpAAmeJw1HqGJ7EqomhXhWUgB9siNvRwYtAwoGnboiXT4Ew8Q5CxMTycrQ0dLT1NXW19jQBwECBpEHFBAT2KZHEit3AAjP0hGtrukO7NEL76kHEAwFpNT4R8jZSixQQADCoYAIEypcyLChQ2gDAlAYwM/EgirKJiBQU6CFRgnzMlUQ0OocC1rjeJQduKUm5AABECrKgtCKgcxrEW6BYVihWciHQKWlaFgBFAIBkSYpwkjEyD+mdd7EXFKBwbuOk9JIuGmhQgMKE2Uaa5Vq0oIEB0fIOOKgbIkAreQp09NqnRUIPdpCm/AOQMoSFQY4i9Zgj6GEY6dwrbYArwMDi4mEAAAh+QQJDQAWACwAAAAAPAA8AAAF/qAljmRpnlZVoWzrvucAKRFs3/BCAIC04sCgaODgORbC5Kiy+J0OEh7EWTpMEjXlqaJAMJCoxeMBPgV4iIHWNOEBAsrDjmdYlxpueBKat5cCDhAHWhM7X36IVQNUiY2Oj5CRkpMwB4yUIzIQDS1naZglEUUADmpPcwqgJA9ubygVAjwPqiNtbgUsCwEJl5QHBg6BvbQsFRGLxMnKy8zNzs/Q0ZMVBRQJgykD19AVZ1IrEQgAdc8H4m41ogCpzwvnPGoVDQHYzhUUbgzD9gkQAfvSAgocSLCgwYOUFhQoUOYVwEgR5hAwFUPClGQKWkFgwQpAQ1Cx3PgIQ+HBw0f4fdyQE3gAgpSPARfAREgzyIEBM6MlQOAAAYV6QSZAkGAA6JoGo2QlIeLmop+MrfQJgeqG4hqXrQgYFbEgAUMUWKsiKtBq3IkJoz6ZIOuGwEkbFQzkg6kj6qUDAQg4YGDVToUrE3oxdXMkTIS3jdS1zcksbis9Ais8IMCAV6IQACH5BAkNABYALAAAAAA8ADwAAAX+oCWOZGmeaKqurLpQwdHOdFtJAADVfE8uiBzBR6xVFLmAa1AppgISgwx1mDBTBYRD0HSWIjnApHjA5Qre0iI8JlYY7HSpAHl0iQ2Cw3CX+0UVU3+DhIWGh4iJin4LBgoDKhECCn2LFgcEOQ4RKUhiliQDDmEJWA4EC6AjB0E5DS6CqhYTDAQJlbIrgbm8vb6/wMHCw8RyFQMJDXcLysMFowABTZgAD8IHcDkIMmXV19kADlPMuL0J0NLFI8cPE+Xq8PHy8/SHgbHqEQoEEg/4iwcGNPgnAlsYAAZkGQQgIJWJAgfDObT04KASEwEiblLlKYeCEw0iEiB46BypExV7DBxsA6pCgFPpUCYwYABSvZs4UVRY8E5YAwkICBToySKCAQi3/gBZSSRCpiR/Mh7c4aNiGAdEa0gNQ9XEgQYDSG4NR7JHA2g5SpkY8JTBxFBou8oxuQfXQo8oaRGQQmjBgCsmloYh8K5CVkPUwjCIl+Aqy2IVJtC06ScEACH5BAkNABYALAAAAAA8ADwAAAX+oCWOZGmeaKqurHokRdXO9AwBQFDvfCnhgp5wl3AQJq6FbIiKGJCpymKhakgcBiaKAUBQhzdcRGu6EQ5MAw7wJY8Ok7ZwAZEk3Pi8fs/v+/+AgYIHBQloKQcGD0uCIxVcAAyMJg84co0RDjgOYygDEhCTjQcEOGcqFaKNFgMCAgOrsbKztLW2t7i5FhUNE526JQsCmggJqrSEAzIKaziwuBGlDouazTq4FGsIFdVr17fZpgfMzc+3CwQODnfCmuvHs3ARSxUDccD4+fr7/Pqp/RYOBHA1Ad6fChHmoahADsedWBUMqDNwqMSAZgAIGOQzoRmUEg0wOti4p5K3E5l3mkGQNaCaA3MlipiC2aiBAAgfUSYwBrCnz5806BB4xeQFhQZ6DvzAgeDXDmFrCuTpaE0IVVN5CmCksHDBAXha1xDIg27NyxN0AGCpSKKsQz0DGBgpeKJhDhQLDEDgqUcKvAql1qzcJ6BZln0DEJi6hG9Bgnt5QgAAIfkECQ0AFgAsAAAAADwAPAAABf6gJY5kaZ5oqq6sWi1LK89zAyADre/lAwAJnlC3gCgOrspQdUhEVkrVQkB4LFEGgCQqDPwAyGsPAOHyEj+HWWx5rXeHgCHHrtvv+Lx+n68UFHN8QxVZaQWCKA0DbyI2XwAEYYgjhQqMaI8OdJNtCGmSJBOPAA4xnCIQPwyMBwyPBqcjCwEUpicLBgQECYyxKRXAvsLDxMXGx8glLxGgySMVFAgOEg3OBwNhPl+lyAsMDgQ5EqNBx9pkFa6P5cbnZZhptsVF008VAQ4ODJvHL6BuzgIKHEiwoEGDfgDxi3VAngkvaRZOmiBBQgBGCwg8guDrgKcf1UxE+PhDgq8BDne+sCPR6pWvCuNISRQxQCOAVcIWUAj0a8DMg0CDCk0RR4ABhzoOTCjw5E6qkkhlEIpoJ0LKL4d4WP3Csc5WlSgqHDjQCyVXOxUEfCEQFRqCKowqKPgSsg4uAhB+wgMwAUWTAD8FPf0BiyDEHysDelPVC9m1RXdCAAAh+QQJDQAWACwAAAAAPAA8AAAF/qAljmRpnmiqrux6HG0sywshLXOeVk0ywaiJAzDQGUkVwxDAwJ0Oj0flSC0ArlfF1FgpGCLUkwF7JQB1kaEgbBqTCVtdDWBglwbLayC8mMTtIgUOgwZ/gIcVA06HjI2Oj4ADUYuQVAlLCEWVKQuUJQsIZAyGm4FXDygNZAAOnqUWAmUoaW+kpQFXdSdJZAmvJhUTPykHCRAQfr/Ky8zNzs/Q0dJPC7bTIhUJEggCmtcVB1uqWHDXBwYITRYKq97R4wAUFm5Y7tATWHsDomfRFQEEIMAIxiCgq2tIECpcyLChw4cQU0h6cPBXOBUTQgEgAKZZAwYMJqCoEAuLrmUVfAhcQXDwgEosEJqBqoeCHRZfzSBcGYViAYQhhZwFS2BtRLWISJMqndHFwIN+Rg4MKHrkAUyoMzI6uMGogsYr9mQcYGCyax4ixIq6xKKgEa6dWC1kExDSmlVWYcNkgxCgYoMlDvLKnZBA8K1eD/FhEemwAoVBAahKA3eUUQgAOw==) no-repeat 50% 50%}.loading{-webkit-background-size:30px 30px;width:100%;height:30px;margin-top:14px;text-align:center}.loading1{background-position:50% 20px;-webkit-background-size:60px 60px;padding-top:100px}.canshare-account-list li{height:90px;border-bottom:1px solid rgba(224,224,224,.5);padding:15px 17px;width:100%;-webkit-box-sizing:border-box;display:-webkit-box;-webkit-animation-duration:1s;-webkit-animation-name:fadeInDown;position:relative;background:#fff}.ajax-loading{-webkit-background-size:24px 24px;width:30px;display:none}.canshare-account-list li.canshare-account-active{background:#e7e7e7}.user-avatar{display:block;border-radius:100px;width:59px;height:59px;padding:3px;margin-right:15px;overflow:hidden}.user-avatar img{border-radius:100px;width:59px;height:59px}.canshare-account-list span:nth-child(2){-webkit-box-flex:1;display:block;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#999}.canshare-account-list li:last-child{border-bottom:0}span.canshare-account-displayname{color:#333;float:left;font-size:18px;margin-top:5px}.canshare-account-tip{height:25px;display:inline-block;padding-top:5px}.mod-btn-wrapper input:nth-child(2){margin-top:10px}.mod-intro-tit{font-size:14px;color:#666;margin-top:10px}.mod-intro-info{font-size:14px;color:#999;line-height:20px;margin-top:10px}.mod-send-tip{margin-top:1rem;color:#999;font-size:1.4rem}.fast-reg-tip{margin-top:65px}.fast-reg-tip h4{}.fast-reg-tippaymsg{color:#969696;font-size:14px;margin:6px 6px 12px 0}.fast-reg-tip li{margin-top:10px}.fast-regSuccess-tip{line-height:24px;margin:10px 0 25px}.dialog-verifyCode-wrapper{padding:0 10px}.dialog-verifyCode-wrapper .dialog-verifyCode{border:1px solid #bcbcbc;display:inline-block;padding:10px 2px 10px 5px;width:46%}.dialog-verifyCode-img{vertical-align:middle;background:#f5f5f5;border:1px solid #bcbcbc;border-width:1px 1px 1px 0;height:40px;position:relative;top:-1px}.upstream-content{background:#fff;border:1px solid #ccc;margin-top:14px;padding:14px;color:#666}.upstream-tip{padding:15px 0 0;line-height:24px;color:#969696}.upstream-tip li{padding-left:15px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFZJREFUeNpivHv3LhMDA0MMEJcCsTIQ3wXibiBewgKVWMiAADowPkhXMQN2UAySVMUhqQqSvIZD8hpIshmI/6FJgPjNIMmNQBwMxIeA+DuUBvE3AgQYABc7EdTu/IgyAAAAAElFTkSuQmCC) no-repeat 0 8px;margin-top:12px}.prompt-css{margin-top:10px;font-size:14px}.account_login{color:#1b66c7;float:right;font-size:14px;line-height:35px}.pass-form-item-code,.overseas_login_header{display:none}.text-input-code{padding-left:2.3rem}.mod-agreement-info{word-break:break-all;line-height:2.4rem;font-family:PingFang SC,Helvetica,sans-serif;margin-top:8.4rem}.mod-agreement-info h5{margin:1.5rem 0}.mod-realName-loginSuccess{text-align:center;margin:20px 0 0}.mod-realName-loginSuccess span{display:inline-block;color:#367cff;font-size:24px;line-height:24px;height:24px;padding:15px 0;letter-spacing:3px}.logo-dom{display:inline-block;width:13.8rem;height:4.6rem;margin:0 auto;background:url(data:image/png;base64,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) no-repeat;background-size:100% 100%}.img-div{text-align:center;padding-top:39px}.other-baidu-sms{position:absolute;bottom:25px;width:100%;text-align:center}@media all and (max-height:400px){.other-baidu-sms{position:absolute;display:none;bottom:25px;width:100%;text-align:center}}.register-content{min-height:100px;position:relative;height:80px;text-align:center;visibility:hidden;display:-webkit-box;display:box;box-orient:horizontal;box-align:end;box-pack:center;-webkit-box-orient:horizontal;-webkit-box-align:end;-webkit-box-pack:center;display:-webkit-flex;display:flex;justify-content:center;align-items:flex-end;-webkit-justify-content:center;-webkit-align-items:flex-end}.login-register{line-height:20px;margin-bottom:1.5rem;font-size:1.4rem;color:#666;margin-bottom:constant(safe-area-inset-bottom)}.layer-account .go-safe-manager{margin-bottom:0}.other-text{font-size:14px;color:#96aecf;z-index:0}.other-text-reg{font-size:1.2rem;color:#999;z-index:0}.other-text-sms{font-size:14px;color:#96aecf;z-index:0}.img-item .item-icon{width:14px;height:14px;display:inline-block;line-height:14px;padding-top:30px;text-align:center;background-color:transparent;padding-right:15px;-webkit-tap-highlight-color:rgba(255,0,0,0)}.item-shoubai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAfCAYAAAD0ma06AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADxElEQVRIx53WXahdxRUH8N+c3MaSigYbq6X4mVoh5GE0tdASiqJXUuJXJCoVqUKtKcq8lFL0pVVbpL7Y1gEFBVGE1vgVFQ0xVgU/UKQ1IzYGakhKSQxaKbWNqI2948Pe53bf49knev4ve/Zaa9Z/zZpZayY4CGKqy/E7rMRT+EnJ4T9j7A7BESWHfZP8DQ5CdhiexVochytx/xi7ddiLt2Kqm2OqR0xFiKtxzIhsTUz19A7Z2XgAX25F38OmmGqYhvDcSfI2jXdi0Yj+uzhnGsITeuTHdYiP7bFZMw3hRz3y/7bflRPmHjIN4fYe+Rvt9+MJc18eJ5yBmOrRuAnfwHP4dcnh37hXc0K7+Bh/aMe7esj2dWwWIMRUl+BVnNyRF3wHH2ITzu/ori853NAGeij+iq929BUXlxwe7CNMuHWM7uaSw7Ux1S9gA1Zga8nhka5RTHUlbsE38XfcWHJ4OKZ6FNbjSPwJm0sOcyGm+gzOGEP4TsnhKFMgpvp1vIRlHfEWnD/AqT3zvtKmbBpcP0JGUyY/nWlz3of/jYn+WKzCe3il5LB/zLwze/xdOsBfepT/KDl80CFaFlN9CH/Dw3gae2KqPx4JaBGO7vF58gB39Sh/33GyFC/iQnR75OG4PaZ6bUc2qbYPDHAPNo4oXsIvOv+/0dRoH34VUz0DSg4HsL/H7u1ByWEO32/zfg1msbrk8F67uktwhclYhI3t/tI0j3HYGiZ5ianO4nEsbkV3tOO+ALZhNY7HHy1sCLuwupcwpnpOm+olQ1nJIcRUD8e/JsT5FC7Q7OUsvqZpdU+UHD6c6SH7EW7T9trPiVlNO7yg5LBpVLnAYUx1gN8itaI3cR/eH+P4IczhovZ/v+aGmMHZeDqmel7J4d1eQmTNs4Lmpvhhe+o+hZLD+jbIYePYXXKY7aT823g5prqm5LBzOG++Zto9G5LtwYaSw4GY6k0x1Z0x1TJFepdjaxvEQkJ0i/fRksMH7Sm9rp14/BSENM+U+W40aFe3uE3BEMN35/IpSUaxbnSFS0dWOyR60v/fL334yMExX49DknctrK21MdWTSg678S38THPlzCOmOrx+TtGUwlUTCN8eDmag5DAXU30MP2jlS7Alpnp5yeEFvDbGyb0x1ctKDjuw4yArfH44mO80MdUVmta0eMR4N/7Z+V+E2Enn3hH7gYUHrGJVyWHbAsKW9BLcjS9+hn35rPhlyeHnn1phh/QEXI4TW+L3Nbf7LryO7SWHd2KqM5rDEHEWTtOUwJc0XefPuLPk8FjX/yc/cCmMexx7NAAAAABJRU5ErkJggg==') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-tieba{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB7ElEQVRIx+2Wv2sVQRDHP/O8JBK0C4gk2BlQooyV2ljZCUKsggTTiSKLiGCMrUWKYOP+A8KDkMKABK2EVBaJ1YIBBUGDhaR80YCIkbG4e+Sy2Rfu/bCI+IWF3dnvzndnbndvRJ0JcAeYBkaohlPBy4fmQJ0dBRpADTBgJHj5mlqYAfeAJxWFmuiLxrWiAUjhN4kMuNumWBXMqrMtYAAYLNl/ZsCJkuEm8LmFk9dtCF7fL8IyVoKXdymiOutJ6Mlcq7MNoJ/8AFwIXj626Xce2ErYt1t93GOl/uEOApkJXr6kJmrteuoW/wUPvmDWzWJ1NgkMs/ck31ZnjcSSza4EgQfAmYT9YQv+5sFKaYQ1YCNhHwL0bwjOBi/zsVGdXQFeNsf//rXYI6jOjkSmwYq+KiEDVtgpGb4DYxFnFFiNeN86FgxeLkYR3o84V4F6zOsUu1Kqzs6RlxlljKuznojtElRn54FX5H/6Mg4Bi8V818jU2TVgHJhg514a8Jj8ieoHjgNv1NlzYAl4Ebz8iHyNqbPLCQ0t9X9nwGKCNB28zKmz98Az8nIvKzY1AZwF4mJrpmj74VN8LRrAjeBlDiB4WQAuAeu9SCfwtEZeXa0Cj4CTwUu9zAhe3gKngVvAcrGpX8X0dkWhdWAqeKn/AeHLdg+EotRhAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:14px 14px}.item-yun{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAbCAYAAAAZMl2nAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAEmklEQVRIx62WW2xUVRSGv31ml15ordMiIPdwMcUI6AwtkNRLVBBFioQUuQiICdEEGAgkxgdagRYhk5QApSbYaAxNEBCNXB+KMSAmwEynLdEHrg8iRBAQwkBpy559fJiBnO4Oc1phJetl7/X/6z9rrb3PFnTTxla2C+BtYBbwKvBsYutv4FdgJ3CoYVUPuzu8ojvB/rVtI4A6YJxLaAhYEClPP/3Ehfg/vzcOqAee6iLkNvBWZE3miScmxFfWMgA4BeR1VXjCbgFjGiuyLroFyi7RaV2TREQM+In4XEB8Xt4DLEfM00ANMPWxK/LSZ9ERwFlj+QpQ0rQhJ2zEFgH7gd5G/MimDTkp58XCzbSejNYYXmqKAGjakBNC65lJ4ie7pXEVYmvbb2sbhx9tCub+9qj4pmDuUVvbxwyM/7GFENN9iGkc7n4KYvq4genjBnEdVlvb+n9U0eTVbphOQnyVygOMB14BhhTcCBcP/beZWFuMUO5rXOvRt7gLQl7GshDpEiE9COkZ7qtUXwKXiJ+y442rZMyJ6XBqfBXqTaAaKDDJK07OpP+d8xzxTuFn77TSA9+M35NMxJjAjRmiZ8YeKys9ldbTQKCxTB7uVGbfGhVAU4+mAJ0opsOvZA3GQvP6zf0s+6t818K5P87uJGL5zTlWbvZuKyOdZBwOL0BT71ujAh0q4l+tZgBJvxAgS0X5IjSd3PbrD9cupg9l9cDNx9qsjKOAENIzUeblFgnpceucaaWR1XKP8JerLOAC0NcIuArsK7x2OG/Kxa/7Dbp7ZoKg4w91V95H7PXOQngs0np5SSrCto8gxHGgF1ACmCfoCjBM+MtUANhsbO4AFkUqZMuDhZp3l83ztZz8tqe+87CdLVY2nwzZjdWnN0Iac6+1jrW2LWyuytn+YMlfprKAWmCOkS9goZlu9K8ZzQKnCIDFBzbXXZe9P3SuxTxpZObnICzZcQaU3R671z7RKQIgUiFb0CxI5HBipltCM0pocPiWyDqpkjVzav2+OuA8QDTNS/D5Wu7LHAz8LYEY27wx+5dkHJF1UgnNFgMz2sImHxscfs5luE5H07wER9ZyOXM4BvY2Nm80rJe/p2SwOWfg8iWaO0C2IyzldRyV3oHBglouZww378vbwKSGoGzEzXSnHFELm7OGuvmPwn83bdG4Tc9Vj7mckbQSkxqC8qSrCBI5jC5IoTkI+BxhJYUrVSBcJbc4sYUr1TN1bZf2XksfgHBUQmBHbcSkcFVcROFKNRuYD5wD1oar5HWDJ4CmxJB2UBSuUP2I3yMZxuYh4i/yG4AfWGy2Tdr3lRJpxeGNCREr1ItAkyPkKrAVaATyib/83zHytALDBEDhcrUKqOhSWROWptvs/q0XSr//avQPD792uZoHbO8OD1AW3iQrrUTP1mOzw+hbKr87qOXM+04RCZ4jiXnpKs8ObNbHW5ywoqXKA5QDnyZpk9P+AD4IVctTyTaLlqpRxG/mF1JwtAJBYG2oOv4c6PR4LlqiBgMfA1OAEUAm8A9wAtgF7AxtlSkfOkVLlARmAHOBCcT/M/eID/BBYFtoq/zTifkPzJoOHOT14icAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:17px 14px}.item-map{background:url('data:image/png;base64,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') no-repeat 50% 50%;-webkit-background-size:13px 20px}.item-waimai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB1ElEQVRIx+2WMUwUQRSGv7ci0cAVZ0eDHYWZipAQ7bCAxExobCguWlhaYIwFFYUFJtAYSxITxWAMDc2EhgRDdxrPhomFQkJsJCZwQAzBgIzFDtwlt+fOeXtX3V/tznv7f9n3Zt+OOKX3SJFYc80p/QiYBiaAQ2AFeC7WPPUeRbHmjlP6HTD6D7tiF5BPg3pd8bmXgfPnrvpYHsj5694Uz1wUCMxUHWgH2oE2pK4Gcl8Bq8Am8AcYAnZ8bAj4lTlUrNmpggCUqmKlUB8ILK9TupE2XMoECvQ1AO3PCno7sCL9wEAI9CTAb8op3R2Q94T0fXIaAfsBZjeAl07puoZO6QLwMMCrHAFfQ0oHFIB1p/T1BOAMsEBYu75FwIdAKMAtQCWsa0ACPT5GxMeOduk3sBYB74HvbYIuizXlSKw5A2bbAHTAHFQaPw98aTH0tVjz+QIq1pwA94hr3gptA4/Pby62uB/aD3wZstQBMC7WlGugHrwI3AeOMwLuAmNizUb1Ys3HLNa8AUaAH00CPwHDYk3NHEicIGJNkXj0vfiPt/5J3L+bYs1WUkLdWSrW7AOTTulnxCW/CwzWST8iPlW8BZbEmqMmq1SRUzrnlO5JWE/9cVfrL3vfehZhAhjFAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:15px 15px}.item-nuomi{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADwklEQVRIx62WX4jVRRTHP/f2o+yfNt12t9DM3B7C/tAm+VLisGEI2ltFRUJSLxWIDERFD6099BKMQpAQYUaEWwSGppQVDNVGkEqJKK5LK0WLu+42ClKuurs9zJnrMMzd3bTvy/nNOed3zpxzZs6ZGhm8NhuAxcAG5ewk/zOqAu8N4AZgC3CksKEO4BPg1v/g5wLQo5zdXnltGsArQK9y9gBQi5vx2swDXgN2Kmd/FP4qYMUlBLce2F4BTwMvA13AykzpKdnMMqBbeLuAL4BbMt02YCFwBjiaySaAt2NKR4V5e2FXnUJPRoZy9i/g0UKqXwDeBX5Rzi5vFWYF/C7fC7w2tUy+SOhxMfoSsK6FrTah93lt9rXQOZg6vAroyBRi1MeFPgksZXpcN43O0goYIpyiSmrQMsIE+4D3gamEt4JwHgaQeiVYDjwDUFfOTgB/iiA96tcAjRYOvwE+Ax4EJpWz7wE/iOyErA8DDwP7gd74Y13oB8AhEUb8A+wG9gL9hfQsAtYCj8n6ykzeDTwhm2qiAlDObgQ2AnhtomxKObsmMzIAPAQMKWf3e23uT6K/OtN9SzLxE3C3lO2PymuzCViTRHu90D1em3PyfZBwYJ4jNIJhcfYz8C3wSCEDrwM9wHrl7DvSRM5XwPOEk5VjQfK9GLhNOdsPnJBMDAIfAd+JzrjQU0md74y1Vc7+HVO6StIU0QPMATZH40C/OGtCOeuBZxPWh4Rr1SvyPqAvj6Imu+0A5itnD3htTgHzgHsJBwfl7IDo3QF8XqjXbGHjtNgFPOC1WZYI50rBp7w27ZKSJcBdl+gMoDs6XCI0rWWNcBcB5gPHgK8AA9wEXJEZ6yIcnnEpR4qzkq0vK6/NHOBaEYwkSqeBc4T71QCOKWfHgU2lrXttPpXPvcrZV1uFWMluI0Yz+RhhDHUkhrsIlz4d3jVgdbThtXm84GsU+L4C2jMHKUbEYUOcrSbMwumwjtYTZWudi/1yTDl7obArkiykzf0s4KU2cT3F9NB1Ls6xsYJC5LUXZDcrZ28E3pT1ZuVsHXhR1luUszXlbI3Q6AGq1OFoweiw0EYuUM6eZvZovhjSlI4UFGOEbTNZnC3qSbpKKY1RX67D5v1OIzxZUIxRN2ayOAOaTaJOGLKDhPaWo48wmHdcpsMmKuXsNmBbSaicHQLuSVjnC2oTQuOVijN0sqAzUXrqjxFaXSnFRwh37XDC+5jQHLbKegdhDqZB/Ep4jnydv0Px2iwE5ipnD5Wi9tp0AsPK2TOzTaO8dzuB3/4FNUwSC0AuesEAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-purse{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADDklEQVRIx63WT2hdRRQG8N97RomOggZsqYJgrQqimytKW70FlbQ760ZwUcU/K3VlUIIWV4JWcakIIoIGRSyIRARjSxVGrC060o0IFhdisUIJ/uHGok3i4t4nLzdz05fit5tvzpxv5szMOadXlcU4Ep7DhyGmv6wDVVn0cTPuwd24ESewL8T0ysCu1xgfwh1YwGF8je/xE042PFyCi7EZW3ArtuGyjn08GGJ6a1hoEp+u5yQj4nCIaTv0IcR0AG/8T84XcQzv4u0BOTZk8HgTlvvOwflJ7MfHiCGmhbZBb3hQlUUPD6sfxqYRBD7Dy5gLMS2uZdjLkVVZBBzFDR3rDmFviOmrUY881iaqstiI2Q6RE3gixLR/vbFth24TIq7J2M7ioRDTfGO7V32fl+M8zGMO07m/2BsSGccX6s/XxtN4McS03NheiG9wNcYz9t9he4jp95zQ843DNh4LMb3WFZKqLG7HR7i0NbWIHSGmL/8TqsriKhzH+S3jF0JMz4xyB1VZzGFni17G9SGmH/oNMZUROY5nRxGBENMufNuie02I9Zq/c8Lqf/NIiOnNzM434qYQ08GOk/1j9Wt+qo8NGZGFDpEtzQ4PVGWxr+Nw72e4J/vyGSB1iHyOKxtqukNsKsNt6OOizMSxTLiGRQZYJRZi+lX9CIbR6+OCjNDp1nhbRmSAR5viN4y2kD5yFfXa1nhWnfbb+AM7Q0xLGb+riN8yDlZkh8bRAy2xU5gMMR1phXl3xt9SHz9nJq6oymJFUm3KwEDsFO4MMR3NrH0pw80PMsMRdf0fxo8hplxyVZXFWIjpTIa/RV1e2nh1EMvXM5Obq7KYyQl1iEyok3Iby5geCM10hHBP0yGtieYkv8i/4A9CTNVw9t6FTzp8ncE7mBrUo2bNbvWdXNe1B0yEmP5uF76DuOssB1jGkrrYrYUl3DYo9+33PqluHtdCb0SRe4d7iq7mZAZ7nBv+VH/iFY1LP2cZYrofO9Qt8ahYVN/jRK476p1tdVUWW7EXW9U99nDYTjebeU/dUyx0+fkXIQsECBl2Z4IAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:13px 15px}.pass-user-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4M0U4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4M0Q4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+KUOq1gAAARVJREFUeNrsl88HAkEUx5t+SatIZBXRuWt/QmpF/b2ViA5JVpKNDhGROnfMttt3eOdtVrPzih4f5jL7vmbe+85bEYZhijPE1wsQQnycJCrHTwkYgQBMwUOXgHSM7+RAHTggq6sG4ggYgzuwQR9kOIqwRFdhgTNdR2C6CMskoghOYCZzmO6CChiCAjiCeZSIpNqwSiLy4AAWHD5QAwMS4YElhxHZJEK25g6sOJywQa0pRWyAy2HFTdAjb1mDLcdb0AJduY3qwdNpxSohfWFP645uK1Y9gTatXdPzAGsNsHYBqw+wOiHrW8D6GrLOA6wTkUXHLk/gQjPi0+RU7FDyG5ioJn8XccZrH1wpuf//NTMmIOl4CTAAiNLM3uuw2aUAAAAASUVORK5CYII=') no-repeat 50% 50%;background-size:16px 16px;-webkit-background-size:16px 16px;width:16px;height:16px;display:block;cursor:pointer;margin-top:22px;margin-left:5px}.user-text{margin-top:4px;color:#999;font-size:14px;display:block}.combobox-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;z-index:16;transition:all .5s;-webkit-transition:all .5s}.combobox-mask.show{opacity:.6}.mod-page-downInfo{font-size:1.4rem;color:#999}input.pass-button-verifycode{float:right;top:0;right:0}.mod-page-sub-tipInfo{width:75%;margin:0 auto 25px;background:#fff;font-size:14px;padding:10px;color:#999;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;border:1px solid #d5d4d4;position:relative}.mod-page-sub-tipInfo:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #d5d4d4;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-8px;margin-left:-11px}.mod-page-sub-tipInfo:after{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:7px solid #fff;border-top:0 none;border-left:7px dashed transparent;border-right:7px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-10px}.mod-page-tipInfo-black{font-size:1.5rem;line-height:2.2rem;margin:4rem 0 0}.user-info{margin-bottom:.3rem}.user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%;display:none;overflow:hidden}.face-user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%}.user-default-img{display:block;width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;border:1px solid rgba(218,231,253,.4);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAHa9JREFUeAHtXWuwXFWV3vt030ueJCE8ApKgYswkUatUKIGRRyJTwij6RxmrLLFqYOYX/5yp0dKfWjo14z9+zeBUiUWVrz+ID6zRXB4OaAFjjUCoayiBhEcIuQlw877d58z3rbXXObtP9723+/bpvt2Qfe/p/Vpr77XWt9c++7y9exuEqeezFckptzVNm9vSNNvmnd8GtS50Plubpm5t4vzaFGmUr6W6mctmk8zPMvaJm3WSTg8lrjbdTLLpiaQ2na5w+3a9x58ad/P4cVTgoaey7XN+bjeA2QWgPgrwtvjMAUdBjwCKWgC0SHukpThDaVQe0izjP1mF3/sUbe9H209ioExNZBN7rv+gf3bc7DUWAE9NZ+e7M83PAqDdmc92w8ibciCQiQEjAJpHHAEmAKKO4HlWGJA5vQ6KhfjBdzDL0j2JT/a4ydp9u7b5w6Qf5TCyAO/bl53z0pnmLZhyb/OZvyl16QQNaWAKYAFAMXCULnuw8VTJn7hkLkvcA4l391w6Wbt/61Z/WuQYsZ+RA/jBp89cmWbJ7bDT32VZtl48jnOnARjidhAVvjJ9OW/tVMmPnt+Ad/8o8bXv3fAB//goYTwyAE89NXdDlvmvYwq+EcDKNGoxd542gZo3xtMs00IbBoLxWTxMfsjyG0jzrV0fnHhwFIBedoAffKZxM6bhbwDAaxQkmqVw11YPBJXsPwm3LpQMaLKMEj/EfDRJ/Ddv2Fn/1XICvWwA73km+5hLG3elWXaFChEAC15Ir8uBjjxUAWcVEQ2LJrHgaPJDzCdcUr9z907/h+UAeugAP/pMdt6prPkdAHgH/VGAJFgWwnRsiyj1StSTxEC3tIDMVkabH6tuHpvdvcLXvnrNTn/EVB1GHFlmsN0BKP/bp5t/Dyz+1aXpRkHMgFL0VAADy8CkmwYgkUISTFY3bvzez9Sc/5cbPlD7L+hBdQYehgIwTkxsbmSNe4HjtaIRAcqBQomkGWMrg2d1BjQbGHt+90jd17+IEycHqM4gw8AB3rO38am0mX0fHW1U8KiOIKnAMhsDFgMvpJzF7eSEDfq3Ab93M77mv7x7R/0XVHNQYWAAT2VZ3e1tfDtL3Vc4PYuXUosITE63AhnLQsjLrMDqCDzD24g/Sbhvzr7rdtS/tsv7hipY7e9AAH50OnvXyTONnwCMqwms+JsiGaZjZGJPNfAMwFjHdwb/Yysn65+/Zpt/OVa9inTlAPNCQNM3fw2v3SzAGmgBUPFQ88JQl5cxH4H9TuLH1HSg5iY+WfUFjUoBntp75qosTX6eySqZaGnIASyDzOpQZnFOG3iVRPfDHWneTvzOzSS1+qd37fC/j9TvK1kZwDwj1UzdT51LV+npRGAH0fQkI1LBa6UsSlP6fD8s3stDRt03vzP53Yla4j9X1Rkw2rDvMPV04wvA7AeAqs7GuOqVkHsXwSZoKJfdb5E2r2RswrzT+WGjhk/8l3Z9oP5DNeTSf82mS26BnouV8s9wOa9O8BhkmkXGIBPAAoBMs57BgDT6s/xiFrNPA+eyP9OvJ/cF8NTe7Kq02fgtGlklgAVQW4ALgJbLzGPziwkE/Cy/znRhBvQ+OeFr6Sd27Zhc8j55yQBztdzwjUdwwm2jgIeWZBqOPVQGZOTJyLNDm6qZMZ44nXv4WX4aaKae1a9d6uo6ERv2+MPj3BSHQgIuvU72tdqITLdhBHJhJQASUikLc3jYD1vdWX6M9Hj3FtsPDtT0c7+mzXuESch7BngKZ6h4EgOAbSZoBIlBgBXfVMBlugXwRiMgCiWJNWF1zJ3l14VnbrfgOLQRbi7cfBo2n+LZwR5DzwC7pxvfRo9X56BAAP7JEKRnGnomiIFJgfEnAoc6AfUsf1f2S2lznPo1s3YbB/N3R84LBz519wMkzM7mvQQ3bgY1BDpaKWuSNAXtWf7e7ScTYuJv6eUCRYzMgijLJT/X+CMYNio4JA9TMHsW8AoPNgDjmCQ2FWvHZ/k5o5lN1KJqmdhutlYR+yXJTC2rfbjbS41dTdH02NQ37iW4KkQMLtME1sCllxZpm7KlPni1qmDgCvlZ/shmC9ovyzYSC2Killv4tyuiqacat2NE3c0ptph+26fbeDQWDRuQLBk+f4JBtWIicysm8WAKrs7hPmaXwjaNNHOnzjjZsH/DACvkVO8xwxXlyyE/XcXsGvcPee/Y9cH690zK+eICh3ko9B6qxp9hA/FedqL+ajEZ1Wu1iXKTVmflxmdxtfwE9Dw8hXTeGu82rPZu5SSkDTOHytf6i5v+3HE8gfTG8dTNHMvc0WOt9YVuw5FfbRvLMI/9cHy8wtffv9g9Xosuu/UGOYIbd2TgcKxTJFOeglmZchR1g+UnkFvOT9yF67yr12J5YmO1pzkg1q502Gpu8/nOnZ7L3ME3UvfSTOpO4xL8sOQvJOvSfpnfeMrNfQd8/1jwtqcWtARvbfVZ8zE8jwM6khbAFiMtLmMHMZ11GNOU6+O63vnPwfR7+UU1AXYhTzVJuo1xr7Z75Wjmnj+UukYzlrFa+Vtt2pv+0Jero6t375yc95bcBT3Y475ljCdoZEpRgFhZM1dUlpOyzEJeiIKI1qrjspx0cX567LsvrGHfSqZqA070u0s3ehk4z72autfeTEMH1clfSBy12YP+XGjhua270M6VRVutqXktI1eJsuyX3MEXABu5laEGRUISgyQDwuqM1mIKUKSXwj9Ry9yOzTXsZ7s6CGjVeIm5g0dTN/0KrplR9D7lr5ofnvy38111mtdCWHx8Q4FThXT6o3YGjqYLcBXQYjDA98UY1fKvnMzcFZfXhwouNdi0IXEffm/iOLjadVRFdS1nLjgY/TvZH074dcrYKXQEmA+CAZ1rCoHRLHSwfVxcXnRIGipqBogBr4Z/zQrvPvLeOg55bCbppNLgys5dmUj/54QHWbWnQt9B6z+f/WH2vxbMOqjeEWDQyYhQDzQFOCI1rXEBONu1zpFCjnQKagF4f/w8lv3QZTU3WV8ecEUh/Kw6x4scNViu0DlOD0Z/2nFB+ye+oxe3AczncwHPjSq8AkXlTBn1XpYUHVq64MHBhRBWw8811Icuq7tzJpYXXGrNwJlk5+YkN/ig9Wefi9k/TdMbH5zO2hZbbQA7n9xBgS0YUOa1VsVyPUbUc6mkp4MbfZX8778kcath1FEKG/Fql8uwiqetzPiD0t8GkOgfoOlk/3SuCexaQwvAfG1Clma3kpmAWgzYciXCAlnAhA9reQRszFcF/4bVzl2MBc4ohndfmMiUzUFPXQ0I09viYdkPR8W3EsPYVi2W4zsxANp6IzCvpewCHNCNy0jHvPxx+JZCTLsUfhps68W1Uqujk+Wx8taLMVXzbwD6W5vd2h9SrCeGsYVaAMZF3ttYKWCgVR2VRZ6KyMSMOqMhPelsq5L/EnguFzWjHHgsvmE13uDUwV7LYr8sEwzNZjnAfFURQLvJBLXRQ0KW5fncm60JxHBe1nOrkn+z7OOifkY0edkFap+q9Td1e7K/8zfJa6cCcw5wgvdQwT0nBMgAlAkM5IScHeWhBDprckEq4OciZuUyHe/mOnaZ2AAvXhWuWi23/dIsnRAsg+w5wHjn024DlHBKOhAxL+ACOKURglZvDYALyBXwX4SrQuMULlpfy2ew5bZf06e7zXYFwFm220xKkATQ2EvJgbwGTEkhxYil8YDol5+X8Dbimu44BcprEverf7/8eCdIK8AP/TnbDog2EUACxQ0/ChqkFrDDSpFp9WJUGC3K8C8DoAr+NStcT9d0R2EgiMw4y1aF/v3aHyc9NvHBBNpFPfhMiukZOfzo6EFaQBPUpJx+yhyDgBkSVlYl/zo8nzhugXY7FwNzFOynzqbTtACcuXQ3BctDANtGEhGVNEkESSQQx2VV8q9sOVTPpRr5RH5It8z24/4TFzZ30WB6wd/7j+ChbRl9QC53UYWc0tJ/w69gS09nmZYyItgKcv/8K3GD3DgGXfXjxoDgLGqd4duP/QOLj9KGCV+mDXS2BJlQJGiJhxJscdgcdAibAwlSrQxlbI6hf/76eOKLdUM1+otdxbZ92X8LsU34pnTApiZlo9zUPQUs8UoUoULy5rQCpBQHektXwF/r4aY5djsqgZcQR8F+xA9DQ7BN+Bp8NRA8j3OKuDJAE1AjgUkkoyp4KPP5QJBMZfwUYxyDmG4E7CfgAT9ii/Pl2TYFjogW4BX7UzW17G/N8owF7DAK8nR1/OMIsMgstuDYFyPpoEfFsO3H/oltgsXRtmIaDoIBN4EOP7qQCitmszrLdbhKSeX81s8YxmaLZbUfOmf/xBbXupKLmFHAACSr8tEXDo9oaClDJOkwAKQZzvcV87OPMQ0jYT/DD9jyvhN8aiYAS6QQBERJEWz+h+kGsRz7xjRhehbFKucXIcbuZ2Tsh08J4dsS2RqFEDAGL1UQCStEBWgELwc5AJ6XiTZKWxn/2EHaKvCy20+cThBbwxMdwYNVSCkWXBVCYswy8VCQxOlCLasN3t4nv95cXrQ+Lim8CE7sgx+xF91C/4drv6L/ZC1fd5pfBzHwcu8MnmvwCfjB2kbLrJVbWb/8+izQuMBayImTgQHYYsYzm8R2snTZrkbbr/2MH/HahJ99iwpysFiWB9kV6yhUWpu2Fdyq+eeaec9jlTjdMGDVPrnwQ7Yf+w04YR8cQgwoJhYB2kYUXZ6BeQ1WYPlWhVhK2qXynzwdDa7Q4zhEJ8+o3P3qXyV/HU+3zwKI8Pxvsa8gZAwCIRdf2HGzxECT2A7qhUpri4GydP7jePJ+HMNJfPusCv1V96Xbz/jRwixu/MxmWcDmKByBi0cQIbVVoTCiUkBHxmKWV8k/e0KVk/7G5IfPE8+eGg37RfgRYHxeNQArtkSBmpdw61/htaij18KjtcZALvY9RL1f/hPw4DN40n6cwixeAyGr/wr079d+xg+JZnlDLwBWwCAbEUROUnJcrKnC1AK20JALtXLsXD3/EbwvY5zC0WO4nk6BR8R+FAXnJQBwah4sJQEw+icChLXRkJ/EQIkNAPFV0DAW5Qi2AN4//6G3cMwxRuEw5a1Q/0rsD2zxDeTskIJCnACMABYghMAGLOtIp0DS8vRagTiAWi3/G8czNyfvxmBfox1OYNV/nB+XHSH7Eacs8Ydwh6qfFqTE8wibVKlFgaABzoI8LYMAXmuAE+mK+dnFQbwEZRzCK0eC99IMI2I/2g2yTOOSoZ+WCTV4KGBUmwpgYeplmYEpLhyoBGimUT8A/leONMOgUpFG8beJlRVfuzQI/WlZNffS7I+nDaeTLKlNl6fhFkMGzxQFogrhMa+NaSxttJYPg6EohuiL8J+ac+7QW2HAGeOIxfTepr1VMB/kkZB96C+t9MFPbJMtK9w+mJq3VKpUJmQcs8bqlUpHbExj9eUy5hmsXnNd8794aHS9mN57YCaevaBcxfrnjtWj/YgpsU3e8x6Pw/Nsf96QAcA4BicWHFUtXh/TMm2hAv6TOCbmC8lGMbx0OHVzOP8swXSNBbUygjNk+xFTYivnonH3zpPxlGvCxCBKOhLYTniIPlBgkPzPv9Z0Z8yQsQGXMc3zzvvpvQwD1p949Gp/YkrR9GKDT6cEsDDKrDFZPAUFdAWtyuSezToJoCTvgPi5j3vu1dG6xLQP8siZqyHozwHUu/3TKYomAE/WJ/aInNwNAyQ2piAjb9OLJMN+2tIElOmw1pNoQPyvY7Elq1XpcXl/Xppp4u20kGGI+lNjwSSobk4o5R3sPzmpmArAV7/fP4tv9Bzk0Y4AishGTA6p7EbMS0M9ythR24AYEP++V5p49a8OKiq2HGH2ZOb+gheUin2GrL/0yUFlWMzXv/cHiSnto1O0WCoVLwaPNEDgDDwtCvtZqRYq9KPnoFnfMiBCx1Xz86jw6f2NZdsf81XD7F/ezxrsYLuxYehPezLYjDmf/YGKzsigLQD2yZ4cEHHUsF8NYFERKqEztk7hOqLUi9FrMSAGyM93OD+9vxle8Sv6DuWHtxE9BXB5t4naIewX6VA0ypD078r+wNKMkgO8ula7DxjOxcIyDblVIUmRTZWRFCstBFCHwc/rrk8NEWSeE//Ti9w9UNnl19+gINh5CPbH0/1zgmWoyAG+Yps/jLIHpDzyQJny0VKL96IH5lnHzujdAmxoFNlQrzSsq5r/LdwU8H8vNOQN7dbtIOJTOBz60wtNx30vDSp6jID+89kfpn8gYCnmyAFmztf9PQYWlREPjkcJaSKwpB7Kyr7Apu8A9jD4j5/27n//0nRvDugOEF7R+uPzDb1SJOYaLf072d/X3D1BVIla4ONr8F450zyIV/jL2+50xBJV/pO08Ej1W6kSTyat5nSUSw5l5uWD5t9ygb47km+f6zfwFOQLWCm/jPPMw5K/Gvslb1wyWdu0davnxUsJLR6sFemPC88FLIIyacN8nNuP6CmAQkMKWEOnYvKRZ3j8x06mOE7GfvJ0OIRh9z0Gyn7sFF7fj3aOyeHY8OSnqP3aD038KAaXbbYAzIJ63en3kZgRjw0rZuZgAOLGaZy/xUBQ8AmqAqsUw+QHFHgeFp/Hwa0+AhAApyd2E5pYRM2eALBHeQIDb7dAO6LoGOlPgev1tO07SuJnZSM8vHfuv4HljQSoCAqtam5TtdaCNvdY9WCWG721YHmNCx70UgH/+XgAZwO+lWRtMWaYxGsVJvCe6Qm8NYCzNwclZST2POQ5PceBoGWk5wAl7xF8P+ko9sFFGKz86hjFYrRX+2HX9Jvrdkz8TSGvpvQlLKVSdPYtKHkjFdXp16ZeJSzKmQ8ejkJ8AkQNyDLWDJGfHcqMwkEJBWAqERb4uQZuqTkR8jFMQoAf0qqBqQ2mNRAxHqb86hhLtx8xM33iuG2KZuW12yceBMOjBi7LNM2U2A+/YgLmJF3UE9y4TA1d1A+GH7eHSq8Eir1LjAQ/ucM0Y0lHsQ91eRzTIz0u+hMrYga120JHgEmFu/G+qSAyB20FUI5qBUzL4rxO26QuQkyr6UHxr1qJ7xJCG4JiMdOUPI+Zhh5SJjF5SKOxpqE7yvTzAcOTn/bNTZsbsLv+FaucqSVBXecND+2dexw7qyvEIvJT7rAA3gC3gaCNol7mOebKtGyrXEY664Pp7vi5771oHenJQbhsFpECbZJdMZS7bSswmbx78XVM7XxOSnitnI1Y2mIrY9y7/OQKnSDukd+7J67fMdH2rQZpEj8d98FWiRd43IlbL/FpO2pkHcdKGSXjol4pmMfGTG6Qcpp5C73xT0LyFXiF77kr8QpBbBa0b/VclrFVTtF56yHNMgYbCurXWmbG3oL3QB9+C49+nMRiLL/hQHswyiLOewjaMo9N+ol54nTBHUnYNT9mJtz1nN4Zt1JOS/flwjj/8N7Gf+DExz+wzLxD62NB47RxW5nF/fGvwLeK+LWTVXjNIV8ZKO+kimQySM17GTNY74w7BVIZDestbfRW38CK+wROW/L+Zx4jn54zypiLaQtWb3F/+rPVsv2B739et2Ny6R+nZKOPHsjOm5vl52UzPIHYKZgC5VhpW4XqjZ+AroN3rlmlhzvWoo529tcpGCQK8PyQWX25jVgP1pXbU3oeYr2F89NvHffuGE6utPZTtN2P/uxpXn7vZybW4vOym/0Rlajz73xWaqF+aG/jdgB8t6peKMzFS7FoUhYraxeMJTTXwvz8qtl5+NLKerxxlq8GzNsLc2rZQ1sElczCAJlcKk07d7n9Mn2n+jkcVPMEyxEcN9Oz5ZAH2qqu1kd3+uf6Lsbv/R3X76jgA9EUDwL7h59tPITEtbG4hQJqVDOG0VhsQluecSstPHV15i7A8+h877INAaUvAxa3wrRRM2Zope8EiJUp/WK/C7df5ub0fXgWgEcnSbrRn3q02qRouY3f+0eu216/HuWmdEFcStEaXYWHnss241aKP4Jh43xeGzek45Vimwxq+FhYOiW/zXDhuS7/qplSKUxsr2xeDDK6NSpCu5YOHr5ofSykdLBIe2X6xfJBPj7+euhNgA3PVlHb9bemYpvkZTJQO9gvSWayidqHr3+fP2C0C8XsteuABden0OX9YMBTEcHAgTsHBoZur2udrqjQRhzaXLzB41uErd2zVWuLNZY2Qfutb+2tfQC19VfCvyxQG30kM/tq4A6UV3Ff9+uz3E9r6AxokGUB+4GP0txy3Y76L6ytxWKz22J0ef3Dz879G76O9k8soKAS0G3hqQRFATVFzAikXbcqkQ8vc1XcKeQ8oW0OFisTemvMJC8hbrSMGdr4pbT7HzYTnFKYLG3ju9v++BjOAXw2fvZEYSuTkdNUN/bDGbd/v277xD93L706SC/0NFj9kWcbDyO+moxmb0lHRi03OokT/lvwRW1+gsaMThpLM2bIB4e0rIpbmRCUfqyOMQMNZWUlUslandELmw0SbaBFqcXaK/dRbr/M/yYA3n+4icWYcnZrP4D72LV/Vb8OgwJzQvdh3lOV8zXBDuq1+udxm63sA8Q2EbACWDA2Ryg3fpFk56X8QpiCoL/ag6UZS5oXLFglsxFOIbJtpBlzY9ZipgmpxZpmoXq99g/2wCd0bJ8koX22IGlJ8EcHmsZF2+ThZn2bPOXYZLX22RXT0iWS62GDnZfW3AXnqum7sR94D9QT2rw3cKVr/iwlPIYvtcw1m4/gUwDwSwRor+AWJjoH+9d3X1Bz67C/ze1G4thjyp2X50AxTcRQ5i/RE0ybFdi0cTKWUKK34jwmikbDQksz7ia08YPJZCa/pRFzpc3HcngSpZP9hBTHu5P1+rV2nzOb6CWwjSWH3+09cxWOoH6LeyhwKoIyFiCvw/f8Lt+UuMVfz1+GILJAR8l6pe/YyMgU8nZc3kh/FKvt2H4EHI5/AuuqT3x8x+TvlypwXwCz098907gZ18t/htOZ+m1uCHbxeuxvcY9UV2HAeJk3M2Yo7yNjj2J97/TifOLo0j4sak7P/KIh6P8SFmAvY8s92ScNvGfyMx/fWf/Vom0sQNA3wGwbh09fQPSDxKf1yzfV5Ng2N2hJYVPeZrzyjFaeU8v4l3WhAkbDOkszZui1/dyLyIjQDnjRhxCUOmij70H/IzhBwofs8LA2FlL+Szgc+qH00cePatFHA8b6+HONm7deUvvp6slslRmZdZbODR6VST0qzEbMWzrYlyXYrBWmuGDRwzChD2mWMbTXx9xFupBH2zL+ThRFGVOt/Uun0U+rtAVn0V9RJvKW9D8x50/gGazPXfm+/jzXRKoMYBU2uwqnZX+Ot75tpCeEMoCm+2brdKHYaOfjX6y+3Hav9GX+XvP99AfeGVwl+zTiJe9zy/JWCjAbxxS1HSD/GvFm7ax1TLfmuvGIVg9r96DWFltz7e2b95vH9tpe2YDt/GWKVolac4V8mIAO4EaSTwJceSqw3MpS8+yv8gBw34VGf4L97NXlfVLbHLzYTrlcX5a2PKeX6cv1Zf7F6Mv1Zf5S+20Agt+8WlhL9FyR8SQG+Hic+3K5+X7zAwGYQgFYnmX+NravUIewi+SQLXarSEq5lTFvacadQpsFQWRlXdGjYTOy0BtzMEUpu6g8nfqMyxZoD2JQy+9i+xrA7ekMVdzFQumg1UIk/dUBaFygcN/HNs8NA63tlz3eRj/jTqHsYIbdPOSdmuipbLH+yuOzjG/U2QzSX4ZeXV84iHi7Tna2Wtfs3RECNO6P78WWX0/ujvNtS/UINPsiwO3qkl8/VujybEQ/XXBGFEWuRyt3YOPIfacG6k4b8GL9wMGlkYfiwezIArz5PKS/g42KDr1/k2PIMWfuu7F9FcAueA9V1XItm4EB9MegzF3YrqhaqRFr7wnIcyeA/cOIyTUccQD0zdj+B9vbLVCnm4djxTHoBca4ARueahz7QB1uGBWTL9sUPZ8BYBw+hsH9863Y5E0D89GOUPkbkOXH2O7GVPz4CMk1uoscAI1nGNwt2G7DdhO2ee7iQs3yBN50w5fW3IPtfgCbvzZhecTp3OvIeXAnMQH2+Sj/LLbdYdvUiW4IZQfRx56w3QdQ+WaikQ5jAXDZggB8O8oM7I8gvQVb1cf0uPru9mN7EtsUNr4ortILAWhz4GEsAS5bBYCvQNlWbNui7SKk12JbE2KmuTHgU0L5diykX0M8HW37AOgp5Mc6/D8jy/lrfHmV3wAAAABJRU5ErkJggg==) no-repeat;background-size:100% 100%}.user-img img,.face-user-img img{width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;display:none;border:1px solid rgba(218,231,253,.4)}.user-info p{text-align:center;font-size:1.6rem;color:#333;height:1.6rem;line-height:1.6rem;margin-top:2.5rem;margin-bottom:.7rem}.mod-voice-sms{float:left;margin-bottom:5px;margin-top:15px}.sms_verify-voice-verify{border:0;background:#f6f6f6;font-size:14px;color:#000}.mod-voice-sms .voice_sms_disabled{color:#666}.mod-unametip{position:absolute;font-size:14px;padding:0 5px;right:0;top:50px;z-index:14;background:#000;color:#fff;opacity:.7;border-radius:2px;line-height:44px;display:none}.mod-unametip:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #000;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-6px}.layer-cover{position:fixed;top:0;width:100%;height:100%;z-index:10000;background-color:rgba(0,0,0,.5);display:none}.layer-account,.layer-account-third{position:absolute;left:0;width:100%;transition:all .3s;-webkit-transition:all .3s;z-index:17;-webkit-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px);bottom:-158px;font-size:0}.layer-account >a,.layer-account-third>a{color:#2c85ff;background-color:#fff;cursor:pointer;border-bottom:1px solid #e6e6e6;display:block;width:100%;text-align:center;font-size:1.6rem;line-height:5rem;height:5rem;overflow:hidden}.layer-account-third{bottom:-205px}.layer-account a:last-child,.layer-account-third a:last-child{overflow:hidden;margin-top:5px;color:#000}.layermenu-out{-webkit-transform:translateY(-158px);-ms-transform:translateY(-158px);transform:translateY(-158px)}.p-l0{padding-left:0}.p-r3{padding-right:3px}.loadingText{text-align:center;font-size:1.8rem;padding-top:20rem;color:#222}.headerquestion{padding:1.7rem 1.5rem 0}.small-portrait{width:3.5rem;height:3.5rem;border-radius:3.5rem;margin:1.2rem 1.7rem;display:block;float:left}.top-userContent{background-color:#fff;border-bottom:1px solid #E0E0E0}.top-userContent span{line-height:2rem;padding-top:2rem;display:block;float:left}#fullName-contentWrapper{padding-bottom:10rem}.login-coolpad{top:-50px;position:relative}.success-img{height:5.7rem;width:100%;background:url(/static/touch/img/bindsuccess.png) no-repeat center 5.5rem;background-size:5.7rem 5.7rem;padding:5.5rem 0 1.7rem}.mod-page-bind-tipInfo{text-align:center;font-size:1.8rem;padding-bottom:1.5rem}.mod-page-bind-tipInfo1{text-align:center;font-size:1.5rem;line-height:2.2rem}.bottom-link{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.spilit-line{color:#666;font-weight:lighter;font-size:16px;display:inline-block;padding:0 1rem}#face_login{background:#fff}.face-login-link{display:none}.face-main{padding:4.8rem 1.2rem 0}.biometry-loadingImg{margin:0 auto;-webkit-animation-fill-mode:both;animation-fill-mode:both;height:30px;width:30px;background:url(data:image/png;base64,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) no-repeat 0 0;background-size:30px 30px;display:block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.biometry-loadingMask{top:0;left:0;width:100%;height:100%;position:fixed;background:#fff;z-index:20;display:none}.biometry-loading{font-size:24px;padding-top:15rem;padding-bottom:2rem;color:#367cff;text-align:center}.baidu-attention{font-weight:700;margin-top:1rem}.personal_agreement-info{line-height:2.4rem;font-size:1.4rem;padding-top:5rem}.personal_agreement-info ul{list-style:none;padding-left:2rem;margin-bottom:.5rem}.personal_agreement-info strong{line-height:5rem}.personal_agreement-info div>p{margin:1rem 0}.mod-tipinfo-title1{font-size:1.8rem;font-weight:300}.mod-tipinfo-title3{font-size:2.4rem;line-height:3rem}.form-label{font-size:1.3rem;color:#666}.mod-tipinfo-subtitle1{font-size:1.4rem;margin-top:.8rem;font-weight:200}.form-input-value{font-size:1.6rem;color:#333;display:-webkit-box;border-bottom:1px solid #eee}.pass-form-item-sep{background:#eee;height:1px;border:0;display:block;margin-top:-1px}.form-input-value input{padding-bottom:.6rem;padding-top:.8rem}.pass-form-item-sep-focus{background:#3c76ff;-webkit-animation:processFocus .3s ease-in}.pass-form-item-sep-blur{background:#3c76ff;-webkit-animation:processBlur .3s linear}.pass-form-item-sep-error{background:#e65757}@-webkit-keyframes processFocus{0%{width:0}100%{width:100%}}@-webkit-keyframes processBlur{0%{margin-left:0}100%{margin-left:100%}}.form-input-value .text-grey,.form-input-value .text-grey:disabled{color:#333;opacity:1}.pass-input-clearValue-new{height:20px;float:right}.other-baidu-reg{margin-bottom:constant(safe-area-inset-bottom)}
</style><link href="" type=text/css rel=stylesheet id=product-skin>
</head>
<body>
<div id="pageWrapper" class="page-wrapper"></div>
<script type="text/javascript">
        var apiDomain = location.protocol+"//"+location.host,
            publicData = {
                "vcodestr": "{{$ppVcodestr|sp_escape_js}}",
                "action" : "{{$ppRequestInfo.action|default:'login'|sp_escape_js}}",
                "u" : "{{$ppRequestInfo.u|sp_escape_js}}",
                "tpl" : "{{$ppRequestInfo.tpl|default:'pp'|sp_escape_js}}",
                "tn" : "{{$ppRequestInfo.tn|sp_escape_js}}",
                "pu" : "{{$ppRequestInfo.pu|sp_escape_js}}",
                "ssid" : "{{$ppRequestInfo.ssid|sp_escape_js}}",
                "from" : "{{$ppRequestInfo.from|sp_escape_js}}",
                "bd_page_type" : "{{$ppRequestInfo.bd_page_type|sp_escape_js}}",
                "uid" : "{{$ppRequestInfo.uid|sp_escape_js}}",
                "type" : "{{$ppRequestInfo.type|sp_escape_js}}",
                "regtype" : "{{$ppRegtype|sp_escape_js}}",
                "adapter" : "{{$ppPageInfo.adapter|sp_escape_js}}",
                "skin" : "{{$ppPageInfo.skin|sp_escape_js}}",
                "regist_mode" : "{{$ppRequestInfo.regist_mode|sp_escape_js}}",
                "login_share_strategy" : "{{$ppRequestInfo.login_share_strategy|sp_escape_js}}",
                "bdcm" : "{{$ppRequestInfo.bdcm|sp_escape_js}}",
                "token" : "{{$ppBdToken|sp_escape_js}}",
                "client" : "{{$ppRequestInfo.client|sp_escape_js}}",
                "clientfrom" : "{{$ppRequestInfo.clientfrom|sp_escape_js}}"
            }

        var _hmt = _hmt || [];
        var currClientWidth, fontValue,originWidth;
        originWidth=375;
        __resize();
        window.addEventListener('resize', __resize, false);
        function __resize() {
            currClientWidth = document.documentElement.clientWidth;
            if (currClientWidth < 320) currClientWidth = 320;
            if (currClientWidth > 400) currClientWidth = 400;
            fontValue = ((62.5 * currClientWidth) /originWidth).toFixed(2);
            document.documentElement.style.fontSize = fontValue + '%';
        }
    </script>
<script type="text/javascript">function BarrettMu(t){this.modulus=biCopy(t),this.k=biHighIndex(this.modulus)+1;var e=new BigInt;e.digits[2*this.k]=1,this.mu=biDivide(e,this.modulus),this.bkplus1=new BigInt,this.bkplus1.digits[this.k+1]=1,this.modulo=BarrettMu_modulo,this.multiplyMod=BarrettMu_multiplyMod,this.powMod=BarrettMu_powMod}function BarrettMu_modulo(t){var e=biDivideByRadixPower(t,this.k-1),i=biMultiply(e,this.mu),n=biDivideByRadixPower(i,this.k+1),a=biModuloByRadixPower(t,this.k+1),o=biMultiply(n,this.modulus),s=biModuloByRadixPower(o,this.k+1),r=biSubtract(a,s);r.isNeg&&(r=biAdd(r,this.bkplus1));for(var c=biCompare(r,this.modulus)>=0;c;)r=biSubtract(r,this.modulus),c=biCompare(r,this.modulus)>=0;return r}function BarrettMu_multiplyMod(t,e){var i=biMultiply(t,e);return this.modulo(i)}function BarrettMu_powMod(t,e){var i=new BigInt;i.digits[0]=1;for(var n=t,a=e;0!=(1&a.digits[0])&&(i=this.multiplyMod(i,n)),a=biShiftRight(a,1),0!=a.digits[0]||0!=biHighIndex(a);)n=this.multiplyMod(n,n);return i}function setMaxDigits(t){maxDigits=t,ZERO_ARRAY=new Array(maxDigits);for(var e=0;e<ZERO_ARRAY.length;e++)ZERO_ARRAY[e]=0;bigZero=new BigInt,bigOne=new BigInt,bigOne.digits[0]=1}function BigInt(t){this.digits="boolean"==typeof t&&1==t?null:ZERO_ARRAY.slice(0),this.isNeg=!1}function biFromDecimal(t){for(var e,i="-"==t.charAt(0),n=i?1:0;n<t.length&&"0"==t.charAt(n);)++n;if(n==t.length)e=new BigInt;else{var a=t.length-n,o=a%dpl10;for(0==o&&(o=dpl10),e=biFromNumber(Number(t.substr(n,o))),n+=o;n<t.length;)e=biAdd(biMultiply(e,lr10),biFromNumber(Number(t.substr(n,dpl10)))),n+=dpl10;e.isNeg=i}return e}function biCopy(t){var e=new BigInt(!0);return e.digits=t.digits.slice(0),e.isNeg=t.isNeg,e}function biFromNumber(t){var e=new BigInt;e.isNeg=0>t,t=Math.abs(t);for(var i=0;t>0;)e.digits[i++]=t&maxDigitVal,t>>=biRadixBits;return e}function reverseStr(t){for(var e="",i=t.length-1;i>-1;--i)e+=t.charAt(i);return e}function biToString(t,e){var i=new BigInt;i.digits[0]=e;for(var n=biDivideModulo(t,i),a=hexatrigesimalToChar[n[1].digits[0]];1==biCompare(n[0],bigZero);)n=biDivideModulo(n[0],i),digit=n[1].digits[0],a+=hexatrigesimalToChar[n[1].digits[0]];return(t.isNeg?"-":"")+reverseStr(a)}function biToDecimal(t){var e=new BigInt;e.digits[0]=10;for(var i=biDivideModulo(t,e),n=String(i[1].digits[0]);1==biCompare(i[0],bigZero);)i=biDivideModulo(i[0],e),n+=String(i[1].digits[0]);return(t.isNeg?"-":"")+reverseStr(n)}function digitToHex(t){var e=15,n="";for(i=0;4>i;++i)n+=hexToChar[t&e],t>>>=4;return reverseStr(n)}function biToHex(t){for(var e="",i=(biHighIndex(t),biHighIndex(t));i>-1;--i)e+=digitToHex(t.digits[i]);return e}function charToHex(t){var e,i=48,n=i+9,a=97,o=a+25,s=65,r=90;return e=t>=i&&n>=t?t-i:t>=s&&r>=t?10+t-s:t>=a&&o>=t?10+t-a:0}function hexToDigit(t){for(var e=0,i=Math.min(t.length,4),n=0;i>n;++n)e<<=4,e|=charToHex(t.charCodeAt(n));return e}function biFromHex(t){for(var e=new BigInt,i=t.length,n=i,a=0;n>0;n-=4,++a)e.digits[a]=hexToDigit(t.substr(Math.max(n-4,0),Math.min(n,4)));return e}function biFromString(t,e){var i="-"==t.charAt(0),n=i?1:0,a=new BigInt,o=new BigInt;o.digits[0]=1;for(var s=t.length-1;s>=n;s--){var r=t.charCodeAt(s),c=charToHex(r),l=biMultiplyDigit(o,c);a=biAdd(a,l),o=biMultiplyDigit(o,e)}return a.isNeg=i,a}function biDump(t){return(t.isNeg?"-":"")+t.digits.join(" ")}function biAdd(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biSubtract(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;for(var n,a=0,o=0;o<t.digits.length;++o)n=t.digits[o]+e.digits[o]+a,i.digits[o]=65535&n,a=Number(n>=biRadix);i.isNeg=t.isNeg}return i}function biSubtract(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biAdd(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;var n,a;a=0;for(var o=0;o<t.digits.length;++o)n=t.digits[o]-e.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);if(-1==a){a=0;for(var o=0;o<t.digits.length;++o)n=0-i.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);i.isNeg=!t.isNeg}else i.isNeg=t.isNeg}return i}function biHighIndex(t){for(var e=t.digits.length-1;e>0&&0==t.digits[e];)--e;return e}function biNumBits(t){var e,i=biHighIndex(t),n=t.digits[i],a=(i+1)*bitsPerDigit;for(e=a;e>a-bitsPerDigit&&0==(32768&n);--e)n<<=1;return e}function biMultiply(t,e){for(var i,n,a,o=new BigInt,s=biHighIndex(t),r=biHighIndex(e),c=0;r>=c;++c){for(i=0,a=c,j=0;s>=j;++j,++a)n=o.digits[a]+t.digits[j]*e.digits[c]+i,o.digits[a]=n&maxDigitVal,i=n>>>biRadixBits;o.digits[c+s+1]=i}return o.isNeg=t.isNeg!=e.isNeg,o}function biMultiplyDigit(t,e){var i,n,a;result=new BigInt,i=biHighIndex(t),n=0;for(var o=0;i>=o;++o)a=result.digits[o]+t.digits[o]*e+n,result.digits[o]=a&maxDigitVal,n=a>>>biRadixBits;return result.digits[1+i]=n,result}function arrayCopy(t,e,i,n,a){for(var o=Math.min(e+a,t.length),s=e,r=n;o>s;++s,++r)i[r]=t[s]}function biShiftLeft(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,0,n.digits,i,n.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=n.digits.length-1,r=s-1;s>0;--s,--r)n.digits[s]=n.digits[s]<<a&maxDigitVal|(n.digits[r]&highBitMasks[a])>>>o;return n.digits[0]=n.digits[s]<<a&maxDigitVal,n.isNeg=t.isNeg,n}function biShiftRight(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,i,n.digits,0,t.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=0,r=s+1;s<n.digits.length-1;++s,++r)n.digits[s]=n.digits[s]>>>a|(n.digits[r]&lowBitMasks[a])<<o;return n.digits[n.digits.length-1]>>>=a,n.isNeg=t.isNeg,n}function biMultiplyByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,e,i.digits.length-e),i}function biDivideByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,e,i.digits,0,i.digits.length-e),i}function biModuloByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,0,e),i}function biCompare(t,e){if(t.isNeg!=e.isNeg)return 1-2*Number(t.isNeg);for(var i=t.digits.length-1;i>=0;--i)if(t.digits[i]!=e.digits[i])return t.isNeg?1-2*Number(t.digits[i]>e.digits[i]):1-2*Number(t.digits[i]<e.digits[i]);return 0}function biDivideModulo(t,e){var i,n,a=biNumBits(t),o=biNumBits(e),s=e.isNeg;if(o>a)return t.isNeg?(i=biCopy(bigOne),i.isNeg=!e.isNeg,t.isNeg=!1,e.isNeg=!1,n=biSubtract(e,t),t.isNeg=!0,e.isNeg=s):(i=new BigInt,n=biCopy(t)),new Array(i,n);i=new BigInt,n=t;for(var r=Math.ceil(o/bitsPerDigit)-1,c=0;e.digits[r]<biHalfRadix;)e=biShiftLeft(e,1),++c,++o,r=Math.ceil(o/bitsPerDigit)-1;n=biShiftLeft(n,c),a+=c;for(var l=Math.ceil(a/bitsPerDigit)-1,u=biMultiplyByRadixPower(e,l-r);-1!=biCompare(n,u);)++i.digits[l-r],n=biSubtract(n,u);for(var d=l;d>r;--d){var p=d>=n.digits.length?0:n.digits[d],f=d-1>=n.digits.length?0:n.digits[d-1],h=d-2>=n.digits.length?0:n.digits[d-2],g=r>=e.digits.length?0:e.digits[r],m=r-1>=e.digits.length?0:e.digits[r-1];i.digits[d-r-1]=p==g?maxDigitVal:Math.floor((p*biRadix+f)/g);for(var v=i.digits[d-r-1]*(g*biRadix+m),b=p*biRadixSquared+(f*biRadix+h);v>b;)--i.digits[d-r-1],v=i.digits[d-r-1]*(g*biRadix|m),b=p*biRadix*biRadix+(f*biRadix+h);u=biMultiplyByRadixPower(e,d-r-1),n=biSubtract(n,biMultiplyDigit(u,i.digits[d-r-1])),n.isNeg&&(n=biAdd(n,u),--i.digits[d-r-1])}return n=biShiftRight(n,c),i.isNeg=t.isNeg!=s,t.isNeg&&(i=s?biAdd(i,bigOne):biSubtract(i,bigOne),e=biShiftRight(e,c),n=biSubtract(e,n)),0==n.digits[0]&&0==biHighIndex(n)&&(n.isNeg=!1),new Array(i,n)}function biDivide(t,e){return biDivideModulo(t,e)[0]}function biModulo(t,e){return biDivideModulo(t,e)[1]}function biMultiplyMod(t,e,i){return biModulo(biMultiply(t,e),i)}function biPow(t,e){for(var i=bigOne,n=t;0!=(1&e)&&(i=biMultiply(i,n)),e>>=1,0!=e;)n=biMultiply(n,n);return i}function biPowMod(t,e,i){for(var n=bigOne,a=t,o=e;0!=(1&o.digits[0])&&(n=biMultiplyMod(n,a,i)),o=biShiftRight(o,1),0!=o.digits[0]||0!=biHighIndex(o);)a=biMultiplyMod(a,a,i);return n}function RSAKeyPair(t,e,i){this.e=biFromHex(t),this.d=biFromHex(e),this.m=biFromHex(i),this.chunkSize=2*biHighIndex(this.m),this.radix=16,this.barrett=new BarrettMu(this.m)}function twoDigit(t){return(10>t?"0":"")+String(t)}function encryptedString(t,e){for(var i=new Array,n=e.length,a=0;n>a;)i[a]=e.charCodeAt(a),a++;for(;i.length%t.chunkSize!=0;)i[a++]=0;var o,s,r,c=i.length,l="";for(a=0;c>a;a+=t.chunkSize){for(r=new BigInt,o=0,s=a;s<a+t.chunkSize;++o)r.digits[o]=i[s++],r.digits[o]+=i[s++]<<8;var u=t.barrett.powMod(r,t.e),d=16==t.radix?biToHex(u):biToString(u,t.radix);l+=d+" "}return l.substring(0,l.length-1)}function decryptedString(t,e){var i,n,a,o=e.split(" "),s="";for(i=0;i<o.length;++i){var r;for(r=16==t.radix?biFromHex(o[i]):biFromString(o[i],t.radix),a=t.barrett.powMod(r,t.d),n=0;n<=biHighIndex(a);++n)s+=String.fromCharCode(255&a.digits[n],a.digits[n]>>8)}return 0==s.charCodeAt(s.length-1)&&(s=s.substring(0,s.length-1)),s}!function(t){String.prototype.trim===t&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.reduce===t&&(Array.prototype.reduce=function(e){if(void 0===this||null===this)throw new TypeError;var i,n=Object(this),a=n.length>>>0,o=0;if("function"!=typeof e)throw new TypeError;if(0==a&&1==arguments.length)throw new TypeError;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=a)throw new TypeError}for(;a>o;)o in n&&(i=e.call(t,i,n[o],o,n)),o++;return i})}();var Zepto=function(){function t(t){return null==t?String(t):J[Y.call(t)]||"object"}function e(e){return"function"==t(e)}function i(t){return null!=t&&t==t.window}function n(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function a(e){return"object"==t(e)}function o(t){return a(t)&&!i(t)&&t.__proto__==Object.prototype}function s(t){return t instanceof Array}function r(t){return"number"==typeof t.length}function c(t){return A.call(t,function(t){return null!=t})}function l(t){return t.length>0?C.fn.concat.apply([],t):t}function u(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function d(t){return t in E?E[t]:E[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function p(t,e){return"number"!=typeof e||R[u(t)]?e:e+"px"}function f(t){var e,i;return N[t]||(e=P.createElement(t),P.body.appendChild(e),i=B(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==i&&(i="block"),N[t]=i),N[t]}function h(t){return"children"in t?T.call(t.children):C.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function g(t,e,i){for(D in e)i&&(o(e[D])||s(e[D]))?(o(e[D])&&!o(t[D])&&(t[D]={}),s(e[D])&&!s(t[D])&&(t[D]=[]),g(t[D],e[D],i)):e[D]!==x&&(t[D]=e[D])}function m(t,e){return e===x?C(t):C(t).filter(e)}function v(t,i,n,a){return e(i)?i.call(t,n,a):i}function b(t,e,i){null==i?t.removeAttribute(e):t.setAttribute(e,i)}function y(t,e){var i=t.className,n=i&&i.baseVal!==x;return e===x?n?i.baseVal:i:void(n?i.baseVal=e:t.className=e)}function w(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:isNaN(e=Number(t))?/^[\[\{]/.test(t)?C.parseJSON(t):t:e):t}catch(i){return t}}function _(t,e){e(t);for(var i in t.childNodes)_(t.childNodes[i],e)}var x,D,C,k,I,S,j=[],T=j.slice,A=j.filter,P=window.document,N={},E={},B=P.defaultView.getComputedStyle,R={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},M=/^\s*<(\w+|!)[^>]*>/,O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,L=/^(?:body|html)$/i,V=["val","css","html","text","data","width","height","offset"],q=["after","prepend","before","append"],F=P.createElement("table"),$=P.createElement("tr"),H={tr:P.createElement("tbody"),tbody:F,thead:F,tfoot:F,td:$,th:$,"*":P.createElement("div")},z=/complete|loaded|interactive/,W=/^\.([\w-]+)$/,Z=/^#([\w-]*)$/,U=/^[\w-]+$/,J={},Y=J.toString,Q={},X=P.createElement("div");return Q.matches=function(t,e){if(!t||1!==t.nodeType)return!1;var i=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(i)return i.call(t,e);var n,a=t.parentNode,o=!a;return o&&(a=X).appendChild(t),n=~Q.qsa(a,e).indexOf(t),o&&X.removeChild(t),n},I=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},S=function(t){return A.call(t,function(e,i){return t.indexOf(e)==i})},Q.fragment=function(t,e,i){t.replace&&(t=t.replace(O,"<$1></$2>")),e===x&&(e=M.test(t)&&RegExp.$1),e in H||(e="*");var n,a,s=H[e];return s.innerHTML=""+t,a=C.each(T.call(s.childNodes),function(){s.removeChild(this)}),o(i)&&(n=C(a),C.each(i,function(t,e){V.indexOf(t)>-1?n[t](e):n.attr(t,e)})),a},Q.Z=function(t,e){return t=t||[],t.__proto__=C.fn,t.selector=e||"",t},Q.isZ=function(t){return t instanceof Q.Z},Q.init=function(t,i){if(t){if(e(t))return C(P).ready(t);if(Q.isZ(t))return t;var n;if(s(t))n=c(t);else if(a(t))n=[o(t)?C.extend({},t):t],t=null;else if(M.test(t))n=Q.fragment(t.trim(),RegExp.$1,i),t=null;else{if(i!==x)return C(i).find(t);n=Q.qsa(P,t)}return Q.Z(n,t)}return Q.Z()},C=function(t,e){return Q.init(t,e)},C.extend=function(t){var e,i=T.call(arguments,1);return"boolean"==typeof t&&(e=t,t=i.shift()),i.forEach(function(i){g(t,i,e)}),t},Q.qsa=function(t,e){var i;return n(t)&&Z.test(e)?(i=t.getElementById(RegExp.$1))?[i]:[]:1!==t.nodeType&&9!==t.nodeType?[]:T.call(W.test(e)?t.getElementsByClassName(RegExp.$1):U.test(e)?t.getElementsByTagName(e):t.querySelectorAll(e))},C.contains=function(t,e){return t!==e&&t.contains(e)},C.type=t,C.isFunction=e,C.isWindow=i,C.isArray=s,C.isPlainObject=o,C.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},C.inArray=function(t,e,i){return j.indexOf.call(e,t,i)},C.camelCase=I,C.trim=function(t){return t.trim()},C.uuid=0,C.support={},C.expr={},C.map=function(t,e){var i,n,a,o=[];if(r(t))for(n=0;n<t.length;n++)i=e(t[n],n),null!=i&&o.push(i);else for(a in t)i=e(t[a],a),null!=i&&o.push(i);return l(o)},C.each=function(t,e){var i,n;if(r(t)){for(i=0;i<t.length;i++)if(e.call(t[i],i,t[i])===!1)return t}else for(n in t)if(e.call(t[n],n,t[n])===!1)return t;return t},C.grep=function(t,e){return A.call(t,e)},window.JSON&&(C.parseJSON=JSON.parse),C.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){J["[object "+e+"]"]=e.toLowerCase()}),C.fn={forEach:j.forEach,reduce:j.reduce,push:j.push,sort:j.sort,indexOf:j.indexOf,concat:j.concat,map:function(t){return C(C.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return C(T.apply(this,arguments))},ready:function(t){return z.test(P.readyState)?t(C):P.addEventListener("DOMContentLoaded",function(){t(C)},!1),this},get:function(t){return t===x?T.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return j.every.call(this,function(e,i){return t.call(e,i,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):C(A.call(this,function(e){return Q.matches(e,t)}))},add:function(t,e){return C(S(this.concat(C(t,e))))},is:function(t){return this.length>0&&Q.matches(this[0],t)},not:function(t){var i=[];if(e(t)&&t.call!==x)this.each(function(e){t.call(this,e)||i.push(this)});else{var n="string"==typeof t?this.filter(t):r(t)&&e(t.item)?T.call(t):C(t);this.forEach(function(t){n.indexOf(t)<0&&i.push(t)})}return C(i)},has:function(t){return this.filter(function(){return a(t)?C.contains(this,t):C(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!a(t)?t:C(t)},last:function(){var t=this[this.length-1];return t&&!a(t)?t:C(t)},find:function(t){var e,i=this;return e="object"==typeof t?C(t).filter(function(){var t=this;return j.some.call(i,function(e){return C.contains(e,t)})}):1==this.length?C(Q.qsa(this[0],t)):this.map(function(){return Q.qsa(this,t)})},closest:function(t,e){var i=this[0],a=!1;for("object"==typeof t&&(a=C(t));i&&!(a?a.indexOf(i)>=0:Q.matches(i,t));)i=i!==e&&!n(i)&&i.parentNode;return C(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=C.map(i,function(t){return(t=t.parentNode)&&!n(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return m(e,t)},parent:function(t){return m(S(this.pluck("parentNode")),t)},children:function(t){return m(this.map(function(){return h(this)}),t)},contents:function(){return this.map(function(){return T.call(this.childNodes)})},siblings:function(t){return m(this.map(function(t,e){return A.call(h(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return C.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=null),"none"==B(this,"").getPropertyValue("display")&&(this.style.display=f(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var i=e(t);if(this[0]&&!i)var n=C(t).get(0),a=n.parentNode||this.length>1;return this.each(function(e){C(this).wrapAll(i?t.call(this,e):a?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){C(this[0]).before(t=C(t));for(var e;(e=t.children()).length;)t=e.first();C(t).append(this)}return this},wrapInner:function(t){var i=e(t);return this.each(function(e){var n=C(this),a=n.contents(),o=i?t.call(this,e):t;a.length?a.wrapAll(o):n.append(o)})},unwrap:function(){return this.parent().each(function(){C(this).replaceWith(C(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=C(this);(t===x?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return C(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return C(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return t===x?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;C(this).empty().append(v(this,t,e,i))})},text:function(t){return t===x?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=t})},attr:function(t,e){var i;return"string"==typeof t&&e===x?0==this.length||1!==this[0].nodeType?x:"value"==t&&"INPUT"==this[0].nodeName?this.val():!(i=this[0].getAttribute(t))&&t in this[0]?this[0][t]:i:this.each(function(i){if(1===this.nodeType)if(a(t))for(D in t)b(this,D,t[D]);else b(this,t,v(this,e,i,this.getAttribute(t)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&b(this,t)})},prop:function(t,e){return e===x?this[0]&&this[0][t]:this.each(function(i){this[t]=v(this,e,i,this[t])})},data:function(t,e){var i=this.attr("data-"+u(t),e);return null!==i?w(i):x},val:function(t){return t===x?this[0]&&(this[0].multiple?C(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=v(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=C(this),n=v(this,t,e,i.offset()),a=i.offsetParent().offset(),o={top:n.top-a.top,left:n.left-a.left};"static"==i.css("position")&&(o.position="relative"),i.css(o)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,i){if(arguments.length<2&&"string"==typeof e)return this[0]&&(this[0].style[I(e)]||B(this[0],"").getPropertyValue(e));var n="";if("string"==t(e))i||0===i?n=u(e)+":"+p(e,i):this.each(function(){this.style.removeProperty(u(e))});else for(D in e)e[D]||0===e[D]?n+=u(D)+":"+p(D,e[D])+";":this.each(function(){this.style.removeProperty(u(D))});return this.each(function(){this.style.cssText+=";"+n})},index:function(t){return t?this.indexOf(C(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return j.some.call(this,function(t){return this.test(y(t))},d(t))},addClass:function(t){return this.each(function(e){k=[];var i=y(this),n=v(this,t,e,i);n.split(/\s+/g).forEach(function(t){C(this).hasClass(t)||k.push(t)},this),k.length&&y(this,i+(i?" ":"")+k.join(" "))})},removeClass:function(t){return this.each(function(e){return t===x?y(this,""):(k=y(this),v(this,t,e,k).split(/\s+/g).forEach(function(t){k=k.replace(d(t)," ")}),void y(this,k.trim()))})},toggleClass:function(t,e){return this.each(function(i){var n=C(this),a=v(this,t,i,y(this));a.split(/\s+/g).forEach(function(t){(e===x?!n.hasClass(t):e)?n.addClass(t):n.removeClass(t)})})},scrollTop:function(){return this.length?"scrollTop"in this[0]?this[0].scrollTop:this[0].scrollY:void 0},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),n=L.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(C(t).css("margin-top"))||0,i.left-=parseFloat(C(t).css("margin-left"))||0,n.top+=parseFloat(C(e[0]).css("border-top-width"))||0,n.left+=parseFloat(C(e[0]).css("border-left-width"))||0,{top:i.top-n.top,left:i.left-n.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||P.body;t&&!L.test(t.nodeName)&&"static"==C(t).css("position");)t=t.offsetParent;return t})}},C.fn.detach=C.fn.remove,["width","height"].forEach(function(t){C.fn[t]=function(e){var a,o=this[0],s=t.replace(/./,function(t){return t[0].toUpperCase()});return e===x?i(o)?o["inner"+s]:n(o)?o.documentElement["offset"+s]:(a=this.offset())&&a[t]:this.each(function(i){o=C(this),o.css(t,v(this,e,i,o[t]()))})}}),q.forEach(function(e,i){var n=i%2;C.fn[e]=function(){var e,a,o=C.map(arguments,function(i){return e=t(i),"object"==e||"array"==e||null==i?i:Q.fragment(i)}),s=this.length>1;return o.length<1?this:this.each(function(t,e){a=n?e:e.parentNode,e=0==i?e.nextSibling:1==i?e.firstChild:2==i?e:null,o.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!a)return C(t).remove();_(a.insertBefore(t,e),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},C.fn[n?e+"To":"insert"+(i?"Before":"After")]=function(t){return C(t)[e](this),this}}),Q.Z.prototype=C.fn,Q.uniq=S,Q.deserializeValue=w,C.zepto=Q,C}();window.Zepto=Zepto,"$"in window||(window.$=Zepto),function(t){function e(t){var e=this.os={},i=this.browser={},n=t.match(/WebKit\/([\d.]+)/),a=t.match(/(Android)\s+([\d.]+)/),o=t.match(/(iPad).*OS\s([\d_]+)/),s=!o&&t.match(/(iPhone\sOS)\s([\d_]+)/),r=t.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),c=r&&t.match(/TouchPad/),l=t.match(/Kindle\/([\d.]+)/),u=t.match(/Silk\/([\d._]+)/),d=t.match(/(BlackBerry).*Version\/([\d.]+)/),p=t.match(/(BB10).*Version\/([\d.]+)/),f=t.match(/(RIM\sTablet\sOS)\s([\d.]+)/),h=t.match(/PlayBook/),g=t.match(/Chrome\/([\d.]+)/)||t.match(/CriOS\/([\d.]+)/),m=t.match(/Firefox\/([\d.]+)/);(i.webkit=!!n)&&(i.version=n[1]),a&&(e.android=!0,e.version=a[2]),s&&(e.ios=e.iphone=!0,e.version=s[2].replace(/_/g,".")),o&&(e.ios=e.ipad=!0,e.version=o[2].replace(/_/g,".")),r&&(e.webos=!0,e.version=r[2]),c&&(e.touchpad=!0),d&&(e.blackberry=!0,e.version=d[2]),p&&(e.bb10=!0,e.version=p[2]),f&&(e.rimtabletos=!0,e.version=f[2]),h&&(i.playbook=!0),l&&(e.kindle=!0,e.version=l[1]),u&&(i.silk=!0,i.version=u[1]),!u&&e.android&&t.match(/Kindle Fire/)&&(i.silk=!0),g&&(i.chrome=!0,i.version=g[1]),m&&(i.firefox=!0,i.version=m[1]),e.tablet=!!(o||h||a&&!t.match(/Mobile/)||m&&t.match(/Tablet/)),e.phone=!(e.tablet||!(a||s||r||d||p||g&&t.match(/Android/)||g&&t.match(/CriOS\/([\d.]+)/)||m&&t.match(/Mobile/)))}e.call(t,navigator.userAgent),t.__detect=e}(Zepto),function(t){function e(t){return t._zid||(t._zid=f++)}function i(t,i,o,s){if(i=n(i),i.ns)var r=a(i.ns);return(p[e(t)]||[]).filter(function(t){return!(!t||i.e&&t.e!=i.e||i.ns&&!r.test(t.ns)||o&&e(t.fn)!==e(o)||s&&t.sel!=s)})}function n(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function a(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(e,i,n){"string"!=t.type(e)?t.each(e,n):e.split(/\s/).forEach(function(t){n(t,i)})}function s(t,e){return t.del&&("focus"==t.e||"blur"==t.e)||!!e}function r(t){return g[t]||t}function c(i,a,c,l,u,d){var f=e(i),h=p[f]||(p[f]=[]);o(a,c,function(e,a){var o=n(e);o.fn=a,o.sel=l,o.e in g&&(a=function(e){var i=e.relatedTarget;return!i||i!==this&&!t.contains(this,i)?o.fn.apply(this,arguments):void 0}),o.del=u&&u(a,e);var c=o.del||a;o.proxy=function(t){var e=c.apply(i,[t].concat(t.data));return e===!1&&(t.preventDefault(),t.stopPropagation()),e},o.i=h.length,h.push(o),i.addEventListener(r(o.e),o.proxy,s(o,d))})}function l(t,n,a,c,l){var u=e(t);o(n||"",a,function(e,n){i(t,e,n,c).forEach(function(e){delete p[u][e.i],t.removeEventListener(r(e.e),e.proxy,s(e,l))})})}function u(e){var i,n={originalEvent:e};for(i in e)b.test(i)||void 0===e[i]||(n[i]=e[i]);return t.each(y,function(t,i){n[t]=function(){return this[i]=m,e[t].apply(e,arguments)},n[i]=v}),n}function d(t){if(!("defaultPrevented"in t)){t.defaultPrevented=!1;var e=t.preventDefault;t.preventDefault=function(){this.defaultPrevented=!0,e.call(this)}}}var p=(t.zepto.qsa,{}),f=1,h={},g={mouseenter:"mouseover",mouseleave:"mouseout"};h.click=h.mousedown=h.mouseup=h.mousemove="MouseEvents",t.event={add:c,remove:l},t.proxy=function(i,n){if(t.isFunction(i)){var a=function(){return i.apply(n,arguments)};return a._zid=e(i),a}if("string"==typeof n)return t.proxy(i[n],i);throw new TypeError("expected function")},t.fn.bind=function(t,e){return this.each(function(){c(this,t,e)})},t.fn.unbind=function(t,e){return this.each(function(){l(this,t,e)})},t.fn.one=function(t,e){return this.each(function(i,n){c(this,t,e,null,function(t,e){return function(){var i=t.apply(n,arguments);return l(n,e,t),i}})})};var m=function(){return!0},v=function(){return!1},b=/^([A-Z]|layer[XY]$)/,y={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(e,i,n){return this.each(function(a,o){c(o,i,n,e,function(i){return function(n){var a,s=t(n.target).closest(e,o).get(0);return s?(a=t.extend(u(n),{currentTarget:s,liveFired:o}),i.apply(s,[a].concat([].slice.call(arguments,1)))):void 0}})})},t.fn.undelegate=function(t,e,i){return this.each(function(){l(this,e,i,t)})},t.fn.live=function(e,i){return t(document.body).delegate(this.selector,e,i),this},t.fn.die=function(e,i){return t(document.body).undelegate(this.selector,e,i),this},t.fn.on=function(e,i,n){return!i||t.isFunction(i)?this.bind(e,i||n):this.delegate(i,e,n)},t.fn.off=function(e,i,n){return!i||t.isFunction(i)?this.unbind(e,i||n):this.undelegate(i,e,n)},t.fn.trigger=function(e,i){return("string"==typeof e||t.isPlainObject(e))&&(e=t.Event(e)),d(e),e.data=i,this.each(function(){"dispatchEvent"in this&&this.dispatchEvent(e)})},t.fn.triggerHandler=function(e,n){var a,o;return this.each(function(s,r){a=u("string"==typeof e?t.Event(e):e),a.data=n,a.target=r,t.each(i(r,e.type||e),function(t,e){return o=e.proxy(a),a.isImmediatePropagationStopped()?!1:void 0})}),o},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){"string"!=typeof t&&(e=t,t=e.type);var i=document.createEvent(h[t]||"Events"),n=!0;if(e)for(var a in e)"bubbles"==a?n=!!e[a]:i[a]=e[a];return i.initEvent(t,n,!0,null,null,null,null,null,null,null,null,null,null,null,null),i.isDefaultPrevented=function(){return this.defaultPrevented},i}}(Zepto),function(t){function e(e,i,n){var a=t.Event(i);return t(e).trigger(a,n),!a.defaultPrevented}function i(t,i,n,a){return t.global?e(i||b,n,a):void 0}function n(e){e.global&&0===t.active++&&i(e,null,"ajaxStart")}function a(e){e.global&&!--t.active&&i(e,null,"ajaxStop")}function o(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||i(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void i(e,n,"ajaxSend",[t,e])}function s(t,e,n){var a=n.context,o="success";n.success.call(a,t,o,e),i(n,a,"ajaxSuccess",[e,n,t]),c(o,e,n),window.Pass&&window.Pass.traceID&&window.Pass.traceID.getTraceID&&window.Pass.traceID.getTraceID(e,t)}function r(t,e,n,a){var o=a.context;a.error.call(o,n,e,t),i(a,o,"ajaxError",[n,a,t]),c(e,n,a)}function c(t,e,n){var o=n.context;n.complete.call(o,e,t),i(n,o,"ajaxComplete",[e,n]),a(n)}function l(){}function u(t){return t&&(t=t.split(";",2)[0]),t&&(t==D?"html":t==x?"json":w.test(t)?"script":_.test(t)&&"xml")||"text"}function d(t,e){return(t+"&"+e).replace(/[&?]{1,2}/,"?")}function p(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=d(e.url,e.data))}function f(e,i,n,a){var o=!t.isFunction(i);return{url:e,data:o?i:void 0,success:o?t.isFunction(n)?n:void 0:i,dataType:o?a||n:n}}function h(e,i,n,a){var o,s=t.isArray(i);t.each(i,function(i,r){o=t.type(r),a&&(i=n?a:a+"["+(s?"":i)+"]"),!a&&s?e.add(r.name,r.value):"array"==o||!n&&"object"==o?h(e,r,n,i):e.add(i,r)})}var g,m,v=0,b=window.document,y=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,_=/^(?:text|application)\/xml/i,x="application/json",D="text/html",C=/^\s*$/;t.active=0,t.ajaxJSONP=function(e){if(!("type"in e))return t.ajax(e);var i,n="jsonp"+ ++v,a=b.createElement("script"),c=function(){clearTimeout(i),t(a).remove(),delete window[n]},u=function(t){c(),t&&"timeout"!=t||(window[n]=l),r(null,t||"abort",d,e)},d={abort:u};return o(d,e)===!1?(u("abort"),!1):(window[n]=function(t){c(),s(t,d,e)},a.onerror=function(){u("error")},a.src=e.url.replace(/=\?/,"="+n),t("head").append(a),e.timeout>0&&(i=setTimeout(function(){u("timeout")},e.timeout)),d)},t.ajaxSettings={type:"GET",beforeSend:l,success:l,error:l,complete:l,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:x,xml:"application/xml, text/xml",html:D,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){window.Pass&&window.Pass.traceID&&window.Pass.traceID.createTraceID&&window.Pass.traceID.setData&&window.Pass.traceID.setData(e);var i=t.extend({},e||{});for(g in t.ajaxSettings)void 0===i[g]&&(i[g]=t.ajaxSettings[g]);n(i),urlProtcol=null,urlDomain=null,crosstest=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url),urlProtcol=RegExp.$1,urlDomain=RegExp.$2;var a="wappass.baidu.com";"http:"==urlProtcol&&urlDomain==a&&(i.url=i.url.replace(/^http:/,"https:")),i.crossDomain||(i.crossDomain=crosstest&&urlDomain!=window.location.host),i.url||(i.url=window.location.toString()),p(i),i.cache===!1&&(i.url=d(i.url,"_="+Date.now()));var c=i.dataType,f=/=\?/.test(i.url);if("jsonp"==c||f)return f||(i.url=d(i.url,"callback=?")),t.ajaxJSONP(i);var h,v=i.accepts[c],b={},y=urlProtcol?urlProtcol:window.location.protocol,w=i.xhr();urlDomain==a&&"http:"==window.location.protocol&&(i.crossDomain=!0),i.crossDomain||(b["X-Requested-With"]="XMLHttpRequest"),v&&(b.Accept=v,v.indexOf(",")>-1&&(v=v.split(",",2)[0]),w.overrideMimeType&&w.overrideMimeType(v)),(i.contentType||i.contentType!==!1&&i.data&&"GET"!=i.type.toUpperCase())&&(b["Content-Type"]=i.contentType||"application/x-www-form-urlencoded"),i.headers=t.extend(b,i.headers||{}),w.onreadystatechange=function(){if(4==w.readyState){w.onreadystatechange=l,clearTimeout(h);var e,n=!1;if(w.status>=200&&w.status<300||304==w.status||0==w.status&&"file:"==y){c=c||u(w.getResponseHeader("content-type")),e=w.responseText;try{"script"==c?(1,eval)(e):"xml"==c?e=w.responseXML:"json"==c&&(e=C.test(e)?null:t.parseJSON(e))}catch(a){n=a}n?r(n,"parsererror",w,i):s(e,w,i)}else r(null,w.status?"error":"abort",w,i)}};var _="async"in i?i.async:!0;w.open(i.type,i.url,_),urlDomain==a&&(w.withCredentials=!0);for(m in i.headers)w.setRequestHeader(m,i.headers[m]);return o(w,i)===!1?(w.abort(),!1):(i.timeout>0&&(h=setTimeout(function(){w.onreadystatechange=l,w.abort(),r(null,"timeout",w,i)},i.timeout)),w.send(i.data?i.data:null),w)
},t.get=function(){return t.ajax(f.apply(null,arguments))},t.post=function(){var e=f.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=f.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,i,n){if(!this.length)return this;var a,o=this,s=e.split(/\s/),r=f(e,i,n),c=r.success;return s.length>1&&(r.url=s[0],a=s[1]),r.success=function(e){o.html(a?t("<div>").html(e.replace(y,"")).find(a):e),c&&c.apply(o,arguments)},t.ajax(r),this};var k=encodeURIComponent;t.param=function(t,e){var i=[];return i.add=function(t,e){this.push(k(t)+"="+k(e))},h(i,t,e),i.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,i=[];return t(Array.prototype.slice.call(this.get(0).elements)).each(function(){e=t(this);var n=e.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&("radio"!=n&&"checkbox"!=n||this.checked)&&i.push({name:e.attr("name"),value:e.val()})}),i},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var i=t.Event("submit");this.eq(0).trigger(i),i.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(t,e){function i(t){return n(t.replace(/([a-z])([A-Z])/,"$1-$2"))}function n(t){return t.toLowerCase()}function a(t){return o?o+t:n(t)}var o,s,r,c,l,u,d,p,f="",h={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},g=window.document,m=g.createElement("div"),v=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,b={};t.each(h,function(t,i){return m.style[t+"TransitionProperty"]!==e?(f="-"+n(t)+"-",o=i,!1):void 0}),s=f+"transform",b[r=f+"transition-property"]=b[c=f+"transition-duration"]=b[l=f+"transition-timing-function"]=b[u=f+"animation-name"]=b[d=f+"animation-duration"]=b[p=f+"animation-timing-function"]="",t.fx={off:o===e&&m.style.transitionProperty===e,speeds:{_default:400,fast:200,slow:600},cssPrefix:f,transitionEnd:a("TransitionEnd"),animationEnd:a("AnimationEnd")},t.fn.animate=function(e,i,n,a){return t.isPlainObject(i)&&(n=i.easing,a=i.complete,i=i.duration),i&&(i=("number"==typeof i?i:t.fx.speeds[i]||t.fx.speeds._default)/1e3),this.anim(e,i,n,a)},t.fn.anim=function(n,a,o,f){var h,g,m,y={},w="",_=this,x=t.fx.transitionEnd;if(a===e&&(a=.4),t.fx.off&&(a=0),"string"==typeof n)y[u]=n,y[d]=a+"s",y[p]=o||"linear",x=t.fx.animationEnd;else{g=[];for(h in n)v.test(h)?w+=h+"("+n[h]+") ":(y[h]=n[h],g.push(i(h)));w&&(y[s]=w,g.push(s)),a>0&&"object"==typeof n&&(y[r]=g.join(", "),y[c]=a+"s",y[l]=o||"linear")}return m=function(e){if("undefined"!=typeof e){if(e.target!==e.currentTarget)return;t(e.target).unbind(x,m)}t(this).css(b),f&&f.call(this)},a>0&&this.bind(x,m),this.size()&&this.get(0).clientLeft,this.css(y),0>=a&&setTimeout(function(){_.each(function(){m.call(this)})},0),this},m=null}(Zepto),function(t){function e(t){return"tagName"in t?t:t.parentNode}function i(t,e,i,n){var a=Math.abs(t-e),o=Math.abs(i-n);return a>=o?t-e>0?"Left":"Right":i-n>0?"Up":"Down"}function n(){l=null,u.last&&(u.el.trigger("longTap"),u={})}function a(){l&&clearTimeout(l),l=null}function o(){s&&clearTimeout(s),r&&clearTimeout(r),c&&clearTimeout(c),l&&clearTimeout(l),s=r=c=l=null,u={}}var s,r,c,l,u={},d=750;t(document).ready(function(){var p,f,h=0,g=0;t(document.body).bind("touchstart",function(i){p=Date.now(),f=p-(u.last||p),u.el=t(e(i.touches[0].target)),s&&clearTimeout(s),u.x1=i.touches[0].pageX,u.y1=i.touches[0].pageY,f>0&&250>=f&&(u.isDoubleTap=!0),u.last=p,l=setTimeout(n,d)}).bind("touchmove",function(t){a(),u.x2=t.touches[0].pageX,u.y2=t.touches[0].pageY,Math.abs(u.x1-u.x2)>10&&t.preventDefault(),h+=Math.abs(u.x1-u.x2),g+=Math.abs(u.y1-u.y2)}).bind("touchend",function(){a(),u.x2&&Math.abs(u.x1-u.x2)>30||u.y2&&Math.abs(u.y1-u.y2)>30?c=setTimeout(function(){u.el.trigger("swipe"),u.el.trigger("swipe"+i(u.x1,u.x2,u.y1,u.y2)),u={}},0):"last"in u&&(30>h&&30>g?r=setTimeout(function(){var e=t.Event("tap");e.cancelTouch=o,u.el.trigger(e),u.isDoubleTap?(u.el.trigger("doubleTap"),u={}):s=setTimeout(function(){s=null,u.el.trigger("singleTap"),u={}},250)},0):u={}),h=g=0}).bind("touchcancel",o),t(window).bind("scroll",o)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(e){t.fn[e]=function(t){return this.bind(e,t)}})}(Zepto),function(t){function e(e){return e=t(e),!(!e.width()&&!e.height())&&"none"!==e.css("display")}function i(t,e){t=t.replace(/=#\]/g,'="#"]');var i,n,a=r.exec(t);if(a&&a[2]in s&&(i=s[a[2]],n=a[3],t=a[1],n)){var o=Number(n);n=isNaN(o)?n.replace(/^["']|["']$/g,""):o}return e(t,i,n)}var n=t.zepto,a=n.qsa,o=n.matches,s=t.expr[":"]={visible:function(){return e(this)?this:void 0},hidden:function(){return e(this)?void 0:this},selected:function(){return this.selected?this:void 0},checked:function(){return this.checked?this:void 0},parent:function(){return this.parentNode},first:function(t){return 0===t?this:void 0},last:function(t,e){return t===e.length-1?this:void 0},eq:function(t,e,i){return t===i?this:void 0},contains:function(e,i,n){return t(this).text().indexOf(n)>-1?this:void 0},has:function(t,e,i){return n.qsa(this,i).length?this:void 0}},r=new RegExp("(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*"),c=/^\s*>/,l="Zepto"+ +new Date;n.qsa=function(e,o){return i(o,function(i,s,r){try{var u;!i&&s?i="*":c.test(i)&&(u=t(e).addClass(l),i="."+l+" "+i);var d=a(e,i)}catch(p){throw console.error("error performing selector: %o",o),p}finally{u&&u.removeClass(l)}return s?n.uniq(t.map(d,function(t,e){return s.call(t,e,d,r)})):d})},n.matches=function(t,e){return i(e,function(e,i,n){return!(e&&!o(t,e)||i&&i.call(t,null,n)!==t)})}}(Zepto),function(t){t.fn.formJson=function(e,i){function n(t,e){var i=l[t];i?(i.push||(l[t]=[i]),l[t].push(e)):l[t]=e}for(var a,o,s,r,e=e||t(this).get(0),c=e.elements,i=i||function(t){return t},l={},u=0,d=c.length;d>u;u++)if(a=c[u],s=a.name,!a.disabled&&s)switch(o=a.type,r=a.value,o){case"radio":case"checkbox":if(!a.checked)break;case"textarea":case"text":case"tel":case"email":case"password":case"hidden":case"file":n(s,i(r,s))}return l}}(Zepto),function(t,e){function i(i,n,a,o,s){"function"!=typeof n||s||(s=n,n=e);var r={opacity:a};return o&&(r.scale=o,i.css(t.fx.cssPrefix+"transform-origin","0 0")),i.animate(r,n,null,s)}function n(e,n,a,o){return i(e,n,0,a,function(){s.call(t(this)),o&&o.call(this)})}var a=window.document,o=(a.documentElement,t.fn.show),s=t.fn.hide,r=t.fn.toggle;t.fn.show=function(t,n){return o.call(this),t===e?t=0:this.css("opacity",0),i(this,t,1,"1,1",n)},t.fn.hide=function(t,i){return t===e?s.call(this):n(this,t,"0,0",i)},t.fn.toggle=function(i,n){return i===e||"boolean"==typeof i?r.call(this,i):this.each(function(){var e=t(this);e["none"==e.css("display")?"show":"hide"](i,n)})},t.fn.fadeTo=function(t,e,n){return i(this,t,e,null,n)},t.fn.fadeIn=function(t,e){var i=this.css("opacity");return i>0?this.css("opacity",0):i=1,o.call(this).fadeTo(t,i,e)},t.fn.fadeOut=function(t,e){return n(this,t,null,e)},t.fn.fadeToggle=function(e,i){return this.each(function(){var n=t(this);n[0==n.css("opacity")||"none"==n.css("display")?"fadeIn":"fadeOut"](e,i)})}}(Zepto),function(t){t.fn.getQueryString=function(t){for(var e=location.href.substring(location.href.indexOf("?")+1).split("&"),i={},n=0,a=e.length;a>n;n++){var o=e[n].split("=");i[o[0]]=o[1]}return i[t]?i[t]:""}}(Zepto),function(t){t.extend(t.fn,{cookie:function(e,i,n){var a,o,s,r;return arguments.length>1&&"[object Object]"!==String(i)?(n=t.extend({},n),(null===i||void 0===i)&&(n.expires=-1),"number"==typeof n.expires&&(a=24*n.expires*60*60*1e3,o=n.expires=new Date,o.setTime(o.getTime()+a)),i=String(i),document.cookie=[encodeURIComponent(e),"=",n.raw?i:encodeURIComponent(i),n.expires?"; expires="+n.expires.toUTCString():"",n.path?"; path="+n.path:"",n.domain?"; domain="+n.domain:"",n.secure?"; secure":""].join("")):(n=i||{},r=n.raw?function(t){return t}:decodeURIComponent,(s=new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?r(s[1]):null)}})}(Zepto),!function(t){"use strict";function e(t){(e=Array.prototype.indexOf?function(t){return o.indexOf(t)>-1}:function(t){var e=t+s;return o.join(s).indexOf(e)>-1})(t)}function i(t,i){var a,t,o,s=t.split("/"),r=s.length;for(a=0,o=n;r>a;a++,o=o[t]){if(t=s[a],0==a&&e(t))throw t+"is reservedWord";o[t]||a===r-1||(o[t]={}),a===r-1&&(o[t]=i)}}var n,e,a={},o=["require","define"],s="arr"+ +new Date;n=t.Pass={},n.define=function(t,e){if(!t)throw"base/namespace Pass.define first param must be passed in";return a[t]||(e?(a[t]=e,i(t,a[t])):(a[t]={},i(t,a[t]))),a[t]},n.require=function(t){if(!t||!a[t])throw"base/namespace Pass.require cant get target obj";return a[t]},t.Pass=n}(this),!function(t,e){"use strict";var i=(e.require,{login:"/static/appsapi/js/app_show_webapp_login.js",login_again:"/static/appsapi/js/app_show_webapp_login_again.js",sms_login:"/static/appsapi/js/app_show_webapp_sms_login.js",sms_verify:"/static/appsapi/js/app_show_webapp_sms_verify.js",face_login:"/static/appsapi/js/app_show_webapp_face_login.js",bind:"/static/appsapi/js/app_show_webapp_bind.js",bind_verify:"/static/appsapi/js/app_show_webapp_bind_verify.js",bindResult:"/static/appsapi/js/app_show_webapp_bind_result.js",forcedBind:"/static/appsapi/js/app_show_webapp_forced_bind.js",forcedBind_verify:"/static/appsapi/js/app_show_webapp_forced_bind_verify.js",realName:"/static/appsapi/js/app_show_webapp_real_name.js",realName_verify:"/static/appsapi/js/app_show_webapp_real_name_verify.js",verify:"/static/appsapi/js/app_show_webapp_verify.js",reg:"/static/appsapi/js/app_show_webapp_reg.js",reg_verify:"/static/appsapi/js/app_show_webapp_reg_verify.js",canshare_accounts:"/static/appsapi/js/app_show_webapp_canshare_accounts.js",authPwd:"/static/appsapi/js/app_show_webapp_auth_pwd.js",agreement:"/static/appsapi/js/app_show_webapp_agreement.js",personal_agreement:"/static/appsapi/js/app_show_webapp_personal_agreement.js",getpass:"/static/appsapi/js/app_show_webapp_getpass.js",getpassbyphone:"/static/appsapi/js/app_show_webapp_getpassbyphone.js",getpassbyemail:"/static/appsapi/js/app_show_webapp_getpassbyemail.js",getpassbyemail_result:"/static/appsapi/js/app_show_webapp_getpassbyemail_result.js",fastReg:"/static/appsapi/js/app_show_webapp_fast_reg.js",upstreamReg:"/static/appsapi/js/app_show_webapp_upstream_reg.js",setpwd:"/static/appsapi/js/app_show_webapp_setpwd.js",fastRegSuccess:"/static/appsapi/js/app_show_webapp_fast_reg_success.js",fastRegVerify:"/static/appsapi/js/app_show_webapp_fast_reg_verify.js",feedback:"/static/appsapi/js/app_show_webapp_feedback.js",codelist:"/static/appsapi/js/app_show_webapp_codelist.js",idcardverify:"/static/appsapi/js/app_show_webapp_idcardverify.js",uniqueVerifyCode:"/static/appsapi/js/app_show_webapp_unique_verify_code.js",setunamepwd:"/static/appsapi/js/app_show_webapp_setuname_pwd.js",secondCardVerify:"/static/appsapi/js/app_show_webapp_secondCard_verify.js",secondCardResult:"/static/appsapi/js/app_show_webapp_secondCard_result.js",smsSecondcard:"/static/appsapi/js/app_show_webapp_sms_secondcard.js",fullName:"/static/appsapi/js/app_show_webapp_fullName.js",question:"/static/appsapi/js/app_show_webapp_question.js"}),n={realName:"/static/appsapi/css/realname.css",secondCardResult:"/static/appsapi/css/second_card.css",secondCardVerify:"/static/appsapi/css/second_card.css",smsSecondcard:"/static/appsapi/css/second_card.css",login_again:"/static/appsapi/css/login_again.css",question:"/static/appsapi/css/question.css",idcardverify:"/static/appsapi/css/idcard.css",codelist:"/static/appsapi/css/codelist.css",feedback:"/static/appsapi/css/feedback.css"};e._modulePool=e._modulePool||{},e._moduleList=e._moduleList||[],e._moduleCurrent="",e._define=e._define||function(t,i){e._modulePool[t]=i&&i()},e._getModule=e._getModule||function(t){return e._modulePool[t]};var a=function(t,e){for(var i=e.length;i>0;i--)return t===e[i-1]?i-1:-1},o=function(t,e){for(var i=0;i<e.length;i++)if(t===e[i])return i;return-1};e.switchView=function(i){if(e.logAll&&e.logAll.logBfb&&(e.logAll&&e.logAll.setRelation&&e.logAll.setRelation(),e.load.insertScript("https://baifubao.baidu.com/content/cashdesk/statistic.min.js?tt="+(new Date).getTime(),function(){i=i||"pagename",e.logAll.logBfb({en:"appsapi-"+i,eg:"in",evSource:e._moduleCurrent,ev:[i,"show"]})})),t("input").blur(),"back"==i){var n=a(e._moduleCurrent,e._moduleList);if(e._modulePool[e._moduleCurrent].backSign)return e._modulePool[e._moduleCurrent].back&&e._modulePool[e._moduleCurrent].back(),i=e._moduleList[n],void e.animate(i);if(i=n>0?e._moduleList[n-1]:"",t(".mod-dialog-body").length>0&&"block"==t(".mod-dialog-body").css("display"))return;e._moduleList.length>0&&e._moduleList.splice(n,1)}else if(-1==t.inArray(i,e._moduleList))e._moduleList.push(i);else{var n=o(i,e._moduleList);e._moduleList.splice(n,1),e._moduleList.push(i)}e.animate(i),""!=i&&(e._moduleCurrent=i,e.client.deviceClass("action_set_title",{title:e._getModule(i).lang.title}))},e._getScript=e._getScript||function(t,a){function o(){var i=e._getModule(t);if(!i)throw new Error("load "+t+"module script error.");a&&a(i)}function s(t){var e=document,i=e.createElement("SCRIPT");i.type="text/javascript",i.charset="UTF-8",i.readyState?i.onreadystatechange=function(){("loaded"==i.readyState||"complete"==i.readyState)&&(i.onreadystatechange=null,o())}:i.onload=function(){o()},i.src=apiDomain+t,e.getElementsByTagName("head")[0].appendChild(i)}var r=e._getModule(t);r?a&&a(r):n[t]?e.load.loadCssFileW(apiDomain+n[t],function(){s(i[t])}):s(i[t])}}($,window.Pass),!function(){var t,e;!function(){function i(e){var i=e.factory,n=function(i){var n=i;return"."===i.charAt(0)&&(n=e.id.slice(0,e.id.lastIndexOf(s))+s+i.slice(2)),t(n)};return e.exports={},delete e.factory,i(n,e.exports,e),e.exports}var n={},a=[],o={},s=".";t=function(t){if(!n[t])throw"module "+t+" not found";if(t in o){var e=a.slice(o[t]).join("->")+"->"+t;throw"Cycle in require graph: "+e}if(n[t].factory)try{return o[t]=a.length,a.push(t),i(n[t])}finally{delete o[t],a.pop()}return n[t].exports},e=function(t,e){if(n[t])throw"module "+t+" already defined";n[t]={id:t,factory:e}},e.remove=function(t){delete n[t]},e.moduleMap=n}(),e("sapi_bridge",function(t,e,i){var n={callbackId:Math.floor(2e9*Math.random()),callbacks:{},commandQueue:[],loopEnabled:!1,invoke:function(t,e,i,n){return this.loopEnabled?void this.enqueueCommand(t,e,i,n):(t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n},void(window.sapiUseIframe?this.bridgeLoadURL("sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId):document.location="sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId))},bridgeLoadURL:function(t){var e;e=document.createElement("iframe"),e.setAttribute("src",t),e.setAttribute("style","display:none;"),e.setAttribute("height","0px"),e.setAttribute("width","0px"),e.setAttribute("frameborder","0"),document.body.appendChild(e),e.parentNode.removeChild(e),e=null},enqueueCommand:function(t,e,i,n){t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n};var a=t+"/"+JSON.stringify(e)+"/"+this.callbackId;this.commandQueue.push(a)},fetchNativeCommands:function(){var t=JSON.stringify(this.commandQueue);return this.commandQueue=[],t},activateCommandQueue:function(){document.location="sapi://ready"},callbackSuccess:function(t,e){try{n.callbackFromNative(t,e,!0)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackError:function(t,e){try{n.callbackFromNative(t,e,!1)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackFromNative:function(t,e,i){var a=this.callbacks[t];a&&(i?a.success&&a.success(t,e):a.fail&&a.fail(t,e),delete n.callbacks[t])}};i.exports=n}),window.sapi_bridge=t("sapi_bridge")}(),!function(t,e){var e=Pass;e.client=e.client||{network:!1,encodeHTML:function(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},upData:function(){var t,e=location.search.substring(1).split("&"),i=this,n={};for(var a in e)t=e[a].split("="),n[t[0]]=i.encodeHTML(t[1]);publicData=n,publicData.lang=(publicData.lang||"zh-cn").toLowerCase(),-1=="zh-cn|en".indexOf(publicData.lang)&&(publicData.lang="zh-cn"),"en"==publicData.lang&&(publicData.overseas=1)},fastReg:function(){window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg")},customLogin:function(){window.sapi_obj&&window.sapi_obj.action_share_accounts_view_btn_clicked?window.sapi_obj.action_share_accounts_view_btn_clicked():"android"==publicData.client?prompt("{action:{name:'action_share_accounts_view_btn_clicked'}}"):"ios"==publicData.client&&this.deviceClass("action_share_accounts_view_btn_clicked")},vcodetoclient:function(t){window.sapi_obj&&window.sapi_obj.action_received_sms_code?window.sapi_obj.action_received_sms_code("Pass.client.setVcodeVal",t):"android"==publicData.client&&prompt("{action:{name:'action_received_sms_code', params:['Pass.client.setVcodeVal','"+t+"']}}")},setVcodeVal:function(t,e){Pass._modulePool[e]&&Pass._modulePool[e].setVcodeVal&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[e].setVcodeVal).toLowerCase()&&Pass._modulePool[e].setVcodeVal(t)},webViewWillAppear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillAppear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillAppear).toLowerCase()&&Pass._modulePool[t].webViewWillAppear()},webViewWillDisappear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillDisappear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillDisappear).toLowerCase()&&Pass._modulePool[t].webViewWillDisappear()},deviceClass:function(t,e,i,n){if("android"==publicData.client&&window.sapi_obj){if(window.sapi_obj[t])return window.sapi_obj[t]()}else{if("android"==publicData.client){var e=e||{},a="",o=JSON.stringify(e),s="";return e.title?(a=e.title,s="{action:{name:'"+t+"',params:['"+a+"']}}"):s="{action:{name:'"+t+"',params:['"+o+"']}}",prompt(s)}if("ios"==publicData.client){var e=e||{},r=function(t,e){i&&i(t,e)},c=function(t,e){n&&n(t,e)};window.sapi_bridge.invoke(arguments[0],e,r,c)}}},success:function(t){if(window.sapi_obj)window.sapi_obj.authorized_response(t);else if("android"==publicData.client){var e="{action:{name:'authorized_response',params:['"+t+"']}}";prompt(e)}else if("ios"==publicData.client){var i=function(){},n=function(){};window.sapi_bridge.invoke("loginSucceed",{result:t},i,n)}},action_unite_verify:function(t){if(window.sapi_obj&&window.sapi_obj.action_unite_verify)window.sapi_obj.action_unite_verify&&window.sapi_obj.action_unite_verify(t);else if("android"==publicData.client)prompt("{action:{name:'action_unite_verify'}}")&&prompt("{action:{name:'action_unite_verify',params:['"+t+"']}}","action_unite_verify");else if("ios"==publicData.client){var e=function(){},i=function(){};window.sapi_bridge.invoke("action_unite_verify",{result:t},e,i)}},getNavWhiteList:function(){var t=[{title:"第三方登录",url:"https: //passport.baidu.com/phoenix/account/startlogin"}];return t},net:function(){this.network=!0,e._modulePool.canshare_accounts&&e._modulePool.canshare_accounts.getImg(),window.Pass.login&&window.Pass.login.getRerocdList&&window.Pass.login.getRerocdList(),e.getSeverTimeAsync(),window.Pass.face_login&&window.Pass.face_login.getUserInfo&&window.Pass.face_login.getUserInfo(),this.logPV(e._moduleCurrent)},checkNativeMethod:function(t,i){if("ios"===publicData.client)e.client.deviceClass("sapi_action_check_method_support",{method:t},function(t,e){e.errmsg,1===e.errno&&i&i()});else{var n=JSON.parse(prompt('{action: {name: "sapi_action_check_method_support", params: ["'+t+'"]}}'));1===n&&i&i()}},sendLog:function(t,i,n,a){var o=new Image;o.onerror=o.onload=function(){o=null},o.src="https://nsclick.baidu.com/v.gif?pid=111&type=1023&gid="+(e.guideRandom||"")+"&tpl="+(publicData.tpl||"")+"&device="+(t||"")+"&name="+(i||"")+"&time="+(n||"")+"&errno="+(a||"")+"&tt="+(new Date).getTime()},logAjax:function(t,e,i){"android"==publicData.client&&this.network?this.sendLog("android",t,e,i):"ios"==publicData.client&&this.sendLog("ios",t,e,i)},logPV:function(t){if("back"!=t){var e={login:"pv_login",bind:"pv_bind",verify:"pv_verify",reg:"pv_reg",sms_login:"pv_slogin",canshare_accounts:"pv_sh_acc",agreement:"pv_agree",getpass:"pv_forgot",getpassbyphone:"pv_pforgot",getpassbyemail:"pv_eforgot",getpassbyemail_result:"pv_eforgot_r",fastReg:"pv_sreg",fastRegVerify:"pv_sreg_vcd",fastRegSuccess:"pv_sreg_succ",setpwd:"pv_sreg_pwd"},i=e[t]?e[t]:t;"android"==publicData.client&&this.network?this.sendLog("android",i,"",0,0):"ios"==publicData.client&&this.sendLog("ios",i,"",0,0)}},logEffective:function(t,e){function i(){var n=new Image;n.onerror=n.onload=function(){n=null},n.src="https://passport.baidu.com/img/v.gif?type="+e+"&v="+(new Date).getTime();for(var a in t)t[a].off(a,i)}for(var n in t)t[n].on(n,i)},logAjaxAll:function(e,i,n){t.ajax({url:i+"&module="+e,type:"POST",dataType:"json",data:n,error:function(){},success:function(){}})}},e.client.upData()}($,window.Pass),!function(t,e){"use strict";function i(t){this.module=t.module}var n=(e.require,{"zh-cn":{goback:"返回"},en:{goback:"Back"}}[window.publicData.lang||"zh-cn"]);i.prototype.getId=function(t){var e=this.module+"-"+t;return e},i.prototype._getHeaderField=function(t){var e=t.nextRole?' data-role="'+t.nextRole+'"':"",i="";return i+=t.overseas?'<header class="pass-header overseas_login_header" id="login-overseas-headerWrapper" data-role="back"><span class="pass-header-back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":t.usual?'<header class="pass-header usual_login_header" id="'+this.getId("headerWrapper")+'">':'<header class="pass-header" id="'+this.getId("headerWrapper")+'">',i+=(t.goBack?'<span class="pass-header-back" data-role="back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":"")+'<span class="pass-header-title">'+t.title+"</span>"+(t.words?'<span class="pass-header-links"'+e+">"+t.words+"</span>":"")+"</header>"},i.prototype._getToastField=function(){var t='<p class="pass-mod-toastWrapper" id="'+this.getId("toastWrapper")+'"></p>';return t},i.prototype._getLoadingField=function(t){var e='<p class="pass-mod-loadingWrap" id="'+this.module+'-loading"><span class="pass-mod-loadingImg"></span>'+t.html+'</p><div class="pass-mod-Mask" id="'+this.module+'-loadingMask"></div>';return e},i.prototype._getErrorField=function(){var t='<p class="error_area" id="'+this.getId("errorWrapper")+'" role="alert"></p>';return t},i.prototype._getRegularField=function(t){var e=t.autoComplete?' autocomplete = "off"':"",i=t.type?t.type:t.pwd?"password":"text",n=t.maxLength?'maxlength="'+t.maxLength+'"':"",a=t.placeholder?' placeholder="'+t.placeholder+'"':"",o=t.value?t.value:"",s=(t.code?'<span class="pass-overseas-wrapper">':"")+'<label class="pass-text-label '+(t.labellong?"pass-text-label-long ":"")+(t.code?"pass-label-"+this.module+"-code pass-label-code pass-text-label-":"pass-text-label-"),r=t.code?'<p class="pass-form-code pass-form-item pass-form-input-wrapper pass-form-item-':'<p class="pass-form-item pass-form-input-wrapper pass-form-item-',c=r+t.field+'">'+(t.label?s+t.field+'" for="'+this.getId(t.field)+'" id="'+this.module+"-label-"+t.field+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+(t.code?'<span class="pass-overseas-down"></span></span>':"")+'<input type="'+i+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="'+(t.passcode?"text-input-code":"")+" pass-text-input pass-text-input-"+t.field+'" '+n+e+a+' value="'+o+'" '+(t.readonly?"readonly":"")+"/>"+(0==t.clearValue?"":'<span class="pass-input-clearValue hide pass-clearbtn-'+t.field+'"></span>')+(t.rightDom?t.rightDom:"")+"</p>";return c},i.prototype._getRegularFieldNew=function(t){var e=(t.autoComplete?' autocomplete = "off"':"",t.type?t.type:t.pwd?"password":"text",t.maxLength?'maxlength="'+t.maxLength+'"':""),i=t.placeholder?' placeholder="'+t.placeholder+'"':"",n=t.value?t.value:"",a=t.label?'<label class="form-label">'+t.labeltext+"</label>":"",o='<div class="form-input">'+a+'<p class="pass-form-item form-input-value"><input type="text" name="'+t.field+'" class="text-input'+(t.disabled?" text-grey":"")+'"'+e+i+' value="'+n+'" id="'+this.module+"-"+t.field+'"'+(t.disabled?"disabled":"")+'><span class="pass-input-clearValue hide pass-input-clearValue-new"></span></p><hr class="pass-form-item-sep"><p class="error_area" id="'+this.module+"-"+t.field+'Error"></p></div>';return o},i.prototype._getVCodeField=function(t){var e=1==t.show?"":' style="display:none;"',i=t.type?t.type:"text",n='<p class="pass-form-item-v pass-form-item-'+t.field+'"'+e+' id="'+this.getId("verifyCodeWrapper")+'"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+i+'" id="'+this.getId(t.field)+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span><span class="pass-form-vcodeImg"><img class="pass-verifyCode-img" width="100" height="40" id="'+this.getId("verifyCodeImg")+'" alt="验证码"/></span></p>';return n},i.prototype._getVCodeSmsField=function(t){var e=t.type?t.type:"text",i='<p class="pass-form-item-v pass-form-item-'+t.field+' pass-form-item-smsVcode pass-form-item-vcode"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+e+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span></p><p class="verify-button"><input type="button" value="'+t.text+'" class="pass-form-VerifyButton" id="'+this.getId("verifyCodeSend")+'"></p>';return i},i.prototype._getHiddenField=function(t){var e,i=this,n='<p id="'+this.getId("hiddenFields")+'" class="hide">';for(var a in t)t.hasOwnProperty(a)&&(e="string"==typeof t[a]?t[a].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#39;"):t[a],n+='<input type="hidden" id="'+i.getId(a)+'" name="'+a+'" value="'+e+'" />');return n+="</p>"},i.prototype._getSubmitField=function(t){var e='<p class="pass-form-item pass-form-item-submit"><input id="'+this.getId("submit")+'" type="submit" value="'+t.value+'" class="pass-button-full pass-button-submit '+(t.actived?"":"pass-button-full-disabled")+'"'+(t.disabled?"disabled=disabled":"")+" /></p>";return e},i.prototype._getFooterField=function(){var t='<footer class="footer" id="'+this.getId("footerWrapper")+'">&copy;'+(new Date).getFullYear()+" Baidu</footer>";return t},e.define("ui/temp",i)}($,window.Pass),!function(t,e){"use strict";e.traceID={headID:"",flowID:"",cases:"",initTraceID:function(t){var e=this;t&&t.length>0?(e.headID=t.slice(0,6),e.flowID=t.slice(6,8)):e.destory()},createTraceID:function(){var t=this;return t.headID+t.flowID+t.cases},startFlow:function(t){var e=this,i=e.getFlowID(t);0===e.flowID.length||e.flowID===i?(e.createHeadID(),e.flowID=i):e.finishFlow(i)},finishFlow:function(){var t=this;t.destory()},getRandom:function(){return parseInt(90*Math.random()+10,10)},createHeadID:function(){var t=this,e=(new Date).getTime()+t.getRandom().toString(),i=Number(e).toString(16),n=i.length,a=i.slice(n-6,n).toUpperCase();t.headID=a},getTraceID:function(t,e){var i=this,n=t&&t.getResponseHeader&&t.getResponseHeader("Trace-ID")||e&&e.traceid||"";i.initTraceID(n)},getFlowID:function(t){var e={login:"01",reg:"02"};return e[t]},setData:function(t){var e=this;return t.data?t.data.traceid=e.createTraceID():t.url=t.url+(t.url.indexOf("?")>-1?"&":"?")+"traceid="+e.createTraceID(),t},destory:function(){var t=this;t.headID="",t.flowID=""}},e.logAll={logPass:function(t,e){function i(t){var e,i,n,a,o,s,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(n=t.length,i=0,e="";n>i;){if(a=255&t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4),e+="==";break}if(o=t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2),e+="=";break}s=t.charCodeAt(i++),e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2|(192&s)>>6),e+=r.charAt(63&s)}return e}var n=document.location.protocol+"//nsclick.baidu.com/v.gif?pid=111&type=1023&v="+(new Date).getTime(),a="";for(var o in e)a=a+o+":"+e[o]+",";a=i("{"+a.substring(0,a.length-1)+"}");var s="&page="+t.page+"&source="+t.source+"&tpl="+t.tpl+"&auto_statistic="+a;if(n+=s){var r=new Image;r.onload=r.onerror=function(){r.onload=r.onerror=null,r=null},r.src=n}},getRefer:function(){var t,e=document.referrer;if(e.indexOf("?")>-1){var i=/(^.+?)\?{1}.*/,n=e.match(i);t=n[1]}else t=e||"source";return t},setRelation:function(){var t="localStorage"in window&&null!==window.localStorage;t&&(localStorage.setItem("keyprev",localStorage.getItem("key")||""),localStorage.setItem("key",(new Date).getTime()))},getRelation:function(){var t="localStorage"in window&&null!==window.localStorage,e="";if(t){var i=localStorage.getItem("keyprev")||"",n=localStorage.getItem("key")||"";e=""!=i&&""!=n&&parseInt(n,10)-parseInt(i,10)>18e5?"-"+localStorage.getItem("key"):i+"-"+n}return e},logBfb:function(i){window.statisticUserActionSwitcher=!0;var n,i=i||{},a=i.ev||[];if(e.logAll&&e.logAll.getRelation&&(n=e.logAll.getRelation()),e.logAll&&e.logAll.logPass){var o={page:i.logPage||e._moduleCurrent||"",source:"native",tpl:publicData.tpl||""},s={};i.autoStatisticObj&&(s=i.autoStatisticObj),s.eventType=i.en||"",e.logAll.logPass(o,s)}if(window.BfbStatistic){var r=[];r.push(t.fn.cookie("BAIDUID")||"BAIDUID"),r.push(publicData.tpl||"ppdemo"),r.push(publicData.clientfrom||"clientfrom"),r.push(publicData.client||"client"),r.push(publicData.subpro||"subpro"),r.push(n||"source"),window.BfbStatistic.sendUserActionData({en:i.en,eg:i.eg||"",ev:r.concat(a)},function(){i.callback&&i.callback()})}}}}($,window.Pass),!function(t,e){"use strict";function i(e){this.config=t.extend(e,{}),this.button=this.config.handler,this._validations=[],this._errno=0,this._time=this.config.sTime||60,this._init()}e.require,i.prototype._init=function(){var t=this;this.addValidation(this.config.validations),this.button.on("click",function(){t.clickCallBack(),t.config.tapcallback&&t.config.tapcallback()}),"disabled"==this.config.initStatus&&(this._timing(),this.button.get(0).disabled=!0)},i.prototype.clickCallBack=function(){this.button.get(0).disabled||(this._validate(),0===this.getErrno()&&(this._send(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend",ev:[e._moduleCurrent||"","click"]})))},i.prototype._timing=function(){function e(){return 0==--o?(a.val(n.config.sendText),a.removeClass("pass-button-disabled"),n.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),void(a.get(0).disabled=!1)):(a.val(n.config.reSend+"("+o+")"),void(i=setTimeout(function(){e()},1e3)))}var i,n=this,a=n.button,o=n._time;a.addClass("pass-button-disabled"),e()},i.prototype._send=function(){var i,n,a=this;a.config.beforeSend&&a.config.beforeSend(),i="[object function]"==Object.prototype.toString.call(a.config.url).toLowerCase()?a.config.url():a.config.url,"[object function]"==Object.prototype.toString.call(a.config.data).toLowerCase()?(n=a.config.data(),n.tpl=publicData.tpl):(n=a.config.data,n.tpl=publicData.tpl),a.button.get(0).disabled=!0,a.button.get(0).value=a.config.loadingText,n.clientfrom=publicData.clientfrom||"native",a.config.beforeSend&&a.config.beforeSend();
var o=new Date;t.ajax({url:i,data:n,type:a.config.type||"POST",dataType:a.config.dataType||"json",success:function(t){var i=(new Date).getTime()-o;e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend_request",ev:[e._moduleCurrent||"","request",t.errInfo.no,t.errInfo.msg]}),0==t.errInfo.no?(a._timing(),a.config.success(t)):(a.button.get(0).value=a.config.sendText,a.button.get(0).disabled=!1,a.config.error(t)),!a.config.page||"ios"!=publicData.client&&"android"!=publicData.client||e.client.logAjax(a.config.page,i,t.errno||t.errInfo&&t.errInfo.no),a.sendTimer&&clearTimeout(a.sendTimer)}}),a.config.timmerText&&(a.sendTimer=setTimeout(function(){a.button.get(0).disabled=!1,a.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),a.button.get(0).value=a.config.sendText,a.config.error({errInfo:{msg:a.config.timmerText}})},a.config.timmer||15e3))},i.prototype.addValidation=function(t){"[object Function]"==Object.prototype.toString.call(t)&&this._validations.push(t)},i.prototype._validate=function(){for(var t=this._validations.length;t--;){var e=this._validations[t].call(this,this._value);if(this.setErrno(e.errNo),e.errNo)break}},i.prototype.getErrno=function(){return this._errno},i.prototype.setErrno=function(t){this._errno=t},e.define("ui/button",i)}($,window.Pass),!function(t,e){"use strict";var i=(e.require,{"zh-cn":{required:"请输入%s",phone:"请输入有效手机号码",email:"邮箱格式不正确",password:"密码格式不正确",idcard:"身份证格式不正确",passAllNum:"请输入数字、字母和符号组合",passHaveSpace:"密码6-14位不能含有空格"},en:{required:"Enter %s",phone:"Incorrect phone format",email:"Incorrect email format",password:"Incorrect password format",idcard:"Incorrect idcard format",passAllNum:"Incorrect password format",passHaveSpace:"Incorrect password format"}}[window.publicData.lang||"zh-cn"]);e.animate=function(i){if(""==i){var n=publicData.backType;return void(n?window.history.go(-1):"ios"==publicData.client||"android"==publicData.client?e.client.deviceClass("finish"):document.location=publicData.u)}""==e._moduleCurrent?t("#"+i).css("display","block"):e._moduleCurrent!=i?(t("#"+e._moduleCurrent).css("display","none").css("z-index","-1"),t("#"+i).css("display","block").css("z-index","0")):t("#"+i).css("display","block").css("z-index","0"),e._modulePool&&e._modulePool[i]&&e._modulePool[i].initModule&&e._modulePool[i].initModule(),("ios"==publicData.client||"android"==publicData.client)&&e.client.logPV(i)},e.infoAnimate=function(e,i){var n=t("#"+e+"-errorWrapper");n.html(i)},e.removeInfoAnimate=function(e){t("#"+e+"-errorWrapper").html(""),t(".pass-form-item-error").removeClass("pass-form-item-error")},"ios"==publicData.client&&t(window).on("resize",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),t(window).on("orientationchange",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),e.view={tap:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("tap",i).on("touchstart",function(){t(document).on("click",n,!0)})},click:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("click",i).on("touchstart",function(){t(document).on("click",n,!0)})},cutPage:function(i,n){e.view.click(i,function(){var i=t(this).attr("data-role");if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i+"_cutPage",ev:[e.module||"","click"]}),n&&n.callback&&n.callback(),"back"==i)Pass.switchView(i);else{if("fastReg"==i||"reg"==i&&"1"===publicData.fastRegLink)return void e.client.fastReg();Pass._getScript(i,function(t){t.render("pageWrapper",n||{})})}})},clearInputValueBtn:function(i,n,a){i.on("focus",function(){""!=t(this).val()&&n.is(":hidden")&&setTimeout(function(){n.css("display","block")},25)}),i.on("blur",function(){n.is(":hidden")||n.css("display","none")}),i.on("keyup",function(){e.removeInfoAnimate(e._moduleCurrent),""!=t(this).val()||n.is(":hidden")?""!=t(this).val()&&n.is(":hidden")&&n.css("display","block"):n.css("display","none")}),n.on("tap",function(){e.removeInfoAnimate(e._moduleCurrent),i.val(""),t(this).hide(),a&&t(a).addClass("pass-button-full-disabled"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-input_clearValue_"+i.attr("name"),ev:[e._moduleCurrent||"","click"]})})},_setFocusStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-focus")&&n.addClass("pass-form-item-focus")},_setBlurStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&n.hasClass("pass-form-item-focus")&&n.removeClass("pass-form-item-focus")},_setErrorStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-error")&&n.addClass("pass-form-item-error")},_clearErrorStyle:function(){setTimeout(function(){t(".pass-form-item-error").each(function(){t(this).removeClass("pass-form-item-error")})},2e3)},_mobilenumFormat:function(e,i,n){t(e.getElement(i)).on("keyup",function(){var a=t(e.getElement(i)).val(),o=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;a=a&&a.replace(/\s/g,"").replace(o,"$1 $2"),t(e.getElement(i)).val(a),n&&n()})},_substrMobile:function(t){var e="",i=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;return t?(e=t.replace(/\s/g,"").replace(i,"$1 $2"),e=t.replace(/\s/g,"").length>11?t.replace(/\s/g,"").substring(0,11).replace(i,"$1 $2"):t.replace(/\s/g,"").replace(i,"$1 $2")):void 0},_strTrim:function(t){return"[object string]"==Object.prototype.toString.call(t).toLowerCase()?t.replace(/\s/g,""):void 0},_SBCtoDBC:function(t){var e="";if(t){for(var i=t.length,n=0;i>n;n++){var a=t.charCodeAt(n);a=a>=65281&&65374>=a?a-65248:a,a=12288==a?32:a,e+=String.fromCharCode(a)}return e}},_setMaxLength:function(t,i,n){t.on("keydown",function(){e.view._strTrim(this.value).length==i?this.setAttribute("maxlength",i+n):this.removeAttribute("maxlength")})},setSubmitStyle:function(e,i){function n(){e.keyupTimer=!0;for(var i in e.validateRules){var n=e.getElement(i);if(n&&0!=n.offsetHeight&&""==n.value)return-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&t(e.getElement("submit")).addClass("pass-button-full-disabled"),!1}t(e.getElement("submit")).removeClass("pass-button-full-disabled")}clearTimeout(e.keyupTimer),0===i?n():e.keyupTimer=setTimeout(function(){n()},200)},fullButton:function(e){e.on("touchstart",function(){t(this).hasClass("pass-button-full-disabled")||t(this).addClass("pass-button-full-active")}),e.on("touchend",function(){t(this).hasClass("pass-button-full-active")&&t(this).removeClass("pass-button-full-active")})},touch:function(e,i){e.on("touchstart",function(){t(this).disabled||t(this).addClass(i)}),e.on("touchend",function(){t(this).hasClass(i)>-1&&t(this).removeClass(i)})},labelFocus:function(e,i){t("#"+e.module+"-label-"+i).addClass("pass-label-"+i+"-focus")},labelBlur:function(e,i){t("#"+e.module+"-label-"+i).removeClass("pass-label-"+i+"-focus")},inputBlur:function(){t(document).on("tap",function(e){"input"!=e.target.tagName.toLowerCase()&&t("input").blur()})},inputFocusLine:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item").next(".pass-form-item-sep");t("#"+e.module+"-"+i+"Error").html(""),n.removeClass("pass-form-item-sep-error").removeClass("pass-form-item-sep-blur"),t(".pass-form-item-sep-blur").length>0?setTimeout(function(){n.addClass("pass-form-item-sep-focus")},300):n.addClass("pass-form-item-sep-focus")},inputBlurLine:function(e,i){var n=t(e.getElement(i)),a=n.parents(".pass-form-item").next(".pass-form-item-sep");a.removeClass("pass-form-item-sep-focus").addClass("pass-form-item-sep-blur"),setTimeout(function(){a.removeClass("pass-form-item-sep-blur")},300)},inputSuccessLine:function(e,i){var e=this,n=t(e.getElement(i));n.next(".input-clearValue").addClass("input-clearValue-ok");var a=t("#"+e.module+"-"+i+"Error");t(a).html(""),t(e.getElement(i)).parents(".pass-form-item").next(".pass-form-item-sep").removeClass("pass-form-item-sep-error")},inputScroll:function(e,i){var n=["automap"],a=t.fn.getQueryString(a);n.indexOf(a)&&t(e).each(function(e,n){n.focus(function(){var e=t(window).height(),n=e+e/2,a=t(this).offset().top;i.height(n),window.scrollTo(0,a-76)})})},setManMachine:function(i){0===t("#dv_Input").length&&(t(i.getElement("hiddenFields")).append('<input id="dv_Input" type="hidden" value="" name="dv" />'),e&&e.load&&e.load.insertScript&&e.load.insertScript("https://passport.baidu.com/static/passpc-base/js/ld.min.js?tt="+(new Date).getTime()))}},e.validator={_validator:{_validateInfo:{},confStorage:{},builtInMsg:i,builtInRules:{required:/\S+/,phone:/^1[34578]\d{9}$/,email:/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,password:/^\S{6,14}$/,idcard:/(^\d{15}$)|(^\d{17}(\d|X|x)$)/,passAllNum:/^[0-9]*$/,passHaveSpace:/^([0-9a-zA-Z\_`!~@#$%^*+=,.?;'":)(}{/\\\|&lt;&gt;&amp;\[\-]|\]]){6,14}$/},init:function(t,e){this.confStorage[t.module]=e},validate:function(t,e,i){var n=this,a=t.getElement(e),o={field:e};if(!a||0==a.offsetHeight)return!1;var s,r=n.confStorage[t.module][e],c=r.rules;s=a.value;for(var l=0,u=c.length;u>l;l++){var d,p=c[l],f=n.builtInRules[p];if(f instanceof Function?d=f.call(t,a):(d=new RegExp(f).test(s),"passAllNum"==p&&(d=!d)),!d)return o.error=!0,n._validateInfo[e]=0,o.msg=n.builtInMsg[p].replace(/\%s/,r.desc),o.field=a,o.fieldname=e,t._validateError(o),void i.error(o)}r.asyncRule?r.asyncRule.call(t,{success:function(){o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o)},error:function(a){o.error=!0,n._validateInfo[e]=0,o.msg=a.msg,t._validateError(o),i.error(o)}}):(o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o))},validateAll:function(t,e,i){function n(){r=!0,s?e&&e.error(c):e&&e.success(c)}var a=this.confStorage[t.module],o=0,s=!1,r=!1,c=[],l=this._getActiveValidate(t,!0);for(var u in a){if(r)break;this.validate(t,u,{success:function(t){o++,c.push(t),o==l&&n()},error:function(t){return s=!0,i?void n():(o++,c.push(t),void(o==l&&n()))}})}},_getActiveValidate:function(t,e){var i=this.confStorage[t.module],n=[];for(var a in i){var o=t.getElement(a);o&&0!=o.offsetHeight&&n.push(o)}return e?n.length:n},addRule:function(e,i){var n={};n[e]=i,t.extend(this.builtInRules,n)},addMsg:function(e,i){var n={};n[e]=i,t.extend(this.builtInMsg,n)}},validate:function(t,e){var i=this;this._validator.validate(i,t,{success:function(t){e&&e.success&&e.success(t)},error:function(t){e&&e.error&&e.error(t)}})},validateAll:function(t,e){var i=this;e="boolean"==typeof t?t:e?e:!1,i._validator.validateAll(i,{success:function(e){t&&t.success&&t.success(e)},error:function(e){t&&t.error&&t.error(e)}},e)},getValidateStatus:function(t){return this._validateInfo.hasOwnProperty(t)?this._validateInfo[t]:-1},setValidateSuccess:function(t){var e=this;e._validateInfo[t]=1,e._validateSuccess({field:t})},setValidateError:function(t,e){var i=this;i._validateInfo[t]=0,i._validateError({field:t,msg:e})}},e.load={insertScript:function(t,i){if(e.jsFileList=e.jsFileList||{},e.jsFileList[t])i&&i();else{e.jsFileList[t]=!0;var n=document,a=n.createElement("script");a.type="text/javascript",a.charset="utf-8",a.readyState?a.onreadystatechange=function(){("loaded"==a.readyState||"complete"==a.readyState)&&(a.onreadystatechange=null,i&&i())}:a.onload=function(){i&&i()},a.src=t,n.getElementsByTagName("head")[0].appendChild(a)}},loadCssFileW:function(t,e){if(window._loadedFilesW=window._loadedFilesW||{},window._loadedFilesW[t])e&&e();else{window._loadedFilesW[t]=!0;var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.href=t,document.getElementsByTagName("head")[0].appendChild(i),i.readyState?i.onreadystatechange=function(){("loaded"===i.readyState||"complete"===i.readyState)&&(i.onreadystatechange=null,e&&e())}:i.onload=function(){e&&e()}}}}}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.width=t.width,this.height=t.height,this.mask=t.mask,this.titleText=t.titleText,this.content=t.content,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-dialog" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.height(),this.domBody.show()},i.prototype.hide=function(){var t=this;t.domBody.height(),t.mask&&(t.maskDom.get(0).style.display="none"),t.domBody.hide()},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove()},i.prototype.createBody=function(){var e,i;Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.domBody=t('<div class="mod-dialog-body" id="pass-content'+this.num+'"><div class="mod-dialog-content"><div class="mod-dialog-main"></div></div></div>'),t("body").append(this.domBody),this.domBody.css({width:this.width,marginLeft:-parseInt(this.width)/2+"%"}),e=this.domBody.children(".mod-dialog-content"),this.content&&(e.children(".mod-dialog-main").append(this.content),this.show(),i=this.domBody.height(),this.domBody.css({top:Math.max((t(window).height()-i)/2,0)+"px"})),this.bind(),this.onRender(this)},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.bind=function(){var e=this;t("#close-"+e.num).on("click",function(t){e.hide(),t.preventDefault()})},e.define("ui/dialog",i)}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.mask=t.mask,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.vcodestr=t.vcodestr,this.vcodenum="",this.lang={"zh-cn":{title:"验证码",uniqueVerifyCode:"验证码",uniqueVerifyCodePlaceholder:"请输入验证码",uniqueVerifyCodeTip:"请输入图中的验证码",clickReresh:"看不清?点击图片刷新",networkNoText:"网络连接失败，请稍后再试。"},en:{title:"Captcha",uniqueVerifyCode:"Captcha",uniqueVerifyCodePlaceholder:"Captcha",uniqueVerifyCodeTip:"Enter Image Captcha",clickReresh:"click refresh",networkNoText:"Network Error"}}[window.publicData.lang||"zh-cn"],this.current=0,this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-vcode" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){var e=this;this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.fadeIn(),t("input.pass-text-input").attr("disabled","true");var i="https://wappass.baidu.com/cgi-bin/genimage?"+e.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+e.num).attr("src",i)},i.prototype.hide=function(){var e=this;e.mask&&(e.maskDom.get(0).style.display="none"),e.domBody.fadeOut(150),t("input.pass-text-input").removeAttr("disabled")},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove(),t("input.pass-text-input").removeAttr("disabled")},i.prototype.InputLayer=function(){var t=navigator.userAgent.indexOf("GT-I9300")>-1?1:0,e='<div class="vcodeInputWrapper" id="vcode-wrapper-'+this.num+'"><input class="vcodeInput '+("ios"==publicData.client?"vcodeInput_ios":"")+(t?"vcodeInput_9300":"")+'" id="vcode-input-'+this.num+'" type="password" autocapitalize="off"/><span class="keyboardInputEle"/><span class="keyboardInputEle" /><span class="keyboardInputEle" /><span class="keyboardInputEle" /></div>';return e},i.prototype.createBody=function(){var i;this.domBody=t('<div class="mod-vcode-body" id="pass-content'+this.num+'"><div class="mod-vcode-content clearfix"></div></div>'),t("body").append(this.domBody),i=this.domBody.children(".mod-vcode-content"),this.content='<p class="mod-page-tipInfo-gray">'+this.lang.uniqueVerifyCodeTip+'</p><p class="mod-page-verifyImg"><img id="vcode-'+this.num+'" alt="验证码"/></p><p class="small-tip" id="refresh-'+this.num+'">'+this.lang.clickReresh+'</p><p class="vcode_error_redtip" id="vcode-error-'+this.num+'"></p>',this.content+=this.InputLayer(),this.content+='<div id="close-'+this.num+'" class="vcode-close"></div>',i.append(this.content),this.show(),this.setEvent(),this.onRender(this),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode",eg:"in",ev:[e.module||"","show"]})},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.setVcode=function(e){var i=this;t("#vcode-"+i.num).attr("src",e),this.vcodestr=e},i.prototype.setEvent=function(){function i(i){if(n.vcodenum+=i,t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarderror").eq(n.current).html(i).addClass("keyboarddone").removeClass("keyboardCursor2").next().addClass("keyboardCursor2"),"3"==n.current){t(n.conf.from_module+"-loading").css("display","block"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_submit",ev:[e.module||"","click"]});var a={verifycode:n.vcodenum,codestring:n.vcodestr};t.ajax({url:apiDomain+"/wp/api/security/checkvcode?tt="+(new Date).getTime(),data:a,success:function(i){if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_request",ev:[e.module||"","request",i.errInfo.no,i.errInfo.msg]}),0==i.errInfo.no)n.hide(),document.getElementById("vcode-input-"+n.num).blur(),t("input").blur(),t("#vcode-wrapper-"+n.num+" span").html(""),n.conf.verifySuccessFn&&n.conf.verifySuccessFn(n.vcodenum),n.vcodenum="",t("#vcode-input-"+n.num).val("");else{t("#vcode-error-"+n.num).html(i.errInfo.msg).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="";var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a),t("#vcode-input-"+n.num).val("")}},error:function(){t("#vcode-error-"+n.num).html(n.lang.networkNoText).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="",t("#vcode-input-"+n.num).val("")}})}}var n=this;document.getElementById("vcode-input-"+n.num).addEventListener("focus",function(){t(t("#vcode-wrapper-"+n.num).find("span").get(n.current)).addClass("keyboardCursor2"),"ios"==publicData.client&&t("body").css("height","125%")}),"ios"==publicData.client&&document.getElementById("vcode-input-"+n.num).addEventListener("blur",function(){t("body").css("height","100%")}),t("#close-"+n.num).on("touchend",function(t){t.preventDefault(),n.conf.closeFn&&n.conf.closeFn(),n.hide()}),t("#vcode-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t(this).attr("src",a)}),t("#refresh-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a)}),t("#vcode-input-"+n.num).on("keyup",function(e){n.current=n.vcodenum.length,t("#vcode-error-"+n.num).html("").css("visibility","hidden"),8==e.keyCode?(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")):"android"==publicData.client&&(n.current<t("#vcode-input-"+n.num).val().length?(i(t("#vcode-input-"+n.num).val()[n.current]),n.current++):n.current>t("#vcode-input-"+n.num).val().length&&(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")))}),t("#vcode-input-"+n.num).on("keypress",function(t){var e=String.fromCharCode(t.keyCode);n.current=n.vcodenum.length,e&&8!=t.keyCode&&"ios"==publicData.client&&i(e)})},e.define("ui/vcode",i)}($,window.Pass);var biRadixBase=2,biRadixBits=16,bitsPerDigit=biRadixBits,biRadix=65536,biHalfRadix=biRadix>>>1,biRadixSquared=biRadix*biRadix,maxDigitVal=biRadix-1,maxInteger=9999999999999998,maxDigits,ZERO_ARRAY,bigZero,bigOne;setMaxDigits(20);var dpl10=15,lr10=biFromNumber(1e15),hexatrigesimalToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"),hexToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"),highBitMasks=new Array(0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535),lowBitMasks=new Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535);!function(t,e){e.getSeverTimeAsync=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",success:function(t){e.serverTime=t.time}})},e.getSeverTime=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",async:!1,success:function(t){e.serverTime=t.time},error:function(){}})},"android"!==publicData.client&&e.getSeverTimeAsync()}($,window.Pass),!function(t,e){e.timerId||(e.timerId=1),e.connectURL={nuomi:"http://app.nuomi.com/naserver/user/checkaccount"},e.loginConnect=function(i,n,a){var i=i||{},o={username:i.username,sms:i.sms||""},s=apiDomain+"/wp/unitewidget-bind?v="+(new Date).getTime(),r=++e.timerId,c=function(t){if("object"==typeof t){var e=[];for(var i in t){var n=t[i];if(void 0!==n&&null!==n){e.length&&e.push("&");var a=encodeURIComponent("boolean"==typeof n?n?"1":"0":n.toString());e.push(encodeURIComponent(i),"=",a)}}return e.join("")}return"string"==typeof t?t:null},l=function(t,e){if(e=c(e),"string"==typeof e){var i=/\?/g.test(t);t+=(i?"&":"?")+c(e)}return t},u=e.connectURL[publicData.tpl],d=l(u,o);d=d+(d.indexOf("?")>0?"&":"?")+"callback=?",t.getJSON(d,function(o){if(clearTimeout(e["loginConnectTimer"+r]),0==o.errInfo.no)e.client.action_unite_verify(JSON.stringify(o.data)),n&&n.success&&n.success(o);else if(2==o.errInfo.no)n&&n.fail&&n.fail(o);else if(3==o.errInfo.no){var c={mobilenum:i.username,password:i.password,sms:i.sms||"",token:o.data.token||""};t.post(s,c,function(){a&&a()})}else a&&a()}),e["loginConnectTimer"+r]=setTimeout(function(){a&&a()},15e3)}}($,window.Pass),!function($,ns){var lang={"zh-cn":{sina:"新浪微博登录",tweibo:"腾讯微博",qq:"qq",weixin:"微信",qrcode:"二维码",device:"设备号",nuomi:"原糯米",voice:"百度语音",huawei:"华为帐号",feifan:"飞凡帐号",chuanke:"原传课帐号",ok:"确定",otherlogin:"第三方帐号登录"},en:{sina:"Sina Weibo",tweibo:"Tencent Weibo",qq:"QQ",weixin:"Weixin",qrcode:"QRcode",device:"Device Number",nuomi:"Nuomi",voice:"BaiduVoice",huawei:"Huawei",feifan:"Feifan",chuanke:"Chuanke",ok:"OK",otherlogin:"Other Account"}}[window.publicData.lang||"zh-cn"];ns.fastLogin={config:{tsina_sso:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tsina:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tqq:{name:lang.tweibo,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_tx_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=4&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qzone:{name:lang.qq,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_qzone_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=15&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tweixin_sso:{name:lang.weixin,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_weixin_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=42&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qr_app_login:{name:lang.qrcode,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithQRCode")}:!1,href:""},device_login:{name:lang.device,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithDeviceId")}:!1,href:""},nuomi_login:{name:lang.nuomi,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_nuomi_login")}:!1,href:""},voice_login:{name:lang.voice,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_voice_login")}:!1,href:""},huawei_login:{name:lang.huawei,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_huawei_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=45&u="+publicData.u+"&act="+publicData.act+"&display=wap"},feifan:{name:lang.feifan,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_feifan_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=46&u="+publicData.u+"&act="+publicData.act+"&display=wap"},chuanke:{name:lang.chuanke,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_chuanke_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=&u="+publicData.u+"&act="+publicData.act+"&display=wap"},meizu_sso:{name:"魅族",fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_meizu_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=50&u="+publicData.u+"&act="+publicData.act+"&display=wap"}},num:1,init:function(module){var me=this;if(this.module=module,"android"==publicData.client){var str=ns.client.deviceClass("config_fastlogin_features"),realStrArray=[];return str&&(realStrArray=str.toLocaleString().split(",")),void me.draw(realStrArray,module)}"ios"==publicData.client?ns.client.deviceClass("getFastLoginOptionList",{},function(id,params){var thirdList=eval(params.result);me.draw(thirdList,module)}):me.draw(["feifan","chuanke","meizu_sso","tqq","tsina","feifan"],module)},getHref:function(t){return"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type="+t+"&u="+publicData.u+"&act="+publicData.act+"&display=wap"},draw:function(t,e){var i=t.length||0,n="";if("[object Array]"==Object.prototype.toString.call(t)&&t.length>0){$("#"+e+"-sotherlogin").css("display","block");for(var a=t.length>5?5:t.length,o=0;a>o;o++){var s=this.config[t[o]];s&&(n+=s.fn?'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" actjs="'+t[o]+'"></a></div>':'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" href="'+s.href+'"></a></div>')}this.num=i,document.getElementById("fastlogin-layer-"+e).innerHTML=n,this.bind()}},bind:function(){var t=this;ns.view.tap($("[actjs]","#"+this.module),function(){var e=$(this).attr("actjs");t.config[e].fn()}),$("body").on("click",".fastlogin-item a",function(){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-authsite_"+$(this).attr("type"),ev:[ns.module||"","click"]})})}}}($,window.Pass),!function(t,e){e.guideRandom=function(){return"xxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,i="x"==t?e:3&e|8;return i.toString(16)}).toUpperCase()}()}($,window.Pass); Pass._define("login",function(){var e,a,t,i=Pass,n={module:"login",initialized:!1,histroyRecordList:[],error:{field:""},stage:"usual",historyNum:0,backSign:!1,horizonBottom:"",pwdErrorCount:0,faceLoginData:{tempUsername:"",tempRealname:0},data:{code:"+86",countrycode:""},serverTimeCount:0,login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return n=$.extend(n,Pass.validator),n=$.extend(n,{lang:{"zh-cn":{title:"百度帐号登录",username:"手机号/用户名/邮箱",password:"密码",passwordError:"登录密码",verifycode:"验证码",usernamePlaceholder:"手机号/用户名/邮箱",passwordPlaceholder:"密码",verifycodePlaceholder:"验证码",faceLogin:"刷脸登录",forgot:"遇到问题",otherLogin:"其他登录方式",prompt:"登录百度帐号，体验全新个人中心，好礼等您拿！（不支持安卓网用户名登录）",submitText:"登录",submitLoading5s:"继续登录中",fastRegText:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",sms_loginText:"短信快速登录",submitLoading:"登录中",overseas:"海外登录",mobilenumPlaceholder:"手机号",code:"+86",loading:"登录中...",tel:"手机号",phoneformatRegError:"请输入有效手机号码",cancel:"取消",lecaiLogin:"原乐彩帐号登录",smsLogin:"短信验证码登录",otherLogin:"其他登录方式",fastLogin:"第三方登录",fastReg:"快速注册",usernameOrMobile:"为了您的帐号安全，请先确认您输入的帐号是用户名还是手机号",feedback:"帮助中心",smsReg:"短信注册",smsLoginBtn:"短信登录",networkError:"网络连接失败，请检查您的网络设置并稍后再试。",mobile:"手机号",accountname:"用户名",or:"或",mobileSure:"不需要解绑",appealBtn:"申诉去解绑",reg:"快速注册",sureMobileMsg:"您绑定的手机号,请确认该手机号是否还在使用,为了您的帐号安全，请及时解绑不使用的手机。"},en:{title:"Baidu Login",username:"Account",password:"Password",passwordError:"Login Password",verifycode:"Captcha",usernamePlaceholder:"Phone/Account/Email",passwordPlaceholder:"Password",verifycodePlaceholder:"Captcha",faceLogin:"face Login",forgot:"Can't Login?",prompt:"Logging on to Baidu account and experience all new personal center. There are more prices waiting for you too! (doesn’t support Android network login).",submitText:"Login",submitLoading5s:"Login",fastRegText:"Cellphone one click register",sms_loginText:"Login via SMS",submitLoading:"Login",overseas:"Overseas number",mobilenumPlaceholder:"Phone",code:"+86",loading:"Login",tel:"Phone",phoneformatRegError:"Incorrect phone format",cancel:"Cancel",lecaiLogin:"Lecai Account Login",smsLogin:"SMS Login",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",usernameOrMobile:"Phone or username?",feedback:"Feedback",smsReg:"Sign Up",smsLoginBtn:"SMS Login",networkError:"Network error",mobile:"Phone",accountname:"Account",or:"or",mobileSure:"don't unbind",appealBtn:"unbind",reg:"Sign Up",sureMobileMsg:"is the cell phone number you bind to your account. please make sure that the cell phone number is still available. Otherwise, for the safety of your account, please unbind it soon."}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var a=this,t={userNameRightDom:'<span id="'+a.module+'-userlist" class="pass-input-aide pass-input-userlist"></span>',passwordRightDom:'<span id="'+a.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',fastReg:'<span data-role="fastReg" class="'+(1==publicData.lPlayout?"pass-button-minor m-b10":"account_login")+'">'+a.lang.fastRegText+"</span>",forgot:'<div id="'+a.module+'-forgot" class="login-register">'+a.lang.forgot+"</div>",smsLogin:'<span id="'+a.module+'-smslogin" class="right link-font" >'+a.lang.sms_loginText+"</span>",faceLogin:'<span id="'+a.module+'-facelogin" class="left link-font face-login-link" >'+a.lang.faceLogin+"</span>",prompt:"<span>"+a.lang.prompt+"</span>",regLink:'<div id="'+a.module+'-register" class="login-register">'+a.lang.reg+"</div>",overseaslink:'<div id="overseasLink" class="login-register">'+a.lang.overseas+"</div>",loadingFaceLogin:'<div class="biometry-loadingMask"><p class="biometry-loading">'+a.lang.loading+'</p><div class="biometry-loadingImg"></div></div>',otherLayer:'<div id="'+a.module+'-sotherlogin" class="go-safe-manager"><div class="fastlogin-bordertext">或</div></div><div id="fastlogin-layer-login" class="fastlogin-layer-login"></div>'};return t[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),t='<article class="wrapper" id="'+this.module+'">',n=publicData,o=[];n.action="login",n.loginmerge=1,n.isphone="0",n.dialogVerifyCode="",n.dialogVcodestr="",n.dialogVcodesign="",n.gid=i.guideRandom||"",n.authtoken="",o.push({field:"username",labeltext:e.lang.username,maxLength:60,placeholder:e.lang.usernamePlaceholder,rightDom:e._getIrregularField("userNameRightDom")}),o.push({field:"code",label:!0,labeltext:e.lang.code,type:"tel",code:!0,placeholder:e.lang.mobilenumPlaceholder}),o.push({field:"password",placeholder:e.lang.passwordPlaceholder,pwd:!0,labeltext:e.lang.password,rightDom:e._getIrregularField("passwordRightDom")}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(t+=a._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0}),t+=a._getHeaderField({title:"<span>"+e.lang.overseas+"</span>",overseas:!0})),t+='<div class="img-div"><div class="logo-dom" id="'+a.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+a.getId("userImg")+'"/></div></div>',t+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',t+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="form-wrapper pass-form-verify-wrapper m-t25 clearfix">';for(var l=0;l<o.length;l++)t+=a._getRegularField(o[l]);return t+=a._getVCodeField({field:"verifycode",placeholder:e.lang.verifycodePlaceholder,vcodestr:n.vcodestr?"":""}),t+=a._getErrorField(),t+=a._getSubmitField({value:e.lang.submitText}),t+=a._getHiddenField(n),t+="</form>",t+='<div class="clearfix patch-clearfix">',1==publicData.liveAbility&&(t+=e._getIrregularField("faceLogin")),"bdwm"!=publicData.tpl&&(1==publicData.smsLoginLink||"en"==publicData.lang)&&(t+=e._getIrregularField("smsLogin")),t+=a._getLoadingField({module:e.module,html:e.lang.loading}),t+="</div>",1==publicData.androidmerge&&(t+='<div class="prompt-css">'+e._getIrregularField("prompt")+"</div>"),t+="</div>",t+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+(1==publicData.regLink&&1==publicData.overseas?'<span class="spilit-line">|</span>':"")+(1==publicData.overseas?e._getIrregularField("overseaslink"):"")+(1==publicData.regLink||1==publicData.overseas?'<span class="spilit-line">|</span>':"")+e._getIrregularField("forgot")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",1==publicData.liveAbility&&(t+=e._getIrregularField("loadingFaceLogin")),t+="</article>"},_checkUserName:function(e){var a=this;$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),e,function(e){e.data.codeString?a.getVerifyCode(e.data.codeString):a.getElement("verifyCodeWrapper").style.display="none",e.data.userid&&a._getSmsVerify(e)},"json")},getFaceLoginCheck:function(){if("1"===publicData.liveAbility){var e=this,a={username:i.view._strTrim(e.getElement("username").value),faceCheckRole:"passFe"};$.ajax({url:"/v3/login/facelogincheck",data:a,type:"GET",dataType:"json",success:function(a){var t=a.type&&"face_login"===a.type&&(0!==parseInt(a.hasRealName,10)||"1"===publicData.suppcheck);e.faceLoginData.hasRealName=a.hasRealName,t?(setTimeout(function(){$(e.getElement("facelogin")).show(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_show_faceLogin",ev:[e.module,"click"],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}})},0),e.faceLoginData.tempRealname="1"):($(e.getElement("facelogin")).hide(),e.faceLoginData.tempRealname="0"),e.exp_case=a.exp_case,e.livinguname=a.livinguname}})}},getUrlLoginUserName:function(){var e=$.fn.getQueryString("loginUserName");return e=decodeURIComponent(e&&e.indexOf("#")>-1?e.split("#")[0]:e)},getRerocdList:function(){var e=this,a=e.getUrlLoginUserName(),t=apiDomain+"/wp/api/login/history?item=&token="+publicData.token+"&clientfrom="+publicData.clientfrom+"&tpl="+publicData.tpl+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime();$.ajax({url:t,data:{},type:"GET",dataType:"json",success:function(t){var o=[];if(n.histroyRecordList=t.data.loginList,e.historyNum=t.data.loginList.length,""!=a){o.push(a);for(var l=0,s=e.historyNum;s>l;l++)o.push(n.histroyRecordList[l])}else o=n.histroyRecordList;if(o.length>0&&e.getElement("userlist")){e.getElement("userlist").style.display="block",$(e.getElement("username")).val(o[0]);var r={username:i.view._strTrim(o[0]),tpl:publicData.tpl};e._checkUserName(r),e.getFaceLoginCheck()}else""!=a&&($(e.getElement("username")).val(a),$(e.getElement("password")).val())},error:function(){}})},back:function(){$(".usual_login_header").css("display","block"),$(".overseas_login_header").css("display","none"),$(".pass-form-item-username").css("display","-webkit-box"),$(".pass-form-item-code").css("display","none"),$(".other-login-type").css("display","block"),$("#overseasLink").css("display","block"),$(".spilit-line").html()&&$(".spilit-line").css("display","block"),$("#login-label-password").css("padding-right","0").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","0").next().val(""),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","block"),i.removeInfoAnimate(this.module),this.backSign=!1,this.stage="usual"},render:function(e,a){var t=this;publicData.smsLoginLink=1;try{sessionStorage.setItem("liveAbility",publicData.liveAbility)}catch(n){}if((0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),a&&a.code&&($(".pass-label-"+t.module+"-code").html(a.code),t.data.code=a.code,t.data.countrycode=a.countrycode),t.initialized)Pass.switchView(t.module);else{var o=t._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),"android"!==publicData.client&&t.getRerocdList(),window.Pass.login=t,this.initialized=!0,Pass.switchView(t.module),t.setEvent(),t._suggestion();var l=!1;t.data.adapter&&"apps"!=t.data.adapter&&1!=t.data.adapter&&3!=t.data.adapter&&(l=!0),i.fastLogin.init(t.module),i.view.inputBlur()}t._setValidator();var s=(window.screen.height,window.innerHeight);if(s>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(t.getElement("registerWrapper")).html()){var r=$(t.getElement("registerWrapper")).offset().top;$(t.getElement("registerWrapper")).height($(window).height()-r).css("visibility","visible")}1==publicData.smsLoginLink&&1==publicData.regLink&&$("#login-sms-span").css("display","inline-block"),i&&i.view&&i.view.setManMachine&&i.view.setManMachine(t)},initModule:function(){},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,i.client.logPV("num_login_va"))},setVcodeVal:function(e){e&&i&&i.setloginAgainSmsVal&&i.setloginAgainSmsVal(e)},webViewWillAppear:function(){var e="localStorage"in window&&null!==window.localStorage;e&&1==localStorage.getItem("isCallLoginWebAppear")&&i&&i.setloginAgainWebViewWillAppear&&(i.setloginAgainWebViewWillAppear(),localStorage.setItem("isCallLoginWebAppear",""))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){i.view.cutPage($(this))});var a=function(a){e.logPageEffective(),e._eventHandler.entrance.apply(e,[a])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,change:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(a,t){var t=$(this);i.view.clearInputValueBtn(t.prev(),t,e.getElement("submit"))}),$(".pass-input-clearValue").on("tap",function(){"username"==$(this).prev().attr("name")&&(e.getElement("username-suggest")&&($(e.getElement("username-suggest")).hide(),$(e.getElement("userlist")).removeClass("pass-input-down-userlist")),e.faceLoginData.tempUsername="")}),$("input").on("focus",function(){$("#pageWrapper").css("height","")}),$(e.getElement("formWrapper")).on("submit",a),$(e.getElement("pwdToggle")).on("tap",a),$(e.getElement("verifyCodeImg")).on("tap",a),$(e.getElement("smslogin")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_smslogin_link",ev:[e.module,"click",publicData.overseas],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="acclogin",i._getScript("sms_login",function(a){a.render("pageWrapper",e.module)}),$(".cancle-btn").click()}),$(e.getElement("facelogin")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLogin_click",ev:[e.module,"click"]}),e.getUserInfo()}),$(e.getElement("register")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):i._getScript("reg",function(a){a.render("pageWrapper",e.module)})}),i.view.fullButton($(e.getElement("submit"))),i.view.tap($(e.getElement("forgot")),function(a){a.preventDefault(),$("input").blur(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_question_link",ev:[e.module,"click",publicData.overseas]}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_question_link_click",ev:[e.module,"click"]}),Pass._getScript("question",function(e){var a={type:"question"};e.render("pageWrapper",a)})}),i.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiLogin"),$("#overseasLink").on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_overseas_link",ev:[e.module,"click",publicData.overseas]}),$(".usual_login_header").css("display","none"),$(".overseas_login_header").css("display","block"),$(".pass-form-item-username").css("display","none"),$(".pass-form-item-code").css("display","-webkit-box"),$("#login-label-password").css("padding-right","23px").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","23px").next().val(""),$(this).css("display","none"),$(".spilit-line").html()&&$(".spilit-line").css("display","none"),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","none"),i.removeInfoAnimate(e.module),e.stage="overseas",e.backSign=!0}),$(".pass-label-login-code").on("touchend",function(a){a.preventDefault(),$("input").blur();var t={};t.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",t)})})},getUserInfo:function(){var e=this,a={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.livinguname};$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:a,type:"POST",success:function(a){var a=JSON.parse(a);"0"===a.errInfo.no?a.data.authtoken&&($(e.getElement("authtoken")).val(a.data.authtoken),0===parseInt(e.faceLoginData.hasRealName,10)?e.identificationData():e.identification(a.data.authtoken)):(e._validateError({msg:a.errInfo.msg}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLoginError_request",ev:[e.module,"request",a.errInfo.no,a.errInfo.msg],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}))},error:function(){e._validateError({msg:e.lang.networkError})}})},identificationData:function(){{var e=this;publicData.subpro||"pp"}i.client.checkNativeMethod("sapi_biometrics_identification_with_uid",function(){var a={type:2,subpro:publicData.subpro||"pp",uid:"ios"===publicData.client?encodeURIComponent(e.livinguname):e.livinguname},t=function(a){e._validateError({msg:""}),$(".biometry-loadingMask").show(),e.upliving(a)},n=function(a,t){-204!==a&&(-301===a||-302===a||-306===a?t="登录失败，请确保本人操作，或尝试其他登录方式":-303===a&&(t="刷脸功能获取失败，请重新尝试"),e._validateError({msg:t})),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLoginError_request",ev:[e.module,"request",a,t],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}})};if("ios"===publicData.client)i.client.deviceClass("sapi_biometrics_identification_with_uid",a,function(e,a){t&&t(a.callbackkey)},function(e,a){var t=parseInt(a.errno,10);n&&n(t,a.errmsg)});else{var o=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_uid", params: ['+JSON.stringify(a)+"]}}")),l=parseInt(o.errno,10);0===l?t&&t(o.callbackkey):n&&n(l,o.errmsg)}})},identification:function(e){var a=this,t=publicData.subpro||"pp";if("ios"==publicData.client)i.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:t,authtoken:encodeURIComponent(e)},function(e,t){a._validateError({msg:""}),$(".biometry-loadingMask").show(),a.upliving(t.credentialKey)},function(e,t){if(-204!=t.errno){var n=t.errmsg;-301==t.errno||-302==t.errno||-306==t.errno?n="登录失败，请确保本人操作，或尝试其他登录方式":-303==t.errno&&(n="刷脸功能获取失败，请重新尝试"),a._validateError({msg:n})}i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",t.errno,t.errmsg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})});else{var n=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+e+'","0","'+t+'"]}}'));if(0===n.errno)a._validateError({msg:""}),$(".biometry-loadingMask").show(),a.upliving(n.credentialKey);else{var o=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?o="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(o="刷脸功能获取失败，请重新尝试"),a._validateError({msg:o}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",n.errno,n.errmsg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})}}},upliving:function(e){var a=this,t={};t.callbackkey=e,t.tpl=publicData.tpl,t.clientfrom=publicData.clientfrom,t.client=publicData.client,t.token=$(a.getElement("authtoken")).val(),t.username=a.livinguname,t.faceLoginCase=a.exp_case||"none",$.ajax({url:"/v3/login/api/livinglogin",data:t,type:"POST",success:function(e){var e=JSON.parse(e);if(0==e.errInfo.no)if(a._validateError({msg:""}),$("#login").hide(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginSuccess_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}}),"ios"==publicData.client||"android"==publicData.client){var t=e.data.xml.replace("<account></account>","<account>"+a.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(e.data.livinguname)+"</livinguname>");i.client.success(t)}else document.location=publicData.u;else $(".biometry-loadingMask").hide(),a._validateError({msg:e.errInfo.msg}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})}})},_getUserImg:function(e){var a=this;$(a.getElement("loginLogo")).hide(),$(a.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+("overseas"==a.stage?a.data.countrycode:"")+e+"?isuname=1&tt="+(new Date).getTime()).parent().show()},_getLogoImg:function(){var e=this;$(e.getElement("userImg")).parent().hide(),$(e.getElement("loginLogo")).show()},_suggestion:function(){function e(){var e="",a=i.histroyRecordList;if(""==$(this).val())return void(i.getElement("username-suggest")&&($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist")));if(a.length>0&&$.each(a,function(a,t){0==t.indexOf(l.val())&&t!=l.val()&&(e+='<li><a href="###" data="'+t+'">'+t+'<span class="pass-remove-item"></span></a></li>')}),""==e){var c=o.exec(l.val()),g=l.val();if(c)if(c[2])for(var d=0,u=n.length;u>d;d++)0==n[d].indexOf(c[2])&&n[d]!=c[2]&&(e+='<li><a href="###">'+c[1]+"@"+n[d]+"</a></li>");else for(var d=0,u=n.length;u>d;d++)e='<li><a href="###">'+g+n.join('</a></li><li><a href="###">'+g)+"</a></li>"}if(""==e)$(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist");else{i.getElement("username-suggest")||(l.parent().append(s),$(i.getElement("username-suggest")).on("click",t));var p=i.getElement("username-suggest");$(p).html(e),$(p).is(":hidden")&&$(p).show(),$(i.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function a(){var e="",a=i.histroyRecordList;if(""!=$(this).val()||0!=a.length){a.length>0&&$.each(a,function(a,t){e+='<li><a href="###" data="'+t+'">'+t+'<span class="pass-remove-item"></span></a></li>'}),i.getElement("username-suggest")||(l.parent().append(s),$(i.getElement("username-suggest")).on("click",t));var n=i.getElement("username-suggest");$(n).html(e),$(n).is(":hidden")&&$(n).show(),$(i.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function t(e){var a=e.target,t=i.histroyRecordList;if("a"==a.tagName.toLowerCase()){var n=$(a).attr("data")?$(a).attr("data"):$(a).html();l.val(n),$(i.getElement("username")).change(),i.getFaceLoginCheck(),$(i.getElement("password")).focus(),$(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist")}else if(a.className.indexOf("pass-remove-item")>-1){var n=$(a).parent().attr("data"),o=$.inArray(n,t);t.splice(o,1),$(a).parent().remove(),$.getJSON(apiDomain+"/wp/api/login/history?item="+n+"&token="+publicData.token+"&tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&v="+(new Date).getTime(),{},function(){},"json"),0==i.getElement("username-suggest").getElementsByTagName("li").length&&($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))}e.preventDefault()}var i=this,n=["163.com","qq.com","gmail.com","sohu.com","126.com","sina.com","hotmail.com","139.com"],o=/^([a-zA-Z0-9_.\-+]+)@(.*)$/,l=$(i.getElement("username")),s='<ul class="pass-input-suggest" id="login-username-suggest"></ul>';l.on({focus:e,keyup:e}),$(i.getElement("userlist")).on("click",function(){!i.getElement("username-suggest")||$(i.getElement("username-suggest")).is(":hidden")?a():($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))});var r=function(){$(event.target).closest("#login-username-suggest").size()||$(event.target).closest("#login-username").size()||$(event.target).closest("#login-userlist").size()||($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))}},getVerifyCode:function(e){var a=this;if(a.getElement("verifyCodeWrapper").style.display="",$(a.getElement("registerWrapper")).html()){var t=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-t).css("visibility","visible")}if(e&&e.length)$(a.getElement("verifyCodeImg")).attr("src",apiDomain+"/cgi-bin/genimage?"+e+"&v="+(new Date).getTime()),a.getElement("vcodestr")||$(a.getElement("hiddenFields")).append('<input type="hidden" id="'+a.module+'-vcodestr" name="vcodestr" value="" />'),a.getElement("vcodestr").value=e;else{var n=$(a.getElement("verifyCodeImg")),o=n.attr("src").split("&")[0];n.attr("src",o+"&v="+(new Date).getTime())}$(a.getElement("verifycode")).val(""),i.view.setSubmitStyle(a)},clearVerifyCode:function(){var e=this;e.getElement("vcodestr").value=""},_validateError:function(e){var a=this;i.infoAnimate(a.module,e.msg),i.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){{var a=this;$(a.getElement("errorWrapper"))}e.msg?i.infoAnimate(a.module,e.msg):e.field==a.error.field&&(i.removeInfoAnimate(a.module),a.error.field="")},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],asyncRule:e._asyncValidate.checkUserName,desc:e.lang.username},code:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.tel},password:{rules:["required"],desc:e.lang.passwordError},verifycode:{rules:["required"],desc:e.lang.verifycode}},e._validator.addRule("phoneformatReg",function(){var a=i.view._strTrim(e.getElement("code").value);return/^1[34578]\d{9}$/.test(a)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var a=i.view._strTrim(e.getElement("code").value);return/^\d+$/.test(a)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.init(e,e.validateRules)},_asyncValidate:{},sureAccountType:function(){var a=this,t='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+a.lang.usernameOrMobile+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.mobile+'" class="pass-button-auto pass-dialog-btnleft" id="account-type-phone"><input type="button" value="'+a.lang.accountname+'" class="pass-button-auto pass-dialog-btnright" id="account-type-username"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:t}),i.view.tap($("#account-type-phone"),function(){a.getElement("loginmerge").value=0,a.getElement("isphone").value=1,e.remove(),$(a.getElement("formWrapper")).submit()}),i.view.tap($("#account-type-username"),function(){a.getElement("loginmerge").value=0,a.getElement("isphone").value=0,e.remove(),$(a.getElement("formWrapper")).submit()}),$("#account-type-phone,#account-type-username").each(function(){i.view.touch($(this),"pass-button-auto-active")})},sureMobile:function(e){var t=this,n='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p><span class="pass-dialog-orangecolor">'+e.mobileNum+"</span>"+t.lang.sureMobileMsg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.mobileSure+'" class="pass-button-auto pass-dialog-btnleft" id="mobile-sure-btn"><input type="button" value="'+t.lang.appealBtn+'" class="pass-button-auto pass-dialog-btnright" id="appeal-btn"></div>';a=new Pass.ui.dialog({width:"90%",mask:!0,content:n}),i.view.tap($("#mobile-sure-btn"),function(){a.remove(),e.successFn&&e.successFn()}),i.view.tap($("#appeal-btn"),function(){a.remove(),e.otherFn&&e.otherFn()}),$("#mobile-sure-btn,#appeal-btn").each(function(){i.view.touch($(this),"pass-button-auto-active")})},_getSmsVerify:function(e){var a=this;a.globaTemp=e||{};var t=e.data.phone,n=e.data.userid,o={mobilenum:t,tpl:publicData.tpl,isuserid:1,username:n,sub_source:"leadsetpwd",clientfrom:"native",dialogVerifyCode:a.getElement("dialogVerifyCode").value,vcodesign:a.getElement("dialogVcodesign").value,vcodestr:a.getElement("dialogVcodestr").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),o,function(e){if(a.getElement("dialogVcodesign").value="",a.getElement("dialogVcodestr").value="",i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),e.data.mobilenum=t,e.data.isuserid=1,e.data.checkUserid=n,e.data.sub_source="leadsetpwd",e.data.clientfrom="native",i._getScript("sms_verify",function(a){a.render("pageWrapper",e.data)});else if(50020==e.errInfo.no||50021==e.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),e.data.tempid=e.data.tempid;var o=e.data.vcodestr;e.data.verifyCodeData={mask:!0,vcodestr:o,from_module:"login",verifySuccessFn:function(t){a.getElement("dialogVerifyCode").value=t||"",a.getElement("dialogVcodesign").value=e.data.vcodesign,a.getElement("dialogVcodestr").value=o,a._getSmsVerify(a.globaTemp||{}),login_vcode.remove()}},login_vcode=new i.ui.vcode(e.data.verifyCodeData)}},"json")},_disablePwdCut:function(){var e=this,a=$(e.getElement("password"));"text"==a.attr("type")&&(a.on("longTap",function(){a.attr("type","password"),$(e.getElement("pwdToggle")).removeClass("pass-input-pwdToggle-show")}),a.on("copy",function(){return!1}),a.on("cut",function(){return!1}))},_eventHandler:function(){var e=this,a={focus:function(a){"verifycode"!=a&&i.view.labelFocus(e,a),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==a&&$("#login").addClass("login-coolpad"),"username"===a&&($(e.getElement("facelogin")).hide(),e.faceLoginData.tempUsername=$(e.getElement("username")).val())},blur:function(a){if("verifycode"!=a&&i.view.labelBlur(e,a),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==a&&setTimeout(function(){$("#login").removeClass("login-coolpad")},10),"username"===a&&"1"===publicData.liveAbility){if(""===$(e.getElement("username")).val())return;e.faceLoginData.tempUsername===$(e.getElement("username")).val()&&"1"===e.faceLoginData.tempRealname?$(e.getElement("facelogin")).show():e.faceLoginData.tempUsername!==$(e.getElement("username")).val()&&e.getFaceLoginCheck()}i.view.setSubmitStyle(e,0)},keyup:function(a){i.view.setSubmitStyle(e);var t={username:"num_login_wuna",password:"num_login_wpwd",verifycode:"num_login_gvcd"};e["logPNum"+a]||(e["logPNum"+a]=!0,i.client.logPV(t[a]))}},n={change:{username:function(){var a=e.getElement("username");e.pwdErrorCount=0,$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),{username:i.view._strTrim(a.value),tpl:publicData.tpl},function(a){a.data.codeString?e.getVerifyCode(a.data.codeString):e.getElement("verifyCodeWrapper").style.display="none",a.data.userid&&e._getSmsVerify(a)},"json"),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0},code:function(){var a=e.getElement("code");e.validate("code",{success:function(){$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),{username:i.view._strTrim(a.value),tpl:publicData.tpl,countrycode:e.data.countrycode},function(a){a.data.codeString&&e.getVerifyCode(a.data.codeString),a.data.userid&&e._getSmsVerify(a)},"json")}})}},tap:{verifyCodeImg:function(a,t){e.getVerifyCode(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_verifyChange",ev:[e.module,"click",publicData.overseas]}),t.preventDefault()},pwdToggle:function(a){var t=$(e.getElement("password"));"text"==t.attr("type")?(t.attr("type","password"),$(e.getElement(a)).removeClass("pass-input-pwdToggle-show"),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_hidePwd_click",ev:[e.module,"click"]})):(t.attr("type","text"),$(e.getElement(a)).addClass("pass-input-pwdToggle-show"),e._disablePwdCut(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_showPwd_click",ev:[e.module,"click"]}))}},submit:function(a){var o=e.getElement("submit");a.preventDefault(),i.client.logPV("num_login_submit"),o.disabled||e.validateAll({success:function(){function l(){s.logLoginType="sdk_login",s.passAppHash=publicData.passAppHash||"",s.passAppVersion=publicData.passAppVersion||"",s.cv="170601",s.faceLoginCase=e.exp_case||"none",s.liveAbility=publicData.liveAbility||"",s.dv=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"";var l=(new Date).getTime();$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime()+"&cv=170601",s,function(c){var g=(new Date).getTime()-l;
if(o.disabled=!1,i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_request",ev:[e.module,"request",c.errInfo.no,c.errInfo.msg]}),clearTimeout(e.submitTimer5s),clearTimeout(e.submitTimer15s),"0"==c.errInfo.no&&"1"==c.data.realName&&(c.errInfo.no=400408),0==c.errInfo.no){if($(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client)if("1"===publicData.suppcheck&&"1"===c.data.hasGuideFaceLogin){var d=c.data;d.username=s.username,d.password=r,d.suppcheck=publicData.suppcheck;try{sessionStorage.setItem("storageData",JSON.stringify(d))}catch(u){}var p="faceAuthsid="+c.data.guideFaceAuthsid+"&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+publicData.tpl+"&adapter="+publicData.adapter+"&guidefrom="+c.data.guidefrom;document.location.href="https://wappass.baidu.com/v3/login/faceloginguide?"+p}else{var m=c.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(c.data.livinguname)+"</livinguname>");i.client.success(m)}else document.location=publicData.u;e.getElement("loginmerge").value=1,e.getElement("isphone").value=0}else{if(i.getSeverTime(),$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),400101==c.errInfo.no||400023==c.errInfo.no)document.location.href=c.data.verifyUrl+"&newForgetPwd=no&redireu="+encodeURIComponent(window.location.href);else{if(50018==c.errInfo.no&&e.serverTimeCount<=5)return++e.serverTimeCount,void n[a.type].apply($(a.target),[a]);if(400032==c.errInfo.no)c.data.guide=1,c.data.account=s.username,c.data.password=s.password,c.data.livinguname=c.data.livinguname,i._getScript("bind",function(e){e.render("pageWrapper",c.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400024==c.errInfo.no)c.data.account=s.username,c.data.password=s.password,i._getScript("forcedBind",function(e){e.render("pageWrapper",c.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400408==c.errInfo.no)c.data.account=s.username,c.data.password=s.password,c.data.realnameNeed=1,c.data.loginProxy=c.data.ppU,c.data.realnameverifyemail?i._getScript("verify",function(e){e.render("pageWrapper",c.data)}):i._getScript("realName",function(e){e.render("pageWrapper",c.data)});else if(400401==c.errInfo.no)e.sureAccountType();else if(400036==c.errInfo.no){var f={mobileNum:c.data.phone||"",successFn:function(){var e=new Image;if(e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=mobileSureNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),"ios"==publicData.client||"android"==publicData.client){var a=c.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(c.data.livinguname)+"</livinguname>");i.client.success(a)}else document.location=publicData.u},otherFn:function(){var e=new Image;e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=appealMobileNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),document.location.href=c.data.appealurl}};e.sureMobile(f)}else if(400413==c.errInfo.no||400414==c.errInfo.no)c.data.loginType="password",i._getScript("secondCardVerify",function(e){e.render("pageWrapper",c.data)});else if($.inArray(c.errInfo.no,["100002","110001","400012"])>-1){var v='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+c.errInfo.msg+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:v}),$("#dialogmsg-ok-btn").live("click",function(){t.remove()})}else if($.inArray(c.errInfo.no,["50028","50029"])>-1){var v='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>帐号或密码多次输错，请3个小时之后再试或找回密码</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="找回密码" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-getpass-btn"></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:v}),$("#dialogmsg-cancel-btn").live("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdError_cancel_click",ev:[e.module,"click"]}),t.remove()}),$("#dialogmsg-getpass-btn").live("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdError_getpass_click",ev:[e.module,"click"]});var n=window.location.href,o=location.protocol+"//"+location.hostname,l="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,s=o+"/passport/getpass"+l;if(t.remove(),1==publicData.enableExternalWeb){var r=s+"&enableExternalWeb=1&adapter=3";"android"==publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[找回密码,"'+r+'"]}}'):i.client.deviceClass("action_load_external_webview",{placeholderTitle:"找回密码",url:encodeURIComponent(r)})}else window.location.href=s+"&newForgetPwd=no&redireu="+encodeURIComponent(n)})}else if(72200==c.errInfo.no){var v='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+c.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-unfreeze-btn"></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:v}),$("#dialogmsg-cancel-btn").live("touchend",function(e){e.preventDefault(),t.remove()}),$("#dialogmsg-unfreeze-btn").live("touchend",function(e){e.preventDefault();var a=window.location.href,n=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,l=n+"/wp/v3/ucenter/accountunfreezeapply"+o;if(t.remove(),1==publicData.enableExternalWeb){var s=l+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+s+'"]}}'):i.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(s)})}else window.location.href=l+"&newForgetPwd=no&redireu="+encodeURIComponent(a)})}else(c.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(c.errInfo.no,["500004"])>-1)&&(c.errInfo.msg+='，<a data-role="feedback" data-no="'+c.errInfo.no+'">'+e.lang.feedback+"</a>"),e._validateError({msg:c.errInfo.msg}),$("[data-role]",$("#"+e.module+"-errorWrapper")).each(function(){$(this).on("click",function(){var e="feedback"==$(this).attr("data-role")?"num_login_tf":"num_login_ts";i.client.logPV(e)});var e=$(this).attr("data-no");i.view.cutPage($(this),{no:e})})}c.data.codeString&&e.getVerifyCode(c.data.codeString),$.inArray(c.errInfo.no,["230048","400010","400010"])>-1?(e.getElement("username").focus(),e.getElement("verifycode").value=""):$.inArray(c.errInfo.no,["400011","400015","400038"])>-1?($(e.getElement("password")).attr("type","text"),$(e.getElement("pwdToggle")).addClass("pass-input-pwdToggle-show"),e.getElement("verifycode").value="",e._disablePwdCut(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_showPwd_pwdError",ev:[e.module,"click"]}),++e.pwdErrorCount>1&&(i.removeInfoAnimate(e.module),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_secLogin_guide",ev:[e.module,"click",publicData.overseas]}),Pass._getScript("login_again",function(e){var a={mobile:c.data.mobile,mobileHidden:c.data.mobileHidden,idcard:c.data.idcard,countrycode:c.data.countrycode,liveUsername:c.data.liveUsername,liveSecurity:c.data.liveSecurity};e.render("pageWrapper",a)}))):$.inArray(c.errInfo.no,["310006","500002","500001"])>-1&&(e.getElement("verifycode").value="",e.getElement("verifycode").focus())}o.value=e.lang.submitText,("ios"==publicData.client||"android"==publicData.client)&&(400032==c.errInfo.no&&(c.errInfo.no=0),i.client.logAjax("ax_login_sb",g,c.errInfo.no))},"json"),e.submitTimer5s=setTimeout(function(){o.value=e.lang.submitLoading5s},5e3),e.submitTimer15s=setTimeout(function(){o.disabled=!1,o.value=e.lang.submitText,$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),e._validateError({msg:e.lang.networkError}),i.getSeverTime()},15e3)}e.getElement("submit").focus(),o.disabled=!0,i.traceID&&i.traceID.startFlow&&i.traceID.startFlow("login"),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_submit",ev:[e.module,"click",publicData.overseas],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}),i.removeInfoAnimate(e.module);var s=$(e.getElement("formWrapper")).formJson();$(e.getElement("loadingMask")).show(),$(e.getElement("loading")).show(),"overseas"==e.stage?(s.username=i.view._strTrim(s.code),s.isphone=1,s.countrycode=e.data.countrycode):s.countrycode="",s.username=i.view._strTrim(s.username),s.verifycode=i.view._strTrim(s.verifycode);var r=s.password;try{i.serverTime?(s.password=s.password+i.serverTime,r+=i.serverTime,s.servertime=i.serverTime):(i.getSeverTime(),s.password=s.password+i.serverTime,r+=i.serverTime,s.servertime=i.serverTime),setMaxDigits(131);var c=new RSAKeyPair("10001","",e.rsa);s.password=encryptedString(c,s.password),r=encryptedString(c,r)}catch(g){}l()}},!0)}};return{entrance:function(t){e=this;var i=($(t.target),t.target.name);if(!i&&t.target.id){var o=t.target.id.match(/login-(.*)$/);o&&(i=o[1])}i&&(a.hasOwnProperty(t.type)&&a[t.type].apply($(t.target),[i,t]),n.hasOwnProperty(t.type)&&("function"==typeof n[t.type]&&n[t.type].apply($(t.target),[t]),n[t.type].hasOwnProperty(i)&&n[t.type][i].apply($(t.target),[i,t])))}}}()}),window.Pass.login=n,window.Pass.client.fillLoginNameFn=function(e){$(window.Pass.login.getElement("username")).val(e)},n}); Pass._define("reg",function(){var e,t=Pass,a={error:{field:""},data:{code:"+86",countrycode:""},module:"reg",reg_vcode:"",sms_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:2==publicData.regtype?"输入用户名":"注册",titleBar:"输入",words:"登录",username:"用户名",usernamePlaceholder:"用户名",mobilenum:"手机号码",mobilenumPlaceholder:"请输入手机号码",phoneformatRegError:"您输入的手机号格式有误，请重新输入",password:"密码",passwordPlaceholder:"6-14位，建议数字、字母、符号组合",submitTextVerify:"获取手机验证码",submitTextReg:"注册",loading:"请等待...",regDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",fastLogin:"注册",otherBaidu:"注册百度帐号，即可登录所有百度产品",regTip:"注册成功后，可用其登录百度所有产品,如贴吧、文库、知道、地图等",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',readAndAccept:"阅读并同意",agreement:"百度用户协议",personal_agreement:"百度隐私权保护声明",and:"及",cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录",agree:"请勾选“阅读并接受百度用户协议”"},en:{title:"Sign Up",titleBar:"Enter",words:"Login",username:"Account",usernamePlaceholder:"Account",mobilenum:"Phone",mobilenumPlaceholder:"Phone ",phoneformatRegError:"Incorrect phone format",password:"Password",passwordPlaceholder:"6-14 Alaphabets, numbers and symbols",submitTextVerify:"Next",submitTextReg:"Sign Up",loading:"Waiting",regDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",fastLogin:"Sign Up",otherBaidu:"This Baidu account can be used in all Baidu app.",regTip:"This Baidu account can be used in all Baidu app.",otherReg:'You can use <a id="#{module}-upstreamReg">expedite cellphone registration</a> to register.',readAndAccept:"I agree to",personal_agreement:"Baidu Privacy Statement",agreement:"Baidu Service Agreement",cancel:"Cancel",and:"and",feedback:"Feedback",smsLogin:"Login via SMS",agree:'Please check "Read and accept Baidu User Agreement"'}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={phoneRightDom:'<span id="'+t.module+'-userSelect" class="pass-input-aide pass-input-userSelect"></span>',passwordRightDom:'<span id="'+t.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',passportTip:'<p class="f14 m-b10 gray">'+t.lang.regTip+"</p>",regAgreement:'<p class="f14 gray"><input type="checkbox" name="agree" id="'+t.module+'-agree"/>&nbsp;'+t.lang.readAndAccept+'<a data-role="agreement" class="agree-link">'+t.lang.agreement+"</a>&nbsp;"+t.lang.and+'&nbsp;<a data-role="personal_agreement" class="agree-link">'+t.lang.personal_agreement+"</a></p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">'+t.lang.otherReg.replace("#{module}",t.module)+"</p>"};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),n='<article class="wrapper" id="'+this.module+'">',i=publicData,l=[];i.tempid="",i.agreement=1,i.nopsw=publicData.nopsw||"",i.regVcodesign="",i.regVcodestr="",i.regDialogVerifyCode="",i.smsVcodesign="",i.smsVcodestr="",i.smsDialogVerifyCode="",i.gid=t.guideRandom||"",l.push(2==publicData.regtype?{field:"username",maxLength:14,placeholder:e.lang.usernamePlaceholder}:1!=publicData.regdomestic&&1==publicData.overseas?{field:"mobilenum",label:!0,type:"tel",code:!0,labeltext:"+86",placeholder:e.lang.mobilenumPlaceholder}:{field:"mobilenum",type:"tel",placeholder:e.lang.mobilenumPlaceholder}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(n+=a._getHeaderField({title:2==publicData.regtype?e.lang.titleBar+e.lang.username:e.lang.fastLogin,goBack:!0})),n+='<div class="img-div"><span  class="logo-dom"></span></div>',n+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',n+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var o=0;o<l.length;o++)n+=a._getRegularField(l[o]);return n+=a._getErrorField(),n+=a._getSubmitField({value:2==publicData.regtype?e.lang.submitTextReg:e.lang.submitTextVerify}),n+=a._getHiddenField(i),n+="</form>",n+=e._getIrregularField("regAgreement"),n+=e._getIrregularField("upstreamReg"),n+=a._getLoadingField({module:e.module,html:e.lang.loading}),n+="</div>",n+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="other-baidu-reg" id="other-baidu-reg"><div><span class="other-text-reg">'+e.lang.otherBaidu+'</span></div><div class="img-item"><span class="item-icon item-shoubai"></span><span class="item-icon item-tieba"></span><span class="item-icon item-yun"></span><span class="item-icon item-map"></span><span class="item-icon item-waimai"></span><span class="item-icon item-nuomi"></span><span class="item-icon item-purse"></span></div></div></div>',n+="</article>"},render:function(e,a){var n=this;if(n.initialized)Pass.switchView(n.module);else{var i=n._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(n.module),n.setEvent(),Pass._getScript("login")}a&&a.code&&($(".pass-label-"+n.module+"-code").html(a.code),n.data.code=a.code,n.data.countrycode=a.countrycode),n._setValidator();var l=window.screen.height,o=window.innerHeight,r=64;if(o>l-r&&("apps"==publicData.adapter||1==publicData.adapter||3==publicData.adapter)&&"ios"==publicData.client){var s=document.getElementById("other-baidu-reg");s.style.bottom="79px"}var d=$(window).height();d>430&&($("html").css("height","100%"),$("body").css("height","100%"));var g=$(n.getElement("registerWrapper")).offset().top;$(n.getElement("registerWrapper")).height($(window).height()-g).css("visibility","visible"),t.view.inputBlur(),t&&t.view&&t.view.setManMachine&&t.view.setManMachine(n),sessionStorage.setItem("regfrom","reg")},getPhone:function(){var e=this;if("android"==publicData.client){var a=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(a?t.view._substrMobile(a):""),a&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(a,n){var n=n||{},i=n.result;$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_reg_va"))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var a=function(t){e.logPageEffective(),e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,change:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(a,n){var n=$(this);t.view.clearInputValueBtn(n.prev(),n,e.getElement("submit"))}),e.getPhone(),2!=publicData.regtype&&(t.view._mobilenumFormat(e,"mobilenum",function(){1==publicData.nopsw&&("+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1)?t.view.setSubmitStyle(e,0):1==publicData.nopsw&&-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(e.getElement("mobilenum")).on("paste",function(){var e=this;setTimeout(function(){e.value=t.view._substrMobile(e.value)},100)})),$(e.getElement("formWrapper")).on("submit",a),$(e.getElement("pwdToggle")).on("tap",a),$(e.getElement("upstreamReg")).on("tap",function(){var a=$(e.getElement("mobilenum")).val(),n=n||{};n._upstreamMobile=t.view._strTrim(a),t._getScript("upstreamReg",function(e){e.render("pageWrapper",n)})}),t.view.fullButton($(e.getElement("submit"))),t.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg"),$(".pass-label-reg-code").on("touchend",function(t){t.preventDefault();var a={};a.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",a)})}),$("#reg-agree").on("click",function(){$("#reg-agree").attr("checked")&&$(".error_area").html("")})},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],desc:e.lang.username},mobilenum:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.mobilenum},agree:{rules:["agree"],desc:e.lang.agree}},e._validator.addRule("phoneformatReg",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^1[34578]\d{9}$/.test(a)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(a)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.addRule("agree",function(){return $("#reg-agree").attr("checked")?!0:!1}),e._validator.addMsg("agree",e.lang.agree),e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this,e=e||{};e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(a.error.field="")},_showSuggestNames:function(e){var a=this,n="",i=$(a.getElement("username")),l='<ul class="pass-input-suggest" id="'+this.module+'-username-suggest"></ul>';if(e&&e.length){for(var o=0,r=e.length;r>o;o++)n+='<li><a href="###">'+e[o]+"</a></li>";a.getElement("username-suggest")||(i.parent().append(l),t.view.tap($(a.getElement("username-suggest")),function(e){var t=$(e.target).html();i.val(t),a._validateSuccess(),$(a.getElement("username-suggest")).fadeOut(),e.preventDefault()}));var s=a.getElement("username-suggest");$(s).html(n),$(s).is(":hidden")&&$(s).fadeIn()}else $(a.getElement("username-suggest")).hide()},_eventHandler:function(){var a=this,n={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),1!=publicData.nopsw&&t.view.setSubmitStyle(a,0)},keyup:function(e){1!=publicData.nopsw&&t.view.setSubmitStyle(a);var n={mobilenum:"num_reg_wtel",password:"num_reg_wpwd",username:"num_reg_wun"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(n[e]))}},i={change:{username:function(e){a.validate(e,{success:function(){var n=a.getElement(e);$.getJSON(apiDomain+"/wp/api/reg/check/uname?tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&gid="+(t.guideRandom||"")+"&username="+n.value+"&tt="+(new Date).getTime()+"&countrycode="+a.data.countrycode,function(e){0==e.errInfo.no?t.removeInfoAnimate(a.module):(a._showSuggestNames(e.data.suggNames),a._validateError({msg:e.errInfo}))},"json")}})}},blur:{username:function(){},mobilenum:function(e){var n=a.getElement(e).value;""!=n&&(a.getElement(e).value=t.view._substrMobile(n))},password:function(){}},tap:{pwdToggle:function(e){var t=$(a.getElement("password"));"text"==t.attr("type")?(t.attr("type","password"),$(a.getElement(e)).removeClass("pass-input-pwdToggle-show")):(t.attr("type","text"),$(a.getElement(e)).addClass("pass-input-pwdToggle-show")),a.getElement("password").focus()}},submit:function(n){var i=a.getElement("submit");n.preventDefault(),i.disabled||a.validateAll({success:function(){function n(){l.mobilenum=t.view._strTrim(a.getElement("mobilenum").value),l.vcodesign=a.getElement("regVcodesign").value,l.vcodestr=a.getElement("regVcodestr").value,l.dialogVerifyCode=a.getElement("regDialogVerifyCode").value,$.post(apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),l,function(r){function s(){a.data.username=a.getElement("mobilenum").value;var e=(new Date).getTime();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var n={username:t.view._strTrim(a.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:a.data.countrycode,gid:t.guideRandom||"",vcodesign:a.getElement("smsVcodesign").value,vcodestr:a.getElement("smsVcodestr").value,dialogVerifyCode:a.getElement("smsDialogVerifyCode").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),n,function(l){var o=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_request",ev:[a.module,"request",l.errInfo.no,l.errInfo.msg]}),a.getElement("smsVcodesign").value="",a.getElement("smsVcodestr").value="",0==l.errInfo.no)$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),l.data.username=n.username,l.data.code=a.data.code,a.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(a.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",l.data)});else if(50020==l.errInfo.no||50021==l.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),l.data.tempid=l.data.tempid;var r=l.data.vcodestr;l.data.verifyCodeData={mask:!0,vcodestr:r,from_module:"reg-smsLogin",verifySuccessFn:function(e){a.getElement("smsDialogVerifyCode").value=e||"",a.getElement("smsVcodesign").value=l.data.vcodesign,a.getElement("smsVcodestr").value=r,s&&s(),a.sms_vcode.remove()}},a.sms_vcode=new t.ui.vcode(l.data.verifyCodeData)}else $(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:l.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",o,l.errInfo.no)},"json")}var d=(new Date).getTime()-o;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",r.errInfo.no,r.errInfo.msg]}),a.logPageEffective(),$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),0==r.errInfo.no)r.data.tempid&&(a.getElement("tempid").value=r.data.tempid),a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.tempid=r.data.tempid,r.data.mobilenum=l.mobilenum,r.data.code=a.data.code,t._getScript("reg_verify",function(e){e.render("pageWrapper",r.data)});else if(400003==r.errInfo.no){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="reg-cancel-btn"><input type="button" value="'+a.lang.smsLogin+'" class="pass-button-auto pass-dialog-btnright" id="sms_login-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#reg-cancel-btn").live("click",function(){e.remove()}),$("#sms_login-ok-btn").live("click",function(){e.remove(),s()})}else if(50019==r.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),r.data.tempid=r.data.tempid;var m=r.data.vcodestr;a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.verifyCodeData={mask:!0,vcodestr:m,from_module:"reg",verifySuccessFn:function(e){a.getElement("regDialogVerifyCode").value=e||"",a.getElement("regVcodesign").value=r.data.vcodesign,a.getElement("regVcodestr").value=m,n&&n(),a.reg_vcode.remove()}},a.reg_vcode=new t.ui.vcode(r.data.verifyCodeData)}else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),50013==r.errInfo.no)$(a.getElement("upstreamRegWrapper")).show(),a._validateError({msg:r.errInfo.msg});else if(r.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(r.errInfo.no,["50014","50015","50013"])>-1){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+a.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),r.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",r.data)})})}else a._validateError({msg:r.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_vcd",d,r.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)}a.getElement("submit").focus();var l=$(a.getElement("formWrapper")).formJson();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var o=(new Date).getTime();l.tpl=publicData.tpl,l.countrycode=a.data.countrycode,l.tt=(new Date).getTime();try{setMaxDigits(131);var r=new RSAKeyPair("10001","",a.rsa);l.password=encryptedString(r,l.password)}catch(s){}2==publicData.regtype?(t.client.logPV("num_reg_sb"),l.logRegType="sdk_reg",$.post(apiDomain+"/wp/api/reg/uname&v="+(new Date).getTime(),l,function(n){var r=(new Date).getTime()-o;if(0==n.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client){var s=n.data.xml.replace("<account></account>","<account>"+l.username+"</account>").replace("<password></password>","<password>"+l.password+"</password>");t.client.success(s)}else document.location=publicData.u;else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),n.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(n.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var d='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+n.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+a.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+n.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:d}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),n.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",n.data)})})}else a._validateError({msg:n.errInfo.msg}),$.inArray(n.errInfo.no,["400001","230049","230053","230054","230048"])>-1?a.getElement("username").focus():$.inArray(n.errInfo.no,["230052","230052"])>-1&&$(a.getElement("password")).attr("type","text").focus();i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimerReg),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_sb",r,n.errInfo.no)},"json"),a.submitTimerReg=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)):n()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var l=e.target.id.match(/reg-(.*)$/);l&&(t=l[1])}t&&(n.hasOwnProperty(e.type)&&n[e.type].apply($(e.target),[t,e]),i.hasOwnProperty(e.type)&&("function"==typeof i[e.type]&&i[e.type].apply($(e.target),[e]),i[e.type].hasOwnProperty(t)&&i[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("reg_verify",function(){var e,t,a=Pass,i={error:{field:""},data:{code:"+86",countrycode:""},module:"reg_verify",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"验证手机号",smsvc:"验证码",smsvcPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{mobilenum}",sendText:"验证码已发送",verifySendInfo:"发送验证码",countTime:60,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在注册",vcodeloading:"发送中",regVerDialogSmsvcErr:"验证码为空",regVerifyUpper:"此手机获取验证码已达上限，请在24小时后重试",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,fastLogin:"快速注册",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录"},en:{title:"Phone Verify",smsvc:"Code",smsvcPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{mobilenum}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",countTime:60,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Register",vcodeloading:"Sending",regVerDialogSmsvcErr:"Code is empty",regVerifyUpper:"Please try again after 24 hours.",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,fastLogin:"Sign Up",otherReg:"",cancel:"Cancel",feedback:"Feedback",smsLogin:"Login via SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+t.data.code+" "+t.lang.pageTipUsername+"</p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">您还可以通过<a id="'+t.module+'-upstreamReg">手机快速注册</a>的方式完成注册</p>'};return a[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData;return n.tempid="",n.agreement=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="",publicData.nopsw=1,n.nopsw=publicData.nopsw||"",n.gid=a.guideRandom||"","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{mobilenum}",a.view._substrMobile(e.data.mobilenum)||""),i+='<form autocomplete="off" id="'+t.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=t._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.smsvcPlaceholder}),i+=t._getErrorField(),i+=t._getSubmitField({value:e.lang.submitText}),i+=t._getHiddenField(n),i+="</form>",i+=e._getIrregularField("upstreamReg"),i+=t._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,t){var i=this,n=$("#"+i.module);i.data=t||{},"+86"==i.data.code?t.countrycode="":i.data.code&&(t.countrycode="00"+i.data.code.substring(1)),n.length>0&&n.remove();var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),this.initialized||(this.initialized=!0,i._setValidator()),i.getElement("tempid").value=i.data.tempid,i.setEvent();var r=i.getElement("smsvc");r.focus(),a.view.inputBlur(),a&&a.view&&a.view.setManMachine&&a.view.setManMachine(i)},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");a.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,t){var t=$(this);a.view.clearInputValueBtn(t.prev(),t)}),"android"==publicData.client&&a.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_reg_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",i={mobilenum:e.data.mobilenum,tpl:publicData.tpl,gid:a.guideRandom||"",tt:(new Date).getTime(),clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value,dv:t};return i},success:function(t){"android"==publicData.client&&a.client.vcodetoclient(e.module),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",t.data.tempid&&(e.getElement("tempid").value=t.data.tempid)},error:function(i){if(50019==i.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),i.data.tempid=i.data.tempid;var n=i.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",i.data.verifyCodeData={vcodestr:n,mask:!0,from_module:"reg_verify",verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=i.data.vcodesign,e.getElement("vcodestr").value=n,$(e.getElement("verifyCodeSend")).click()}},t=new a.ui.vcode(i.data.verifyCodeData)}e._validateError({msg:i.errInfo.msg,field:"smsvc"})}});$(e.getElement("upstreamReg")).on("tap",function(){var t=e.data.mobilenum||"",i=i||{};i._upstreamMobile=t,a.client.deviceClass("action_set_title",{title:"快速注册"}),a._getScript("upstreamReg",function(e){e.render("pageWrapper",i)})}),$(e.getElement("formWrapper")).on("submit",i),a.view.fullButton($(e.getElement("submit"))),a.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg"),sessionStorage.getItem("regfrom")&&"reg"==sessionStorage.getItem("regfrom")&&(data.regfrom="reg")},setVcodeVal:function(e){var t=this;t.getElement("smsvc").value=e,e&&$(t.getElement("submit")).click(),a.view.setSubmitStyle(t,0)},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.smsvc}},e._validator.init(e,e.validateRules)},_validateError:function(e){var t=this;a.infoAnimate(t.module,e.msg),a.view.setSubmitStyle(t),e.field?(t.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):t.error.field=""},_validateSuccess:function(e){var t=this,e=e||{};e.msg?a.infoAnimate(t.module,e.msg):e.field==t.error.field&&(a.removeInfoAnimate(t.module),t.error.field="")},_eventHandler:function(){var t=this,i={focus:function(e){a.view._setFocusStyle(t,e)},blur:function(e){a.view._setBlurStyle(t,e),a.view.setSubmitStyle(t,0)},keyup:function(e){a.view.setSubmitStyle(t);var i={smsvc:"num_reg_gvcd"};t["logPNum"+e]||(t["logPNum"+e]=!0,a.client.logPV(i[e]))}},n={blur:{smsvc:function(){}},submit:function(i){var n=t.getElement("submit");i.preventDefault(),a.client.logPV("num_reg_sb"),n.disabled||t.validateAll({success:function(){t.getElement("submit").focus();var i=$(t.getElement("formWrapper")).formJson();n.disabled=!0,a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_submit",ev:[t.module,"click"]}),$(t.getElement("loadingMask")).show(),$(t.getElement("loading")).show(),a.removeInfoAnimate(t.module);var o=(new Date).getTime();if(i.tpl=publicData.tpl||"ppdemo",i.logRegType="sdk_reg",i.mobilenum=t.data.mobilenum,i.countrycode=t.data.countrycode,i.tt=(new Date).getTime(),i.passAppHash=publicData.passAppHash||"",i.passAppVersion=publicData.passAppVersion||"",publicData.nopsw=1,1!=publicData.nopsw){i.password=t.data.password||"";try{setMaxDigits(131);var r=new RSAKeyPair("10001","",t.rsa);i.password=encryptedString(r,i.password)}catch(l){}}$.post(apiDomain+"/wp/api/reg/phone?v="+(new Date).getTime(),i,function(r){var l=(new Date).getTime()-o;if(a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_request",ev:[t.module,"request",r.errInfo.no,r.errInfo.msg]}),0==r.errInfo.no){$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide();var s=r.data.xml.replace("<account></account>","<account>"+i.mobilenum+"</account>"),d=r.data||{};d.xml=s,d.from_module=t.module,d.authsid=r.data.authsid||"",d.bdstoken=r.data.bdstoken||"",d.jumpset=r.data.jumpset||"",d.tpl=i.tpl,Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",d)})}else if(400413==r.errInfo.no||400414==r.errInfo.no)r.data.loginType="sms",a._getScript("smsSecondcard",function(e){e.render("pageWrapper",r.data)});else if($(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),r.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(r.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var c='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+t.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:c}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),r.data.no=$(this).attr("data-no"),a.client.deviceClass("action_set_title",{title:t.lang.feedback}),a._getScript("feedback",function(e){e.render("pageWrapper",r.data)})})}else t._validateError({msg:r.errInfo.msg,field:"smsvc"}),$.inArray(r.errInfo.no,["300001","310005","310004"])>-1;n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),clearTimeout(t.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&a.client.logAjax("ax_reg_sb",l,r.errInfo.no)},"json"),t.submitTimer=setTimeout(function(){n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),t._validateError({msg:t.lang.networkNoText,field:"smsvc"})},15e3)}},!0)}};return{entrance:function(e){t=this;var a=($(e.target),e.target.name);if(!a&&e.target.id){var o=e.target.id.match(/reg_verify-(.*)$/);o&&(a=o[1])}a&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[a,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(a)&&n[e.type][a].apply($(e.target),[a,e])))}}}()})}); Pass._define("canshare_accounts",function(){var ns=Pass,canshare_accounts={data:{},bduss:[],getnetwork:!1,num:0,submitData:[],netstrvalue:"",module:"canshare_accounts",initialized:!1,rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return ns.client=ns.client||{},canshare_accounts=$.extend(canshare_accounts,{lang:{"zh-cn":{title:"快速登录",words:"登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",pageTipInfo:"检测到您在百度产品中登录以下帐号，点击可以快速登录:",btn:"用其它帐号登录",promap:{BaiduBoxApp:"手机百度",Zhidao:"百度知道",netdisk:"百度网盘",Waimai:"百度外卖",BaiduVideo:"百度视频",smartnews:"百度新闻",translate:"百度翻译",mybox:"百度网盘"},baiduOtherApp:"百度其他产品",sms_login:"短信验证登录",fastReg:"快速注册",login:"百度帐号登录",face_login:"刷脸登录",fastLogin:"快速登录"},en:{title:"Login",words:"Login",networkNoText:"Network error",pageTipInfo:"Choose an account",btn:"Other Account",promap:{BaiduBoxApp:"Baidu App",Zhidao:"Baidu Know",netdisk:"Baidu Cloud",Waimai:"Baidu Takeaway",BaiduVideo:"Baidu Video",smartnews:"Baidu News",translate:"Baidu Trans",mybox:"Baidu Cloud"},baiduOtherApp:"Other App",sms_login:"SMS Login",fastReg:"Sign Up",login:"Login with account and password",face_login:"Face Login",fastLogin:"Login"}}[window.publicData.lang||"zh-cn"],getElement:function(a){return document.getElementById(this.module+"-"+a)},_getIrregularField:function(a){var e=this,t={pageTipInfo:'<p class="mod-page-tipInfo">'+e.lang.pageTipInfo+"</p>",normalLogin:'<div class="normal-login"><input type="button" class="pass-button-sub-default other-log" value="'+e.lang.btn+'"'+(3==publicData.loginInitType?"":' data-role="'+e.loginType+'"')+' id="'+this.module+'-login" /></div>'};return t[a]},_getTemplate:function(){var a=this,e=new Pass.ui.temp({module:a.module}),t='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(t+=e._getHeaderField({title:a.lang.title,nextRole:a.loginType,goBack:!0})),t+='<div class="img-div"><span  class="logo-dom"></span></div>',t+='<div class="mod-content-code '+e.getId("contentWrapper")+'" id="'+e.getId("contentWrapper")+'">',t+='<div class="loading loading-img"></div>',t+=a._getIrregularField("normalLogin"),t+=e._getErrorField(),t+="</div>",t+="</article>"},render:function(a){var e=this,t=publicData.loginInitType;if(e.loginType="login",e.loginType="1"===t?"sms_login":"2"===t&&"android"===publicData.client?"fastReg":"4"===t?"face_login":"login",e.initialized)Pass.switchView(e.module);else{var n=e._getTemplate();"[object string]"==Object.prototype.toString.call(a).toLowerCase()?$("#"+a).append(n):a.append(n),this.initialized=!0,Pass.switchView(e.module),e.setEvent(),e.getData()}},setEvent:function(){var a=this;$("[data-role]",$("#"+a.module)).each(function(){ns.view.cutPage($(this))}),$(a.getElement("login")).on("click",function(){ns.client.logPV("num_acc_oth")}),3==publicData.loginInitType&&$(a.getElement("login")).on("click",function(){ns.client.customLogin(),ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_login",ev:[a.module,"click"]})}),ns.view.touch($(a.getElement("login")),"pass-button-sub-active")},getData:function(){var me=this;if("android"==publicData.client){for(var str=ns.client.deviceClass("config_canshare_accounts"),realStr=eval("("+str.toLocaleString()+")"),strvalue="",retCopy=realStr,exeFlag=0,i=0;i<realStr.length;i++)strvalue+=realStr[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(realStr)}else"ios"==publicData.client&&ns.client.deviceClass("getAccountsInfo",{},function(id,params){for(var ret=eval("("+params.result+")"),strvalue="",retCopy=ret,i=0;i<ret.length;i++)strvalue+=ret[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(ret)})},_draw:function(a){var e=this;str='<ul class="canshare-account-list clearfix">',wrap=$(e.getElement("contentWrapper")),bduss=[],proMap=e.lang.promap,e.num=0,e.submitData=[];var t=(window.screen.height,window.innerHeight);if(a.length>0&&"[object Array]"==Object.prototype.toString.call(a)){for(var n=0,i=a.length;i>n;n++){var s=e.lang.baiduOtherApp;if(e.num>=3||e.num>=2&&500>t)break;if(""!=a[n].displayname&&""!=a[n].bduss){var o=a[n].app;proMap[o]&&void 0!=proMap[o]?s=proMap[o]:""!=o&&void 0!=o&&(s=o),str+=0==n?'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>':'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>',e.bduss.push(a[n].bduss?a[n].bduss:""),e.num++,e.submitData.push(a[n])}}if(0==e.num){3!=publicData.loginInitType&&(ns.client.deviceClass("action_set_title",{title:e.lang[e.loginType]}),Pass._getScript(e.loginType,function(a){a.render("pageWrapper")}))}else"android"!==publicData.client&&e.getImg(),str+="</ul>",$(".loading",wrap).remove(),$(".normal-login",wrap).before(str),this._bind()}},getCardImg:function(){var a=this;$.ajax({url:apiDomain+"/v3/login/api/getcardinfo/?v="+(new Date).getTime(),type:"POST",data:{data:a.netstrvalue},dataType:"json",error:function(){},success:function(a){if(-1==a.result);else for(var e=a.has_card_info.length,t=0;e>t;t++)1==a.has_card_info[t].hascard?(document.getElementById("purse-icon-"+a.has_card_info[t].uid).src=apiDomain+"/static/appsapi/img/purse.png",document.getElementById("purse-icon-"+a.has_card_info[t].uid).style.display="block",$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)):$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)}})},getImg:function(){var a=this;a.getnetwork!==!0&&0!=a.num&&$.post(apiDomain+"/wp/api/ucenter/portrait/get?v="+(new Date).getTime(),{tpl:publicData.tpl,data:a.bduss},function(e){a.getnetwork=!0,a.reSetImgSrc(e.data.portrait),a.getCardImg()},"json")},reSetImgSrc:function(a){var e=this;if(e.getImg(),$(".canshare-account-list li").length>0){var t=0;$(".canshare-account-list img").each(function(){var e=a[t]?a[t]:$(this).attr("src"),n=e.indexOf("?")>0?"&":"?";"purse-icon"==$(this).attr("data-role")||(t++,$(this).attr("src",e+n+"v="+(new Date).getTime()))})}},_bind:function(){var a=this,e=$(".canshare-account-list li"),t=function(e){var n=$(e.target).closest("li"),i=n.index(),s=a.submitData[i];if(n){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]});var o=n.attr("data-role"),r=0;a.num>1&&(r=1),$(".ajax-loading",n).css("display","block"),$(".canshare-account-list").off("tap").off("touchstart"),ns.removeInfoAnimate(a.module);var l=(new Date).getTime(),c=s.uid,p=s.uid;if(c)try{setMaxDigits(131);var u=new RSAKeyPair("10001","",a.rsa);c=encryptedString(u,c)}catch(d){}$.post(apiDomain+"/wp/checkuser?v="+(new Date).getTime(),{bduss:s.bduss,uid:c||"",tpl:publicData.tpl||"",client:publicData.client||"",cardflag:o,passAppHash:publicData.passAppHash||"",passAppVersion:publicData.passAppVersion||"",cardNum:r},function(e){var o=(new Date).getTime()-l;if(ns.traceID&&ns.traceID.startFlow&&ns.traceID.startFlow("login"),ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)if("android"==publicData.client){var r="<client><page>login</page><data><actiontype></actiontype><errno>0</errno><errmsg></errmsg><res>";if(s.uname=e.data.uname,s.displayname=e.data.displayname,e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),$.each(s,function(a,e){r+="<"+a+">"+e+"</"+a+">"}),r+="</res></data></client>",window.sapi_obj&&window.sapi_obj.authorized_response)window.sapi_obj.authorized_response(r);else{var c="{action:{name:'authorized_response',params:['"+r+"']}}";prompt(c,"authorized_response_str")}}else"ios"==publicData.client&&(e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),ns.client.deviceClass("loginWithExistedAccount",s));else 220003==e.errInfo.no?(ns.infoAnimate(e.errInfo.msg),"android"==publicData.client&&window.sapi_obj&&window.sapi_obj.action_remove_share_account?(n.remove(),a.submitData.splice(i,1),window.sapi_obj.action_remove_share_account(p)):"android"==publicData.client?(n.remove(),a.submitData.splice(i,1),prompt("{action:{name:'action_remove_share_account', params:['"+p+"']}}")):"ios"==publicData.client&&(n.remove(),a.submitData.splice(i,1),ns.client.deviceClass("action_remove_share_account",{uid:p}))):(ns.client.deviceClass("action_set_title",{title:"快速登录"}),Pass._getScript("authPwd",function(a){a.render("pageWrapper",s)}));$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&ns.client.logAjax("choice_login_share",o,e.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),ns.infoAnimate(a.module,a.lang.networkNoText)},15e3),e.preventDefault(),ns.client.logPV("num_acc_login")}};ns.view.tap($(".canshare-account-list"),t),ns.view.touch(e,"canshare-account-active")}})}); Pass._define("sms_login",function(){var e,t=Pass,i={error:{field:""},module:"sms_login",data:{code:"+86",countrycode:""},sms_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"短信验证登录",words:"注册",mobilenum:"手机号码",mobilenumError:"手机号",mobilenumPlaceholder:"请输入手机号码",phoneformatSmsError:"您输入的手机号格式有误，请重新输入",submitText:"获取手机验证码",loading:"请等待...",smsDialogVerifyCodeErr:"验证码为空",loginLinkText:"使用百度帐号登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",code:"+86",readAndAccept:"我已阅读并同意",agreement:"百度用户协议",cancel:"取消",baiduLogin:"百度帐号登录",workLogin:"合作帐号登录",otherLogin:"其他登录方式",fastLogin:"第三方帐号登录",fastReg:"快速注册",bindTip:"您的手机号尚未注册，点击注册将为您注册百度帐号，您可通过手机号和短信验证码登录",notReg:"该手机号尚未注册，无法登录",reg:"快速注册"},en:{title:"SMS Login",words:"Sign Up",mobilenum:"Phone",mobilenumError:"Phone",mobilenumPlaceholder:"Phone",phoneformatSmsError:"Incorrect phone format",submitText:"Next",loading:"Waiting",smsDialogVerifyCodeErr:"Code is empty",loginLinkText:"Login",networkNoText:"Network error",code:"+86",readAndAccept:"I agree to",agreement:"Baidu Service Agreement",cancel:"Cancel",baiduLogin:"Login with account and password",workLogin:"Switch account",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",bindTip:"Phone number is not registered, Automatically register Baidu account and bind to the cell phone number.",notReg:"Phone number is not registered,so can not login",reg:"Sign Up"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t,i,a=this;return i=1==publicData.loginLink?'<span id="" class="right login-index">'+a.lang.baiduLogin+"</span>":"",t={links:'<p class="account_login right clearfix"><a data-role="login">'+a.lang.loginLinkText+"</a></p>",regAgreement:'<p class="f14 gray">'+a.lang.readAndAccept+'<a data-role="agreement" class="agree-link">&nbsp;'+a.lang.agreement+"</a>"+i+"</p>",otherLayer:'<div id="'+a.module+'-sotherlogin" class="go-safe-manager '+(publicData.regLink?"":"border-none")+'">'+(publicData.regLink?'<div class="fastlogin-bordertext">或</div>':"")+'</div><div id="fastlogin-layer-sms_login" class="fastlogin-layer-login"></div>',regLink:'<div id="'+a.module+'-register" class="login-register">'+a.lang.reg+"</div>"},t[e]},_getTemplate:function(){var e=this,i=new Pass.ui.temp({module:e.module}),a='<article class="wrapper" id="'+this.module+'">',l=publicData,n={sms:1},o=[];l.agreement=1,l.vcodesign="",l.vcodestr="",l.dialogVerifyCode="",l.gid=t.guideRandom||"",o.push({field:"mobilenum",labeltext:1==publicData.overseas?"+86":e.lang.mobilenum,type:"tel",code:1==publicData.overseas?!0:!1,label:1==publicData.overseas?!0:!1,code:1==publicData.overseas?!0:!1,placeholder:e.lang.mobilenumPlaceholder}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(a+=i._getHeaderField({title:e.lang.title,goBack:!0})),a+='<div class="img-div"><div class="logo-dom" id="'+i.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+i.getId("userImg")+'"/></div></div>',a+='<div class="mod-content" id="'+i.getId("contentWrapper")+'">',a+='<form autocomplete="off" id="'+i.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var r=0;r<o.length;r++)a+=i._getRegularField(o[r]);return a+=i._getErrorField(),a+=i._getSubmitField({value:e.lang.submitText}),a+=i._getHiddenField(l),a+=i._getHiddenField(n),a+="</form>",a+=e._getIrregularField("regAgreement"),a+=i._getLoadingField({module:e.module,html:e.lang.loading}),a+="</div>",a+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",a+="</article>"},render:function(e,i){var a=this;if(""!=$.fn.getQueryString("setTitleTxt")&&(document.title=decodeURIComponent($.fn.getQueryString("setTitleTxt"))),(0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),(i&&i.from&&"acclogin"==i.from||1==publicData.loginLink)&&(publicData.loginLink=1),i&&i.code&&($(".pass-label-"+a.module+"-code").html(i.code),a.data.code=i.code,a.data.countrycode=i.countrycode),a.error.field="",a.initialized)Pass.switchView(a.module);else{a.initialized=!0;var l=a._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(l):e.append(l),Pass.switchView(a.module),a.setEvent(),1==publicData.loginmerge&&(publicData.loginmerge="")}var n=!1;if(a.data.adapter&&"apps"!=a.data.adapter&&1!=a.data.adapter&&3!=a.data.adapter&&(n=!0),a._setValidator(),publicData.smsfastlogin&&t.fastLogin.init(a.module),t.view.inputBlur(),$(a.getElement("registerWrapper")).html()){var o=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-o).css("visibility","visible")}},getPhone:function(){var e=this;if("android"==publicData.client){var i=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(i,a){var a=a||{},l=a.result;$(e.getElement("mobilenum")).val(l?t.view._substrMobile(l):""),l&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_smslogin_va"))},_getUserImg:function(e){var i=this;$(i.getElement("loginLogo")).hide(),$(i.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+i.data.countrycode+t.view._strTrim(e)+"?isuname=1&tt="+(new Date).getTime()).parent().show()},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};(window.screen&&window.screen.orientation&&"landscape-primary"==window.screen.orientation.type||window.innerWidth>window.innerHeight)&&window.Pass.view.inputScroll([$(".pass-text-input-mobilenum"),$("#uniqueVerifyCode-uniqueVerifyCode")],$("body")),$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(i,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a,e.getElement("submit"))}),$(e.getElement("formWrapper")).on("submit",i),e.getPhone(),t.view._mobilenumFormat(e,"mobilenum",function(){"+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1?t.view.setSubmitStyle(e,0):-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(".pass-label-sms_login-code").on("touchend",function(t){t.preventDefault(),$("input").blur(),Pass._getScript("codelist",function(t){var i={};i.module=e.module,t.render("pageWrapper",i)})}),$(e.getElement("register")).on("touchend",function(i){i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):t._getScript("reg",function(t){t.render("pageWrapper",e.module)})}),$("body").on("touchend",".login-index",function(i){return i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_usernameLogin",ev:[e.module,"click",publicData.overseas]}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="sms_login",t._getScript("login",function(t){t.render("pageWrapper",e.module)}),!1})},_setValidator:function(){var e=this;"+86"!=e.data.code?(e.validateRules={mobilenum:{rules:["required","numformat"],desc:e.lang.mobilenumError}},e._validator.addRule("numformat",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)):(e.validateRules={mobilenum:{rules:["required","phoneformatSms"],desc:e.lang.mobilenumError}},e._validator.addRule("phoneformatSms",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^1[34578]\d{9}$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)),e._validator.init(e,e.validateRules)},_validateError:function(e){var i=this;t.infoAnimate(i.module,e.msg),t.view.setSubmitStyle(i),e.field?(i.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):i.error.field=""},_validateSuccess:function(e){var i=this;e.msg?t.infoAnimate(i.module,e.msg):e.field==i.error.field&&(t.removeInfoAnimate(i.module),i.error.field="")},_eventHandler:function(){var i=this,a={focus:function(e){i.logPageEffective(),t.view._setFocusStyle(i,e)},blur:function(e){t.view._setBlurStyle(i,e)},keyup:function(e){var a={mobilenum:"num_slogin_wtel"};i["logPNum"+e]||(i["logPNum"+e]=!0,t.client.logPV(a[e]))}},l={blur:{mobilenum:function(e){var a=i.getElement(e).value;""!=a&&(i.validate(e),i.getElement(e).value=t.view._substrMobile(a),i.data.countrycode)}},keyup:{mobilenum:function(e){var a=t.view._strTrim(i.getElement(e).value);!i.data.countrycode&&/^1[34578]\d{9}$/.test(a)}},submit:function(a){var l=i.getElement("submit");a.preventDefault(),l.disabled||i.validateAll({success:function(){function a(){var e=(new Date).getTime();l.disabled=!0,$(i.getElement("loadingMask")).show(),$(i.getElement("loading")).show();var n={username:t.view._strTrim(i.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:i.data.countrycode,gid:t.guideRandom||"",dialogVerifyCode:i.getElement("dialogVerifyCode").value,vcodesign:i.getElement("vcodesign").value,vcodestr:i.getElement("vcodestr").value};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),n,function(o){var r=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_request",ev:[i.module,"request",o.errInfo.no,o.errInfo.msg]}),i.getElement("vcodesign").value="",i.getElement("vcodestr").value="",0==o.errInfo.no)$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),o.data.username=n.username,o.data.code=i.data.code,i.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(i.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",o.data)});else if(50020==o.errInfo.no||50021==o.errInfo.no){$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),o.data.tempid=o.data.tempid;var s=o.data.vcodestr;o.data.verifyCodeData={mask:!0,vcodestr:s,from_module:"sms_login",verifySuccessFn:function(e){i.getElement("dialogVerifyCode").value=e||"",i.getElement("vcodesign").value=o.data.vcodesign,i.getElement("vcodestr").value=s,a(),i.sms_login_vcode.remove()}},i.sms_login_vcode=new t.ui.vcode(o.data.verifyCodeData)}else $(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:o.errInfo.msg});l.disabled=!1,clearTimeout(i.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",r,o.errInfo.no)},"json"),i.submitTimer=setTimeout(function(){l.disabled=!1,$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:i.lang.networkNoText})},15e3)}i.getElement("submit").focus();var n=$(i.getElement("formWrapper")).formJson();n.username=t.view._strTrim(n.mobilenum),n.countrycode=i.data.countrycode,t.removeInfoAnimate(i.module),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_submit",ev:[i.module,"click",publicData.overseas]}),$.post(apiDomain+"/wp/api/security/getphonestatus?v="+(new Date).getTime(),n,function(l){if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_phonestatus_request",ev:[i.module,"request",l.errInfo.no,l.errInfo.msg]}),"0"===l.errInfo.no)a();else if("3"===l.errInfo.no)if(1==publicData.regdomestic&&""!=i.data.countrycode)i._validateError({msg:i.lang.notReg});else if(e)e.show();else{var n='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+i.lang.bindTip+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+i.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="smsreg-cancel-btn"><input type="button" value="'+i.lang.reg+'" class="pass-button-auto pass-dialog-btnright" id="smsreg-ok-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:n}),$("#smsreg-cancel-btn").live("click",function(){e.hide(),$(i.getElement("mobilenum")).focus(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg_cancel",ev:[i.module,"click",publicData.overseas]})}),$("#smsreg-ok-btn").live("click",function(){e.hide(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg",ev:[i.module,"click",publicData.overseas]}),a()})}else i._validateError({msg:l.errInfo.msg})},"json")}},!0)}};return{entrance:function(e){i=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var n=e.target.id.match(/sms_login-(.*)$/);n&&(t=n[1])}t&&(a.hasOwnProperty(e.type)&&a[e.type].apply($(e.target),[t,e]),l.hasOwnProperty(e.type)&&("function"==typeof l[e.type]&&l[e.type].apply($(e.target),[e]),l[e.type].hasOwnProperty(t)&&l[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("sms_verify",function(){var e,t=Pass,a={error:{field:""},module:"sms_verify",data:{},sms_verify_vcode:"",voice_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:"验证手机号",words:"注册",password:"验证码",passwordWaimai:'<input type="button" value="验证码">',passwordPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{username}",sendText:"验证码已发送",verifySendInfo:"发送验证码",verifySendInfoVoice:"发送语音验证码",countTime:60,countTimeVoice:20,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在登录...",vcodeloading:"发送中",loginLinkText:"使用百度帐号登录",smsVerDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"请输入图片验证码",vcode:"验证码",cancel:"取消",ok:"确定",setpassTip:"该账户尚未设置密码，完成验证后即可登录并设置密码",sendvoiceSMS:"获取语音验证码"},en:{title:"Phone Verify",words:"Sign Up",password:"Code",passwordWaimai:'<input type="button" value="captcha">',passwordPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{username}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",verifySendInfoVoice:"Send Voice Verification.",countTime:60,countTimeVoice:20,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Login",vcodeloading:"Sending",loginLinkText:"Login",smsVerDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"Code",vcode:"Code",cancel:"Cancel",ok:"OK",setpassTip:"Please setting login password",sendvoiceSMS:"Send Voice SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+(t.data.code||"")+" "+t.lang.pageTipUsername+"</p>",pageTipNoSetPwd:'<div class="mod-page-sub-tipInfo mod-page-tip-noSetpwd"><p class="mod-page-noSetpwd-msg">'+t.lang.setpassTip+"</p></div>",resendWrapper:'<div id="'+t.module+"-"+e+'"></div>',links:'<p class="f14 gray clearfix"><a data-role="login">'+t.lang.loginLinkText+"</a></p>",voice_sms:'<div class="mod-voice-sms"><input type="button" class="sms_verify-voice-verify voice_sms_disabled" disabled="true" id="sms_verify-voiceVerify" value="'+t.lang.sendvoiceSMS+'"/></div>'};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData,o={sms:1};return n.smsverify=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=a._getHeaderField({title:e.lang.title,nextRole:"reg",goBack:!0})),i+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{username}",t.view._substrMobile(e.data.username)||""),e.data.checkUserid&&(i+=e._getIrregularField("pageTipNoSetPwd")),i+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=a._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.passwordPlaceholder}),i+=a._getErrorField(),i+=a._getSubmitField({value:e.lang.submitText}),1==publicData.is_voice_sms&&(i+=e._getIrregularField("voice_sms")),i+=a._getHiddenField(n),i+=a._getHiddenField(o),i+="</form>",i+=a._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,a){var i=this,n=$("#"+i.module);i.data=a||{},a&&a.mobilenum&&""!=a.mobilenum&&(i.data.username=a.mobilenum),i.error.field="",n.length>0&&n.remove(),i.data.countrycode=i.data.code&&"+86"!=i.data.code?"00"+i.data.code.substring(1):"";var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),i.setEvent(),this.initialized||(this.initialized=!0,i._setValidator()),t.view.inputBlur(),t&&t.view&&t.view.setManMachine&&t.view.setManMachine(i)},setVcodeVal:function(e){var a=this;a.getElement("smsvc").value=e,e&&$(a.getElement("submit")).click(),t.view.setSubmitStyle(a,0)},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");t.view.cutPage($(this))});var a=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a)}),"android"==publicData.client&&t.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_slogin_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("voiceVerify")).attr("disabled",!0).addClass("voice_sms_disabled"),$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(){e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module),t.infoAnimate(e.module,e.lang.sendText)},error:function(a){if(50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide();var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("verifyCodeSend")).click(),e.sms_verify_vcode.remove()}},e.sms_verify_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}});if(e.getElement("voiceVerify")){new Pass.ui.button({handler:$(e.getElement("voiceVerify")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfoVoice,reSend:e.lang.reSendText,page:"ax_slogin_vcd",is_voice_sms:1,timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,sTime:20,tapcallback:function(){e.getElement("verifyCodeSend").disabled=!0,$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,is_voice_sms:1,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(){e._validateSuccess({msg:"验证码将通过电话告知您，请注意接听"}),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module)},error:function(a){if(e.getElement("verifyCodeSend").disabled=!1,50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),a.data.tempid=a.data.tempid;var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("voiceVerify")).click(),e.voice_login_vcode.remove()}},e.voice_login_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}})}$(e.getElement("formWrapper")).on("submit",a),t.view.fullButton($(e.getElement("submit")))},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.password}},e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this;e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(t.removeInfoAnimate(a.module),a.error.field="")},_eventHandler:function(){var a=this,i={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),t.view.setSubmitStyle(a,0)},keyup:function(e){t.view.setSubmitStyle(a);var i={smsvc:"num_slogin_wvcd"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(i[e]))}},n={blur:{},submit:function(i){var n=a.getElement("submit");i.preventDefault(),n.disabled||a.validateAll({success:function(){function i(){var i=(new Date).getTime();o.mobilenum=a.data.username,o.username=a.data.username,o.countrycode=a.data.countrycode,o.loginmerge="",o.tpl=publicData.tpl||"ppdemo",o.passAppHash=publicData.passAppHash||"",o.passAppVersion=publicData.passAppVersion||"",a.data.checkUserid&&(o.isuserid=a.data.isuserid,o.username=a.data.checkUserid,o.sub_source="leadsetpwd",o.clientfrom="native"),o.dv=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime(),o,function(s){var l=(new Date).getTime()-i;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",s.errInfo.no,s.errInfo.msg]}),0==s.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client)if("1"===publicData.suppcheck&&"1"===s.data.hasGuideFaceLogin){var r=s.data;r.username="",r.password="",r.suppcheck=publicData.suppcheck;try{sessionStorage.setItem("storageData",JSON.stringify(r))}catch(d){}var c="faceAuthsid="+s.data.guideFaceAuthsid+"&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+publicData.tpl+"&adapter="+publicData.adapter+"&guidefrom="+s.data.guidefrom;document.location.href="https://wappass.baidu.com/v3/login/faceloginguide?"+c}else{var u=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>");t.client.success(u)}else document.location=publicData.u;else if(400410==s.errInfo.no||400412==s.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide();var u=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>"),m=s.data||{};m.xml=u,m.from_module=a.module,m.authsid=s.data.authsid||"",m.bdstoken=s.data.bdstoken||"",m.tpl=o.tpl,400410==s.errInfo.no?(m.jump=!0,m.type="set",a.data.checkUserid&&(m.isuserid=1,m.checkUserid=a.data.checkUserid,m.sub_source="leadsetpwd",m.clientfrom="native"),Pass._getScript("setpwd",function(e){e.render("pageWrapper",m)})):(m.jumpset=s.data.jumpset||"",Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",m)}))}else if(72200==s.errInfo.no){var p='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+s.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-smscancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-smsunfreeze-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:p}),$("#dialogmsg-smscancel-btn").live("touchend",function(t){t.preventDefault(),e.remove()}),$("#dialogmsg-smsunfreeze-btn").live("touchend",function(a){a.preventDefault();var i=window.location.href,n=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,s=n+"/wp/v3/ucenter/accountunfreezeapply"+o;if(e.remove(),1==publicData.enableExternalWeb){var l=s+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+l+'"]}}'):t.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(l)})}else window.location.href=s+"&newForgetPwd=no&redireu="+encodeURIComponent(i)})}else 400413==s.errInfo.no?(s.data.loginType="sms",t._getScript("smsSecondcard",function(e){e.render("pageWrapper",s.data)})):400414==s.errInfo.no?(s.data.loginType="sms",t._getScript("secondCardVerify",function(e){e.render("pageWrapper",s.data)})):($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:s.errInfo.msg,field:"smsvc"}),$.inArray(s.errInfo.no,["400011","400015"])>-1);n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("sms_login",l,s.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText,field:"smsvc"})},15e3)}a.getElement("submit").focus();var o=$(a.getElement("formWrapper")).formJson();n.disabled=!0,t.traceID&&t.traceID.startFlow&&t.traceID.startFlow("login"),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();try{setMaxDigits(131);var s=new RSAKeyPair("10001","",a.rsa);o.password=encryptedString(s,o.password)}catch(l){}i()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var o=e.target.id.match(/sms_verify-(.*)$/);o&&(t=o[1])}t&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[t,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(t)&&n[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("fastReg",function(){var e=Pass,t={error:{field:""},module:"fastReg",data:{}};return t=$.extend(t,{lang:{"zh-cn":{title:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",loading:"正在处理中...",tipPayMsg:"系统将使用您当前手机号发送一条短信验证您的身份，预计花费0.1元，短信费用将由短信运营商收取",tipTitle:"注册成功后",tipList1:"帐号：即为当前手机号，用于登录和找回密码;",tipList2:"密码：系统自动帮您生成密码，随时可以修改;",readAndAccept:"我已阅读并同意",agreement:"百度用户协议"},en:{title:"Sign Up",loading:"Proccessing",tipPayMsg:"System will send a short message to your current cellphone for verification. Expected charge is 0.1 yuan by telecom provider.",tipTitle:"After successful registration",tipList1:"Account: Your current cellphone number, used to login and retrieve password.",tipList2:"Password: System automatically generates password and can be revised at any time.",readAndAccept:"Agree to",agreement:"Baidu Service Agreement"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,i={loading:'<p class="loading loading1">'+t.lang.loading+"</p>",tipPayMsg:'<p class="fast-reg-tippaymsg">'+t.lang.tipPayMsg+"</p>",tipTitle:"<h4>"+t.lang.tipTitle+"</h4>",tipList1:"<li>"+t.lang.tipList1+"</li>",tipList2:"<li>"+t.lang.tipList2+"</li>",regAgreement:'<p class="f14 gray m-t10">'+t.lang.readAndAccept+' <a data-role="agreement">&lt;&lt;'+t.lang.agreement+"&gt;&gt;</a></p>"};return i[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("loading"),i+='<section class="fast-reg-tip">',i+=e._getIrregularField("tipPayMsg"),i+=e._getIrregularField("tipTitle"),i+="<ul>",i+=e._getIrregularField("tipList1"),i+=e._getIrregularField("tipList2"),i+="</ul></section>",i+=e._getIrregularField("regAgreement"),i+="</article>"},render:function(e){var t=this;if(t.initialized)Pass.switchView(t.module);else{var i=t._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(t.module),this.setEvent()}},setEvent:function(){var t=this;$("[data-role]",$("#"+t.module)).each(function(){e.view.cutPage($(this))})}})}); Pass._define("face_login",function(){var e=Pass,a={module:"face_login",initialized:!1,getUserInfoHasCall:"0"};return a=$.extend(a,{lang:{"zh-cn":{title:"刷脸登录",submitText:"刷脸登录",baiduLogin:"帐号密码登录",smsLogin:"短信快速登录",loading:"认证中",submitLoading:"登录中...",forgot:"遇到问题",reg:"快速注册",networkError:"网络连接失败，请检查您的网络设置并稍后再试。"},en:{title:"Face Login",submitText:"Face Login",baiduLogin:"Login",smsLogin:"SMS Login",loading:"loading",submitLoading:"Login...",forgot:"Can't Login?",reg:"Sign Up",networkError:"Network error"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},getIrregularField:function(e){var a=this,i={baidLogin:'<span id="'+a.module+'-baidLogin" class="link-font" >'+a.lang.baiduLogin+"</span>",smsLogin:'<span id="'+a.module+'-smsLogin" class="right link-font" >'+a.lang.smsLogin+"</span>",forgot:'<div id="'+a.module+'-forgot" class="login-register">'+a.lang.forgot+"</div>",regLink:'<div id="'+a.module+'-register" class="login-register">'+a.lang.reg+'</div><span class="spilit-line">|</span>',loading:'<div class="biometry-loadingMask"><p class="biometry-loading">'+a.lang.loading+'</p><div class="biometry-loadingImg"></div></div>'};return i[e]},getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),i=publicData;i.authtoken="";var t="";return t+='<article class="wrapper" id="'+this.module+'">',"apps"!==publicData.adapter&&"1"!==publicData.adapter&&"3"!==publicData.adapter&&(t+=a._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0})),t+='<div class="face-main clearfix">',t+='<div class="user-info" id="'+a.getId("userInfo")+'"><div class="face-user-img"><span class="user-default-img" id="'+a.getId("defaultImg")+'"></span><img src="" id="'+a.getId("userImg")+'"/></div><p id="'+a.getId("userName")+'"></p></div>',t+=a._getErrorField(),t+=a._getSubmitField({value:e.lang.submitText,disabled:!0}),t+=e.getIrregularField("baidLogin"),t+=e.getIrregularField("smsLogin"),t+="</div>",t+=a._getHiddenField(i),t+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="bottom-link">'+("1"===publicData.regLink?e.getIrregularField("regLink"):"")+e.getIrregularField("forgot")+"</div></div>",t+=e.getIrregularField("loading"),t+="</article>"},clearErrorMsg:function(){var e=this;$(e.getElement("errorWrapper")).html("")},setErrorMsg:function(e){var a='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+e+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';dialogMsg=new Pass.ui.dialog({width:"90%",mask:!0,content:a}),$("#dialogmsg-ok-btn").live("click",function(e){e.preventDefault(),dialogMsg.remove()})},render:function(e,a){var i=this;if(i.data=a||{},i.initialized)Pass.switchView(i.module);else{var t=i.getTemplate();"[object string]"===Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(t):e.append(t),window.Pass.face_login=i,this.initialized=!0,Pass.switchView(i.module),i.setEvent()}i.getUid();var n=(window.screen.height,window.innerHeight);if(n>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(i.getElement("registerWrapper")).html()){var o=$(i.getElement("registerWrapper")).offset().top;$(i.getElement("registerWrapper")).height($(window).height()-o).css("visibility","visible")}},setEvent:function(){var a=this;$("[data-role]",$("#"+a.module)).each(function(){e.view.cutPage($(this))}),e.view.tap($(a.getElement("baidLogin")),function(){e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_baidLogin_click",ev:[a.module,"click"],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}});var i=new Image;i.onerror=i.onload=function(){i=null},i.src="https://passport.baidu.com/img/v.gif?type=appsapi-face_login_baidLogin_click&v="+(new Date).getTime(),e._getScript("login",function(e){e.render("pageWrapper",a.module)})}),e.view.tap($(a.getElement("smsLogin")),function(){e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_click",ev:[a.module,"click"],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}});var i=new Image;i.onerror=i.onload=function(){i=null},i.src="https://passport.baidu.com/img/v.gif?type=appsapi-face_login_smsLogin_click&v="+(new Date).getTime(),e._getScript("sms_login",function(e){e.render("pageWrapper",a.module)})}),$(a.getElement("register")).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_reg_click",ev:[a.module,"click"],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}}),"1"===publicData.fastRegLink&&"android"===publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"===publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"===publicData.client&&this.deviceClass("action_fast_reg"):e._getScript("reg",function(e){e.render("pageWrapper",a.module)})}),e.view.tap($(a.getElement("forgot")),function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_question_link_click",ev:[a.module,"click"]}),Pass._getScript("question",function(e){var a={type:"question"};e.render("pageWrapper",a)})}),$(a.getElement("submit")).on("touchend",function(e){e.preventDefault(),a.submitFaceLogin()})},getUid:function(){var a=this;if("android"===publicData.client){var i=e.client.deviceClass("getFaceLoginInfo");i=JSON.parse(i),a.data.livinguname=i.livinguname,a.data.faceLoginCase=JSON.parse(i.queryRes).exp_case,a.data.hasRealName=JSON.parse(i.queryRes).hasRealName,"4"===publicData.loginInitType&&"0"===a.getUserInfoHasCall&&a.getUserInfo()}else"ios"===publicData.client&&e.client.deviceClass("getFaceLoginInfo",{},function(e,i){var i=i||{},t=i.result;a.data.livinguname=t.livinguname,a.data.faceLoginCase=t.queryRes.exp_case,a.data.hasRealName=t.queryRes.hasRealName,a.getUserInfo()})},getUserInfo:function(){var e=this,a={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.data.livinguname};e.getUserInfoHasCall="1";var i=$(e.getElement("userImg"));$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:a,type:"POST",success:function(a){var a=JSON.parse(a);"0"===a.errInfo.no?(i.attr("src",a.data.portrait+"?tt="+(new Date).getTime()),$(e.getElement("defaultImg")).hide(),i.show(),$(e.getElement("userName")).html(a.data.username),e.userName=a.data.username,a.data.authtoken&&($(e.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),$(e.getElement("authtoken")).val(a.data.authtoken))):e.setErrorMsg(a.errInfo.errmsg)},error:function(){e.setErrorMsg(e.lang.networkError)}})},submitFaceLogin:function(){var a=this,i=$(a.getElement("submit"));"disabled"!=i.attr("disabled")&&(i.attr("disabled","disabled").addClass("pass-button-full-disabled"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_submitBtn_click",ev:[a.module,"click"],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}}),setTimeout(function(){""!==$(a.getElement("authtoken")).val()&&(0===parseInt(a.data.hasRealName,10)?a.identificationData():a.identification($(a.getElement("authtoken")).val()))},200))},identificationData:function(){{var a=this;publicData.subpro||"pp"}e.client.checkNativeMethod("sapi_biometrics_identification_with_uid",function(){var i={type:2,subpro:publicData.subpro||"pp",uid:"ios"===publicData.client?encodeURIComponent(a.data.livinguname):a.data.livinguname},t=function(e){$(".biometry-loadingMask").show(),a.upliving(e)},n=function(i,t){$(a.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!==i&&(-301===i||-302===i||-306===i?t="登录失败，请确保本人操作，或尝试其他登录方式":-303===i&&(t="刷脸功能获取失败，请重新尝试"),a.setErrorMsg(t)),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+a.module+"_submitError_request",ev:[a.module,"request",i,t],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})};if("ios"===publicData.client)e.client.deviceClass("sapi_biometrics_identification_with_uid",i,function(e,a){t&&t(a.callbackkey)},function(e,a){var i=parseInt(a.errno,10);n&&n(i,a.errmsg)});else{var o=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_uid", params: ['+JSON.stringify(i)+"]}}")),l=parseInt(o.errno,10);0===l?t&&t(o.callbackkey):n&&n(l,o.errmsg)}})},identification:function(a){var i=this,t=publicData.subpro||"pp";if($(i.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),"ios"==publicData.client)e.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:t,authtoken:encodeURIComponent(a)},function(e,a){$(".biometry-loadingMask").show(),i.upliving(a.credentialKey)},function(a,t){if($(i.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!=t.errno){var n=t.errmsg;-301==t.errno||-302==t.errno||-306==t.errno?n="登录失败，请确保本人操作，或尝试其他登录方式":-303==t.errno&&(n="刷脸功能获取失败，请重新尝试"),i.setErrorMsg(n)}e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitError_request",ev:[i.module,"request",t.errno,t.errmsg],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}})});else{var n=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+a+'","0","'+t+'"]}}'));if(0===n.errno)$(".biometry-loadingMask").show(),i.upliving(n.credentialKey);else{if($(i.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!=n.errno){var o=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?o="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(o="刷脸功能获取失败，请重新尝试"),i.setErrorMsg(o)}e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitError_request",ev:[i.module,"request",n.errno,n.errmsg],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}})}}},upliving:function(a){var i=this,t={};t.callbackkey=a,t.tpl=publicData.tpl,t.clientfrom=publicData.clientfrom,t.client=publicData.client,t.token=$(i.getElement("authtoken")).val(),t.username=i.data.livinguname,t.faceLoginCase=i.data.faceLoginCase||"none",$.ajax({url:"/v3/login/api/livinglogin",data:t,type:"POST",success:function(a){var a=JSON.parse(a);0==a.errInfo.no?($("#face_login").hide(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitSuccess_request",ev:[i.module,"request",a.errInfo.no,a.errInfo.msg],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}),setTimeout(function(){if("ios"==publicData.client||"android"==publicData.client){var t=a.data.xml.replace("<account></account>","<account>"+i.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(a.data.livinguname)+"</livinguname>");e.client.success(t)}else document.location=publicData.u},200)):($(".biometry-loadingMask").hide(),i.setErrorMsg(a.errInfo.msg),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitError_request",ev:[i.module,"request",a.errInfo.no,a.errInfo.msg],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}))}})}})}); </script><script type="text/javascript">
    $(function(){
        var module = location.hash.substring(1) || publicData.action || 'login';
        Pass._getScript(module,function(module){
            module.render('pageWrapper')
        })
    })
    </script>
</body>
</html>
