Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tax_api
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data_server
tax_api
Commits
ad6a54b1
Commit
ad6a54b1
authored
Mar 15, 2019
by
何娜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete docsify.js
parent
7adcdc66
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
2 deletions
+0
-2
docsify.js
public/IncomeTaxAPI/doc/vendor/docsify.js
+0
-2
No files found.
public/IncomeTaxAPI/doc/vendor/docsify.js
deleted
100644 → 0
View file @
7adcdc66
!
function
(){
"use strict"
;
function
e
(
e
){
var
t
=
Object
.
create
(
null
);
return
function
(
n
){
var
r
=
t
[
n
];
return
r
||
(
t
[
n
]
=
e
(
n
))}}
function
t
(
e
){
return
"string"
==
typeof
e
||
"number"
==
typeof
e
}
function
n
(){}
function
r
(
e
){
return
"function"
==
typeof
e
}
function
i
(
e
){
var
t
=
[
"init"
,
"mounted"
,
"beforeEach"
,
"afterEach"
,
"doneEach"
,
"ready"
];
e
.
_hooks
=
{},
e
.
_lifecycle
=
{},
t
.
forEach
(
function
(
t
){
var
n
=
e
.
_hooks
[
t
]
=
[];
e
.
_lifecycle
[
t
]
=
function
(
e
){
return
n
.
push
(
e
)}})}
function
a
(
e
,
t
,
r
,
i
){
void
0
===
i
&&
(
i
=
n
);
var
a
=
r
,
o
=
e
.
_hooks
[
t
],
s
=
function
(
e
){
var
t
=
o
[
e
];
if
(
e
>=
o
.
length
)
i
(
a
);
else
if
(
"function"
==
typeof
t
)
if
(
2
===
t
.
length
)
t
(
r
,
function
(
t
){
a
=
t
,
s
(
e
+
1
)});
else
{
var
n
=
t
(
r
);
a
=
void
0
!==
n
?
n
:
a
,
s
(
e
+
1
)}
else
s
(
e
+
1
)};
s
(
0
)}
function
o
(
e
,
t
){
if
(
void
0
===
t
&&
(
t
=!
1
),
"string"
==
typeof
e
){
if
(
"undefined"
!=
typeof
window
.
Vue
)
return
s
(
e
);
e
=
t
?
s
(
e
):
be
[
e
]
||
(
be
[
e
]
=
s
(
e
))}
return
e
}
function
s
(
e
,
t
){
return
t
?
e
.
querySelector
(
t
):
ye
.
querySelector
(
e
)}
function
l
(
e
,
t
){
return
[].
slice
.
call
(
t
?
e
.
querySelectorAll
(
t
):
ye
.
querySelectorAll
(
e
))}
function
c
(
e
,
t
){
return
e
=
ye
.
createElement
(
e
),
t
&&
(
e
.
innerHTML
=
t
),
e
}
function
u
(
e
,
t
){
return
e
.
appendChild
(
t
)}
function
p
(
e
,
t
){
return
e
.
insertBefore
(
t
,
e
.
children
[
0
])}
function
h
(
e
,
t
,
n
){
r
(
t
)?
window
.
addEventListener
(
e
,
t
):
e
.
addEventListener
(
t
,
n
)}
function
d
(
e
,
t
,
n
){
r
(
t
)?
window
.
removeEventListener
(
e
,
t
):
e
.
removeEventListener
(
t
,
n
)}
function
g
(
e
,
t
,
n
){
e
&&
e
.
classList
[
n
?
t
:
"toggle"
](
n
||
t
)}
function
f
(
e
){
var
t
=
{};
return
(
e
=
e
.
trim
().
replace
(
/^
(\?
|#|&
)
/
,
""
))?(
e
.
split
(
"&"
).
forEach
(
function
(
e
){
var
n
=
e
.
replace
(
/
\+
/g
,
" "
).
split
(
"="
);
t
[
n
[
0
]]
=
Ce
(
n
[
1
])}),
t
):
t
}
function
m
(
e
){
var
t
=
[];
for
(
var
n
in
e
)
t
.
push
((
$e
(
n
)
+
"="
+
$e
(
e
[
n
])).
toLowerCase
());
return
t
.
length
?
"?"
+
t
.
join
(
"&"
):
""
}
function
v
(){
for
(
var
e
=
[],
t
=
arguments
.
length
;
t
--
;)
e
[
t
]
=
arguments
[
t
];
return
je
(
e
.
join
(
"/"
))}
function
b
(
e
){
var
t
=
window
.
location
.
href
.
indexOf
(
"#"
);
window
.
location
.
replace
(
window
.
location
.
href
.
slice
(
0
,
t
>=
0
?
t
:
0
)
+
"#"
+
e
)}
function
y
(){
var
e
=
k
();
return
e
=
Oe
(
e
),
"/"
===
e
.
charAt
(
0
)?
b
(
e
):
void
b
(
"/"
+
e
)}
function
k
(){
var
e
=
window
.
location
.
href
,
t
=
e
.
indexOf
(
"#"
);
return
t
===-
1
?
""
:
e
.
slice
(
t
+
1
)}
function
w
(
e
){
void
0
===
e
&&
(
e
=
window
.
location
.
href
);
var
t
=
""
,
n
=
e
.
indexOf
(
"?"
);
n
>=
0
&&
(
t
=
e
.
slice
(
n
+
1
),
e
=
e
.
slice
(
0
,
n
));
var
r
=
e
.
indexOf
(
"#"
);
return
r
&&
(
e
=
e
.
slice
(
r
+
1
)),{
path
:
e
,
query
:
f
(
t
)}}
function
x
(
e
,
t
,
n
){
var
r
=
n
&&
"#"
===
e
[
0
],
i
=
w
(
Oe
(
e
));
return
i
.
query
=
pe
({},
i
.
query
,
t
),
e
=
i
.
path
+
m
(
i
.
query
),
e
=
e
.
replace
(
/
\.
md
(\?)
|
\.
md$/
,
"$1"
),
r
&&
(
e
=
n
+
e
),
je
(
"#/"
+
e
)}
function
_
(
e
){
var
t
=
function
(
e
){
return
ke
.
classList
.
toggle
(
"close"
)};
e
=
o
(
e
),
h
(
e
,
"click"
,
function
(
e
){
e
.
stopPropagation
(),
t
()});
var
n
=
o
(
".sidebar"
);
Le
&&
h
(
ke
,
"click"
,
function
(
e
){
return
ke
.
classList
.
contains
(
"close"
)
&&
t
()}),
h
(
n
,
"click"
,
function
(
e
){
return
setTimeout
(
0
)})}
function
S
(){
var
e
=
o
(
"section.cover"
);
if
(
e
){
var
t
=
e
.
getBoundingClientRect
().
height
;
window
.
pageYOffset
>=
t
||
e
.
classList
.
contains
(
"hidden"
)?
g
(
ke
,
"add"
,
"sticky"
):
g
(
ke
,
"remove"
,
"sticky"
)}}
function
L
(
e
,
t
,
n
){
e
=
o
(
e
);
var
r
,
i
=
l
(
e
,
"a"
),
a
=
"#"
+
k
();
return
i
.
sort
(
function
(
e
,
t
){
return
t
.
href
.
length
-
e
.
href
.
length
}).
forEach
(
function
(
e
){
var
n
=
e
.
getAttribute
(
"href"
),
i
=
t
?
e
.
parentNode
:
e
;
0
!==
a
.
indexOf
(
n
)
||
r
?
g
(
i
,
"remove"
,
"active"
):(
r
=
e
,
g
(
i
,
"add"
,
"active"
))}),
n
&&
(
ye
.
title
=
r
?
r
.
innerText
+
" - "
+
Pe
:
Pe
),
r
}
function
C
(){
for
(
var
e
,
t
=
o
(
".sidebar"
),
n
=
l
(
".anchor"
),
r
=
s
(
t
,
".sidebar-nav"
),
i
=
s
(
t
,
"li.active"
),
a
=
ke
.
scrollTop
,
c
=
0
,
u
=
n
.
length
;
c
<
u
;
c
+=
1
){
var
p
=
n
[
c
];
if
(
p
.
offsetTop
>
a
){
e
||
(
e
=
p
);
break
}
e
=
p
}
if
(
e
){
var
h
=
qe
[
e
.
getAttribute
(
"data-id"
)];
if
(
h
&&
h
!==
i
&&
(
i
&&
i
.
classList
.
remove
(
"active"
),
h
.
classList
.
add
(
"active"
),
i
=
h
,
!
Ne
&&
ke
.
classList
.
contains
(
"sticky"
))){
var
d
=
t
.
clientHeight
,
g
=
0
,
f
=
i
.
offsetTop
+
i
.
clientHeight
+
40
,
m
=
i
.
offsetTop
>=
r
.
scrollTop
&&
f
<=
r
.
scrollTop
+
d
,
v
=
f
-
g
<
d
,
b
=
m
?
r
.
scrollTop
:
v
?
g
:
f
-
d
;
t
.
scrollTop
=
b
}}}
function
$
(){
if
(
!
Le
){
for
(
var
e
=
o
(
".sidebar"
),
t
=
l
(
e
,
"li"
),
n
=
0
,
r
=
t
.
length
;
n
<
r
;
n
+=
1
){
var
i
=
t
[
n
],
a
=
i
.
querySelector
(
"a"
);
if
(
a
){
var
s
=
a
.
getAttribute
(
"href"
);
"/"
!==
s
&&
(
s
=
w
(
s
).
query
.
id
),
qe
[
decodeURIComponent
(
s
)]
=
i
}}
d
(
"scroll"
,
C
),
h
(
"scroll"
,
C
),
h
(
e
,
"mouseover"
,
function
(){
Ne
=!
0
}),
h
(
e
,
"mouseleave"
,
function
(){
Ne
=!
1
})}}
function
E
(
e
){
var
t
=
s
(
"#"
+
e
);
t
&&
t
.
scrollIntoView
()}
function
T
(
e
){
void
0
===
e
&&
(
e
=
0
),
Fe
.
scrollTop
=
e
===!
0
?
0
:
Number
(
e
)}
function
A
(){
var
e
=
c
(
"div"
);
e
.
classList
.
add
(
"progress"
),
u
(
ke
,
e
),
me
=
e
}
function
j
(
e
,
t
){
void
0
===
t
&&
(
t
=!
1
);
var
r
=
new
XMLHttpRequest
,
i
=
function
(){
r
.
addEventListener
.
apply
(
r
,
arguments
)};
return
Ie
[
e
]?{
then
:
function
(
t
){
return
t
(
Ie
[
e
])},
abort
:
n
}:(
r
.
open
(
"GET"
,
e
),
r
.
send
(),{
then
:
function
(
r
,
a
){
if
(
void
0
===
a
&&
(
a
=
n
),
t
){
var
o
=
setInterval
(
function
(
e
){
return
He
({
step
:
Math
.
floor
(
5
*
Math
.
random
()
+
1
)})},
500
);
i
(
"progress"
,
He
),
i
(
"loadend"
,
function
(
e
){
He
(
e
),
clearInterval
(
o
)})}
i
(
"error"
,
a
),
i
(
"load"
,
function
(
t
){
var
n
=
t
.
target
;
n
.
status
>=
400
?
a
(
n
):(
Ie
[
e
]
=
n
.
response
,
r
(
n
.
response
))})},
abort
:
function
(
e
){
return
4
!==
r
.
readyState
&&
r
.
abort
()}})}
function
O
(
e
,
t
){
e
.
innerHTML
=
e
.
innerHTML
.
replace
(
/var
\(\s
*--theme-color.*
?\)
/g
,
t
)}
function
M
(
e
){
return
e
?(
/
\/\/
/
.
test
(
e
)
||
(
e
=
"https://github.com/"
+
e
),
e
=
e
.
replace
(
/^git
\+
/
,
""
),
'<a href="'
+
e
+
'" class="github-corner" aria-label="View source on Github"><svg viewBox="0 0 250 250" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>'
):
""
}
function
P
(
e
){
var
t
=
'<button class="sidebar-toggle"><div class="sidebar-toggle-button"><span></span><span></span><span></span></div></button><aside class="sidebar">'
+
(
e
.
name
?
'<h1><a class="app-name-link" data-nosearch>'
+
e
.
name
+
"</a></h1>"
:
""
)
+
'<div class="sidebar-nav"></div></aside>'
;
return
(
Le
?
t
+
"<main>"
:
"<main>"
+
t
)
+
'<section class="content"><article class="markdown-section" id="main"></article></section></main>'
}
function
q
(){
var
e
=
", 100%, 85%"
,
t
=
"linear-gradient(to left bottom, hsl("
+
(
Math
.
floor
(
255
*
Math
.
random
())
+
e
)
+
") 0%,hsl("
+
(
Math
.
floor
(
255
*
Math
.
random
())
+
e
)
+
") 100%)"
;
return
'<section class="cover" style="background: '
+
t
+
'"><div class="cover-main"></div><div class="mask"></div></section>'
}
function
N
(
e
,
t
){
return
void
0
===
t
&&
(
t
=
""
),
e
&&
e
.
length
?(
e
.
forEach
(
function
(
e
){
t
+=
'<li><a class="section-link" href="'
+
e
.
slug
+
'">'
+
e
.
title
+
"</a></li>"
,
e
.
children
&&
(
t
+=
'<li><ul class="children">'
+
N
(
e
.
children
)
+
"</li></ul>"
)}),
t
):
""
}
function
F
(
e
,
t
){
return
'<p class="'
+
e
+
'">'
+
t
.
slice
(
5
).
trim
()
+
"</p>"
}
function
H
(
e
){
return
"<style>:root{--theme-color: "
+
e
+
";}</style>"
}
function
I
(
e
,
t
){
return
t
=
{
exports
:{}},
e
(
t
,
t
.
exports
),
t
.
exports
}
function
z
(
e
,
t
){
var
n
=
[],
r
=
{};
return
e
.
forEach
(
function
(
e
){
var
i
=
e
.
level
||
1
,
a
=
i
-
1
;
i
>
t
||
(
r
[
a
]?
r
[
a
].
children
=
(
r
[
a
].
children
||
[]).
concat
(
e
):
n
.
push
(
e
),
r
[
i
]
=
e
)}),
n
}
function
R
(
e
){
if
(
"string"
!=
typeof
e
)
return
""
;
var
t
=
e
.
toLowerCase
().
trim
().
replace
(
/<
[^
>
\d]
+>/g
,
""
).
replace
(
Ue
,
""
).
replace
(
/
\s
/g
,
"-"
).
replace
(
/-+/g
,
"-"
).
replace
(
/^
(\d)
/
,
"_$1"
),
n
=
De
[
t
];
return
n
=
De
.
hasOwnProperty
(
t
)?
n
+
1
:
0
,
De
[
t
]
=
n
,
n
&&
(
t
=
t
+
"-"
+
n
),
t
}
function
W
(
e
,
t
){
return
'<img class="emoji" src="https://assets-cdn.github.com/images/icons/emoji/'
+
t
+
'.png" alt="'
+
t
+
'" />'
}
function
B
(
e
){
return
$docsify
.
noEmoji
?
e
:
e
.
replace
(
/<
(
pre|template|code
)[^
>
]
*
?
>
[\s\S]
+
?
<
\/(
pre|template|code
)
>/g
,
function
(
e
){
return
e
.
replace
(
/:/g
,
"__colon__"
)}).
replace
(
/:
(\w
+
?)
:/gi
,
window
.
emojify
||
W
).
replace
(
/__colon__/g
,
":"
)}
function
D
(
e
,
t
){
var
n
=
""
;
if
(
e
)
n
=
Qe
(
e
),
n
=
n
.
match
(
/<ul
[^
>
]
*>
([\s\S]
+
)
<
\/
ul>/g
)[
0
];
else
{
var
r
=
Ye
[
Xe
]
||
z
(
Je
,
t
);
n
=
N
(
r
,
"<ul>"
),
Ye
[
Xe
]
=
r
}
return
n
}
function
U
(
e
,
t
){
if
(
e
){
Je
[
0
]
&&
Je
[
0
].
ignoreAllSubs
&&
(
Je
=
[]),
Je
[
0
]
&&
1
===
Je
[
0
].
level
&&
Je
.
shift
(),
Je
.
forEach
(
function
(
e
,
t
){
e
.
ignoreSubHeading
&&
Je
.
splice
(
t
,
1
)});
var
n
=
Ye
[
Xe
]
||
z
(
Je
,
t
);
e
.
parentNode
.
innerHTML
+=
N
(
n
,
'<ul class="app-sub-sidebar">'
),
Ye
[
Xe
]
=
n
}
Je
=
[]}
function
G
(
e
){
var
t
=
Je
.
slice
(),
n
=
Qe
(
e
);
return
Je
=
t
.
slice
(),
n
}
function
V
(){
var
e
=
l
(
".markdown-section>script"
).
filter
(
function
(
e
){
return
!
/template/
.
test
(
e
.
type
)})[
0
];
if
(
!
e
)
return
!
1
;
var
t
=
e
.
innerText
.
trim
();
return
!!
t
&&
void
setTimeout
(
function
(
e
){
window
.
__EXECUTE_RESULT__
=
new
Function
(
t
)()},
0
)}
function
X
(
e
){
e
||
(
e
=
"not found"
),
this
.
_renderTo
(
".markdown-section"
,
e
),
!
this
.
config
.
loadSidebar
&&
this
.
_renderSidebar
(),
this
.
config
.
executeScript
===!
1
||
"undefined"
==
typeof
window
.
Vue
||
V
()?
this
.
config
.
executeScript
&&
V
():
setTimeout
(
function
(
e
){
var
t
=
window
.
__EXECUTE_RESULT__
;
t
&&
t
.
$destroy
&&
t
.
$destroy
(),
window
.
__EXECUTE_RESULT__
=
(
new
window
.
Vue
).
$mount
(
"#main"
)},
0
),
this
.
config
.
auto2top
&&
T
(
this
.
config
.
auto2top
)}
function
Z
(
e
){
var
n
=
o
(
".app-name-link"
),
r
=
e
.
config
.
nameLink
,
i
=
e
.
route
.
path
;
if
(
n
)
if
(
t
(
e
.
config
.
nameLink
))
n
.
setAttribute
(
"href"
,
r
);
else
if
(
"object"
==
typeof
r
){
var
a
=
Object
.
keys
(
r
).
find
(
function
(
e
){
return
i
.
indexOf
(
e
)
>-
1
});
n
.
setAttribute
(
"href"
,
r
[
a
])}}
function
Y
(
e
){
e
.
_renderTo
=
function
(
e
,
t
,
n
){
var
r
=
o
(
e
);
r
&&
(
r
[
n
?
"outerHTML"
:
"innerHTML"
]
=
t
)},
e
.
_renderSidebar
=
function
(
e
){
var
t
=
this
.
config
,
n
=
t
.
maxLevel
,
r
=
t
.
subMaxLevel
,
i
=
t
.
autoHeader
,
a
=
t
.
loadSidebar
;
this
.
_renderTo
(
".sidebar-nav"
,
D
(
e
,
n
));
var
s
=
L
(
".sidebar-nav"
,
!
0
,
!
0
);
if
(
U
(
a
?
s
:
""
,
r
),
this
.
activeLink
=
s
,
$
(),
i
&&
s
){
var
l
=
o
(
"#main"
),
u
=
l
.
children
[
0
];
if
(
u
&&
"H1"
!==
u
.
tagName
){
var
h
=
c
(
"h1"
);
h
.
innerText
=
s
.
innerText
,
p
(
l
,
h
)}}},
e
.
_renderNav
=
function
(
e
){
e
&&
this
.
_renderTo
(
"nav"
,
Qe
(
e
)),
L
(
"nav"
)},
e
.
_renderMain
=
function
(
e
){
var
t
=
this
;
a
(
this
,
"beforeEach"
,
e
,
function
(
e
){
var
n
=
t
.
isHTML
?
e
:
Qe
(
e
);
a
(
t
,
"afterEach"
,
n
,
function
(
e
){
return
X
.
call
(
t
,
e
)})})},
e
.
_renderCover
=
function
(
e
){
var
t
=
o
(
".cover"
);
if
(
!
e
)
return
void
g
(
t
,
"remove"
,
"show"
);
g
(
t
,
"add"
,
"show"
);
var
n
=
this
.
coverIsHTML
?
e
:
G
(
e
),
r
=
n
.
trim
().
match
(
'<p><img.*?data-origin="(.*?)"[^a]+alt="(.*?)">([^<]*?)</p>$'
);
if
(
r
){
if
(
"color"
===
r
[
2
])
t
.
style
.
background
=
r
[
1
]
+
(
r
[
3
]
||
""
);
else
{
var
i
=
r
[
1
];
g
(
t
,
"add"
,
"has-mask"
),
Te
(
r
[
1
])
||
(
i
=
v
(
Ee
(
this
.
config
.
basePath
),
r
[
1
])),
t
.
style
.
backgroundImage
=
"url("
+
i
+
")"
,
t
.
style
.
backgroundSize
=
"cover"
,
t
.
style
.
backgroundPosition
=
"center center"
}
n
=
n
.
replace
(
r
[
0
],
""
)}
this
.
_renderTo
(
".cover-main"
,
n
),
S
()},
e
.
_updateRender
=
function
(){
Qe
.
update
(),
Z
(
this
)}}
function
J
(
e
){
var
t
=
e
.
config
;
Qe
.
init
(
t
.
markdown
,
t
.
basePath
);
var
n
=
t
.
el
||
"#app"
,
r
=
s
(
"nav"
)
||
c
(
"nav"
),
i
=
s
(
n
),
a
=
""
,
o
=
ke
;
i
||
(
i
=
c
(
n
),
u
(
ke
,
i
)),
t
.
repo
&&
(
a
+=
M
(
t
.
repo
)),
t
.
coverpage
&&
(
a
+=
q
()),
a
+=
P
(
t
),
e
.
_renderTo
(
i
,
a
,
!
0
),
t
.
mergeNavbar
&&
Le
?
o
=
s
(
".sidebar"
):(
r
.
classList
.
add
(
"app-nav"
),
t
.
repo
||
r
.
classList
.
add
(
"no-badge"
)),
p
(
o
,
r
),
t
.
themeColor
&&
(
ye
.
head
.
innerHTML
+=
H
(
t
.
themeColor
),
ze
(
t
.
themeColor
)),
g
(
ke
,
"ready"
)}
function
Q
(
e
,
t
){
return
t
[
e
]?
Q
(
t
[
e
],
t
):
e
}
function
K
(
e
){
return
/
\.(
md|html
)
$/g
.
test
(
e
)?
e
:
/
\/
$/g
.
test
(
e
)?
e
+
"README.md"
:
e
+
".md"
}
function
ee
(
e
){
e
.
route
=
{},
e
.
$getFile
=
function
(
e
){
var
t
=
this
,
n
=
t
.
config
,
r
=
Ee
(
n
.
basePath
);
return
e
=
n
.
alias
?
Q
(
e
,
n
.
alias
):
e
,
e
=
K
(
e
),
e
=
"/README.md"
===
e
?
n
.
homepage
||
e
:
e
,
e
=
Te
(
e
)?
e
:
v
(
r
,
e
)}}
function
te
(
e
){
y
(),
et
=
e
.
route
=
w
(),
e
.
_updateRender
(),
h
(
"hashchange"
,
function
(
t
){
return
y
(),
e
.
route
=
w
(),
e
.
_updateRender
(),
et
.
path
===
e
.
route
.
path
?
void
e
.
$resetEvents
():(
e
.
$fetch
(),
void
(
et
=
e
.
route
))})}
function
ne
(
e
){
e
.
$resetEvents
=
function
(){
E
(
this
.
route
.
query
.
id
),
L
(
"nav"
)}}
function
re
(
e
){
_
(
"button.sidebar-toggle"
),
e
.
config
.
coverpage
?
!
Le
&&
h
(
"scroll"
,
S
):
ke
.
classList
.
add
(
"sticky"
)}
function
ie
(
e
,
t
,
n
,
r
,
i
){
e
=
i
?
e
:
e
.
replace
(
/
\/
$/
,
""
),
e
=
Ae
(
e
),
e
&&
j
(
r
.
$getFile
(
e
+
t
)).
then
(
n
,
function
(
i
){
return
ie
(
e
,
t
,
n
,
r
)})}
function
ae
(
e
){
var
t
;
e
.
_fetch
=
function
(
e
){
var
r
=
this
;
void
0
===
e
&&
(
e
=
n
);
var
i
=
this
.
route
,
a
=
i
.
path
,
o
=
this
.
config
,
s
=
o
.
loadNavbar
,
l
=
o
.
loadSidebar
;
t
&&
t
.
abort
&&
t
.
abort
(),
t
=
j
(
this
.
$getFile
(
a
),
!
0
),
this
.
isHTML
=
/
\.
html$/g
.
test
(
a
),
t
.
then
(
function
(
t
){
if
(
r
.
_renderMain
(
t
),
!
l
)
return
e
();
var
n
=
function
(
t
){
r
.
_renderSidebar
(
t
),
e
()};
ie
(
a
,
l
,
n
,
r
,
!
0
)},
function
(
e
){
return
r
.
_renderMain
(
null
)}),
s
&&
ie
(
a
,
s
,
function
(
e
){
return
r
.
_renderNav
(
e
)},
this
,
!
0
)},
e
.
_fetchCover
=
function
(){
var
e
=
this
,
t
=
this
.
config
,
n
=
t
.
coverpage
,
r
=
Ae
(
this
.
route
.
path
),
i
=
this
.
$getFile
(
r
+
n
);
return
"/"
===
this
.
route
.
path
&&
n
?(
this
.
coverIsHTML
=
/
\.
html$/g
.
test
(
i
),
void
j
(
i
).
then
(
function
(
t
){
return
e
.
_renderCover
(
t
)})):
void
this
.
_renderCover
()},
e
.
$fetch
=
function
(
e
){
var
t
=
this
;
void
0
===
e
&&
(
e
=
n
),
this
.
_fetchCover
(),
this
.
_fetch
(
function
(
n
){
t
.
$resetEvents
(),
a
(
t
,
"doneEach"
),
e
()})}}
function
oe
(
e
){
e
.
$fetch
(
function
(
t
){
return
a
(
e
,
"ready"
)})}
function
se
(
e
){
e
.
_init
=
function
(){
var
e
=
this
;
e
.
config
=
he
||
{},
i
(
e
),
le
(
e
),
a
(
e
,
"init"
),
J
(
e
),
re
(
e
),
te
(
e
),
oe
(
e
),
a
(
e
,
"mounted"
)}}
function
le
(
e
){[].
concat
(
e
.
config
.
plugins
).
forEach
(
function
(
t
){
return
r
(
t
)
&&
t
(
e
.
_lifecycle
,
e
)})}
function
ce
(){
this
.
_init
()}
var
ue
=
e
(
function
(
e
){
return
e
.
replace
(
/
([
A-Z
])
/g
,
function
(
e
){
return
"-"
+
e
.
toLowerCase
()})}),
pe
=
Object
.
assign
||
function
(
e
){
for
(
var
t
=
arguments
,
n
=
Object
.
prototype
.
hasOwnProperty
,
r
=
1
;
r
<
arguments
.
length
;
r
++
){
var
i
=
Object
(
t
[
r
]);
for
(
var
a
in
i
)
n
.
call
(
i
,
a
)
&&
(
e
[
a
]
=
i
[
a
])}
return
e
},
he
=
pe
({
el
:
"#app"
,
repo
:
""
,
maxLevel
:
6
,
subMaxLevel
:
0
,
loadSidebar
:
null
,
loadNavbar
:
null
,
homepage
:
"README.md"
,
coverpage
:
""
,
basePath
:
""
,
auto2top
:
!
1
,
name
:
""
,
themeColor
:
""
,
nameLink
:
window
.
location
.
pathname
,
autoHeader
:
!
1
,
executeScript
:
null
,
noEmoji
:
!
1
,
ga
:
""
,
mergeNavbar
:
!
1
},
window
.
$docsify
),
de
=
document
.
currentScript
||
[].
slice
.
call
(
document
.
getElementsByTagName
(
"script"
)).
filter
(
function
(
e
){
return
/docsify
\.
/
.
test
(
e
.
src
)})[
0
];
if
(
de
){
for
(
var
ge
in
he
){
var
fe
=
de
.
getAttribute
(
"data-"
+
ue
(
ge
));
t
(
fe
)
&&
(
he
[
ge
]
=
""
===
fe
||
fe
)}
he
.
loadSidebar
===!
0
&&
(
he
.
loadSidebar
=
"_sidebar.md"
),
he
.
loadNavbar
===!
0
&&
(
he
.
loadNavbar
=
"_navbar.md"
),
he
.
coverpage
===!
0
&&
(
he
.
coverpage
=
"_coverpage.md"
),
he
.
repo
===!
0
&&
(
he
.
repo
=
""
),
he
.
name
===!
0
&&
(
he
.
name
=
""
)}
window
.
$docsify
=
he
;
var
me
,
ve
,
be
=
{},
ye
=
document
,
ke
=
ye
.
body
,
we
=
ye
.
head
,
xe
=
Object
.
freeze
({
getNode
:
o
,
$
:
ye
,
body
:
ke
,
head
:
we
,
find
:
s
,
findAll
:
l
,
create
:
c
,
appendTo
:
u
,
before
:
p
,
on
:
h
,
off
:
d
,
toggleClass
:
g
}),
_e
=
window
.
navigator
.
userAgent
.
toLowerCase
(),
Se
=
_e
&&
/msie|trident/
.
test
(
_e
),
Le
=
document
.
body
.
clientWidth
<=
600
,
Ce
=
decodeURIComponent
,
$e
=
encodeURIComponent
,
Ee
=
e
(
function
(
e
){
return
/^
(\/
|https
?
:
)
/g
.
test
(
e
)?
e
:
je
(
window
.
location
.
pathname
+
"/"
+
e
)}),
Te
=
e
(
function
(
e
){
return
/
(
:|
(\/{2}))
/
.
test
(
e
)}),
Ae
=
e
(
function
(
e
){
return
/
\/
$/g
.
test
(
e
)?
e
:(
e
=
e
.
match
(
/
(\S
*
\/)[^\/]
+$/
))?
e
[
1
]:
""
}),
je
=
e
(
function
(
e
){
return
e
.
replace
(
/^
\/
+/
,
"/"
).
replace
(
/
([^
:
])\/{2,}
/g
,
"$1/"
)}),
Oe
=
e
(
function
(
e
){
return
e
.
replace
(
"#"
,
"?id="
)}),
Me
=
Object
.
freeze
({
normalize
:
y
,
getHash
:
k
,
parse
:
w
,
toURL
:
x
,
parseQuery
:
f
,
stringifyQuery
:
m
,
getBasePath
:
Ee
,
getPath
:
v
,
isAbsolutePath
:
Te
,
getParentPath
:
Ae
,
cleanPath
:
je
}),
Pe
=
ye
.
title
,
qe
=
{},
Ne
=!
1
,
Fe
=
ye
.
scrollingElement
||
ye
.
documentElement
,
He
=
function
(
e
){
var
t
,
n
=
e
.
loaded
,
r
=
e
.
total
,
i
=
e
.
step
;
!
me
&&
A
(),
i
?(
t
=
parseInt
(
me
.
style
.
width
||
0
,
10
)
+
i
,
t
=
t
>
80
?
80
:
t
):
t
=
Math
.
floor
(
n
/
r
*
100
),
me
.
style
.
opacity
=
1
,
me
.
style
.
width
=
t
>=
95
?
"100%"
:
t
+
"%"
,
t
>=
95
&&
(
clearTimeout
(
ve
),
ve
=
setTimeout
(
function
(
e
){
me
.
style
.
opacity
=
0
,
me
.
style
.
width
=
"0%"
},
200
))},
Ie
=
{},
ze
=
function
(
e
){
if
(
!
(
window
.
CSS
&&
window
.
CSS
.
supports
&&
window
.
CSS
.
supports
(
"(--v:red)"
))){
var
t
=
l
(
"style:not(.inserted),link"
);[].
forEach
.
call
(
t
,
function
(
t
){
if
(
"STYLE"
===
t
.
nodeName
)
O
(
t
,
e
);
else
if
(
"LINK"
===
t
.
nodeName
){
var
n
=
t
.
getAttribute
(
"href"
);
if
(
!
/
\.
css$/
.
test
(
n
))
return
;
j
(
n
).
then
(
function
(
t
){
var
n
=
c
(
"style"
,
t
);
we
.
appendChild
(
n
),
O
(
n
,
e
)})}})}},
Re
=
"undefined"
!=
typeof
window
?
window
:
"undefined"
!=
typeof
global
?
global
:
"undefined"
!=
typeof
self
?
self
:{},
We
=
I
(
function
(
e
,
t
){(
function
(){
function
t
(
e
){
this
.
tokens
=
[],
this
.
tokens
.
links
=
{},
this
.
options
=
e
||
u
.
defaults
,
this
.
rules
=
p
.
normal
,
this
.
options
.
gfm
&&
(
this
.
options
.
tables
?
this
.
rules
=
p
.
tables
:
this
.
rules
=
p
.
gfm
)}
function
n
(
e
,
t
){
if
(
this
.
options
=
t
||
u
.
defaults
,
this
.
links
=
e
,
this
.
rules
=
h
.
normal
,
this
.
renderer
=
this
.
options
.
renderer
||
new
r
,
this
.
renderer
.
options
=
this
.
options
,
!
this
.
links
)
throw
new
Error
(
"Tokens array requires a `links` property."
);
this
.
options
.
gfm
?
this
.
options
.
breaks
?
this
.
rules
=
h
.
breaks
:
this
.
rules
=
h
.
gfm
:
this
.
options
.
pedantic
&&
(
this
.
rules
=
h
.
pedantic
)}
function
r
(
e
){
this
.
options
=
e
||
{}}
function
i
(
e
){
this
.
tokens
=
[],
this
.
token
=
null
,
this
.
options
=
e
||
u
.
defaults
,
this
.
options
.
renderer
=
this
.
options
.
renderer
||
new
r
,
this
.
renderer
=
this
.
options
.
renderer
,
this
.
renderer
.
options
=
this
.
options
}
function
a
(
e
,
t
){
return
e
.
replace
(
t
?
/&/g
:
/&
(?!
#
?\w
+;
)
/g
,
"&"
).
replace
(
/</g
,
"<"
).
replace
(
/>/g
,
">"
).
replace
(
/"/g
,
"""
).
replace
(
/'/g
,
"'"
)}
function
o
(
e
){
return
e
.
replace
(
/&
(
#
(?:\d
+
)
|
(?:
#x
[
0-9A-Fa-f
]
+
)
|
(?:\w
+
))
;
?
/g
,
function
(
e
,
t
){
return
t
=
t
.
toLowerCase
(),
"colon"
===
t
?
":"
:
"#"
===
t
.
charAt
(
0
)?
"x"
===
t
.
charAt
(
1
)?
String
.
fromCharCode
(
parseInt
(
t
.
substring
(
2
),
16
)):
String
.
fromCharCode
(
+
t
.
substring
(
1
)):
""
})}
function
s
(
e
,
t
){
return
e
=
e
.
source
,
t
=
t
||
""
,
function
n
(
r
,
i
){
return
r
?(
i
=
i
.
source
||
i
,
i
=
i
.
replace
(
/
(
^|
[^\[])\^
/g
,
"$1"
),
e
=
e
.
replace
(
r
,
i
),
n
):
new
RegExp
(
e
,
t
)}}
function
l
(){}
function
c
(
e
){
for
(
var
t
,
n
,
r
=
arguments
,
i
=
1
;
i
<
arguments
.
length
;
i
++
){
t
=
r
[
i
];
for
(
n
in
t
)
Object
.
prototype
.
hasOwnProperty
.
call
(
t
,
n
)
&&
(
e
[
n
]
=
t
[
n
])}
return
e
}
function
u
(
e
,
n
,
r
){
if
(
r
||
"function"
==
typeof
n
){
r
||
(
r
=
n
,
n
=
null
),
n
=
c
({},
u
.
defaults
,
n
||
{});
var
o
,
s
,
l
=
n
.
highlight
,
p
=
0
;
try
{
o
=
t
.
lex
(
e
,
n
)}
catch
(
e
){
return
r
(
e
)}
s
=
o
.
length
;
var
h
=
function
(
e
){
if
(
e
)
return
n
.
highlight
=
l
,
r
(
e
);
var
t
;
try
{
t
=
i
.
parse
(
o
,
n
)}
catch
(
t
){
e
=
t
}
return
n
.
highlight
=
l
,
e
?
r
(
e
):
r
(
null
,
t
)};
if
(
!
l
||
l
.
length
<
3
)
return
h
();
if
(
delete
n
.
highlight
,
!
s
)
return
h
();
for
(;
p
<
o
.
length
;
p
++
)
!
function
(
e
){
return
"code"
!==
e
.
type
?
--
s
||
h
():
l
(
e
.
text
,
e
.
lang
,
function
(
t
,
n
){
return
t
?
h
(
t
):
null
==
n
||
n
===
e
.
text
?
--
s
||
h
():(
e
.
text
=
n
,
e
.
escaped
=!
0
,
void
(
--
s
||
h
()))})}(
o
[
p
])}
else
try
{
return
n
&&
(
n
=
c
({},
u
.
defaults
,
n
)),
i
.
parse
(
t
.
lex
(
e
,
n
),
n
)}
catch
(
e
){
if
(
e
.
message
+=
"
\
nPlease report this to https://github.com/chjj/marked."
,(
n
||
u
.
defaults
).
silent
)
return
"<p>An error occured:</p><pre>"
+
a
(
e
.
message
+
""
,
!
0
)
+
"</pre>"
;
throw
e
}}
var
p
=
{
newline
:
/^
\n
+/
,
code
:
/^
(
{4}[^\n]
+
\n
*
)
+/
,
fences
:
l
,
hr
:
/^
(
*
[
-*_
]){3,}
*
(?:\n
+|$
)
/
,
heading
:
/^ *
(
#
{1,6})
*
([^\n]
+
?)
*#* *
(?:\n
+|$
)
/
,
nptable
:
l
,
lheading
:
/^
([^\n]
+
)\n
*
(
=|-
){2,}
*
(?:\n
+|$
)
/
,
blockquote
:
/^
(
*>
[^\n]
+
(\n(?!
def
)[^\n]
+
)
*
\n
*
)
+/
,
list
:
/^
(
*
)(
bull
)
[\s\S]
+
?(?:
hr|def|
\n{2,}(?!
)(?!\1
bull
)\n
*|
\s
*$
)
/
,
html
:
/^ *
(?:
comment *
(?:\n
|
\s
*$
)
|closed *
(?:\n{2,}
|
\s
*$
)
|closing *
(?:\n{2,}
|
\s
*$
))
/
,
def
:
/^ *
\[([^\]]
+
)\]
: *<
?([^\s
>
]
+
)
>
?(?:
+
[
"(
]([^\n]
+
)[
")
])?
*
(?:\n
+|$
)
/
,
table
:
l
,
paragraph
:
/^
((?:[^\n]
+
\n?(?!
hr|heading|lheading|blockquote|tag|def
))
+
)\n
*/
,
text
:
/^
[^\n]
+/
};
p
.
bullet
=
/
(?:[
*+-
]
|
\d
+
\.)
/
,
p
.
item
=
/^
(
*
)(
bull
)
[^\n]
*
(?:\n(?!\1
bull
)[^\n]
*
)
*/
,
p
.
item
=
s
(
p
.
item
,
"gm"
)(
/bull/g
,
p
.
bullet
)(),
p
.
list
=
s
(
p
.
list
)(
/bull/g
,
p
.
bullet
)(
"hr"
,
"
\\
n+(?=
\\
1?(?:[-*_] *){3,}(?:
\\
n+|$))"
)(
"def"
,
"
\\
n+(?="
+
p
.
def
.
source
+
")"
)(),
p
.
blockquote
=
s
(
p
.
blockquote
)(
"def"
,
p
.
def
)(),
p
.
_tag
=
"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)
\\
b)
\\
w+(?!:/|[^
\\
w
\\
s@]*@)
\\
b"
,
p
.
html
=
s
(
p
.
html
)(
"comment"
,
/<!--
[\s\S]
*
?
-->/
)(
"closed"
,
/<
(
tag
)[\s\S]
+
?
<
\/\1
>/
)(
"closing"
,
/<tag
(?:
"
[^
"
]
*"|'
[^
'
]
*'|
[^
'">
])
*
?
>/
)(
/tag/g
,
p
.
_tag
)(),
p
.
paragraph
=
s
(
p
.
paragraph
)(
"hr"
,
p
.
hr
)(
"heading"
,
p
.
heading
)(
"lheading"
,
p
.
lheading
)(
"blockquote"
,
p
.
blockquote
)(
"tag"
,
"<"
+
p
.
_tag
)(
"def"
,
p
.
def
)(),
p
.
normal
=
c
({},
p
),
p
.
gfm
=
c
({},
p
.
normal
,{
fences
:
/^ *
(
`
{3,}
|~
{3,})[
\.]
*
(\S
+
)?
*
\n([\s\S]
*
?)\s
*
\1
*
(?:\n
+|$
)
/
,
paragraph
:
/^/
,
heading
:
/^ *
(
#
{1,6})
+
([^\n]
+
?)
*#* *
(?:\n
+|$
)
/
}),
p
.
gfm
.
paragraph
=
s
(
p
.
paragraph
)(
"(?!"
,
"(?!"
+
p
.
gfm
.
fences
.
source
.
replace
(
"
\\
1"
,
"
\\
2"
)
+
"|"
+
p
.
list
.
source
.
replace
(
"
\\
1"
,
"
\\
3"
)
+
"|"
)(),
p
.
tables
=
c
({},
p
.
gfm
,{
nptable
:
/^ *
(\S
.*
\|
.*
)\n
*
([
-:
]
+ *
\|[
-| :
]
*
)\n((?:
.*
\|
.*
(?:\n
|$
))
*
)\n
*/
,
table
:
/^ *
\|(
.+
)\n
*
\|(
*
[
-:
]
+
[
-| :
]
*
)\n((?:
*
\|
.*
(?:\n
|$
))
*
)\n
*/
}),
t
.
rules
=
p
,
t
.
lex
=
function
(
e
,
n
){
var
r
=
new
t
(
n
);
return
r
.
lex
(
e
)},
t
.
prototype
.
lex
=
function
(
e
){
return
e
=
e
.
replace
(
/
\r\n
|
\r
/g
,
"
\
n"
).
replace
(
/
\t
/g
,
" "
).
replace
(
/
\u
00a0/g
,
" "
).
replace
(
/
\u
2424/g
,
"
\
n"
),
this
.
token
(
e
,
!
0
)},
t
.
prototype
.
token
=
function
(
e
,
t
,
n
){
for
(
var
r
,
i
,
a
,
o
,
s
,
l
,
c
,
u
,
h
,
d
=
this
,
e
=
e
.
replace
(
/^ +$/gm
,
""
);
e
;)
if
((
a
=
d
.
rules
.
newline
.
exec
(
e
))
&&
(
e
=
e
.
substring
(
a
[
0
].
length
),
a
[
0
].
length
>
1
&&
d
.
tokens
.
push
({
type
:
"space"
})),
a
=
d
.
rules
.
code
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
a
=
a
[
0
].
replace
(
/^
{4}
/gm
,
""
),
d
.
tokens
.
push
({
type
:
"code"
,
text
:
d
.
options
.
pedantic
?
a
:
a
.
replace
(
/
\n
+$/
,
""
)});
else
if
(
a
=
d
.
rules
.
fences
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"code"
,
lang
:
a
[
2
],
text
:
a
[
3
]
||
""
});
else
if
(
a
=
d
.
rules
.
heading
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"heading"
,
depth
:
a
[
1
].
length
,
text
:
a
[
2
]});
else
if
(
t
&&
(
a
=
d
.
rules
.
nptable
.
exec
(
e
))){
for
(
e
=
e
.
substring
(
a
[
0
].
length
),
l
=
{
type
:
"table"
,
header
:
a
[
1
].
replace
(
/^ *| *
\|
*$/g
,
""
).
split
(
/ *
\|
*/
),
align
:
a
[
2
].
replace
(
/^ *|
\|
*$/g
,
""
).
split
(
/ *
\|
*/
),
cells
:
a
[
3
].
replace
(
/
\n
$/
,
""
).
split
(
"
\
n"
)},
u
=
0
;
u
<
l
.
align
.
length
;
u
++
)
/^
*-+
:
*
$
/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"right"
:
/^ *:-+: *$/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"center"
:
/^ *:-+ *$/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"left"
:
l
.
align
[
u
]
=
null
;
for
(
u
=
0
;
u
<
l
.
cells
.
length
;
u
++
)
l
.
cells
[
u
]
=
l
.
cells
[
u
].
split
(
/ *
\|
*/
);
d
.
tokens
.
push
(
l
)}
else
if
(
a
=
d
.
rules
.
lheading
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"heading"
,
depth
:
"="
===
a
[
2
]?
1
:
2
,
text
:
a
[
1
]});
else
if
(
a
=
d
.
rules
.
hr
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"hr"
});
else
if
(
a
=
d
.
rules
.
blockquote
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"blockquote_start"
}),
a
=
a
[
0
].
replace
(
/^ *>
?
/gm
,
""
),
d
.
token
(
a
,
t
,
!
0
),
d
.
tokens
.
push
({
type
:
"blockquote_end"
});
else
if
(
a
=
d
.
rules
.
list
.
exec
(
e
)){
for
(
e
=
e
.
substring
(
a
[
0
].
length
),
o
=
a
[
2
],
d
.
tokens
.
push
({
type
:
"list_start"
,
ordered
:
o
.
length
>
1
}),
a
=
a
[
0
].
match
(
d
.
rules
.
item
),
r
=!
1
,
h
=
a
.
length
,
u
=
0
;
u
<
h
;
u
++
)
l
=
a
[
u
],
c
=
l
.
length
,
l
=
l
.
replace
(
/^ *
([
*+-
]
|
\d
+
\.)
+/
,
""
),
~
l
.
indexOf
(
"
\
n "
)
&&
(
c
-=
l
.
length
,
l
=
d
.
options
.
pedantic
?
l
.
replace
(
/^
{1,4}
/gm
,
""
):
l
.
replace
(
new
RegExp
(
"^ {1,"
+
c
+
"}"
,
"gm"
),
""
)),
d
.
options
.
smartLists
&&
u
!==
h
-
1
&&
(
s
=
p
.
bullet
.
exec
(
a
[
u
+
1
])[
0
],
o
===
s
||
o
.
length
>
1
&&
s
.
length
>
1
||
(
e
=
a
.
slice
(
u
+
1
).
join
(
"
\
n"
)
+
e
,
u
=
h
-
1
)),
i
=
r
||
/
\n\n(?!\s
*$
)
/
.
test
(
l
),
u
!==
h
-
1
&&
(
r
=
"
\
n"
===
l
.
charAt
(
l
.
length
-
1
),
i
||
(
i
=
r
)),
d
.
tokens
.
push
({
type
:
i
?
"loose_item_start"
:
"list_item_start"
}),
d
.
token
(
l
,
!
1
,
n
),
d
.
tokens
.
push
({
type
:
"list_item_end"
});
d
.
tokens
.
push
({
type
:
"list_end"
})}
else
if
(
a
=
d
.
rules
.
html
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
d
.
options
.
sanitize
?
"paragraph"
:
"html"
,
pre
:
!
d
.
options
.
sanitizer
&&
(
"pre"
===
a
[
1
]
||
"script"
===
a
[
1
]
||
"style"
===
a
[
1
]),
text
:
a
[
0
]});
else
if
(
!
n
&&
t
&&
(
a
=
d
.
rules
.
def
.
exec
(
e
)))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
links
[
a
[
1
].
toLowerCase
()]
=
{
href
:
a
[
2
],
title
:
a
[
3
]};
else
if
(
t
&&
(
a
=
d
.
rules
.
table
.
exec
(
e
))){
for
(
e
=
e
.
substring
(
a
[
0
].
length
),
l
=
{
type
:
"table"
,
header
:
a
[
1
].
replace
(
/^ *| *
\|
*$/g
,
""
).
split
(
/ *
\|
*/
),
align
:
a
[
2
].
replace
(
/^ *|
\|
*$/g
,
""
).
split
(
/ *
\|
*/
),
cells
:
a
[
3
].
replace
(
/
(?:
*
\|
*
)?\n
$/
,
""
).
split
(
"
\
n"
)},
u
=
0
;
u
<
l
.
align
.
length
;
u
++
)
/^
*-+
:
*
$
/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"right"
:
/^ *:-+: *$/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"center"
:
/^ *:-+ *$/
.
test
(
l
.
align
[
u
])?
l
.
align
[
u
]
=
"left"
:
l
.
align
[
u
]
=
null
;
for
(
u
=
0
;
u
<
l
.
cells
.
length
;
u
++
)
l
.
cells
[
u
]
=
l
.
cells
[
u
].
replace
(
/^ *
\|
*| *
\|
*$/g
,
""
).
split
(
/ *
\|
*/
);
d
.
tokens
.
push
(
l
)}
else
if
(
t
&&
(
a
=
d
.
rules
.
paragraph
.
exec
(
e
)))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"paragraph"
,
text
:
"
\
n"
===
a
[
1
].
charAt
(
a
[
1
].
length
-
1
)?
a
[
1
].
slice
(
0
,
-
1
):
a
[
1
]});
else
if
(
a
=
d
.
rules
.
text
.
exec
(
e
))
e
=
e
.
substring
(
a
[
0
].
length
),
d
.
tokens
.
push
({
type
:
"text"
,
text
:
a
[
0
]});
else
if
(
e
)
throw
new
Error
(
"Infinite loop on byte: "
+
e
.
charCodeAt
(
0
));
return
this
.
tokens
};
var
h
=
{
escape
:
/^
\\([\\
`*{}
\[\]
()#+
\-
.!_>
])
/
,
autolink
:
/^<
([^
>
]
+
(
@|:
\/)[^
>
]
+
)
>/
,
url
:
l
,
tag
:
/^<!--
[\s\S]
*
?
-->|^<
\/?\w
+
(?:
"
[^
"
]
*"|'
[^
'
]
*'|
[^
'">
])
*
?
>/
,
link
:
/^!
?\[(
inside
)\]\(
href
\)
/
,
reflink
:
/^!
?\[(
inside
)\]\s
*
\[([^\]]
*
)\]
/
,
nolink
:
/^!
?\[((?:\[[^\]]
*
\]
|
[^\[\]])
*
)\]
/
,
strong
:
/^__
([\s\S]
+
?)
__
(?!
_
)
|^
\*\*([\s\S]
+
?)\*\*(?!\*)
/
,
em
:
/^
\b
_
((?:[^
_
]
|__
)
+
?)
_
\b
|^
\*((?:\*\*
|
[\s\S])
+
?)\*(?!\*)
/
,
code
:
/^
(
`+
)\s
*
([\s\S]
*
?[^
`
])\s
*
\1(?!
`
)
/
,
br
:
/^
{2,}\n(?!\s
*$
)
/
,
del
:
l
,
text
:
/^
[\s\S]
+
?(?=[\\
<!
\[
_*`
]
|
{2,}\n
|$
)
/
};
h
.
_inside
=
/
(?:\[[^\]]
*
\]
|
[^\[\]]
|
\](?=[^\[]
*
\]))
*/
,
h
.
_href
=
/
\s
*<
?([\s\S]
*
?)
>
?(?:\s
+
[
'"
]([\s\S]
*
?)[
'"
])?\s
*/
,
h
.
link
=
s
(
h
.
link
)(
"inside"
,
h
.
_inside
)(
"href"
,
h
.
_href
)(),
h
.
reflink
=
s
(
h
.
reflink
)(
"inside"
,
h
.
_inside
)(),
h
.
normal
=
c
({},
h
),
h
.
pedantic
=
c
({},
h
.
normal
,{
strong
:
/^__
(?=\S)([\s\S]
*
?\S)
__
(?!
_
)
|^
\*\*(?=\S)([\s\S]
*
?\S)\*\*(?!\*)
/
,
em
:
/^_
(?=\S)([\s\S]
*
?\S)
_
(?!
_
)
|^
\*(?=\S)([\s\S]
*
?\S)\*(?!\*)
/
}),
h
.
gfm
=
c
({},
h
.
normal
,{
escape
:
s
(
h
.
escape
)(
"])"
,
"~|])"
)(),
url
:
/^
(
https
?
:
\/\/[^\s
<
]
+
[^
<.,:;"')
\]\s])
/
,
del
:
/^~~
(?=\S)([\s\S]
*
?\S)
~~/
,
text
:
s
(
h
.
text
)(
"]|"
,
"~]|"
)(
"|"
,
"|https?://|"
)()}),
h
.
breaks
=
c
({},
h
.
gfm
,{
br
:
s
(
h
.
br
)(
"{2,}"
,
"*"
)(),
text
:
s
(
h
.
gfm
.
text
)(
"{2,}"
,
"*"
)()}),
n
.
rules
=
h
,
n
.
output
=
function
(
e
,
t
,
r
){
var
i
=
new
n
(
t
,
r
);
return
i
.
output
(
e
)},
n
.
prototype
.
output
=
function
(
e
){
for
(
var
t
,
n
,
r
,
i
,
o
=
this
,
s
=
""
;
e
;)
if
(
i
=
o
.
rules
.
escape
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
i
[
1
];
else
if
(
i
=
o
.
rules
.
autolink
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
"@"
===
i
[
2
]?(
n
=
":"
===
i
[
1
].
charAt
(
6
)?
o
.
mangle
(
i
[
1
].
substring
(
7
)):
o
.
mangle
(
i
[
1
]),
r
=
o
.
mangle
(
"mailto:"
)
+
n
):(
n
=
a
(
i
[
1
]),
r
=
n
),
s
+=
o
.
renderer
.
link
(
r
,
null
,
n
);
else
if
(
o
.
inLink
||!
(
i
=
o
.
rules
.
url
.
exec
(
e
))){
if
(
i
=
o
.
rules
.
tag
.
exec
(
e
))
!
o
.
inLink
&&
/^<a /i
.
test
(
i
[
0
])?
o
.
inLink
=!
0
:
o
.
inLink
&&
/^<
\/
a>/i
.
test
(
i
[
0
])
&&
(
o
.
inLink
=!
1
),
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
options
.
sanitize
?
o
.
options
.
sanitizer
?
o
.
options
.
sanitizer
(
i
[
0
]):
a
(
i
[
0
]):
i
[
0
];
else
if
(
i
=
o
.
rules
.
link
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
o
.
inLink
=!
0
,
s
+=
o
.
outputLink
(
i
,{
href
:
i
[
2
],
title
:
i
[
3
]}),
o
.
inLink
=!
1
;
else
if
((
i
=
o
.
rules
.
reflink
.
exec
(
e
))
||
(
i
=
o
.
rules
.
nolink
.
exec
(
e
))){
if
(
e
=
e
.
substring
(
i
[
0
].
length
),
t
=
(
i
[
2
]
||
i
[
1
]).
replace
(
/
\s
+/g
,
" "
),
t
=
o
.
links
[
t
.
toLowerCase
()],
!
t
||!
t
.
href
){
s
+=
i
[
0
].
charAt
(
0
),
e
=
i
[
0
].
substring
(
1
)
+
e
;
continue
}
o
.
inLink
=!
0
,
s
+=
o
.
outputLink
(
i
,
t
),
o
.
inLink
=!
1
}
else
if
(
i
=
o
.
rules
.
strong
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
strong
(
o
.
output
(
i
[
2
]
||
i
[
1
]));
else
if
(
i
=
o
.
rules
.
em
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
em
(
o
.
output
(
i
[
2
]
||
i
[
1
]));
else
if
(
i
=
o
.
rules
.
code
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
codespan
(
a
(
i
[
2
],
!
0
));
else
if
(
i
=
o
.
rules
.
br
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
br
();
else
if
(
i
=
o
.
rules
.
del
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
del
(
o
.
output
(
i
[
1
]));
else
if
(
i
=
o
.
rules
.
text
.
exec
(
e
))
e
=
e
.
substring
(
i
[
0
].
length
),
s
+=
o
.
renderer
.
text
(
a
(
o
.
smartypants
(
i
[
0
])));
else
if
(
e
)
throw
new
Error
(
"Infinite loop on byte: "
+
e
.
charCodeAt
(
0
))}
else
e
=
e
.
substring
(
i
[
0
].
length
),
n
=
a
(
i
[
1
]),
r
=
n
,
s
+=
o
.
renderer
.
link
(
r
,
null
,
n
);
return
s
},
n
.
prototype
.
outputLink
=
function
(
e
,
t
){
var
n
=
a
(
t
.
href
),
r
=
t
.
title
?
a
(
t
.
title
):
null
;
return
"!"
!==
e
[
0
].
charAt
(
0
)?
this
.
renderer
.
link
(
n
,
r
,
this
.
output
(
e
[
1
])):
this
.
renderer
.
image
(
n
,
r
,
a
(
e
[
1
]))},
n
.
prototype
.
smartypants
=
function
(
e
){
return
this
.
options
.
smartypants
?
e
.
replace
(
/---/g
,
"—"
).
replace
(
/--/g
,
"–"
).
replace
(
/
(
^|
[
-
\u
2014
\/
(
\[
{"
\s])
'/g
,
"$1‘"
).
replace
(
/'/g
,
"’"
).
replace
(
/
(
^|
[
-
\u
2014
\/
(
\[
{
\u
2018
\s])
"/g
,
"$1“"
).
replace
(
/"/g
,
"”"
).
replace
(
/
\.{3}
/g
,
"…"
):
e
},
n
.
prototype
.
mangle
=
function
(
e
){
if
(
!
this
.
options
.
mangle
)
return
e
;
for
(
var
t
,
n
=
""
,
r
=
e
.
length
,
i
=
0
;
i
<
r
;
i
++
)
t
=
e
.
charCodeAt
(
i
),
Math
.
random
()
>
.
5
&&
(
t
=
"x"
+
t
.
toString
(
16
)),
n
+=
"&#"
+
t
+
";"
;
return
n
},
r
.
prototype
.
code
=
function
(
e
,
t
,
n
){
if
(
this
.
options
.
highlight
){
var
r
=
this
.
options
.
highlight
(
e
,
t
);
null
!=
r
&&
r
!==
e
&&
(
n
=!
0
,
e
=
r
)}
return
t
?
'<pre><code class="'
+
this
.
options
.
langPrefix
+
a
(
t
,
!
0
)
+
'">'
+
(
n
?
e
:
a
(
e
,
!
0
))
+
"
\
n</code></pre>
\
n"
:
"<pre><code>"
+
(
n
?
e
:
a
(
e
,
!
0
))
+
"
\
n</code></pre>"
},
r
.
prototype
.
blockquote
=
function
(
e
){
return
"<blockquote>
\
n"
+
e
+
"</blockquote>
\
n"
},
r
.
prototype
.
html
=
function
(
e
){
return
e
},
r
.
prototype
.
heading
=
function
(
e
,
t
,
n
){
return
"<h"
+
t
+
' id="'
+
this
.
options
.
headerPrefix
+
n
.
toLowerCase
().
replace
(
/
[^\w]
+/g
,
"-"
)
+
'">'
+
e
+
"</h"
+
t
+
">
\
n"
},
r
.
prototype
.
hr
=
function
(){
return
this
.
options
.
xhtml
?
"<hr/>
\
n"
:
"<hr>
\
n"
},
r
.
prototype
.
list
=
function
(
e
,
t
){
var
n
=
t
?
"ol"
:
"ul"
;
return
"<"
+
n
+
">
\
n"
+
e
+
"</"
+
n
+
">
\
n"
},
r
.
prototype
.
listitem
=
function
(
e
){
return
"<li>"
+
e
+
"</li>
\
n"
},
r
.
prototype
.
paragraph
=
function
(
e
){
return
"<p>"
+
e
+
"</p>
\
n"
},
r
.
prototype
.
table
=
function
(
e
,
t
){
return
"<table>
\
n<thead>
\
n"
+
e
+
"</thead>
\
n<tbody>
\
n"
+
t
+
"</tbody>
\
n</table>
\
n"
},
r
.
prototype
.
tablerow
=
function
(
e
){
return
"<tr>
\
n"
+
e
+
"</tr>
\
n"
},
r
.
prototype
.
tablecell
=
function
(
e
,
t
){
var
n
=
t
.
header
?
"th"
:
"td"
,
r
=
t
.
align
?
"<"
+
n
+
' style="text-align:'
+
t
.
align
+
'">'
:
"<"
+
n
+
">"
;
return
r
+
e
+
"</"
+
n
+
">
\
n"
},
r
.
prototype
.
strong
=
function
(
e
){
return
"<strong>"
+
e
+
"</strong>"
},
r
.
prototype
.
em
=
function
(
e
){
return
"<em>"
+
e
+
"</em>"
},
r
.
prototype
.
codespan
=
function
(
e
){
return
"<code>"
+
e
+
"</code>"
},
r
.
prototype
.
br
=
function
(){
return
this
.
options
.
xhtml
?
"<br/>"
:
"<br>"
},
r
.
prototype
.
del
=
function
(
e
){
return
"<del>"
+
e
+
"</del>"
},
r
.
prototype
.
link
=
function
(
e
,
t
,
n
){
if
(
this
.
options
.
sanitize
){
try
{
var
r
=
decodeURIComponent
(
o
(
e
)).
replace
(
/
[^\w
:
]
/g
,
""
).
toLowerCase
()}
catch
(
e
){
return
""
}
if
(
0
===
r
.
indexOf
(
"javascript:"
)
||
0
===
r
.
indexOf
(
"vbscript:"
))
return
""
}
var
i
=
'<a href="'
+
e
+
'"'
;
return
t
&&
(
i
+=
' title="'
+
t
+
'"'
),
i
+=
">"
+
n
+
"</a>"
},
r
.
prototype
.
image
=
function
(
e
,
t
,
n
){
var
r
=
'<img src="'
+
e
+
'" alt="'
+
n
+
'"'
;
return
t
&&
(
r
+=
' title="'
+
t
+
'"'
),
r
+=
this
.
options
.
xhtml
?
"/>"
:
">"
},
r
.
prototype
.
text
=
function
(
e
){
return
e
},
i
.
parse
=
function
(
e
,
t
,
n
){
var
r
=
new
i
(
t
,
n
);
return
r
.
parse
(
e
)},
i
.
prototype
.
parse
=
function
(
e
){
var
t
=
this
;
this
.
inline
=
new
n
(
e
.
links
,
this
.
options
,
this
.
renderer
),
this
.
tokens
=
e
.
reverse
();
for
(
var
r
=
""
;
this
.
next
();)
r
+=
t
.
tok
();
return
r
},
i
.
prototype
.
next
=
function
(){
return
this
.
token
=
this
.
tokens
.
pop
()},
i
.
prototype
.
peek
=
function
(){
return
this
.
tokens
[
this
.
tokens
.
length
-
1
]
||
0
},
i
.
prototype
.
parseText
=
function
(){
for
(
var
e
=
this
,
t
=
this
.
token
.
text
;
"text"
===
this
.
peek
().
type
;)
t
+=
"
\
n"
+
e
.
next
().
text
;
return
this
.
inline
.
output
(
t
)},
i
.
prototype
.
tok
=
function
(){
var
e
=
this
;
switch
(
this
.
token
.
type
){
case
"space"
:
return
""
;
case
"hr"
:
return
this
.
renderer
.
hr
();
case
"heading"
:
return
this
.
renderer
.
heading
(
this
.
inline
.
output
(
this
.
token
.
text
),
this
.
token
.
depth
,
this
.
token
.
text
);
case
"code"
:
return
this
.
renderer
.
code
(
this
.
token
.
text
,
this
.
token
.
lang
,
this
.
token
.
escaped
);
case
"table"
:
var
t
,
n
,
r
,
i
,
a
,
o
=
""
,
s
=
""
;
for
(
r
=
""
,
t
=
0
;
t
<
this
.
token
.
header
.
length
;
t
++
)
i
=
{
header
:
!
0
,
align
:
e
.
token
.
align
[
t
]},
r
+=
e
.
renderer
.
tablecell
(
e
.
inline
.
output
(
e
.
token
.
header
[
t
]),{
header
:
!
0
,
align
:
e
.
token
.
align
[
t
]});
for
(
o
+=
this
.
renderer
.
tablerow
(
r
),
t
=
0
;
t
<
this
.
token
.
cells
.
length
;
t
++
){
for
(
n
=
e
.
token
.
cells
[
t
],
r
=
""
,
a
=
0
;
a
<
n
.
length
;
a
++
)
r
+=
e
.
renderer
.
tablecell
(
e
.
inline
.
output
(
n
[
a
]),{
header
:
!
1
,
align
:
e
.
token
.
align
[
a
]});
s
+=
e
.
renderer
.
tablerow
(
r
)}
return
this
.
renderer
.
table
(
o
,
s
);
case
"blockquote_start"
:
for
(
var
s
=
""
;
"blockquote_end"
!==
this
.
next
().
type
;)
s
+=
e
.
tok
();
return
this
.
renderer
.
blockquote
(
s
);
case
"list_start"
:
for
(
var
s
=
""
,
l
=
this
.
token
.
ordered
;
"list_end"
!==
this
.
next
().
type
;)
s
+=
e
.
tok
();
return
this
.
renderer
.
list
(
s
,
l
);
case
"list_item_start"
:
for
(
var
s
=
""
;
"list_item_end"
!==
this
.
next
().
type
;)
s
+=
"text"
===
e
.
token
.
type
?
e
.
parseText
():
e
.
tok
();
return
this
.
renderer
.
listitem
(
s
);
case
"loose_item_start"
:
for
(
var
s
=
""
;
"list_item_end"
!==
this
.
next
().
type
;)
s
+=
e
.
tok
();
return
this
.
renderer
.
listitem
(
s
);
case
"html"
:
var
c
=
this
.
token
.
pre
||
this
.
options
.
pedantic
?
this
.
token
.
text
:
this
.
inline
.
output
(
this
.
token
.
text
);
return
this
.
renderer
.
html
(
c
);
case
"paragraph"
:
return
this
.
renderer
.
paragraph
(
this
.
inline
.
output
(
this
.
token
.
text
));
case
"text"
:
return
this
.
renderer
.
paragraph
(
this
.
parseText
())}},
l
.
exec
=
l
,
u
.
options
=
u
.
setOptions
=
function
(
e
){
return
c
(
u
.
defaults
,
e
),
u
},
u
.
defaults
=
{
gfm
:
!
0
,
tables
:
!
0
,
breaks
:
!
1
,
pedantic
:
!
1
,
sanitize
:
!
1
,
sanitizer
:
null
,
mangle
:
!
0
,
smartLists
:
!
1
,
silent
:
!
1
,
highlight
:
null
,
langPrefix
:
"lang-"
,
smartypants
:
!
1
,
headerPrefix
:
""
,
renderer
:
new
r
,
xhtml
:
!
1
},
u
.
Parser
=
i
,
u
.
parser
=
i
.
parse
,
u
.
Renderer
=
r
,
u
.
Lexer
=
t
,
u
.
lexer
=
t
.
lex
,
u
.
InlineLexer
=
n
,
u
.
inlineLexer
=
n
.
output
,
u
.
parse
=
u
,
e
.
exports
=
u
}).
call
(
function
(){
return
this
||
(
"undefined"
!=
typeof
window
?
window
:
Re
)}())}),
Be
=
I
(
function
(
e
){
var
t
=
"undefined"
!=
typeof
window
?
window
:
"undefined"
!=
typeof
WorkerGlobalScope
&&
self
instanceof
WorkerGlobalScope
?
self
:{},
n
=
function
(){
var
e
=
/
\b
lang
(?:
uage
)?
-
(\w
+
)\b
/i
,
n
=
0
,
r
=
t
.
Prism
=
{
util
:{
encode
:
function
(
e
){
return
e
instanceof
i
?
new
i
(
e
.
type
,
r
.
util
.
encode
(
e
.
content
),
e
.
alias
):
"Array"
===
r
.
util
.
type
(
e
)?
e
.
map
(
r
.
util
.
encode
):
e
.
replace
(
/&/g
,
"&"
).
replace
(
/</g
,
"<"
).
replace
(
/
\u
00a0/g
,
" "
)},
type
:
function
(
e
){
return
Object
.
prototype
.
toString
.
call
(
e
).
match
(
/
\[
object
(\w
+
)\]
/
)[
1
]},
objId
:
function
(
e
){
return
e
.
__id
||
Object
.
defineProperty
(
e
,
"__id"
,{
value
:
++
n
}),
e
.
__id
},
clone
:
function
(
e
){
var
t
=
r
.
util
.
type
(
e
);
switch
(
t
){
case
"Object"
:
var
n
=
{};
for
(
var
i
in
e
)
e
.
hasOwnProperty
(
i
)
&&
(
n
[
i
]
=
r
.
util
.
clone
(
e
[
i
]));
return
n
;
case
"Array"
:
return
e
.
map
&&
e
.
map
(
function
(
e
){
return
r
.
util
.
clone
(
e
)})}
return
e
}},
languages
:{
extend
:
function
(
e
,
t
){
var
n
=
r
.
util
.
clone
(
r
.
languages
[
e
]);
for
(
var
i
in
t
)
n
[
i
]
=
t
[
i
];
return
n
},
insertBefore
:
function
(
e
,
t
,
n
,
i
){
i
=
i
||
r
.
languages
;
var
a
=
i
[
e
];
if
(
2
==
arguments
.
length
){
n
=
arguments
[
1
];
for
(
var
o
in
n
)
n
.
hasOwnProperty
(
o
)
&&
(
a
[
o
]
=
n
[
o
]);
return
a
}
var
s
=
{};
for
(
var
l
in
a
)
if
(
a
.
hasOwnProperty
(
l
)){
if
(
l
==
t
)
for
(
var
o
in
n
)
n
.
hasOwnProperty
(
o
)
&&
(
s
[
o
]
=
n
[
o
]);
s
[
l
]
=
a
[
l
]}
return
r
.
languages
.
DFS
(
r
.
languages
,
function
(
t
,
n
){
n
===
i
[
e
]
&&
t
!=
e
&&
(
this
[
t
]
=
s
)}),
i
[
e
]
=
s
},
DFS
:
function
(
e
,
t
,
n
,
i
){
i
=
i
||
{};
for
(
var
a
in
e
)
e
.
hasOwnProperty
(
a
)
&&
(
t
.
call
(
e
,
a
,
e
[
a
],
n
||
a
),
"Object"
!==
r
.
util
.
type
(
e
[
a
])
||
i
[
r
.
util
.
objId
(
e
[
a
])]?
"Array"
!==
r
.
util
.
type
(
e
[
a
])
||
i
[
r
.
util
.
objId
(
e
[
a
])]
||
(
i
[
r
.
util
.
objId
(
e
[
a
])]
=!
0
,
r
.
languages
.
DFS
(
e
[
a
],
t
,
a
,
i
)):(
i
[
r
.
util
.
objId
(
e
[
a
])]
=!
0
,
r
.
languages
.
DFS
(
e
[
a
],
t
,
null
,
i
)))}},
plugins
:{},
highlightAll
:
function
(
e
,
t
){
var
n
=
{
callback
:
t
,
selector
:
'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
};
r
.
hooks
.
run
(
"before-highlightall"
,
n
);
for
(
var
i
,
a
=
n
.
elements
||
document
.
querySelectorAll
(
n
.
selector
),
o
=
0
;
i
=
a
[
o
++
];)
r
.
highlightElement
(
i
,
e
===!
0
,
n
.
callback
)},
highlightElement
:
function
(
n
,
i
,
a
){
for
(
var
o
,
s
,
l
=
n
;
l
&&!
e
.
test
(
l
.
className
);)
l
=
l
.
parentNode
;
l
&&
(
o
=
(
l
.
className
.
match
(
e
)
||
[,
""
])[
1
].
toLowerCase
(),
s
=
r
.
languages
[
o
]),
n
.
className
=
n
.
className
.
replace
(
e
,
""
).
replace
(
/
\s
+/g
,
" "
)
+
" language-"
+
o
,
l
=
n
.
parentNode
,
/pre/i
.
test
(
l
.
nodeName
)
&&
(
l
.
className
=
l
.
className
.
replace
(
e
,
""
).
replace
(
/
\s
+/g
,
" "
)
+
" language-"
+
o
);
var
c
=
n
.
textContent
,
u
=
{
element
:
n
,
language
:
o
,
grammar
:
s
,
code
:
c
};
if
(
r
.
hooks
.
run
(
"before-sanity-check"
,
u
),
!
u
.
code
||!
u
.
grammar
)
return
u
.
code
&&
(
u
.
element
.
textContent
=
u
.
code
),
void
r
.
hooks
.
run
(
"complete"
,
u
);
if
(
r
.
hooks
.
run
(
"before-highlight"
,
u
),
i
&&
t
.
Worker
){
var
p
=
new
Worker
(
r
.
filename
);
p
.
onmessage
=
function
(
e
){
u
.
highlightedCode
=
e
.
data
,
r
.
hooks
.
run
(
"before-insert"
,
u
),
u
.
element
.
innerHTML
=
u
.
highlightedCode
,
a
&&
a
.
call
(
u
.
element
),
r
.
hooks
.
run
(
"after-highlight"
,
u
),
r
.
hooks
.
run
(
"complete"
,
u
)},
p
.
postMessage
(
JSON
.
stringify
({
language
:
u
.
language
,
code
:
u
.
code
,
immediateClose
:
!
0
}))}
else
u
.
highlightedCode
=
r
.
highlight
(
u
.
code
,
u
.
grammar
,
u
.
language
),
r
.
hooks
.
run
(
"before-insert"
,
u
),
u
.
element
.
innerHTML
=
u
.
highlightedCode
,
a
&&
a
.
call
(
n
),
r
.
hooks
.
run
(
"after-highlight"
,
u
),
r
.
hooks
.
run
(
"complete"
,
u
)},
highlight
:
function
(
e
,
t
,
n
){
var
a
=
r
.
tokenize
(
e
,
t
);
return
i
.
stringify
(
r
.
util
.
encode
(
a
),
n
)},
tokenize
:
function
(
e
,
t
,
n
){
var
i
=
r
.
Token
,
a
=
[
e
],
o
=
t
.
rest
;
if
(
o
){
for
(
var
s
in
o
)
t
[
s
]
=
o
[
s
];
delete
t
.
rest
}
e
:
for
(
var
s
in
t
)
if
(
t
.
hasOwnProperty
(
s
)
&&
t
[
s
]){
var
l
=
t
[
s
];
l
=
"Array"
===
r
.
util
.
type
(
l
)?
l
:[
l
];
for
(
var
c
=
0
;
c
<
l
.
length
;
++
c
){
var
u
=
l
[
c
],
p
=
u
.
inside
,
h
=!!
u
.
lookbehind
,
d
=!!
u
.
greedy
,
g
=
0
,
f
=
u
.
alias
;
if
(
d
&&!
u
.
pattern
.
global
){
var
m
=
u
.
pattern
.
toString
().
match
(
/
[
imuy
]
*$/
)[
0
];
u
.
pattern
=
RegExp
(
u
.
pattern
.
source
,
m
+
"g"
)}
u
=
u
.
pattern
||
u
;
for
(
var
v
=
0
,
b
=
0
;
v
<
a
.
length
;
b
+=
a
[
v
].
length
,
++
v
){
var
y
=
a
[
v
];
if
(
a
.
length
>
e
.
length
)
break
e
;
if
(
!
(
y
instanceof
i
)){
u
.
lastIndex
=
0
;
var
k
=
u
.
exec
(
y
),
w
=
1
;
if
(
!
k
&&
d
&&
v
!=
a
.
length
-
1
){
if
(
u
.
lastIndex
=
b
,
k
=
u
.
exec
(
e
),
!
k
)
break
;
for
(
var
x
=
k
.
index
+
(
h
?
k
[
1
].
length
:
0
),
_
=
k
.
index
+
k
[
0
].
length
,
S
=
v
,
L
=
b
,
C
=
a
.
length
;
S
<
C
&&
L
<
_
;
++
S
)
L
+=
a
[
S
].
length
,
x
>=
L
&&
(
++
v
,
b
=
L
);
if
(
a
[
v
]
instanceof
i
||
a
[
S
-
1
].
greedy
)
continue
;
w
=
S
-
v
,
y
=
e
.
slice
(
b
,
L
),
k
.
index
-=
b
}
if
(
k
){
h
&&
(
g
=
k
[
1
].
length
);
var
x
=
k
.
index
+
g
,
k
=
k
[
0
].
slice
(
g
),
_
=
x
+
k
.
length
,
$
=
y
.
slice
(
0
,
x
),
E
=
y
.
slice
(
_
),
T
=
[
v
,
w
];
$
&&
T
.
push
(
$
);
var
A
=
new
i
(
s
,
p
?
r
.
tokenize
(
k
,
p
):
k
,
f
,
k
,
d
);
T
.
push
(
A
),
E
&&
T
.
push
(
E
),
Array
.
prototype
.
splice
.
apply
(
a
,
T
)}}}}}
return
a
},
hooks
:{
all
:{},
add
:
function
(
e
,
t
){
var
n
=
r
.
hooks
.
all
;
n
[
e
]
=
n
[
e
]
||
[],
n
[
e
].
push
(
t
)},
run
:
function
(
e
,
t
){
var
n
=
r
.
hooks
.
all
[
e
];
if
(
n
&&
n
.
length
)
for
(
var
i
,
a
=
0
;
i
=
n
[
a
++
];)
i
(
t
)}}},
i
=
r
.
Token
=
function
(
e
,
t
,
n
,
r
,
i
){
this
.
type
=
e
,
this
.
content
=
t
,
this
.
alias
=
n
,
this
.
length
=
0
|
(
r
||
""
).
length
,
this
.
greedy
=!!
i
};
if
(
i
.
stringify
=
function
(
e
,
t
,
n
){
if
(
"string"
==
typeof
e
)
return
e
;
if
(
"Array"
===
r
.
util
.
type
(
e
))
return
e
.
map
(
function
(
n
){
return
i
.
stringify
(
n
,
t
,
e
)}).
join
(
""
);
var
a
=
{
type
:
e
.
type
,
content
:
i
.
stringify
(
e
.
content
,
t
,
n
),
tag
:
"span"
,
classes
:[
"token"
,
e
.
type
],
attributes
:{},
language
:
t
,
parent
:
n
};
if
(
"comment"
==
a
.
type
&&
(
a
.
attributes
.
spellcheck
=
"true"
),
e
.
alias
){
var
o
=
"Array"
===
r
.
util
.
type
(
e
.
alias
)?
e
.
alias
:[
e
.
alias
];
Array
.
prototype
.
push
.
apply
(
a
.
classes
,
o
)}
r
.
hooks
.
run
(
"wrap"
,
a
);
var
s
=
Object
.
keys
(
a
.
attributes
).
map
(
function
(
e
){
return
e
+
'="'
+
(
a
.
attributes
[
e
]
||
""
).
replace
(
/"/g
,
"""
)
+
'"'
}).
join
(
" "
);
return
"<"
+
a
.
tag
+
' class="'
+
a
.
classes
.
join
(
" "
)
+
'"'
+
(
s
?
" "
+
s
:
""
)
+
">"
+
a
.
content
+
"</"
+
a
.
tag
+
">"
},
!
t
.
document
)
return
t
.
addEventListener
?(
t
.
addEventListener
(
"message"
,
function
(
e
){
var
n
=
JSON
.
parse
(
e
.
data
),
i
=
n
.
language
,
a
=
n
.
code
,
o
=
n
.
immediateClose
;
t
.
postMessage
(
r
.
highlight
(
a
,
r
.
languages
[
i
],
i
)),
o
&&
t
.
close
()},
!
1
),
t
.
Prism
):
t
.
Prism
;
var
a
=
document
.
currentScript
||
[].
slice
.
call
(
document
.
getElementsByTagName
(
"script"
)).
pop
();
return
a
&&
(
r
.
filename
=
a
.
src
,
document
.
addEventListener
&&!
a
.
hasAttribute
(
"data-manual"
)
&&
(
"loading"
!==
document
.
readyState
?
window
.
requestAnimationFrame
?
window
.
requestAnimationFrame
(
r
.
highlightAll
):
window
.
setTimeout
(
r
.
highlightAll
,
16
):
document
.
addEventListener
(
"DOMContentLoaded"
,
r
.
highlightAll
))),
t
.
Prism
}();
e
.
exports
&&
(
e
.
exports
=
n
),
"undefined"
!=
typeof
Re
&&
(
Re
.
Prism
=
n
),
n
.
languages
.
markup
=
{
comment
:
/<!--
[\w\W]
*
?
-->/
,
prolog
:
/<
\?[\w\W]
+
?\?
>/
,
doctype
:
/<!DOCTYPE
[\w\W]
+
?
>/i
,
cdata
:
/<!
\[
CDATA
\[[\w\W]
*
?
]]>/i
,
tag
:{
pattern
:
/<
\/?(?!\d)[^\s
>
\/
=$<
]
+
(?:\s
+
[^\s
>
\/
=
]
+
(?:
=
(?:(
"|'
)(?:\\\1
|
\\?(?!\1)[\w\W])
*
\1
|
[^\s
'">=
]
+
))?)
*
\s
*
\/?
>/i
,
inside
:{
tag
:{
pattern
:
/^<
\/?[^\s
>
\/]
+/i
,
inside
:{
punctuation
:
/^<
\/?
/
,
namespace
:
/^
[^\s
>
\/
:
]
+:/
}},
"attr-value"
:{
pattern
:
/=
(?:(
'|"
)[\w\W]
*
?(\1)
|
[^\s
>
]
+
)
/i
,
inside
:{
punctuation
:
/
[
=>"'
]
/
}},
punctuation
:
/
\/?
>/
,
"attr-name"
:{
pattern
:
/
[^\s
>
\/]
+/
,
inside
:{
namespace
:
/^
[^\s
>
\/
:
]
+:/
}}}},
entity
:
/&#
?[\d
a-z
]{1,8}
;/i
},
n
.
hooks
.
add
(
"wrap"
,
function
(
e
){
"entity"
===
e
.
type
&&
(
e
.
attributes
.
title
=
e
.
content
.
replace
(
/&/
,
"&"
))}),
n
.
languages
.
xml
=
n
.
languages
.
markup
,
n
.
languages
.
html
=
n
.
languages
.
markup
,
n
.
languages
.
mathml
=
n
.
languages
.
markup
,
n
.
languages
.
svg
=
n
.
languages
.
markup
,
n
.
languages
.
css
=
{
comment
:
/
\/\*[\w\W]
*
?\*\/
/
,
atrule
:{
pattern
:
/@
[\w
-
]
+
?
.*
?(
;|
(?=\s
*
\{))
/i
,
inside
:{
rule
:
/@
[\w
-
]
+/
}},
url
:
/url
\((?:([
"'
])(\\(?:\r\n
|
[\w\W])
|
(?!\1)[^\\\r\n])
*
\1
|.*
?)\)
/i
,
selector
:
/
[^\{\}\s][^\{\}
;
]
*
?(?=\s
*
\{)
/
,
string
:{
pattern
:
/
(
"|'
)(\\(?:\r\n
|
[\w\W])
|
(?!\1)[^\\\r\n])
*
\1
/
,
greedy
:
!
0
},
property
:
/
(\b
|
\B)[\w
-
]
+
(?=\s
*:
)
/i
,
important
:
/
\B
!important
\b
/i
,
function
:
/
[
-a-z0-9
]
+
(?=\()
/i
,
punctuation
:
/
[
(){};:
]
/
},
n
.
languages
.
css
.
atrule
.
inside
.
rest
=
n
.
util
.
clone
(
n
.
languages
.
css
),
n
.
languages
.
markup
&&
(
n
.
languages
.
insertBefore
(
"markup"
,
"tag"
,{
style
:{
pattern
:
/
(
<style
[\w\W]
*
?
>
)[\w\W]
*
?(?=
<
\/
style>
)
/i
,
lookbehind
:
!
0
,
inside
:
n
.
languages
.
css
,
alias
:
"language-css"
}}),
n
.
languages
.
insertBefore
(
"inside"
,
"attr-value"
,{
"style-attr"
:{
pattern
:
/
\s
*style=
(
"|'
)
.*
?\1
/i
,
inside
:{
"attr-name"
:{
pattern
:
/^
\s
*style/i
,
inside
:
n
.
languages
.
markup
.
tag
.
inside
},
punctuation
:
/^
\s
*=
\s
*
[
'"
]
|
[
'"
]\s
*$/
,
"attr-value"
:{
pattern
:
/.+/i
,
inside
:
n
.
languages
.
css
}},
alias
:
"language-css"
}},
n
.
languages
.
markup
.
tag
)),
n
.
languages
.
clike
=
{
comment
:[{
pattern
:
/
(
^|
[^\\])\/\*[\w\W]
*
?\*\/
/
,
lookbehind
:
!
0
},{
pattern
:
/
(
^|
[^\\
:
])\/\/
.*/
,
lookbehind
:
!
0
}],
string
:{
pattern
:
/
([
"'
])(\\(?:\r\n
|
[\s\S])
|
(?!\1)[^\\\r\n])
*
\1
/
,
greedy
:
!
0
},
"class-name"
:{
pattern
:
/
((?:\b(?:
class|interface|extends|implements|trait|instanceof|new
)\s
+
)
|
(?:
catch
\s
+
\())[
a-z0-9_
\.\\]
+/i
,
lookbehind
:
!
0
,
inside
:{
punctuation
:
/
(\.
|
\\)
/
}},
keyword
:
/
\b(
if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue
)\b
/
,
boolean
:
/
\b(
true|false
)\b
/
,
function
:
/
[
a-z0-9_
]
+
(?=\()
/i
,
number
:
/
\b
-
?(?:
0x
[\d
a-f
]
+|
\d
*
\.?\d
+
(?:
e
[
+-
]?\d
+
)?)\b
/i
,
operator
:
/--
?
|
\+\+?
|!=
?
=
?
|<=
?
|>=
?
|==
?
=
?
|&&
?
|
\|\|?
|
\?
|
\*
|
\/
|~|
\^
|%/
,
punctuation
:
/
[
{}[
\]
;(),.:
]
/
},
n
.
languages
.
javascript
=
n
.
languages
.
extend
(
"clike"
,{
keyword
:
/
\b(
as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield
)\b
/
,
number
:
/
\b
-
?(
0x
[\d
A-Fa-f
]
+|0b
[
01
]
+|0o
[
0-7
]
+|
\d
*
\.?\d
+
([
Ee
][
+-
]?\d
+
)?
|NaN|Infinity
)\b
/
,
function
:
/
[
_$a-zA-Z
\x
A0-
\u
FFFF
][
_$a-zA-Z0-9
\x
A0-
\u
FFFF
]
*
(?=\()
/i
,
operator
:
/--
?
|
\+\+?
|!=
?
=
?
|<=
?
|>=
?
|==
?
=
?
|&&
?
|
\|\|?
|
\?
|
\*\*?
|
\/
|~|
\^
|%|
\.{3}
/
}),
n
.
languages
.
insertBefore
(
"javascript"
,
"keyword"
,{
regex
:{
pattern
:
/
(
^|
[^\/])\/(?!\/)(\[
.+
?
]|
\\
.|
[^\/\\\r\n])
+
\/[
gimyu
]{0,5}(?=\s
*
(
$|
[\r\n
,.;})
]))
/
,
lookbehind
:
!
0
,
greedy
:
!
0
}}),
n
.
languages
.
insertBefore
(
"javascript"
,
"string"
,{
"template-string"
:{
pattern
:
/`
(?:\\\\
|
\\?[^\\])
*
?
`/
,
greedy
:
!
0
,
inside
:{
interpolation
:{
pattern
:
/
\$\{[^
}
]
+
\}
/
,
inside
:{
"interpolation-punctuation"
:{
pattern
:
/^
\$\{
|
\}
$/
,
alias
:
"punctuation"
},
rest
:
n
.
languages
.
javascript
}},
string
:
/
[\s\S]
+/
}}}),
n
.
languages
.
markup
&&
n
.
languages
.
insertBefore
(
"markup"
,
"tag"
,{
script
:{
pattern
:
/
(
<script
[\w\W]
*
?
>
)[\w\W]
*
?(?=
<
\/
script>
)
/i
,
lookbehind
:
!
0
,
inside
:
n
.
languages
.
javascript
,
alias
:
"language-javascript"
}}),
n
.
languages
.
js
=
n
.
languages
.
javascript
,
function
(){
"undefined"
!=
typeof
self
&&
self
.
Prism
&&
self
.
document
&&
document
.
querySelector
&&
(
self
.
Prism
.
fileHighlight
=
function
(){
var
e
=
{
js
:
"javascript"
,
py
:
"python"
,
rb
:
"ruby"
,
ps1
:
"powershell"
,
psm1
:
"powershell"
,
sh
:
"bash"
,
bat
:
"batch"
,
h
:
"c"
,
tex
:
"latex"
};
Array
.
prototype
.
forEach
&&
Array
.
prototype
.
slice
.
call
(
document
.
querySelectorAll
(
"pre[data-src]"
)).
forEach
(
function
(
t
){
for
(
var
r
,
i
=
t
.
getAttribute
(
"data-src"
),
a
=
t
,
o
=
/
\b
lang
(?:
uage
)?
-
(?!\*)(\w
+
)\b
/i
;
a
&&!
o
.
test
(
a
.
className
);)
a
=
a
.
parentNode
;
if
(
a
&&
(
r
=
(
t
.
className
.
match
(
o
)
||
[,
""
])[
1
]),
!
r
){
var
s
=
(
i
.
match
(
/
\.(\w
+
)
$/
)
||
[,
""
])[
1
];
r
=
e
[
s
]
||
s
}
var
l
=
document
.
createElement
(
"code"
);
l
.
className
=
"language-"
+
r
,
t
.
textContent
=
""
,
l
.
textContent
=
"Loading…"
,
t
.
appendChild
(
l
);
var
c
=
new
XMLHttpRequest
;
c
.
open
(
"GET"
,
i
,
!
0
),
c
.
onreadystatechange
=
function
(){
4
==
c
.
readyState
&&
(
c
.
status
<
400
&&
c
.
responseText
?(
l
.
textContent
=
c
.
responseText
,
n
.
highlightElement
(
l
)):
c
.
status
>=
400
?
l
.
textContent
=
"✖ Error "
+
c
.
status
+
" while fetching file: "
+
c
.
statusText
:
l
.
textContent
=
"✖ Error: File does not exist or is empty"
)},
c
.
send
(
null
)})},
document
.
addEventListener
(
"DOMContentLoaded"
,
self
.
Prism
.
fileHighlight
))}()}),
De
=
{},
Ue
=
/
[\u
2000-
\u
206F
\u
2E00-
\u
2E7F
\\
'!"#$%&()*+,.
\/
:;<=>?@
\[\]
^`{|}~
]
/g
;
R
.
clear
=
function
(){
De
=
{}};
var
Ge
=
We
,
Ve
=
""
,
Xe
=
""
,
Ze
=
new
We
.
Renderer
,
Ye
=
{},
Je
=
[],
Qe
=
e
(
function
(
e
){
var
t
=
""
;
return
e
?(
t
=
Ge
(
e
),
t
=
B
(
t
),
R
.
clear
(),
t
):
e
});
Qe
.
renderer
=
Ze
,
Qe
.
init
=
function
(
e
,
t
){
void
0
===
e
&&
(
e
=
{}),
void
0
===
t
&&
(
t
=
window
.
location
.
pathname
),
Ve
=
Ee
(
t
),
r
(
e
)?
Ge
=
e
(
We
,
Ze
):(
Ze
=
pe
(
Ze
,
e
.
renderer
),
We
.
setOptions
(
pe
(
e
,{
renderer
:
Ze
})))},
Qe
.
update
=
function
(){
Xe
=
w
().
path
},
Ze
.
heading
=
function
(
e
,
t
){
var
n
=
{
level
:
t
,
title
:
e
};
/{docsify-ignore}/g
.
test
(
e
)
&&
(
e
=
e
.
replace
(
"{docsify-ignore}"
,
""
),
n
.
title
=
e
,
n
.
ignoreSubHeading
=!
0
),
/{docsify-ignore-all}/g
.
test
(
e
)
&&
(
e
=
e
.
replace
(
"{docsify-ignore-all}"
,
""
),
n
.
title
=
e
,
n
.
ignoreAllSubs
=!
0
);
var
r
=
R
(
e
),
i
=
x
(
Xe
,{
id
:
r
});
return
n
.
slug
=
i
,
Je
.
push
(
n
),
"<h"
+
t
+
' id="'
+
r
+
'"><a href="'
+
i
+
'" data-id="'
+
r
+
'" class="anchor"><span>'
+
e
+
"</span></a></h"
+
t
+
">"
},
Ze
.
code
=
function
(
e
,
t
){
void
0
===
t
&&
(
t
=
""
);
var
n
=
Be
.
highlight
(
e
,
Be
.
languages
[
t
]
||
Be
.
languages
.
markup
);
return
'<pre v-pre data-lang="'
+
t
+
'"><code class="lang-'
+
t
+
'">'
+
n
+
"</code></pre>"
},
Ze
.
link
=
function
(
e
,
t
,
n
){
var
r
=
""
;
return
/:|
(\/{2})
/
.
test
(
e
)?
r
=
' target="_blank"'
:
e
=
x
(
e
,
null
,
Xe
),
t
&&
(
t
=
' title="'
+
t
+
'"'
),
'<a href="'
+
e
+
'"'
+
(
t
||
""
)
+
r
+
">"
+
n
+
"</a>"
},
Ze
.
paragraph
=
function
(
e
){
return
/^!>/
.
test
(
e
)?
F
(
"tip"
,
e
):
/^
\?
>/
.
test
(
e
)?
F
(
"warn"
,
e
):
"<p>"
+
e
+
"</p>"
},
Ze
.
image
=
function
(
e
,
t
,
n
){
var
r
=
e
,
i
=
t
?
' title="'
+
t
+
'"'
:
""
;
return
Te
(
e
)
||
(
r
=
v
(
Ve
,
e
)),
'<img src="'
+
r
+
'" data-origin="'
+
e
+
'" alt="'
+
n
+
'"'
+
i
+
">"
};
var
Ke
=
Object
.
freeze
({
markdown
:
Qe
,
sidebar
:
D
,
subSidebar
:
U
,
cover
:
G
}),
et
=
{},
tt
=
Object
.
freeze
({
cached
:
e
,
hyphenate
:
ue
,
merge
:
pe
,
isPrimitive
:
t
,
noop
:
n
,
isFn
:
r
,
UA
:
_e
,
isIE
:
Se
,
isMobile
:
Le
}),
nt
=
function
(){
window
.
Docsify
=
{
util
:
tt
,
dom
:
xe
,
render
:
Ke
,
route
:
Me
,
get
:
j
,
slugify
:
R
},
window
.
marked
=
We
,
window
.
Prism
=
Be
},
rt
=
ce
.
prototype
;
se
(
rt
),
ee
(
rt
),
Y
(
rt
),
ae
(
rt
),
ne
(
rt
),
nt
(),
setTimeout
(
function
(
e
){
return
new
ce
},
0
)}();
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment