论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
安全讯息
[18973] 2021-07-02_一次入侵溯源分析,通过流量完整还原黑客攻击手法
文档创建者:
s7ckTeam
浏览次数:
5
最后更新:
2025-01-18
安全讯息
5 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2021-07-02_一次入侵溯源分析,通过流量完整还原黑客攻击手法
一
次
入
侵
溯
源
分
析
,
通
过
流
量
完
整
还
原
黑
客
攻
击
手
法
原
创
I
n
B
u
g
实
验
室
I
n
B
u
g
实
验
室
2
0
2
1
-
0
7
-
0
2
背
景
概
述
2
0
2
1
年
6
月
,
某
单
位
系
统
关
键
图
片
被
篡
改
,
网
站
疑
似
遭
到
入
侵
。
获
取
信
息
从
安
全
感
知
系
统
中
导
出
近
两
天
攻
击
行
为
日
志
,
经
分
析
处
理
共
计
1
0
9
7
条
。
从
全
流
量
系
统
中
导
出
遭
受
攻
击
当
天
流
量
包
,
经
分
析
处
理
共
计
1
0
1
,
8
0
1
,
9
8
4
字
节
(
9
7
M
B
)
数
据
包
。
入
侵
过
程
还
原
由
于
图
片
被
篡
改
,
访
问
网
页
复
制
图
片
链
接
查
看
图
片
文
件
名
。
然
后
思
考
篡
改
图
片
大
致
流
程
为
先
下
载
图
片
,
然
后
P
图
加
上
水
印
,
然
后
再
上
传
替
换
服
务
器
上
的
图
片
。
从
攻
击
行
为
日
志
中
检
索
图
片
文
件
名
"
l
o
g
o
.
g
i
f
"
,
得
到
如
下
两
条
日
志
。
可
获
知
/
A
u
g
u
s
t
/
A
u
g
u
s
t
.
j
s
p
操
作
了
这
张
图
。
(
有
经
验
的
大
佬
可
能
通
过
这
两
行
日
志
就
已
经
看
出
来
A
u
g
u
s
t
.
j
s
p
是
菜
刀
马
了
)
接
下
来
从
流
量
中
检
索
A
u
g
u
s
t
.
j
s
p
,
第
一
次
出
现
的
位
置
前
后
数
据
包
可
能
存
在
上
传
马
的
数
据
包
,
使
用
w
i
r
e
s
h
a
r
k
打
开
数
据
包
检
索
h
t
t
p
c
o
n
t
a
i
n
s
"
A
u
g
u
s
t
.
j
s
p
"
得
到
源
目
的
I
P
,
做
进
一
步
检
索
,
查
看
第
一
条
追
踪
h
t
t
p
流
。
U
R
L
解
码
后
得
到
A
u
g
u
s
t
.
j
s
p
文
件
内
容
。
(
显
然
,
A
u
g
u
s
t
.
j
s
p
为
菜
刀
马
)
攻
击
者
尝
试
攻
击
:
x
.
x
.
x
.
x
:
9
0
9
0
/
A
u
g
u
s
t
/
A
u
g
u
s
t
.
j
s
p
,
攻
击
代
码
为
:
a
=
F
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
m
a
g
e
s
%
2
F
l
o
g
o
.
g
i
f
攻
击
者
尝
试
攻
击
:
x
.
x
.
x
.
x
:
9
0
9
0
/
A
u
g
u
s
t
/
A
u
g
u
s
t
.
j
s
p
,
攻
击
代
码
为
:
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
m
a
g
e
s
%
2
F
l
o
g
o
.
g
i
f
过
滤
h
t
t
p
.
r
e
q
u
e
s
t
.
m
e
t
h
o
d
=
=
"
P
O
S
T
"
a
n
d
h
t
t
p
.
r
e
q
u
e
s
t
.
u
r
i
=
=
"
/
A
u
g
u
s
t
/
A
u
g
u
s
t
.
j
s
p
"
,
根
据
流
量
中
请
求
的
P
O
S
T
参
数
一
步
一
步
还
原
攻
击
全
过
程
。
提
取
出
请
求
如
下
:
(
很
多
环
境
中
没
有
记
录
全
流
量
,
可
以
从
能
记
录
p
o
s
t
参
数
的
安
全
设
备
中
导
出
,
如
W
A
F
)
要
理
解
这
些
参
数
对
应
的
操
作
,
需
分
析
菜
刀
马
。
粗
略
分
析
,
参
数
中
的
a
=
B
中
的
a
是
菜
刀
马
的
密
码
,
B
则
会
调
用
菜
刀
马
中
的
B
B
函
数
,
a
=
M
则
意
味
着
会
调
用
菜
刀
马
的
M
M
函
数
,
以
此
类
推
。
接
下
来
分
析
菜
刀
马
的
所
有
X
X
函
数
执
行
什
么
操
作
,
分
析
整
理
如
下
:
分
析
完
菜
刀
马
,
我
们
就
能
很
容
易
地
通
过
流
量
中
对
马
的
请
求
参
数
来
还
原
出
攻
击
步
骤
,
中
间
若
干
浏
览
目
录
的
操
作
已
省
略
。
请
求
参
数
请
求
参
数
分
析
结
果
分
析
结
果
a
=
M
&
z
0
=
G
B
2
3
1
2
&
z
1
=
-
c
%
2
F
b
i
n
%
2
F
s
h
&
z
2
=
c
d
+
%
2
2
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
%
2
2
%
3
B
i
d
%
3
B
e
c
h
o
+
%
5
B
S
%
5
D
%
3
B
p
w
d
%
3
B
e
c
h
o
+
%
5
B
E
%
5
D
执
行
命
令
[
i
d
]
a
=
M
&
z
0
=
G
B
2
3
1
2
&
z
1
=
-
c
%
2
F
b
i
n
%
2
F
s
h
&
z
2
=
c
d
+
%
2
2
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
%
2
2
%
3
B
n
e
t
s
t
a
t
+
-
a
n
o
%
3
B
e
c
h
o
+
%
5
B
S
%
5
D
%
3
B
p
w
d
%
3
B
e
c
h
o
+
%
5
B
E
%
5
D
执
行
命
令
[
n
e
t
s
t
a
t
-
a
n
o
]
a
=
A
/
/
列
出
根
目
录
a
=
B
/
/
列
出
指
定
目
录
文
件
a
=
C
/
/
读
取
文
本
文
件
a
=
D
/
/
写
入
文
本
文
件
a
=
E
/
/
删
除
文
件
或
文
件
夹
a
=
F
/
/
下
载
文
件
a
=
G
/
/
将
1
6
进
制
字
符
串
写
为
文
件
a
=
H
/
/
二
进
制
文
件
复
制
a
=
I
/
/
文
件
重
命
名
a
=
J
/
/
创
建
文
件
夹
a
=
K
/
/
修
改
时
间
戳
a
=
L
/
/
从
指
定
链
接
下
载
文
件
a
=
M
/
/
读
取
命
令
执
行
结
果
a
=
N
/
/
连
接
数
据
库
a
=
O
/
/
创
建
数
据
库
表
a
=
P
/
/
读
取
数
据
库
列
a
=
Q
/
/
读
取
数
据
库
数
据
a
=
H
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
A
u
g
u
s
t
.
j
s
p
&
z
2
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
%
2
F
A
u
g
u
s
t
.
j
s
p
复
制
文
件
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
A
u
g
u
s
t
.
w
a
r
/
A
u
g
u
s
t
.
j
s
p
到
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
/
R
O
O
T
.
w
a
r
/
A
u
g
u
s
t
.
j
s
p
a
=
I
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
%
2
F
A
u
g
u
s
t
.
j
s
p
&
z
2
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
%
2
F
t
e
s
t
.
j
s
p
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
/
R
O
O
T
.
w
a
r
/
A
u
g
u
s
t
.
j
s
p
重
命
名
为
t
e
s
t
.
j
s
p
a
=
K
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
%
2
F
t
e
s
t
.
j
s
p
&
z
2
=
2
0
0
8
-
0
7
-
1
9
+
0
2
%
3
A
2
1
%
3
A
0
4
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
/
R
O
O
T
.
w
a
r
/
t
e
s
t
.
j
s
p
的
最
后
修
改
时
间
改
为
2
0
0
8
-
0
7
-
1
9
0
2
:
2
1
:
0
4
a
=
K
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
&
z
2
=
2
0
0
8
-
0
7
-
1
9
+
0
2
%
3
A
2
2
%
3
A
1
0
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
/
R
O
O
T
.
w
a
r
的
最
后
修
改
时
间
改
为
2
0
0
8
-
0
7
-
1
9
0
2
:
2
2
:
1
0
a
=
K
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
&
z
2
=
2
0
2
1
-
0
6
-
2
5
+
1
6
%
3
A
1
0
%
3
A
5
8
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
A
u
g
u
s
t
.
w
a
r
的
最
后
修
改
时
间
改
为
2
0
2
1
-
0
6
-
2
5
1
6
:
1
0
:
5
8
a
=
K
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
A
u
g
u
s
t
.
j
s
p
&
z
2
=
2
0
2
1
-
0
6
-
2
5
+
1
6
%
3
A
1
0
%
3
A
5
8
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
A
u
g
u
s
t
.
w
a
r
/
A
u
g
u
s
t
.
j
s
p
的
最
后
修
改
时
间
改
为
2
0
2
1
-
0
6
-
2
5
1
6
:
1
0
:
5
8
a
=
K
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
s
h
e
l
l
.
j
s
p
&
z
2
=
2
0
2
1
-
0
6
-
2
5
+
1
6
%
3
A
1
0
%
3
A
5
8
将
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
A
u
g
u
s
t
.
w
a
r
/
s
h
e
l
l
.
j
s
p
的
最
后
修
改
时
间
改
为
2
0
2
1
-
0
6
-
2
5
1
6
:
1
0
:
5
8
a
=
M
&
z
0
=
G
B
2
3
1
2
&
z
1
=
-
c
%
2
F
b
i
n
%
2
F
s
h
&
z
2
=
c
d
+
%
2
2
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
%
2
F
%
2
2
%
3
B
p
s
+
a
u
x
%
3
B
e
c
h
o
+
%
5
B
S
%
5
D
%
3
B
p
w
d
%
3
B
e
c
h
o
+
%
5
B
E
%
5
D
执
行
系
统
命
令
[
p
s
a
u
x
]
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
D
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
&
z
2
=
1
将
“
1
”
写
入
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
0
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
0
a
=
F
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
S
e
r
v
e
r
I
n
f
o
.
j
s
p
下
载
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
S
e
r
v
e
r
I
n
f
o
.
j
s
p
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
S
e
r
v
e
r
I
n
f
o
.
j
s
p
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
S
e
r
v
e
r
I
n
f
o
.
j
s
p
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
n
d
e
x
.
h
t
m
l
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
i
n
d
e
x
.
h
t
m
l
a
=
F
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
m
a
g
e
s
%
2
F
l
o
g
o
.
g
i
f
下
载
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
i
m
a
g
e
s
/
l
o
g
o
.
g
i
f
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
m
a
g
e
s
%
2
F
l
o
g
o
.
g
i
f
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
i
m
a
g
e
s
/
l
o
g
o
.
g
i
f
a
=
G
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
%
2
F
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
%
2
F
i
m
a
g
e
s
%
2
F
l
o
g
o
.
g
i
f
&
z
2
=
4
7
4
9
4
6
3
8
3
9
6
1
E
8
0
3
6
9
0
0
F
7
0
0
0
0
0
0
.
.
.
将
1
6
进
制
写
入
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
c
o
n
s
o
l
e
-
m
g
r
.
s
a
r
/
w
e
b
-
c
o
n
s
o
l
e
.
w
a
r
/
i
m
a
g
e
s
/
l
o
g
o
.
g
i
f
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
m
x
-
c
o
n
s
o
l
e
.
w
a
r
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
m
x
-
c
o
n
s
o
l
e
.
w
a
r
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
%
2
F
R
O
O
T
.
w
a
r
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
j
b
o
s
s
-
w
e
b
.
d
e
p
l
o
y
e
r
/
R
O
O
T
.
w
a
r
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
j
b
o
s
s
j
d
k
.
w
a
r
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
j
b
o
s
s
j
d
k
.
w
a
r
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
D
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
&
z
2
=
1
2
2
将
“
1
2
2
”
写
入
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
0
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
0
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
1
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
1
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
2
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
2
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
3
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
3
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
4
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
4
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
5
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
5
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
6
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
6
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
7
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
7
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
8
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
.
2
0
2
1
-
0
6
-
2
8
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
w
o
r
k
%
2
F
j
b
o
s
s
.
w
e
b
%
2
F
l
o
c
a
l
h
o
s
t
%
2
F
j
b
o
s
s
j
d
k
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
w
o
r
k
/
j
b
o
s
s
.
w
e
b
/
l
o
c
a
l
h
o
s
t
/
j
b
o
s
s
j
d
k
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
w
o
r
k
%
2
F
j
b
o
s
s
.
w
e
b
%
2
F
l
o
c
a
l
h
o
s
t
%
2
F
_
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
w
o
r
k
/
j
b
o
s
s
.
w
e
b
/
l
o
c
a
l
h
o
s
t
/
_
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
w
o
r
k
%
2
F
j
b
o
s
s
.
w
e
b
%
2
F
l
o
c
a
l
h
o
s
t
%
2
F
A
u
g
u
s
t
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
w
o
r
k
/
j
b
o
s
s
.
w
e
b
/
l
o
c
a
l
h
o
s
t
/
A
u
g
u
s
t
a
=
C
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
读
取
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
D
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
l
o
g
%
2
F
s
e
r
v
e
r
.
l
o
g
&
z
2
=
1
2
将
“
1
2
”
写
入
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
l
o
g
/
s
e
r
v
e
r
.
l
o
g
a
=
E
&
z
0
=
G
B
2
3
1
2
&
z
1
=
%
2
F
u
s
r
%
2
F
l
o
c
a
l
%
2
F
j
b
o
s
s
%
2
F
s
e
r
v
e
r
%
2
F
d
e
f
a
u
l
t
%
2
F
.
%
2
F
d
e
p
l
o
y
%
2
F
m
a
n
a
g
e
m
e
n
t
%
2
F
A
u
g
u
s
t
.
w
a
r
删
除
/
u
s
r
/
l
o
c
a
l
/
j
b
o
s
s
/
s
e
r
v
e
r
/
d
e
f
a
u
l
t
/
.
/
d
e
p
l
o
y
/
m
a
n
a
g
e
m
e
n
t
/
A
u
g
u
s
t
.
w
a
r
看
到
到
这
里
大
家
应
该
会
知
道
有
一
个
A
u
g
u
s
t
.
w
a
r
存
在
过
,
然
后
s
h
e
l
l
.
j
s
p
在
A
u
g
u
s
t
目
录
下
,
那
s
h
e
l
l
.
j
s
p
应
该
在
这
个
w
a
r
里
面
。
那
s
h
e
l
l
.
j
s
p
的
内
容
是
什
么
?
根
据
前
面
写
A
u
g
u
s
t
.
j
s
p
的
请
求
包
可
以
推
测
其
功
能
就
是
写
文
件
。
我
们
也
可
以
从
流
量
中
将
其
内
容
找
出
来
。
w
i
r
e
s
h
a
r
k
中
检
索
h
t
t
p
c
o
n
t
a
i
n
s
"
A
u
g
u
s
t
.
w
a
r
"
,
查
看
第
一
条
。
U
R
L
解
码
后
:
根
据
该
u
r
l
,
G
o
o
g
l
e
查
一
下
就
知
道
攻
击
者
这
是
利
用
的
什
么
漏
洞
,
其
中
a
r
g
3
就
是
s
h
e
l
l
.
j
s
p
的
内
容
。
至
此
,
整
个
攻
击
的
来
龙
去
脉
都
理
得
清
清
楚
楚
,
从
什
么
漏
洞
进
去
,
如
何
替
换
图
片
,
然
后
删
除
w
e
b
s
h
e
l
l
清
除
日
志
…
…
还
原
被
篡
改
的
文
件
还
原
被
篡
改
的
文
件
被
篡
改
的
源
文
件
已
被
删
除
,
可
从
流
量
中
还
原
。
根
据
之
前
分
析
的
菜
刀
参
数
,
查
找
的
流
量
包
可
检
索
h
t
t
p
c
o
n
t
a
i
n
s
"
a
=
F
"
a
n
d
h
t
t
p
c
o
n
t
a
i
n
s
"
l
o
g
o
.
g
i
f
"
到
下
载
图
片
的
数
据
包
。
/
j
m
x
-
c
o
n
s
o
l
e
/
/
H
t
m
l
A
d
a
p
t
o
r
?
a
c
t
i
o
n
=
i
n
v
o
k
e
O
p
B
y
N
a
m
e
&
n
a
m
e
=
j
b
o
s
s
.
a
d
m
i
n
:
s
e
r
v
i
c
e
=
D
e
p
l
o
y
m
e
n
t
F
i
l
e
R
e
p
o
s
i
t
o
r
y
&
m
e
t
h
o
d
N
a
m
e
=
s
t
o
r
e
&
a
r
g
T
y
p
e
=
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
&
a
r
g
0
=
A
u
g
u
s
t
.
w
a
r
&
a
r
g
T
y
p
e
=
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
&
&
a
r
g
1
=
s
h
e
l
l
&
a
r
g
T
y
p
e
=
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
&
a
r
g
2
=
.
j
s
p
&
a
r
g
T
y
p
e
=
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
&
a
r
g
3
=
<
%
+
进
一
步
检
索
h
t
t
p
c
o
n
t
a
i
n
s
"
-
>
|
G
I
F
8
9
a
"
a
n
d
h
t
t
p
.
r
e
s
p
o
n
s
e
,
复
制
-
>
a
s
a
H
e
x
S
t
r
e
a
m
。
然
后
你
可
以
将
其
粘
贴
到
U
E
或
者
w
i
n
H
e
x
等
1
6
进
制
编
辑
器
。
这
里
介
绍
另
一
种
方
法
,
粘
贴
到
t
x
t
,
删
除
2
d
3
e
7
c
(
-
>
|
)
及
以
前
的
内
容
和
7
c
3
c
2
d
(
|
<
-
)
及
之
后
的
内
容
。
使
用
如
下
代
码
转
换
成
二
进
制
文
件
:
i
m
p
o
r
t
s
y
s
i
f
l
e
n
(
s
y
s
.
a
r
g
v
)
=
=
2
:
t
r
y
:
使
用
p
y
i
n
s
y
a
l
l
e
r
打
包
成
e
x
e
就
更
方
便
了
,
将
t
x
t
拖
到
e
x
e
上
面
即
可
转
换
生
成
二
进
制
文
件
。
附
录
:
菜
刀
马
解
析
备
注
附
录
:
菜
刀
马
解
析
备
注
t
r
y
:
f
=
o
p
e
n
(
s
y
s
.
a
r
g
v
[
1
]
,
'
r
'
)
h
e
x
S
t
r
i
n
g
=
f
.
r
e
a
d
(
)
f
.
c
l
o
s
e
(
)
b
=
b
y
t
e
s
.
f
r
o
m
h
e
x
(
h
e
x
S
t
r
i
n
g
)
n
f
=
o
p
e
n
(
'
n
e
w
f
i
l
e
'
,
'
w
b
'
)
n
f
.
w
r
i
t
e
(
b
)
n
f
.
c
l
o
s
e
(
)
e
x
c
e
p
t
E
x
c
e
p
t
i
o
n
a
s
e
:
p
r
i
n
t
(
e
)
e
l
s
e
:
p
r
i
n
t
(
'
n
e
e
d
a
p
a
t
h
o
f
t
e
x
t
f
i
l
e
!
'
)
<
%
@
p
a
g
e
i
m
p
o
r
t
=
"
j
a
v
a
.
i
o
.
*
,
j
a
v
a
.
u
t
i
l
.
*
,
j
a
v
a
.
n
e
t
.
*
,
j
a
v
a
.
s
q
l
.
*
,
j
a
v
a
.
t
e
x
t
.
*
"
%
>
<
%
!
S
t
r
i
n
g
P
w
d
=
"
a
"
;
S
t
r
i
n
g
c
s
=
"
U
T
F
-
8
"
;
S
t
r
i
n
g
E
C
(
S
t
r
i
n
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
r
e
t
u
r
n
n
e
w
S
t
r
i
n
g
(
s
.
g
e
t
B
y
t
e
s
(
"
I
S
O
-
8
8
5
9
-
1
"
)
,
c
s
)
;
}
C
o
n
n
e
c
t
i
o
n
G
C
(
S
t
r
i
n
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
S
t
r
i
n
g
[
]
x
=
s
.
t
r
i
m
(
)
.
s
p
l
i
t
(
"
r
n
"
)
;
C
l
a
s
s
.
f
o
r
N
a
m
e
(
x
[
0
]
.
t
r
i
m
(
)
)
;
i
f
(
x
[
1
]
.
i
n
d
e
x
O
f
(
"
j
d
b
c
:
o
r
a
c
l
e
"
)
!
=
-
1
)
{
r
e
t
u
r
n
D
r
i
v
e
r
M
a
n
a
g
e
r
.
g
e
t
C
o
n
n
e
c
t
i
o
n
(
x
[
1
]
.
t
r
i
m
(
)
+
"
:
"
+
x
[
4
]
,
x
[
2
]
.
e
q
u
a
l
s
I
g
n
o
r
e
C
a
s
e
(
"
[
/
n
u
l
l
]
"
)
?
"
"
:
x
[
2
]
,
x
[
3
]
.
e
q
u
a
l
s
I
g
n
o
r
e
C
a
s
e
(
"
[
/
n
u
l
l
]
"
)
?
"
"
:
x
[
3
]
)
;
}
e
l
s
e
{
C
o
n
n
e
c
t
i
o
n
c
=
D
r
i
v
e
r
M
a
n
a
g
e
r
.
g
e
t
C
o
n
n
e
c
t
i
o
n
(
x
[
1
]
.
t
r
i
m
(
)
,
x
[
2
]
.
e
q
u
a
l
s
I
g
n
o
r
e
C
a
s
e
(
"
[
/
n
u
l
l
]
"
)
?
"
"
:
x
[
2
]
,
x
[
3
]
.
e
q
u
a
l
s
I
g
n
o
r
e
C
a
s
e
(
"
[
/
n
u
l
l
]
"
)
?
"
"
:
x
[
3
]
)
;
i
f
(
x
.
l
e
n
g
t
h
>
4
)
{
c
.
s
e
t
C
a
t
a
l
o
g
(
x
[
4
]
)
;
}
r
e
t
u
r
n
c
;
}
}
/
/
列
出
根
目
录
v
o
i
d
A
A
(
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
r
[
]
=
F
i
l
e
.
l
i
s
t
R
o
o
t
s
(
)
;
f
o
r
(
i
n
t
i
=
0
;
i
<
r
.
l
e
n
g
t
h
;
i
+
+
)
{
s
b
.
a
p
p
e
n
d
(
r
[
i
]
.
t
o
S
t
r
i
n
g
(
)
.
s
u
b
s
t
r
i
n
g
(
0
,
2
)
)
;
}
}
/
/
列
出
指
定
目
录
文
件
v
o
i
d
B
B
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
o
F
=
n
e
w
F
i
l
e
(
s
)
,
l
[
]
=
o
F
.
l
i
s
t
F
i
l
e
s
(
)
;
S
t
r
i
n
g
s
T
,
s
Q
,
s
F
=
"
"
;
j
a
v
a
.
u
t
i
l
.
D
a
t
e
d
t
;
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
f
m
=
n
e
w
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
(
"
y
y
y
y
-
M
M
-
d
d
H
H
:
m
m
:
s
s
"
)
;
f
o
r
(
i
n
t
i
=
0
;
i
<
l
.
l
e
n
g
t
h
;
i
+
+
)
{
d
t
=
n
e
w
j
a
v
a
.
u
t
i
l
.
D
a
t
e
(
l
[
i
]
.
l
a
s
t
M
o
d
i
f
i
e
d
(
)
)
;
s
T
=
f
m
.
f
o
r
m
a
t
(
d
t
)
;
s
Q
=
l
[
i
]
.
c
a
n
R
e
a
d
(
)
?
"
R
"
:
"
"
;
s
Q
+
=
l
[
i
]
.
c
a
n
W
r
i
t
e
(
)
?
"
W
"
:
"
"
;
i
f
(
l
[
i
]
.
i
s
D
i
r
e
c
t
o
r
y
(
)
)
{
s
b
.
a
p
p
e
n
d
(
l
[
i
]
.
g
e
t
N
a
m
e
(
)
+
"
/
t
"
+
s
T
+
"
t
"
+
l
[
i
]
.
l
e
n
g
t
h
(
)
+
"
t
"
+
s
Q
+
"
n
"
)
;
}
e
l
s
e
{
s
F
+
=
l
[
i
]
.
g
e
t
N
a
m
e
(
)
+
"
t
"
+
s
T
+
"
t
"
+
l
[
i
]
.
l
e
n
g
t
h
(
)
+
"
t
"
+
s
Q
+
"
n
"
;
}
}
s
b
.
a
p
p
e
n
d
(
s
F
)
;
}
/
/
删
除
文
件
或
文
件
夹
v
o
i
d
E
E
(
S
t
r
i
n
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
f
=
n
e
w
F
i
l
e
(
s
)
;
i
f
(
f
.
i
s
D
i
r
e
c
t
o
r
y
(
)
)
{
F
i
l
e
x
[
]
=
f
.
l
i
s
t
F
i
l
e
s
(
)
;
f
o
r
(
i
n
t
k
=
0
;
k
<
x
.
l
e
n
g
t
h
;
k
+
+
)
{
i
f
(
!
x
[
k
]
.
d
e
l
e
t
e
(
)
)
{
E
E
(
x
[
k
]
.
g
e
t
P
a
t
h
(
)
)
;
}
}
}
f
.
d
e
l
e
t
e
(
)
;
}
/
/
下
载
文
件
v
o
i
d
F
F
(
S
t
r
i
n
g
s
,
H
t
t
p
S
e
r
v
l
e
t
R
e
s
p
o
n
s
e
r
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
i
n
t
n
;
b
y
t
e
[
]
b
=
n
e
w
b
y
t
e
[
5
1
2
]
;
r
.
r
e
s
e
t
(
)
;
S
e
r
v
l
e
t
O
u
t
p
u
t
S
t
r
e
a
m
o
s
=
r
.
g
e
t
O
u
t
p
u
t
S
t
r
e
a
m
(
)
;
B
u
f
f
e
r
e
d
I
n
p
u
t
S
t
r
e
a
m
i
s
=
n
e
w
B
u
f
f
e
r
e
d
I
n
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
I
n
p
u
t
S
t
r
e
a
m
(
s
)
)
;
o
s
.
w
r
i
t
e
(
(
"
-
>
"
+
"
|
"
)
.
g
e
t
B
y
t
e
s
(
)
,
0
,
3
)
;
w
h
i
l
e
(
(
n
=
i
s
.
r
e
a
d
(
b
,
0
,
5
1
2
)
)
!
=
-
1
)
{
o
s
.
w
r
i
t
e
(
b
,
0
,
n
)
;
}
o
s
.
w
r
i
t
e
(
(
"
|
"
+
"
<
-
"
)
.
g
e
t
B
y
t
e
s
(
)
,
0
,
3
)
;
o
s
.
c
l
o
s
e
(
)
;
i
s
.
c
l
o
s
e
(
)
;
}
/
/
将
1
6
进
制
字
符
串
写
为
文
件
v
o
i
d
G
G
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
d
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
S
t
r
i
n
g
h
=
"
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
"
;
F
i
l
e
f
=
n
e
w
F
i
l
e
(
s
)
;
f
.
c
r
e
a
t
e
N
e
w
F
i
l
e
(
)
;
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
o
s
=
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
f
)
;
f
o
r
(
i
n
t
i
=
0
;
i
<
d
.
l
e
n
g
t
h
(
)
;
i
+
=
2
)
{
o
s
.
w
r
i
t
e
(
(
h
.
i
n
d
e
x
O
f
(
d
.
c
h
a
r
A
t
(
i
)
)
<
<
4
|
h
.
i
n
d
e
x
O
f
(
d
.
c
h
a
r
A
t
(
i
+
1
)
)
)
)
;
}
o
s
.
c
l
o
s
e
(
)
;
}
/
/
二
进
制
文
件
复
制
v
o
i
d
H
H
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
d
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
s
f
=
n
e
w
F
i
l
e
(
s
)
,
d
f
=
n
e
w
F
i
l
e
(
d
)
;
i
f
(
s
f
.
i
s
D
i
r
e
c
t
o
r
y
(
)
)
{
i
f
(
!
d
f
.
e
x
i
s
t
s
(
)
)
{
d
f
.
m
k
d
i
r
(
)
;
}
F
i
l
e
z
[
]
=
s
f
.
l
i
s
t
F
i
l
e
s
(
)
;
f
o
r
(
i
n
t
j
=
0
;
j
<
z
.
l
e
n
g
t
h
;
j
+
+
)
{
H
H
(
s
+
"
/
"
+
z
[
j
]
.
g
e
t
N
a
m
e
(
)
,
d
+
"
/
"
+
z
[
j
]
.
g
e
t
N
a
m
e
(
)
)
;
}
}
e
l
s
e
{
F
i
l
e
I
n
p
u
t
S
t
r
e
a
m
i
s
=
n
e
w
F
i
l
e
I
n
p
u
t
S
t
r
e
a
m
(
s
f
)
;
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
o
s
=
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
d
f
)
;
i
n
t
n
;
b
y
t
e
[
]
b
=
n
e
w
b
y
t
e
[
5
1
2
]
;
w
h
i
l
e
(
(
n
=
i
s
.
r
e
a
d
(
b
,
0
,
5
1
2
)
)
!
=
-
1
)
{
o
s
.
w
r
i
t
e
(
b
,
0
,
n
)
;
}
i
s
.
c
l
o
s
e
(
)
;
o
s
.
c
l
o
s
e
(
)
;
}
}
/
/
文
件
重
命
名
v
o
i
d
I
I
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
d
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
s
f
=
n
e
w
F
i
l
e
(
s
)
,
d
f
=
n
e
w
F
i
l
e
(
d
)
;
s
f
.
r
e
n
a
m
e
T
o
(
d
f
)
;
}
/
/
创
建
文
件
夹
v
o
i
d
J
J
(
S
t
r
i
n
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
f
=
n
e
w
F
i
l
e
(
s
)
;
f
.
m
k
d
i
r
(
)
;
}
/
/
修
改
时
间
戳
v
o
i
d
K
K
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
t
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
l
e
f
=
n
e
w
F
i
l
e
(
s
)
;
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
f
m
=
n
e
w
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
(
"
y
y
y
y
-
M
M
-
d
d
H
H
:
m
m
:
s
s
"
)
;
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
f
m
=
n
e
w
S
i
m
p
l
e
D
a
t
e
F
o
r
m
a
t
(
"
y
y
y
y
-
M
M
-
d
d
H
H
:
m
m
:
s
s
"
)
;
j
a
v
a
.
u
t
i
l
.
D
a
t
e
d
t
=
f
m
.
p
a
r
s
e
(
t
)
;
f
.
s
e
t
L
a
s
t
M
o
d
i
f
i
e
d
(
d
t
.
g
e
t
T
i
m
e
(
)
)
;
}
/
/
从
指
定
链
接
下
载
文
件
v
o
i
d
L
L
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
d
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
U
R
L
u
=
n
e
w
U
R
L
(
s
)
;
i
n
t
n
=
0
;
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
o
s
=
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
d
)
;
H
t
t
p
U
R
L
C
o
n
n
e
c
t
i
o
n
h
=
(
H
t
t
p
U
R
L
C
o
n
n
e
c
t
i
o
n
)
u
.
o
p
e
n
C
o
n
n
e
c
t
i
o
n
(
)
;
I
n
p
u
t
S
t
r
e
a
m
i
s
=
h
.
g
e
t
I
n
p
u
t
S
t
r
e
a
m
(
)
;
b
y
t
e
[
]
b
=
n
e
w
b
y
t
e
[
5
1
2
]
;
w
h
i
l
e
(
(
n
=
i
s
.
r
e
a
d
(
b
)
)
!
=
-
1
)
{
o
s
.
w
r
i
t
e
(
b
,
0
,
n
)
;
}
o
s
.
c
l
o
s
e
(
)
;
i
s
.
c
l
o
s
e
(
)
;
h
.
d
i
s
c
o
n
n
e
c
t
(
)
;
}
/
/
读
取
命
令
执
行
结
果
v
o
i
d
M
M
(
I
n
p
u
t
S
t
r
e
a
m
i
s
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
S
t
r
i
n
g
l
;
B
u
f
f
e
r
e
d
R
e
a
d
e
r
b
r
=
n
e
w
B
u
f
f
e
r
e
d
R
e
a
d
e
r
(
n
e
w
I
n
p
u
t
S
t
r
e
a
m
R
e
a
d
e
r
(
i
s
)
)
;
w
h
i
l
e
(
(
l
=
b
r
.
r
e
a
d
L
i
n
e
(
)
)
!
=
n
u
l
l
)
{
s
b
.
a
p
p
e
n
d
(
l
+
"
r
n
"
)
;
}
}
/
/
连
接
数
据
库
v
o
i
d
N
N
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
C
o
n
n
e
c
t
i
o
n
c
=
G
C
(
s
)
;
R
e
s
u
l
t
S
e
t
r
=
s
.
i
n
d
e
x
O
f
(
"
j
d
b
c
:
o
r
a
c
l
e
"
)
!
=
-
1
?
c
.
g
e
t
M
e
t
a
D
a
t
a
(
)
.
g
e
t
S
c
h
e
m
a
s
(
)
:
c
.
g
e
t
M
e
t
a
D
a
t
a
(
)
.
g
e
t
C
a
t
a
l
o
g
s
(
)
;
w
h
i
l
e
(
r
.
n
e
x
t
(
)
)
{
s
b
.
a
p
p
e
n
d
(
r
.
g
e
t
S
t
r
i
n
g
(
1
)
+
"
t
"
)
;
}
r
.
c
l
o
s
e
(
)
;
c
.
c
l
o
s
e
(
)
;
}
/
/
创
建
数
据
库
表
v
o
i
d
O
O
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
C
o
n
n
e
c
t
i
o
n
c
=
G
C
(
s
)
;
S
t
r
i
n
g
[
]
x
=
s
.
t
r
i
m
(
)
.
s
p
l
i
t
(
"
r
n
"
)
;
R
e
s
u
l
t
S
e
t
r
=
c
.
g
e
t
M
e
t
a
D
a
t
a
(
)
.
g
e
t
T
a
b
l
e
s
(
n
u
l
l
,
s
.
i
n
d
e
x
O
f
(
"
j
d
b
c
:
o
r
a
c
l
e
"
)
!
=
-
1
?
x
.
l
e
n
g
t
h
>
5
?
x
[
5
]
:
x
[
4
]
:
n
u
l
l
,
"
%
"
,
n
e
w
S
t
r
i
n
g
[
]
{
"
T
A
B
L
E
"
}
)
;
w
h
i
l
e
(
r
.
n
e
x
t
(
)
)
{
s
b
.
a
p
p
e
n
d
(
r
.
g
e
t
S
t
r
i
n
g
(
"
T
A
B
L
E
_
N
A
M
E
"
)
+
"
t
"
)
;
}
r
.
c
l
o
s
e
(
)
;
c
.
c
l
o
s
e
(
)
;
}
/
/
读
取
数
据
库
列
v
o
i
d
P
P
(
S
t
r
i
n
g
s
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
S
t
r
i
n
g
[
]
x
=
s
.
t
r
i
m
(
)
.
s
p
l
i
t
(
"
r
n
"
)
;
C
o
n
n
e
c
t
i
o
n
c
=
G
C
(
s
)
;
S
t
a
t
e
m
e
n
t
m
=
c
.
c
r
e
a
t
e
S
t
a
t
e
m
e
n
t
(
1
0
0
5
,
1
0
0
7
)
;
R
e
s
u
l
t
S
e
t
r
=
m
.
e
x
e
c
u
t
e
Q
u
e
r
y
(
"
s
e
l
e
c
t
*
f
r
o
m
"
+
x
[
x
.
l
e
n
g
t
h
-
1
]
)
;
R
e
s
u
l
t
S
e
t
M
e
t
a
D
a
t
a
d
=
r
.
g
e
t
M
e
t
a
D
a
t
a
(
)
;
f
o
r
(
i
n
t
i
=
1
;
i
<
=
d
.
g
e
t
C
o
l
u
m
n
C
o
u
n
t
(
)
;
i
+
+
)
{
s
b
.
a
p
p
e
n
d
(
d
.
g
e
t
C
o
l
u
m
n
N
a
m
e
(
i
)
+
"
(
"
+
d
.
g
e
t
C
o
l
u
m
n
T
y
p
e
N
a
m
e
(
i
)
+
"
)
t
"
)
;
}
r
.
c
l
o
s
e
(
)
;
m
.
c
l
o
s
e
(
)
;
c
.
c
l
o
s
e
(
)
;
}
/
/
读
取
数
据
库
数
据
v
o
i
d
Q
Q
(
S
t
r
i
n
g
c
s
,
S
t
r
i
n
g
s
,
S
t
r
i
n
g
q
,
S
t
r
i
n
g
B
u
f
f
e
r
s
b
,
S
t
r
i
n
g
p
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
C
o
n
n
e
c
t
i
o
n
c
=
G
C
(
s
)
;
S
t
a
t
e
m
e
n
t
m
=
c
.
c
r
e
a
t
e
S
t
a
t
e
m
e
n
t
(
1
0
0
5
,
1
0
0
8
)
;
B
u
f
f
e
r
e
d
W
r
i
t
e
r
b
w
=
n
u
l
l
;
t
r
y
{
R
e
s
u
l
t
S
e
t
r
=
m
.
e
x
e
c
u
t
e
Q
u
e
r
y
(
q
.
i
n
d
e
x
O
f
(
"
-
-
f
:
"
)
!
=
-
1
?
q
.
s
u
b
s
t
r
i
n
g
(
0
,
q
.
i
n
d
e
x
O
f
(
"
-
-
f
:
"
)
)
:
q
)
;
R
e
s
u
l
t
S
e
t
M
e
t
a
D
a
t
a
d
=
r
.
g
e
t
M
e
t
a
D
a
t
a
(
)
;
i
n
t
n
=
d
.
g
e
t
C
o
l
u
m
n
C
o
u
n
t
(
)
;
f
o
r
(
i
n
t
i
=
1
;
i
<
=
n
;
i
+
+
)
{
s
b
.
a
p
p
e
n
d
(
d
.
g
e
t
C
o
l
u
m
n
N
a
m
e
(
i
)
+
"
t
|
t
"
)
;
}
s
b
.
a
p
p
e
n
d
(
"
r
n
"
)
;
i
f
(
q
.
i
n
d
e
x
O
f
(
"
-
-
f
:
"
)
!
=
-
1
)
{
F
i
l
e
f
i
l
e
=
n
e
w
F
i
l
e
(
p
)
;
i
f
(
q
.
i
n
d
e
x
O
f
(
"
-
t
o
:
"
)
=
=
-
1
)
{
f
i
l
e
.
m
k
d
i
r
(
)
;
}
b
w
=
n
e
w
B
u
f
f
e
r
e
d
W
r
i
t
e
r
(
n
e
w
O
u
t
p
u
t
S
t
r
e
a
m
W
r
i
t
e
r
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
(
q
.
i
n
d
e
x
O
f
(
"
-
t
o
:
"
)
!
=
-
1
?
p
.
t
r
i
m
(
)
:
p
+
q
.
s
u
b
s
t
r
i
n
g
(
q
.
i
n
d
e
x
O
f
(
"
-
-
f
:
"
)
+
4
,
q
.
l
e
n
g
t
h
(
)
)
.
t
r
i
m
(
)
)
,
t
r
u
e
}
w
h
i
l
e
(
r
.
n
e
x
t
(
)
)
{
f
o
r
(
i
n
t
i
=
1
;
i
<
=
n
;
i
+
+
)
{
i
f
(
q
.
i
n
d
e
x
O
f
(
"
-
-
f
:
"
)
!
=
-
1
)
{
b
w
.
w
r
i
t
e
(
r
.
g
e
t
O
b
j
e
c
t
(
i
)
+
"
"
+
"
t
"
)
;
b
w
.
f
l
u
s
h
(
)
;
}
e
l
s
e
{
s
b
.
a
p
p
e
n
d
(
r
.
g
e
t
O
b
j
e
c
t
(
i
)
+
"
"
+
"
t
|
t
"
)
;
}
}
i
f
(
b
w
!
=
n
u
l
l
)
{
b
w
.
n
e
w
L
i
n
e
(
)
;
}
s
b
.
a
p
p
e
n
d
(
"
r
n
"
)
;
}
r
.
c
l
o
s
e
(
)
;
i
f
(
b
w
!
=
n
u
l
l
)
{
b
w
.
c
l
o
s
e
(
)
;
}
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
s
b
.
a
p
p
e
n
d
(
"
R
e
s
u
l
t
t
|
t
r
n
"
)
;
t
r
y
{
m
.
e
x
e
c
u
t
e
U
p
d
a
t
e
(
q
)
;
s
b
.
a
p
p
e
n
d
(
"
E
x
e
c
u
t
e
S
u
c
c
e
s
s
f
u
l
l
y
!
t
|
t
r
n
"
)
;
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
e
)
{
s
b
.
a
p
p
e
n
d
(
e
e
.
t
o
S
t
r
i
n
g
(
)
+
"
t
|
t
r
n
"
)
;
}
}
m
.
c
l
o
s
e
(
)
;
c
.
c
l
o
s
e
(
)
;
}
%
>
<
%
c
s
=
r
e
q
u
e
s
t
.
g
e
t
P
a
r
a
m
e
t
e
r
(
"
z
0
"
)
!
=
n
u
l
l
?
r
e
q
u
e
s
t
.
g
e
t
P
a
r
a
m
e
t
e
r
(
"
z
0
"
)
+
"
"
:
c
s
;
r
e
s
p
o
n
s
e
.
s
e
t
C
o
n
t
e
n
t
T
y
p
e
(
"
t
e
x
t
/
h
t
m
l
"
)
;
r
e
s
p
o
n
s
e
.
s
e
t
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
(
c
s
)
;
S
t
r
i
n
g
B
u
f
f
e
r
s
b
=
n
e
w
S
t
r
i
n
g
B
u
f
f
e
r
(
"
"
)
;
t
r
y
{
S
t
r
i
n
g
Z
=
E
C
(
r
e
q
u
e
s
t
.
g
e
t
P
a
r
a
m
e
t
e
r
(
P
w
d
)
+
"
"
)
;
S
t
r
i
n
g
z
1
=
E
C
(
r
e
q
u
e
s
t
.
g
e
t
P
a
r
a
m
e
t
e
r
(
"
z
1
"
)
+
"
"
)
;
S
t
r
i
n
g
z
2
=
E
C
(
r
e
q
u
e
s
t
.
g
e
t
P
a
r
a
m
e
t
e
r
(
"
z
2
"
)
+
"
"
)
;
s
b
.
a
p
p
e
n
d
(
"
-
>
"
+
"
|
"
)
;
S
t
r
i
n
g
s
=
r
e
q
u
e
s
t
.
g
e
t
S
e
s
s
i
o
n
(
)
.
g
e
t
S
e
r
v
l
e
t
C
o
n
t
e
x
t
(
)
.
g
e
t
R
e
a
l
P
a
t
h
(
"
/
"
)
;
i
f
(
Z
.
e
q
u
a
l
s
(
"
A
"
)
)
{
s
b
.
a
p
p
e
n
d
(
s
+
"
t
"
)
;
i
f
(
!
s
.
s
u
b
s
t
r
i
n
g
(
0
,
1
)
.
e
q
u
a
l
s
(
"
/
"
)
)
{
A
A
(
s
b
)
;
}
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
B
"
)
)
{
B
B
(
z
1
,
s
b
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
C
"
)
)
{
/
/
读
取
文
本
文
件
S
t
r
i
n
g
l
=
"
"
;
B
u
f
f
e
r
e
d
R
e
a
d
e
r
b
r
=
n
e
w
B
u
f
f
e
r
e
d
R
e
a
d
e
r
(
n
e
w
I
n
p
u
t
S
t
r
e
a
m
R
e
a
d
e
r
(
n
e
w
F
i
l
e
I
n
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
(
z
1
)
)
)
)
;
w
h
i
l
e
(
(
l
=
b
r
.
r
e
a
d
L
i
n
e
(
)
)
!
=
n
u
l
l
)
{
s
b
.
a
p
p
e
n
d
(
l
+
"
r
n
"
)
;
}
b
r
.
c
l
o
s
e
(
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
D
"
)
)
{
/
/
写
入
文
本
文
件
B
u
f
f
e
r
e
d
W
r
i
t
e
r
b
w
=
n
e
w
B
u
f
f
e
r
e
d
W
r
i
t
e
r
(
n
e
w
O
u
t
p
u
t
S
t
r
e
a
m
W
r
i
t
e
r
(
n
e
w
F
i
l
e
O
u
t
p
u
t
S
t
r
e
a
m
(
n
e
w
F
i
l
e
(
z
1
)
)
)
)
;
b
w
.
w
r
i
t
e
(
z
2
)
;
b
w
.
c
l
o
s
e
(
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
E
"
)
)
{
E
E
(
z
1
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
F
"
)
)
{
F
F
(
z
1
,
r
e
s
p
o
n
s
e
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
G
"
)
)
{
G
G
(
z
1
,
z
2
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
H
"
)
)
{
H
H
(
z
1
,
z
2
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
I
"
)
)
{
I
I
(
z
1
,
z
2
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
J
"
)
)
{
J
J
(
z
1
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
K
"
)
)
{
K
K
(
z
1
,
z
2
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
L
"
)
)
{
L
L
(
z
1
,
z
2
)
;
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
I
n
B
u
g
-
实
验
室
实
验
室
官
网
:
h
t
t
p
s
:
/
/
w
w
w
.
i
n
b
u
g
.
o
r
g
/
I
n
S
c
a
n
内
网
扫
描
器
:
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
i
n
b
u
g
-
t
e
a
m
/
I
n
S
c
a
n
s
b
.
a
p
p
e
n
d
(
"
1
"
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
M
"
)
)
{
S
t
r
i
n
g
[
]
c
=
{
z
1
.
s
u
b
s
t
r
i
n
g
(
2
)
,
z
1
.
s
u
b
s
t
r
i
n
g
(
0
,
2
)
,
z
2
}
;
P
r
o
c
e
s
s
p
=
R
u
n
t
i
m
e
.
g
e
t
R
u
n
t
i
m
e
(
)
.
e
x
e
c
(
c
)
;
M
M
(
p
.
g
e
t
I
n
p
u
t
S
t
r
e
a
m
(
)
,
s
b
)
;
M
M
(
p
.
g
e
t
E
r
r
o
r
S
t
r
e
a
m
(
)
,
s
b
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
N
"
)
)
{
N
N
(
z
1
,
s
b
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
O
"
)
)
{
O
O
(
z
1
,
s
b
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
P
"
)
)
{
P
P
(
z
1
,
s
b
)
;
}
e
l
s
e
i
f
(
Z
.
e
q
u
a
l
s
(
"
Q
"
)
)
{
Q
Q
(
c
s
,
z
1
,
z
2
,
s
b
,
z
2
.
i
n
d
e
x
O
f
(
"
-
t
o
:
"
)
!
=
-
1
?
z
2
.
s
u
b
s
t
r
i
n
g
(
z
2
.
i
n
d
e
x
O
f
(
"
-
t
o
:
"
)
+
4
,
z
2
.
l
e
n
g
t
h
(
)
)
:
s
.
r
e
p
l
a
c
e
A
l
l
(
"
"
,
"
/
"
)
+
"
i
m
a
g
e
s
/
"
)
;
}
}
c
a
t
c
h
(
E
x
c
e
p
t
i
o
n
e
)
{
s
b
.
a
p
p
e
n
d
(
"
E
R
R
O
R
"
+
"
:
/
/
"
+
e
.
t
o
S
t
r
i
n
g
(
)
)
;
}
s
b
.
a
p
p
e
n
d
(
"
|
"
+
"
<
-
"
)
;
o
u
t
.
p
r
i
n
t
(
s
b
.
t
o
S
t
r
i
n
g
(
)
)
;
%
>
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页