论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码执行
[14137] 2019-05-22_一文看懂Python沙箱逃逸
文档创建者:
s7ckTeam
浏览次数:
4
最后更新:
2025-01-18
代码执行
4 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前在线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2019-05-22_一文看懂Python沙箱逃逸
一
文
看
懂
P
y
t
h
o
n
沙
箱
逃
逸
M
a
c
r
0
p
h
a
g
3
F
r
e
e
B
u
f
2
0
1
9
-
0
5
-
2
2
让
用
户
提
交
让
用
户
提
交
P
y
t
h
o
n
代
码
并
在
服
务
器
上
执
行
,
是
一
些
代
码
并
在
服
务
器
上
执
行
,
是
一
些
O
J
、
量
化
网
站
重
要
的
服
务
,
很
多
、
量
化
网
站
重
要
的
服
务
,
很
多
C
T
F
也
有
类
似
的
题
。
为
了
不
让
恶
意
用
户
执
行
任
意
的
也
有
类
似
的
题
。
为
了
不
让
恶
意
用
户
执
行
任
意
的
P
y
t
h
o
n
代
码
,
就
需
要
确
保
代
码
,
就
需
要
确
保
P
y
t
h
o
n
运
行
在
沙
运
行
在
沙
箱
中
。
沙
箱
经
常
会
禁
用
一
些
敏
感
的
函
数
,
例
如
箱
中
。
沙
箱
经
常
会
禁
用
一
些
敏
感
的
函
数
,
例
如
o
s
,
研
究
怎
么
逃
逸
、
防
护
这
类
沙
箱
还
是
蛮
有
意
思
的
。
,
研
究
怎
么
逃
逸
、
防
护
这
类
沙
箱
还
是
蛮
有
意
思
的
。
前
言
前
言
P
y
t
h
o
n
的
沙
箱
逃
逸
的
最
终
目
标
就
是
执
行
系
统
任
意
命
令
,
次
一
点
的
写
文
件
,
再
次
一
点
的
读
文
件
。
顺
便
安
利
一
本
书
:
《
流
畅
的
P
y
t
h
o
n
》
。
这
本
书
有
很
多
中
高
阶
知
识
点
,
很
全
面
而
且
讲
的
很
清
楚
,
如
果
你
看
过
,
相
信
理
解
这
篇
文
章
的
大
多
数
内
容
都
不
是
问
题
。
接
下
来
的
内
容
先
讲
系
统
命
令
执
行
,
再
讲
文
件
写
入
、
读
取
,
并
且
均
以
o
j
为
例
,
库
大
多
以
为
例
。
执
行
系
统
命
令
执
行
系
统
命
令
基
础
知
识
基
础
知
识
先
啰
嗦
一
些
基
础
知
识
在
P
y
t
h
o
n
中
执
行
系
统
命
令
的
方
式
有
:
o
s
c
o
m
m
a
n
d
s
:
仅
限
s
u
b
p
r
o
c
e
s
s
t
i
m
e
i
t
:
、
p
l
a
t
f
o
r
m
:
、
、
p
t
y
:
、
b
d
b
:
、
c
g
i
:
、
…
我
写
了
一
个
脚
本
,
测
试
了
一
下
所
有
的
导
入
或
者
的
库
:
o
s
2
.
x
t
i
m
e
i
t
.
s
y
s
t
i
m
e
i
t
.
t
i
m
e
i
t
(
"
_
_
i
m
p
o
r
t
_
_
(
'
o
s
'
)
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
"
,
n
u
m
b
e
r
=
1
)
p
l
a
t
f
o
r
m
.
o
s
p
l
a
t
f
o
r
m
.
s
y
s
p
l
a
t
f
o
r
m
.
p
o
p
e
n
(
'
w
h
o
a
m
i
'
,
m
o
d
e
=
'
r
'
,
b
u
f
s
i
z
e
=
-
1
)
.
r
e
a
d
(
)
p
t
y
.
s
p
a
w
n
(
'
l
s
'
)
p
t
y
.
o
s
b
d
b
.
o
s
c
g
i
.
s
y
s
c
g
i
.
o
s
c
g
i
.
s
y
s
o
s
s
y
s
#
-
*
-
c
o
d
i
n
g
:
u
t
f
8
-
*
-
#
B
y
M
a
c
r
0
p
h
a
g
3
#
i
n
2
0
1
9
-
0
5
-
0
7
1
9
:
4
6
:
1
2
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
t
h
i
s
,
a
n
t
i
g
r
a
v
i
t
y
库
删
掉
a
l
l
_
m
o
d
u
l
e
s
_
2
=
[
'
B
a
s
e
H
T
T
P
S
e
r
v
e
r
'
,
'
i
m
a
p
l
i
b
'
,
'
s
h
e
l
v
e
'
,
'
B
a
s
t
i
o
n
'
,
'
a
n
y
d
b
m
'
,
'
i
m
g
h
d
r
'
,
'
s
h
l
e
x
'
,
'
C
D
R
O
M
'
,
'
a
r
g
p
a
r
s
e
'
,
'
i
m
p
'
,
'
s
h
u
t
i
l
'
,
'
C
G
I
H
T
T
P
S
e
r
v
e
r
'
,
'
a
r
r
a
y
'
,
'
i
m
p
o
r
t
l
i
b
'
,
'
s
i
g
n
a
l
'
,
'
C
a
n
v
a
s
'
]
a
l
l
_
m
o
d
u
l
e
s
_
3
=
[
'
A
p
t
U
r
l
'
,
'
h
m
a
c
'
,
'
r
e
q
u
e
s
t
s
_
u
n
i
x
s
o
c
k
e
t
'
,
'
C
o
m
m
a
n
d
N
o
t
F
o
u
n
d
'
,
'
a
p
p
o
r
t
'
,
'
h
p
m
u
d
e
x
t
'
,
'
r
e
s
o
u
r
c
e
'
,
'
C
r
y
p
t
o
'
,
'
a
p
p
o
r
t
_
p
y
t
h
o
n
_
h
o
o
k
'
,
'
h
t
m
l
'
,
'
r
l
c
o
m
p
l
e
t
e
r
'
,
'
D
i
s
t
U
p
g
r
a
d
e
'
,
'
a
p
t
'
,
]
m
e
t
h
o
d
s
=
[
'
o
s
'
,
'
s
y
s
'
,
'
_
_
b
u
i
l
t
i
n
s
_
_
'
]
r
e
s
u
l
t
s
=
{
}
f
o
r
m
o
d
u
l
e
i
n
a
l
l
_
m
o
d
u
l
e
s
_
3
:
r
e
s
u
l
t
s
[
m
o
d
u
l
e
]
=
{
'
f
l
a
g
'
:
0
,
'
r
e
s
u
l
t
'
:
{
}
}
t
r
y
:
m
=
_
_
i
m
p
o
r
t
_
_
(
m
o
d
u
l
e
)
a
t
t
r
s
=
d
i
r
(
m
)
f
o
r
m
e
t
h
o
d
i
n
m
e
t
h
o
d
s
:
i
f
m
e
t
h
o
d
i
n
a
t
t
r
s
:
r
e
s
u
l
t
=
'
y
e
s
'
r
e
s
u
l
t
s
[
m
o
d
u
l
e
]
[
'
f
l
a
g
'
]
=
1
e
l
s
e
:
r
e
s
u
l
t
=
'
n
o
'
r
e
s
u
l
t
s
[
m
o
d
u
l
e
]
[
'
r
e
s
u
l
t
'
]
[
m
e
t
h
o
d
]
=
r
e
s
u
l
t
e
x
c
e
p
t
E
x
c
e
p
t
i
o
n
a
s
e
:
p
r
i
n
t
(
e
)
f
o
r
r
e
s
u
l
t
i
n
r
e
s
u
l
t
s
:
i
f
r
e
s
u
l
t
s
[
r
e
s
u
l
t
]
[
'
f
l
a
g
'
]
:
p
r
i
n
t
(
'
[
+
]
'
+
r
e
s
u
l
t
)
就
是
2
.
x
的
标
准
库
,
就
是
3
.
x
的
标
准
库
。
结
果
相
当
多
,
这
里
就
不
贴
了
。
这
里
注
意
一
下
,
这
个
文
件
别
命
名
为
,
如
果
命
名
为
t
e
s
t
会
怎
么
样
呢
?
可
以
先
猜
一
猜
,
后
面
会
给
解
释
。
如
果
o
j
支
持
的
话
,
这
些
库
都
是
高
危
的
,
放
任
不
管
基
本
上
是
坐
等
被
日
。
所
以
为
了
避
免
过
滤
不
完
善
导
致
各
种
问
题
,
在
P
y
t
h
o
n
沙
箱
套
一
层
d
o
c
k
e
r
肯
定
不
会
是
坏
事
。
花
式
花
式
i
m
p
o
r
t
首
先
,
禁
用
肯
定
是
不
行
的
,
因
为
都
可
以
。
如
果
多
个
空
格
也
过
滤
了
,
P
y
t
h
o
n
能
够
i
m
p
o
r
t
的
可
不
止
,
还
有
:
,
被
干
了
还
有
:
这
样
就
安
全
了
吗
?
实
际
上
可
以
通
过
其
他
方
式
完
成
。
回
想
一
下
i
m
p
o
r
t
的
原
理
,
本
质
上
就
是
执
行
一
遍
导
入
的
库
。
这
个
过
程
实
际
上
可
以
用
来
代
替
:
不
过
要
注
意
,
2
.
x
才
能
用
,
3
.
x
删
了
e
x
e
c
f
i
l
e
,
不
过
可
以
这
样
:
这
个
方
法
倒
是
2
.
x
、
3
.
x
通
用
的
。
不
过
要
使
用
上
面
的
这
两
种
方
法
,
就
必
须
知
道
库
的
路
径
。
其
实
在
大
多
数
的
环
境
下
,
库
都
是
默
认
路
径
。
如
果
s
y
s
没
被
干
掉
的
话
,
还
可
以
确
认
一
下
,
:
花
式
处
理
字
符
串
花
式
处
理
字
符
串
代
码
中
要
是
出
现
,
直
接
不
让
运
行
。
那
么
可
以
利
用
字
符
串
的
各
种
变
化
来
引
入
o
s
:
还
可
以
利
用
或
者
:
顺
便
说
一
下
,
e
v
a
l
、
e
x
e
c
都
是
相
当
危
险
的
函
数
,
e
x
e
c
比
e
v
a
l
还
要
危
险
,
它
们
一
定
要
过
滤
,
因
为
字
符
串
有
很
多
变
形
的
方
式
,
对
字
符
串
的
处
理
可
以
有
:
逆
序
、
变
量
拼
接
、
b
a
s
e
6
4
、
h
e
x
、
r
o
t
1
3
…
等
等
,
太
多
了
。
。
。
恢
复
恢
复
s
y
s
.
m
o
d
u
l
e
s
是
一
个
字
典
,
里
面
储
存
了
加
载
过
的
模
块
信
息
。
如
果
P
y
t
h
o
n
是
刚
启
动
的
话
,
所
列
出
的
模
块
就
是
解
释
器
在
启
动
时
自
动
加
载
的
模
块
。
有
些
库
例
如
是
默
认
被
加
载
进
来
的
,
但
是
不
能
直
接
使
用
,
原
因
在
于
s
y
s
.
m
o
d
u
l
e
s
中
未
经
i
m
p
o
r
t
加
载
的
模
块
对
当
前
空
间
是
不
可
见
的
。
如
果
将
o
s
从
s
y
s
.
m
o
d
u
l
e
s
中
剔
除
,
o
s
就
彻
底
没
法
用
了
:
注
意
,
这
里
不
能
用
,
因
为
,
当
i
m
p
o
r
t
一
个
模
块
时
:
i
m
p
o
r
t
A
,
检
查
s
y
s
.
m
o
d
u
l
e
s
中
是
否
已
经
有
A
,
如
果
有
则
不
加
载
,
如
果
没
有
则
为
A
创
建
m
o
d
u
l
e
对
象
,
并
加
载
A
。
所
以
删
了
只
会
让
P
y
t
h
o
n
重
新
加
载
一
次
o
s
。
看
到
这
你
肯
定
发
现
了
,
对
于
上
面
的
过
滤
方
式
,
绕
过
的
方
式
可
以
是
这
样
:
最
后
还
有
一
种
利
用
导
入
的
方
式
,
下
面
会
详
细
说
。
花
式
执
行
函
数
花
式
执
行
函
数
f
o
r
r
i
n
r
e
s
u
l
t
s
[
r
e
s
u
l
t
]
[
'
r
e
s
u
l
t
'
]
:
p
r
i
n
t
(
'
[
-
]
'
+
r
+
'
:
'
+
r
e
s
u
l
t
s
[
r
e
s
u
l
t
]
[
'
r
e
s
u
l
t
'
]
[
r
]
)
a
l
l
_
m
o
d
u
l
e
s
_
2
a
l
l
_
m
o
d
u
l
e
s
_
3
t
e
s
t
.
p
y
i
m
p
o
r
t
i
m
p
o
r
t
o
s
i
m
p
o
r
t
o
s
i
m
p
o
r
t
o
s
i
m
p
o
r
t
o
s
.
.
.
i
m
p
o
r
t
_
_
i
m
p
o
r
t
_
_
_
_
i
m
p
o
r
t
_
_
(
'
o
s
'
)
_
_
i
m
p
o
r
t
_
_
i
m
p
o
r
t
l
i
b
i
m
p
o
r
t
l
i
b
.
i
m
p
o
r
t
_
m
o
d
u
l
e
(
'
o
s
'
)
.
s
y
s
t
e
m
(
'
l
s
'
)
i
m
p
o
r
t
e
x
e
c
f
i
l
e
e
x
e
c
f
i
l
e
(
'
/
u
s
r
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
o
s
.
p
y
'
)
s
y
s
t
e
m
(
'
l
s
'
)
w
i
t
h
o
p
e
n
(
'
/
u
s
r
/
l
i
b
/
p
y
t
h
o
n
3
.
6
/
o
s
.
p
y
'
,
'
r
'
)
a
s
f
:
e
x
e
c
(
f
.
r
e
a
d
(
)
)
s
y
s
t
e
m
(
'
l
s
'
)
i
m
p
o
r
t
s
y
s
p
r
i
n
t
(
s
y
s
.
p
a
t
h
)
o
s
_
_
i
m
p
o
r
t
_
_
(
'
s
o
'
[
:
:
-
1
]
)
.
s
y
s
t
e
m
(
'
l
s
'
)
b
=
'
o
'
a
=
'
s
'
_
_
i
m
p
o
r
t
_
_
(
a
+
b
)
.
s
y
s
t
e
m
(
'
l
s
'
)
e
v
a
l
e
x
e
c
>
>
>
e
v
a
l
(
'
)
"
i
m
a
o
h
w
"
(
m
e
t
s
y
s
.
)
"
s
o
"
(
_
_
t
r
o
p
m
i
_
_
'
[
:
:
-
1
]
)
m
a
c
r
0
p
h
a
g
3
0
>
>
>
e
x
e
c
(
'
)
"
i
m
a
o
h
w
"
(
m
e
t
s
y
s
.
s
o
;
s
o
t
r
o
p
m
i
'
[
:
:
-
1
]
)
m
a
c
r
0
p
h
a
g
3
s
y
s
.
m
o
d
u
l
e
s
o
s
>
>
>
s
y
s
.
m
o
d
u
l
e
s
[
'
o
s
'
]
=
'
n
o
t
a
l
l
o
w
e
d
'
>
>
>
i
m
p
o
r
t
o
s
>
>
>
o
s
.
s
y
s
t
e
m
(
'
l
s
'
)
T
r
a
c
e
b
a
c
k
(
m
o
s
t
r
e
c
e
n
t
c
a
l
l
l
a
s
t
)
:
F
i
l
e
"
<
s
t
d
i
n
>
"
,
l
i
n
e
1
,
i
n
<
m
o
d
u
l
e
>
A
t
t
r
i
b
u
t
e
E
r
r
o
r
:
'
s
t
r
'
o
b
j
e
c
t
h
a
s
n
o
a
t
t
r
i
b
u
t
e
'
s
y
s
t
e
m
'
>
>
>
d
e
l
s
y
s
.
m
o
d
u
l
e
s
[
'
o
s
'
]
s
y
s
.
m
o
d
u
l
e
s
[
'
o
s
'
]
s
y
s
.
m
o
d
u
l
e
s
[
'
o
s
'
]
=
'
n
o
t
a
l
l
o
w
e
d
'
#
o
j
为
你
加
的
d
e
l
s
y
s
.
m
o
d
u
l
e
s
[
'
o
s
'
]
i
m
p
o
r
t
o
s
o
s
.
s
y
s
t
e
m
(
'
l
s
'
)
_
_
b
u
i
l
t
i
n
s
_
_
通
过
上
面
内
容
我
们
很
容
易
发
现
,
光
引
入
o
s
只
不
过
是
第
一
步
,
如
果
把
s
y
s
t
e
m
这
个
函
数
干
掉
,
也
没
法
通
过
执
行
系
统
命
令
,
并
且
这
里
的
也
不
是
字
符
串
,
也
没
法
直
接
做
编
码
等
等
操
作
。
我
遇
到
过
一
个
环
境
,
直
接
在
中
删
了
函
数
。
。
。
不
过
,
要
明
确
的
是
,
o
s
中
能
够
执
行
系
统
命
令
的
函
数
有
很
多
:
应
该
还
有
一
些
,
可
以
在
这
里
找
找
:
2
.
x
传
送
门
3
.
x
传
送
门
过
滤
的
时
候
说
不
定
还
有
其
他
函
数
给
漏
了
。
其
次
,
可
以
通
过
拿
到
对
象
的
方
法
、
属
性
:
不
让
出
现
i
m
p
o
r
t
也
没
事
:
一
样
可
以
。
这
个
方
法
同
样
可
以
用
于
逃
逸
过
滤
i
m
p
o
r
t
的
沙
箱
。
关
于
,
见
下
文
。
与
相
似
的
还
有
、
,
它
们
自
己
的
区
别
就
是
相
当
于
,
都
是
获
取
类
属
性
/
方
法
的
一
种
方
式
,
在
获
取
的
时
候
会
触
发
,
如
果
找
不
到
,
则
触
发
,
还
找
不
到
则
报
错
。
更
具
体
的
这
里
就
不
解
释
了
,
有
兴
趣
的
话
可
以
搜
搜
。
b
u
i
l
t
i
n
s
、
、
b
u
i
l
t
i
n
与
与
b
u
i
l
t
i
n
s
先
说
一
下
,
、
,
与
的
区
别
:
首
先
我
们
知
道
,
在
P
y
t
h
o
n
中
,
有
很
多
函
数
不
需
要
任
何
i
m
p
o
r
t
就
可
以
直
接
使
用
,
例
如
、
。
之
所
以
可
以
这
样
,
是
因
为
P
y
t
h
o
n
有
个
叫
(
或
者
叫
内
建
命
名
空
间
)
的
东
西
,
它
有
一
些
常
用
函
数
,
变
量
和
类
。
顺
便
说
一
下
,
P
y
t
h
o
n
对
函
数
、
变
量
、
类
等
等
的
查
找
方
式
是
按
规
则
来
找
的
,
其
中
B
即
代
表
内
建
模
块
,
这
里
也
不
再
赘
述
了
,
有
兴
趣
的
搜
搜
就
明
白
了
。
在
2
.
x
版
本
中
,
内
建
模
块
被
命
名
为
,
到
了
3
.
x
就
成
了
。
它
们
都
需
要
i
m
p
o
r
t
才
能
查
看
:
2
.
x
:
3
.
x
:
但
是
,
两
者
都
有
,
实
际
上
是
和
的
引
用
。
它
不
需
要
导
入
,
我
估
计
是
为
了
统
一
2
.
x
和
3
.
x
。
不
过
与
和
是
有
一
点
区
别
的
,
感
兴
趣
的
话
建
议
查
一
下
,
这
里
就
不
啰
嗦
了
。
不
管
怎
么
样
,
相
对
实
用
一
点
,
并
且
在
里
有
很
多
好
东
西
:
那
么
既
然
有
这
么
多
危
险
的
函
数
,
不
如
将
里
面
的
危
险
函
数
破
坏
了
:
或
者
直
接
删
了
:
但
是
我
们
可
以
利
用
来
恢
复
。
不
过
,
我
们
在
使
用
的
时
候
也
没
导
入
,
说
明
也
在
里
,
那
如
果
连
都
从
中
删
了
,
就
没
法
恢
复
了
,
需
要
另
寻
他
法
。
还
有
一
种
情
况
是
利
用
动
态
运
行
语
句
时
的
绕
过
,
比
如
实
现
一
个
计
算
器
的
时
候
,
在
最
后
有
给
出
例
子
。
这
里
注
意
,
2
.
x
的
是
内
建
的
,
3
.
x
需
要
,
然
后
再
。
你
看
,
r
e
l
o
a
d
的
参
数
是
,
所
以
肯
定
还
能
用
于
重
新
载
入
其
他
模
块
,
这
个
放
在
下
面
说
。
通
过
继
承
关
系
逃
逸
通
过
继
承
关
系
逃
逸
在
P
y
t
h
o
n
中
提
到
继
承
就
不
得
不
提
,
就
是
方
法
解
析
顺
序
,
因
为
P
y
t
h
o
n
支
持
多
重
继
承
,
所
以
就
必
须
有
个
方
式
判
断
某
个
方
法
到
底
是
A
的
还
是
B
的
。
2
.
2
之
前
是
经
典
类
,
搜
索
是
深
度
优
先
;
经
典
类
后
来
发
展
为
新
式
类
,
使
用
广
度
优
先
搜
索
,
再
后
来
新
式
类
的
搜
索
变
为
C
3
算
法
;
而
3
.
x
中
新
式
类
一
统
江
湖
,
默
认
继
承
,
当
然
也
是
使
用
的
C
3
搜
索
算
法
。
。
。
扯
远
了
扯
远
了
,
感
兴
趣
的
可
以
搜
搜
。
不
管
怎
么
说
,
总
是
让
人
去
判
断
继
承
关
系
显
然
是
反
人
类
的
,
所
以
P
y
t
h
o
n
中
新
式
类
都
有
个
属
性
,
叫
,
是
个
元
组
,
记
录
了
继
承
关
系
:
o
s
.
s
y
s
t
e
m
s
y
s
t
e
m
/
u
s
r
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
o
s
.
p
y
s
y
s
t
e
m
p
r
i
n
t
(
o
s
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
)
p
r
i
n
t
(
o
s
.
p
o
p
e
n
(
'
w
h
o
a
m
i
'
)
.
r
e
a
d
(
)
)
p
r
i
n
t
(
o
s
.
p
o
p
e
n
2
(
'
w
h
o
a
m
i
'
)
.
r
e
a
d
(
)
)
#
2
.
x
p
r
i
n
t
(
o
s
.
p
o
p
e
n
3
(
'
w
h
o
a
m
i
'
)
.
r
e
a
d
(
)
)
#
2
.
x
p
r
i
n
t
(
o
s
.
p
o
p
e
n
4
(
'
w
h
o
a
m
i
'
)
.
r
e
a
d
(
)
)
#
2
.
x
.
.
.
s
y
s
t
e
m
g
e
t
a
t
t
r
i
m
p
o
r
t
o
s
g
e
t
a
t
t
r
(
o
s
,
'
m
e
t
s
y
s
'
[
:
:
-
1
]
)
(
'
w
h
o
a
m
i
'
)
>
>
>
g
e
t
a
t
t
r
(
g
e
t
a
t
t
r
(
_
_
b
u
i
l
t
i
n
s
_
_
,
'
_
_
t
r
o
p
m
i
_
_
'
[
:
:
-
1
]
)
(
'
s
o
'
[
:
:
-
1
]
)
,
'
m
e
t
s
y
s
'
[
:
:
-
1
]
)
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
_
_
b
u
i
l
t
i
n
s
_
_
g
e
t
a
t
t
r
_
_
g
e
t
a
t
t
r
_
_
_
_
g
e
t
a
t
t
r
i
b
u
t
e
_
_
g
e
t
a
t
t
r
c
l
a
s
s
.
a
t
t
r
_
_
g
e
t
a
t
t
r
i
b
u
t
e
_
_
_
_
g
e
t
a
t
t
r
i
b
u
t
e
_
_
_
_
g
e
t
a
t
t
r
_
_
b
u
i
l
t
i
n
b
u
i
l
t
i
n
s
_
_
b
u
i
l
t
i
n
_
_
_
_
b
u
i
l
t
i
n
s
_
_
c
h
r
o
p
e
n
内
建
模
块
L
E
G
B
_
_
b
u
i
l
t
i
n
_
_
b
u
i
l
t
i
n
s
>
>
>
i
m
p
o
r
t
_
_
b
u
i
l
t
i
n
_
_
>
>
>
_
_
b
u
i
l
t
i
n
_
_
<
m
o
d
u
l
e
'
_
_
b
u
i
l
t
i
n
_
_
'
(
b
u
i
l
t
-
i
n
)
>
>
>
>
i
m
p
o
r
t
b
u
i
l
t
i
n
s
>
>
>
b
u
i
l
t
i
n
s
<
m
o
d
u
l
e
'
b
u
i
l
t
i
n
s
'
(
b
u
i
l
t
-
i
n
)
>
_
_
b
u
i
l
t
i
n
s
_
_
_
_
b
u
i
l
t
i
n
_
_
b
u
i
l
t
i
n
s
_
_
b
u
i
l
t
i
n
s
_
_
_
_
b
u
i
l
t
i
n
_
_
b
u
i
l
t
i
n
s
_
_
b
u
i
l
t
i
n
s
_
_
_
_
b
u
i
l
t
i
n
s
_
_
>
>
>
'
_
_
i
m
p
o
r
t
_
_
'
i
n
d
i
r
(
_
_
b
u
i
l
t
i
n
s
_
_
)
T
r
u
e
>
>
>
_
_
b
u
i
l
t
i
n
s
_
_
.
_
_
d
i
c
t
_
_
[
'
_
_
i
m
p
o
r
t
_
_
'
]
(
'
o
s
'
)
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
>
>
>
'
e
v
a
l
'
i
n
d
i
r
(
_
_
b
u
i
l
t
i
n
s
_
_
)
T
r
u
e
>
>
>
'
e
x
e
c
f
i
l
e
'
i
n
d
i
r
(
_
_
b
u
i
l
t
i
n
s
_
_
)
T
r
u
e
_
_
b
u
i
l
t
i
n
s
_
_
_
_
b
u
i
l
t
i
n
s
_
_
.
_
_
d
i
c
t
_
_
[
'
e
v
a
l
'
]
=
'
n
o
t
a
l
l
o
w
e
d
'
d
e
l
_
_
b
u
i
l
t
i
n
s
_
_
.
_
_
d
i
c
t
_
_
[
'
e
v
a
l
'
]
r
e
l
o
a
d
(
_
_
b
u
i
l
t
i
n
s
_
_
)
_
_
b
u
i
l
t
i
n
s
_
_
r
e
l
o
a
d
r
e
l
o
a
d
_
_
b
u
i
l
t
i
n
s
_
_
r
e
l
o
a
d
_
_
b
u
i
l
t
i
n
s
_
_
_
_
b
u
i
l
t
i
n
s
_
_
c
c
o
m
m
a
n
d
i
n
_
g
l
o
b
a
l
r
e
l
o
a
d
i
m
p
o
r
t
i
m
p
i
m
p
.
r
e
l
o
a
d
m
o
d
u
l
e
m
r
o
m
r
o
o
b
j
e
c
t
_
_
m
r
o
_
_
>
>
>
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
(
<
c
l
a
s
s
'
s
t
r
'
>
,
<
c
l
a
s
s
'
o
b
j
e
c
t
'
>
类
的
实
例
在
获
取
属
性
时
会
指
向
该
实
例
对
应
的
类
。
可
以
看
到
,
属
于
类
,
它
继
承
了
类
,
这
个
类
是
所
有
类
的
超
类
。
具
有
相
同
功
能
的
还
有
和
。
需
要
注
意
的
是
,
经
典
类
需
要
指
明
继
承
o
b
j
e
c
t
才
会
继
承
它
,
否
则
是
不
会
继
承
的
:
那
么
知
道
这
个
有
什
么
用
呢
?
由
于
没
法
直
接
引
入
o
s
,
那
么
假
如
有
个
库
叫
,
在
中
引
入
了
,
那
么
我
们
就
可
以
通
过
拿
到
o
s
(
是
函
数
所
在
的
全
局
命
名
空
间
中
所
定
义
的
全
局
变
量
)
。
例
如
,
这
个
库
就
有
:
也
就
是
说
,
能
引
入
s
i
t
e
的
话
,
就
相
当
于
有
o
s
。
那
如
果
s
i
t
e
也
被
禁
用
了
呢
?
没
事
,
本
来
也
就
没
打
算
直
接
。
可
以
利
用
,
变
相
加
载
:
还
有
,
既
然
所
有
的
类
都
继
承
的
,
那
么
我
们
先
用
看
看
它
的
子
类
,
以
2
.
x
为
例
:
_
_
c
l
a
s
s
_
_
'
'
s
t
r
o
b
j
e
c
t
_
_
b
a
s
e
_
_
_
_
b
a
s
e
s
_
_
>
>
>
c
l
a
s
s
t
e
s
t
:
.
.
.
p
a
s
s
.
.
.
>
>
>
t
e
s
t
.
_
_
b
a
s
e
s
_
_
>
>
>
c
l
a
s
s
t
e
s
t
(
o
b
j
e
c
t
)
:
.
.
.
p
a
s
s
.
.
.
>
>
>
t
e
s
t
.
_
_
b
a
s
e
s
_
_
(
<
t
y
p
e
'
o
b
j
e
c
t
'
>
,
)
o
o
s
o
o
s
o
s
_
_
g
l
o
b
a
l
s
_
_
_
_
g
l
o
b
a
l
s
_
_
s
i
t
e
o
s
>
>
>
i
m
p
o
r
t
s
i
t
e
>
>
>
s
i
t
e
.
o
s
<
m
o
d
u
l
e
'
o
s
'
f
r
o
m
'
/
U
s
e
r
s
/
m
a
c
r
0
p
h
a
g
3
/
.
p
y
e
n
v
/
v
e
r
s
i
o
n
s
/
3
.
6
.
5
/
l
i
b
/
p
y
t
h
o
n
3
.
6
/
o
s
.
p
y
'
>
i
m
p
o
r
t
s
i
t
e
r
e
l
o
a
d
o
s
>
>
>
i
m
p
o
r
t
s
i
t
e
>
>
>
o
s
T
r
a
c
e
b
a
c
k
(
m
o
s
t
r
e
c
e
n
t
c
a
l
l
l
a
s
t
)
:
F
i
l
e
"
<
s
t
d
i
n
>
"
,
l
i
n
e
1
,
i
n
<
m
o
d
u
l
e
>
N
a
m
e
E
r
r
o
r
:
n
a
m
e
'
o
s
'
i
s
n
o
t
d
e
f
i
n
e
d
>
>
>
o
s
=
r
e
l
o
a
d
(
s
i
t
e
.
o
s
)
>
>
>
o
s
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
o
b
j
e
c
t
_
_
s
u
b
c
l
a
s
s
e
s
_
_
>
>
>
f
o
r
i
i
n
e
n
u
m
e
r
a
t
e
(
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
[
-
1
]
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
)
:
p
r
i
n
t
i
.
.
.
(
0
,
<
t
y
p
e
'
t
y
p
e
'
>
)
(
1
,
<
t
y
p
e
'
w
e
a
k
r
e
f
'
>
)
(
2
,
<
t
y
p
e
'
w
e
a
k
c
a
l
l
a
b
l
e
p
r
o
x
y
'
>
)
(
3
,
<
t
y
p
e
'
w
e
a
k
p
r
o
x
y
'
>
)
(
4
,
<
t
y
p
e
'
i
n
t
'
>
)
(
5
,
<
t
y
p
e
'
b
a
s
e
s
t
r
i
n
g
'
>
)
(
6
,
<
t
y
p
e
'
b
y
t
e
a
r
r
a
y
'
>
)
(
7
,
<
t
y
p
e
'
l
i
s
t
'
>
)
(
8
,
<
t
y
p
e
'
N
o
n
e
T
y
p
e
'
>
)
(
9
,
<
t
y
p
e
'
N
o
t
I
m
p
l
e
m
e
n
t
e
d
T
y
p
e
'
>
)
(
1
0
,
<
t
y
p
e
'
t
r
a
c
e
b
a
c
k
'
>
)
(
1
1
,
<
t
y
p
e
'
s
u
p
e
r
'
>
)
(
1
2
,
<
t
y
p
e
'
x
r
a
n
g
e
'
>
)
(
1
3
,
<
t
y
p
e
'
d
i
c
t
'
>
)
(
1
4
,
<
t
y
p
e
'
s
e
t
'
>
)
(
1
5
,
<
t
y
p
e
'
s
l
i
c
e
'
>
)
(
1
6
,
<
t
y
p
e
'
s
t
a
t
i
c
m
e
t
h
o
d
'
>
)
(
1
7
,
<
t
y
p
e
'
c
o
m
p
l
e
x
'
>
)
(
1
8
,
<
t
y
p
e
'
f
l
o
a
t
'
>
)
(
1
9
,
<
t
y
p
e
'
b
u
f
f
e
r
'
>
)
(
2
0
,
<
t
y
p
e
'
l
o
n
g
'
>
)
(
2
1
,
<
t
y
p
e
'
f
r
o
z
e
n
s
e
t
'
>
)
(
2
2
,
<
t
y
p
e
'
p
r
o
p
e
r
t
y
'
>
)
(
2
3
,
<
t
y
p
e
'
m
e
m
o
r
y
v
i
e
w
'
>
)
(
2
4
,
<
t
y
p
e
'
t
u
p
l
e
'
>
)
(
2
5
,
<
t
y
p
e
'
e
n
u
m
e
r
a
t
e
'
>
)
(
2
6
,
<
t
y
p
e
'
r
e
v
e
r
s
e
d
'
>
)
(
2
7
,
<
t
y
p
e
'
c
o
d
e
'
>
)
(
2
8
,
<
t
y
p
e
'
f
r
a
m
e
'
>
)
(
2
9
,
<
t
y
p
e
'
b
u
i
l
t
i
n
_
f
u
n
c
t
i
o
n
_
o
r
_
m
e
t
h
o
d
'
>
)
(
3
0
,
<
t
y
p
e
'
i
n
s
t
a
n
c
e
m
e
t
h
o
d
'
>
)
(
3
1
,
<
t
y
p
e
'
f
u
n
c
t
i
o
n
'
>
)
(
3
2
,
<
t
y
p
e
'
c
l
a
s
s
o
b
j
'
>
)
(
3
3
,
<
t
y
p
e
'
d
i
c
t
p
r
o
x
y
'
>
)
(
3
4
,
<
t
y
p
e
'
g
e
n
e
r
a
t
o
r
'
>
)
(
3
5
,
<
t
y
p
e
'
g
e
t
s
e
t
_
d
e
s
c
r
i
p
t
o
r
'
>
)
(
3
6
,
<
t
y
p
e
'
w
r
a
p
p
e
r
_
d
e
s
c
r
i
p
t
o
r
'
>
)
(
3
7
,
<
t
y
p
e
'
i
n
s
t
a
n
c
e
'
>
)
(
3
8
,
<
t
y
p
e
'
e
l
l
i
p
s
i
s
'
>
)
(
3
9
,
<
t
y
p
e
'
m
e
m
b
e
r
_
d
e
s
c
r
i
p
t
o
r
'
>
)
(
4
0
,
<
t
y
p
e
'
f
i
l
e
'
>
)
(
4
1
,
<
t
y
p
e
'
P
y
C
a
p
s
u
l
e
'
>
)
(
4
2
,
<
t
y
p
e
'
c
e
l
l
'
>
)
(
4
3
,
<
t
y
p
e
'
c
a
l
l
a
b
l
e
-
i
t
e
r
a
t
o
r
'
>
)
(
4
4
,
<
t
y
p
e
'
i
t
e
r
a
t
o
r
'
>
)
(
4
5
,
<
t
y
p
e
'
s
y
s
.
l
o
n
g
_
i
n
f
o
'
>
)
可
以
看
到
,
s
i
t
e
就
在
里
面
,
以
2
.
x
的
为
例
:
o
s
又
回
来
了
。
并
且
s
i
t
e
中
还
有
。
这
个
方
法
不
仅
限
于
A
-
>
o
s
,
还
阔
以
是
A
-
>
B
-
>
o
s
,
比
如
2
.
x
中
的
:
在
继
承
链
中
就
可
以
这
样
:
顺
便
说
一
下
,
这
个
库
中
有
个
函
数
:
,
它
有
个
属
性
:
所
以
通
过
也
可
以
构
造
p
a
y
l
o
a
d
:
3
.
x
中
的
虽
然
没
有
,
也
有
。
同
样
,
p
y
3
.
x
中
有
,
利
用
方
式
可
以
为
:
顺
便
提
一
下
,
本
来
就
是
可
以
使
用
的
,
如
果
没
过
滤
这
个
变
量
的
话
,
p
a
y
l
o
a
d
可
以
简
化
为
:
(
4
5
,
<
t
y
p
e
'
s
y
s
.
l
o
n
g
_
i
n
f
o
'
>
)
(
4
6
,
<
t
y
p
e
'
s
y
s
.
f
l
o
a
t
_
i
n
f
o
'
>
)
(
4
7
,
<
t
y
p
e
'
E
n
c
o
d
i
n
g
M
a
p
'
>
)
(
4
8
,
<
t
y
p
e
'
f
i
e
l
d
n
a
m
e
i
t
e
r
a
t
o
r
'
>
)
(
4
9
,
<
t
y
p
e
'
f
o
r
m
a
t
t
e
r
i
t
e
r
a
t
o
r
'
>
)
(
5
0
,
<
t
y
p
e
'
s
y
s
.
v
e
r
s
i
o
n
_
i
n
f
o
'
>
)
(
5
1
,
<
t
y
p
e
'
s
y
s
.
f
l
a
g
s
'
>
)
(
5
2
,
<
t
y
p
e
'
e
x
c
e
p
t
i
o
n
s
.
B
a
s
e
E
x
c
e
p
t
i
o
n
'
>
)
(
5
3
,
<
t
y
p
e
'
m
o
d
u
l
e
'
>
)
(
5
4
,
<
t
y
p
e
'
i
m
p
.
N
u
l
l
I
m
p
o
r
t
e
r
'
>
)
(
5
5
,
<
t
y
p
e
'
z
i
p
i
m
p
o
r
t
.
z
i
p
i
m
p
o
r
t
e
r
'
>
)
(
5
6
,
<
t
y
p
e
'
p
o
s
i
x
.
s
t
a
t
_
r
e
s
u
l
t
'
>
)
(
5
7
,
<
t
y
p
e
'
p
o
s
i
x
.
s
t
a
t
v
f
s
_
r
e
s
u
l
t
'
>
)
(
5
8
,
<
c
l
a
s
s
'
w
a
r
n
i
n
g
s
.
W
a
r
n
i
n
g
M
e
s
s
a
g
e
'
>
)
(
5
9
,
<
c
l
a
s
s
'
w
a
r
n
i
n
g
s
.
c
a
t
c
h
_
w
a
r
n
i
n
g
s
'
>
)
(
6
0
,
<
c
l
a
s
s
'
_
w
e
a
k
r
e
f
s
e
t
.
_
I
t
e
r
a
t
i
o
n
G
u
a
r
d
'
>
)
(
6
1
,
<
c
l
a
s
s
'
_
w
e
a
k
r
e
f
s
e
t
.
W
e
a
k
S
e
t
'
>
)
(
6
2
,
<
c
l
a
s
s
'
_
a
b
c
o
l
l
.
H
a
s
h
a
b
l
e
'
>
)
(
6
3
,
<
t
y
p
e
'
c
l
a
s
s
m
e
t
h
o
d
'
>
)
(
6
4
,
<
c
l
a
s
s
'
_
a
b
c
o
l
l
.
I
t
e
r
a
b
l
e
'
>
)
(
6
5
,
<
c
l
a
s
s
'
_
a
b
c
o
l
l
.
S
i
z
e
d
'
>
)
(
6
6
,
<
c
l
a
s
s
'
_
a
b
c
o
l
l
.
C
o
n
t
a
i
n
e
r
'
>
)
(
6
7
,
<
c
l
a
s
s
'
_
a
b
c
o
l
l
.
C
a
l
l
a
b
l
e
'
>
)
(
6
8
,
<
t
y
p
e
'
d
i
c
t
_
k
e
y
s
'
>
)
(
6
9
,
<
t
y
p
e
'
d
i
c
t
_
i
t
e
m
s
'
>
)
(
7
0
,
<
t
y
p
e
'
d
i
c
t
_
v
a
l
u
e
s
'
>
)
(
7
1
,
<
c
l
a
s
s
'
s
i
t
e
.
_
P
r
i
n
t
e
r
'
>
)
(
7
2
,
<
c
l
a
s
s
'
s
i
t
e
.
_
H
e
l
p
e
r
'
>
)
(
7
3
,
<
t
y
p
e
'
_
s
r
e
.
S
R
E
_
P
a
t
t
e
r
n
'
>
)
(
7
4
,
<
t
y
p
e
'
_
s
r
e
.
S
R
E
_
M
a
t
c
h
'
>
)
(
7
5
,
<
t
y
p
e
'
_
s
r
e
.
S
R
E
_
S
c
a
n
n
e
r
'
>
)
(
7
6
,
<
c
l
a
s
s
'
s
i
t
e
.
Q
u
i
t
t
e
r
'
>
)
(
7
7
,
<
c
l
a
s
s
'
c
o
d
e
c
s
.
I
n
c
r
e
m
e
n
t
a
l
E
n
c
o
d
e
r
'
>
)
(
7
8
,
<
c
l
a
s
s
'
c
o
d
e
c
s
.
I
n
c
r
e
m
e
n
t
a
l
D
e
c
o
d
e
r
'
>
)
s
i
t
e
.
_
P
r
i
n
t
e
r
>
>
>
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
[
-
1
]
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
7
1
]
.
_
P
r
i
n
t
e
r
_
_
s
e
t
u
p
.
_
_
g
l
o
b
a
l
s
_
_
[
'
o
s
'
]
<
m
o
d
u
l
e
'
o
s
'
f
r
o
m
'
/
U
s
e
r
s
/
m
a
c
r
0
p
h
a
g
3
/
.
p
y
e
n
v
/
v
e
r
s
i
o
n
s
/
2
.
7
.
1
5
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
o
s
.
p
y
c
'
>
_
_
b
u
i
l
t
i
n
s
_
_
w
a
r
n
i
n
g
s
>
>
>
i
m
p
o
r
t
w
a
r
n
i
n
g
s
>
>
>
>
>
>
w
a
r
n
i
n
g
s
.
o
s
T
r
a
c
e
b
a
c
k
(
m
o
s
t
r
e
c
e
n
t
c
a
l
l
l
a
s
t
)
:
F
i
l
e
"
<
s
t
d
i
n
>
"
,
l
i
n
e
1
,
i
n
<
m
o
d
u
l
e
>
A
t
t
r
i
b
u
t
e
E
r
r
o
r
:
'
m
o
d
u
l
e
'
o
b
j
e
c
t
h
a
s
n
o
a
t
t
r
i
b
u
t
e
'
o
s
'
>
>
>
>
>
>
w
a
r
n
i
n
g
s
.
l
i
n
e
c
a
c
h
e
<
m
o
d
u
l
e
'
l
i
n
e
c
a
c
h
e
'
f
r
o
m
'
/
U
s
e
r
s
/
m
a
c
r
0
p
h
a
g
3
/
.
p
y
e
n
v
/
v
e
r
s
i
o
n
s
/
2
.
7
.
1
5
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
l
i
n
e
c
a
c
h
e
.
p
y
c
'
>
>
>
>
>
>
>
w
a
r
n
i
n
g
s
.
l
i
n
e
c
a
c
h
e
.
o
s
<
m
o
d
u
l
e
'
o
s
'
f
r
o
m
'
/
U
s
e
r
s
/
m
a
c
r
0
p
h
a
g
3
/
.
p
y
e
n
v
/
v
e
r
s
i
o
n
s
/
2
.
7
.
1
5
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
o
s
.
p
y
c
'
>
>
>
>
[
]
.
_
_
c
l
a
s
s
_
_
.
_
_
b
a
s
e
_
_
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
5
9
]
.
_
_
i
n
i
t
_
_
.
_
_
g
l
o
b
a
l
s
_
_
[
'
l
i
n
e
c
a
c
h
e
'
]
.
_
_
d
i
c
t
_
_
[
'
o
s
'
]
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
w
a
r
n
i
n
g
s
w
a
r
n
i
n
g
s
.
c
a
t
c
h
_
w
a
r
n
i
n
g
s
_
m
o
d
u
l
e
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
r
e
c
o
r
d
=
F
a
l
s
e
,
m
o
d
u
l
e
=
N
o
n
e
)
:
.
.
.
s
e
l
f
.
_
m
o
d
u
l
e
=
s
y
s
.
m
o
d
u
l
e
s
[
'
w
a
r
n
i
n
g
s
'
]
i
f
m
o
d
u
l
e
i
s
N
o
n
e
e
l
s
e
m
o
d
u
l
e
.
.
.
_
m
o
d
u
l
e
>
>
>
[
x
f
o
r
x
i
n
(
1
)
.
_
_
c
l
a
s
s
_
_
.
_
_
b
a
s
e
_
_
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
i
f
x
.
_
_
n
a
m
e
_
_
=
=
'
c
a
t
c
h
_
w
a
r
n
i
n
g
s
'
]
[
0
]
(
)
.
_
m
o
d
u
l
e
.
l
i
n
e
c
a
c
h
e
.
o
s
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
w
a
r
n
i
n
g
s
l
i
n
e
c
a
c
h
e
_
_
b
u
i
l
t
i
n
s
_
_
<
c
l
a
s
s
'
o
s
.
_
w
r
a
p
_
c
l
o
s
e
'
>
>
>
>
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
[
-
1
]
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
1
1
7
]
.
_
_
i
n
i
t
_
_
.
_
_
g
l
o
b
a
l
s
_
_
[
'
s
y
s
t
e
m
'
]
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
0
o
b
j
e
c
t
o
b
j
e
c
t
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
1
1
7
]
.
_
_
i
n
i
t
_
_
.
_
_
g
l
o
b
a
l
s
_
_
[
'
s
y
s
t
e
m
'
]
(
'
w
h
o
a
m
i
'
)
还
有
一
种
是
利
用
的
:
或
者
简
单
一
点
:
还
可
以
这
样
利
用
:
上
面
的
这
些
利
用
方
式
总
结
起
来
就
是
通
过
、
、
、
等
等
属
性
/
方
法
去
获
取
,
再
根
据
找
引
入
的
或
者
等
等
能
够
直
接
被
利
用
的
库
,
或
者
找
到
类
/
类
型
后
直
接
运
行
。
最
后
,
继
承
链
的
逃
逸
还
有
一
些
利
用
第
三
方
库
的
方
式
,
比
如
,
这
类
利
用
方
式
应
该
是
叫
,
可
以
看
这
个
:
传
送
门
,
这
里
就
不
多
说
了
。
文
件
读
写
文
件
读
写
2
.
x
有
个
内
建
的
:
还
有
个
,
2
.
x
与
3
.
x
通
用
。
还
有
一
些
库
,
例
如
:
(
r
w
)
、
(
r
w
)
、
(
r
)
。
为
什
么
说
写
比
读
危
害
大
呢
?
因
为
如
果
能
写
,
可
以
将
类
似
的
文
件
保
存
为
,
然
后
i
m
p
o
r
t
进
来
:
m
a
t
h
.
p
y
:
调
用
这
里
需
要
注
意
的
是
,
这
里
p
y
文
件
命
名
是
有
技
巧
的
。
之
所
以
要
挑
一
个
常
用
的
标
准
库
是
因
为
过
滤
库
名
可
能
采
用
的
是
白
名
单
。
并
且
之
前
说
过
有
些
库
是
在
中
有
的
,
这
些
库
无
法
这
样
利
用
,
会
直
接
从
中
加
入
,
比
如
:
当
然
在
之
前
也
不
是
不
可
以
…
最
后
,
这
里
的
文
件
命
名
需
要
注
意
的
地
方
和
最
开
始
的
那
个
遍
历
测
试
的
文
件
一
样
:
由
于
待
测
试
的
库
中
有
个
叫
的
,
如
果
把
遍
历
测
试
的
文
件
也
命
名
为
t
e
s
t
,
会
导
致
那
个
文
件
运
行
2
次
,
因
为
自
己
i
m
p
o
r
t
了
自
己
。
读
文
件
暂
时
没
什
么
发
现
特
别
的
地
方
。
剩
下
的
就
是
根
据
上
面
的
执
行
系
统
命
令
采
用
的
绕
过
方
法
去
寻
找
p
a
y
l
o
a
d
了
,
比
如
:
或
者
其
他
其
他
过
滤
、
:
这
个
行
为
不
像
是
o
j
会
做
得
出
来
的
,
c
t
f
倒
是
有
可
能
出
现
。
应
对
的
方
式
就
是
将
的
功
能
用
、
代
替
(
实
际
上
就
是
在
内
部
调
用
了
)
:
利
用
新
特
性
:
P
E
P
4
9
8
引
入
了
,
在
3
.
6
开
始
出
现
:
传
送
门
,
食
用
方
式
:
传
送
门
。
所
以
我
们
就
有
了
一
种
船
新
的
利
用
方
式
:
o
b
j
e
c
t
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
1
1
7
]
.
_
_
i
n
i
t
_
_
.
_
_
g
l
o
b
a
l
s
_
_
[
'
s
y
s
t
e
m
'
]
(
'
w
h
o
a
m
i
'
)
b
u
i
l
t
i
n
_
f
u
n
c
t
i
o
n
_
o
r
_
m
e
t
h
o
d
_
_
c
a
l
l
_
_
"
"
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
[
-
1
]
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
2
9
]
.
_
_
c
a
l
l
_
_
(
e
v
a
l
,
'
1
+
1
'
)
[
]
.
_
_
g
e
t
a
t
t
r
i
b
u
t
e
_
_
(
'
a
p
p
e
n
d
'
)
.
_
_
c
l
a
s
s
_
_
.
_
_
c
a
l
l
_
_
(
e
v
a
l
,
'
1
+
1
'
)
c
l
a
s
s
t
e
s
t
(
d
i
c
t
)
:
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
)
:
p
r
i
n
t
(
s
u
p
e
r
(
t
e
s
t
,
s
e
l
f
)
.
k
e
y
s
.
_
_
c
l
a
s
s
_
_
.
_
_
c
a
l
l
_
_
(
e
v
a
l
,
'
1
+
1
'
)
)
#
如
果
是
3
.
x
的
话
可
以
简
写
为
:
#
s
u
p
e
r
(
)
.
k
e
y
s
.
_
_
c
l
a
s
s
_
_
.
_
_
c
a
l
l
_
_
(
e
v
a
l
,
'
1
+
1
'
)
)
t
e
s
t
(
)
_
_
c
l
a
s
s
_
_
_
_
m
r
o
_
_
_
_
s
u
b
c
l
a
s
s
e
s
_
_
_
_
b
a
s
e
s
_
_
o
b
j
e
c
t
_
_
g
l
o
b
a
l
s
_
_
_
_
b
u
i
l
t
i
n
s
_
_
e
v
a
l
b
u
i
l
t
i
n
_
f
u
n
c
t
i
o
n
_
o
r
_
m
e
t
h
o
d
_
_
c
a
l
l
_
_
e
v
a
l
j
i
n
j
a
2
S
S
T
I
f
i
l
e
>
>
>
f
i
l
e
(
'
k
e
y
'
)
.
r
e
a
d
(
)
'
M
a
c
r
0
p
h
a
g
3
n
'
>
>
>
f
i
l
e
(
'
k
e
y
'
,
'
w
'
)
.
w
r
i
t
e
(
'
M
a
c
r
0
p
h
a
g
3
'
)
>
>
>
f
i
l
e
(
'
k
e
y
'
)
.
r
e
a
d
(
)
'
M
a
c
r
0
p
h
a
g
3
'
o
p
e
n
t
y
p
e
s
.
F
i
l
e
T
y
p
e
p
l
a
t
f
o
r
m
.
p
o
p
e
n
l
i
n
e
c
a
c
h
e
.
g
e
t
l
i
n
e
s
m
a
t
h
.
p
y
i
m
p
o
r
t
o
s
p
r
i
n
t
(
o
s
.
s
y
s
t
e
m
(
'
w
h
o
a
m
i
'
)
)
>
>
>
i
m
p
o
r
t
m
a
t
h
m
a
c
r
0
p
h
a
g
3
0
s
y
s
.
m
o
d
u
l
e
s
s
y
s
.
m
o
d
u
l
e
s
r
e
>
>
>
'
r
e
'
i
n
s
y
s
.
m
o
d
u
l
e
s
T
r
u
e
>
>
>
'
m
a
t
h
'
i
n
s
y
s
.
m
o
d
u
l
e
s
F
a
l
s
e
>
>
>
i
m
p
o
r
t
r
e
d
e
l
s
y
s
.
m
o
d
u
l
e
s
[
'
r
e
'
]
t
e
s
t
>
>
>
_
_
b
u
i
l
t
i
n
s
_
_
.
o
p
e
n
(
'
k
e
y
'
)
.
r
e
a
d
(
)
'
M
a
c
r
0
p
h
a
g
3
n
'
>
>
>
(
)
.
_
_
c
l
a
s
s
_
_
.
_
_
b
a
s
e
_
_
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
4
0
]
(
'
k
e
y
'
)
.
r
e
a
d
(
)
'
M
a
c
r
0
p
h
a
g
3
'
[
]
[
]
p
o
p
_
_
g
e
t
i
t
e
m
_
_
a
[
0
]
a
.
_
_
g
e
t
i
t
e
m
_
_
(
0
)
>
>
>
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
.
_
_
g
e
t
i
t
e
m
_
_
(
2
)
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
.
p
o
p
(
5
9
)
.
_
_
i
n
i
t
_
_
.
f
u
n
c
_
g
l
o
b
a
l
s
.
g
e
t
(
'
l
i
n
e
c
a
c
h
e
'
)
.
o
s
.
p
o
p
e
n
(
'
w
h
o
a
m
i
'
)
.
r
e
a
d
(
)
'
m
a
c
r
0
p
h
a
g
3
n
'
f
-
s
t
r
i
n
g
>
>
>
f
'
{
_
_
i
m
p
o
r
t
_
_
(
"
o
s
"
)
.
s
y
s
t
e
m
(
"
w
h
o
a
m
i
"
)
}
'
m
a
c
r
0
p
h
a
g
3
'
0
'
关
注
每
次
版
本
增
加
的
新
特
性
,
或
许
能
淘
到
点
宝
贝
。
序
列
化
相
关
:
序
列
化
也
是
能
用
来
逃
逸
,
但
是
关
于
序
列
化
的
安
全
问
题
还
挺
多
的
,
如
果
有
时
间
我
再
写
一
篇
文
章
来
讨
论
好
了
。
栗
子
栗
子
这
个
例
子
来
自
的
,
相
当
有
趣
:
这
一
句
就
把
很
多
p
a
y
l
o
a
d
干
掉
了
,
由
于
e
x
e
c
运
行
在
自
定
义
的
全
局
命
名
空
间
里
,
这
时
候
会
处
于
,
这
里
不
赘
述
了
,
感
兴
趣
可
以
看
这
篇
文
章
:
传
送
门
。
e
x
e
c
加
上
定
制
的
g
l
o
b
a
l
s
会
使
得
沙
箱
安
全
很
多
,
一
些
常
规
的
p
a
y
l
o
a
d
是
没
法
使
用
的
,
例
如
:
不
过
也
正
是
由
于
e
x
e
c
运
行
在
特
定
的
命
名
空
间
里
,
可
以
通
过
其
他
命
名
空
间
里
的
,
比
如
t
y
p
e
s
库
,
来
执
行
任
意
命
令
:
i
s
c
c
2
0
1
6
P
w
n
3
0
0
p
y
c
a
l
c
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
2
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
d
e
f
b
a
n
n
e
r
(
)
:
p
r
i
n
t
"
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
"
p
r
i
n
t
"
S
i
m
p
l
e
c
a
l
c
u
l
a
t
o
r
i
m
p
l
e
m
e
n
t
e
d
b
y
p
y
t
h
o
n
"
p
r
i
n
t
"
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
"
r
e
t
u
r
n
d
e
f
g
e
t
e
x
p
(
)
:
r
e
t
u
r
n
r
a
w
_
i
n
p
u
t
(
"
>
>
>
"
)
d
e
f
_
h
o
o
k
_
i
m
p
o
r
t
_
(
n
a
m
e
,
*
a
r
g
s
,
*
*
k
w
a
r
g
s
)
:
m
o
d
u
l
e
_
b
l
a
c
k
l
i
s
t
=
[
'
o
s
'
,
'
s
y
s
'
,
'
t
i
m
e
'
,
'
b
d
b
'
,
'
b
s
d
d
b
'
,
'
c
g
i
'
,
'
C
G
I
H
T
T
P
S
e
r
v
e
r
'
,
'
c
g
i
t
b
'
,
'
c
o
m
p
i
l
e
a
l
l
'
,
'
c
t
y
p
e
s
'
,
'
d
i
r
c
a
c
h
e
'
,
'
d
o
c
t
e
s
t
'
,
'
d
u
m
b
d
b
m
'
,
'
f
i
l
e
c
m
p
'
,
'
f
i
l
e
i
n
p
u
t
'
,
'
f
t
p
l
i
b
'
,
'
g
z
i
p
'
,
'
g
e
t
o
p
t
'
,
'
g
e
t
p
a
s
s
'
,
'
g
e
t
t
e
x
t
'
,
'
h
t
t
p
l
i
b
'
,
'
i
m
p
o
r
t
l
i
b
'
,
'
i
m
p
u
t
i
l
'
,
'
l
i
n
e
c
a
c
h
e
'
,
'
m
a
c
p
a
t
h
'
,
'
m
a
i
l
b
o
x
'
,
'
m
a
i
l
c
a
p
'
,
'
m
h
l
i
b
'
,
'
m
i
m
e
t
o
o
l
s
'
,
'
m
i
m
e
t
y
p
e
s
'
,
'
m
o
d
u
l
e
f
i
n
d
e
r
'
,
'
m
u
l
t
i
p
r
o
c
e
s
s
i
n
g
'
,
'
n
e
t
r
c
'
,
'
n
e
w
'
,
'
o
p
t
p
a
r
s
e
'
,
'
p
d
b
'
,
'
p
i
p
e
s
'
,
'
p
k
g
u
t
i
l
'
,
'
p
l
a
t
f
o
r
m
'
,
'
p
o
p
e
n
2
'
,
'
p
o
p
l
i
b
'
,
'
p
o
s
i
x
'
,
'
p
o
s
i
x
f
i
l
e
'
,
'
p
r
o
f
i
l
e
'
,
'
p
s
t
a
t
s
'
,
'
p
t
y
'
,
'
p
y
_
c
o
m
p
i
l
e
'
,
'
p
y
c
l
b
r
'
,
'
p
y
d
o
c
'
,
'
r
e
x
e
c
'
,
'
r
u
n
p
y
'
,
'
s
h
l
e
x
'
,
'
s
h
u
t
i
l
'
,
'
S
i
m
p
l
e
H
T
T
P
S
e
r
v
e
r
'
,
'
S
i
m
p
l
e
X
M
L
R
P
C
S
e
r
v
e
r
'
,
'
s
i
t
e
'
,
'
s
m
t
p
d
'
,
'
s
o
c
k
e
t
'
,
'
S
o
c
k
e
t
S
e
r
v
e
r
'
,
'
s
u
b
p
r
o
c
e
s
s
'
,
'
s
y
s
c
o
n
f
i
g
'
,
'
t
a
b
n
a
n
n
y
'
,
'
t
a
r
f
i
l
e
'
,
'
t
e
l
n
e
t
l
i
b
'
,
'
t
e
m
p
f
i
l
e
'
,
'
T
i
x
'
,
'
t
r
a
c
e
'
,
'
t
u
r
t
l
e
'
,
'
u
r
l
l
i
b
'
,
'
u
r
l
l
i
b
2
'
,
'
u
s
e
r
'
,
'
u
u
'
,
'
w
e
b
b
r
o
w
s
e
r
'
,
'
w
h
i
c
h
d
b
'
,
'
z
i
p
f
i
l
e
'
,
'
z
i
p
i
m
p
o
r
t
'
]
f
o
r
f
o
r
b
i
d
i
n
m
o
d
u
l
e
_
b
l
a
c
k
l
i
s
t
:
i
f
n
a
m
e
=
=
f
o
r
b
i
d
:
#
d
o
n
'
t
l
e
t
u
s
e
r
i
m
p
o
r
t
t
h
e
s
e
m
o
d
u
l
e
s
r
a
i
s
e
R
u
n
t
i
m
e
E
r
r
o
r
(
'
N
o
y
o
u
c
a
n
'
i
m
p
o
r
t
{
0
}
!
!
!
'
.
f
o
r
m
a
t
(
f
o
r
b
i
d
)
)
#
n
o
r
m
a
l
m
o
d
u
l
e
s
c
a
n
b
e
i
m
p
o
r
t
e
d
r
e
t
u
r
n
_
_
i
m
p
o
r
t
_
_
(
n
a
m
e
,
*
a
r
g
s
,
*
*
k
w
a
r
g
s
)
d
e
f
s
a
n
d
b
o
x
_
f
i
l
t
e
r
(
c
o
m
m
a
n
d
)
:
b
l
a
c
k
l
i
s
t
=
[
'
e
x
e
c
'
,
'
s
h
'
,
'
_
_
g
e
t
i
t
e
m
_
_
'
,
'
_
_
s
e
t
i
t
e
m
_
_
'
,
'
=
'
,
'
o
p
e
n
'
,
'
r
e
a
d
'
,
'
s
y
s
'
,
'
;
'
,
'
o
s
'
]
f
o
r
f
o
r
b
i
d
i
n
b
l
a
c
k
l
i
s
t
:
i
f
f
o
r
b
i
d
i
n
c
o
m
m
a
n
d
:
r
e
t
u
r
n
0
r
e
t
u
r
n
1
d
e
f
s
a
n
d
b
o
x
_
e
x
e
c
(
c
o
m
m
a
n
d
)
:
#
s
a
n
d
b
o
x
u
s
e
r
i
n
p
u
t
r
e
s
u
l
t
=
0
_
_
s
a
n
d
b
o
x
e
d
_
b
u
i
l
t
i
n
s
_
_
=
d
i
c
t
(
_
_
b
u
i
l
t
i
n
s
_
_
.
_
_
d
i
c
t
_
_
)
_
_
s
a
n
d
b
o
x
e
d
_
b
u
i
l
t
i
n
s
_
_
[
'
_
_
i
m
p
o
r
t
_
_
'
]
=
_
h
o
o
k
_
i
m
p
o
r
t
_
#
h
o
o
k
i
m
p
o
r
t
d
e
l
_
_
s
a
n
d
b
o
x
e
d
_
b
u
i
l
t
i
n
s
_
_
[
'
o
p
e
n
'
]
_
g
l
o
b
a
l
=
{
'
_
_
b
u
i
l
t
i
n
s
_
_
'
:
_
_
s
a
n
d
b
o
x
e
d
_
b
u
i
l
t
i
n
s
_
_
}
i
f
s
a
n
d
b
o
x
_
f
i
l
t
e
r
(
c
o
m
m
a
n
d
)
=
=
0
:
p
r
i
n
t
'
M
a
l
i
c
i
o
u
s
u
s
e
r
i
n
p
u
t
d
e
t
e
c
t
e
d
!
!
!
'
e
x
i
t
(
0
)
c
o
m
m
a
n
d
=
'
r
e
s
u
l
t
=
'
+
c
o
m
m
a
n
d
t
r
y
:
e
x
e
c
c
o
m
m
a
n
d
i
n
_
g
l
o
b
a
l
#
d
o
c
a
l
c
u
l
a
t
e
i
n
a
s
a
n
d
b
o
x
e
d
e
n
v
i
r
o
n
m
e
n
t
e
x
c
e
p
t
E
x
c
e
p
t
i
o
n
,
e
:
p
r
i
n
t
e
r
e
t
u
r
n
0
r
e
s
u
l
t
=
_
g
l
o
b
a
l
[
'
r
e
s
u
l
t
'
]
#
e
x
t
r
a
c
t
t
h
e
r
e
s
u
l
t
r
e
t
u
r
n
r
e
s
u
l
t
b
a
n
n
e
r
(
)
w
h
i
l
e
1
:
c
o
m
m
a
n
d
=
g
e
t
e
x
p
(
)
p
r
i
n
t
s
a
n
d
b
o
x
_
e
x
e
c
(
c
o
m
m
a
n
d
)
e
x
e
c
c
o
m
m
a
n
d
i
n
_
g
l
o
b
a
l
r
e
s
t
r
i
c
t
e
d
e
x
e
c
u
t
i
o
n
m
o
d
e
>
>
>
'
'
.
_
_
c
l
a
s
s
_
_
.
_
_
m
r
o
_
_
[
-
1
]
.
_
_
s
u
b
c
l
a
s
s
e
s
_
_
(
)
[
7
1
]
.
_
P
r
i
n
t
e
r
_
_
s
e
t
u
p
.
_
_
g
l
o
b
a
l
s
_
_
r
e
s
t
r
i
c
t
e
d
a
t
t
r
i
b
u
t
e
>
>
>
g
e
t
a
t
t
r
(
g
e
t
a
t
t
r
(
_
_
i
m
p
o
r
t
_
_
(
'
t
y
p
e
s
'
)
,
'
F
i
l
e
T
y
p
e
'
)
(
'
k
e
y
'
)
,
'
r
e
'
'
a
d
'
)
(
)
f
i
l
e
(
)
c
o
n
s
t
r
u
c
t
o
r
n
o
t
a
c
c
e
s
s
i
b
l
e
i
n
r
e
s
t
r
i
c
t
e
d
m
o
d
e
_
_
b
u
i
l
t
i
n
s
_
_
最
后
最
后
这
块
内
容
本
身
就
零
散
,
罗
里
吧
嗦
了
这
么
多
,
希
望
对
大
家
有
帮
助
,
如
果
有
不
严
谨
的
地
方
希
望
各
位
师
傅
们
能
指
出
来
,
共
同
探
讨
。
*
本
文
作
者
:
M
a
c
r
0
p
h
a
g
3
,
本
文
属
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
。
精
彩
推
荐
精
彩
推
荐
阅
读
原
文
>
>
>
g
e
t
a
t
t
r
(
_
_
i
m
p
o
r
t
_
_
(
'
t
y
p
e
s
'
)
.
_
_
b
u
i
l
t
i
n
s
_
_
[
'
_
_
t
r
o
p
m
i
_
_
'
[
:
:
-
1
]
]
(
'
s
o
'
[
:
:
-
1
]
)
,
'
m
e
t
s
'
'
y
s
'
[
:
:
-
1
]
)
(
'
w
h
o
a
m
i
'
)
m
a
c
r
0
p
h
a
g
3
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页