论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[13006] 2018-07-31_如何“爆破检测”加密密码字段和存在验证码的Web系统
文档创建者:
s7ckTeam
浏览次数:
5
最后更新:
2025-01-18
IOT
5 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2018-07-31_如何“爆破检测”加密密码字段和存在验证码的Web系统
如
何
“
爆
破
检
测
”
加
密
密
码
字
段
和
存
在
验
证
码
的
W
e
b
系
统
s
h
y
s
t
a
r
t
r
e
e
F
r
e
e
B
u
f
2
0
1
8
-
0
7
-
3
1
*
本
文
原
创
作
者
:
本
文
原
创
作
者
:
s
h
y
s
t
a
r
t
r
e
e
,
本
文
属
,
本
文
属
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
一
、
背
景
一
、
背
景
一
直
想
对
本
人
公
司
所
在
的
某
管
理
平
台
(
下
文
简
称
为
A
平
台
)
进
行
一
下
弱
口
令
检
测
,
但
是
该
平
台
做
了
设
置
验
证
码
(
做
了
一
定
的
干
扰
效
果
)
和
密
码
加
密
等
防
御
措
施
而
无
法
使
用
一
些
常
规
的
爆
破
工
具
进
行
攻
击
。
本
文
将
结
合
在
检
测
过
程
中
遇
到
的
问
题
一
步
步
地
讲
解
如
何
突
破
障
碍
达
到
检
测
的
目
的
,
各
位
读
者
可
以
举
一
反
三
进
行
其
他
系
统
的
爆
破
测
试
。
二
、
寻
找
一
个
简
单
的
爆
破
点
二
、
寻
找
一
个
简
单
的
爆
破
点
A
平
台
算
是
公
司
内
部
的
一
个
通
用
平
台
,
所
以
其
的
账
号
密
码
也
能
在
其
他
系
统
上
登
录
,
但
是
这
些
系
统
多
多
少
少
都
做
了
一
定
的
防
御
,
基
本
都
具
有
密
码
次
数
过
多
封
i
p
、
验
证
码
、
密
码
字
段
加
密
、
请
求
间
隔
时
间
检
测
等
的
爆
破
防
御
,
故
本
文
选
择
了
一
个
仅
仅
拥
有
密
码
字
段
加
密
和
设
置
验
证
码
(
验
证
码
干
扰
量
最
少
)
的
A
平
台
,
如
果
读
者
非
不
得
已
要
突
破
密
码
次
数
过
多
封
i
p
的
防
御
,
可
以
在
本
文
的
基
础
上
加
入
代
理
池
,
如
何
筛
选
出
有
效
的
代
理
池
还
请
自
行
研
究
。
下
面
是
A
平
台
的
p
o
s
t
数
据
:
可
以
见
到
A
平
台
的
密
码
字
段
P
a
s
s
w
o
r
d
是
经
过
前
端
加
密
了
,
可
想
而
知
要
爆
破
这
个
系
统
,
验
证
码
识
别
和
如
何
生
成
这
个
密
文
是
重
点
突
破
点
。
三
、
对
验
证
码
的
机
器
识
别
三
、
对
验
证
码
的
机
器
识
别
一
开
始
,
本
文
使
用
p
y
t
h
o
n
的
p
y
t
e
s
s
e
r
a
c
t
进
行
了
对
A
平
台
的
验
证
码
进
行
测
试
,
删
除
了
干
扰
线
和
灰
化
后
,
依
然
无
法
对
该
验
证
码
图
片
正
确
识
别
,
其
原
因
是
验
证
码
的
字
体
稍
微
做
了
变
形
。
图
为
处
理
完
的
验
证
码
:
其
实
经
过
处
理
后
这
个
验
证
码
看
起
来
已
经
是
很
好
识
别
了
,
不
料
p
y
t
e
s
s
e
r
a
c
t
还
是
无
法
全
部
识
别
成
功
,
如
读
者
还
有
其
他
方
法
能
把
该
图
片
处
理
到
让
p
y
t
e
s
s
e
r
a
c
t
识
别
的
程
度
欢
迎
留
言
交
流
。
很
早
就
听
过
t
e
n
s
o
r
f
l
o
w
这
个
框
架
,
这
个
框
架
是
目
前
最
流
行
的
深
度
学
习
框
架
,
我
们
可
以
用
它
来
搭
建
自
己
的
卷
积
神
经
网
络
并
训
练
自
己
的
分
类
器
,
接
下
来
,
本
文
将
简
要
地
描
述
下
训
练
分
类
器
和
使
用
生
成
好
的
模
型
进
行
识
别
验
证
码
:
3
.
1
收
集
图
片
并
设
置
标
签
收
集
图
片
并
设
置
标
签
为
了
训
练
分
类
器
模
型
,
需
要
从
服
务
器
取
得
一
定
量
的
训
练
图
片
,
本
文
写
了
一
个
脚
本
从
服
务
器
取
了
2
0
0
张
图
片
,
并
花
了
一
个
_
_
R
e
q
u
e
s
t
V
e
r
i
f
i
c
a
t
i
o
n
T
o
k
e
n
=
R
p
P
p
Y
u
K
W
a
6
Z
L
B
9
n
h
R
I
3
n
o
d
0
4
b
a
l
0
n
r
9
N
C
F
k
t
q
A
4
u
F
C
v
V
N
I
4
u
i
1
0
C
L
O
f
1
o
F
F
J
B
g
2
z
h
7
Q
R
I
b
B
_
C
Z
z
i
F
Y
S
B
E
7
_
m
N
u
q
r
1
N
0
l
5
L
W
u
_
r
-
o
Z
S
E
W
N
5
0
1
&
U
s
e
r
I
d
=
0
0
2
3
3
3
&
P
a
s
s
w
o
r
d
=
u
U
N
w
1
C
g
w
V
s
O
z
E
8
f
Z
B
U
U
p
v
W
a
N
G
R
y
q
V
E
e
I
L
R
%
2
F
2
u
e
p
Q
A
2
t
p
2
a
R
P
H
b
J
f
5
u
j
%
2
F
F
%
2
B
p
p
p
%
2
B
8
L
T
l
u
H
r
c
K
P
T
S
l
S
x
v
G
Q
0
J
T
E
B
j
%
2
F
I
8
i
N
K
O
7
4
a
5
P
c
d
O
g
S
M
7
6
I
1
o
8
1
z
Y
P
%
2
B
W
I
d
w
E
U
u
B
7
8
I
S
p
J
K
z
N
1
H
e
m
v
Y
T
l
r
O
i
W
g
Z
9
3
U
j
B
V
2
t
B
t
o
k
6
L
n
i
W
c
o
b
Q
j
5
k
E
%
3
D
&
V
a
l
i
d
a
t
e
C
o
d
e
=
1
1
1
1
&
r
e
m
e
m
b
e
r
M
e
=
t
r
u
e
&
l
o
g
i
n
T
y
p
e
=
C
A
&
C
A
P
a
s
s
w
o
r
d
=
d
e
f
i
n
i
t
T
a
b
l
e
(
t
h
r
e
s
h
o
l
d
=
8
0
)
:
#
二
值
化
函
数
t
a
b
l
e
=
[
]
f
o
r
i
i
n
r
a
n
g
e
(
2
5
6
)
:
i
f
i
<
t
h
r
e
s
h
o
l
d
:
t
a
b
l
e
.
a
p
p
e
n
d
(
0
)
e
l
s
e
:
t
a
b
l
e
.
a
p
p
e
n
d
(
1
)
r
e
t
u
r
n
t
a
b
l
e
i
m
=
I
m
a
g
e
.
o
p
e
n
(
'
v
a
l
c
o
d
e
.
p
n
g
'
)
i
m
=
i
m
.
c
o
n
v
e
r
t
(
'
L
'
)
#
彩
色
图
像
转
化
为
灰
度
图
b
i
n
a
r
y
I
m
a
g
e
=
i
m
.
p
o
i
n
t
(
i
n
i
t
T
a
b
l
e
(
)
,
'
1
'
)
#
删
除
干
扰
线
多
小
时
对
这
些
图
片
进
行
了
码
标
签
(
重
命
名
图
片
文
件
)
。
最
终
码
完
标
签
的
结
果
大
概
是
这
样
:
3
.
2
训
练
分
类
模
型
训
练
分
类
模
型
本
文
主
要
搬
运
t
e
n
s
o
r
f
l
o
w
_
c
n
n
这
里
的
代
码
,
由
于
该
代
码
中
所
使
用
图
片
大
小
为
6
0
1
6
0
,
而
原
始
下
载
保
存
好
的
图
片
大
小
为
2
7
8
8
,
构
建
C
N
N
的
参
数
无
法
适
用
,
为
了
省
心
省
力
,
故
在
生
成
图
片
的
时
候
直
接
把
图
片
调
整
为
6
0
*
1
6
0
。
训
练
模
型
:
运
行
该
脚
本
,
当
训
练
的
准
确
率
大
于
9
9
%
的
时
候
就
会
在
运
行
的
目
录
下
就
会
保
存
c
r
a
c
k
_
c
a
p
c
h
a
.
m
o
d
e
l
-
1
3
0
0
.
d
a
t
a
-
0
0
0
0
0
-
o
f
-
0
0
0
0
1
、
c
r
a
c
k
_
c
a
p
c
h
a
.
m
o
d
e
l
-
1
3
0
0
.
i
n
d
e
x
、
c
r
a
c
k
_
c
a
p
c
h
a
.
m
o
d
e
l
-
1
3
0
0
.
m
e
t
a
这
三
个
文
件
,
本
文
的
机
器
大
概
运
行
了
一
个
半
小
时
。
3
.
3
使
用
模
型
使
用
模
型
经
过
测
试
,
该
模
型
对
于
A
平
台
的
验
证
码
识
别
效
率
还
算
不
错
,
平
均
1
0
次
只
有
1
、
2
次
识
别
错
误
。
好
了
,
现
在
第
一
个
难
点
验
证
码
识
别
已
经
解
决
了
,
接
下
来
将
讲
解
如
何
生
成
密
码
密
文
实
现
自
动
化
爆
破
。
四
、
生
成
靠
谱
的
弱
口
令
字
典
四
、
生
成
靠
谱
的
弱
口
令
字
典
d
e
f
d
o
w
n
l
o
a
d
_
c
a
p
t
c
h
a
(
n
u
m
)
:
b
i
n
a
r
y
I
m
a
g
e
.
c
r
o
p
(
r
e
g
i
o
n
)
f
o
r
i
i
n
r
a
n
g
e
(
n
u
m
)
:
b
i
=
g
e
t
_
c
a
p
t
c
h
a
(
)
#
从
服
务
器
获
取
这
个
验
证
码
c
a
p
t
c
h
a
=
p
y
t
e
s
s
e
r
a
c
t
.
i
m
a
g
e
_
t
o
_
s
t
r
i
n
g
(
b
i
)
#
可
以
识
别
出
部
分
字
符
,
码
的
时
候
可
以
减
少
工
作
量
b
i
.
s
a
v
e
(
"
p
i
c
/
%
s
.
p
n
g
"
%
c
a
p
t
c
h
a
)
#
放
大
图
片
到
6
0
*
1
6
0
,
方
便
训
练
模
型
c
l
a
s
s
i
m
a
g
e
_
a
s
p
e
c
t
(
)
:
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
i
m
a
g
e
_
f
i
l
e
,
a
s
p
e
c
t
_
w
i
d
t
h
,
a
s
p
e
c
t
_
h
e
i
g
h
t
)
:
s
e
l
f
.
i
m
g
=
I
m
a
g
e
.
o
p
e
n
(
i
m
a
g
e
_
f
i
l
e
)
s
e
l
f
.
a
s
p
e
c
t
_
w
i
d
t
h
=
a
s
p
e
c
t
_
w
i
d
t
h
s
e
l
f
.
a
s
p
e
c
t
_
h
e
i
g
h
t
=
a
s
p
e
c
t
_
h
e
i
g
h
t
s
e
l
f
.
r
e
s
u
l
t
_
i
m
a
g
e
=
N
o
n
e
d
e
f
c
h
a
n
g
e
_
a
s
p
e
c
t
_
r
a
t
e
(
s
e
l
f
)
:
i
m
g
_
w
i
d
t
h
=
s
e
l
f
.
i
m
g
.
s
i
z
e
[
0
]
i
m
g
_
h
e
i
g
h
t
=
s
e
l
f
.
i
m
g
.
s
i
z
e
[
1
]
i
f
(
i
m
g
_
w
i
d
t
h
/
i
m
g
_
h
e
i
g
h
t
)
>
(
s
e
l
f
.
a
s
p
e
c
t
_
w
i
d
t
h
/
s
e
l
f
.
a
s
p
e
c
t
_
h
e
i
g
h
t
)
:
r
a
t
e
=
s
e
l
f
.
a
s
p
e
c
t
_
w
i
d
t
h
/
i
m
g
_
w
i
d
t
h
e
l
s
e
:
r
a
t
e
=
s
e
l
f
.
a
s
p
e
c
t
_
h
e
i
g
h
t
/
i
m
g
_
h
e
i
g
h
t
r
a
t
e
=
r
o
u
n
d
(
r
a
t
e
,
1
)
s
e
l
f
.
i
m
g
=
s
e
l
f
.
i
m
g
.
r
e
s
i
z
e
(
(
i
n
t
(
i
m
g
_
w
i
d
t
h
*
r
a
t
e
)
,
i
n
t
(
i
m
g
_
h
e
i
g
h
t
*
r
a
t
e
)
)
)
r
e
t
u
r
n
s
e
l
f
d
e
f
p
a
s
t
_
b
a
c
k
g
r
o
u
n
d
(
s
e
l
f
)
:
s
e
l
f
.
r
e
s
u
l
t
_
i
m
a
g
e
=
I
m
a
g
e
.
n
e
w
(
"
R
G
B
"
,
[
s
e
l
f
.
a
s
p
e
c
t
_
w
i
d
t
h
,
s
e
l
f
.
a
s
p
e
c
t
_
h
e
i
g
h
t
]
,
(
0
,
0
,
0
,
2
5
5
)
)
s
e
l
f
.
r
e
s
u
l
t
_
i
m
a
g
e
.
p
a
s
t
e
(
s
e
l
f
.
i
m
g
,
(
i
n
t
(
(
s
e
l
f
.
a
s
p
e
c
t
_
w
i
d
t
h
-
s
e
l
f
.
i
m
g
.
s
i
z
e
[
0
]
)
/
2
)
,
i
n
t
(
(
s
e
l
f
.
a
s
p
e
c
t
_
h
e
i
g
h
t
-
s
e
l
f
.
i
m
g
.
s
i
z
e
[
1
]
)
/
2
)
)
)
r
e
t
u
r
n
s
e
l
f
d
e
f
s
a
v
e
_
r
e
s
u
l
t
(
s
e
l
f
,
f
i
l
e
_
n
a
m
e
)
:
s
e
l
f
.
r
e
s
u
l
t
_
i
m
a
g
e
.
s
a
v
e
(
f
i
l
e
_
n
a
m
e
)
i
m
a
g
e
_
a
s
p
e
c
t
(
"
v
a
l
c
o
d
e
.
p
n
g
"
,
1
6
0
,
6
0
)
.
c
h
a
n
g
e
_
a
s
p
e
c
t
_
r
a
t
e
(
)
.
p
a
s
t
_
b
a
c
k
g
r
o
u
n
d
(
)
.
s
a
v
e
_
r
e
s
u
l
t
(
"
v
a
l
c
o
d
e
.
p
n
g
"
)
#
c
o
d
i
n
g
:
u
t
f
-
8
i
m
p
o
r
t
n
u
m
p
y
a
s
n
p
i
m
p
o
r
t
t
e
n
s
o
r
f
l
o
w
a
s
t
f
f
r
o
m
P
I
L
i
m
p
o
r
t
I
m
a
g
e
I
M
A
G
E
_
H
E
I
G
H
T
=
6
0
I
M
A
G
E
_
W
I
D
T
H
=
1
6
0
M
A
X
_
C
A
P
T
C
H
A
=
4
n
u
m
b
e
r
=
[
'
0
'
,
'
1
'
,
'
2
'
,
'
3
'
,
'
4
'
,
'
5
'
,
'
6
'
,
'
7
'
,
'
8
'
,
'
9
'
]
a
l
p
h
a
b
e
t
=
[
'
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
'
]
A
L
P
H
A
B
E
T
=
[
'
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
'
]
d
e
f
g
e
t
_
i
m
a
g
e
_
i
n
f
o
(
)
:
i
m
p
o
r
t
o
s
,
r
a
n
d
o
m
a
l
l
_
i
m
a
g
e
=
o
s
.
l
i
s
t
d
i
r
(
"
p
i
c
"
)
a
l
l
_
i
m
a
g
e
.
r
e
m
o
v
e
(
"
.
D
S
_
S
t
o
r
e
"
)
r
a
n
d
o
m
_
f
i
l
e
=
r
a
n
d
o
m
.
r
a
n
d
i
n
t
(
0
,
2
0
0
)
b
a
s
e
=
o
s
.
p
a
t
h
.
b
a
s
e
n
a
m
e
(
"
p
i
c
/
"
+
a
l
l
_
i
m
a
g
e
[
r
a
n
d
o
m
_
f
i
l
e
]
)
n
a
m
e
=
o
s
.
p
a
t
h
.
s
p
l
i
t
e
x
t
(
b
a
s
e
)
[
0
]
i
m
=
I
m
a
g
e
.
o
p
e
n
(
'
p
i
c
/
'
+
a
l
l
_
i
m
a
g
e
[
r
a
n
d
o
m
_
f
i
l
e
]
)
i
m
=
n
p
.
a
r
r
a
y
(
i
m
)
r
e
t
u
r
n
n
a
m
e
,
i
m
#
文
本
转
向
量
c
h
a
r
_
s
e
t
=
n
u
m
b
e
r
+
A
L
P
H
A
B
E
T
+
[
'
_
'
]
#
如
果
验
证
码
长
度
小
于
4
,
'
_
'
用
来
补
齐
C
H
A
R
_
S
E
T
_
L
E
N
=
l
e
n
(
c
h
a
r
_
s
e
t
)
d
e
f
t
e
x
t
2
v
e
c
(
t
e
x
t
)
:
t
e
x
t
_
l
e
n
=
l
e
n
(
t
e
x
t
)
i
f
t
e
x
t
_
l
e
n
>
M
A
X
_
C
A
P
T
C
H
A
:
p
r
i
n
t
t
e
x
t
r
a
i
s
e
V
a
l
u
e
E
r
r
o
r
(
'
验
证
码
最
长
4
个
字
符
'
)
v
e
c
t
o
r
=
n
p
.
z
e
r
o
s
(
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
)
d
e
f
c
h
a
r
2
p
o
s
(
c
)
:
i
f
c
=
=
'
_
'
:
k
=
6
2
r
e
t
u
r
n
k
k
=
o
r
d
(
c
)
-
4
8
i
f
k
>
9
:
k
=
o
r
d
(
c
)
-
5
5
i
f
k
>
3
5
:
k
=
o
r
d
(
c
)
-
6
1
i
f
k
>
6
1
:
r
a
i
s
e
V
a
l
u
e
E
r
r
o
r
(
'
N
o
M
a
p
'
)
r
e
t
u
r
n
k
f
o
r
i
,
c
i
n
e
n
u
m
e
r
a
t
e
(
t
e
x
t
)
:
i
d
x
=
i
*
C
H
A
R
_
S
E
T
_
L
E
N
+
c
h
a
r
2
p
o
s
(
c
)
v
e
c
t
o
r
[
i
d
x
]
=
1
r
e
t
u
r
n
v
e
c
t
o
r
#
向
量
转
回
文
本
d
e
f
v
e
c
2
t
e
x
t
(
v
e
c
)
:
c
h
a
r
_
p
o
s
=
v
e
c
.
n
o
n
z
e
r
o
(
)
[
0
]
t
e
x
t
=
[
]
f
o
r
i
,
c
i
n
e
n
u
m
e
r
a
t
e
(
c
h
a
r
_
p
o
s
)
:
c
h
a
r
_
a
t
_
p
o
s
=
i
#
c
/
6
3
c
h
a
r
_
i
d
x
=
c
%
C
H
A
R
_
S
E
T
_
L
E
N
i
f
c
h
a
r
_
i
d
x
<
1
0
:
c
h
a
r
_
c
o
d
e
=
c
h
a
r
_
i
d
x
+
o
r
d
(
'
0
'
)
e
l
i
f
c
h
a
r
_
i
d
x
<
3
6
:
c
h
a
r
_
c
o
d
e
=
c
h
a
r
_
i
d
x
-
1
0
+
o
r
d
(
'
A
'
)
e
l
i
f
c
h
a
r
_
i
d
x
<
6
2
:
c
h
a
r
_
c
o
d
e
=
c
h
a
r
_
i
d
x
-
3
6
+
o
r
d
(
'
a
'
)
e
l
i
f
c
h
a
r
_
i
d
x
=
=
6
2
:
c
h
a
r
_
c
o
d
e
=
o
r
d
(
'
_
'
)
e
l
s
e
:
r
a
i
s
e
V
a
l
u
e
E
r
r
o
r
(
'
e
r
r
o
r
'
)
t
e
x
t
.
a
p
p
e
n
d
(
c
h
r
(
c
h
a
r
_
c
o
d
e
)
)
r
e
t
u
r
n
"
"
.
j
o
i
n
(
t
e
x
t
)
d
e
f
c
o
n
v
e
r
t
2
g
r
a
y
(
i
m
g
)
:
i
f
l
e
n
(
i
m
g
.
s
h
a
p
e
)
>
2
:
g
r
a
y
=
n
p
.
m
e
a
n
(
i
m
g
,
-
1
)
#
上
面
的
转
法
较
快
,
正
规
转
法
如
下
#
r
,
g
,
b
=
i
m
g
[
:
,
:
,
0
]
,
i
m
g
[
:
,
:
,
1
]
,
i
m
g
[
:
,
:
,
2
]
#
g
r
a
y
=
0
.
2
9
8
9
*
r
+
0
.
5
8
7
0
*
g
+
0
.
1
1
4
0
*
b
r
e
t
u
r
n
g
r
a
y
e
l
s
e
:
r
e
t
u
r
n
i
m
g
"
"
"
c
n
n
在
图
像
大
小
是
2
的
倍
数
时
性
能
最
高
,
如
果
你
用
的
图
像
大
小
不
是
2
的
倍
数
,
可
以
在
图
像
边
缘
补
无
用
像
素
。
n
p
.
p
a
d
(
i
m
a
g
e
【
,
(
(
2
,
3
)
,
(
2
,
2
)
)
,
'
c
o
n
s
t
a
n
t
'
,
c
o
n
s
t
a
n
t
_
v
a
l
u
e
s
=
(
2
5
5
,
)
)
#
在
图
像
上
补
2
行
,
下
补
3
行
,
左
补
2
行
,
右
补
2
行
"
"
"
#
生
成
一
个
训
练
b
a
t
c
h
d
e
f
g
e
t
_
n
e
x
t
_
b
a
t
c
h
(
b
a
t
c
h
_
s
i
z
e
=
1
2
8
)
:
b
a
t
c
h
_
x
=
n
p
.
z
e
r
o
s
(
[
b
a
t
c
h
_
s
i
z
e
,
I
M
A
G
E
_
H
E
I
G
H
T
*
I
M
A
G
E
_
W
I
D
T
H
]
)
b
a
t
c
h
_
y
=
n
p
.
z
e
r
o
s
(
[
b
a
t
c
h
_
s
i
z
e
,
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
]
)
#
有
时
生
成
图
像
大
小
不
是
(
6
0
,
1
6
0
,
3
)
彩
图
才
是
3
d
e
f
w
r
a
p
_
g
e
n
_
c
a
p
t
c
h
a
_
t
e
x
t
_
a
n
d
_
i
m
a
g
e
(
)
:
w
h
i
l
e
T
r
u
e
:
t
e
x
t
,
i
m
a
g
e
=
g
e
t
_
i
m
a
g
e
_
i
n
f
o
(
)
i
f
i
m
a
g
e
.
s
h
a
p
e
=
=
(
6
0
,
1
6
0
,
3
)
:
r
e
t
u
r
n
t
e
x
t
,
i
m
a
g
e
f
o
r
i
i
n
r
a
n
g
e
(
b
a
t
c
h
_
s
i
z
e
)
:
t
e
x
t
,
i
m
a
g
e
=
w
r
a
p
_
g
e
n
_
c
a
p
t
c
h
a
_
t
e
x
t
_
a
n
d
_
i
m
a
g
e
(
)
i
m
a
g
e
=
c
o
n
v
e
r
t
2
g
r
a
y
(
i
m
a
g
e
)
b
a
t
c
h
_
x
[
i
,
:
]
=
i
m
a
g
e
.
f
l
a
t
t
e
n
(
)
/
2
5
5
#
(
i
m
a
g
e
.
f
l
a
t
t
e
n
(
)
-
1
2
8
)
/
1
2
8
m
e
a
n
为
0
b
a
t
c
h
_
y
[
i
,
:
]
=
t
e
x
t
2
v
e
c
(
t
e
x
t
)
r
e
t
u
r
n
b
a
t
c
h
_
x
,
b
a
t
c
h
_
y
#
申
请
占
位
符
按
照
图
片
X
=
t
f
.
p
l
a
c
e
h
o
l
d
e
r
(
t
f
.
f
l
o
a
t
3
2
,
[
N
o
n
e
,
I
M
A
G
E
_
H
E
I
G
H
T
*
I
M
A
G
E
_
W
I
D
T
H
]
)
Y
=
t
f
.
p
l
a
c
e
h
o
l
d
e
r
(
t
f
.
f
l
o
a
t
3
2
,
[
N
o
n
e
,
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
]
)
k
e
e
p
_
p
r
o
b
=
t
f
.
p
l
a
c
e
h
o
l
d
e
r
(
t
f
.
f
l
o
a
t
3
2
)
#
d
r
o
p
o
u
t
d
e
f
c
r
a
c
k
_
c
a
p
t
c
h
a
_
c
n
n
(
w
_
a
l
p
h
a
=
0
.
0
1
,
b
_
a
l
p
h
a
=
0
.
1
)
:
x
=
t
f
.
r
e
s
h
a
p
e
(
X
,
s
h
a
p
e
=
[
-
1
,
I
M
A
G
E
_
H
E
I
G
H
T
,
I
M
A
G
E
_
W
I
D
T
H
,
1
]
)
#
w
_
c
1
_
a
l
p
h
a
=
n
p
.
s
q
r
t
(
2
.
0
/
(
I
M
A
G
E
_
H
E
I
G
H
T
*
I
M
A
G
E
_
W
I
D
T
H
)
)
#
#
w
_
c
2
_
a
l
p
h
a
=
n
p
.
s
q
r
t
(
2
.
0
/
(
3
*
3
*
3
2
)
)
#
w
_
c
3
_
a
l
p
h
a
=
n
p
.
s
q
r
t
(
2
.
0
/
(
3
*
3
*
6
4
)
)
#
w
_
d
1
_
a
l
p
h
a
=
n
p
.
s
q
r
t
(
2
.
0
/
(
8
*
3
2
*
6
4
)
)
#
o
u
t
_
a
l
p
h
a
=
n
p
.
s
q
r
t
(
2
.
0
/
1
0
2
4
)
#
3
c
o
n
v
l
a
y
e
r
w
_
c
1
=
t
f
.
V
a
r
i
a
b
l
e
(
w
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
3
,
3
,
1
,
3
2
]
)
)
b
_
c
1
=
t
f
.
V
a
r
i
a
b
l
e
(
b
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
3
2
]
)
)
c
o
n
v
1
=
t
f
.
n
n
.
r
e
l
u
(
t
f
.
n
n
.
b
i
a
s
_
a
d
d
(
t
f
.
n
n
.
c
o
n
v
2
d
(
x
,
w
_
c
1
,
s
t
r
i
d
e
s
=
[
1
,
1
,
1
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
,
b
_
c
1
)
)
c
o
n
v
1
=
t
f
.
n
n
.
m
a
x
_
p
o
o
l
(
c
o
n
v
1
,
k
s
i
z
e
=
[
1
,
2
,
2
,
1
]
,
s
t
r
i
d
e
s
=
[
1
,
2
,
2
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
c
o
n
v
1
=
t
f
.
n
n
.
d
r
o
p
o
u
t
(
c
o
n
v
1
,
k
e
e
p
_
p
r
o
b
)
w
_
c
2
=
t
f
.
V
a
r
i
a
b
l
e
(
w
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
3
,
3
,
3
2
,
6
4
]
)
)
b
_
c
2
=
t
f
.
V
a
r
i
a
b
l
e
(
b
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
6
4
]
)
)
c
o
n
v
2
=
t
f
.
n
n
.
r
e
l
u
(
t
f
.
n
n
.
b
i
a
s
_
a
d
d
(
t
f
.
n
n
.
c
o
n
v
2
d
(
c
o
n
v
1
,
w
_
c
2
,
s
t
r
i
d
e
s
=
[
1
,
1
,
1
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
,
b
_
c
2
)
)
c
o
n
v
2
=
t
f
.
n
n
.
m
a
x
_
p
o
o
l
(
c
o
n
v
2
,
k
s
i
z
e
=
[
1
,
2
,
2
,
1
]
,
s
t
r
i
d
e
s
=
[
1
,
2
,
2
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
c
o
n
v
2
=
t
f
.
n
n
.
d
r
o
p
o
u
t
(
c
o
n
v
2
,
k
e
e
p
_
p
r
o
b
)
w
_
c
3
=
t
f
.
V
a
r
i
a
b
l
e
(
w
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
3
,
3
,
6
4
,
6
4
]
)
)
b
_
c
3
=
t
f
.
V
a
r
i
a
b
l
e
(
b
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
6
4
]
)
)
c
o
n
v
3
=
t
f
.
n
n
.
r
e
l
u
(
t
f
.
n
n
.
b
i
a
s
_
a
d
d
(
t
f
.
n
n
.
c
o
n
v
2
d
(
c
o
n
v
2
,
w
_
c
3
,
s
t
r
i
d
e
s
=
[
1
,
1
,
1
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
,
b
_
c
3
)
)
c
o
n
v
3
=
t
f
.
n
n
.
m
a
x
_
p
o
o
l
(
c
o
n
v
3
,
k
s
i
z
e
=
[
1
,
2
,
2
,
1
]
,
s
t
r
i
d
e
s
=
[
1
,
2
,
2
,
1
]
,
p
a
d
d
i
n
g
=
'
S
A
M
E
'
)
c
o
n
v
3
=
t
f
.
n
n
.
d
r
o
p
o
u
t
(
c
o
n
v
3
,
k
e
e
p
_
p
r
o
b
)
#
F
u
l
l
y
c
o
n
n
e
c
t
e
d
l
a
y
e
r
w
_
d
=
t
f
.
V
a
r
i
a
b
l
e
(
w
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
8
*
2
0
*
6
4
,
1
0
2
4
]
)
)
b
_
d
=
t
f
.
V
a
r
i
a
b
l
e
(
b
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
1
0
2
4
]
)
)
d
e
n
s
e
=
t
f
.
r
e
s
h
a
p
e
(
c
o
n
v
3
,
[
-
1
,
w
_
d
.
g
e
t
_
s
h
a
p
e
(
)
.
a
s
_
l
i
s
t
(
)
[
0
]
]
)
d
e
n
s
e
=
t
f
.
n
n
.
r
e
l
u
(
t
f
.
a
d
d
(
t
f
.
m
a
t
m
u
l
(
d
e
n
s
e
,
w
_
d
)
,
b
_
d
)
)
d
e
n
s
e
=
t
f
.
n
n
.
d
r
o
p
o
u
t
(
d
e
n
s
e
,
k
e
e
p
_
p
r
o
b
)
w
_
o
u
t
=
t
f
.
V
a
r
i
a
b
l
e
(
w
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
1
0
2
4
,
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
]
)
)
b
_
o
u
t
=
t
f
.
V
a
r
i
a
b
l
e
(
b
_
a
l
p
h
a
*
t
f
.
r
a
n
d
o
m
_
n
o
r
m
a
l
(
[
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
]
)
)
o
u
t
=
t
f
.
a
d
d
(
t
f
.
m
a
t
m
u
l
(
d
e
n
s
e
,
w
_
o
u
t
)
,
b
_
o
u
t
)
r
e
t
u
r
n
o
u
t
#
训
练
d
e
f
t
r
a
i
n
_
c
r
a
c
k
_
c
a
p
t
c
h
a
_
c
n
n
(
)
:
o
u
t
p
u
t
=
c
r
a
c
k
_
c
a
p
t
c
h
a
_
c
n
n
(
)
#
l
o
s
s
=
t
f
.
r
e
d
u
c
e
_
m
e
a
n
(
t
f
.
n
n
.
s
o
f
t
m
a
x
_
c
r
o
s
s
_
e
n
t
r
o
p
y
_
w
i
t
h
_
l
o
g
i
t
s
(
o
u
t
p
u
t
,
Y
)
)
l
o
s
s
=
t
f
.
r
e
d
u
c
e
_
m
e
a
n
(
t
f
.
n
n
.
s
i
g
m
o
i
d
_
c
r
o
s
s
_
e
n
t
r
o
p
y
_
w
i
t
h
_
l
o
g
i
t
s
(
l
o
g
i
t
s
=
o
u
t
p
u
t
,
l
a
b
e
l
s
=
Y
)
)
#
最
后
一
层
用
来
分
类
的
s
o
f
t
m
a
x
和
s
i
g
m
o
i
d
有
什
么
不
同
?
#
o
p
t
i
m
i
z
e
r
为
了
加
快
训
练
l
e
a
r
n
i
n
g
_
r
a
t
e
应
该
开
始
大
,
然
后
慢
慢
衰
o
p
t
i
m
i
z
e
r
=
t
f
.
t
r
a
i
n
.
A
d
a
m
O
p
t
i
m
i
z
e
r
(
l
e
a
r
n
i
n
g
_
r
a
t
e
=
0
.
0
0
1
)
.
m
i
n
i
m
i
z
e
(
l
o
s
s
)
p
r
e
d
i
c
t
=
t
f
.
r
e
s
h
a
p
e
(
o
u
t
p
u
t
,
[
-
1
,
M
A
X
_
C
A
P
T
C
H
A
,
C
H
A
R
_
S
E
T
_
L
E
N
]
)
m
a
x
_
i
d
x
_
p
=
t
f
.
a
r
g
m
a
x
(
p
r
e
d
i
c
t
,
2
)
m
a
x
_
i
d
x
_
l
=
t
f
.
a
r
g
m
a
x
(
t
f
.
r
e
s
h
a
p
e
(
Y
,
[
-
1
,
M
A
X
_
C
A
P
T
C
H
A
,
C
H
A
R
_
S
E
T
_
L
E
N
]
)
,
2
)
c
o
r
r
e
c
t
_
p
r
e
d
=
t
f
.
e
q
u
a
l
(
m
a
x
_
i
d
x
_
p
,
m
a
x
_
i
d
x
_
l
)
a
c
c
u
r
a
c
y
=
t
f
.
r
e
d
u
c
e
_
m
e
a
n
(
t
f
.
c
a
s
t
(
c
o
r
r
e
c
t
_
p
r
e
d
,
t
f
.
f
l
o
a
t
3
2
)
)
s
a
v
e
r
=
t
f
.
t
r
a
i
n
.
S
a
v
e
r
(
)
w
i
t
h
t
f
.
S
e
s
s
i
o
n
(
)
a
s
s
e
s
s
:
s
e
s
s
.
r
u
n
(
t
f
.
g
l
o
b
a
l
_
v
a
r
i
a
b
l
e
s
_
i
n
i
t
i
a
l
i
z
e
r
(
)
)
s
t
e
p
=
0
w
h
i
l
e
T
r
u
e
:
b
a
t
c
h
_
x
,
b
a
t
c
h
_
y
=
g
e
t
_
n
e
x
t
_
b
a
t
c
h
(
1
3
)
_
,
l
o
s
s
_
=
s
e
s
s
.
r
u
n
(
[
o
p
t
i
m
i
z
e
r
,
l
o
s
s
]
,
f
e
e
d
_
d
i
c
t
=
{
X
:
b
a
t
c
h
_
x
,
Y
:
b
a
t
c
h
_
y
,
k
e
e
p
_
p
r
o
b
:
0
.
6
6
}
)
p
r
i
n
t
(
s
t
e
p
,
l
o
s
s
_
)
#
每
1
0
0
s
t
e
p
计
算
一
次
准
确
率
i
f
s
t
e
p
%
1
0
0
=
=
0
:
b
a
t
c
h
_
x
_
t
e
s
t
,
b
a
t
c
h
_
y
_
t
e
s
t
=
g
e
t
_
n
e
x
t
_
b
a
t
c
h
(
3
3
)
a
c
c
=
s
e
s
s
.
r
u
n
(
a
c
c
u
r
a
c
y
,
f
e
e
d
_
d
i
c
t
=
{
X
:
b
a
t
c
h
_
x
_
t
e
s
t
,
Y
:
b
a
t
c
h
_
y
_
t
e
s
t
,
k
e
e
p
_
p
r
o
b
:
1
.
}
)
p
r
i
n
t
(
"
s
e
t
p
、
a
c
c
u
r
a
c
y
:
"
,
s
t
e
p
,
a
c
c
)
#
如
果
准
确
率
大
于
9
9
%
,
保
存
模
型
,
完
成
训
练
i
f
a
c
c
>
0
.
9
9
:
s
a
v
e
r
.
s
a
v
e
(
s
e
s
s
,
"
c
r
a
c
k
_
c
a
p
c
h
a
.
m
o
d
e
l
"
,
g
l
o
b
a
l
_
s
t
e
p
=
s
t
e
p
)
b
r
e
a
k
s
t
e
p
+
=
1
i
f
_
_
n
a
m
e
_
_
=
=
"
_
_
m
a
i
n
_
_
"
:
t
r
a
i
n
_
c
r
a
c
k
_
c
a
p
t
c
h
a
_
c
n
n
(
)
d
e
f
c
r
a
c
k
_
c
a
p
t
c
h
a
(
o
u
t
p
u
t
,
c
a
p
t
c
h
a
_
i
m
a
g
e
)
:
s
a
v
e
r
=
t
f
.
t
r
a
i
n
.
S
a
v
e
r
(
)
w
i
t
h
t
f
.
S
e
s
s
i
o
n
(
)
a
s
s
e
s
s
:
s
a
v
e
r
.
r
e
s
t
o
r
e
(
s
e
s
s
,
t
f
.
t
r
a
i
n
.
l
a
t
e
s
t
_
c
h
e
c
k
p
o
i
n
t
(
'
.
'
)
)
p
r
e
d
i
c
t
=
t
f
.
a
r
g
m
a
x
(
t
f
.
r
e
s
h
a
p
e
(
o
u
t
p
u
t
,
[
-
1
,
M
A
X
_
C
A
P
T
C
H
A
,
C
H
A
R
_
S
E
T
_
L
E
N
]
)
,
2
)
t
e
x
t
_
l
i
s
t
=
s
e
s
s
.
r
u
n
(
p
r
e
d
i
c
t
,
f
e
e
d
_
d
i
c
t
=
{
X
:
[
c
a
p
t
c
h
a
_
i
m
a
g
e
]
,
k
e
e
p
_
p
r
o
b
:
1
}
)
t
e
x
t
=
t
e
x
t
_
l
i
s
t
[
0
]
.
t
o
l
i
s
t
(
)
v
e
c
t
o
r
=
n
p
.
z
e
r
o
s
(
M
A
X
_
C
A
P
T
C
H
A
*
C
H
A
R
_
S
E
T
_
L
E
N
)
i
=
0
f
o
r
n
i
n
t
e
x
t
:
v
e
c
t
o
r
[
i
*
C
H
A
R
_
S
E
T
_
L
E
N
+
n
]
=
1
i
+
=
1
p
r
e
d
i
c
t
_
t
e
x
t
=
v
e
c
2
t
e
x
t
(
v
e
c
t
o
r
)
r
e
t
u
r
n
p
r
e
d
i
c
t
_
t
e
x
t
这
步
应
该
是
这
次
爆
破
的
关
键
,
能
否
最
终
爆
破
出
正
确
的
密
码
也
是
看
字
典
的
质
量
。
除
了
检
测
一
些
常
见
的
弱
口
令
(
t
o
p
1
0
0
)
外
,
还
应
该
根
据
姓
名
、
出
生
年
月
、
手
机
号
生
成
一
系
列
的
社
工
字
典
。
于
是
,
本
文
首
先
整
理
一
份
包
含
所
有
员
工
的
姓
名
、
身
份
证
号
、
手
机
号
、
邮
箱
的
e
x
c
e
l
文
档
。
首
先
处
理
每
个
员
工
的
信
息
,
关
于
如
何
处
理
信
息
,
本
文
的
做
法
是
:
若
姓
名
为
凌
星
星
的
人
,
将
返
回
l
x
x
、
L
x
x
、
L
i
n
、
L
I
N
、
l
i
n
x
i
n
x
i
n
;
若
公
司
为
f
r
e
e
b
u
f
,
将
返
回
f
r
e
e
b
u
f
、
f
b
若
手
机
号
为
1
0
0
0
0
0
0
0
0
8
6
,
将
返
回
1
0
0
0
0
0
0
0
0
8
6
、
0
0
8
6
;
从
身
份
证
号
提
取
出
出
生
年
月
,
若
出
生
年
月
为
1
9
9
2
1
2
2
8
,
将
返
回
1
9
9
2
1
2
2
8
9
9
2
1
2
2
8
1
2
2
8
;
然
后
根
据
处
理
后
的
信
息
生
成
对
应
的
弱
口
令
,
本
文
生
成
的
社
工
弱
口
令
字
典
主
要
包
含
三
种
:
字
母
(
姓
名
、
公
司
名
等
)
+
特
殊
字
符
(
@
、
#
、
、
-
等
)
+
数
字
(
手
机
号
、
出
生
日
期
、
常
见
的
连
续
数
字
、
年
份
等
)
、
字
母
(
姓
名
、
公
司
名
等
)
+
数
字
(
手
机
号
、
出
生
日
期
、
常
见
的
连
续
数
字
、
年
份
等
)
+
特
殊
字
符
(
@
、
#
、
等
)
、
字
母
(
姓
名
、
公
司
名
等
)
+
数
字
(
手
机
号
、
出
生
日
期
、
常
见
的
连
续
数
字
、
年
份
等
)
。
考
虑
到
正
常
人
的
习
惯
,
一
般
人
很
少
把
数
字
和
特
殊
字
符
作
为
开
头
,
故
去
掉
数
字
和
特
殊
字
符
开
头
的
。
最
后
加
上
t
o
p
1
0
0
的
弱
口
令
,
每
个
员
工
生
成
对
应
的
弱
口
令
达
3
0
0
0
个
。
图
为
生
成
字
典
的
结
果
:
五
、
对
加
密
字
段
的
探
索
五
、
对
加
密
字
段
的
探
索
#
获
取
常
见
的
生
日
后
缀
#
若
对
应
1
9
9
2
1
2
2
8
输
出
1
9
9
2
1
2
2
8
9
9
2
1
2
2
8
1
2
2
8
d
e
f
g
e
t
b
r
i
t
h
l
i
s
t
(
s
e
l
f
,
i
n
d
e
x
)
:
i
f
s
e
l
f
.
b
i
r
t
h
l
i
s
t
:
b
i
r
t
h
=
s
e
l
f
.
b
i
r
t
h
l
i
s
t
[
i
n
d
e
x
]
.
s
t
r
i
p
(
)
e
l
s
e
:
r
e
t
u
r
n
[
]
i
f
l
e
n
(
b
i
r
t
h
)
>
4
:
r
e
t
u
r
n
[
b
i
r
t
h
,
b
i
r
t
h
[
2
:
]
,
b
i
r
t
h
[
4
:
]
,
b
i
r
t
h
[
:
4
]
]
e
l
s
e
:
r
e
t
u
r
n
[
]
#
获
取
手
机
号
后
四
位
d
e
f
g
e
t
p
h
o
n
e
l
i
s
t
(
s
e
l
f
,
i
n
d
e
x
)
:
t
r
y
:
p
h
o
n
e
=
s
e
l
f
.
p
h
o
n
e
l
i
s
t
[
i
n
d
e
x
]
p
_
p
h
o
n
e
=
r
e
.
c
o
m
p
i
l
e
(
r
'
(
1
3
[
0
-
9
]
d
{
8
}
|
1
4
[
0
-
9
]
d
{
8
}
|
1
5
[
0
-
9
]
d
{
8
}
|
1
8
[
0
-
9
]
d
{
8
}
)
'
)
p
h
o
n
e
=
p
_
p
h
o
n
e
.
f
i
n
d
a
l
l
(
p
h
o
n
e
)
[
0
]
.
s
t
r
i
p
(
)
r
e
t
u
r
n
[
p
h
o
n
e
,
p
h
o
n
e
[
-
4
:
]
]
e
x
c
e
p
t
E
x
c
e
p
t
i
o
n
:
r
e
t
u
r
n
[
]
p
i
n
y
i
n
_
l
i
s
t
=
[
'
a
d
m
i
n
i
s
t
r
a
t
o
r
'
,
'
a
d
m
i
n
'
,
'
t
e
s
t
'
,
'
a
'
,
'
a
i
'
,
'
a
n
'
,
'
a
n
g
'
,
'
a
o
'
,
'
b
a
'
,
'
b
a
i
'
,
'
b
a
n
'
,
'
b
a
n
g
'
,
'
b
a
o
'
,
'
b
e
i
'
,
'
b
e
n
'
,
'
b
e
n
g
'
,
'
b
i
'
,
'
b
i
a
n
'
,
'
b
i
a
o
'
,
'
b
i
e
'
,
'
b
i
n
'
,
'
b
i
n
g
'
,
'
b
o
'
,
'
b
u
'
,
'
c
a
'
,
'
c
a
i
'
,
'
c
a
n
'
,
'
c
a
n
g
'
,
'
c
a
o
'
,
'
c
e
'
,
'
c
e
n
'
,
'
c
e
n
g
'
,
'
c
h
a
'
,
'
c
h
a
i
'
,
'
c
h
a
n
'
,
'
c
h
a
n
g
'
,
'
c
h
a
o
'
,
'
c
h
e
'
,
'
c
h
e
n
'
,
'
c
h
e
n
g
'
,
'
c
h
i
'
,
'
c
h
o
n
g
'
,
'
c
h
o
u
'
,
'
c
h
u
'
,
'
c
h
u
a
i
'
,
'
c
h
u
a
n
'
,
'
c
h
u
a
n
g
'
,
'
c
h
u
i
'
,
'
c
h
u
n
'
,
'
c
h
u
o
'
,
'
c
i
'
,
'
c
o
n
g
'
,
'
c
o
u
'
,
'
c
u
'
,
'
c
u
a
n
'
,
'
c
u
i
'
,
'
c
u
n
'
,
'
c
u
o
'
,
'
d
a
'
,
'
d
a
i
'
,
'
d
a
n
'
,
'
d
a
n
g
'
,
'
d
a
o
'
,
'
d
e
'
,
'
d
e
i
'
,
'
d
e
n
g
'
,
'
d
i
'
,
'
d
i
a
n
'
,
'
d
i
a
o
'
,
'
d
i
e
'
,
'
d
i
n
g
'
,
'
d
i
u
'
,
'
d
o
n
g
'
,
'
d
o
u
'
,
'
d
u
'
,
'
d
u
a
n
'
,
'
d
u
i
'
,
'
d
u
n
'
,
'
d
u
o
'
,
'
e
'
,
'
e
n
'
,
'
e
r
'
,
'
f
a
'
,
'
f
a
n
'
,
'
f
a
n
g
'
,
'
f
e
i
'
,
'
f
e
n
'
,
'
f
e
n
g
'
,
'
f
o
'
,
'
f
o
u
'
,
'
f
u
'
,
'
g
a
'
,
'
g
a
i
'
,
'
g
a
n
'
,
'
g
a
n
g
'
,
'
g
a
o
'
,
'
g
e
'
,
'
g
e
i
'
,
'
g
e
n
'
,
'
g
e
n
g
'
,
'
g
o
n
g
'
,
'
g
o
u
'
,
'
g
u
'
,
'
g
u
a
'
,
'
g
u
a
i
'
,
'
g
u
a
n
'
,
'
g
u
a
n
g
'
,
'
g
u
i
'
,
'
g
u
n
'
,
'
g
u
o
'
,
'
h
a
'
,
'
h
a
i
'
,
'
h
a
n
'
,
'
h
a
n
g
'
,
'
h
a
o
'
,
'
h
e
'
,
'
h
e
i
'
,
'
h
e
n
'
,
'
h
e
n
g
'
,
'
h
o
n
g
'
,
'
h
o
u
'
,
'
h
u
'
,
'
h
u
a
'
,
'
h
u
a
i
'
,
'
h
u
a
n
'
,
'
h
u
a
n
g
'
,
'
h
u
i
'
,
'
h
u
n
'
,
'
h
u
o
'
,
'
j
i
'
,
'
j
i
a
'
,
'
j
i
a
n
'
,
'
j
i
a
n
g
'
,
'
j
i
a
o
'
,
'
j
i
e
'
,
'
j
i
n
'
,
'
j
i
n
g
'
,
'
j
i
o
n
g
'
,
'
j
i
u
'
,
'
j
u
'
,
'
j
u
a
n
'
,
'
j
u
e
'
,
'
j
u
n
'
,
'
k
a
'
,
'
k
a
i
'
,
'
k
a
n
'
,
'
k
a
n
g
'
,
'
k
a
o
'
,
'
k
e
'
,
'
k
e
n
'
,
'
k
e
n
g
'
,
'
k
o
n
g
'
,
'
k
o
u
'
,
'
k
u
'
,
'
k
u
a
'
,
'
k
u
a
i
'
,
'
k
u
a
n
'
,
'
k
u
a
n
g
'
,
'
k
u
i
'
,
'
k
u
n
'
,
'
k
u
o
'
,
'
l
a
'
,
'
l
a
i
'
,
'
l
a
n
'
,
'
l
a
n
g
'
,
'
l
a
o
'
,
'
l
e
'
,
'
l
e
i
'
,
'
l
e
n
g
'
,
'
l
i
'
,
'
l
i
a
'
,
'
l
i
a
n
'
,
'
l
i
a
n
g
'
,
'
l
i
a
o
'
,
'
l
i
e
'
,
'
l
i
n
'
,
'
l
i
n
g
'
,
'
l
i
u
'
,
'
l
o
n
g
'
,
'
l
o
u
'
,
'
l
u
'
,
'
l
u
u
'
,
'
l
u
a
n
'
,
'
l
u
u
e
'
,
'
l
u
n
'
,
'
l
u
o
'
,
'
m
a
'
,
'
m
a
i
'
,
'
m
a
n
'
,
'
m
a
n
g
'
,
'
m
a
o
'
,
'
m
e
'
,
'
m
e
i
'
,
'
m
e
n
'
,
'
m
e
n
g
'
,
'
m
i
'
,
'
m
i
a
n
'
,
'
m
i
a
o
'
,
'
m
i
e
'
,
'
m
i
n
'
,
'
m
i
n
g
'
,
'
m
i
u
'
,
'
m
o
'
,
'
m
o
u
'
,
'
m
u
'
,
'
n
a
'
,
'
n
a
i
'
,
'
n
a
n
'
,
'
n
a
n
g
'
,
'
n
a
o
'
,
'
n
e
'
,
'
n
e
i
'
,
'
n
e
n
'
,
'
n
e
n
g
'
,
'
n
i
'
,
'
n
i
a
n
'
,
'
n
i
a
n
g
'
,
'
n
i
a
o
'
,
'
n
i
e
'
,
'
n
i
n
'
,
'
n
i
n
g
'
,
'
n
i
u
'
,
'
n
o
n
g
'
,
'
n
u
'
,
'
n
u
u
'
,
'
n
u
a
n
'
,
'
n
u
u
e
'
,
'
n
u
o
'
,
'
o
'
,
'
o
u
'
,
'
p
a
'
,
'
p
a
i
'
,
'
p
a
n
'
,
'
p
a
n
g
'
,
'
p
a
o
'
,
'
p
e
i
'
,
'
p
e
n
'
,
'
p
e
n
g
'
,
'
p
i
'
,
'
p
i
a
n
'
,
'
p
i
a
o
'
,
'
p
i
e
'
,
'
p
i
n
'
,
'
p
i
n
g
'
,
'
p
o
'
,
'
p
o
u
'
,
'
p
u
'
,
'
q
i
'
,
'
q
i
a
'
,
'
q
i
a
n
'
,
'
q
i
a
n
g
'
,
'
q
i
a
o
'
,
'
q
i
e
'
,
'
q
i
n
'
,
'
q
i
n
g
'
,
'
q
i
o
n
g
'
,
'
q
i
u
'
,
'
q
u
'
,
'
q
u
a
n
'
,
'
q
u
e
'
,
'
q
u
n
'
,
'
r
a
n
'
,
'
r
a
n
g
'
,
'
r
a
o
'
,
'
r
e
'
,
'
r
e
n
'
,
'
r
e
n
g
'
,
'
r
i
'
,
'
r
o
n
g
'
,
'
r
o
u
'
,
'
r
u
'
,
'
r
u
a
n
'
,
'
r
u
i
'
,
'
r
u
n
'
,
'
r
u
o
'
,
'
s
a
'
,
'
s
a
i
'
,
'
s
a
n
'
,
'
s
a
n
g
'
,
'
s
a
o
'
,
'
s
e
'
,
'
s
e
n
'
,
'
s
e
n
g
'
,
'
s
h
a
'
,
'
s
h
a
i
'
,
'
s
h
a
n
'
,
'
s
h
a
n
g
'
,
'
s
h
a
o
'
,
'
s
h
e
'
,
'
s
h
e
i
'
,
'
s
h
e
n
'
,
'
s
h
e
n
g
'
,
'
s
h
i
'
,
'
s
h
o
u
'
,
'
s
h
u
'
,
'
s
h
u
a
'
,
'
s
h
u
a
i
'
,
'
s
h
u
a
n
'
,
'
s
h
u
a
n
g
'
,
'
s
h
u
i
'
,
'
s
h
u
n
'
,
'
s
h
u
o
'
,
'
s
i
'
,
'
s
o
n
g
'
,
'
s
o
u
'
,
'
s
u
'
,
'
s
u
a
n
'
,
'
s
u
i
'
,
'
s
u
n
'
,
'
s
u
o
'
,
'
t
a
'
,
'
t
a
i
'
,
'
t
a
n
'
,
'
t
a
n
g
'
,
'
t
a
o
'
,
'
t
e
'
,
'
t
e
n
g
'
,
'
t
i
'
,
'
t
i
a
n
'
,
'
t
i
a
o
'
,
'
t
i
e
'
,
'
t
i
n
g
'
,
'
t
o
n
g
'
,
'
t
o
u
'
,
'
t
u
'
,
'
t
u
a
n
'
,
'
t
u
i
'
,
'
t
u
n
'
,
'
t
u
o
'
,
'
w
a
'
,
'
w
a
i
'
,
'
w
a
n
'
,
'
w
a
n
g
'
,
'
w
e
i
'
,
'
w
e
n
'
,
'
w
e
n
g
'
,
'
w
o
'
,
'
w
u
'
,
'
x
i
'
,
'
x
i
a
'
,
'
x
i
a
n
'
,
'
x
i
a
n
g
'
,
'
x
i
a
o
'
,
'
x
i
e
'
,
'
x
i
n
'
,
'
x
i
n
g
'
,
'
x
i
o
n
g
'
,
'
x
i
u
'
,
'
x
u
'
,
'
x
u
a
n
'
,
'
x
u
e
'
,
'
x
u
n
'
,
'
y
a
'
,
'
y
a
i
'
,
'
y
a
n
'
,
'
y
a
n
g
'
,
'
y
a
o
'
,
'
y
e
'
,
'
y
i
'
,
'
y
i
n
'
,
'
y
i
n
g
'
,
'
y
o
n
g
'
,
'
y
o
u
'
,
'
y
u
'
,
'
y
u
a
n
'
,
'
y
u
e
'
,
'
y
u
n
'
,
'
z
a
'
,
'
z
a
i
'
,
'
z
a
n
'
,
'
z
a
n
g
'
,
'
z
a
o
'
,
'
z
e
'
,
'
z
e
i
'
,
'
z
e
n
'
,
'
z
e
n
g
'
,
'
z
h
a
'
,
'
z
h
a
i
'
,
'
z
h
a
n
'
,
'
z
h
a
n
g
'
,
'
z
h
a
o
'
,
'
z
h
e
'
,
'
z
h
e
i
'
,
'
z
h
e
n
'
,
'
z
h
e
n
g
'
,
'
z
h
i
'
,
'
z
h
o
n
g
'
,
'
z
h
o
u
'
,
'
z
h
u
'
,
'
z
h
u
a
'
,
'
z
h
u
a
i
'
,
'
z
h
u
a
n
'
,
'
z
h
u
a
n
g
'
,
'
z
h
u
i
'
,
'
z
h
u
n
'
,
'
z
h
u
o
'
,
'
z
i
'
,
'
z
o
n
g
'
,
'
z
o
u
'
,
'
z
u
'
,
'
z
u
a
n
'
,
'
z
u
i
'
,
'
z
u
n
'
,
'
z
u
o
'
]
s
a
v
e
D
a
t
a
(
p
i
n
y
i
n
_
l
i
s
t
,
'
.
/
p
i
n
y
i
n
.
t
x
t
'
)
j
i
e
b
a
.
l
o
a
d
_
u
s
e
r
d
i
c
t
(
'
.
/
p
i
n
y
i
n
.
t
x
t
'
)
#
输
入
中
文
或
者
英
文
名
,
输
出
拼
音
d
e
f
g
e
t
P
i
n
y
i
n
(
s
e
l
f
,
n
a
m
e
)
:
i
f
n
a
m
e
.
i
s
a
l
p
h
a
(
)
:
n
a
m
e
=
n
a
m
e
.
l
o
w
e
r
(
)
p
y
_
l
i
s
t
=
[
s
t
r
(
x
)
f
o
r
x
i
n
j
i
e
b
a
.
c
u
t
(
n
a
m
e
)
]
e
l
s
e
:
n
a
m
e
=
n
a
m
e
.
d
e
c
o
d
e
(
'
u
t
f
-
8
'
)
p
y
_
l
i
s
t
=
[
s
t
r
(
x
)
f
o
r
x
i
n
p
i
n
y
i
n
.
g
e
t
(
n
a
m
e
,
f
o
r
m
a
t
=
"
s
t
r
i
p
"
,
d
e
l
i
m
i
t
e
r
=
"
-
"
)
.
s
p
l
i
t
(
"
-
"
)
]
r
e
t
u
r
n
p
y
_
l
i
s
t
#
字
典
中
常
见
姓
名
拼
音
的
组
合
:
l
x
x
、
L
x
x
、
L
I
N
、
l
i
n
、
L
i
n
d
e
f
g
e
t
p
y
l
i
s
t
(
s
e
l
f
,
s
t
r
)
:
p
y
l
i
s
t
=
[
]
p
i
n
y
i
n
=
s
e
l
f
.
g
e
t
P
i
n
y
i
n
(
s
t
r
)
p
y
s
t
r
=
"
"
.
j
o
i
n
(
p
i
n
y
i
n
)
p
y
l
e
n
=
l
e
n
(
p
y
s
t
r
)
i
f
p
y
l
e
n
<
=
6
:
p
y
l
i
s
t
.
a
p
p
e
n
d
(
p
y
s
t
r
)
i
f
l
e
n
(
p
i
n
y
i
n
)
=
=
3
:
p
y
l
i
s
t
.
a
p
p
e
n
d
(
p
i
n
y
i
n
[
1
]
+
p
i
n
y
i
n
[
2
]
)
e
l
i
f
l
e
n
(
p
i
n
y
i
n
)
>
3
:
p
y
l
i
s
t
.
a
p
p
e
n
d
(
p
i
n
y
i
n
[
0
]
+
p
i
n
y
i
n
[
1
]
)
p
i
n
y
i
n
[
0
]
=
p
i
n
y
i
n
[
0
]
+
p
i
n
y
i
n
[
1
]
e
l
i
f
l
e
n
(
p
i
n
y
i
n
)
<
2
:
r
e
t
u
r
n
[
p
y
s
t
r
]
f
l
i
t
t
e
r
_
l
o
w
e
r
=
"
"
.
j
o
i
n
(
s
e
l
f
.
g
e
t
F
l
i
t
t
e
r
(
s
t
r
)
)
#
l
x
x
f
l
i
t
t
e
r
_
u
p
p
e
r
=
f
l
i
t
t
e
r
_
l
o
w
e
r
[
0
:
1
]
.
u
p
p
e
r
(
)
+
f
l
i
t
t
e
r
_
l
o
w
e
r
[
1
:
]
#
L
x
x
f
p
i
n
y
=
p
i
n
y
i
n
[
0
]
#
l
i
n
u
p
i
n
y
=
p
i
n
y
i
n
[
0
]
.
u
p
p
e
r
(
)
#
L
I
N
f
l
u
p
i
n
y
=
p
i
n
y
i
n
[
0
]
[
0
:
1
]
.
u
p
p
e
r
(
)
+
p
i
n
y
i
n
[
0
]
[
1
:
]
#
L
i
n
t
m
p
l
i
s
t
=
[
f
l
i
t
t
e
r
_
l
o
w
e
r
,
f
l
i
t
t
e
r
_
u
p
p
e
r
,
f
p
i
n
y
,
u
p
i
n
y
,
f
l
u
p
i
n
y
]
p
y
l
i
s
t
[
p
y
l
e
n
:
p
y
l
e
n
]
=
t
m
p
l
i
s
t
i
f
p
y
s
t
r
=
=
s
e
l
f
.
c
o
m
p
a
n
y
:
r
e
t
u
r
n
[
p
y
s
t
r
,
f
l
i
t
t
e
r
_
l
o
w
e
r
,
f
l
i
t
t
e
r
_
u
p
p
e
r
]
e
l
s
e
:
r
e
t
u
r
n
p
y
l
i
s
t
d
e
f
g
e
n
e
r
a
t
e
P
w
(
s
e
l
f
,
s
t
r
_
l
i
s
t
,
n
u
m
_
l
i
s
t
,
s
i
g
_
l
i
s
t
,
b
a
s
e
,
l
e
v
e
l
=
2
,
m
f
i
l
t
e
r
=
T
r
u
e
)
:
w
e
a
k
_
l
i
s
t
=
[
]
f
o
r
k
,
v
i
n
b
a
s
e
.
i
t
e
m
s
(
)
:
f
o
r
i
i
n
v
:
i
f
l
e
n
(
s
t
r
(
i
)
)
>
=
6
:
w
e
a
k
_
l
i
s
t
.
a
p
p
e
n
d
(
i
)
#
字
母
+
数
字
f
o
r
i
i
n
i
t
e
r
t
o
o
l
s
.
p
r
o
d
u
c
t
(
s
t
r
_
l
i
s
t
,
n
u
m
_
l
i
s
t
)
:
f
o
r
j
i
n
i
t
e
r
t
o
o
l
s
.
p
r
o
d
u
c
t
(
b
a
s
e
[
i
[
0
]
]
,
b
a
s
e
[
i
[
1
]
]
)
:
f
o
r
h
i
n
i
t
e
r
t
o
o
l
s
.
p
e
r
m
u
t
a
t
i
o
n
s
(
j
)
:
i
f
(
m
f
i
l
t
e
r
)
:
i
f
s
t
r
(
h
[
0
]
)
.
i
s
d
i
g
i
t
(
)
:
#
去
掉
数
字
开
头
的
密
码
c
o
n
t
i
n
u
e
n
a
m
e
_
n
u
m
=
s
t
r
(
h
[
0
]
)
+
s
t
r
(
h
[
1
]
)
w
e
a
k
_
l
i
s
t
.
a
p
p
e
n
d
(
n
a
m
e
_
n
u
m
)
#
字
母
+
数
字
+
特
殊
字
符
/
字
母
+
特
殊
字
符
+
数
字
i
f
(
l
e
v
e
l
>
1
)
:
f
o
r
i
i
n
i
t
e
r
t
o
o
l
s
.
p
r
o
d
u
c
t
(
s
t
r
_
l
i
s
t
,
n
u
m
_
l
i
s
t
,
s
i
g
_
l
i
s
t
)
:
f
o
r
j
i
n
i
t
e
r
t
o
o
l
s
.
p
r
o
d
u
c
t
(
b
a
s
e
[
i
[
0
]
]
,
b
a
s
e
[
i
[
1
]
]
,
b
a
s
e
[
i
[
2
]
]
)
:
f
o
r
h
i
n
i
t
e
r
t
o
o
l
s
.
p
e
r
m
u
t
a
t
i
o
n
s
(
j
)
:
i
f
(
m
f
i
l
t
e
r
)
:
i
f
(
s
t
r
(
h
[
0
]
)
.
i
s
d
i
g
i
t
(
)
a
n
d
s
t
r
(
h
[
1
]
)
.
i
s
a
l
p
h
a
(
)
)
:
#
去
掉
数
字
+
字
母
开
头
c
o
n
t
i
n
u
e
e
l
i
f
(
s
t
r
(
h
[
0
]
)
i
n
s
e
l
f
.
s
i
g
n
)
o
r
(
s
t
r
(
h
[
0
]
)
.
i
s
d
i
g
i
t
(
)
)
:
#
去
掉
特
殊
字
符
、
数
字
开
头
c
o
n
t
i
n
u
e
n
a
m
e
_
n
u
m
=
s
t
r
(
h
[
0
]
)
+
s
t
r
(
h
[
1
]
)
+
s
t
r
(
h
[
2
]
)
w
e
a
k
_
l
i
s
t
.
a
p
p
e
n
d
(
n
a
m
e
_
n
u
m
)
r
e
t
u
r
n
w
e
a
k
_
l
i
s
t
分
析
前
端
的
登
录
界
面
,
最
终
找
到
该
密
码
字
段
的
加
密
方
式
,
可
以
见
到
该
字
段
是
经
过
j
s
r
s
a
加
密
的
。
怎
么
找
到
该
公
钥
的
呢
,
很
简
单
,
打
开
c
h
r
o
m
e
的
控
制
台
,
直
接
输
入
l
o
g
i
n
.
p
u
b
k
e
y
即
可
。
其
实
,
要
破
解
这
种
加
密
方
式
,
无
非
是
就
是
三
种
方
法
:
理
清
j
s
中
的
加
密
过
程
,
使
用
编
程
语
言
进
行
复
现
使
用
s
e
l
e
n
i
u
m
w
e
b
d
r
i
v
e
r
,
本
地
驱
动
一
个
浏
览
器
,
完
全
模
拟
浏
览
器
的
操
作
(
N
o
d
e
.
j
s
,
按
键
精
灵
,
Q
T
P
工
具
等
也
可
以
)
建
一
个
小
型
的
w
e
b
服
务
器
,
利
用
浏
览
器
页
面
将
j
s
运
行
起
来
,
把
加
密
后
的
密
文
发
给
本
地
服
务
器
本
文
先
尝
试
寻
找
一
种
后
台
加
密
的
算
法
:
1
、
尝
试
复
现
该
、
尝
试
复
现
该
j
s
r
s
a
加
密
算
法
:
加
密
算
法
:
但
是
通
过
该
加
密
后
的
密
文
在
A
平
台
无
法
通
过
验
证
,
服
务
器
返
回
的
是
S
y
s
t
e
m
.
S
e
c
u
r
i
t
y
.
C
r
y
p
t
o
g
r
a
p
h
y
.
C
r
y
p
t
o
g
r
a
p
h
i
c
E
x
c
e
p
t
i
o
n
的
不
正
确
数
据
异
常
。
2
、
使
用
、
使
用
p
y
v
8
执
行
执
行
j
s
得
到
密
文
得
到
密
文
提
取
使
用
加
密
算
法
的
文
件
保
存
为
j
s
e
n
c
r
y
p
t
.
m
i
n
.
j
s
,
然
后
使
用
p
y
v
8
在
p
y
t
h
o
n
中
执
行
这
段
j
s
:
执
行
上
述
这
段
代
码
,
结
果
抛
出
p
y
v
8
.
P
y
V
8
.
J
S
E
r
r
o
r
:
J
S
E
r
r
o
r
:
R
e
f
e
r
e
n
c
e
E
r
r
o
r
:
n
a
v
i
g
a
t
o
r
i
s
n
o
t
d
e
f
i
n
e
d
异
常
。
估
计
是
无
法
加
载
d
o
m
,
于
是
本
文
把
d
o
m
.
j
s
和
j
s
e
n
c
r
y
p
t
.
m
i
n
.
j
s
结
合
为
一
个
文
件
同
时
加
载
,
结
果
还
是
各
种
异
常
。
使
用
s
e
l
e
n
i
u
m
的
话
,
本
文
觉
得
比
较
笨
重
,
故
没
考
虑
此
法
。
于
是
本
文
使
用
D
j
a
n
g
o
搭
建
一
个
小
型
服
务
器
来
生
成
密
文
字
典
:
v
i
e
w
.
p
y
:
l
a
y
o
u
t
.
h
t
m
l
:
d
e
f
R
S
A
_
e
n
c
o
d
e
(
p
u
b
k
e
y
,
p
a
s
s
w
o
r
d
)
:
f
r
o
m
C
r
y
p
t
o
.
P
u
b
l
i
c
K
e
y
i
m
p
o
r
t
R
S
A
f
r
o
m
C
r
y
p
t
o
.
C
i
p
h
e
r
i
m
p
o
r
t
P
K
C
S
1
_
v
1
_
5
i
m
p
o
r
t
b
a
s
e
6
4
r
s
a
k
e
y
=
R
S
A
.
i
m
p
o
r
t
K
e
y
(
p
u
b
k
e
y
)
c
i
p
h
e
r
=
P
K
C
S
1
_
v
1
_
5
.
n
e
w
(
r
s
a
k
e
y
)
c
i
p
h
e
r
_
t
e
x
t
=
b
a
s
e
6
4
.
b
6
4
e
n
c
o
d
e
(
c
i
p
h
e
r
.
e
n
c
r
y
p
t
(
p
a
s
s
w
o
r
d
)
)
p
r
i
n
t
c
i
p
h
e
r
_
t
e
x
t
p
u
b
k
e
y
=
'
'
'
-
-
-
-
-
B
E
G
I
N
P
U
B
L
I
C
K
E
Y
-
-
-
-
-
n
I
G
f
M
A
0
G
C
S
q
G
S
I
b
3
D
Q
E
B
A
Q
U
A
A
4
G
N
A
D
C
B
i
Q
K
B
g
Q
C
p
0
w
H
Y
b
g
/
N
O
P
O
3
n
z
M
D
3
d
n
d
w
S
0
M
c
c
u
M
e
X
C
H
g
V
l
G
O
o
Y
y
F
w
L
d
S
2
4
I
m
2
e
0
Y
y
h
B
0
w
r
U
s
y
Y
f
0
/
n
h
z
C
z
B
K
8
Z
C
9
e
C
W
q
d
0
a
H
b
d
g
O
Q
o
6
C
u
F
Q
B
M
j
b
y
G
Y
v
l
V
Y
U
2
Z
P
7
k
G
9
F
t
6
Y
V
6
o
c
9
a
m
b
u
O
7
n
P
Z
h
+
b
v
p
H
0
z
D
K
f
i
0
2
p
r
k
n
r
S
c
A
p
C
0
X
h
a
d
T
H
T
3
A
l
0
Q
I
D
A
Q
A
B
-
-
-
-
-
E
N
D
P
U
B
L
I
C
K
E
Y
-
-
-
-
-
'
'
'
R
S
A
_
e
n
c
o
d
e
(
p
u
b
k
e
y
,
"
1
2
3
4
5
6
"
)
f
r
o
m
p
y
v
8
i
m
p
o
r
t
P
y
V
8
c
t
x
t
=
P
y
V
8
.
J
S
C
o
n
t
e
x
t
(
)
c
t
x
t
.
e
n
t
e
r
(
)
w
i
t
h
o
p
e
n
(
'
j
s
e
n
c
r
y
p
t
.
m
i
n
.
j
s
'
)
a
s
f
:
j
s
d
a
t
a
=
f
.
r
e
a
d
(
)
p
r
i
n
t
c
t
x
t
.
e
v
a
l
(
j
s
d
a
t
a
)
d
e
f
e
n
c
o
d
e
_
p
a
s
s
r
e
q
u
e
s
t
)
:
w
i
t
h
o
p
e
n
(
"
g
e
n
P
w
/
w
e
a
k
p
a
s
s
.
t
x
t
"
)
a
s
f
:
p
a
s
s
l
i
s
t
=
f
.
r
e
a
d
l
i
n
e
s
(
)
r
e
t
u
r
n
r
e
n
d
e
r
(
r
e
q
u
e
s
t
,
"
l
a
y
o
u
t
.
h
t
m
l
"
,
{
'
p
a
s
s
l
i
s
t
'
:
j
s
o
n
.
d
u
m
p
s
(
p
a
s
s
l
i
s
t
)
}
)
d
e
f
g
e
t
_
e
n
p
a
s
s
(
r
e
q
u
e
s
t
)
:
e
n
p
a
s
s
=
r
e
q
u
e
s
t
.
G
E
T
[
'
e
n
p
a
s
s
'
]
i
f
"
>
>
>
>
>
>
"
i
n
e
n
p
a
s
s
:
w
i
t
h
o
p
e
n
(
"
e
n
c
o
d
e
.
t
x
t
"
,
"
a
+
"
)
a
s
f
:
f
.
w
r
i
t
e
(
e
n
p
a
s
s
+
"
n
"
)
r
e
t
u
r
n
H
t
t
p
R
e
s
p
o
n
s
e
(
'
'
)
由
于
弱
口
令
有
6
0
多
万
行
,
而
浏
览
器
执
行
的
时
间
也
不
能
持
久
,
总
是
在
执
行
一
半
的
时
候
浏
览
器
就
显
示
崩
溃
,
不
知
读
者
有
什
么
办
法
让
浏
览
器
能
够
持
久
等
待
操
作
量
较
大
的
j
s
执
行
完
成
,
欢
迎
留
言
交
流
。
本
文
对
这
6
0
多
万
行
的
文
件
分
割
成
5
份
,
依
次
执
行
这
段
j
s
,
得
到
一
个
1
2
0
M
B
大
小
的
密
文
字
典
。
图
为
生
成
密
文
后
的
结
果
:
六
、
愉
快
地
进
行
爆
破
六
、
愉
快
地
进
行
爆
破
A
平
台
的
两
大
难
点
都
被
解
决
,
接
下
来
,
就
可
以
编
写
代
码
进
行
自
动
化
爆
破
了
。
1
分
析
登
录
过
程
分
析
登
录
过
程
A
平
台
的
登
录
过
程
很
简
单
,
通
过
b
u
r
p
s
u
i
t
e
的
抓
包
,
每
次
登
录
大
概
就
是
两
个
数
据
包
,
第
一
个
数
据
包
先
生
成
验
证
码
,
第
二
个
数
据
包
是
提
交
登
录
的
p
o
s
t
数
据
,
所
以
就
模
拟
这
两
步
操
作
就
行
了
。
而
这
两
个
数
据
包
中
的
验
证
码
是
根
据
c
o
o
k
i
e
来
关
联
的
,
c
o
o
k
i
e
大
概
长
这
样
C
o
o
k
i
e
:
U
M
_
d
i
s
t
i
n
c
t
i
d
=
1
6
2
1
e
b
9
9
3
4
f
2
9
6
-
0
f
7
4
f
e
8
3
7
1
c
a
4
8
-
3
2
6
5
7
b
0
4
-
1
3
c
6
8
0
-
1
6
2
1
e
b
9
9
3
5
2
1
b
b
;
A
S
P
.
N
E
T
_
S
e
s
s
i
o
n
I
d
=
c
t
m
b
s
h
f
m
e
e
f
q
c
e
u
0
x
z
l
y
l
0
0
p
;
_
_
R
e
q
u
e
s
t
V
e
r
i
f
i
c
a
t
i
o
n
T
o
k
e
n
=
i
r
o
_
s
r
R
k
g
p
I
8
l
m
q
a
j
l
J
C
L
C
D
R
K
Y
1
_
0
K
k
P
P
m
Y
g
g
e
z
X
X
C
o
i
X
A
W
P
l
-
4
v
Z
i
A
3
j
I
l
p
Y
9
I
b
6
M
2
x
I
5
6
r
_
M
P
E
G
t
1
Z
I
L
Q
d
a
q
N
i
w
H
w
W
-
N
T
W
-
n
G
U
A
L
w
V
_
B
Q
1
也
就
是
说
,
在
新
建
一
个
会
话
请
求
生
成
验
证
码
的
时
候
,
服
务
器
会
生
成
一
个
这
样
的
c
o
o
k
i
e
,
而
然
后
登
录
请
求
的
p
o
s
t
也
会
根
据
这
个
c
o
o
k
i
e
来
判
断
验
证
码
是
否
生
成
过
。
经
过
测
试
,
在
正
确
的
登
录
顺
序
下
,
发
现
服
务
器
在
登
录
p
o
s
t
请
求
返
回
只
会
返
回
三
种
:
{
“
e
r
r
o
r
”
:
”
验
证
码
错
误
”
}
、
{
“
s
u
c
c
e
s
s
”
:
”
/
D
e
f
a
u
l
t
.
a
s
p
x
”
}
、
{
“
e
r
r
o
r
”
:
”
用
户
名
或
密
码
错
误
”
}
如
果
在
请
求
登
录
的
时
候
,
关
联
c
o
o
k
i
e
的
数
据
包
没
先
执
行
第
一
步
,
即
生
成
验
证
码
,
会
返
回
{
“
e
r
r
o
r
”
:
”
验
证
码
失
效
”
}
2
模
拟
登
录
过
程
模
拟
登
录
过
程
由
于
c
o
o
k
i
e
是
验
证
码
的
关
联
因
素
,
为
了
提
高
爆
破
效
率
实
现
多
进
程
爆
破
(
t
e
n
s
o
r
f
l
o
w
使
用
多
线
程
执
行
效
率
好
低
,
具
体
原
因
不
清
楚
,
有
经
验
的
读
者
求
分
享
解
决
方
法
)
,
本
文
使
用
s
e
l
e
n
i
u
m
的
g
e
t
_
c
o
o
k
i
e
s
(
)
获
取
了
1
0
个
不
同
会
话
生
成
的
c
o
o
k
i
e
,
{
%
l
o
a
d
s
t
a
t
i
c
f
i
l
e
s
%
}
l
t
;
h
t
m
l
>
<
h
e
a
d
>
<
t
i
t
l
e
>
t
e
s
t
<
/
t
i
t
l
e
>
<
s
c
r
i
p
t
,
{
e
n
p
a
s
s
:
s
a
v
e
_
d
a
t
a
}
)
;
}
c
o
n
s
o
l
e
.
l
o
g
(
p
a
s
s
l
i
s
t
.
l
e
n
g
t
h
)
<
/
s
c
r
i
p
t
>
<
/
h
e
a
d
>
<
/
h
t
m
l
>
第
一
步
,
请
求
生
成
验
证
码
,
同
时
返
回
t
e
n
s
o
r
f
l
o
w
识
别
的
结
果
:
第
二
步
,
模
拟
登
录
的
p
o
s
t
请
求
,
获
取
返
回
的
结
果
,
而
后
在
另
外
一
个
文
件
中
开
启
1
0
个
进
程
执
行
(
把
密
文
字
典
分
割
成
1
0
份
)
。
至
此
,
自
动
化
爆
破
A
平
台
的
目
的
达
到
了
,
但
是
在
执
行
过
程
中
,
可
能
是
因
为
使
用
了
t
e
n
s
o
r
f
l
o
w
的
原
因
,
在
刚
开
始
的
时
候
还
能
顺
利
地
进
行
爆
破
,
大
概
一
两
个
小
时
后
,
爆
破
效
率
急
剧
下
降
,
甚
至
停
住
。
于
是
本
文
把
执
行
过
程
中
密
码
错
误
的
记
录
写
入
文
件
,
然
后
写
了
一
个
s
h
脚
本
(
先
清
除
执
行
过
的
记
录
,
重
新
运
行
爆
破
的
p
y
t
h
o
n
脚
本
)
,
命
名
为
r
u
n
.
s
h
:
设
置
系
统
的
c
r
o
n
t
a
b
定
时
任
务
,
每
隔
5
0
分
钟
执
行
一
次
这
个
脚
本
。
七
、
总
结
七
、
总
结
在
本
文
所
涉
及
到
的
2
0
0
名
员
工
中
,
6
0
多
万
条
记
录
中
最
终
爆
破
出
3
0
多
名
员
工
存
在
弱
口
令
问
题
,
历
时
5
天
。
可
想
在
企
业
中
普
遍
存
在
弱
口
令
问
题
,
而
且
A
平
台
是
对
外
开
放
的
,
影
响
极
为
严
重
。
关
于
这
次
的
爆
破
过
程
,
还
有
好
多
待
改
进
的
地
方
。
t
e
n
s
o
r
f
l
o
w
虽
然
识
别
效
率
高
,
但
是
随
着
时
间
的
推
移
执
行
效
率
急
剧
下
降
,
本
文
最
终
使
用
了
一
种
治
标
不
治
本
的
方
法
顺
利
完
成
爆
破
。
如
果
有
经
验
的
读
者
对
t
e
n
s
o
r
f
l
o
w
的
稳
定
执
行
有
所
探
索
,
还
望
留
言
交
流
。
参
考
链
接
:
参
考
链
接
:
对
登
录
中
账
号
密
码
进
行
加
密
之
后
再
传
输
的
爆
破
的
思
路
和
方
式
基
于
T
e
n
s
o
r
F
l
o
w
识
别
C
a
p
t
c
h
a
库
验
证
码
图
文
教
程
*
本
文
原
创
作
者
:
本
文
原
创
作
者
:
s
h
y
s
t
a
r
t
r
e
e
,
本
文
属
,
本
文
属
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
d
e
f
g
e
t
_
v
a
l
c
o
d
e
(
c
o
o
k
i
e
)
:
i
m
p
o
r
t
g
e
t
_
i
m
a
g
e
a
s
g
i
g
i
.
g
e
t
_
c
a
p
t
c
h
a
(
c
o
o
k
i
e
)
#
请
求
服
务
器
生
成
验
证
码
g
i
.
i
m
a
g
e
_
a
s
p
e
c
t
(
"
v
a
l
c
o
d
e
.
p
n
g
"
,
1
6
0
,
6
0
)
.
c
h
a
n
g
e
_
a
s
p
e
c
t
_
r
a
t
e
(
)
.
p
a
s
t
_
b
a
c
k
g
r
o
u
n
d
(
)
.
s
a
v
e
_
r
e
s
u
l
t
(
"
v
a
l
c
o
d
e
.
p
n
g
"
)
i
m
a
g
e
=
n
p
.
a
r
r
a
y
(
I
m
a
g
e
.
o
p
e
n
(
"
v
a
l
c
o
d
e
.
p
n
g
"
)
)
i
m
a
g
e
=
c
o
n
v
e
r
t
2
g
r
a
y
(
i
m
a
g
e
)
i
m
a
g
e
=
i
m
a
g
e
.
f
l
a
t
t
e
n
(
)
/
2
5
5
#
将
图
片
一
维
化
p
r
e
d
i
c
t
_
t
e
x
t
=
c
r
a
c
k
_
c
a
p
t
c
h
a
(
o
u
t
p
u
t
,
i
m
a
g
e
)
r
e
t
u
r
n
p
r
e
d
i
c
t
_
t
e
x
t
d
e
f
b
r
u
s
t
_
l
o
g
i
n
(
c
o
o
k
i
e
)
:
w
p
=
q
.
p
o
p
l
e
f
t
(
)
t
r
y
:
l
o
g
i
n
i
d
=
w
p
.
s
p
l
i
t
(
"
>
>
>
>
>
>
"
)
[
0
]
l
o
g
i
n
p
a
s
s
=
w
p
.
s
p
l
i
t
(
"
>
>
>
>
>
>
"
)
[
1
]
w
p
p
a
s
s
=
w
p
.
s
p
l
i
t
(
"
>
>
>
>
>
>
"
)
[
2
]
l
o
g
i
n
p
a
s
s
=
u
r
l
l
i
b
.
q
u
o
t
e
(
l
o
g
i
n
p
a
s
s
)
v
e
r
i
f
y
c
o
d
e
=
g
e
t
_
v
a
l
c
o
d
e
(
c
o
o
k
i
e
)
t
i
p
t
x
t
=
g
e
t
_
l
o
g
i
n
_
i
n
f
o
(
l
o
g
i
n
i
d
,
l
o
g
i
n
p
a
s
s
,
c
o
o
k
i
e
,
v
e
r
i
f
y
c
o
d
e
)
#
请
求
登
录
服
务
器
i
f
"
用
户
名
或
密
码
错
误
"
i
n
t
i
p
t
x
t
:
p
r
i
n
t
l
o
g
i
n
i
d
,
"
>
>
>
>
>
>
>
>
"
,
w
p
p
a
s
s
.
s
t
r
i
p
(
)
,
"
:
密
码
错
误
"
w
i
t
h
o
p
e
n
(
"
n
o
t
g
o
o
d
p
a
s
s
.
t
x
t
"
,
"
a
+
"
a
s
f
:
f
.
w
r
i
t
e
(
w
p
)
e
l
i
f
"
验
证
码
错
误
"
i
n
t
i
p
t
x
t
:
q
.
a
p
p
e
n
d
l
e
f
t
(
w
p
)
p
r
i
n
t
l
o
g
i
n
i
d
,
"
>
>
>
>
>
>
>
>
"
,
w
p
p
a
s
s
.
s
t
r
i
p
(
)
,
"
:
验
证
码
错
误
,
需
要
重
试
!
"
e
l
i
f
"
s
u
c
c
e
s
s
"
i
n
t
i
p
t
x
t
:
p
r
i
n
t
l
o
g
i
n
i
d
,
"
>
>
>
>
>
>
>
>
"
,
w
p
p
a
s
s
.
s
t
r
i
p
(
)
,
"
:
正
确
的
密
码
来
了
!
"
w
i
t
h
o
p
e
n
(
"
g
o
o
d
p
a
s
s
.
t
x
t
"
,
"
a
+
"
)
a
s
f
:
f
.
w
r
i
t
e
(
w
p
)
e
l
i
f
"
验
证
码
失
效
"
i
n
t
i
p
t
x
t
:
q
.
a
p
p
e
n
d
(
w
p
)
p
r
i
n
t
l
o
g
i
n
i
d
,
"
>
>
>
>
>
>
>
>
"
,
w
p
p
a
s
s
.
s
t
r
i
p
(
)
,
"
:
验
证
码
失
效
,
执
行
有
误
!
"
e
l
s
e
:
p
r
i
n
t
t
i
p
t
x
t
e
x
c
e
p
t
E
x
c
e
p
t
i
o
n
,
e
:
p
r
i
n
t
s
t
r
(
e
)
p
s
-
e
f
|
g
r
e
p
p
y
t
h
o
n
|
a
w
k
'
{
p
r
i
n
t
$
2
}
'
|
x
a
r
g
s
k
i
l
l
-
9
s
h
/
r
o
o
t
/
d
e
l
r
u
n
p
a
s
s
.
s
h
n
o
h
u
p
s
h
/
r
o
o
t
/
r
u
n
b
r
u
s
t
.
s
h
&
*
/
5
0
*
*
*
*
s
h
/
r
o
o
t
/
r
u
n
.
s
h
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页