<!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,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) no-repeat}.li-img-chuanke{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACHNJREFUaAXlm2tsVEUUx9ttoYW2JhUSkEBi/FARE6oJGCAt3bYEMaIIjcRY0qTSQijED8AHTMAPglEjGDXyBht5xEioQSSFaLvdtgQfKElRCWJiiFYCESwI1Aql9fdf9pa7u3e7u927ly1OMpmZc+eec/5zzjzuzNzUFAdCb2+v6+jRow92d3fn9fT0jEZkDrQcl8tF0nuN8lXy59PT088UFBScTU1N7Um0WqmJENDU1JQJoCJ4l5C6ifnkLxBPKQXYVWhXSSU/m3wO6SjiBKWQ24he8h7S5uLi4i7ytgZbgQPYjUXL0bAMMD7lST3Dhw//btq0af9Eo/mxY8eGdXZ2TgKwr9FI1Wh1eMReGsAbDY9o6sQNHGAuj8czB2Griekoumfo0KF7cdlz0SgQqQ5dZMyNGzfKkbOAut3EdSUlJZ8hJ67uEBdwLFxw69atTSjzLxbxKRQJSDzP1cB4lBo4g7h0xowZrQPlNyDgra2tuVjhA4QW0fI1WODgQBUYyHs0wLN4wEbebcG7lhUWFnbEyscV6wtYeTygjwO4feTIkQ87DVr6Siayx0sH6SKdYsURk8UbGxufQsAuBK5A+K5YhSWiPtavwPob4F1RWlp6OFoZUQNHwHL618q0tLR5jK5fRyvAiXpYfApjzaeMM+sxyDvRyIwKOJZeRau+AehxgG6PhrHTdQA/FsM0IPcLLP9yJPkRgTc0NKzAtasyMjKeYIq6Gonh3XzO1JfT1dX1N5ZXV+zX8v0ObrTiLICsYCk5M9lBq8Glo7xSXdI/HoW1Q1iLa6SEQQuM5rjd7q/CckjCB+rz6P45li+ka562UtHS4pqnefEQLr5ysIEWSA2+mnmEQViiBq7FCS/WJcuUZaV4JJp0Fwb/QiukeojFcZMCahWNGDHitZDag4zgxzCdAbowWPUA4ExZLtxjMy1Vk5+ffz248mArCwNYlqL3RmELqz+LlHm0zrdhKwzSB2A6zig/16x+QCtg7dX6yjJXuBfyfkz6qgsN9G03rdIW+uTeoAibMBpo0o0M1i6nP+wxynak27dvfwS+W+D1GLybaPmXqqqq/grHe+fOnWNYc+tzdxp9sjY3N/f1+fPna08u7iBswggjr5j5XJ2WyCRfpp0TEe0KKP8hvKYT7yOvTYRXwvHeunXrA2xGtlJvLlH7b6uuXLkScc0djl8w3Y+tzI/1NnAUknIn7douMgmdbMqnAOhxc9nI79ix434s8iXlhwyaUvSabS7Hkxc25LcRtQl6GzhpCdFLtDUgJM3MEHB9Xcug4945ADxC3UcNmpFS/xMjb0cKPy98hLUPeDGCG0VwMtTW1mbSpw8iO8AzpANKbl20aNF7duqDHA/RLZ7a0VfM1xawnUIi8aJPD2E5ud9QJKh+bXV1dU0QLe6iMAqrMPtOOOB4Idp977ilw0CCsegusk9b8KvF0lU8j2v72IJvih/jBZ3quHSsQyWdcDgWmOa2AP4FC4EJA22SdUqYtTYfDVHHO46Ebdu2vQ3oagthToCW2AvCrFE2B7dyZEsJwFOQ55tOpIEpOAVag6aw5qSjjA7sHAGOHJ2ABAT1dQayhPTpAEF3CteQmc0q0tVLJuwW1J36icnR8BNwfzW+IwF5vbh6qqYyrYWzHZHKGZuFnEnQDu/bt88RHbCxr2u7EKqzakdaHKE6iHjXAvzUy5cvHwL8MItntpL8WHURwXUezvoocCQwRy9HUMhXIAoVdXR0HKivrw8ZB2xWbJQwu3T9Asa6ieBIwOq9eXl5laT1FgJntre379eqzuKZXaQJwuziq+UsHEfpJoJdnCPxYfu3Gws/D/hjwXWhz4b+MZ+PIR80wXVjLfsxjhJmLR17iG26fhEro3jqL168uDMrK0ufnT8G8wF82ZkzZz4i1RhkW/BfMdEVlR6DcROFUtskRMmovLy8A7d7kupnLV55kaWtrV9nYCwheiXLAO4h7xbB6bBw4cJz7I7MRKE/g2Vj8WX09+eC6QMtw8/Nu8J6GzijXAv5ibpoI2ICQ68V78rKyl9QahbgrVaQb1q9EytN2OCfT2zWuz6LM9h0kddxizbj7Ax/mJkB7idz2Zynz59AKVm300wnb8ug68dW58fa5+opWH0vii0IEhpXEZ46xfiVqDtu2mVd2x9D1uyeIUOGaDemkUa4TnqaaPUl1x8by2fCJoyWDzlxOKEbRZYPBzERTHPYV//eDMEY3Hw0WnktC/g15gr3Qh5MOkVZFxYL7uCiZX64l6wuLHjySWEzAw8oYPEe+sESKm1qa2vLMlccjHlhEBZuddQImxlDAHA9YNQ7StJ86dKlV80VB2Pej6HZjykAQghwPWVBsYyWKsNNKgJqD6KCdBcGYbFSO+zOCx8J/7/LP2oh3OM0/b2Crdi65ubmcVatlow0DDZWtxzRrUIYwulo6epGZV48Qn7DzZs3f9PlOYOerKl0ZOpqwGDrI91rDevqZnBMce9Tns6X1DNFRUW/m58lS15eKQMxeq8C9FuR9OrX4sbLuhvKQLEbxt/gSlMMerKkXq93qnRDn5XRgJbeUVncAAjoWbjSblo12a5tr9d45O+ahrr9pjEBFyf/aK9bj3W6R3a3roVpcaJ5WlMWoGf3N5BZtUBUrm5+UQKYGycjcOzFixd/vhvLW8mUbOkgXWIFLTwxW9zcCFi/ANffjAJdtPrakgT/myLA+uDA24YhbwmAtcocUIgLuCQC2vf7FekaFEojJuz3K2TcAvA6AB9ATsDaO1b0cQM3C8QD+n64g36S6EXZxgH+cKfNTzdxIjH5frhDqZBAA2TiktN5UELU/ZqQXyyhX4OuA0vff6aUdZrT94sl+SaiBwu3YOEu8rYGWy0eTjPwhfxUC+BsGofEt8Ho+E+1/wHQ9BFaxlmR0gAAAABJRU5ErkJggg==) 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,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) 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,iVBORw0KGgoAAAANSUhEUgAAARQAAABZCAYAAAD/wdt/AAAcaElEQVR4nO2dd5wU5f3H38/uXr+jHiUIeEjE+rNHYyFo7C0EFBGMHaPGqNgSTeLvl0QTW8SoSSyJUTAWVGyxJfYuYBQTsBsRkM55cFzfmfn98b2Fvb2ZnfZsuXPer9e+lNnZZ2ZvZ77zPN/y+aovasuJ2Mw3rFbOT8zgrvg5DLOWFvp0dDEEuBg4EtgubftnwOPAzcDnBTivgtNMFVuwhNkdB1JOC0lKCn1KPZpYoU8gIuccDryFGJTtMt4bDVwAvA5M0nzcvsAgoErzuBFFTGRQejeHAQ8BdS77fQN4ADhWwzEPBe4DPgY+Bd4DrgZ20DB2RJETGZTey1bAvUClj8/cCewc8HiDgZnAM8Dxnf/ug8yCfgq83fnfiF5MZFB6L7cA/X1+phq4LcCxtgdeBE7Ksk85MlOZRXTd9VqiH7Z3cjhwSMDP7gVM8bH/MGRZtb3H/U8E7vF7UhE9g8ig9E5+EvLzPwbKPOxXg0SJMp29bhwP/NrvSeWKRvpiogp9Gr2CyKD0PnYG9g05xj7Arh72+wOwe8BjXE748wxFHIMGBnK2cRWDaMIgUcjT6RVEBqX3cTRoSaY4wOX975HdZ+KFX1HAa7CZSraz3uNw82liWFjR7RCa6C/Y+9hN0zj7geM6oApxsIblQGCshnF8o7BYpoZzgnkbY6zVrKMcsApxKr2KyKD0Lipwzznxyo5IZMaOSfj3mzhxlKZxfPGFGs0R5qOMN59klSolFhkTLUQGpXcxGEmz1zVWX4f3ztJ0DID9EUOYN5qp4ghzDrclpzKYFTQTz+fhezWRQeld1KAv1T2BpM5nsisSWtbFLsBQjeM5orCwUKxiKBcYv2SY1UI9FcSj2Yk2IoPSuyhBj0MWxH9SarPdzVnrlwQwUPOY3VBYtFHGUjWKC4zfsr21lFWqFBUZE61EBqV30dH50oEFtNlsH6Vp/HRyeh0m6KCeWpbGRvAj4xquMn6OopG2aKmjnSjw3rtoBDbi7PvwgwHU22zvo2HsTOyOo4UYJsvVCPYyX+H4jjlMMO9gnYI2yiJHbA6IDErvYhWwBthC01hf2Wyv0TB2Op8AazWPuYl6Vcsu1nz+1jGJITSxVJVhEouWOjkiWvL0LlqBLzSNtahzvFwzD2jI1eAtVDDK+pQhNPG5qsBCRcYkh0QGpffxL03jvI59pleTpvFTPK95vC7EMWihkmaIojl5IDIovY8n0OOYfcFh+woNY6dYC/xT43gRBSbyoRQv3wX2RpTOEsAS4A1k5rAqy+feBeYjBX5BmQ+84/DehyHGzeRh4EuN40UUmMigFB97IKX9h9u8dxHixPwjcGOWMX6H3KxBuQX7kDGIQTMJP7ttA64JOUZEkREteYqLY5Glhp0xSbE18Hvg74gWrB2PAM8FPId5iKqaEx8BbwYcO53rgP9qGCeiiIgMSvGwO3AX3sOyRwGPYZ8eDzAdaPd5DklEXMlw2S+ITGQ6KeHqiF5GZFAyUEAHJbRQSivlHl8VtFMWJhxZhcwK/NbhfAt4FPuq4EXIjMePg3Yq4j9x40Fk6ROEVUi1su5oUUQREPlQMjCBahoZzFoGssbTZxRgEKeZqqBG5Qy8a7Jmsg9wBXCJzXt/B8YDtwIjs4yxGjgH0Yb1QiswGQn5buP5TCVH5jjEDxTRC1FR58CuKKCVctrxrpFRSwvPxfbh5PgzbMXHJP3Z6SrgfbLf8F7YHefIzHDgF0jkaCvYVMTyGeKzuY5gN/m2iHPYiyD2s8D5wAdZ9hmCyCakZmobgOWESHxbrYZymPkYd3WcwFoVXeu5JpqhZJCaoSQwPM81KoD9zH9xSOxR3owdwABrLZZ30ePxhDcmIHKKRzu8twzRMOmHGJ7+SM3PfGBdiGN+iDT2OhXx6Yylq09nI9Je42HEP+TEIcjybH+6GrxWxAn8KjAHeCnEuUbkgcigZJDyoXT4UAFoQjHKWsdU406ejE2gio2U0erVqEwOeq4ZHIYIVL+XZZ8GcpOZemfnaxQyyyhHHLurEYPgRAIRuv4h9nKT5ch32hk4E2m/cSH2NUYRRUDklNVAHItlqpzDzH9woXElK9RwTG9/2hpEYEgHCWS2U0g+R/oov4TMKrIZEwXcjxgKL5a3BDgFeBqPxY8Kiw5KWKcGRRd6noj+zpowgDbVwVXJyznXuIKVbEHcNfrKnuipDE4R1LFbCK4Ajgnwub2Q8oJ+bjt2UEI/6jnGuJvWqO1OXogMiiYU0E45DSrBjOT/cow5k8Xqm25GZVvQqvIzQONYuWQMcHGIz+8CXOu2UzuljLY+ZrJxNy0hDhbhncigaERh0UwJFnCceT9gsYG+2ULJdZpPIa9izyE4CW+dCbNxBlm0bRN0sIJvcLoxgyqgw1HAP0InkUHRTAyLxaqCQ80XuTU5iSZVTQuVTkbFKXU+KOWEv1FzTSVwpKaxzrbbqLBYo4ZykPUM48y5kap9HokMSg6IY7FclXKq8Qg3J09lPX3ZSI3d8sdOBDrcoYv/N90W6fmjg2OQZu2bUFi0U0o9/ZhszWIrayXrle4/c4QTxX7x9WDiLFelnGw8yA3JM1mnau18KrqX9q04Vwn7IQHUAiMQp3GlhjFTbI2+dIVqJHdlExaK5WokZxu/Y4Ixh2WqPBJWyiNRHkqOkJBljCWqlFPMexjQ0cCc+ESeVePpy1epHBWdYkUgeSZmwM+WITU2uwM7IcuxGiSAtRxYiOixPEi4Opy6EJ+1Y2/gXhB1tmVqJKcbM7gheQkNCgzKvacYRoQmMig5RC7kGEtVBRONJ6mzFvLPku9jECcm9322PI0gZBNecqIPkhI/GRFzsmNL5MY9A/gpcDciodAc4Hi6m3oNB4hhsFiN5mhzNrcmL2KtitNK1Hcn30QGJQ/EsVgaK2cXaymTrTv4Y+wSxlgfYxB/HUlPr9Z0qIU+9z8SuB5/BX7bAr8Bvg+cC8z1eUzX/BGflAO0UU4/6plk3oMFNFIaLXU2U4VUpjthIL+jX7mLbkQGJU+YyDrhOOMBnlCTaVAD6GM1fGyhFgD7aTiEAbziY/8rkILBoHyr83jTkBmLV3R7SCsUFmvVYMaZz3Kc+RSLVdReNINtkJqqbIwCFoc9UAJ5QtWir+NcCoXcR23IU3glkpr9HuI70OE8LCZqyOLkVsAaVZbc13q76a7k0ZyWeJR2Simh4070GJQFwNse970VSXkPSymi49IXqcnxgu4YrpkkThVNnGHM4CsidXsbvCyttfRGSiAKXfmMqzUhZfMPIorn8/J47FwRR2pX6rLtlMB6bR0cVWd9RAelKPGj3If4JcaEPIc/Yd/2IpMr0WNM0rkZaTA228O+uu/2ljYq2Nt8ibHmy7Sr2Jbkpl1qLllAd4mGOvQ5sL34rY4l/AwlmUC+yOCQA/mhCoki7IRMu58B/oKUp/dkBuPeAnRgkgRlJJhg3sPs+GmUWu0tiDjSYyGOPQ9vy47xwM9DHCcbf0U0Yt0U34I4crPRtFH15ZzkNfTHYhnlZymsSzUfI9ccSvd2IucildX54k4dg8QIHmbUxWGIUtgs8mvYdOMlp6S1gxKGWk0cac5mNbXESQI8DtwU8LgrkVR2tyXrQGQmkSsqkYvSLcc9jP6KHSsUJo30IQkorI2ax88Hds7QxryfRXg2FFNi24lIafqIQp9ILlFYNBKj0jLZwVpI8+YAz/lkFyGyYxkwBW9r5GvI/d92B+Aql32Waz7m+5rHiwhBMRkUgN0QqcDaQp9ILqlXZYy1FnCMOYtlaotUTgqI8tl0RPowGxayTNwHbypmRwOnBzxdv0wnu2iUzkZhIPorEUVCsRkUkBBXtiZWPZ4YFqtUKcebs9nJeo+1anB6AtaNSEj2AuAfiAN7BaJi/whwHlK+fwaw1MPhtkbT+tgHt+OcJPcB+hTX3iOaoRQTfYo1D2Uq4uTLaSPtQtJMnG2sJRxhzuEv8ekYxNJFsT/ufN2ISBLEER9Jq8/DlCLLqIF6ztozfZAZ1H507/HzBSKMHURcKZO/0d131FM0YdLxKzvxDt1nsa1IBFXRVQHPQoIFQcP19chvmD6miVxbmUmKzcVqUECe0D3JoHhxKG+6seNYrAXOMq7nqdix1DOAsu6pORbhoiKzCNfjOAzfRiJPU23euxaYQLgZ8mrsOxw+hh6Hpoko6rlJLTQDM3BvjpaNbJ0A7DgOmblmsgViYFNPJoX8jVcGPzWGIQ73dMNdjjjXu+Wu+DEoM5A+L0EZBByEOBG9dMfbG/kyup14ucBEvpvbk6ZLrkEM+Ir+1FNLXHteIdejTwA7KFOQ3y9TnW0e8H9I2kBQfowYlUxewV/GcDb+7GGfl4HLNR3PK7V0NyjnITlGBl0NikIM48cBjhNH/pbD6WowS5BU/bGZH/BjUOYSvo3Bg8j6ejYw2mXfAYgvIUx+Rr6w8F/TgkGM/jTzTWshc2PjGGl9TtKH2n4WrsU9h2EVIhJdhVQalyJPnsGIMdfFRUg06vcZ26/sPK7f9P8kYqAeDH9qWdkO+9lVJmEeskGxmw114PygDvpQNpCWK3aiXbZdLv0YlP5BzsiGfwGnIZbdjTpNxyxKWimjn7Weu5NTmVTyOO+rnRhirfCqmO/EjcjTyo3FSEQmkzHor4KegRiw+zK2X47MVk7Hm2L/00hTshdBQvAWig1U0Uap7gjDCbjrwDRRmAdeDfAjui6z982y/9UES61X4PiEGwL8MmNbW6F8KKl6HjcJRCcHWw3iaNpIuFRuC1mupOqOmkOMl7WWp5MkaVoiCot6VcYgax0PdhzGwSXzWK2G+m0UlqIEqdE5zeP+Tr99Lhy4CnGgGsADGe/9vfO1K6LktiNysaac0fVIhGs+oseyCZMYDWoAZ5o3cYD1Fus2K7MpxBjEyZ646eSo7Ic3p/F85Pd0y5B2wkCuYb9UI3lFXqvUzwlwDDeGIcvWLhTSKbsGd4PidFdNA35NOEcYyA3eihiCNmSd+QryBHwL71nEnmp5gNeQDntpH7RYoyoYSSNHmw9wZ/zHmMT86nj0QW5Yp86BxUAMOcd2pMF7Ju92vjyR0o0dbX3EDcnzaQY2sKnKuBK52Wuxz0K1Os+nEvtrLIG3xvXfQsoNgkZQ5gMHB/icgUTLnELzhWJDoQxK6sd0w8lbX4k+DZF06tjcp/c5JHSdOU13wlMtj93GOBb1wDRjBrNjp2AQJyEp+V4Ygdygu3n9QAEpQbr/TQKeCjOQQZxymjnJ+BNJYCNdpB5jiI8u10WvVXgzPE70ugTOQiW21eDNP1LvsN3z3RaCgxBpwfvx1ozLUy2P8xtlDLOauMy4jAblOZViN8Tw9QRjkqIS8TucEGaQDkoYYS1msjGTFrpNM8KG2/OF37yiFDH0K9/poGCJbVNwX251AJ/k4VzcmIyolE1EprfFwgREsqAYLyw3EsjypxJvodmMD3fwmRrNZcmfUEuSlV+/njttiN+pLm3bSKTRvB0vEkwHWAEHYl/w2YgEWNLxldgWWh6uk/F4i9t/iWQEFgM7I+XlY9EvLA1AOW0sV325Kn4V/SynidkmLkd8SGEohun27YgD9DqvHxDfyRDGWi9xkPkaTV9POaUGpO4rnbORB4wdxxC83GEpnbq9GSwEDsjc6Meg1BDcb6GQGp1peBf3eQFnD3ifgOcRhtHIDzZB98AGigHAdfELaVbV9LEytXY2UYU80ad4GPZdZLn2NvbOZS/ZpF2iUmm4OS1Nh/FjdM+VuBZZUtqFsG0GjtFEDROMexljLeW/qoKEf5Oiq92IFypxDr0Gxc5VkS1ZtJZgBiUzjT8d2+/kx6D8ChEC8hvPtDoP3h9/TrJbsry3kPBJdimyTRUz+X7nyy5KEZhKDD5QW/J0bCImMWKYdmHjKkQ35jCX4RYhItIPE/6mmQ8cbrP9AKRQ0YnVSAQiMwo3Evi3zf7nI5nUp+Fyzg0MYJz5T6aYs1imyoMYE5CQ6w1BPhiAuynu6Fs2fP9x/RiUfuhXLHfiVrLro96H9+iLG7WI/N10vKm//wJxKmqZaZsohljt3BQ/gYVqR7a2PrFLbBuErJkde/l2chei9KVLZKgdWG+z3W1NZjjsY5cqn2IqErGagix3HQZOUMMGhtDG5wSanYDMnuy+Vy4I6njVyZqAnxuPz2LLYiwOfBMpDMwXaxEDNgf4HaJ+lo3dkSf0CzoOPtBq42W1G4/ETmC49aWdMUkgSxc3Y/IbwqnY2+EUBXTrn6yQ3IzMGYpbrdNYJFfnZBzqcfpSz+vqAG6JncQpxt9YG6zNqO4lSDaKobHyMwTrUrkvzn+r0EuefDAXOJ7CWPU1wCnIbMBump/Od9FgUCwUNZg0qzgfqO0ZY32E0f0n+UPn8bJxL/qNSaGoA54EfoBNWnsZbSxRI1mmRlCJSRIVdJbydcLtYRQE26hRMRmUu3GfHeQaCymJdzMofvUrbCmlgxWqmqdikxnMWjtjMgl3J/ZystfuDEaWEZm1WMuRKEsxUo3Myg4lY6ZiEmMQ65gbG8dCdT/D+IKNRXUZf224325jMf0S2yFLnXw5y5zwEh4Pm/IPQIIkjVg8EptKhdXN4A+ge4WuHVfhLPx8ElLAZddWYg3Fa1BAch/uAfYgo8XqAGsNL8QO5iM1gh3Nz2hUJVHLUW+SILp4BIegSTEZlD06Xwcha2gtjYcCENSB5ZsYsEjtRgVNdHRfkk5HCrCy8SUw0+G9CVneA1ji6SQLy3BEM+WH6RuTlNDfWs9nansaeJM4ht8K7XxeW/lS4V+EvsinEybij3EUlComg5LiCGSaezhSAOWFMmR6/D+Ed7jlreCqDPh9/BesVMMYai1PDxUPJOMmcuAp7PM9+iOO5t7AKUj+z4L0jX2tr7gp/jMONJ9gS5bQ7C9b9njsk7VyQbaewkGxS924H4dlSD7xY1BaCJct67WCE2T58wAwjuwO2hjSde8HwPYhzq0gWEANG4hjZOadHIOU8LuxwGH7IfTsHkfplCBLty7f1SRGDRtIYARZ7BzY+eqpGEj0KBcFsmHY6Meg/Ixw6un9ES3MaYgSuxt7Apdho7nQSR1wB+4RkJ7I/h73c8oH0dEruZiYgiRW5it3pNhZjtxDxdZC5FA/BmU94X7Q9Uia9e2IIroXAZsLESO2OGP71khtTV2I8ylW+iBLNy84zd5GajqXYmEoIsD0UoHPo1gwkJlbUGGnXFHqx5OlS1uiAclMfd3DvtV0F1pOef/rNJ1PsTEc79/N6TfxLffWA9iz0CdQRKQUBouNeCEbfTlVRmZyMF1vkHPIjaOrWKjG+9rYSbrgP5rOpZioK/QJFBEpxblio7GQUR6vStw7I1O7BiT6camPY8xDHMlev2cTslzw4uPJFX5mgjs5bH8I8XnlikJczLpE0kH6Pb2mcbxsHIcEGXSi0CcnooNPkILLfxfSoHi9KFNFiQ2Ic86LjseHSIbpO0gJvtdjtSFFanYNpPKFnwY933bY/i6SFOdJEiAA2psIeUDnMu5+xI+XD0ah36AMQVqwnoU8YOs8fOY/iO7MB0jEdiCb7wsLub86kALNiUgumFvNVkvnmH+iM/mwkAbFq9KYyeZUd7eUeJAeMOMJ1tgIMppxFYAGRLvCyxN5DGJU7Lz9FyCznZOwX0J5cdw6rdMXIC0tnH4Pt4S8IOhMEMunuFQuQruVyAzlNqQ/0cXIAzRbZfBWSJDjFiThcZHNPgcgLoXdcc/nehiJvHWRoyikQfEqVBRjs4aslwvh5wQ3JqCpTicESxCpyd097FuCdNBzCh+eg1w84+ieA+RlyemULVaPGO1TsTcejWiSd0ijJ3SQzBfpWar1yPL2XsSwnOzwmSpgF8QIXQ3chMwsWhG1t5PxNpN6FVnePGn3ph+DovMCORmJ9HghyeZ8Cy9ZsMUWm/dLC9K3yItBAVkGPgA87vD+vM5XEHZEMoftnmYd5LcW6P08HqsnshDJKr4dmTkclGXf/kh+10nI7zjGw/hLEHmP28kiguXHuRZUkzKd4Uiy2l0+PrM47dhezrfHZcza8KaPfWNIrs53cnAeVUjxYaGx8NGz52vOG0gZyom4R/tG4W5MGoGbkcjqzbgo6vmZoUxDnlZe+ulkkkR8JgchTh8/vMHmtbwXz/YvkQSooL6QvHnPFdBIHwzim9pqdvI4ciN7XesPAJ5A1si6nY1HI43XL9I8rh/epXtz8J5CPlq+ZGIiXQVmI9IWZxIscjkbmZVkU0/sgh+Dcgibm2Dlkzlp/+9Upp/OzkhY8EfYT9XdyJsAdhsw3biSC9Vf6aAkvbnXaqTwz48+TA0iYH0U0t/4VYJdzKtstl2IrK8vQ5ZjQQnaMeBxMr5LDJP19KODeJDwTz5T+H1JKGqmA3kYLECMg582s39A5ER9UYzVxum8Q1dltNdxF2kGaXz1MmKAUr2LvWARbAYWCAPYxZpHJc3UMyCzW+DNBBOcGo8YlbeQfJT38Of/cqq2PhypMXoIMfJBbsogPYQsZPbVhXbK2Nl6m740Y/hPi9kV93qpGOKgDxKutpCcpu9g02pCA170eBJIntL3kOpqvw/KYxGH7T04F6HaHrRYsZDQZ3q9yh3I09JLSLWM3IQvtRED1jGQBvoT636NvI0sX6YFGDqO6IHuG+4Mu1GBrM1P1DxuNp7Fxn+yXvXnvORvGW2tZamq8CuwdEbnq6dSg8zAnSrKS4C9CWfMhiJRo4uR2fIC3POP/lrMBuUSugsVr2BzwWCPp5VS6qy1nGf8ht8mrqa/1W1FdxlSZm+nuPZ14Vps8mFimDTShyT0ZLW2oALW1UjoNl/yBUd0vtx4rRjrAdqQ3IrrHd6/C/lj9ngM4vSjndHWIupVPxLdHwBrEaGlQjj2ioE/I/6wLiTooJFKNlJZFJLyIQj6uxp4Fx/LxrvIvXaHhrEAWmIUV2Xqs0gx4B9d9rsUZ52UQuHl76i6/sOiXiUYY33J/ubzrFFD7Z62zyF+kXxJCRYLLyINwLqQ3op0L+s/rFfFPMl2JbM3cL54HslZ2QO516Z1/jt0L/EY3pTBcoWBaLjeCxyJxM9f9fjZXwP7IOu7fNeW2Dm4vCikdfOyr6eE7a3PmWjcQxPVTtqoTyFOxHxcgO2IQ3ED4njd0PnvVvRnvzoxB3Esd+slk96KdAfrMxrscx0V+WtKF5TPyS5Cnk3rpBz/Du71yExkHHKfzaTrUnIm0hdpOsFD9GXqi9ryWZ0nl+terwq58TciRmQxEoFYQPgw3p5Ii9AdEUezFlV6GxSS7DWLrn6cGJLSPArnhkrVSMJatyrgGFCKxcmJh5gbG8sAy1FDuQpxVJ8AbBvkC6TRjohcr0AuoFSux3JkqdWITMlT0p19ECf3VsA3kQTCURrOI50vkSemYzLdVwxkD+sNZiYnkkQ5FRtVINnDxSaRmOJTZNn+aZZ9TsE5jf5SpDCwzsOx1gH/QGqvlnk8v0rkfpqKd9lWgHPVF7W+xH0jcoAFDKKVqYmHeCl2CLVWto6dgPzg45HsxW2Q5mTViHe/DHH2tSCGtRkx2F8BK5Ecl6VIvdOHZG8P6kYV8lTbG6kT2YNgkbW5yCxsJi6+gXUMYqz1PPcmJ7KO8qJar0cUd9j4a0Nq6pbKmPVAM137O1cj0+A4YlRiyAzERGaezeRmWdiEtFV4pvPfI5HyilRK9whkSV3D5qLLFmQGtASpVF2E1KHYdqLLRGFhEKeD4nL+RQj/D6vx13Afeh1vAAAAAElFTkSuQmCC) 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,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) 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"],passLog:{urlData:{page:i,source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:i+"_pv"}}})})),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()),i.passLog&&e.logAll&&e.logAll.logPass){var o=i.passLog.urlData||{},s=i.passLog.autoStatisticObj||[];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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_show_faceLogin_pv",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],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_smslogin_link_click",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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLogin_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],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_regLink_click"}}}),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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_question_link_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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginError_request",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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginError_request",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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginError_request",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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginError_request",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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginSuccess_request",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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_faceLoginError_request",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 p=0,u=n.length;u>p;p++)0==n[p].indexOf(c[2])&&n[p]!=c[2]&&(e+='<li><a href="###">'+c[1]+"@"+n[p]+"</a></li>");else for(var p=0,u=n.length;u>p;p++)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 d=i.getElement("username-suggest");$(d).html(e),$(d).is(":hidden")&&$(d).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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"pwdToggle_hidePwd_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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"pwdToggle_showPwd_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 p=c.data;p.username=s.username,p.password=r,p.suppcheck=publicData.suppcheck;try{sessionStorage.setItem("storageData",JSON.stringify(p))}catch(u){}var d="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?"+d}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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"pwdError_cancelClick"}}}),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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"pwdError_getpassClick"}}});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"],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"pwdToggle_showPwd_pwdError"}}}),++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],passLog:{urlData:{page:"login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"login_submit_click",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)},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,l.dv=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",$.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 l=i.getElement("smsvc");l.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")},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 l=new RSAKeyPair("10001","",t.rsa);i.password=encryptedString(l,i.password)}catch(r){}}$.post(apiDomain+"/wp/api/reg/phone?v="+(new Date).getTime(),i,function(l){var r=(new Date).getTime()-o;if(a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_request",ev:[t.module,"request",l.errInfo.no,l.errInfo.msg]}),0==l.errInfo.no){$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide();var d=l.data.xml.replace("<account></account>","<account>"+i.mobilenum+"</account>"),s=l.data||{};s.xml=d,s.from_module=t.module,s.authsid=l.data.authsid||"",s.bdstoken=l.data.bdstoken||"",s.jumpset=l.data.jumpset||"",s.tpl=i.tpl,Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",s)})}else if($(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),l.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(l.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var c='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+l.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="'+l.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(),l.data.no=$(this).attr("data-no"),a.client.deviceClass("action_set_title",{title:t.lang.feedback}),a._getScript("feedback",function(e){e.render("pageWrapper",l.data)})})}else t._validateError({msg:l.errInfo.msg,field:"smsvc"}),$.inArray(l.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",r,l.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 l=$(i.getElement("registerWrapper")).offset().top;$(i.getElement("registerWrapper")).height($(window).height()-l).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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_baidLogin_click",faceLoginCase:a.data.faceLoginCase||"none"}}}),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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_smsLogin_click",faceLoginCase:a.data.faceLoginCase||"none"}}}),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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_reg_click",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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_question_link_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"],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_btn_submit",faceLoginCase:a.data.faceLoginCase||"none"}}}),""!==$(a.getElement("authtoken")).val()&&(0===parseInt(a.data.hasRealName,10)?a.identificationData():a.identification($(a.getElement("authtoken")).val())))},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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_submitError_request",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 l=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_uid", params: ['+JSON.stringify(i)+"]}}")),o=parseInt(l.errno,10);0===o?t&&t(l.callbackkey):n&&n(o,l.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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_submitError_request",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 l=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?l="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(l="刷脸功能获取失败，请重新尝试"),i.setErrorMsg(l)}e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitError_request",ev:[i.module,"request",n.errno,n.errmsg],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_submitError_request",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);if(0==a.errInfo.no)if($("#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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_submitSuccess",faceLoginCase:i.data.faceLoginCase||"none"}}}),"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;else $(".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],passLog:{urlData:{page:"face_login",source:"native",tpl:publicData.tpl},autoStatisticObj:{eventType:"face_login_submitError_request",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>
