Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
8500806c
Commit
8500806c
authored
Jun 30, 2021
by
lianahus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
put js and css files to assets locally
lint`
parent
96367d47
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
60 additions
and
1 deletion
+60
-1
app.js
apps/remix-ide/src/app.js
+0
-0
intro.min.js
apps/remix-ide/src/assets/js/intro.min.js
+11
-0
soljson_.js
apps/remix-ide/src/assets/js/soljson_.js
+0
-0
index.html
apps/remix-ide/src/index.html
+1
-1
walkthroughService.js
apps/remix-ide/src/walkthroughService.js
+48
-0
No files found.
apps/remix-ide/src/app.js
View file @
8500806c
apps/remix-ide/src/assets/js/intro.min.js
0 → 100644
View file @
8500806c
/*!
* Intro.js v4.1.0
* https://introjs.com
*
* Copyright (C) 2012-2021 Afshin Mehrabani (@afshinmeh).
* https://raw.githubusercontent.com/usablica/intro.js/master/license.md
*
* Date: Fri, 18 Jun 2021 10:48:16 GMT
*/
!
function
(
t
,
e
){
"object"
==
typeof
exports
&&
"undefined"
!=
typeof
module
?
module
.
exports
=
e
():
"function"
==
typeof
define
&&
define
.
amd
?
define
(
e
):(
t
=
"undefined"
!=
typeof
globalThis
?
globalThis
:
t
||
self
).
introJs
=
e
()}(
this
,(
function
(){
"use strict"
;
function
t
(
e
){
return
(
t
=
"function"
==
typeof
Symbol
&&
"symbol"
==
typeof
Symbol
.
iterator
?
function
(
t
){
return
typeof
t
}:
function
(
t
){
return
t
&&
"function"
==
typeof
Symbol
&&
t
.
constructor
===
Symbol
&&
t
!==
Symbol
.
prototype
?
"symbol"
:
typeof
t
})(
e
)}
var
e
=
function
(){
var
t
=
{};
return
function
(
e
){
var
n
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]?
arguments
[
1
]:
"introjs-stamp"
;
return
t
[
n
]
=
t
[
n
]
||
0
,
void
0
===
e
[
n
]
&&
(
e
[
n
]
=
t
[
n
]
++
),
e
[
n
]}}();
function
n
(
t
,
e
,
n
){
if
(
t
)
for
(
var
i
=
0
,
o
=
t
.
length
;
i
<
o
;
i
++
)
e
(
t
[
i
],
i
);
"function"
==
typeof
n
&&
n
()}
var
i
=
new
function
(){
var
t
=
"introjs_event"
;
this
.
_id
=
function
(
t
,
n
,
i
,
o
){
return
n
+
e
(
i
)
+
(
o
?
"_"
.
concat
(
e
(
o
)):
""
)},
this
.
on
=
function
(
e
,
n
,
i
,
o
,
r
){
var
l
=
this
.
_id
.
apply
(
this
,
arguments
),
a
=
function
(
t
){
return
i
.
call
(
o
||
e
,
t
||
window
.
event
)};
"addEventListener"
in
e
?
e
.
addEventListener
(
n
,
a
,
r
):
"attachEvent"
in
e
&&
e
.
attachEvent
(
"on"
.
concat
(
n
),
a
),
e
[
t
]
=
e
[
t
]
||
{},
e
[
t
][
l
]
=
a
},
this
.
off
=
function
(
e
,
n
,
i
,
o
,
r
){
var
l
=
this
.
_id
.
apply
(
this
,
arguments
),
a
=
e
[
t
]
&&
e
[
t
][
l
];
a
&&
(
"removeEventListener"
in
e
?
e
.
removeEventListener
(
n
,
a
,
r
):
"detachEvent"
in
e
&&
e
.
detachEvent
(
"on"
.
concat
(
n
),
a
),
e
[
t
][
l
]
=
null
)}},
o
=
"undefined"
!=
typeof
globalThis
?
globalThis
:
"undefined"
!=
typeof
window
?
window
:
"undefined"
!=
typeof
global
?
global
:
"undefined"
!=
typeof
self
?
self
:{};
function
r
(
t
,
e
){
return
t
(
e
=
{
exports
:{}},
e
.
exports
),
e
.
exports
}
var
l
=
function
(
t
){
return
t
&&
t
.
Math
==
Math
&&
t
},
a
=
l
(
"object"
==
typeof
globalThis
&&
globalThis
)
||
l
(
"object"
==
typeof
window
&&
window
)
||
l
(
"object"
==
typeof
self
&&
self
)
||
l
(
"object"
==
typeof
o
&&
o
)
||
function
(){
return
this
}()
||
Function
(
"return this"
)(),
s
=
function
(
t
){
try
{
return
!!
t
()}
catch
(
t
){
return
!
0
}},
c
=!
s
((
function
(){
return
7
!=
Object
.
defineProperty
({},
1
,{
get
:
function
(){
return
7
}})[
1
]})),
u
=
{}.
propertyIsEnumerable
,
h
=
Object
.
getOwnPropertyDescriptor
,
f
=
{
f
:
h
&&!
u
.
call
({
1
:
2
},
1
)?
function
(
t
){
var
e
=
h
(
this
,
t
);
return
!!
e
&&
e
.
enumerable
}:
u
},
p
=
function
(
t
,
e
){
return
{
enumerable
:
!
(
1
&
t
),
configurable
:
!
(
2
&
t
),
writable
:
!
(
4
&
t
),
value
:
e
}},
d
=
{}.
toString
,
g
=
function
(
t
){
return
d
.
call
(
t
).
slice
(
8
,
-
1
)},
v
=
""
.
split
,
m
=
s
((
function
(){
return
!
Object
(
"z"
).
propertyIsEnumerable
(
0
)}))?
function
(
t
){
return
"String"
==
g
(
t
)?
v
.
call
(
t
,
""
):
Object
(
t
)}:
Object
,
b
=
function
(
t
){
if
(
null
==
t
)
throw
TypeError
(
"Can't call method on "
+
t
);
return
t
},
y
=
function
(
t
){
return
m
(
b
(
t
))},
w
=
function
(
t
){
return
"object"
==
typeof
t
?
null
!==
t
:
"function"
==
typeof
t
},
_
=
function
(
t
,
e
){
if
(
!
w
(
t
))
return
t
;
var
n
,
i
;
if
(
e
&&
"function"
==
typeof
(
n
=
t
.
toString
)
&&!
w
(
i
=
n
.
call
(
t
)))
return
i
;
if
(
"function"
==
typeof
(
n
=
t
.
valueOf
)
&&!
w
(
i
=
n
.
call
(
t
)))
return
i
;
if
(
!
e
&&
"function"
==
typeof
(
n
=
t
.
toString
)
&&!
w
(
i
=
n
.
call
(
t
)))
return
i
;
throw
TypeError
(
"Can't convert object to primitive value"
)},
S
=
function
(
t
){
return
Object
(
b
(
t
))},
x
=
{}.
hasOwnProperty
,
j
=
Object
.
hasOwn
||
function
(
t
,
e
){
return
x
.
call
(
S
(
t
),
e
)},
C
=
a
.
document
,
E
=
w
(
C
)
&&
w
(
C
.
createElement
),
A
=
function
(
t
){
return
E
?
C
.
createElement
(
t
):{}},
k
=!
c
&&!
s
((
function
(){
return
7
!=
Object
.
defineProperty
(
A
(
"div"
),
"a"
,{
get
:
function
(){
return
7
}}).
a
})),
T
=
Object
.
getOwnPropertyDescriptor
,
N
=
{
f
:
c
?
T
:
function
(
t
,
e
){
if
(
t
=
y
(
t
),
e
=
_
(
e
,
!
0
),
k
)
try
{
return
T
(
t
,
e
)}
catch
(
t
){}
if
(
j
(
t
,
e
))
return
p
(
!
f
.
f
.
call
(
t
,
e
),
t
[
e
])}},
I
=
function
(
t
){
if
(
!
w
(
t
))
throw
TypeError
(
String
(
t
)
+
" is not an object"
);
return
t
},
P
=
Object
.
defineProperty
,
O
=
{
f
:
c
?
P
:
function
(
t
,
e
,
n
){
if
(
I
(
t
),
e
=
_
(
e
,
!
0
),
I
(
n
),
k
)
try
{
return
P
(
t
,
e
,
n
)}
catch
(
t
){}
if
(
"get"
in
n
||
"set"
in
n
)
throw
TypeError
(
"Accessors not supported"
);
return
"value"
in
n
&&
(
t
[
e
]
=
n
.
value
),
t
}},
L
=
c
?
function
(
t
,
e
,
n
){
return
O
.
f
(
t
,
e
,
p
(
1
,
n
))}:
function
(
t
,
e
,
n
){
return
t
[
e
]
=
n
,
t
},
R
=
function
(
t
,
e
){
try
{
L
(
a
,
t
,
e
)}
catch
(
n
){
a
[
t
]
=
e
}
return
e
},
q
=
"__core-js_shared__"
,
B
=
a
[
q
]
||
R
(
q
,{}),
M
=
Function
.
toString
;
"function"
!=
typeof
B
.
inspectSource
&&
(
B
.
inspectSource
=
function
(
t
){
return
M
.
call
(
t
)});
var
H
,
D
,
$
,
U
=
B
.
inspectSource
,
F
=
a
.
WeakMap
,
z
=
"function"
==
typeof
F
&&
/native code/
.
test
(
U
(
F
)),
W
=
r
((
function
(
t
){(
t
.
exports
=
function
(
t
,
e
){
return
B
[
t
]
||
(
B
[
t
]
=
void
0
!==
e
?
e
:{})})(
"versions"
,[]).
push
({
version
:
"3.14.0"
,
mode
:
"global"
,
copyright
:
"© 2021 Denis Pushkarev (zloirock.ru)"
})})),
G
=
0
,
V
=
Math
.
random
(),
K
=
function
(
t
){
return
"Symbol("
+
String
(
void
0
===
t
?
""
:
t
)
+
")_"
+
(
++
G
+
V
).
toString
(
36
)},
Y
=
W
(
"keys"
),
X
=
function
(
t
){
return
Y
[
t
]
||
(
Y
[
t
]
=
K
(
t
))},
J
=
{},
Q
=
"Object already initialized"
,
Z
=
a
.
WeakMap
;
if
(
z
||
B
.
state
){
var
tt
=
B
.
state
||
(
B
.
state
=
new
Z
),
et
=
tt
.
get
,
nt
=
tt
.
has
,
it
=
tt
.
set
;
H
=
function
(
t
,
e
){
if
(
nt
.
call
(
tt
,
t
))
throw
new
TypeError
(
Q
);
return
e
.
facade
=
t
,
it
.
call
(
tt
,
t
,
e
),
e
},
D
=
function
(
t
){
return
et
.
call
(
tt
,
t
)
||
{}},
$
=
function
(
t
){
return
nt
.
call
(
tt
,
t
)}}
else
{
var
ot
=
X
(
"state"
);
J
[
ot
]
=!
0
,
H
=
function
(
t
,
e
){
if
(
j
(
t
,
ot
))
throw
new
TypeError
(
Q
);
return
e
.
facade
=
t
,
L
(
t
,
ot
,
e
),
e
},
D
=
function
(
t
){
return
j
(
t
,
ot
)?
t
[
ot
]:{}},
$
=
function
(
t
){
return
j
(
t
,
ot
)}}
var
rt
=
{
set
:
H
,
get
:
D
,
has
:
$
,
enforce
:
function
(
t
){
return
$
(
t
)?
D
(
t
):
H
(
t
,{})},
getterFor
:
function
(
t
){
return
function
(
e
){
var
n
;
if
(
!
w
(
e
)
||
(
n
=
D
(
e
)).
type
!==
t
)
throw
TypeError
(
"Incompatible receiver, "
+
t
+
" required"
);
return
n
}}},
lt
=
r
((
function
(
t
){
var
e
=
rt
.
get
,
n
=
rt
.
enforce
,
i
=
String
(
String
).
split
(
"String"
);(
t
.
exports
=
function
(
t
,
e
,
o
,
r
){
var
l
,
s
=!!
r
&&!!
r
.
unsafe
,
c
=!!
r
&&!!
r
.
enumerable
,
u
=!!
r
&&!!
r
.
noTargetGet
;
"function"
==
typeof
o
&&
(
"string"
!=
typeof
e
||
j
(
o
,
"name"
)
||
L
(
o
,
"name"
,
e
),(
l
=
n
(
o
)).
source
||
(
l
.
source
=
i
.
join
(
"string"
==
typeof
e
?
e
:
""
))),
t
!==
a
?(
s
?
!
u
&&
t
[
e
]
&&
(
c
=!
0
):
delete
t
[
e
],
c
?
t
[
e
]
=
o
:
L
(
t
,
e
,
o
)):
c
?
t
[
e
]
=
o
:
R
(
e
,
o
)})(
Function
.
prototype
,
"toString"
,(
function
(){
return
"function"
==
typeof
this
&&
e
(
this
).
source
||
U
(
this
)}))})),
at
=
a
,
st
=
function
(
t
){
return
"function"
==
typeof
t
?
t
:
void
0
},
ct
=
function
(
t
,
e
){
return
arguments
.
length
<
2
?
st
(
at
[
t
])
||
st
(
a
[
t
]):
at
[
t
]
&&
at
[
t
][
e
]
||
a
[
t
]
&&
a
[
t
][
e
]},
ut
=
Math
.
ceil
,
ht
=
Math
.
floor
,
ft
=
function
(
t
){
return
isNaN
(
t
=+
t
)?
0
:(
t
>
0
?
ht
:
ut
)(
t
)},
pt
=
Math
.
min
,
dt
=
function
(
t
){
return
t
>
0
?
pt
(
ft
(
t
),
9007199254740991
):
0
},
gt
=
Math
.
max
,
vt
=
Math
.
min
,
mt
=
function
(
t
,
e
){
var
n
=
ft
(
t
);
return
n
<
0
?
gt
(
n
+
e
,
0
):
vt
(
n
,
e
)},
bt
=
function
(
t
){
return
function
(
e
,
n
,
i
){
var
o
,
r
=
y
(
e
),
l
=
dt
(
r
.
length
),
a
=
mt
(
i
,
l
);
if
(
t
&&
n
!=
n
){
for
(;
l
>
a
;)
if
((
o
=
r
[
a
++
])
!=
o
)
return
!
0
}
else
for
(;
l
>
a
;
a
++
)
if
((
t
||
a
in
r
)
&&
r
[
a
]
===
n
)
return
t
||
a
||
0
;
return
!
t
&&-
1
}},
yt
=
{
includes
:
bt
(
!
0
),
indexOf
:
bt
(
!
1
)},
wt
=
yt
.
indexOf
,
_t
=
function
(
t
,
e
){
var
n
,
i
=
y
(
t
),
o
=
0
,
r
=
[];
for
(
n
in
i
)
!
j
(
J
,
n
)
&&
j
(
i
,
n
)
&&
r
.
push
(
n
);
for
(;
e
.
length
>
o
;)
j
(
i
,
n
=
e
[
o
++
])
&&
(
~
wt
(
r
,
n
)
||
r
.
push
(
n
));
return
r
},
St
=
[
"constructor"
,
"hasOwnProperty"
,
"isPrototypeOf"
,
"propertyIsEnumerable"
,
"toLocaleString"
,
"toString"
,
"valueOf"
],
xt
=
St
.
concat
(
"length"
,
"prototype"
),
jt
=
{
f
:
Object
.
getOwnPropertyNames
||
function
(
t
){
return
_t
(
t
,
xt
)}},
Ct
=
{
f
:
Object
.
getOwnPropertySymbols
},
Et
=
ct
(
"Reflect"
,
"ownKeys"
)
||
function
(
t
){
var
e
=
jt
.
f
(
I
(
t
)),
n
=
Ct
.
f
;
return
n
?
e
.
concat
(
n
(
t
)):
e
},
At
=
function
(
t
,
e
){
for
(
var
n
=
Et
(
e
),
i
=
O
.
f
,
o
=
N
.
f
,
r
=
0
;
r
<
n
.
length
;
r
++
){
var
l
=
n
[
r
];
j
(
t
,
l
)
||
i
(
t
,
l
,
o
(
e
,
l
))}},
kt
=
/#|
\.
prototype
\.
/
,
Tt
=
function
(
t
,
e
){
var
n
=
It
[
Nt
(
t
)];
return
n
==
Ot
||
n
!=
Pt
&&
(
"function"
==
typeof
e
?
s
(
e
):
!!
e
)},
Nt
=
Tt
.
normalize
=
function
(
t
){
return
String
(
t
).
replace
(
kt
,
"."
).
toLowerCase
()},
It
=
Tt
.
data
=
{},
Pt
=
Tt
.
NATIVE
=
"N"
,
Ot
=
Tt
.
POLYFILL
=
"P"
,
Lt
=
Tt
,
Rt
=
N
.
f
,
qt
=
function
(
t
,
e
){
var
n
,
i
,
o
,
r
,
l
,
s
=
t
.
target
,
c
=
t
.
global
,
u
=
t
.
stat
;
if
(
n
=
c
?
a
:
u
?
a
[
s
]
||
R
(
s
,{}):(
a
[
s
]
||
{}).
prototype
)
for
(
i
in
e
){
if
(
r
=
e
[
i
],
o
=
t
.
noTargetGet
?(
l
=
Rt
(
n
,
i
))
&&
l
.
value
:
n
[
i
],
!
Lt
(
c
?
i
:
s
+
(
u
?
"."
:
"#"
)
+
i
,
t
.
forced
)
&&
void
0
!==
o
){
if
(
typeof
r
==
typeof
o
)
continue
;
At
(
r
,
o
)}(
t
.
sham
||
o
&&
o
.
sham
)
&&
L
(
r
,
"sham"
,
!
0
),
lt
(
n
,
i
,
r
,
t
)}},
Bt
=
function
(){
var
t
=
I
(
this
),
e
=
""
;
return
t
.
global
&&
(
e
+=
"g"
),
t
.
ignoreCase
&&
(
e
+=
"i"
),
t
.
multiline
&&
(
e
+=
"m"
),
t
.
dotAll
&&
(
e
+=
"s"
),
t
.
unicode
&&
(
e
+=
"u"
),
t
.
sticky
&&
(
e
+=
"y"
),
e
};
function
Mt
(
t
,
e
){
return
RegExp
(
t
,
e
)}
var
Ht
,
Dt
,
$t
=
{
UNSUPPORTED_Y
:
s
((
function
(){
var
t
=
Mt
(
"a"
,
"y"
);
return
t
.
lastIndex
=
2
,
null
!=
t
.
exec
(
"abcd"
)})),
BROKEN_CARET
:
s
((
function
(){
var
t
=
Mt
(
"^r"
,
"gy"
);
return
t
.
lastIndex
=
2
,
null
!=
t
.
exec
(
"str"
)}))},
Ut
=
RegExp
.
prototype
.
exec
,
Ft
=
W
(
"native-string-replace"
,
String
.
prototype
.
replace
),
zt
=
Ut
,
Wt
=
(
Ht
=
/a/
,
Dt
=
/b*/g
,
Ut
.
call
(
Ht
,
"a"
),
Ut
.
call
(
Dt
,
"a"
),
0
!==
Ht
.
lastIndex
||
0
!==
Dt
.
lastIndex
),
Gt
=
$t
.
UNSUPPORTED_Y
||
$t
.
BROKEN_CARET
,
Vt
=
void
0
!==
/
()??
/
.
exec
(
""
)[
1
];(
Wt
||
Vt
||
Gt
)
&&
(
zt
=
function
(
t
){
var
e
,
n
,
i
,
o
,
r
=
this
,
l
=
Gt
&&
r
.
sticky
,
a
=
Bt
.
call
(
r
),
s
=
r
.
source
,
c
=
0
,
u
=
t
;
return
l
&&
(
-
1
===
(
a
=
a
.
replace
(
"y"
,
""
)).
indexOf
(
"g"
)
&&
(
a
+=
"g"
),
u
=
String
(
t
).
slice
(
r
.
lastIndex
),
r
.
lastIndex
>
0
&&
(
!
r
.
multiline
||
r
.
multiline
&&
"
\
n"
!==
t
[
r
.
lastIndex
-
1
])
&&
(
s
=
"(?: "
+
s
+
")"
,
u
=
" "
+
u
,
c
++
),
n
=
new
RegExp
(
"^(?:"
+
s
+
")"
,
a
)),
Vt
&&
(
n
=
new
RegExp
(
"^"
+
s
+
"$(?!
\\
s)"
,
a
)),
Wt
&&
(
e
=
r
.
lastIndex
),
i
=
Ut
.
call
(
l
?
n
:
r
,
u
),
l
?
i
?(
i
.
input
=
i
.
input
.
slice
(
c
),
i
[
0
]
=
i
[
0
].
slice
(
c
),
i
.
index
=
r
.
lastIndex
,
r
.
lastIndex
+=
i
[
0
].
length
):
r
.
lastIndex
=
0
:
Wt
&&
i
&&
(
r
.
lastIndex
=
r
.
global
?
i
.
index
+
i
[
0
].
length
:
e
),
Vt
&&
i
&&
i
.
length
>
1
&&
Ft
.
call
(
i
[
0
],
n
,(
function
(){
for
(
o
=
1
;
o
<
arguments
.
length
-
2
;
o
++
)
void
0
===
arguments
[
o
]
&&
(
i
[
o
]
=
void
0
)})),
i
});
var
Kt
=
zt
;
qt
({
target
:
"RegExp"
,
proto
:
!
0
,
forced
:
/./
.
exec
!==
Kt
},{
exec
:
Kt
});
var
Yt
,
Xt
,
Jt
=
ct
(
"navigator"
,
"userAgent"
)
||
""
,
Qt
=
a
.
process
,
Zt
=
Qt
&&
Qt
.
versions
,
te
=
Zt
&&
Zt
.
v8
;
te
?
Xt
=
(
Yt
=
te
.
split
(
"."
))[
0
]
<
4
?
1
:
Yt
[
0
]
+
Yt
[
1
]:
Jt
&&
(
!
(
Yt
=
Jt
.
match
(
/Edge
\/(\d
+
)
/
))
||
Yt
[
1
]
>=
74
)
&&
(
Yt
=
Jt
.
match
(
/Chrome
\/(\d
+
)
/
))
&&
(
Xt
=
Yt
[
1
]);
var
ee
=
Xt
&&+
Xt
,
ne
=!!
Object
.
getOwnPropertySymbols
&&!
s
((
function
(){
var
t
=
Symbol
();
return
!
String
(
t
)
||!
(
Object
(
t
)
instanceof
Symbol
)
||!
Symbol
.
sham
&&
ee
&&
ee
<
41
})),
ie
=
ne
&&!
Symbol
.
sham
&&
"symbol"
==
typeof
Symbol
.
iterator
,
oe
=
W
(
"wks"
),
re
=
a
.
Symbol
,
le
=
ie
?
re
:
re
&&
re
.
withoutSetter
||
K
,
ae
=
function
(
t
){
return
j
(
oe
,
t
)
&&
(
ne
||
"string"
==
typeof
oe
[
t
])
||
(
ne
&&
j
(
re
,
t
)?
oe
[
t
]
=
re
[
t
]:
oe
[
t
]
=
le
(
"Symbol."
+
t
)),
oe
[
t
]},
se
=
ae
(
"species"
),
ce
=
RegExp
.
prototype
,
ue
=!
s
((
function
(){
var
t
=
/./
;
return
t
.
exec
=
function
(){
var
t
=
[];
return
t
.
groups
=
{
a
:
"7"
},
t
},
"7"
!==
""
.
replace
(
t
,
"$<a>"
)})),
he
=
"$0"
===
"a"
.
replace
(
/./
,
"$0"
),
fe
=
ae
(
"replace"
),
pe
=!!
/./
[
fe
]
&&
""
===
/./
[
fe
](
"a"
,
"$0"
),
de
=!
s
((
function
(){
var
t
=
/
(?:)
/
,
e
=
t
.
exec
;
t
.
exec
=
function
(){
return
e
.
apply
(
this
,
arguments
)};
var
n
=
"ab"
.
split
(
t
);
return
2
!==
n
.
length
||
"a"
!==
n
[
0
]
||
"b"
!==
n
[
1
]})),
ge
=
function
(
t
,
e
,
n
,
i
){
var
o
=
ae
(
t
),
r
=!
s
((
function
(){
var
e
=
{};
return
e
[
o
]
=
function
(){
return
7
},
7
!=
""
[
t
](
e
)})),
l
=
r
&&!
s
((
function
(){
var
e
=!
1
,
n
=
/a/
;
return
"split"
===
t
&&
((
n
=
{}).
constructor
=
{},
n
.
constructor
[
se
]
=
function
(){
return
n
},
n
.
flags
=
""
,
n
[
o
]
=
/./
[
o
]),
n
.
exec
=
function
(){
return
e
=!
0
,
null
},
n
[
o
](
""
),
!
e
}));
if
(
!
r
||!
l
||
"replace"
===
t
&&
(
!
ue
||!
he
||
pe
)
||
"split"
===
t
&&!
de
){
var
a
=
/./
[
o
],
c
=
n
(
o
,
""
[
t
],(
function
(
t
,
e
,
n
,
i
,
o
){
var
l
=
e
.
exec
;
return
l
===
Kt
||
l
===
ce
.
exec
?
r
&&!
o
?{
done
:
!
0
,
value
:
a
.
call
(
e
,
n
,
i
)}:{
done
:
!
0
,
value
:
t
.
call
(
n
,
e
,
i
)}:{
done
:
!
1
}}),{
REPLACE_KEEPS_
$0
:
he
,
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
:
pe
}),
u
=
c
[
0
],
h
=
c
[
1
];
lt
(
String
.
prototype
,
t
,
u
),
lt
(
ce
,
o
,
2
==
e
?
function
(
t
,
e
){
return
h
.
call
(
t
,
this
,
e
)}:
function
(
t
){
return
h
.
call
(
t
,
this
)})}
i
&&
L
(
ce
[
o
],
"sham"
,
!
0
)},
ve
=
function
(
t
){
return
function
(
e
,
n
){
var
i
,
o
,
r
=
String
(
b
(
e
)),
l
=
ft
(
n
),
a
=
r
.
length
;
return
l
<
0
||
l
>=
a
?
t
?
""
:
void
0
:(
i
=
r
.
charCodeAt
(
l
))
<
55296
||
i
>
56319
||
l
+
1
===
a
||
(
o
=
r
.
charCodeAt
(
l
+
1
))
<
56320
||
o
>
57343
?
t
?
r
.
charAt
(
l
):
i
:
t
?
r
.
slice
(
l
,
l
+
2
):
o
-
56320
+
(
i
-
55296
<<
10
)
+
65536
}},
me
=
{
codeAt
:
ve
(
!
1
),
charAt
:
ve
(
!
0
)}.
charAt
,
be
=
function
(
t
,
e
,
n
){
return
e
+
(
n
?
me
(
t
,
e
).
length
:
1
)},
ye
=
function
(
t
,
e
){
var
n
=
t
.
exec
;
if
(
"function"
==
typeof
n
){
var
i
=
n
.
call
(
t
,
e
);
if
(
"object"
!=
typeof
i
)
throw
TypeError
(
"RegExp exec method returned something other than an Object or null"
);
return
i
}
if
(
"RegExp"
!==
g
(
t
))
throw
TypeError
(
"RegExp#exec called on incompatible receiver"
);
return
Kt
.
call
(
t
,
e
)};
ge
(
"match"
,
1
,(
function
(
t
,
e
,
n
){
return
[
function
(
e
){
var
n
=
b
(
this
),
i
=
null
==
e
?
void
0
:
e
[
t
];
return
void
0
!==
i
?
i
.
call
(
e
,
n
):
new
RegExp
(
e
)[
t
](
String
(
n
))},
function
(
t
){
var
i
=
n
(
e
,
t
,
this
);
if
(
i
.
done
)
return
i
.
value
;
var
o
=
I
(
t
),
r
=
String
(
this
);
if
(
!
o
.
global
)
return
ye
(
o
,
r
);
var
l
=
o
.
unicode
;
o
.
lastIndex
=
0
;
for
(
var
a
,
s
=
[],
c
=
0
;
null
!==
(
a
=
ye
(
o
,
r
));){
var
u
=
String
(
a
[
0
]);
s
[
c
]
=
u
,
""
===
u
&&
(
o
.
lastIndex
=
be
(
r
,
dt
(
o
.
lastIndex
),
l
)),
c
++
}
return
0
===
c
?
null
:
s
}]}));
var
we
=
Array
.
isArray
||
function
(
t
){
return
"Array"
==
g
(
t
)},
_e
=
function
(
t
,
e
,
n
){
var
i
=
_
(
e
);
i
in
t
?
O
.
f
(
t
,
i
,
p
(
0
,
n
)):
t
[
i
]
=
n
},
Se
=
ae
(
"species"
),
xe
=
function
(
t
,
e
){
var
n
;
return
we
(
t
)
&&
(
"function"
!=
typeof
(
n
=
t
.
constructor
)
||
n
!==
Array
&&!
we
(
n
.
prototype
)?
w
(
n
)
&&
null
===
(
n
=
n
[
Se
])
&&
(
n
=
void
0
):
n
=
void
0
),
new
(
void
0
===
n
?
Array
:
n
)(
0
===
e
?
0
:
e
)},
je
=
ae
(
"species"
),
Ce
=
function
(
t
){
return
ee
>=
51
||!
s
((
function
(){
var
e
=
[];
return
(
e
.
constructor
=
{})[
je
]
=
function
(){
return
{
foo
:
1
}},
1
!==
e
[
t
](
Boolean
).
foo
}))},
Ee
=
ae
(
"isConcatSpreadable"
),
Ae
=
9007199254740991
,
ke
=
"Maximum allowed index exceeded"
,
Te
=
ee
>=
51
||!
s
((
function
(){
var
t
=
[];
return
t
[
Ee
]
=!
1
,
t
.
concat
()[
0
]
!==
t
})),
Ne
=
Ce
(
"concat"
),
Ie
=
function
(
t
){
if
(
!
w
(
t
))
return
!
1
;
var
e
=
t
[
Ee
];
return
void
0
!==
e
?
!!
e
:
we
(
t
)};
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
!
Te
||!
Ne
},{
concat
:
function
(
t
){
var
e
,
n
,
i
,
o
,
r
,
l
=
S
(
this
),
a
=
xe
(
l
,
0
),
s
=
0
;
for
(
e
=-
1
,
i
=
arguments
.
length
;
e
<
i
;
e
++
)
if
(
Ie
(
r
=-
1
===
e
?
l
:
arguments
[
e
])){
if
(
s
+
(
o
=
dt
(
r
.
length
))
>
Ae
)
throw
TypeError
(
ke
);
for
(
n
=
0
;
n
<
o
;
n
++
,
s
++
)
n
in
r
&&
_e
(
a
,
s
,
r
[
n
])}
else
{
if
(
s
>=
Ae
)
throw
TypeError
(
ke
);
_e
(
a
,
s
++
,
r
)}
return
a
.
length
=
s
,
a
}});
var
Pe
=
{};
Pe
[
ae
(
"toStringTag"
)]
=
"z"
;
var
Oe
=
"[object z]"
===
String
(
Pe
),
Le
=
ae
(
"toStringTag"
),
Re
=
"Arguments"
==
g
(
function
(){
return
arguments
}()),
qe
=
Oe
?
g
:
function
(
t
){
var
e
,
n
,
i
;
return
void
0
===
t
?
"Undefined"
:
null
===
t
?
"Null"
:
"string"
==
typeof
(
n
=
function
(
t
,
e
){
try
{
return
t
[
e
]}
catch
(
t
){}}(
e
=
Object
(
t
),
Le
))?
n
:
Re
?
g
(
e
):
"Object"
==
(
i
=
g
(
e
))
&&
"function"
==
typeof
e
.
callee
?
"Arguments"
:
i
},
Be
=
Oe
?{}.
toString
:
function
(){
return
"[object "
+
qe
(
this
)
+
"]"
};
Oe
||
lt
(
Object
.
prototype
,
"toString"
,
Be
,{
unsafe
:
!
0
});
var
Me
=
"toString"
,
He
=
RegExp
.
prototype
,
De
=
He
.
toString
,
$e
=
s
((
function
(){
return
"/a/b"
!=
De
.
call
({
source
:
"a"
,
flags
:
"b"
})})),
Ue
=
De
.
name
!=
Me
;(
$e
||
Ue
)
&&
lt
(
RegExp
.
prototype
,
Me
,(
function
(){
var
t
=
I
(
this
),
e
=
String
(
t
.
source
),
n
=
t
.
flags
;
return
"/"
+
e
+
"/"
+
String
(
void
0
===
n
&&
t
instanceof
RegExp
&&!
(
"flags"
in
He
)?
Bt
.
call
(
t
):
n
)}),{
unsafe
:
!
0
});
var
Fe
=
ae
(
"match"
),
ze
=
function
(
t
){
var
e
;
return
w
(
t
)
&&
(
void
0
!==
(
e
=
t
[
Fe
])?
!!
e
:
"RegExp"
==
g
(
t
))},
We
=
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
TypeError
(
String
(
t
)
+
" is not a function"
);
return
t
},
Ge
=
ae
(
"species"
),
Ve
=
$t
.
UNSUPPORTED_Y
,
Ke
=
[].
push
,
Ye
=
Math
.
min
,
Xe
=
4294967295
;
function
Je
(
t
,
e
){
if
(
t
instanceof
SVGElement
){
var
i
=
t
.
getAttribute
(
"class"
)
||
""
;
i
.
match
(
e
)
||
t
.
setAttribute
(
"class"
,
""
.
concat
(
i
,
" "
).
concat
(
e
))}
else
{
if
(
void
0
!==
t
.
classList
)
n
(
e
.
split
(
" "
),(
function
(
e
){
t
.
classList
.
add
(
e
)}));
else
t
.
className
.
match
(
e
)
||
(
t
.
className
+=
" "
.
concat
(
e
))}}
function
Qe
(
t
,
e
){
var
n
=
""
;
return
t
.
currentStyle
?
n
=
t
.
currentStyle
[
e
]:
document
.
defaultView
&&
document
.
defaultView
.
getComputedStyle
&&
(
n
=
document
.
defaultView
.
getComputedStyle
(
t
,
null
).
getPropertyValue
(
e
)),
n
&&
n
.
toLowerCase
?
n
.
toLowerCase
():
n
}
function
Ze
(
t
){
var
e
=
t
.
element
;
if
(
this
.
_options
.
scrollToElement
){
var
n
=
function
(
t
){
var
e
=
window
.
getComputedStyle
(
t
),
n
=
"absolute"
===
e
.
position
,
i
=
/
(
auto|scroll
)
/
;
if
(
"fixed"
===
e
.
position
)
return
document
.
body
;
for
(
var
o
=
t
;
o
=
o
.
parentElement
;)
if
(
e
=
window
.
getComputedStyle
(
o
),(
!
n
||
"static"
!==
e
.
position
)
&&
i
.
test
(
e
.
overflow
+
e
.
overflowY
+
e
.
overflowX
))
return
o
;
return
document
.
body
}(
e
);
n
!==
document
.
body
&&
(
n
.
scrollTop
=
e
.
offsetTop
-
n
.
offsetTop
)}}
function
tn
(){
if
(
void
0
!==
window
.
innerWidth
)
return
{
width
:
window
.
innerWidth
,
height
:
window
.
innerHeight
};
var
t
=
document
.
documentElement
;
return
{
width
:
t
.
clientWidth
,
height
:
t
.
clientHeight
}}
function
en
(
t
,
e
,
n
){
var
i
,
o
=
e
.
element
;
if
(
"off"
!==
t
&&
(
this
.
_options
.
scrollToElement
&&
(
i
=
"tooltip"
===
t
?
n
.
getBoundingClientRect
():
o
.
getBoundingClientRect
(),
!
function
(
t
){
var
e
=
t
.
getBoundingClientRect
();
return
e
.
top
>=
0
&&
e
.
left
>=
0
&&
e
.
bottom
+
80
<=
window
.
innerHeight
&&
e
.
right
<=
window
.
innerWidth
}(
o
)))){
var
r
=
tn
().
height
;
i
.
bottom
-
(
i
.
bottom
-
i
.
top
)
<
0
||
o
.
clientHeight
>
r
?
window
.
scrollBy
(
0
,
i
.
top
-
(
r
/
2
-
i
.
height
/
2
)
-
this
.
_options
.
scrollPadding
):
window
.
scrollBy
(
0
,
i
.
top
-
(
r
/
2
-
i
.
height
/
2
)
+
this
.
_options
.
scrollPadding
)}}
function
nn
(
t
){
t
.
setAttribute
(
"role"
,
"button"
),
t
.
tabIndex
=
0
}
ge
(
"split"
,
2
,(
function
(
t
,
e
,
n
){
var
i
;
return
i
=
"c"
==
"abbc"
.
split
(
/
(
b
)
*/
)[
1
]
||
4
!=
"test"
.
split
(
/
(?:)
/
,
-
1
).
length
||
2
!=
"ab"
.
split
(
/
(?:
ab
)
*/
).
length
||
4
!=
"."
.
split
(
/
(
.
?)(
.
?)
/
).
length
||
"."
.
split
(
/
()()
/
).
length
>
1
||
""
.
split
(
/.
?
/
).
length
?
function
(
t
,
n
){
var
i
=
String
(
b
(
this
)),
o
=
void
0
===
n
?
Xe
:
n
>>>
0
;
if
(
0
===
o
)
return
[];
if
(
void
0
===
t
)
return
[
i
];
if
(
!
ze
(
t
))
return
e
.
call
(
i
,
t
,
o
);
for
(
var
r
,
l
,
a
,
s
=
[],
c
=
(
t
.
ignoreCase
?
"i"
:
""
)
+
(
t
.
multiline
?
"m"
:
""
)
+
(
t
.
unicode
?
"u"
:
""
)
+
(
t
.
sticky
?
"y"
:
""
),
u
=
0
,
h
=
new
RegExp
(
t
.
source
,
c
+
"g"
);(
r
=
Kt
.
call
(
h
,
i
))
&&!
((
l
=
h
.
lastIndex
)
>
u
&&
(
s
.
push
(
i
.
slice
(
u
,
r
.
index
)),
r
.
length
>
1
&&
r
.
index
<
i
.
length
&&
Ke
.
apply
(
s
,
r
.
slice
(
1
)),
a
=
r
[
0
].
length
,
u
=
l
,
s
.
length
>=
o
));)
h
.
lastIndex
===
r
.
index
&&
h
.
lastIndex
++
;
return
u
===
i
.
length
?
!
a
&&
h
.
test
(
""
)
||
s
.
push
(
""
):
s
.
push
(
i
.
slice
(
u
)),
s
.
length
>
o
?
s
.
slice
(
0
,
o
):
s
}:
"0"
.
split
(
void
0
,
0
).
length
?
function
(
t
,
n
){
return
void
0
===
t
&&
0
===
n
?[]:
e
.
call
(
this
,
t
,
n
)}:
e
,[
function
(
e
,
n
){
var
o
=
b
(
this
),
r
=
null
==
e
?
void
0
:
e
[
t
];
return
void
0
!==
r
?
r
.
call
(
e
,
o
,
n
):
i
.
call
(
String
(
o
),
e
,
n
)},
function
(
t
,
o
){
var
r
=
n
(
i
,
t
,
this
,
o
,
i
!==
e
);
if
(
r
.
done
)
return
r
.
value
;
var
l
=
I
(
t
),
a
=
String
(
this
),
s
=
function
(
t
,
e
){
var
n
,
i
=
I
(
t
).
constructor
;
return
void
0
===
i
||
null
==
(
n
=
I
(
i
)[
Ge
])?
e
:
We
(
n
)}(
l
,
RegExp
),
c
=
l
.
unicode
,
u
=
(
l
.
ignoreCase
?
"i"
:
""
)
+
(
l
.
multiline
?
"m"
:
""
)
+
(
l
.
unicode
?
"u"
:
""
)
+
(
Ve
?
"g"
:
"y"
),
h
=
new
s
(
Ve
?
"^(?:"
+
l
.
source
+
")"
:
l
,
u
),
f
=
void
0
===
o
?
Xe
:
o
>>>
0
;
if
(
0
===
f
)
return
[];
if
(
0
===
a
.
length
)
return
null
===
ye
(
h
,
a
)?[
a
]:[];
for
(
var
p
=
0
,
d
=
0
,
g
=
[];
d
<
a
.
length
;){
h
.
lastIndex
=
Ve
?
0
:
d
;
var
v
,
m
=
ye
(
h
,
Ve
?
a
.
slice
(
d
):
a
);
if
(
null
===
m
||
(
v
=
Ye
(
dt
(
h
.
lastIndex
+
(
Ve
?
d
:
0
)),
a
.
length
))
===
p
)
d
=
be
(
a
,
d
,
c
);
else
{
if
(
g
.
push
(
a
.
slice
(
p
,
d
)),
g
.
length
===
f
)
return
g
;
for
(
var
b
=
1
;
b
<=
m
.
length
-
1
;
b
++
)
if
(
g
.
push
(
m
[
b
]),
g
.
length
===
f
)
return
g
;
d
=
p
=
v
}}
return
g
.
push
(
a
.
slice
(
p
)),
g
}]}),
Ve
);
var
on
=
Object
.
keys
||
function
(
t
){
return
_t
(
t
,
St
)},
rn
=
Object
.
assign
,
ln
=
Object
.
defineProperty
,
an
=!
rn
||
s
((
function
(){
if
(
c
&&
1
!==
rn
({
b
:
1
},
rn
(
ln
({},
"a"
,{
enumerable
:
!
0
,
get
:
function
(){
ln
(
this
,
"b"
,{
value
:
3
,
enumerable
:
!
1
})}}),{
b
:
2
})).
b
)
return
!
0
;
var
t
=
{},
e
=
{},
n
=
Symbol
(),
i
=
"abcdefghijklmnopqrst"
;
return
t
[
n
]
=
7
,
i
.
split
(
""
).
forEach
((
function
(
t
){
e
[
t
]
=
t
})),
7
!=
rn
({},
t
)[
n
]
||
on
(
rn
({},
e
)).
join
(
""
)
!=
i
}))?
function
(
t
,
e
){
for
(
var
n
=
S
(
t
),
i
=
arguments
.
length
,
o
=
1
,
r
=
Ct
.
f
,
l
=
f
.
f
;
i
>
o
;)
for
(
var
a
,
s
=
m
(
arguments
[
o
++
]),
u
=
r
?
on
(
s
).
concat
(
r
(
s
)):
on
(
s
),
h
=
u
.
length
,
p
=
0
;
h
>
p
;)
a
=
u
[
p
++
],
c
&&!
l
.
call
(
s
,
a
)
||
(
n
[
a
]
=
s
[
a
]);
return
n
}:
rn
;
function
sn
(
t
,
e
){
var
n
=
document
.
body
,
i
=
document
.
documentElement
,
o
=
window
.
pageYOffset
||
i
.
scrollTop
||
n
.
scrollTop
,
r
=
window
.
pageXOffset
||
i
.
scrollLeft
||
n
.
scrollLeft
;
e
=
e
||
n
;
var
l
=
t
.
getBoundingClientRect
(),
a
=
e
.
getBoundingClientRect
(),
s
=
Qe
(
e
,
"position"
),
c
=
{
width
:
l
.
width
,
height
:
l
.
height
};
return
"body"
!==
e
.
tagName
.
toLowerCase
()
&&
"relative"
===
s
||
"sticky"
===
s
?
Object
.
assign
(
c
,{
top
:
l
.
top
-
a
.
top
,
left
:
l
.
left
-
a
.
left
}):
Object
.
assign
(
c
,{
top
:
l
.
top
+
o
,
left
:
l
.
left
+
r
})}
function
cn
(
t
){
var
e
=
t
.
parentNode
;
return
!
(
!
e
||
"HTML"
===
e
.
nodeName
)
&&
(
"fixed"
===
Qe
(
t
,
"position"
)
||
cn
(
e
))}
qt
({
target
:
"Object"
,
stat
:
!
0
,
forced
:
Object
.
assign
!==
an
},{
assign
:
an
});
var
un
=
Math
.
floor
,
hn
=
""
.
replace
,
fn
=
/
\$([
$&'`
]
|
\d{1,2}
|<
[^
>
]
*>
)
/g
,
pn
=
/
\$([
$&'`
]
|
\d{1,2})
/g
,
dn
=
function
(
t
,
e
,
n
,
i
,
o
,
r
){
var
l
=
n
+
t
.
length
,
a
=
i
.
length
,
s
=
pn
;
return
void
0
!==
o
&&
(
o
=
S
(
o
),
s
=
fn
),
hn
.
call
(
r
,
s
,(
function
(
r
,
s
){
var
c
;
switch
(
s
.
charAt
(
0
)){
case
"$"
:
return
"$"
;
case
"&"
:
return
t
;
case
"`"
:
return
e
.
slice
(
0
,
n
);
case
"'"
:
return
e
.
slice
(
l
);
case
"<"
:
c
=
o
[
s
.
slice
(
1
,
-
1
)];
break
;
default
:
var
u
=+
s
;
if
(
0
===
u
)
return
r
;
if
(
u
>
a
){
var
h
=
un
(
u
/
10
);
return
0
===
h
?
r
:
h
<=
a
?
void
0
===
i
[
h
-
1
]?
s
.
charAt
(
1
):
i
[
h
-
1
]
+
s
.
charAt
(
1
):
r
}
c
=
i
[
u
-
1
]}
return
void
0
===
c
?
""
:
c
}))},
gn
=
Math
.
max
,
vn
=
Math
.
min
;
function
mn
(
t
,
e
){
if
(
t
instanceof
SVGElement
){
var
n
=
t
.
getAttribute
(
"class"
)
||
""
;
t
.
setAttribute
(
"class"
,
n
.
replace
(
e
,
""
).
replace
(
/^
\s
+|
\s
+$/g
,
""
))}
else
t
.
className
=
t
.
className
.
replace
(
e
,
""
).
replace
(
/^
\s
+|
\s
+$/g
,
""
)}
function
bn
(
t
,
e
){
var
n
=
""
;
if
(
t
.
style
.
cssText
&&
(
n
+=
t
.
style
.
cssText
),
"string"
==
typeof
e
)
n
+=
e
;
else
for
(
var
i
in
e
)
n
+=
""
.
concat
(
i
,
":"
).
concat
(
e
[
i
],
";"
);
t
.
style
.
cssText
=
n
}
function
yn
(
t
){
if
(
t
){
if
(
!
this
.
_introItems
[
this
.
_currentStep
])
return
;
var
e
=
this
.
_introItems
[
this
.
_currentStep
],
n
=
sn
(
e
.
element
,
this
.
_targetElement
),
i
=
this
.
_options
.
helperElementPadding
;
cn
(
e
.
element
)?
Je
(
t
,
"introjs-fixedTooltip"
):
mn
(
t
,
"introjs-fixedTooltip"
),
"floating"
===
e
.
position
&&
(
i
=
0
),
bn
(
t
,{
width
:
""
.
concat
(
n
.
width
+
i
,
"px"
),
height
:
""
.
concat
(
n
.
height
+
i
,
"px"
),
top
:
""
.
concat
(
n
.
top
-
i
/
2
,
"px"
),
left
:
""
.
concat
(
n
.
left
-
i
/
2
,
"px"
)})}}
ge
(
"replace"
,
2
,(
function
(
t
,
e
,
n
,
i
){
var
o
=
i
.
REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
,
r
=
i
.
REPLACE_KEEPS_$0
,
l
=
o
?
"$"
:
"$0"
;
return
[
function
(
n
,
i
){
var
o
=
b
(
this
),
r
=
null
==
n
?
void
0
:
n
[
t
];
return
void
0
!==
r
?
r
.
call
(
n
,
o
,
i
):
e
.
call
(
String
(
o
),
n
,
i
)},
function
(
t
,
i
){
if
(
!
o
&&
r
||
"string"
==
typeof
i
&&-
1
===
i
.
indexOf
(
l
)){
var
a
=
n
(
e
,
t
,
this
,
i
);
if
(
a
.
done
)
return
a
.
value
}
var
s
=
I
(
t
),
c
=
String
(
this
),
u
=
"function"
==
typeof
i
;
u
||
(
i
=
String
(
i
));
var
h
=
s
.
global
;
if
(
h
){
var
f
=
s
.
unicode
;
s
.
lastIndex
=
0
}
for
(
var
p
=
[];;){
var
d
=
ye
(
s
,
c
);
if
(
null
===
d
)
break
;
if
(
p
.
push
(
d
),
!
h
)
break
;
""
===
String
(
d
[
0
])
&&
(
s
.
lastIndex
=
be
(
c
,
dt
(
s
.
lastIndex
),
f
))}
for
(
var
g
,
v
=
""
,
m
=
0
,
b
=
0
;
b
<
p
.
length
;
b
++
){
d
=
p
[
b
];
for
(
var
y
=
String
(
d
[
0
]),
w
=
gn
(
vn
(
ft
(
d
.
index
),
c
.
length
),
0
),
_
=
[],
S
=
1
;
S
<
d
.
length
;
S
++
)
_
.
push
(
void
0
===
(
g
=
d
[
S
])?
g
:
String
(
g
));
var
x
=
d
.
groups
;
if
(
u
){
var
j
=
[
y
].
concat
(
_
,
w
,
c
);
void
0
!==
x
&&
j
.
push
(
x
);
var
C
=
String
(
i
.
apply
(
void
0
,
j
))}
else
C
=
dn
(
y
,
c
,
w
,
_
,
x
,
i
);
w
>=
m
&&
(
v
+=
c
.
slice
(
m
,
w
)
+
C
,
m
=
w
+
y
.
length
)}
return
v
+
c
.
slice
(
m
)}]}));
var
wn
,
_n
=
c
?
Object
.
defineProperties
:
function
(
t
,
e
){
I
(
t
);
for
(
var
n
,
i
=
on
(
e
),
o
=
i
.
length
,
r
=
0
;
o
>
r
;)
O
.
f
(
t
,
n
=
i
[
r
++
],
e
[
n
]);
return
t
},
Sn
=
ct
(
"document"
,
"documentElement"
),
xn
=
X
(
"IE_PROTO"
),
jn
=
function
(){},
Cn
=
function
(
t
){
return
"<script>"
+
t
+
"</"
+
"script>"
},
En
=
function
(){
try
{
wn
=
document
.
domain
&&
new
ActiveXObject
(
"htmlfile"
)}
catch
(
t
){}
var
t
,
e
;
En
=
wn
?
function
(
t
){
t
.
write
(
Cn
(
""
)),
t
.
close
();
var
e
=
t
.
parentWindow
.
Object
;
return
t
=
null
,
e
}(
wn
):((
e
=
A
(
"iframe"
)).
style
.
display
=
"none"
,
Sn
.
appendChild
(
e
),
e
.
src
=
String
(
"javascript:"
),(
t
=
e
.
contentWindow
.
document
).
open
(),
t
.
write
(
Cn
(
"document.F=Object"
)),
t
.
close
(),
t
.
F
);
for
(
var
n
=
St
.
length
;
n
--
;)
delete
En
.
prototype
[
St
[
n
]];
return
En
()};
J
[
xn
]
=!
0
;
var
An
=
Object
.
create
||
function
(
t
,
e
){
var
n
;
return
null
!==
t
?(
jn
.
prototype
=
I
(
t
),
n
=
new
jn
,
jn
.
prototype
=
null
,
n
[
xn
]
=
t
):
n
=
En
(),
void
0
===
e
?
n
:
_n
(
n
,
e
)},
kn
=
ae
(
"unscopables"
),
Tn
=
Array
.
prototype
;
null
==
Tn
[
kn
]
&&
O
.
f
(
Tn
,
kn
,{
configurable
:
!
0
,
value
:
An
(
null
)});
var
Nn
,
In
=
yt
.
includes
;
qt
({
target
:
"Array"
,
proto
:
!
0
},{
includes
:
function
(
t
){
return
In
(
this
,
t
,
arguments
.
length
>
1
?
arguments
[
1
]:
void
0
)}}),
Nn
=
"includes"
,
Tn
[
kn
][
Nn
]
=!
0
;
var
Pn
=
Ce
(
"slice"
),
On
=
ae
(
"species"
),
Ln
=
[].
slice
,
Rn
=
Math
.
max
;
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
!
Pn
},{
slice
:
function
(
t
,
e
){
var
n
,
i
,
o
,
r
=
y
(
this
),
l
=
dt
(
r
.
length
),
a
=
mt
(
t
,
l
),
s
=
mt
(
void
0
===
e
?
l
:
e
,
l
);
if
(
we
(
r
)
&&
(
"function"
!=
typeof
(
n
=
r
.
constructor
)
||
n
!==
Array
&&!
we
(
n
.
prototype
)?
w
(
n
)
&&
null
===
(
n
=
n
[
On
])
&&
(
n
=
void
0
):
n
=
void
0
,
n
===
Array
||
void
0
===
n
))
return
Ln
.
call
(
r
,
a
,
s
);
for
(
i
=
new
(
void
0
===
n
?
Array
:
n
)(
Rn
(
s
-
a
,
0
)),
o
=
0
;
a
<
s
;
a
++
,
o
++
)
a
in
r
&&
_e
(
i
,
o
,
r
[
a
]);
return
i
.
length
=
o
,
i
}});
var
qn
=
function
(
t
){
if
(
ze
(
t
))
throw
TypeError
(
"The method doesn't accept regular expressions"
);
return
t
},
Bn
=
ae
(
"match"
);
qt
({
target
:
"String"
,
proto
:
!
0
,
forced
:
!
function
(
t
){
var
e
=
/./
;
try
{
"/./"
[
t
](
e
)}
catch
(
n
){
try
{
return
e
[
Bn
]
=!
1
,
"/./"
[
t
](
e
)}
catch
(
t
){}}
return
!
1
}(
"includes"
)},{
includes
:
function
(
t
){
return
!!~
String
(
b
(
this
)).
indexOf
(
qn
(
t
),
arguments
.
length
>
1
?
arguments
[
1
]:
void
0
)}});
var
Mn
=
function
(
t
,
e
){
var
n
=
[][
t
];
return
!!
n
&&
s
((
function
(){
n
.
call
(
null
,
e
||
function
(){
throw
1
},
1
)}))},
Hn
=
[].
join
,
Dn
=
m
!=
Object
,
$n
=
Mn
(
"join"
,
","
);
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
Dn
||!
$n
},{
join
:
function
(
t
){
return
Hn
.
call
(
y
(
this
),
void
0
===
t
?
","
:
t
)}});
var
Un
=
[].
push
,
Fn
=
function
(
t
){
var
e
=
1
==
t
,
n
=
2
==
t
,
i
=
3
==
t
,
o
=
4
==
t
,
r
=
6
==
t
,
l
=
7
==
t
,
a
=
5
==
t
||
r
;
return
function
(
s
,
c
,
u
,
h
){
for
(
var
f
,
p
,
d
=
S
(
s
),
g
=
m
(
d
),
v
=
function
(
t
,
e
,
n
){
if
(
We
(
t
),
void
0
===
e
)
return
t
;
switch
(
n
){
case
0
:
return
function
(){
return
t
.
call
(
e
)};
case
1
:
return
function
(
n
){
return
t
.
call
(
e
,
n
)};
case
2
:
return
function
(
n
,
i
){
return
t
.
call
(
e
,
n
,
i
)};
case
3
:
return
function
(
n
,
i
,
o
){
return
t
.
call
(
e
,
n
,
i
,
o
)}}
return
function
(){
return
t
.
apply
(
e
,
arguments
)}}(
c
,
u
,
3
),
b
=
dt
(
g
.
length
),
y
=
0
,
w
=
h
||
xe
,
_
=
e
?
w
(
s
,
b
):
n
||
l
?
w
(
s
,
0
):
void
0
;
b
>
y
;
y
++
)
if
((
a
||
y
in
g
)
&&
(
p
=
v
(
f
=
g
[
y
],
y
,
d
),
t
))
if
(
e
)
_
[
y
]
=
p
;
else
if
(
p
)
switch
(
t
){
case
3
:
return
!
0
;
case
5
:
return
f
;
case
6
:
return
y
;
case
2
:
Un
.
call
(
_
,
f
)}
else
switch
(
t
){
case
4
:
return
!
1
;
case
7
:
Un
.
call
(
_
,
f
)}
return
r
?
-
1
:
i
||
o
?
o
:
_
}},
zn
=
{
forEach
:
Fn
(
0
),
map
:
Fn
(
1
),
filter
:
Fn
(
2
),
some
:
Fn
(
3
),
every
:
Fn
(
4
),
find
:
Fn
(
5
),
findIndex
:
Fn
(
6
),
filterOut
:
Fn
(
7
)}.
filter
;
function
Wn
(
t
,
e
,
n
,
i
,
o
){
return
t
.
left
+
e
+
n
.
width
>
i
.
width
?(
o
.
style
.
left
=
""
.
concat
(
i
.
width
-
n
.
width
-
t
.
left
,
"px"
),
!
1
):(
o
.
style
.
left
=
""
.
concat
(
e
,
"px"
),
!
0
)}
function
Gn
(
t
,
e
,
n
,
i
){
return
t
.
left
+
t
.
width
-
e
-
n
.
width
<
0
?(
i
.
style
.
left
=
""
.
concat
(
-
t
.
left
,
"px"
),
!
1
):(
i
.
style
.
right
=
""
.
concat
(
e
,
"px"
),
!
0
)}
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
!
Ce
(
"filter"
)},{
filter
:
function
(
t
){
return
zn
(
this
,
t
,
arguments
.
length
>
1
?
arguments
[
1
]:
void
0
)}});
var
Vn
=
Ce
(
"splice"
),
Kn
=
Math
.
max
,
Yn
=
Math
.
min
,
Xn
=
9007199254740991
,
Jn
=
"Maximum allowed length exceeded"
;
function
Qn
(
t
,
e
){
t
.
includes
(
e
)
&&
t
.
splice
(
t
.
indexOf
(
e
),
1
)}
function
Zn
(
t
,
e
,
n
){
var
i
=
this
.
_options
.
positionPrecedence
.
slice
(),
o
=
tn
(),
r
=
sn
(
e
).
height
+
10
,
l
=
sn
(
e
).
width
+
20
,
a
=
t
.
getBoundingClientRect
(),
s
=
"floating"
;
a
.
bottom
+
r
>
o
.
height
&&
Qn
(
i
,
"bottom"
),
a
.
top
-
r
<
0
&&
Qn
(
i
,
"top"
),
a
.
right
+
l
>
o
.
width
&&
Qn
(
i
,
"right"
),
a
.
left
-
l
<
0
&&
Qn
(
i
,
"left"
);
var
c
,
u
,
h
=-
1
!==
(
u
=
(
c
=
n
||
""
).
indexOf
(
"-"
))?
c
.
substr
(
u
):
""
;
return
n
&&
(
n
=
n
.
split
(
"-"
)[
0
]),
i
.
length
&&
(
s
=
i
.
includes
(
n
)?
n
:
i
[
0
]),[
"top"
,
"bottom"
].
includes
(
s
)
&&
(
s
+=
function
(
t
,
e
,
n
,
i
){
var
o
=
n
.
width
,
r
=
e
/
2
,
l
=
Math
.
min
(
o
,
window
.
screen
.
width
),
a
=
[
"-left-aligned"
,
"-middle-aligned"
,
"-right-aligned"
];
return
l
-
t
<
e
&&
Qn
(
a
,
"-left-aligned"
),(
t
<
r
||
l
-
t
<
r
)
&&
Qn
(
a
,
"-middle-aligned"
),
t
<
e
&&
Qn
(
a
,
"-right-aligned"
),
a
.
length
?
a
.
includes
(
i
)?
i
:
a
[
0
]:
"-middle-aligned"
}(
a
.
left
,
l
,
o
,
h
)),
s
}
function
ti
(
t
,
e
,
n
,
i
){
var
o
,
r
,
l
,
a
,
s
,
c
=
""
;
if
(
i
=
i
||!
1
,
e
.
style
.
top
=
null
,
e
.
style
.
right
=
null
,
e
.
style
.
bottom
=
null
,
e
.
style
.
left
=
null
,
e
.
style
.
marginLeft
=
null
,
e
.
style
.
marginTop
=
null
,
n
.
style
.
display
=
"inherit"
,
this
.
_introItems
[
this
.
_currentStep
])
switch
(
c
=
"string"
==
typeof
(
o
=
this
.
_introItems
[
this
.
_currentStep
]).
tooltipClass
?
o
.
tooltipClass
:
this
.
_options
.
tooltipClass
,
e
.
className
=
[
"introjs-tooltip"
,
c
].
filter
(
Boolean
).
join
(
" "
),
e
.
setAttribute
(
"role"
,
"dialog"
),
"floating"
!==
(
s
=
this
.
_introItems
[
this
.
_currentStep
].
position
)
&&
this
.
_options
.
autoPosition
&&
(
s
=
Zn
.
call
(
this
,
t
,
e
,
s
)),
l
=
sn
(
t
),
r
=
sn
(
e
),
a
=
tn
(),
Je
(
e
,
"introjs-"
.
concat
(
s
)),
s
){
case
"top-right-aligned"
:
n
.
className
=
"introjs-arrow bottom-right"
;
var
u
=
0
;
Gn
(
l
,
u
,
r
,
e
),
e
.
style
.
bottom
=
""
.
concat
(
l
.
height
+
20
,
"px"
);
break
;
case
"top-middle-aligned"
:
n
.
className
=
"introjs-arrow bottom-middle"
;
var
h
=
l
.
width
/
2
-
r
.
width
/
2
;
i
&&
(
h
+=
5
),
Gn
(
l
,
h
,
r
,
e
)
&&
(
e
.
style
.
right
=
null
,
Wn
(
l
,
h
,
r
,
a
,
e
)),
e
.
style
.
bottom
=
""
.
concat
(
l
.
height
+
20
,
"px"
);
break
;
case
"top-left-aligned"
:
case
"top"
:
n
.
className
=
"introjs-arrow bottom"
,
Wn
(
l
,
i
?
0
:
15
,
r
,
a
,
e
),
e
.
style
.
bottom
=
""
.
concat
(
l
.
height
+
20
,
"px"
);
break
;
case
"right"
:
e
.
style
.
left
=
""
.
concat
(
l
.
width
+
20
,
"px"
),
l
.
top
+
r
.
height
>
a
.
height
?(
n
.
className
=
"introjs-arrow left-bottom"
,
e
.
style
.
top
=
"-"
.
concat
(
r
.
height
-
l
.
height
-
20
,
"px"
)):
n
.
className
=
"introjs-arrow left"
;
break
;
case
"left"
:
i
||!
0
!==
this
.
_options
.
showStepNumbers
||
(
e
.
style
.
top
=
"15px"
),
l
.
top
+
r
.
height
>
a
.
height
?(
e
.
style
.
top
=
"-"
.
concat
(
r
.
height
-
l
.
height
-
20
,
"px"
),
n
.
className
=
"introjs-arrow right-bottom"
):
n
.
className
=
"introjs-arrow right"
,
e
.
style
.
right
=
""
.
concat
(
l
.
width
+
20
,
"px"
);
break
;
case
"floating"
:
n
.
style
.
display
=
"none"
,
e
.
style
.
left
=
"50%"
,
e
.
style
.
top
=
"50%"
,
e
.
style
.
marginLeft
=
"-"
.
concat
(
r
.
width
/
2
,
"px"
),
e
.
style
.
marginTop
=
"-"
.
concat
(
r
.
height
/
2
,
"px"
);
break
;
case
"bottom-right-aligned"
:
n
.
className
=
"introjs-arrow top-right"
,
Gn
(
l
,
u
=
0
,
r
,
e
),
e
.
style
.
top
=
""
.
concat
(
l
.
height
+
20
,
"px"
);
break
;
case
"bottom-middle-aligned"
:
n
.
className
=
"introjs-arrow top-middle"
,
h
=
l
.
width
/
2
-
r
.
width
/
2
,
i
&&
(
h
+=
5
),
Gn
(
l
,
h
,
r
,
e
)
&&
(
e
.
style
.
right
=
null
,
Wn
(
l
,
h
,
r
,
a
,
e
)),
e
.
style
.
top
=
""
.
concat
(
l
.
height
+
20
,
"px"
);
break
;
default
:
n
.
className
=
"introjs-arrow top"
,
Wn
(
l
,
0
,
r
,
a
,
e
),
e
.
style
.
top
=
""
.
concat
(
l
.
height
+
20
,
"px"
)}}
function
ei
(){
n
(
document
.
querySelectorAll
(
".introjs-showElement"
),(
function
(
t
){
mn
(
t
,
/introjs-
[
a-zA-Z
]
+/g
)}))}
function
ni
(
t
,
e
){
var
n
=
document
.
createElement
(
t
);
e
=
e
||
{};
var
i
=
/^
(?:
role|data-|aria-
)
/
;
for
(
var
o
in
e
){
var
r
=
e
[
o
];
"style"
===
o
?
bn
(
n
,
r
):
o
.
match
(
i
)?
n
.
setAttribute
(
o
,
r
):
n
[
o
]
=
r
}
return
n
}
function
ii
(
t
,
e
,
n
){
if
(
n
){
var
i
=
e
.
style
.
opacity
||
"1"
;
bn
(
e
,{
opacity
:
"0"
}),
window
.
setTimeout
((
function
(){
bn
(
e
,{
opacity
:
i
})}),
10
)}
t
.
appendChild
(
e
)}
function
oi
(){
return
parseInt
(
this
.
_currentStep
+
1
,
10
)
/
this
.
_introItems
.
length
*
100
}
function
ri
(){
var
t
=
document
.
querySelector
(
".introjs-disableInteraction"
);
null
===
t
&&
(
t
=
ni
(
"div"
,{
className
:
"introjs-disableInteraction"
}),
this
.
_targetElement
.
appendChild
(
t
)),
yn
.
call
(
this
,
t
)}
function
li
(
t
){
var
e
=
this
,
i
=
ni
(
"div"
,{
className
:
"introjs-bullets"
});
!
1
===
this
.
_options
.
showBullets
&&
(
i
.
style
.
display
=
"none"
);
var
o
=
ni
(
"ul"
);
o
.
setAttribute
(
"role"
,
"tablist"
);
var
r
=
function
(){
e
.
goToStep
(
this
.
getAttribute
(
"data-stepnumber"
))};
return
n
(
this
.
_introItems
,(
function
(
e
,
n
){
var
i
=
e
.
step
,
l
=
ni
(
"li"
),
a
=
ni
(
"a"
);
l
.
setAttribute
(
"role"
,
"presentation"
),
a
.
setAttribute
(
"role"
,
"tab"
),
a
.
onclick
=
r
,
n
===
t
.
step
-
1
&&
(
a
.
className
=
"active"
),
nn
(
a
),
a
.
innerHTML
=
" "
,
a
.
setAttribute
(
"data-stepnumber"
,
i
),
l
.
appendChild
(
a
),
o
.
appendChild
(
l
)})),
i
.
appendChild
(
o
),
i
}
function
ai
(
t
,
e
){
if
(
this
.
_options
.
showBullets
){
var
n
=
document
.
querySelector
(
".introjs-bullets"
);
n
.
parentNode
.
replaceChild
(
li
.
call
(
this
,
e
),
n
)}}
function
si
(
t
,
e
){
this
.
_options
.
showBullets
&&
(
t
.
querySelector
(
".introjs-bullets li > a.active"
).
className
=
""
,
t
.
querySelector
(
'.introjs-bullets li > a[data-stepnumber="'
.
concat
(
e
.
step
,
'"]'
)).
className
=
"active"
)}
function
ci
(){
var
t
=
ni
(
"div"
);
t
.
className
=
"introjs-progress"
,
!
1
===
this
.
_options
.
showProgress
&&
(
t
.
style
.
display
=
"none"
);
var
e
=
ni
(
"div"
,{
className
:
"introjs-progressbar"
});
return
this
.
_options
.
progressBarAdditionalClass
&&
(
e
.
className
+=
" "
+
this
.
_options
.
progressBarAdditionalClass
),
e
.
setAttribute
(
"role"
,
"progress"
),
e
.
setAttribute
(
"aria-valuemin"
,
0
),
e
.
setAttribute
(
"aria-valuemax"
,
100
),
e
.
setAttribute
(
"aria-valuenow"
,
oi
.
call
(
this
)),
e
.
style
.
cssText
=
"width:"
.
concat
(
oi
.
call
(
this
),
"%;"
),
t
.
appendChild
(
e
),
t
}
function
ui
(
t
){
t
.
querySelector
(
".introjs-progress .introjs-progressbar"
).
style
.
cssText
=
"width:"
.
concat
(
oi
.
call
(
this
),
"%;"
),
t
.
querySelector
(
".introjs-progress .introjs-progressbar"
).
setAttribute
(
"aria-valuenow"
,
oi
.
call
(
this
))}
function
hi
(
t
){
var
e
=
this
;
void
0
!==
this
.
_introChangeCallback
&&
this
.
_introChangeCallback
.
call
(
this
,
t
.
element
);
var
n
,
i
,
o
,
r
=
this
,
l
=
document
.
querySelector
(
".introjs-helperLayer"
),
a
=
document
.
querySelector
(
".introjs-tooltipReferenceLayer"
),
s
=
"introjs-helperLayer"
;
if
(
"string"
==
typeof
t
.
highlightClass
&&
(
s
+=
" "
.
concat
(
t
.
highlightClass
)),
"string"
==
typeof
this
.
_options
.
highlightClass
&&
(
s
+=
" "
.
concat
(
this
.
_options
.
highlightClass
)),
null
!==
l
&&
null
!==
a
){
var
c
=
a
.
querySelector
(
".introjs-helperNumberLayer"
),
u
=
a
.
querySelector
(
".introjs-tooltiptext"
),
h
=
a
.
querySelector
(
".introjs-tooltip-title"
),
f
=
a
.
querySelector
(
".introjs-arrow"
),
p
=
a
.
querySelector
(
".introjs-tooltip"
);
o
=
a
.
querySelector
(
".introjs-skipbutton"
),
i
=
a
.
querySelector
(
".introjs-prevbutton"
),
n
=
a
.
querySelector
(
".introjs-nextbutton"
),
l
.
className
=
s
,
p
.
style
.
opacity
=
0
,
p
.
style
.
display
=
"none"
,
Ze
.
call
(
r
,
t
),
yn
.
call
(
r
,
l
),
yn
.
call
(
r
,
a
),
ei
(),
r
.
_lastShowElementTimer
&&
window
.
clearTimeout
(
r
.
_lastShowElementTimer
),
r
.
_lastShowElementTimer
=
window
.
setTimeout
((
function
(){
null
!==
c
&&
(
c
.
innerHTML
=
""
.
concat
(
t
.
step
,
" of "
).
concat
(
e
.
_introItems
.
length
)),
u
.
innerHTML
=
t
.
intro
,
h
.
innerHTML
=
t
.
title
,
p
.
style
.
display
=
"block"
,
ti
.
call
(
r
,
t
.
element
,
p
,
f
),
si
.
call
(
r
,
a
,
t
),
ui
.
call
(
r
,
a
),
p
.
style
.
opacity
=
1
,(
null
!=
n
&&
/introjs-donebutton/gi
.
test
(
n
.
className
)
||
null
!=
n
)
&&
n
.
focus
(),
en
.
call
(
r
,
t
.
scrollTo
,
t
,
u
)}),
350
)}
else
{
var
d
=
ni
(
"div"
,{
className
:
s
}),
g
=
ni
(
"div"
,{
className
:
"introjs-tooltipReferenceLayer"
}),
v
=
ni
(
"div"
,{
className
:
"introjs-arrow"
}),
m
=
ni
(
"div"
,{
className
:
"introjs-tooltip"
}),
b
=
ni
(
"div"
,{
className
:
"introjs-tooltiptext"
}),
y
=
ni
(
"div"
,{
className
:
"introjs-tooltip-header"
}),
w
=
ni
(
"h1"
,{
className
:
"introjs-tooltip-title"
}),
_
=
ni
(
"div"
);
bn
(
d
,{
"box-shadow"
:
"0 0 1px 2px rgba(33, 33, 33, 0.8), rgba(33, 33, 33, "
.
concat
(
r
.
_options
.
overlayOpacity
.
toString
(),
") 0 0 0 5000px"
)}),
Ze
.
call
(
r
,
t
),
yn
.
call
(
r
,
d
),
yn
.
call
(
r
,
g
),
ii
(
this
.
_targetElement
,
d
,
!
0
),
ii
(
this
.
_targetElement
,
g
),
b
.
innerHTML
=
t
.
intro
,
w
.
innerHTML
=
t
.
title
,
_
.
className
=
"introjs-tooltipbuttons"
,
!
1
===
this
.
_options
.
showButtons
&&
(
_
.
style
.
display
=
"none"
),
y
.
appendChild
(
w
),
m
.
appendChild
(
y
),
m
.
appendChild
(
b
),
m
.
appendChild
(
li
.
call
(
this
,
t
)),
m
.
appendChild
(
ci
.
call
(
this
));
var
S
=
ni
(
"div"
);
!
0
===
this
.
_options
.
showStepNumbers
&&
(
S
.
className
=
"introjs-helperNumberLayer"
,
S
.
innerHTML
=
""
.
concat
(
t
.
step
,
" of "
).
concat
(
this
.
_introItems
.
length
),
m
.
appendChild
(
S
)),
m
.
appendChild
(
v
),
g
.
appendChild
(
m
),(
n
=
ni
(
"a"
)).
onclick
=
function
(){
r
.
_introItems
.
length
-
1
!==
r
.
_currentStep
?
di
.
call
(
r
):
/introjs-donebutton/gi
.
test
(
n
.
className
)
&&
(
"function"
==
typeof
r
.
_introCompleteCallback
&&
r
.
_introCompleteCallback
.
call
(
r
),
Qi
.
call
(
r
,
r
.
_targetElement
))},
nn
(
n
),
n
.
innerHTML
=
this
.
_options
.
nextLabel
,(
i
=
ni
(
"a"
)).
onclick
=
function
(){
0
!==
r
.
_currentStep
&&
gi
.
call
(
r
)},
nn
(
i
),
i
.
innerHTML
=
this
.
_options
.
prevLabel
,
nn
(
o
=
ni
(
"a"
,{
className
:
"introjs-skipbutton"
})),
o
.
innerHTML
=
this
.
_options
.
skipLabel
,
o
.
onclick
=
function
(){
r
.
_introItems
.
length
-
1
===
r
.
_currentStep
&&
"function"
==
typeof
r
.
_introCompleteCallback
&&
r
.
_introCompleteCallback
.
call
(
r
),
"function"
==
typeof
r
.
_introSkipCallback
&&
r
.
_introSkipCallback
.
call
(
r
),
Qi
.
call
(
r
,
r
.
_targetElement
)},
y
.
appendChild
(
o
),
this
.
_introItems
.
length
>
1
&&
_
.
appendChild
(
i
),
_
.
appendChild
(
n
),
m
.
appendChild
(
_
),
ti
.
call
(
r
,
t
.
element
,
m
,
v
),
en
.
call
(
this
,
t
.
scrollTo
,
t
,
m
)}
var
x
=
r
.
_targetElement
.
querySelector
(
".introjs-disableInteraction"
);
x
&&
x
.
parentNode
.
removeChild
(
x
),
t
.
disableInteraction
&&
ri
.
call
(
r
),
0
===
this
.
_currentStep
&&
this
.
_introItems
.
length
>
1
?(
null
!=
n
&&
(
n
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton"
),
n
.
innerHTML
=
this
.
_options
.
nextLabel
),
!
0
===
this
.
_options
.
hidePrev
?(
null
!=
i
&&
(
i
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton introjs-hidden"
)),
null
!=
n
&&
Je
(
n
,
"introjs-fullbutton"
)):
null
!=
i
&&
(
i
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton introjs-disabled"
))):
this
.
_introItems
.
length
-
1
===
this
.
_currentStep
||
1
===
this
.
_introItems
.
length
?(
null
!=
i
&&
(
i
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton"
)),
!
0
===
this
.
_options
.
hideNext
?(
null
!=
n
&&
(
n
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-hidden"
)),
null
!=
i
&&
Je
(
i
,
"introjs-fullbutton"
)):
null
!=
n
&&
(
!
0
===
this
.
_options
.
nextToDone
?(
n
.
innerHTML
=
this
.
_options
.
doneLabel
,
Je
(
n
,
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-donebutton"
))):
n
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-disabled"
))):(
null
!=
i
&&
(
i
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton"
)),
null
!=
n
&&
(
n
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton"
),
n
.
innerHTML
=
this
.
_options
.
nextLabel
)),
null
!=
i
&&
i
.
setAttribute
(
"role"
,
"button"
),
null
!=
n
&&
n
.
setAttribute
(
"role"
,
"button"
),
null
!=
o
&&
o
.
setAttribute
(
"role"
,
"button"
),
null
!=
n
&&
n
.
focus
(),
function
(
t
){
var
e
=
t
.
element
;
Je
(
e
,
"introjs-showElement"
);
var
n
=
Qe
(
e
,
"position"
);
"absolute"
!==
n
&&
"relative"
!==
n
&&
"sticky"
!==
n
&&
"fixed"
!==
n
&&
Je
(
e
,
"introjs-relativePosition"
)}(
t
),
void
0
!==
this
.
_introAfterChangeCallback
&&
this
.
_introAfterChangeCallback
.
call
(
this
,
t
.
element
)}
function
fi
(
t
){
this
.
_currentStep
=
t
-
2
,
void
0
!==
this
.
_introItems
&&
di
.
call
(
this
)}
function
pi
(
t
){
this
.
_currentStepNumber
=
t
,
void
0
!==
this
.
_introItems
&&
di
.
call
(
this
)}
function
di
(){
var
t
=
this
;
this
.
_direction
=
"forward"
,
void
0
!==
this
.
_currentStepNumber
&&
n
(
this
.
_introItems
,(
function
(
e
,
n
){
e
.
step
===
t
.
_currentStepNumber
&&
(
t
.
_currentStep
=
n
-
1
,
t
.
_currentStepNumber
=
void
0
)})),
void
0
===
this
.
_currentStep
?
this
.
_currentStep
=
0
:
++
this
.
_currentStep
;
var
e
=
this
.
_introItems
[
this
.
_currentStep
],
i
=!
0
;
return
void
0
!==
this
.
_introBeforeChangeCallback
&&
(
i
=
this
.
_introBeforeChangeCallback
.
call
(
this
,
e
&&
e
.
element
)),
!
1
===
i
?(
--
this
.
_currentStep
,
!
1
):
this
.
_introItems
.
length
<=
this
.
_currentStep
?(
"function"
==
typeof
this
.
_introCompleteCallback
&&
this
.
_introCompleteCallback
.
call
(
this
),
void
Qi
.
call
(
this
,
this
.
_targetElement
)):
void
hi
.
call
(
this
,
e
)}
function
gi
(){
if
(
this
.
_direction
=
"backward"
,
0
===
this
.
_currentStep
)
return
!
1
;
--
this
.
_currentStep
;
var
t
=
this
.
_introItems
[
this
.
_currentStep
],
e
=!
0
;
if
(
void
0
!==
this
.
_introBeforeChangeCallback
&&
(
e
=
this
.
_introBeforeChangeCallback
.
call
(
this
,
t
&&
t
.
element
)),
!
1
===
e
)
return
++
this
.
_currentStep
,
!
1
;
hi
.
call
(
this
,
t
)}
function
vi
(){
return
this
.
_currentStep
}
function
mi
(
t
){
var
e
=
void
0
===
t
.
code
?
t
.
which
:
t
.
code
;
if
(
null
===
e
&&
(
e
=
null
===
t
.
charCode
?
t
.
keyCode
:
t
.
charCode
),
"Escape"
!==
e
&&
27
!==
e
||!
0
!==
this
.
_options
.
exitOnEsc
){
if
(
"ArrowLeft"
===
e
||
37
===
e
)
gi
.
call
(
this
);
else
if
(
"ArrowRight"
===
e
||
39
===
e
)
di
.
call
(
this
);
else
if
(
"Enter"
===
e
||
"NumpadEnter"
===
e
||
13
===
e
){
var
n
=
t
.
target
||
t
.
srcElement
;
n
&&
n
.
className
.
match
(
"introjs-prevbutton"
)?
gi
.
call
(
this
):
n
&&
n
.
className
.
match
(
"introjs-skipbutton"
)?(
this
.
_introItems
.
length
-
1
===
this
.
_currentStep
&&
"function"
==
typeof
this
.
_introCompleteCallback
&&
this
.
_introCompleteCallback
.
call
(
this
),
Qi
.
call
(
this
,
this
.
_targetElement
)):
n
&&
n
.
getAttribute
(
"data-stepnumber"
)?
n
.
click
():
di
.
call
(
this
),
t
.
preventDefault
?
t
.
preventDefault
():
t
.
returnValue
=!
1
}}
else
Qi
.
call
(
this
,
this
.
_targetElement
)}
function
bi
(
e
){
if
(
null
===
e
||
"object"
!==
t
(
e
)
||
void
0
!==
e
.
nodeType
)
return
e
;
var
n
=
{};
for
(
var
i
in
e
)
void
0
!==
window
.
jQuery
&&
e
[
i
]
instanceof
window
.
jQuery
?
n
[
i
]
=
e
[
i
]:
n
[
i
]
=
bi
(
e
[
i
]);
return
n
}
function
yi
(
t
){
var
e
=
document
.
querySelector
(
".introjs-hints"
);
return
e
?
e
.
querySelectorAll
(
t
):[]}
function
wi
(
t
){
var
e
=
yi
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
))[
0
];
Ti
.
call
(
this
),
e
&&
Je
(
e
,
"introjs-hidehint"
),
void
0
!==
this
.
_hintCloseCallback
&&
this
.
_hintCloseCallback
.
call
(
this
,
t
)}
function
_i
(){
var
t
=
this
;
n
(
yi
(
".introjs-hint"
),(
function
(
e
){
wi
.
call
(
t
,
e
.
getAttribute
(
"data-step"
))}))}
function
Si
(){
var
t
=
this
,
e
=
yi
(
".introjs-hint"
);
e
&&
e
.
length
?
n
(
e
,(
function
(
e
){
xi
.
call
(
t
,
e
.
getAttribute
(
"data-step"
))})):
Ni
.
call
(
this
,
this
.
_targetElement
)}
function
xi
(
t
){
var
e
=
yi
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
))[
0
];
e
&&
mn
(
e
,
/introjs-hidehint/g
)}
function
ji
(){
var
t
=
this
;
n
(
yi
(
".introjs-hint"
),(
function
(
e
){
Ci
.
call
(
t
,
e
.
getAttribute
(
"data-step"
))}))}
function
Ci
(
t
){
var
e
=
yi
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
))[
0
];
e
&&
e
.
parentNode
.
removeChild
(
e
)}
function
Ei
(){
var
t
=
this
,
e
=
this
,
i
=
document
.
querySelector
(
".introjs-hints"
);
null
===
i
&&
(
i
=
ni
(
"div"
,{
className
:
"introjs-hints"
}));
n
(
this
.
_introItems
,(
function
(
n
,
o
){
if
(
!
document
.
querySelector
(
'.introjs-hint[data-step="'
.
concat
(
o
,
'"]'
))){
var
r
=
ni
(
"a"
,{
className
:
"introjs-hint"
});
nn
(
r
),
r
.
onclick
=
function
(
t
){
return
function
(
n
){
var
i
=
n
||
window
.
event
;
i
.
stopPropagation
&&
i
.
stopPropagation
(),
null
!==
i
.
cancelBubble
&&
(
i
.
cancelBubble
=!
0
),
ki
.
call
(
e
,
t
)}}(
o
),
n
.
hintAnimation
||
Je
(
r
,
"introjs-hint-no-anim"
),
cn
(
n
.
element
)
&&
Je
(
r
,
"introjs-fixedhint"
);
var
l
=
ni
(
"div"
,{
className
:
"introjs-hint-dot"
}),
a
=
ni
(
"div"
,{
className
:
"introjs-hint-pulse"
});
r
.
appendChild
(
l
),
r
.
appendChild
(
a
),
r
.
setAttribute
(
"data-step"
,
o
),
n
.
targetElement
=
n
.
element
,
n
.
element
=
r
,
Ai
.
call
(
t
,
n
.
hintPosition
,
r
,
n
.
targetElement
),
i
.
appendChild
(
r
)}})),
document
.
body
.
appendChild
(
i
),
void
0
!==
this
.
_hintsAddedCallback
&&
this
.
_hintsAddedCallback
.
call
(
this
)}
function
Ai
(
t
,
e
,
n
){
var
i
=
e
.
style
,
o
=
sn
.
call
(
this
,
n
),
r
=
20
,
l
=
20
;
switch
(
t
){
default
:
case
"top-left"
:
i
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
,
"px"
);
break
;
case
"top-right"
:
i
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
r
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
,
"px"
);
break
;
case
"bottom-left"
:
i
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
l
,
"px"
);
break
;
case
"bottom-right"
:
i
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
r
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
l
,
"px"
);
break
;
case
"middle-left"
:
i
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
l
)
/
2
,
"px"
);
break
;
case
"middle-right"
:
i
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
r
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
l
)
/
2
,
"px"
);
break
;
case
"middle-middle"
:
i
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
r
)
/
2
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
l
)
/
2
,
"px"
);
break
;
case
"bottom-middle"
:
i
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
r
)
/
2
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
l
,
"px"
);
break
;
case
"top-middle"
:
i
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
r
)
/
2
,
"px"
),
i
.
top
=
""
.
concat
(
o
.
top
,
"px"
)}}
function
ki
(
t
){
var
e
=
document
.
querySelector
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
)),
n
=
this
.
_introItems
[
t
];
void
0
!==
this
.
_hintClickCallback
&&
this
.
_hintClickCallback
.
call
(
this
,
e
,
n
,
t
);
var
i
=
Ti
.
call
(
this
);
if
(
parseInt
(
i
,
10
)
!==
t
){
var
o
=
ni
(
"div"
,{
className
:
"introjs-tooltip"
}),
r
=
ni
(
"div"
),
l
=
ni
(
"div"
),
a
=
ni
(
"div"
);
o
.
onclick
=
function
(
t
){
t
.
stopPropagation
?
t
.
stopPropagation
():
t
.
cancelBubble
=!
0
},
r
.
className
=
"introjs-tooltiptext"
;
var
s
=
ni
(
"p"
);
s
.
innerHTML
=
n
.
hint
;
var
c
=
ni
(
"a"
);
c
.
className
=
this
.
_options
.
buttonClass
,
c
.
setAttribute
(
"role"
,
"button"
),
c
.
innerHTML
=
this
.
_options
.
hintButtonLabel
,
c
.
onclick
=
wi
.
bind
(
this
,
t
),
r
.
appendChild
(
s
),
r
.
appendChild
(
c
),
l
.
className
=
"introjs-arrow"
,
o
.
appendChild
(
l
),
o
.
appendChild
(
r
),
this
.
_currentStep
=
e
.
getAttribute
(
"data-step"
),
a
.
className
=
"introjs-tooltipReferenceLayer introjs-hintReference"
,
a
.
setAttribute
(
"data-step"
,
e
.
getAttribute
(
"data-step"
)),
yn
.
call
(
this
,
a
),
a
.
appendChild
(
o
),
document
.
body
.
appendChild
(
a
),
ti
.
call
(
this
,
e
,
o
,
l
,
!
0
)}}
function
Ti
(){
var
t
=
document
.
querySelector
(
".introjs-hintReference"
);
if
(
t
){
var
e
=
t
.
getAttribute
(
"data-step"
);
return
t
.
parentNode
.
removeChild
(
t
),
e
}}
function
Ni
(
t
){
var
e
=
this
;
if
(
this
.
_introItems
=
[],
this
.
_options
.
hints
)
n
(
this
.
_options
.
hints
,(
function
(
t
){
var
n
=
bi
(
t
);
"string"
==
typeof
n
.
element
&&
(
n
.
element
=
document
.
querySelector
(
n
.
element
)),
n
.
hintPosition
=
n
.
hintPosition
||
e
.
_options
.
hintPosition
,
n
.
hintAnimation
=
n
.
hintAnimation
||
e
.
_options
.
hintAnimation
,
null
!==
n
.
element
&&
e
.
_introItems
.
push
(
n
)}));
else
{
var
o
=
t
.
querySelectorAll
(
"*[data-hint]"
);
if
(
!
o
||!
o
.
length
)
return
!
1
;
n
(
o
,(
function
(
t
){
var
n
=
t
.
getAttribute
(
"data-hintanimation"
);
n
=
n
?
"true"
===
n
:
e
.
_options
.
hintAnimation
,
e
.
_introItems
.
push
({
element
:
t
,
hint
:
t
.
getAttribute
(
"data-hint"
),
hintPosition
:
t
.
getAttribute
(
"data-hintposition"
)
||
e
.
_options
.
hintPosition
,
hintAnimation
:
n
,
tooltipClass
:
t
.
getAttribute
(
"data-tooltipclass"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
e
.
_options
.
tooltipPosition
})}))}
Ei
.
call
(
this
),
i
.
on
(
document
,
"click"
,
Ti
,
this
,
!
1
),
i
.
on
(
window
,
"resize"
,
Ii
,
this
,
!
0
)}
function
Ii
(){
var
t
=
this
;
n
(
this
.
_introItems
,(
function
(
e
){
var
n
=
e
.
targetElement
,
i
=
e
.
hintPosition
,
o
=
e
.
element
;
void
0
!==
n
&&
Ai
.
call
(
t
,
i
,
o
,
n
)}))}
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
!
Vn
},{
splice
:
function
(
t
,
e
){
var
n
,
i
,
o
,
r
,
l
,
a
,
s
=
S
(
this
),
c
=
dt
(
s
.
length
),
u
=
mt
(
t
,
c
),
h
=
arguments
.
length
;
if
(
0
===
h
?
n
=
i
=
0
:
1
===
h
?(
n
=
0
,
i
=
c
-
u
):(
n
=
h
-
2
,
i
=
Yn
(
Kn
(
ft
(
e
),
0
),
c
-
u
)),
c
+
n
-
i
>
Xn
)
throw
TypeError
(
Jn
);
for
(
o
=
xe
(
s
,
i
),
r
=
0
;
r
<
i
;
r
++
)(
l
=
u
+
r
)
in
s
&&
_e
(
o
,
r
,
s
[
l
]);
if
(
o
.
length
=
i
,
n
<
i
){
for
(
r
=
u
;
r
<
c
-
i
;
r
++
)
a
=
r
+
n
,(
l
=
r
+
i
)
in
s
?
s
[
a
]
=
s
[
l
]:
delete
s
[
a
];
for
(
r
=
c
;
r
>
c
-
i
+
n
;
r
--
)
delete
s
[
r
-
1
]}
else
if
(
n
>
i
)
for
(
r
=
c
-
i
;
r
>
u
;
r
--
)
a
=
r
+
n
-
1
,(
l
=
r
+
i
-
1
)
in
s
?
s
[
a
]
=
s
[
l
]:
delete
s
[
a
];
for
(
r
=
0
;
r
<
n
;
r
++
)
s
[
r
+
u
]
=
arguments
[
r
+
2
];
return
s
.
length
=
c
-
i
+
n
,
o
}});
var
Pi
=
Math
.
floor
,
Oi
=
function
(
t
,
e
){
var
n
=
t
.
length
,
i
=
Pi
(
n
/
2
);
return
n
<
8
?
Li
(
t
,
e
):
Ri
(
Oi
(
t
.
slice
(
0
,
i
),
e
),
Oi
(
t
.
slice
(
i
),
e
),
e
)},
Li
=
function
(
t
,
e
){
for
(
var
n
,
i
,
o
=
t
.
length
,
r
=
1
;
r
<
o
;){
for
(
i
=
r
,
n
=
t
[
r
];
i
&&
e
(
t
[
i
-
1
],
n
)
>
0
;)
t
[
i
]
=
t
[
--
i
];
i
!==
r
++&&
(
t
[
i
]
=
n
)}
return
t
},
Ri
=
function
(
t
,
e
,
n
){
for
(
var
i
=
t
.
length
,
o
=
e
.
length
,
r
=
0
,
l
=
0
,
a
=
[];
r
<
i
||
l
<
o
;)
r
<
i
&&
l
<
o
?
a
.
push
(
n
(
t
[
r
],
e
[
l
])
<=
0
?
t
[
r
++
]:
e
[
l
++
]):
a
.
push
(
r
<
i
?
t
[
r
++
]:
e
[
l
++
]);
return
a
},
qi
=
Oi
,
Bi
=
Jt
.
match
(
/firefox
\/(\d
+
)
/i
),
Mi
=!!
Bi
&&+
Bi
[
1
],
Hi
=
/MSIE|Trident/
.
test
(
Jt
),
Di
=
Jt
.
match
(
/AppleWebKit
\/(\d
+
)\.
/
),
$i
=!!
Di
&&+
Di
[
1
],
Ui
=
[],
Fi
=
Ui
.
sort
,
zi
=
s
((
function
(){
Ui
.
sort
(
void
0
)})),
Wi
=
s
((
function
(){
Ui
.
sort
(
null
)})),
Gi
=
Mn
(
"sort"
),
Vi
=!
s
((
function
(){
if
(
ee
)
return
ee
<
70
;
if
(
!
(
Mi
&&
Mi
>
3
)){
if
(
Hi
)
return
!
0
;
if
(
$i
)
return
$i
<
603
;
var
t
,
e
,
n
,
i
,
o
=
""
;
for
(
t
=
65
;
t
<
76
;
t
++
){
switch
(
e
=
String
.
fromCharCode
(
t
),
t
){
case
66
:
case
69
:
case
70
:
case
72
:
n
=
3
;
break
;
case
68
:
case
71
:
n
=
4
;
break
;
default
:
n
=
2
}
for
(
i
=
0
;
i
<
47
;
i
++
)
Ui
.
push
({
k
:
e
+
i
,
v
:
n
})}
for
(
Ui
.
sort
((
function
(
t
,
e
){
return
e
.
v
-
t
.
v
})),
i
=
0
;
i
<
Ui
.
length
;
i
++
)
e
=
Ui
[
i
].
k
.
charAt
(
0
),
o
.
charAt
(
o
.
length
-
1
)
!==
e
&&
(
o
+=
e
);
return
"DGBEFHACIJK"
!==
o
}}));
function
Ki
(
t
){
var
e
=
this
,
i
=
t
.
querySelectorAll
(
"*[data-intro]"
),
o
=
[];
if
(
this
.
_options
.
steps
)
n
(
this
.
_options
.
steps
,(
function
(
t
){
var
n
=
bi
(
t
);
if
(
n
.
step
=
o
.
length
+
1
,
n
.
title
=
n
.
title
||
""
,
"string"
==
typeof
n
.
element
&&
(
n
.
element
=
document
.
querySelector
(
n
.
element
)),
void
0
===
n
.
element
||
null
===
n
.
element
){
var
i
=
document
.
querySelector
(
".introjsFloatingElement"
);
null
===
i
&&
(
i
=
ni
(
"div"
,{
className
:
"introjsFloatingElement"
}),
document
.
body
.
appendChild
(
i
)),
n
.
element
=
i
,
n
.
position
=
"floating"
}
n
.
position
=
n
.
position
||
e
.
_options
.
tooltipPosition
,
n
.
scrollTo
=
n
.
scrollTo
||
e
.
_options
.
scrollTo
,
void
0
===
n
.
disableInteraction
&&
(
n
.
disableInteraction
=
e
.
_options
.
disableInteraction
),
null
!==
n
.
element
&&
o
.
push
(
n
)}));
else
{
var
r
;
if
(
i
.
length
<
1
)
return
[];
n
(
i
,(
function
(
t
){
if
((
!
e
.
_options
.
group
||
t
.
getAttribute
(
"data-intro-group"
)
===
e
.
_options
.
group
)
&&
"none"
!==
t
.
style
.
display
){
var
n
=
parseInt
(
t
.
getAttribute
(
"data-step"
),
10
);
r
=
t
.
hasAttribute
(
"data-disable-interaction"
)?
!!
t
.
getAttribute
(
"data-disable-interaction"
):
e
.
_options
.
disableInteraction
,
n
>
0
&&
(
o
[
n
-
1
]
=
{
element
:
t
,
title
:
t
.
getAttribute
(
"data-title"
)
||
""
,
intro
:
t
.
getAttribute
(
"data-intro"
),
step
:
parseInt
(
t
.
getAttribute
(
"data-step"
),
10
),
tooltipClass
:
t
.
getAttribute
(
"data-tooltipclass"
),
highlightClass
:
t
.
getAttribute
(
"data-highlightclass"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
e
.
_options
.
tooltipPosition
,
scrollTo
:
t
.
getAttribute
(
"data-scrollto"
)
||
e
.
_options
.
scrollTo
,
disableInteraction
:
r
})}}));
var
l
=
0
;
n
(
i
,(
function
(
t
){
if
((
!
e
.
_options
.
group
||
t
.
getAttribute
(
"data-intro-group"
)
===
e
.
_options
.
group
)
&&
null
===
t
.
getAttribute
(
"data-step"
)){
for
(;
void
0
!==
o
[
l
];)
l
++
;
r
=
t
.
hasAttribute
(
"data-disable-interaction"
)?
!!
t
.
getAttribute
(
"data-disable-interaction"
):
e
.
_options
.
disableInteraction
,
o
[
l
]
=
{
element
:
t
,
title
:
t
.
getAttribute
(
"data-title"
)
||
""
,
intro
:
t
.
getAttribute
(
"data-intro"
),
step
:
l
+
1
,
tooltipClass
:
t
.
getAttribute
(
"data-tooltipclass"
),
highlightClass
:
t
.
getAttribute
(
"data-highlightclass"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
e
.
_options
.
tooltipPosition
,
scrollTo
:
t
.
getAttribute
(
"data-scrollto"
)
||
e
.
_options
.
scrollTo
,
disableInteraction
:
r
}}}))}
for
(
var
a
=
[],
s
=
0
;
s
<
o
.
length
;
s
++
)
o
[
s
]
&&
a
.
push
(
o
[
s
]);
return
(
o
=
a
).
sort
((
function
(
t
,
e
){
return
t
.
step
-
e
.
step
})),
o
}
function
Yi
(
t
){
var
e
=
document
.
querySelector
(
".introjs-tooltipReferenceLayer"
),
n
=
document
.
querySelector
(
".introjs-helperLayer"
),
i
=
document
.
querySelector
(
".introjs-disableInteraction"
);
if
(
yn
.
call
(
this
,
n
),
yn
.
call
(
this
,
e
),
yn
.
call
(
this
,
i
),
t
&&
(
this
.
_introItems
=
Ki
.
call
(
this
,
this
.
_targetElement
),
ai
.
call
(
this
,
e
,
this
.
_introItems
[
this
.
_currentStep
]),
ui
.
call
(
this
,
e
)),
void
0
!==
this
.
_currentStep
&&
null
!==
this
.
_currentStep
){
var
o
=
document
.
querySelector
(
".introjs-arrow"
),
r
=
document
.
querySelector
(
".introjs-tooltip"
);
ti
.
call
(
this
,
this
.
_introItems
[
this
.
_currentStep
].
element
,
r
,
o
)}
return
Ii
.
call
(
this
),
this
}
function
Xi
(){
Yi
.
call
(
this
)}
function
Ji
(
t
,
e
){
if
(
t
&&
t
.
parentElement
){
var
n
=
t
.
parentElement
;
e
?(
bn
(
t
,{
opacity
:
"0"
}),
window
.
setTimeout
((
function
(){
try
{
n
.
removeChild
(
t
)}
catch
(
t
){}}),
500
)):
n
.
removeChild
(
t
)}}
function
Qi
(
t
,
e
){
var
o
=!
0
;
if
(
void
0
!==
this
.
_introBeforeExitCallback
&&
(
o
=
this
.
_introBeforeExitCallback
.
call
(
this
)),
e
||!
1
!==
o
){
var
r
=
t
.
querySelectorAll
(
".introjs-overlay"
);
r
&&
r
.
length
&&
n
(
r
,(
function
(
t
){
return
Ji
(
t
)})),
Ji
(
t
.
querySelector
(
".introjs-helperLayer"
),
!
0
),
Ji
(
t
.
querySelector
(
".introjs-tooltipReferenceLayer"
)),
Ji
(
t
.
querySelector
(
".introjs-disableInteraction"
)),
Ji
(
document
.
querySelector
(
".introjsFloatingElement"
)),
ei
(),
i
.
off
(
window
,
"keydown"
,
mi
,
this
,
!
0
),
i
.
off
(
window
,
"resize"
,
Xi
,
this
,
!
0
),
void
0
!==
this
.
_introExitCallback
&&
this
.
_introExitCallback
.
call
(
this
),
this
.
_currentStep
=
void
0
}}
function
Zi
(
t
){
var
e
=
this
,
n
=
ni
(
"div"
,{
className
:
"introjs-overlay"
});
return
bn
(
n
,{
top
:
0
,
bottom
:
0
,
left
:
0
,
right
:
0
,
position
:
"fixed"
}),
t
.
appendChild
(
n
),
!
0
===
this
.
_options
.
exitOnOverlayClick
&&
(
bn
(
n
,{
cursor
:
"pointer"
}),
n
.
onclick
=
function
(){
Qi
.
call
(
e
,
t
)}),
!
0
}
function
to
(
t
){
var
e
=
Ki
.
call
(
this
,
t
);
return
0
===
e
.
length
||
(
this
.
_introItems
=
e
,
Zi
.
call
(
this
,
t
)
&&
(
di
.
call
(
this
),
this
.
_options
.
keyboardNavigation
&&
i
.
on
(
window
,
"keydown"
,
mi
,
this
,
!
0
),
i
.
on
(
window
,
"resize"
,
Xi
,
this
,
!
0
))),
!
1
}
qt
({
target
:
"Array"
,
proto
:
!
0
,
forced
:
zi
||!
Wi
||!
Gi
||!
Vi
},{
sort
:
function
(
t
){
void
0
!==
t
&&
We
(
t
);
var
e
=
S
(
this
);
if
(
Vi
)
return
void
0
===
t
?
Fi
.
call
(
e
):
Fi
.
call
(
e
,
t
);
var
n
,
i
,
o
=
[],
r
=
dt
(
e
.
length
);
for
(
i
=
0
;
i
<
r
;
i
++
)
i
in
e
&&
o
.
push
(
e
[
i
]);
for
(
n
=
(
o
=
qi
(
o
,
function
(
t
){
return
function
(
e
,
n
){
return
void
0
===
n
?
-
1
:
void
0
===
e
?
1
:
void
0
!==
t
?
+
t
(
e
,
n
)
||
0
:
String
(
e
)
>
String
(
n
)?
1
:
-
1
}}(
t
))).
length
,
i
=
0
;
i
<
n
;)
e
[
i
]
=
o
[
i
++
];
for
(;
i
<
r
;)
delete
e
[
i
++
];
return
e
}});
function
eo
(
t
){
this
.
_targetElement
=
t
,
this
.
_introItems
=
[],
this
.
_options
=
{
nextLabel
:
"Next"
,
prevLabel
:
"Back"
,
skipLabel
:
"×"
,
doneLabel
:
"Done"
,
hidePrev
:
!
1
,
hideNext
:
!
1
,
nextToDone
:
!
0
,
tooltipPosition
:
"bottom"
,
tooltipClass
:
""
,
group
:
""
,
highlightClass
:
""
,
exitOnEsc
:
!
0
,
exitOnOverlayClick
:
!
0
,
showStepNumbers
:
!
1
,
keyboardNavigation
:
!
0
,
showButtons
:
!
0
,
showBullets
:
!
0
,
showProgress
:
!
1
,
scrollToElement
:
!
0
,
scrollTo
:
"element"
,
scrollPadding
:
30
,
overlayOpacity
:.
5
,
autoPosition
:
!
0
,
positionPrecedence
:[
"bottom"
,
"top"
,
"right"
,
"left"
],
disableInteraction
:
!
1
,
helperElementPadding
:
10
,
hintPosition
:
"top-middle"
,
hintButtonLabel
:
"Got it"
,
hintAnimation
:
!
0
,
buttonClass
:
"introjs-button"
,
progressBarAdditionalClass
:
!
1
}}
var
no
=
function
n
(
i
){
var
o
;
if
(
"object"
===
t
(
i
))
o
=
new
eo
(
i
);
else
if
(
"string"
==
typeof
i
){
var
r
=
document
.
querySelector
(
i
);
if
(
!
r
)
throw
new
Error
(
"There is no element with given selector."
);
o
=
new
eo
(
r
)}
else
o
=
new
eo
(
document
.
body
);
return
n
.
instances
[
e
(
o
,
"introjs-instance"
)]
=
o
,
o
};
return
no
.
version
=
"4.1.0"
,
no
.
instances
=
{},
no
.
fn
=
eo
.
prototype
=
{
clone
:
function
(){
return
new
eo
(
this
)},
setOption
:
function
(
t
,
e
){
return
this
.
_options
[
t
]
=
e
,
this
},
setOptions
:
function
(
t
){
return
this
.
_options
=
function
(
t
,
e
){
var
n
,
i
=
{};
for
(
n
in
t
)
i
[
n
]
=
t
[
n
];
for
(
n
in
e
)
i
[
n
]
=
e
[
n
];
return
i
}(
this
.
_options
,
t
),
this
},
start
:
function
(){
return
to
.
call
(
this
,
this
.
_targetElement
),
this
},
goToStep
:
function
(
t
){
return
fi
.
call
(
this
,
t
),
this
},
addStep
:
function
(
t
){
return
this
.
_options
.
steps
||
(
this
.
_options
.
steps
=
[]),
this
.
_options
.
steps
.
push
(
t
),
this
},
addSteps
:
function
(
t
){
if
(
t
.
length
){
for
(
var
e
=
0
;
e
<
t
.
length
;
e
++
)
this
.
addStep
(
t
[
e
]);
return
this
}},
goToStepNumber
:
function
(
t
){
return
pi
.
call
(
this
,
t
),
this
},
nextStep
:
function
(){
return
di
.
call
(
this
),
this
},
previousStep
:
function
(){
return
gi
.
call
(
this
),
this
},
currentStep
:
function
(){
return
vi
.
call
(
this
)},
exit
:
function
(
t
){
return
Qi
.
call
(
this
,
this
.
_targetElement
,
t
),
this
},
refresh
:
function
(
t
){
return
Yi
.
call
(
this
,
t
),
this
},
onbeforechange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onbeforechange was not a function"
);
return
this
.
_introBeforeChangeCallback
=
t
,
this
},
onchange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onchange was not a function."
);
return
this
.
_introChangeCallback
=
t
,
this
},
onafterchange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onafterchange was not a function"
);
return
this
.
_introAfterChangeCallback
=
t
,
this
},
oncomplete
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for oncomplete was not a function."
);
return
this
.
_introCompleteCallback
=
t
,
this
},
onhintsadded
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintsadded was not a function."
);
return
this
.
_hintsAddedCallback
=
t
,
this
},
onhintclick
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintclick was not a function."
);
return
this
.
_hintClickCallback
=
t
,
this
},
onhintclose
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintclose was not a function."
);
return
this
.
_hintCloseCallback
=
t
,
this
},
onexit
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onexit was not a function."
);
return
this
.
_introExitCallback
=
t
,
this
},
onskip
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onskip was not a function."
);
return
this
.
_introSkipCallback
=
t
,
this
},
onbeforeexit
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onbeforeexit was not a function."
);
return
this
.
_introBeforeExitCallback
=
t
,
this
},
addHints
:
function
(){
return
Ni
.
call
(
this
,
this
.
_targetElement
),
this
},
hideHint
:
function
(
t
){
return
wi
.
call
(
this
,
t
),
this
},
hideHints
:
function
(){
return
_i
.
call
(
this
),
this
},
showHint
:
function
(
t
){
return
xi
.
call
(
this
,
t
),
this
},
showHints
:
function
(){
return
Si
.
call
(
this
),
this
},
removeHints
:
function
(){
return
ji
.
call
(
this
),
this
},
removeHint
:
function
(
t
){
return
Ci
().
call
(
this
,
t
),
this
},
showHintDialog
:
function
(
t
){
return
ki
.
call
(
this
,
t
),
this
}},
no
}));
\ No newline at end of file
apps/remix-ide/src/assets/js/soljson_.js
0 → 100644
View file @
8500806c
This source diff could not be displayed because it is too large. You can
view the blob
instead.
apps/remix-ide/src/index.html
View file @
8500806c
...
...
@@ -118,6 +118,6 @@
<script
src=
"polyfills.js"
type=
"module"
></script>
<script
src=
"vendor.js"
type=
"module"
></script>
<script
src=
"https://kit.fontawesome.com/41dd021e94.js"
crossorigin=
"anonymous"
></script>
<script
type=
"text/javascript"
src=
"
https://cdnjs.cloudflare.com/ajax/libs/intro.js/4.1.0
/intro.min.js"
></script>
<script
type=
"text/javascript"
src=
"
assets/js
/intro.min.js"
></script>
</body>
</html>
apps/remix-ide/src/walkthroughService.js
0 → 100644
View file @
8500806c
const
introJs
=
require
(
'intro.js'
)
export
class
WalkthroughService
{
constructor
(
params
)
{
this
.
params
=
params
}
start
(
params
)
{
if
(
!
localStorage
.
getItem
(
'hadTour_initial'
))
{
introJs
().
setOptions
({
steps
:
[{
title
:
'Welcome to Remix IDE'
,
intro
:
'Click to launch the Home tab that contains links, tips, and shortcuts..'
,
element
:
document
.
querySelector
(
'#verticalIconsHomeIcon'
),
tooltipClass
:
'bg-light text-dark'
,
position
:
'right'
},
{
element
:
document
.
querySelector
(
'#compileIcons'
),
title
:
'Solidity Compiler'
,
intro
:
'Having selected a .sol file in the File Explorers(the icon above), compile it with the Solidity Compiler.'
,
tooltipClass
:
'bg-light text-dark'
,
position
:
'right'
},
{
title
:
'Deploy your contract'
,
element
:
document
.
querySelector
(
'#runIcons'
),
intro
:
'Choose a chain, deploy a contract and play with your functions.'
,
tooltipClass
:
'bg-light text-dark'
,
position
:
'right'
},
{
title
:
'The plugins world'
,
element
:
document
.
querySelector
(
'#settingsIcons'
),
intro
:
'Explore more plugins and manage permissions.'
,
tooltipClass
:
'bg-light text-dark'
,
position
:
'right'
,
doneLabel
:
'Done!'
}
]
}).
start
()
localStorage
.
setItem
(
'hadTour_initial'
,
true
)
}
}
startFeatureTour
()
{
}
}
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