Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8394255
webapp.0733a6627b287de8a4ed.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
230 KB
Subscribers
None
webapp.0733a6627b287de8a4ed.js
View Options
/*! For license information please see webapp.0733a6627b287de8a4ed.js.LICENSE.txt */
!
function
(
e
,
t
){
"object"
==
typeof
exports
&&
"object"
==
typeof
module
?
module
.
exports
=
t
()
:
"function"
==
typeof
define
&&
define
.
amd
?
define
([],
t
)
:
"object"
==
typeof
exports
?
exports
.
swh
=
t
()
:
(
e
.
swh
=
e
.
swh
||
{},
e
.
swh
.
webapp
=
t
())}(
self
,(
function
(){
return
function
(){
var
e
,
t
,
r
,
n
,
o
,
i
,
a
=
{
87757
:
function
(
e
,
t
,
r
){
e
.
exports
=
r
(
35666
)},
49680
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
R
:
function
(){
return
g
}});
var
n
=
r
(
44219
),
o
=
r
(
40105
),
i
=
r
(
95659
),
a
=
r
(
1984
),
s
=
r
(
62844
),
c
=
r
(
12343
),
u
=
r
(
47165
),
l
=
r
(
30292
),
p
=
r
(
58725
),
d
=
r
(
84773
),
f
=
r
(
86891
),
h
=
r
(
90564
);
class
g
extends
n
.
W
{
constructor
(
e
){
e
.
_metadata
=
e
.
_metadata
||
{},
e
.
_metadata
.
sdk
=
e
.
_metadata
.
sdk
||
{
name
:
"sentry.javascript.browser"
,
packages
:
[{
name
:
"npm:@sentry/browser"
,
version
:
o
.
J
}],
version
:
o
.
J
},
super
(
e
),
e
.
sendClientReports
&&
f
.
m9
.
document
&&
f
.
m9
.
document
.
addEventListener
(
"visibilitychange"
,(()=>{
"hidden"
===
f
.
m9
.
document
.
visibilityState
&&
this
.
_flushOutcomes
()}))}
eventFromException
(
e
,
t
){
return
(
0
,
d
.
dr
)(
this
.
_options
.
stackParser
,
e
,
t
,
this
.
_options
.
attachStacktrace
)}
eventFromMessage
(
e
,
t
=
"info"
,
r
){
return
(
0
,
d
.
aB
)(
this
.
_options
.
stackParser
,
e
,
t
,
r
,
this
.
_options
.
attachStacktrace
)}
sendEvent
(
e
,
t
){
const
r
=
this
.
getIntegrationById
(
h
.
p
);
r
&&
r
.
options
&&
r
.
options
.
sentry
&&
(
0
,
i
.
Gd
)().
addBreadcrumb
({
category
:
"sentry."
+
(
"transaction"
===
e
.
type
?
"transaction"
:
"event"
),
event_id
:
e
.
event_id
,
level
:
e
.
level
,
message
:
(
0
,
s
.
jH
)(
e
)},{
event
:
e
}),
super
.
sendEvent
(
e
,
t
)}
_prepareEvent
(
e
,
t
,
r
){
return
e
.
platform
=
e
.
platform
||
"javascript"
,
super
.
_prepareEvent
(
e
,
t
,
r
)}
_flushOutcomes
(){
const
e
=
this
.
_clearOutcomes
();
if
(
0
===
e
.
length
)
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
c
.
kg
.
log
(
"No outcomes to send"
));
if
(
!
this
.
_dsn
)
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
c
.
kg
.
log
(
"No dsn provided, will not send outcomes"
));(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
c
.
kg
.
log
(
"Sending outcomes:"
,
e
);
const
t
=
(
0
,
a
.
U
)(
this
.
_dsn
,
this
.
_options
),
r
=
(
0
,
u
.
y
)(
e
,
this
.
_options
.
tunnel
&&
(
0
,
l
.
RA
)(
this
.
_dsn
));
try
{
const
e
=
"[object Navigator]"
===
Object
.
prototype
.
toString
.
call
(
f
.
m9
&&
f
.
m9
.
navigator
);
if
(
e
&&
"function"
==
typeof
f
.
m9
.
navigator
.
sendBeacon
&&!
this
.
_options
.
transportOptions
){
f
.
m9
.
navigator
.
sendBeacon
.
bind
(
f
.
m9
.
navigator
)(
t
,(
0
,
p
.
V$
)(
r
))}
else
this
.
_sendEnvelope
(
r
)}
catch
(
e
){(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
c
.
kg
.
error
(
e
)}}}},
84773
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
GJ
:
function
(){
return
u
},
ME
:
function
(){
return
m
},
aB
:
function
(){
return
g
},
dr
:
function
(){
return
h
}});
var
n
=
r
(
95659
),
o
=
r
(
67597
),
i
=
r
(
20535
),
a
=
r
(
90322
),
s
=
r
(
62844
),
c
=
r
(
96893
);
function
u
(
e
,
t
){
const
r
=
p
(
e
,
t
),
n
=
{
type
:
t
&&
t
.
name
,
value
:
f
(
t
)};
return
r
.
length
&&
(
n
.
stacktrace
=
{
frames
:
r
}),
void
0
===
n
.
type
&&
""
===
n
.
value
&&
(
n
.
value
=
"Unrecoverable error caught"
),
n
}
function
l
(
e
,
t
){
return
{
exception
:
{
values
:
[
u
(
e
,
t
)]}}}
function
p
(
e
,
t
){
const
r
=
t
.
stacktrace
||
t
.
stack
||
""
,
n
=
function
(
e
){
if
(
e
){
if
(
"number"
==
typeof
e
.
framesToPop
)
return
e
.
framesToPop
;
if
(
d
.
test
(
e
.
message
))
return
1
}
return
0
}(
t
);
try
{
return
e
(
r
,
n
)}
catch
(
e
){}
return
[]}
const
d
=
/Minified React error #\d+;/i
;
function
f
(
e
){
const
t
=
e
&&
e
.
message
;
return
t
?
t
.
error
&&
"string"
==
typeof
t
.
error
.
message
?
t
.
error
.
message
:
t
:
"No error message"
}
function
h
(
e
,
t
,
r
,
n
){
const
o
=
m
(
e
,
t
,
r
&&
r
.
syntheticException
||
void
0
,
n
);
return
(
0
,
s
.
EG
)(
o
),
o
.
level
=
"error"
,
r
&&
r
.
event_id
&&
(
o
.
event_id
=
r
.
event_id
),(
0
,
c
.
WD
)(
o
)}
function
g
(
e
,
t
,
r
=
"info"
,
n
,
o
){
const
i
=
b
(
e
,
t
,
n
&&
n
.
syntheticException
||
void
0
,
o
);
return
i
.
level
=
r
,
n
&&
n
.
event_id
&&
(
i
.
event_id
=
n
.
event_id
),(
0
,
c
.
WD
)(
i
)}
function
m
(
e
,
t
,
r
,
c
,
u
){
let
d
;
if
((
0
,
o
.
VW
)(
t
)
&&
t
.
error
){
return
l
(
e
,
t
.
error
)}
if
((
0
,
o
.
TX
)(
t
)
||
(
0
,
o
.
fm
)(
t
)){
const
n
=
t
;
if
(
"stack"
in
t
)
d
=
l
(
e
,
t
);
else
{
const
t
=
n
.
name
||
((
0
,
o
.
TX
)(
n
)
?
"DOMError"
:
"DOMException"
),
i
=
n
.
message
?
`
${
t
}
:
${
n
.
message
}
`
:
t
;
d
=
b
(
e
,
i
,
r
,
c
),(
0
,
s
.
Db
)(
d
,
i
)}
return
"code"
in
n
&&
(
d
.
tags
=
{...
d
.
tags
,
"DOMException.code"
:
`
${
n
.
code
}
`
}),
d
}
if
((
0
,
o
.
VZ
)(
t
))
return
l
(
e
,
t
);
if
((
0
,
o
.
PO
)(
t
)
||
(
0
,
o
.
cO
)(
t
)){
return
d
=
function
(
e
,
t
,
r
,
s
){
const
c
=
(
0
,
n
.
Gd
)().
getClient
(),
u
=
c
&&
c
.
getOptions
().
normalizeDepth
,
l
=
{
exception
:
{
values
:
[{
type
:
(
0
,
o
.
cO
)(
t
)
?
t
.
constructor
.
name
:
s
?
"UnhandledRejection"
:
"Error"
,
value
:
`Non-Error
${
s
?
"promise rejection"
:
"exception"
}
captured with keys:
${
(
0
,
i
.
zf
)(
t
)
}
`
}]},
extra
:
{
__serialized__
:
(
0
,
a
.
Qy
)(
t
,
u
)}};
if
(
r
){
const
t
=
p
(
e
,
r
);
t
.
length
&&
(
l
.
exception
.
values
[
0
].
stacktrace
=
{
frames
:
t
})}
return
l
}(
e
,
t
,
r
,
u
),(
0
,
s
.
EG
)(
d
,{
synthetic
:!
0
}),
d
}
return
d
=
b
(
e
,
t
,
r
,
c
),(
0
,
s
.
Db
)(
d
,
`
${
t
}
`
,
void
0
),(
0
,
s
.
EG
)(
d
,{
synthetic
:!
0
}),
d
}
function
b
(
e
,
t
,
r
,
n
){
const
o
=
{
message
:
t
};
if
(
n
&&
r
){
const
n
=
p
(
e
,
r
);
n
.
length
&&
(
o
.
exception
=
{
values
:
[{
value
:
t
,
stacktrace
:
{
frames
:
n
}}]})}
return
o
}},
86891
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Wz
:
function
(){
return
u
},
m9
:
function
(){
return
s
},
re
:
function
(){
return
p
}});
var
n
=
r
(
64487
),
o
=
r
(
71235
),
i
=
r
(
20535
),
a
=
r
(
62844
);
const
s
=
o
.
n2
;
let
c
=
0
;
function
u
(){
return
c
>
0
}
function
l
(){
c
+=
1
,
setTimeout
((()=>{
c
-=
1
}))}
function
p
(
e
,
t
=
{},
r
){
if
(
"function"
!=
typeof
e
)
return
e
;
try
{
const
t
=
e
.
__sentry_wrapped__
;
if
(
t
)
return
t
;
if
((
0
,
i
.
HK
)(
e
))
return
e
}
catch
(
t
){
return
e
}
const
o
=
function
(){
const
o
=
Array
.
prototype
.
slice
.
call
(
arguments
);
try
{
r
&&
"function"
==
typeof
r
&&
r
.
apply
(
this
,
arguments
);
const
n
=
o
.
map
((
e
=>
p
(
e
,
t
)));
return
e
.
apply
(
this
,
n
)}
catch
(
e
){
throw
l
(),(
0
,
n
.
$e
)((
r
=>{
r
.
addEventProcessor
((
e
=>(
t
.
mechanism
&&
((
0
,
a
.
Db
)(
e
,
void
0
,
void
0
),(
0
,
a
.
EG
)(
e
,
t
.
mechanism
)),
e
.
extra
=
{...
e
.
extra
,
arguments
:
o
},
e
))),(
0
,
n
.
Tb
)(
e
)})),
e
}};
try
{
for
(
const
t
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)
&&
(
o
[
t
]
=
e
[
t
])}
catch
(
e
){}(
0
,
i
.
$Q
)(
o
,
e
),(
0
,
i
.
xp
)(
e
,
"__sentry_wrapped__"
,
o
);
try
{
Object
.
getOwnPropertyDescriptor
(
o
,
"name"
).
configurable
&&
Object
.
defineProperty
(
o
,
"name"
,{
get
(){
return
e
.
name
}})}
catch
(
e
){}
return
o
}},
90564
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
O
:
function
(){
return
p
},
p
:
function
(){
return
l
}});
var
n
=
r
(
95659
),
o
=
r
(
9732
),
i
=
r
(
58464
),
a
=
r
(
16547
),
s
=
r
(
57321
),
c
=
r
(
26956
),
u
=
r
(
86891
);
const
l
=
"Breadcrumbs"
;
class
p
{
static
__initStatic
(){
this
.
id
=
l
}
__init
(){
this
.
name
=
p
.
id
}
constructor
(
e
){
p
.
prototype
.
__init
.
call
(
this
),
this
.
options
=
{
console
:!
0
,
dom
:!
0
,
fetch
:!
0
,
history
:!
0
,
sentry
:!
0
,
xhr
:!
0
,...
e
}}
setupOnce
(){
this
.
options
.
console
&&
(
0
,
o
.
o
)(
"console"
,
d
),
this
.
options
.
dom
&&
(
0
,
o
.
o
)(
"dom"
,
function
(
e
){
function
t
(
t
){
let
r
,
o
=
"object"
==
typeof
e
?
e
.
serializeAttribute
:
void
0
;
"string"
==
typeof
o
&&
(
o
=
[
o
]);
try
{
r
=
t
.
event
.
target
?
(
0
,
i
.
Rt
)(
t
.
event
.
target
,
o
)
:
(
0
,
i
.
Rt
)(
t
.
event
,
o
)}
catch
(
e
){
r
=
"<unknown>"
}
0
!==
r
.
length
&&
(
0
,
n
.
Gd
)().
addBreadcrumb
({
category
:
`ui.
${
t
.
name
}
`
,
message
:
r
},{
event
:
t
.
event
,
name
:
t
.
name
,
global
:
t
.
global
})}
return
t
}(
this
.
options
.
dom
)),
this
.
options
.
xhr
&&
(
0
,
o
.
o
)(
"xhr"
,
f
),
this
.
options
.
fetch
&&
(
0
,
o
.
o
)(
"fetch"
,
h
),
this
.
options
.
history
&&
(
0
,
o
.
o
)(
"history"
,
g
)}}
function
d
(
e
){
for
(
let
t
=
0
;
t
<
e
.
args
.
length
;
t
++
)
if
(
"ref=Ref<"
===
e
.
args
[
t
]){
e
.
args
[
t
+
1
]
=
"viewRef"
;
break
}
const
t
=
{
category
:
"console"
,
data
:
{
arguments
:
e
.
args
,
logger
:
"console"
},
level
:
(
0
,
a
.
VT
)(
e
.
level
),
message
:
(
0
,
s
.
nK
)(
e
.
args
,
" "
)};
if
(
"assert"
===
e
.
level
){
if
(
!
1
!==
e
.
args
[
0
])
return
;
t
.
message
=
`Assertion failed:
${
(
0
,
s
.
nK
)(
e
.
args
.
slice
(
1
),
" "
)
||
"console.assert"
}
`
,
t
.
data
.
arguments
=
e
.
args
.
slice
(
1
)}(
0
,
n
.
Gd
)().
addBreadcrumb
(
t
,{
input
:
e
.
args
,
level
:
e
.
level
})}
function
f
(
e
){
if
(
e
.
endTimestamp
){
if
(
e
.
xhr
.
__sentry_own_request__
)
return
;
const
{
method
:
t
,
url
:
r
,
status_code
:
o
,
body
:
i
}
=
e
.
xhr
.
__sentry_xhr__
||
{};(
0
,
n
.
Gd
)().
addBreadcrumb
({
category
:
"xhr"
,
data
:
{
method
:
t
,
url
:
r
,
status_code
:
o
},
type
:
"http"
},{
xhr
:
e
.
xhr
,
input
:
i
})}
else
;}
function
h
(
e
){
e
.
endTimestamp
&&
(
e
.
fetchData
.
url
.
match
(
/sentry_key/
)
&&
"POST"
===
e
.
fetchData
.
method
||
(
e
.
error
?
(
0
,
n
.
Gd
)().
addBreadcrumb
({
category
:
"fetch"
,
data
:
e
.
fetchData
,
level
:
"error"
,
type
:
"http"
},{
data
:
e
.
error
,
input
:
e
.
args
})
:
(
0
,
n
.
Gd
)().
addBreadcrumb
({
category
:
"fetch"
,
data
:
{...
e
.
fetchData
,
status_code
:
e
.
response
.
status
},
type
:
"http"
},{
input
:
e
.
args
,
response
:
e
.
response
})))}
function
g
(
e
){
let
t
=
e
.
from
,
r
=
e
.
to
;
const
o
=
(
0
,
c
.
en
)(
u
.
m9
.
location
.
href
);
let
i
=
(
0
,
c
.
en
)(
t
);
const
a
=
(
0
,
c
.
en
)(
r
);
i
.
path
||
(
i
=
o
),
o
.
protocol
===
a
.
protocol
&&
o
.
host
===
a
.
host
&&
(
r
=
a
.
relative
),
o
.
protocol
===
i
.
protocol
&&
o
.
host
===
i
.
host
&&
(
t
=
i
.
relative
),(
0
,
n
.
Gd
)().
addBreadcrumb
({
category
:
"navigation"
,
data
:
{
from
:
t
,
to
:
r
}})}
p
.
__initStatic
()},
69730
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
I
:
function
(){
return
o
}});
var
n
=
r
(
12343
);
class
o
{
constructor
(){
o
.
prototype
.
__init
.
call
(
this
)}
static
__initStatic
(){
this
.
id
=
"Dedupe"
}
__init
(){
this
.
name
=
o
.
id
}
setupOnce
(
e
,
t
){
const
r
=
e
=>{
const
r
=
t
().
getIntegration
(
o
);
if
(
r
){
try
{
if
(
function
(
e
,
t
){
if
(
!
t
)
return
!
1
;
if
(
function
(
e
,
t
){
const
r
=
e
.
message
,
n
=
t
.
message
;
if
(
!
r
&&!
n
)
return
!
1
;
if
(
r
&&!
n
||!
r
&&
n
)
return
!
1
;
if
(
r
!==
n
)
return
!
1
;
if
(
!
a
(
e
,
t
))
return
!
1
;
if
(
!
i
(
e
,
t
))
return
!
1
;
return
!
0
}(
e
,
t
))
return
!
0
;
if
(
function
(
e
,
t
){
const
r
=
s
(
t
),
n
=
s
(
e
);
if
(
!
r
||!
n
)
return
!
1
;
if
(
r
.
type
!==
n
.
type
||
r
.
value
!==
n
.
value
)
return
!
1
;
if
(
!
a
(
e
,
t
))
return
!
1
;
if
(
!
i
(
e
,
t
))
return
!
1
;
return
!
0
}(
e
,
t
))
return
!
0
;
return
!
1
}(
e
,
r
.
_previousEvent
))
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
"Event dropped due to being a duplicate of previously captured event."
),
null
}
catch
(
t
){
return
r
.
_previousEvent
=
e
}
return
r
.
_previousEvent
=
e
}
return
e
};
r
.
id
=
this
.
name
,
e
(
r
)}}
function
i
(
e
,
t
){
let
r
=
c
(
e
),
n
=
c
(
t
);
if
(
!
r
&&!
n
)
return
!
0
;
if
(
r
&&!
n
||!
r
&&
n
)
return
!
1
;
if
(
n
.
length
!==
r
.
length
)
return
!
1
;
for
(
let
e
=
0
;
e
<
n
.
length
;
e
++
){
const
t
=
n
[
e
],
o
=
r
[
e
];
if
(
t
.
filename
!==
o
.
filename
||
t
.
lineno
!==
o
.
lineno
||
t
.
colno
!==
o
.
colno
||
t
.
function
!==
o
.
function
)
return
!
1
}
return
!
0
}
function
a
(
e
,
t
){
let
r
=
e
.
fingerprint
,
n
=
t
.
fingerprint
;
if
(
!
r
&&!
n
)
return
!
0
;
if
(
r
&&!
n
||!
r
&&
n
)
return
!
1
;
try
{
return
!
(
r
.
join
(
""
)
!==
n
.
join
(
""
))}
catch
(
e
){
return
!
1
}}
function
s
(
e
){
return
e
.
exception
&&
e
.
exception
.
values
&&
e
.
exception
.
values
[
0
]}
function
c
(
e
){
const
t
=
e
.
exception
;
if
(
t
)
try
{
return
t
.
values
[
0
].
stacktrace
.
frames
}
catch
(
e
){
return
}}
o
.
__initStatic
()},
52136
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
d
:
function
(){
return
p
}});
var
n
=
r
(
95659
),
o
=
r
(
9732
),
i
=
r
(
67597
),
a
=
r
(
58464
),
s
=
r
(
12343
),
c
=
r
(
62844
),
u
=
r
(
84773
),
l
=
r
(
86891
);
class
p
{
static
__initStatic
(){
this
.
id
=
"GlobalHandlers"
}
__init
(){
this
.
name
=
p
.
id
}
__init2
(){
this
.
_installFunc
=
{
onerror
:
d
,
onunhandledrejection
:
f
}}
constructor
(
e
){
p
.
prototype
.
__init
.
call
(
this
),
p
.
prototype
.
__init2
.
call
(
this
),
this
.
_options
=
{
onerror
:!
0
,
onunhandledrejection
:!
0
,...
e
}}
setupOnce
(){
Error
.
stackTraceLimit
=
50
;
const
e
=
this
.
_options
;
for
(
const
r
in
e
){
const
n
=
this
.
_installFunc
[
r
];
n
&&
e
[
r
]
&&
(
t
=
r
,(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
s
.
kg
.
log
(
`Global Handler attached:
${
t
}
`
),
n
(),
this
.
_installFunc
[
r
]
=
void
0
)}
var
t
}}
function
d
(){(
0
,
o
.
o
)(
"error"
,(
e
=>{
const
[
t
,
r
,
n
]
=
m
();
if
(
!
t
.
getIntegration
(
p
))
return
;
const
{
msg
:
o
,
url
:
a
,
line
:
s
,
column
:
c
,
error
:
d
}
=
e
;
if
((
0
,
l
.
Wz
)()
||
d
&&
d
.
__sentry_own_request__
)
return
;
const
f
=
void
0
===
d
&&
(
0
,
i
.
HD
)(
o
)
?
function
(
e
,
t
,
r
,
n
){
const
o
=
/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i
;
let
a
=
(
0
,
i
.
VW
)(
e
)
?
e
.
message
:
e
,
s
=
"Error"
;
const
c
=
a
.
match
(
o
);
c
&&
(
s
=
c
[
1
],
a
=
c
[
2
]);
return
h
({
exception
:
{
values
:
[{
type
:
s
,
value
:
a
}]}},
t
,
r
,
n
)}(
o
,
a
,
s
,
c
)
:
h
((
0
,
u
.
ME
)(
r
,
d
||
o
,
void
0
,
n
,
!
1
),
a
,
s
,
c
);
f
.
level
=
"error"
,
g
(
t
,
d
,
f
,
"onerror"
)}))}
function
f
(){(
0
,
o
.
o
)(
"unhandledrejection"
,(
e
=>{
const
[
t
,
r
,
n
]
=
m
();
if
(
!
t
.
getIntegration
(
p
))
return
;
let
o
=
e
;
try
{
"reason"
in
e
?
o
=
e
.
reason
:
"detail"
in
e
&&
"reason"
in
e
.
detail
&&
(
o
=
e
.
detail
.
reason
)}
catch
(
e
){}
if
((
0
,
l
.
Wz
)()
||
o
&&
o
.
__sentry_own_request__
)
return
!
0
;
const
a
=
(
0
,
i
.
pt
)(
o
)
?
{
exception
:
{
values
:
[{
type
:
"UnhandledRejection"
,
value
:
`Non-Error promise rejection captured with value:
${
String
(
o
)
}
`
}]}}
:
(
0
,
u
.
ME
)(
r
,
o
,
void
0
,
n
,
!
0
);
a
.
level
=
"error"
,
g
(
t
,
o
,
a
,
"onunhandledrejection"
)}))}
function
h
(
e
,
t
,
r
,
n
){
const
o
=
e
.
exception
=
e
.
exception
||
{},
s
=
o
.
values
=
o
.
values
||
[],
c
=
s
[
0
]
=
s
[
0
]
||
{},
u
=
c
.
stacktrace
=
c
.
stacktrace
||
{},
l
=
u
.
frames
=
u
.
frames
||
[],
p
=
isNaN
(
parseInt
(
n
,
10
))
?
void
0
:
n
,
d
=
isNaN
(
parseInt
(
r
,
10
))
?
void
0
:
r
,
f
=
(
0
,
i
.
HD
)(
t
)
&&
t
.
length
>
0
?
t
:
(
0
,
a
.
l4
)();
return
0
===
l
.
length
&&
l
.
push
({
colno
:
p
,
filename
:
f
,
function
:
"?"
,
in_app
:!
0
,
lineno
:
d
}),
e
}
function
g
(
e
,
t
,
r
,
n
){(
0
,
c
.
EG
)(
r
,{
handled
:!
1
,
type
:
n
}),
e
.
captureEvent
(
r
,{
originalException
:
t
})}
function
m
(){
const
e
=
(
0
,
n
.
Gd
)(),
t
=
e
.
getClient
(),
r
=
t
&&
t
.
getOptions
()
||
{
stackParser
:
()=>[],
attachStacktrace
:!
1
};
return
[
e
,
r
.
stackParser
,
r
.
attachStacktrace
]}
p
.
__initStatic
()},
61945
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
q
:
function
(){
return
a
}});
var
n
=
r
(
10350
),
o
=
r
(
95659
),
i
=
r
(
86891
);
class
a
{
constructor
(){
a
.
prototype
.
__init
.
call
(
this
)}
static
__initStatic
(){
this
.
id
=
"HttpContext"
}
__init
(){
this
.
name
=
a
.
id
}
setupOnce
(){(
0
,
n
.
c
)((
e
=>{
if
((
0
,
o
.
Gd
)().
getIntegration
(
a
)){
if
(
!
i
.
m9
.
navigator
&&!
i
.
m9
.
location
&&!
i
.
m9
.
document
)
return
e
;
const
t
=
e
.
request
&&
e
.
request
.
url
||
i
.
m9
.
location
&&
i
.
m9
.
location
.
href
,{
referrer
:
r
}
=
i
.
m9
.
document
||
{},{
userAgent
:
n
}
=
i
.
m9
.
navigator
||
{},
o
=
{...
t
&&
{
url
:
t
},
headers
:
{...
e
.
request
&&
e
.
request
.
headers
,...
r
&&
{
Referer
:
r
},...
n
&&
{
"User-Agent"
:
n
}}};
return
{...
e
,
request
:
o
}}
return
e
}))}}
a
.
__initStatic
()},
61634
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
iP
:
function
(){
return
s
}});
var
n
=
r
(
95659
),
o
=
r
(
10350
),
i
=
r
(
67597
),
a
=
r
(
84773
);
class
s
{
static
__initStatic
(){
this
.
id
=
"LinkedErrors"
}
__init
(){
this
.
name
=
s
.
id
}
constructor
(
e
=
{}){
s
.
prototype
.
__init
.
call
(
this
),
this
.
_key
=
e
.
key
||
"cause"
,
this
.
_limit
=
e
.
limit
||
5
}
setupOnce
(){
const
e
=
(
0
,
n
.
Gd
)().
getClient
();
e
&&
(
0
,
o
.
c
)(((
t
,
r
)=>{
const
o
=
(
0
,
n
.
Gd
)().
getIntegration
(
s
);
return
o
?
function
(
e
,
t
,
r
,
n
,
o
){
if
(
!
(
n
.
exception
&&
n
.
exception
.
values
&&
o
&&
(
0
,
i
.
V9
)(
o
.
originalException
,
Error
)))
return
n
;
const
a
=
c
(
e
,
r
,
o
.
originalException
,
t
);
return
n
.
exception
.
values
=
[...
a
,...
n
.
exception
.
values
],
n
}(
e
.
getOptions
().
stackParser
,
o
.
_key
,
o
.
_limit
,
t
,
r
)
:
t
}))}}
function
c
(
e
,
t
,
r
,
n
,
o
=
[]){
if
(
!
(
0
,
i
.
V9
)(
r
[
n
],
Error
)
||
o
.
length
+
1
>=
t
)
return
o
;
const
s
=
(
0
,
a
.
GJ
)(
e
,
r
[
n
]);
return
c
(
e
,
t
,
r
[
n
],
n
,[
s
,...
o
])}
s
.
__initStatic
()},
53692
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
p
:
function
(){
return
s
}});
var
n
=
r
(
20535
),
o
=
r
(
30360
),
i
=
r
(
86891
);
const
a
=
[
"EventTarget"
,
"Window"
,
"Node"
,
"ApplicationCache"
,
"AudioTrackList"
,
"ChannelMergerNode"
,
"CryptoOperation"
,
"EventSource"
,
"FileReader"
,
"HTMLUnknownElement"
,
"IDBDatabase"
,
"IDBRequest"
,
"IDBTransaction"
,
"KeyOperation"
,
"MediaController"
,
"MessagePort"
,
"ModalWindow"
,
"Notification"
,
"SVGElementInstance"
,
"Screen"
,
"TextTrack"
,
"TextTrackCue"
,
"TextTrackList"
,
"WebSocket"
,
"WebSocketWorker"
,
"Worker"
,
"XMLHttpRequest"
,
"XMLHttpRequestEventTarget"
,
"XMLHttpRequestUpload"
];
class
s
{
static
__initStatic
(){
this
.
id
=
"TryCatch"
}
__init
(){
this
.
name
=
s
.
id
}
constructor
(
e
){
s
.
prototype
.
__init
.
call
(
this
),
this
.
_options
=
{
XMLHttpRequest
:!
0
,
eventTarget
:!
0
,
requestAnimationFrame
:!
0
,
setInterval
:!
0
,
setTimeout
:!
0
,...
e
}}
setupOnce
(){
this
.
_options
.
setTimeout
&&
(
0
,
n
.
hl
)(
i
.
m9
,
"setTimeout"
,
c
),
this
.
_options
.
setInterval
&&
(
0
,
n
.
hl
)(
i
.
m9
,
"setInterval"
,
c
),
this
.
_options
.
requestAnimationFrame
&&
(
0
,
n
.
hl
)(
i
.
m9
,
"requestAnimationFrame"
,
u
),
this
.
_options
.
XMLHttpRequest
&&
"XMLHttpRequest"
in
i
.
m9
&&
(
0
,
n
.
hl
)(
XMLHttpRequest
.
prototype
,
"send"
,
l
);
const
e
=
this
.
_options
.
eventTarget
;
if
(
e
){(
Array
.
isArray
(
e
)
?
e
:
a
).
forEach
(
p
)}}}
function
c
(
e
){
return
function
(...
t
){
const
r
=
t
[
0
];
return
t
[
0
]
=
(
0
,
i
.
re
)(
r
,{
mechanism
:
{
data
:
{
function
:
(
0
,
o
.
$P
)(
e
)},
handled
:!
0
,
type
:
"instrument"
}}),
e
.
apply
(
this
,
t
)}}
function
u
(
e
){
return
function
(
t
){
return
e
.
apply
(
this
,[(
0
,
i
.
re
)(
t
,{
mechanism
:
{
data
:
{
function
:
"requestAnimationFrame"
,
handler
:
(
0
,
o
.
$P
)(
e
)},
handled
:!
0
,
type
:
"instrument"
}})])}}
function
l
(
e
){
return
function
(...
t
){
const
r
=
this
;
return
[
"onload"
,
"onerror"
,
"onprogress"
,
"onreadystatechange"
].
forEach
((
e
=>{
e
in
r
&&
"function"
==
typeof
r
[
e
]
&&
(
0
,
n
.
hl
)(
r
,
e
,(
function
(
t
){
const
r
=
{
mechanism
:
{
data
:
{
function
:
e
,
handler
:
(
0
,
o
.
$P
)(
t
)},
handled
:!
0
,
type
:
"instrument"
}},
a
=
(
0
,
n
.
HK
)(
t
);
return
a
&&
(
r
.
mechanism
.
data
.
handler
=
(
0
,
o
.
$P
)(
a
)),(
0
,
i
.
re
)(
t
,
r
)}))})),
e
.
apply
(
this
,
t
)}}
function
p
(
e
){
const
t
=
i
.
m9
,
r
=
t
[
e
]
&&
t
[
e
].
prototype
;
r
&&
r
.
hasOwnProperty
&&
r
.
hasOwnProperty
(
"addEventListener"
)
&&
((
0
,
n
.
hl
)(
r
,
"addEventListener"
,(
function
(
t
){
return
function
(
r
,
n
,
a
){
try
{
"function"
==
typeof
n
.
handleEvent
&&
(
n
.
handleEvent
=
(
0
,
i
.
re
)(
n
.
handleEvent
,{
mechanism
:
{
data
:
{
function
:
"handleEvent"
,
handler
:
(
0
,
o
.
$P
)(
n
),
target
:
e
},
handled
:!
0
,
type
:
"instrument"
}}))}
catch
(
e
){}
return
t
.
apply
(
this
,[
r
,(
0
,
i
.
re
)(
n
,{
mechanism
:
{
data
:
{
function
:
"addEventListener"
,
handler
:
(
0
,
o
.
$P
)(
n
),
target
:
e
},
handled
:!
0
,
type
:
"instrument"
}}),
a
])}})),(
0
,
n
.
hl
)(
r
,
"removeEventListener"
,(
function
(
e
){
return
function
(
t
,
r
,
n
){
const
o
=
r
;
try
{
const
r
=
o
&&
o
.
__sentry_wrapped__
;
r
&&
e
.
call
(
this
,
t
,
r
,
n
)}
catch
(
e
){}
return
e
.
call
(
this
,
t
,
o
,
n
)}})))}
s
.
__initStatic
()},
19011
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
S1
:
function
(){
return
S
}});
var
n
=
r
(
42422
),
o
=
r
(
19116
),
i
=
r
(
22967
),
a
=
r
(
67966
),
s
=
r
(
95659
),
c
=
r
(
30360
),
u
=
r
(
8823
),
l
=
r
(
12343
),
p
=
r
(
9732
),
d
=
r
(
49680
),
f
=
r
(
86891
),
h
=
r
(
34469
),
g
=
r
(
53692
),
m
=
r
(
90564
),
b
=
r
(
52136
),
y
=
r
(
61634
),
v
=
r
(
69730
),
_
=
r
(
61945
),
w
=
r
(
68690
),
E
=
r
(
68131
);
const
x
=
[
new
n
.
QD
,
new
o
.
c
,
new
g
.
p
,
new
m
.
O
,
new
b
.
d
,
new
y
.
iP
,
new
v
.
I
,
new
_
.
q
];
function
S
(
e
=
{}){
void
0
===
e
.
defaultIntegrations
&&
(
e
.
defaultIntegrations
=
x
),
void
0
===
e
.
release
&&
f
.
m9
.
SENTRY_RELEASE
&&
f
.
m9
.
SENTRY_RELEASE
.
id
&&
(
e
.
release
=
f
.
m9
.
SENTRY_RELEASE
.
id
),
void
0
===
e
.
autoSessionTracking
&&
(
e
.
autoSessionTracking
=!
0
),
void
0
===
e
.
sendClientReports
&&
(
e
.
sendClientReports
=!
0
);
const
t
=
{...
e
,
stackParser
:
(
0
,
c
.
Sq
)(
e
.
stackParser
||
h
.
Dt
),
integrations
:
(
0
,
i
.
m8
)(
e
),
transport
:
e
.
transport
||
((
0
,
u
.
Ak
)()
?
w
.
f
:
E
.
K
)};(
0
,
a
.
M
)(
d
.
R
,
t
),
e
.
autoSessionTracking
&&
function
(){
if
(
void
0
===
f
.
m9
.
document
)
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
l
.
kg
.
warn
(
"Session tracking in non-browser environment with @sentry/browser is not supported."
));
const
e
=
(
0
,
s
.
Gd
)();
if
(
!
e
.
captureSession
)
return
;
k
(
e
),(
0
,
p
.
o
)(
"history"
,(({
from
:
e
,
to
:
t
})=>{
void
0
!==
e
&&
e
!==
t
&&
k
((
0
,
s
.
Gd
)())}))}()}
function
k
(
e
){
e
.
startSession
({
ignoreDuration
:!
0
}),
e
.
captureSession
()}},
34469
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Dt
:
function
(){
return
d
}});
var
n
=
r
(
30360
);
const
o
=
"?"
;
function
i
(
e
,
t
,
r
,
n
){
const
o
=
{
filename
:
e
,
function
:
t
,
in_app
:!
0
};
return
void
0
!==
r
&&
(
o
.
lineno
=
r
),
void
0
!==
n
&&
(
o
.
colno
=
n
),
o
}
const
a
=
/^\s*at (?:(.*\).*?|.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i
,
s
=
/\((\S*)(?::(\d+))(?::(\d+))\)/
,
c
=
/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i
,
u
=
/(\S+) line (\d+)(?: > eval line \d+)* > eval/i
,
l
=
/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i
,
p
=
[[
30
,
e
=>{
const
t
=
a
.
exec
(
e
);
if
(
t
){
if
(
t
[
2
]
&&
0
===
t
[
2
].
indexOf
(
"eval"
)){
const
e
=
s
.
exec
(
t
[
2
]);
e
&&
(
t
[
2
]
=
e
[
1
],
t
[
3
]
=
e
[
2
],
t
[
4
]
=
e
[
3
])}
const
[
e
,
r
]
=
f
(
t
[
1
]
||
o
,
t
[
2
]);
return
i
(
r
,
e
,
t
[
3
]
?+
t
[
3
]
:
void
0
,
t
[
4
]
?+
t
[
4
]
:
void
0
)}}],[
50
,
e
=>{
const
t
=
c
.
exec
(
e
);
if
(
t
){
if
(
t
[
3
]
&&
t
[
3
].
indexOf
(
" > eval"
)
>-
1
){
const
e
=
u
.
exec
(
t
[
3
]);
e
&&
(
t
[
1
]
=
t
[
1
]
||
"eval"
,
t
[
3
]
=
e
[
1
],
t
[
4
]
=
e
[
2
],
t
[
5
]
=
""
)}
let
e
=
t
[
3
],
r
=
t
[
1
]
||
o
;
return
[
r
,
e
]
=
f
(
r
,
e
),
i
(
e
,
r
,
t
[
4
]
?+
t
[
4
]
:
void
0
,
t
[
5
]
?+
t
[
5
]
:
void
0
)}}],[
40
,
e
=>{
const
t
=
l
.
exec
(
e
);
return
t
?
i
(
t
[
2
],
t
[
1
]
||
o
,
+
t
[
3
],
t
[
4
]
?+
t
[
4
]
:
void
0
)
:
void
0
}]],
d
=
(
0
,
n
.
pE
)(...
p
),
f
=
(
e
,
t
)=>{
const
r
=-
1
!==
e
.
indexOf
(
"safari-extension"
),
n
=-
1
!==
e
.
indexOf
(
"safari-web-extension"
);
return
r
||
n
?
[
-
1
!==
e
.
indexOf
(
"@"
)
?
e
.
split
(
"@"
)[
0
]
:
o
,
r
?
`safari-extension:
${
t
}
`
:
`safari-web-extension:
${
t
}
`
]
:
[
e
,
t
]}},
68690
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
f
:
function
(){
return
a
}});
var
n
=
r
(
45431
),
o
=
r
(
96893
),
i
=
r
(
77050
);
function
a
(
e
,
t
=
(
0
,
i
.
x
)()){
return
(
0
,
n
.
q
)(
e
,(
function
(
r
){
const
n
=
{
body
:
r
.
body
,
method
:
"POST"
,
referrerPolicy
:
"origin"
,
headers
:
e
.
headers
,
keepalive
:
r
.
body
.
length
<=
65536
,...
e
.
fetchOptions
};
try
{
return
t
(
e
.
url
,
n
).
then
((
e
=>({
statusCode
:
e
.
status
,
headers
:
{
"x-sentry-rate-limits"
:
e
.
headers
.
get
(
"X-Sentry-Rate-Limits"
),
"retry-after"
:
e
.
headers
.
get
(
"Retry-After"
)}})))}
catch
(
e
){
return
(
0
,
i
.
c
)(),(
0
,
o
.
$2
)(
e
)}}))}},
77050
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
c
:
function
(){
return
c
},
x
:
function
(){
return
s
}});
var
n
=
r
(
8823
),
o
=
r
(
12343
),
i
=
r
(
86891
);
let
a
;
function
s
(){
if
(
a
)
return
a
;
if
((
0
,
n
.
Du
)(
i
.
m9
.
fetch
))
return
a
=
i
.
m9
.
fetch
.
bind
(
i
.
m9
);
const
e
=
i
.
m9
.
document
;
let
t
=
i
.
m9
.
fetch
;
if
(
e
&&
"function"
==
typeof
e
.
createElement
)
try
{
const
r
=
e
.
createElement
(
"iframe"
);
r
.
hidden
=!
0
,
e
.
head
.
appendChild
(
r
);
const
n
=
r
.
contentWindow
;
n
&&
n
.
fetch
&&
(
t
=
n
.
fetch
),
e
.
head
.
removeChild
(
r
)}
catch
(
e
){(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: "
,
e
)}
return
a
=
t
.
bind
(
i
.
m9
)}
function
c
(){
a
=
void
0
}},
68131
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
K
:
function
(){
return
i
}});
var
n
=
r
(
45431
),
o
=
r
(
96893
);
function
i
(
e
){
return
(
0
,
n
.
q
)(
e
,(
function
(
t
){
return
new
o
.
cW
(((
r
,
n
)=>{
const
o
=
new
XMLHttpRequest
;
o
.
onerror
=
n
,
o
.
onreadystatechange
=
()=>{
4
===
o
.
readyState
&&
r
({
statusCode
:
o
.
status
,
headers
:
{
"x-sentry-rate-limits"
:
o
.
getResponseHeader
(
"X-Sentry-Rate-Limits"
),
"retry-after"
:
o
.
getResponseHeader
(
"Retry-After"
)}})},
o
.
open
(
"POST"
,
e
.
url
);
for
(
const
t
in
e
.
headers
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
.
headers
,
t
)
&&
o
.
setRequestHeader
(
t
,
e
.
headers
[
t
]);
o
.
send
(
t
.
body
)}))}))}},
1984
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
U
:
function
(){
return
i
}});
var
n
=
r
(
20535
);
function
o
(
e
){
const
t
=
e
.
protocol
?
`
${
e
.
protocol
}
:`
:
""
,
r
=
e
.
port
?
`:
${
e
.
port
}
`
:
""
;
return
`
${
t
}
//
${
e
.
host
}${
r
}${
e
.
path
?
`/
${
e
.
path
}
`
:
""
}
/api/`
}
function
i
(
e
,
t
=
{}){
const
r
=
"string"
==
typeof
t
?
t
:
t
.
tunnel
,
i
=
"string"
!=
typeof
t
&&
t
.
_metadata
?
t
.
_metadata
.
sdk
:
void
0
;
return
r
||
`
${
function
(
e
){
return
`
${
o
(
e
)
}${
e
.
projectId
}
/envelope/`
}
(e)}?
${
function
(
e
,
t
){
return
(
0
,
n
.
_j
)({
sentry_key
:
e
.
publicKey
,
sentry_version
:
"7"
,...
t
&&
{
sentry_client
:
`
${
t
.
name
}
/
${
t
.
version
}
`
}
})}(e,i)}`
}},
44219
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
W
:
function
(){
return
v
}});
var
n
=
r
(
30292
),
o
=
r
(
12343
),
i
=
r
(
62844
),
a
=
r
(
67597
),
s
=
r
(
96893
),
c
=
r
(
58725
),
u
=
r
(
21170
),
l
=
r
(
90322
),
p
=
r
(
57321
),
d
=
r
(
80409
),
f
=
r
(
1984
),
h
=
r
(
28656
),
g
=
r
(
22967
),
m
=
r
(
10350
),
b
=
r
(
9015
);
const
y
=
"Not capturing exception because it's already been captured."
;
class
v
{
__init
(){
this
.
_integrations
=
{}}
__init2
(){
this
.
_integrationsInitialized
=!
1
}
__init3
(){
this
.
_numProcessing
=
0
}
__init4
(){
this
.
_outcomes
=
{}}
constructor
(
e
){
if
(
v
.
prototype
.
__init
.
call
(
this
),
v
.
prototype
.
__init2
.
call
(
this
),
v
.
prototype
.
__init3
.
call
(
this
),
v
.
prototype
.
__init4
.
call
(
this
),
this
.
_options
=
e
,
e
.
dsn
){
this
.
_dsn
=
(
0
,
n
.
vK
)(
e
.
dsn
);
const
t
=
(
0
,
f
.
U
)(
this
.
_dsn
,
e
);
this
.
_transport
=
e
.
transport
({
recordDroppedEvent
:
this
.
recordDroppedEvent
.
bind
(
this
),...
e
.
transportOptions
,
url
:
t
})}
else
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
"No DSN provided, client will not do anything."
)}
captureException
(
e
,
t
,
r
){
if
((
0
,
i
.
YO
)(
e
))
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
log
(
y
));
let
n
=
t
&&
t
.
event_id
;
return
this
.
_process
(
this
.
eventFromException
(
e
,
t
).
then
((
e
=>
this
.
_captureEvent
(
e
,
t
,
r
))).
then
((
e
=>{
n
=
e
}))),
n
}
captureMessage
(
e
,
t
,
r
,
n
){
let
o
=
r
&&
r
.
event_id
;
const
i
=
(
0
,
a
.
pt
)(
e
)
?
this
.
eventFromMessage
(
String
(
e
),
t
,
r
)
:
this
.
eventFromException
(
e
,
r
);
return
this
.
_process
(
i
.
then
((
e
=>
this
.
_captureEvent
(
e
,
r
,
n
))).
then
((
e
=>{
o
=
e
}))),
o
}
captureEvent
(
e
,
t
,
r
){
if
(
t
&&
t
.
originalException
&&
(
0
,
i
.
YO
)(
t
.
originalException
))
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
log
(
y
));
let
n
=
t
&&
t
.
event_id
;
return
this
.
_process
(
this
.
_captureEvent
(
e
,
t
,
r
).
then
((
e
=>{
n
=
e
}))),
n
}
captureSession
(
e
){
this
.
_isEnabled
()
?
"string"
!=
typeof
e
.
release
?
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
"Discarded session because of missing or non-string release"
)
:
(
this
.
sendSession
(
e
),(
0
,
b
.
CT
)(
e
,{
init
:!
1
}))
:
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
"SDK not enabled, will not capture session."
)}
getDsn
(){
return
this
.
_dsn
}
getOptions
(){
return
this
.
_options
}
getTransport
(){
return
this
.
_transport
}
flush
(
e
){
const
t
=
this
.
_transport
;
return
t
?
this
.
_isClientDoneProcessing
(
e
).
then
((
r
=>
t
.
flush
(
e
).
then
((
e
=>
r
&&
e
))))
:
(
0
,
s
.
WD
)(
!
0
)}
close
(
e
){
return
this
.
flush
(
e
).
then
((
e
=>(
this
.
getOptions
().
enabled
=!
1
,
e
)))}
setupIntegrations
(){
this
.
_isEnabled
()
&&!
this
.
_integrationsInitialized
&&
(
this
.
_integrations
=
(
0
,
g
.
q4
)(
this
.
_options
.
integrations
),
this
.
_integrationsInitialized
=!
0
)}
getIntegrationById
(
e
){
return
this
.
_integrations
[
e
]}
getIntegration
(
e
){
try
{
return
this
.
_integrations
[
e
.
id
]
||
null
}
catch
(
t
){
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
`Cannot retrieve integration
${
e
.
id
}
from the current Client`
),
null
}}
sendEvent
(
e
,
t
=
{}){
if
(
this
.
_dsn
){
let
r
=
(
0
,
h
.
M
)(
e
,
this
.
_dsn
,
this
.
_options
.
_metadata
,
this
.
_options
.
tunnel
);
for
(
const
e
of
t
.
attachments
||
[])
r
=
(
0
,
c
.
BO
)(
r
,(
0
,
c
.
zQ
)(
e
,
this
.
_options
.
transportOptions
&&
this
.
_options
.
transportOptions
.
textEncoder
));
this
.
_sendEnvelope
(
r
)}}
sendSession
(
e
){
if
(
this
.
_dsn
){
const
t
=
(
0
,
h
.
Q
)(
e
,
this
.
_dsn
,
this
.
_options
.
_metadata
,
this
.
_options
.
tunnel
);
this
.
_sendEnvelope
(
t
)}}
recordDroppedEvent
(
e
,
t
){
if
(
this
.
_options
.
sendClientReports
){
const
r
=
`
${
e
}
:
${
t
}
`
;(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
log
(
`Adding outcome: "
${
r
}
"`
),
this
.
_outcomes
[
r
]
=
this
.
_outcomes
[
r
]
+
1
||
1
}}
_updateSessionFromEvent
(
e
,
t
){
let
r
=!
1
,
n
=!
1
;
const
o
=
t
.
exception
&&
t
.
exception
.
values
;
if
(
o
){
n
=!
0
;
for
(
const
e
of
o
){
const
t
=
e
.
mechanism
;
if
(
t
&&!
1
===
t
.
handled
){
r
=!
0
;
break
}}}
const
i
=
"ok"
===
e
.
status
;(
i
&&
0
===
e
.
errors
||
i
&&
r
)
&&
((
0
,
b
.
CT
)(
e
,{...
r
&&
{
status
:
"crashed"
},
errors
:
e
.
errors
||
Number
(
n
||
r
)}),
this
.
captureSession
(
e
))}
_isClientDoneProcessing
(
e
){
return
new
s
.
cW
((
t
=>{
let
r
=
0
;
const
n
=
setInterval
((()=>{
0
==
this
.
_numProcessing
?
(
clearInterval
(
n
),
t
(
!
0
))
:
(
r
+=
1
,
e
&&
r
>=
e
&&
(
clearInterval
(
n
),
t
(
!
1
)))}),
1
)}))}
_isEnabled
(){
return
!
1
!==
this
.
getOptions
().
enabled
&&
void
0
!==
this
.
_dsn
}
_prepareEvent
(
e
,
t
,
r
){
const
{
normalizeDepth
:
n
=
3
,
normalizeMaxBreadth
:
o
=
1e3
}
=
this
.
getOptions
(),
a
=
{...
e
,
event_id
:
e
.
event_id
||
t
.
event_id
||
(
0
,
i
.
DM
)(),
timestamp
:
e
.
timestamp
||
(
0
,
u
.
yW
)()};
this
.
_applyClientOptions
(
a
),
this
.
_applyIntegrationsMetadata
(
a
);
let
c
=
r
;
t
.
captureContext
&&
(
c
=
m
.
s
.
clone
(
c
).
update
(
t
.
captureContext
));
let
l
=
(
0
,
s
.
WD
)(
a
);
if
(
c
){
const
e
=
[...
t
.
attachments
||
[],...
c
.
getAttachments
()];
e
.
length
&&
(
t
.
attachments
=
e
),
l
=
c
.
applyToEvent
(
a
,
t
)}
return
l
.
then
((
e
=>
"number"
==
typeof
n
&&
n
>
0
?
this
.
_normalizeEvent
(
e
,
n
,
o
)
:
e
))}
_normalizeEvent
(
e
,
t
,
r
){
if
(
!
e
)
return
null
;
const
n
=
{...
e
,...
e
.
breadcrumbs
&&
{
breadcrumbs
:
e
.
breadcrumbs
.
map
((
e
=>({...
e
,...
e
.
data
&&
{
data
:
(
0
,
l
.
Fv
)(
e
.
data
,
t
,
r
)}})))},...
e
.
user
&&
{
user
:
(
0
,
l
.
Fv
)(
e
.
user
,
t
,
r
)},...
e
.
contexts
&&
{
contexts
:
(
0
,
l
.
Fv
)(
e
.
contexts
,
t
,
r
)},...
e
.
extra
&&
{
extra
:
(
0
,
l
.
Fv
)(
e
.
extra
,
t
,
r
)}};
return
e
.
contexts
&&
e
.
contexts
.
trace
&&
n
.
contexts
&&
(
n
.
contexts
.
trace
=
e
.
contexts
.
trace
,
e
.
contexts
.
trace
.
data
&&
(
n
.
contexts
.
trace
.
data
=
(
0
,
l
.
Fv
)(
e
.
contexts
.
trace
.
data
,
t
,
r
))),
e
.
spans
&&
(
n
.
spans
=
e
.
spans
.
map
((
e
=>(
e
.
data
&&
(
e
.
data
=
(
0
,
l
.
Fv
)(
e
.
data
,
t
,
r
)),
e
)))),
n
}
_applyClientOptions
(
e
){
const
t
=
this
.
getOptions
(),{
environment
:
r
,
release
:
n
,
dist
:
o
,
maxValueLength
:
i
=
250
}
=
t
;
"environment"
in
e
||
(
e
.
environment
=
"environment"
in
t
?
r
:
"production"
),
void
0
===
e
.
release
&&
void
0
!==
n
&&
(
e
.
release
=
n
),
void
0
===
e
.
dist
&&
void
0
!==
o
&&
(
e
.
dist
=
o
),
e
.
message
&&
(
e
.
message
=
(
0
,
p
.
$G
)(
e
.
message
,
i
));
const
a
=
e
.
exception
&&
e
.
exception
.
values
&&
e
.
exception
.
values
[
0
];
a
&&
a
.
value
&&
(
a
.
value
=
(
0
,
p
.
$G
)(
a
.
value
,
i
));
const
s
=
e
.
request
;
s
&&
s
.
url
&&
(
s
.
url
=
(
0
,
p
.
$G
)(
s
.
url
,
i
))}
_applyIntegrationsMetadata
(
e
){
const
t
=
Object
.
keys
(
this
.
_integrations
);
t
.
length
>
0
&&
(
e
.
sdk
=
e
.
sdk
||
{},
e
.
sdk
.
integrations
=
[...
e
.
sdk
.
integrations
||
[],...
t
])}
_captureEvent
(
e
,
t
=
{},
r
){
return
this
.
_processEvent
(
e
,
t
,
r
).
then
((
e
=>
e
.
event_id
),(
e
=>{
if
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
){
const
t
=
e
;
"log"
===
t
.
logLevel
?
o
.
kg
.
log
(
t
.
message
)
:
o
.
kg
.
warn
(
t
)}}))}
_processEvent
(
e
,
t
,
r
){
const
n
=
this
.
getOptions
(),{
sampleRate
:
o
}
=
n
;
if
(
!
this
.
_isEnabled
())
return
(
0
,
s
.
$2
)(
new
d
.
b
(
"SDK not enabled, will not capture event."
,
"log"
));
const
i
=
"transaction"
===
e
.
type
,
c
=
i
?
"beforeSendTransaction"
:
"beforeSend"
,
u
=
n
[
c
];
return
!
i
&&
"number"
==
typeof
o
&&
Math
.
random
()
>
o
?
(
this
.
recordDroppedEvent
(
"sample_rate"
,
"error"
),(
0
,
s
.
$2
)(
new
d
.
b
(
`Discarding event because it's not included in the random sample (sampling rate =
${
o
}
)`
,
"log"
)))
:
this
.
_prepareEvent
(
e
,
t
,
r
).
then
((
r
=>{
if
(
null
===
r
)
throw
this
.
recordDroppedEvent
(
"event_processor"
,
e
.
type
||
"error"
),
new
d
.
b
(
"An event processor returned `null`, will not send event."
,
"log"
);
if
(
t
.
data
&&!
0
===
t
.
data
.
__sentry__
||!
u
)
return
r
;
return
function
(
e
,
t
){
const
r
=
`\`
${
t
}
\` must return \`null\` or a valid event.`
;
if
((
0
,
a
.
J8
)(
e
))
return
e
.
then
((
e
=>{
if
(
!
(
0
,
a
.
PO
)(
e
)
&&
null
!==
e
)
throw
new
d
.
b
(
r
);
return
e
}),(
e
=>{
throw
new
d
.
b
(
`\`
${
t
}
\` rejected with
${
e
}
`
)}));
if
(
!
(
0
,
a
.
PO
)(
e
)
&&
null
!==
e
)
throw
new
d
.
b
(
r
);
return
e
}(
u
(
r
,
t
),
c
)})).
then
((
n
=>{
if
(
null
===
n
)
throw
this
.
recordDroppedEvent
(
"before_send"
,
e
.
type
||
"error"
),
new
d
.
b
(
`\`
${
c
}
\` returned \`null\`, will not send event.`
,
"log"
);
const
o
=
r
&&
r
.
getSession
();
!
i
&&
o
&&
this
.
_updateSessionFromEvent
(
o
,
n
);
const
a
=
n
.
transaction_info
;
if
(
i
&&
a
&&
n
.
transaction
!==
e
.
transaction
){
const
e
=
"custom"
;
n
.
transaction_info
=
{...
a
,
source
:
e
,
changes
:
[...
a
.
changes
,{
source
:
e
,
timestamp
:
n
.
timestamp
,
propagations
:
a
.
propagations
}]}}
return
this
.
sendEvent
(
n
,
t
),
n
})).
then
(
null
,(
e
=>{
if
(
e
instanceof
d
.
b
)
throw
e
;
throw
this
.
captureException
(
e
,{
data
:
{
__sentry__
:!
0
},
originalException
:
e
}),
new
d
.
b
(
`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason:
${
e
}
`
)}))}
_process
(
e
){
this
.
_numProcessing
+=
1
,
e
.
then
((
e
=>(
this
.
_numProcessing
-=
1
,
e
)),(
e
=>(
this
.
_numProcessing
-=
1
,
e
)))}
_sendEnvelope
(
e
){
this
.
_transport
&&
this
.
_dsn
?
this
.
_transport
.
send
(
e
).
then
(
null
,(
e
=>{(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
error
(
"Error while sending event:"
,
e
)}))
:
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
error
(
"Transport disabled"
)}
_clearOutcomes
(){
const
e
=
this
.
_outcomes
;
return
this
.
_outcomes
=
{},
Object
.
keys
(
e
).
map
((
t
=>{
const
[
r
,
n
]
=
t
.
split
(
":"
);
return
{
reason
:
r
,
category
:
n
,
quantity
:
e
[
t
]}}))}}},
28656
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
M
:
function
(){
return
c
},
Q
:
function
(){
return
s
}});
var
n
=
r
(
30292
),
o
=
r
(
58725
),
i
=
r
(
20535
);
function
a
(
e
){
if
(
!
e
||!
e
.
sdk
)
return
;
const
{
name
:
t
,
version
:
r
}
=
e
.
sdk
;
return
{
name
:
t
,
version
:
r
}}
function
s
(
e
,
t
,
r
,
i
){
const
s
=
a
(
r
),
c
=
{
sent_at
:
(
new
Date
).
toISOString
(),...
s
&&
{
sdk
:
s
},...
!!
i
&&
{
dsn
:
(
0
,
n
.
RA
)(
t
)}},
u
=
"aggregates"
in
e
?
[{
type
:
"sessions"
},
e
]
:
[{
type
:
"session"
},
e
];
return
(
0
,
o
.
Jd
)(
c
,[
u
])}
function
c
(
e
,
t
,
r
,
s
){
const
c
=
a
(
r
),
u
=
e
.
type
||
"event"
;
!
function
(
e
,
t
){
t
&&
(
e
.
sdk
=
e
.
sdk
||
{},
e
.
sdk
.
name
=
e
.
sdk
.
name
||
t
.
name
,
e
.
sdk
.
version
=
e
.
sdk
.
version
||
t
.
version
,
e
.
sdk
.
integrations
=
[...
e
.
sdk
.
integrations
||
[],...
t
.
integrations
||
[]],
e
.
sdk
.
packages
=
[...
e
.
sdk
.
packages
||
[],...
t
.
packages
||
[]])}(
e
,
r
&&
r
.
sdk
);
const
l
=
function
(
e
,
t
,
r
,
o
){
const
a
=
e
.
sdkProcessingMetadata
&&
e
.
sdkProcessingMetadata
.
dynamicSamplingContext
;
return
{
event_id
:
e
.
event_id
,
sent_at
:
(
new
Date
).
toISOString
(),...
t
&&
{
sdk
:
t
},...
!!
r
&&
{
dsn
:
(
0
,
n
.
RA
)(
o
)},...
"transaction"
===
e
.
type
&&
a
&&
{
trace
:
(
0
,
i
.
Jr
)({...
a
})}}}(
e
,
c
,
s
,
t
);
delete
e
.
sdkProcessingMetadata
;
const
p
=
[{
type
:
u
},
e
];
return
(
0
,
o
.
Jd
)(
l
,[
p
])}},
64487
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
$e
:
function
(){
return
i
},
Tb
:
function
(){
return
o
}});
var
n
=
r
(
95659
);
function
o
(
e
,
t
){
return
(
0
,
n
.
Gd
)().
captureException
(
e
,{
captureContext
:
t
})}
function
i
(
e
){(
0
,
n
.
Gd
)().
withScope
(
e
)}},
95659
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Gd
:
function
(){
return
h
}});
var
n
=
r
(
62844
),
o
=
r
(
21170
),
i
=
r
(
12343
),
a
=
r
(
71235
),
s
=
r
(
61422
),
c
=
r
(
10350
),
u
=
r
(
9015
);
const
l
=
100
;
class
p
{
__init
(){
this
.
_stack
=
[{}]}
constructor
(
e
,
t
=
new
c
.
s
,
r
=
4
){
this
.
_version
=
r
,
p
.
prototype
.
__init
.
call
(
this
),
this
.
getStackTop
().
scope
=
t
,
e
&&
this
.
bindClient
(
e
)}
isOlderThan
(
e
){
return
this
.
_version
<
e
}
bindClient
(
e
){
this
.
getStackTop
().
client
=
e
,
e
&&
e
.
setupIntegrations
&&
e
.
setupIntegrations
()}
pushScope
(){
const
e
=
c
.
s
.
clone
(
this
.
getScope
());
return
this
.
getStack
().
push
({
client
:
this
.
getClient
(),
scope
:
e
}),
e
}
popScope
(){
return
!
(
this
.
getStack
().
length
<=
1
)
&&!!
this
.
getStack
().
pop
()}
withScope
(
e
){
const
t
=
this
.
pushScope
();
try
{
e
(
t
)}
finally
{
this
.
popScope
()}}
getClient
(){
return
this
.
getStackTop
().
client
}
getScope
(){
return
this
.
getStackTop
().
scope
}
getStack
(){
return
this
.
_stack
}
getStackTop
(){
return
this
.
_stack
[
this
.
_stack
.
length
-
1
]}
captureException
(
e
,
t
){
const
r
=
this
.
_lastEventId
=
t
&&
t
.
event_id
?
t
.
event_id
:
(
0
,
n
.
DM
)(),
o
=
new
Error
(
"Sentry syntheticException"
);
return
this
.
_withClient
(((
n
,
i
)=>{
n
.
captureException
(
e
,{
originalException
:
e
,
syntheticException
:
o
,...
t
,
event_id
:
r
},
i
)})),
r
}
captureMessage
(
e
,
t
,
r
){
const
o
=
this
.
_lastEventId
=
r
&&
r
.
event_id
?
r
.
event_id
:
(
0
,
n
.
DM
)(),
i
=
new
Error
(
e
);
return
this
.
_withClient
(((
n
,
a
)=>{
n
.
captureMessage
(
e
,
t
,{
originalException
:
e
,
syntheticException
:
i
,...
r
,
event_id
:
o
},
a
)})),
o
}
captureEvent
(
e
,
t
){
const
r
=
t
&&
t
.
event_id
?
t
.
event_id
:
(
0
,
n
.
DM
)();
return
"transaction"
!==
e
.
type
&&
(
this
.
_lastEventId
=
r
),
this
.
_withClient
(((
n
,
o
)=>{
n
.
captureEvent
(
e
,{...
t
,
event_id
:
r
},
o
)})),
r
}
lastEventId
(){
return
this
.
_lastEventId
}
addBreadcrumb
(
e
,
t
){
const
{
scope
:
r
,
client
:
n
}
=
this
.
getStackTop
();
if
(
!
r
||!
n
)
return
;
const
{
beforeBreadcrumb
:
a
=
null
,
maxBreadcrumbs
:
s
=
l
}
=
n
.
getOptions
&&
n
.
getOptions
()
||
{};
if
(
s
<=
0
)
return
;
const
c
=
{
timestamp
:
(
0
,
o
.
yW
)(),...
e
},
u
=
a
?
(
0
,
i
.
Cf
)((()=>
a
(
c
,
t
)))
:
c
;
null
!==
u
&&
r
.
addBreadcrumb
(
u
,
s
)}
setUser
(
e
){
const
t
=
this
.
getScope
();
t
&&
t
.
setUser
(
e
)}
setTags
(
e
){
const
t
=
this
.
getScope
();
t
&&
t
.
setTags
(
e
)}
setExtras
(
e
){
const
t
=
this
.
getScope
();
t
&&
t
.
setExtras
(
e
)}
setTag
(
e
,
t
){
const
r
=
this
.
getScope
();
r
&&
r
.
setTag
(
e
,
t
)}
setExtra
(
e
,
t
){
const
r
=
this
.
getScope
();
r
&&
r
.
setExtra
(
e
,
t
)}
setContext
(
e
,
t
){
const
r
=
this
.
getScope
();
r
&&
r
.
setContext
(
e
,
t
)}
configureScope
(
e
){
const
{
scope
:
t
,
client
:
r
}
=
this
.
getStackTop
();
t
&&
r
&&
e
(
t
)}
run
(
e
){
const
t
=
f
(
this
);
try
{
e
(
this
)}
finally
{
f
(
t
)}}
getIntegration
(
e
){
const
t
=
this
.
getClient
();
if
(
!
t
)
return
null
;
try
{
return
t
.
getIntegration
(
e
)}
catch
(
t
){
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
i
.
kg
.
warn
(
`Cannot retrieve integration
${
e
.
id
}
from the current Hub`
),
null
}}
startTransaction
(
e
,
t
){
return
this
.
_callExtensionMethod
(
"startTransaction"
,
e
,
t
)}
traceHeaders
(){
return
this
.
_callExtensionMethod
(
"traceHeaders"
)}
captureSession
(
e
=!
1
){
if
(
e
)
return
this
.
endSession
();
this
.
_sendSessionUpdate
()}
endSession
(){
const
e
=
this
.
getStackTop
(),
t
=
e
&&
e
.
scope
,
r
=
t
&&
t
.
getSession
();
r
&&
(
0
,
u
.
RJ
)(
r
),
this
.
_sendSessionUpdate
(),
t
&&
t
.
setSession
()}
startSession
(
e
){
const
{
scope
:
t
,
client
:
r
}
=
this
.
getStackTop
(),{
release
:
n
,
environment
:
o
}
=
r
&&
r
.
getOptions
()
||
{},{
userAgent
:
i
}
=
a
.
n2
.
navigator
||
{},
s
=
(
0
,
u
.
Hv
)({
release
:
n
,
environment
:
o
,...
t
&&
{
user
:
t
.
getUser
()},...
i
&&
{
userAgent
:
i
},...
e
});
if
(
t
){
const
e
=
t
.
getSession
&&
t
.
getSession
();
e
&&
"ok"
===
e
.
status
&&
(
0
,
u
.
CT
)(
e
,{
status
:
"exited"
}),
this
.
endSession
(),
t
.
setSession
(
s
)}
return
s
}
shouldSendDefaultPii
(){
const
e
=
this
.
getClient
(),
t
=
e
&&
e
.
getOptions
();
return
Boolean
(
t
&&
t
.
sendDefaultPii
)}
_sendSessionUpdate
(){
const
{
scope
:
e
,
client
:
t
}
=
this
.
getStackTop
();
if
(
!
e
)
return
;
const
r
=
e
.
getSession
();
r
&&
t
&&
t
.
captureSession
&&
t
.
captureSession
(
r
)}
_withClient
(
e
){
const
{
scope
:
t
,
client
:
r
}
=
this
.
getStackTop
();
r
&&
e
(
r
,
t
)}
_callExtensionMethod
(
e
,...
t
){
const
r
=
d
().
__SENTRY__
;
if
(
r
&&
r
.
extensions
&&
"function"
==
typeof
r
.
extensions
[
e
])
return
r
.
extensions
[
e
].
apply
(
this
,
t
);(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
i
.
kg
.
warn
(
`Extension method
${
e
}
couldn't be found, doing nothing.`
)}}
function
d
(){
return
a
.
n2
.
__SENTRY__
=
a
.
n2
.
__SENTRY__
||
{
extensions
:
{},
hub
:
void
0
},
a
.
n2
}
function
f
(
e
){
const
t
=
d
(),
r
=
m
(
t
);
return
b
(
t
,
e
),
r
}
function
h
(){
const
e
=
d
();
return
g
(
e
)
&&!
m
(
e
).
isOlderThan
(
4
)
||
b
(
e
,
new
p
),(
0
,
s
.
KV
)()
?
function
(
e
){
try
{
const
t
=
d
().
__SENTRY__
,
r
=
t
&&
t
.
extensions
&&
t
.
extensions
.
domain
&&
t
.
extensions
.
domain
.
active
;
if
(
!
r
)
return
m
(
e
);
if
(
!
g
(
r
)
||
m
(
r
).
isOlderThan
(
4
)){
const
t
=
m
(
e
).
getStackTop
();
b
(
r
,
new
p
(
t
.
client
,
c
.
s
.
clone
(
t
.
scope
)))}
return
m
(
r
)}
catch
(
t
){
return
m
(
e
)}}(
e
)
:
m
(
e
)}
function
g
(
e
){
return
!!
(
e
&&
e
.
__SENTRY__
&&
e
.
__SENTRY__
.
hub
)}
function
m
(
e
){
return
(
0
,
a
.
YO
)(
"hub"
,(()=>
new
p
),
e
)}
function
b
(
e
,
t
){
if
(
!
e
)
return
!
1
;
return
(
e
.
__SENTRY__
=
e
.
__SENTRY__
||
{}).
hub
=
t
,
!
0
}},
22967
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
m8
:
function
(){
return
c
},
q4
:
function
(){
return
u
}});
var
n
=
r
(
62844
),
o
=
r
(
12343
),
i
=
r
(
95659
),
a
=
r
(
10350
);
const
s
=
[];
function
c
(
e
){
const
t
=
e
.
defaultIntegrations
||
[],
r
=
e
.
integrations
;
let
o
;
t
.
forEach
((
e
=>{
e
.
isDefaultInstance
=!
0
})),
o
=
Array
.
isArray
(
r
)
?
[...
t
,...
r
]
:
"function"
==
typeof
r
?
(
0
,
n
.
lE
)(
r
(
t
))
:
t
;
const
i
=
function
(
e
){
const
t
=
{};
return
e
.
forEach
((
e
=>{
const
{
name
:
r
}
=
e
,
n
=
t
[
r
];
n
&&!
n
.
isDefaultInstance
&&
e
.
isDefaultInstance
||
(
t
[
r
]
=
e
)})),
Object
.
values
(
t
)}(
o
),
a
=
i
.
findIndex
((
e
=>
"Debug"
===
e
.
name
));
if
(
-
1
!==
a
){
const
[
e
]
=
i
.
splice
(
a
,
1
);
i
.
push
(
e
)}
return
i
}
function
u
(
e
){
const
t
=
{};
return
e
.
forEach
((
e
=>{
t
[
e
.
name
]
=
e
,
-
1
===
s
.
indexOf
(
e
.
name
)
&&
(
e
.
setupOnce
(
a
.
c
,
i
.
Gd
),
s
.
push
(
e
.
name
),(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
log
(
`Integration installed:
${
e
.
name
}
`
))})),
t
}},
19116
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
c
:
function
(){
return
i
}});
var
n
=
r
(
20535
);
let
o
;
class
i
{
constructor
(){
i
.
prototype
.
__init
.
call
(
this
)}
static
__initStatic
(){
this
.
id
=
"FunctionToString"
}
__init
(){
this
.
name
=
i
.
id
}
setupOnce
(){
o
=
Function
.
prototype
.
toString
,
Function
.
prototype
.
toString
=
function
(...
e
){
const
t
=
(
0
,
n
.
HK
)(
this
)
||
this
;
return
o
.
apply
(
t
,
e
)}}}
i
.
__initStatic
()},
42422
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
QD
:
function
(){
return
s
}});
var
n
=
r
(
12343
),
o
=
r
(
62844
),
i
=
r
(
57321
);
const
a
=
[
/^Script error\.?$/
,
/^Javascript error: Script error\.? on line 0$/
];
class
s
{
static
__initStatic
(){
this
.
id
=
"InboundFilters"
}
__init
(){
this
.
name
=
s
.
id
}
constructor
(
e
=
{}){
this
.
_options
=
e
,
s
.
prototype
.
__init
.
call
(
this
)}
setupOnce
(
e
,
t
){
const
r
=
e
=>{
const
r
=
t
();
if
(
r
){
const
t
=
r
.
getIntegration
(
s
);
if
(
t
){
const
s
=
r
.
getClient
(),
u
=
s
?
s
.
getOptions
()
:
{},
l
=
function
(
e
=
{},
t
=
{}){
return
{
allowUrls
:
[...
e
.
allowUrls
||
[],...
t
.
allowUrls
||
[]],
denyUrls
:
[...
e
.
denyUrls
||
[],...
t
.
denyUrls
||
[]],
ignoreErrors
:
[...
e
.
ignoreErrors
||
[],...
t
.
ignoreErrors
||
[],...
a
],
ignoreInternal
:
void
0
===
e
.
ignoreInternal
||
e
.
ignoreInternal
}}(
t
.
_options
,
u
);
return
function
(
e
,
t
){
if
(
t
.
ignoreInternal
&&
function
(
e
){
try
{
return
"SentryError"
===
e
.
exception
.
values
[
0
].
type
}
catch
(
e
){}
return
!
1
}(
e
))
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
`Event dropped due to being internal Sentry Error.\nEvent:
${
(
0
,
o
.
jH
)(
e
)
}
`
),
!
0
;
if
(
function
(
e
,
t
){
if
(
!
t
||!
t
.
length
)
return
!
1
;
return
function
(
e
){
if
(
e
.
message
)
return
[
e
.
message
];
if
(
e
.
exception
)
try
{
const
{
type
:
t
=
""
,
value
:
r
=
""
}
=
e
.
exception
.
values
&&
e
.
exception
.
values
[
0
]
||
{};
return
[
`
${
r
}
`
,
`
${
t
}
:
${
r
}
`
]}
catch
(
t
){
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
error
(
`Cannot extract message for event
${
(
0
,
o
.
jH
)(
e
)
}
`
),[]}
return
[]}(
e
).
some
((
e
=>
t
.
some
((
t
=>(
0
,
i
.
zC
)(
e
,
t
)))))}(
e
,
t
.
ignoreErrors
))
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent:
${
(
0
,
o
.
jH
)(
e
)
}
`
),
!
0
;
if
(
function
(
e
,
t
){
if
(
!
t
||!
t
.
length
)
return
!
1
;
const
r
=
c
(
e
);
return
!!
r
&&
t
.
some
((
e
=>(
0
,
i
.
zC
)(
r
,
e
)))}(
e
,
t
.
denyUrls
))
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
`Event dropped due to being matched by \`denyUrls\` option.\nEvent:
${
(
0
,
o
.
jH
)(
e
)
}
.\nUrl:
${
c
(
e
)
}
`
),
!
0
;
if
(
!
function
(
e
,
t
){
if
(
!
t
||!
t
.
length
)
return
!
0
;
const
r
=
c
(
e
);
return
!
r
||
t
.
some
((
e
=>(
0
,
i
.
zC
)(
r
,
e
)))}(
e
,
t
.
allowUrls
))
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
`Event dropped due to not being matched by \`allowUrls\` option.\nEvent:
${
(
0
,
o
.
jH
)(
e
)
}
.\nUrl:
${
c
(
e
)
}
`
),
!
0
;
return
!
1
}(
e
,
l
)
?
null
:
e
}}
return
e
};
r
.
id
=
this
.
name
,
e
(
r
)}}
function
c
(
e
){
try
{
let
t
;
try
{
t
=
e
.
exception
.
values
[
0
].
stacktrace
.
frames
}
catch
(
e
){}
return
t
?
function
(
e
=
[]){
for
(
let
t
=
e
.
length
-
1
;
t
>=
0
;
t
--
){
const
r
=
e
[
t
];
if
(
r
&&
"<anonymous>"
!==
r
.
filename
&&
"[native code]"
!==
r
.
filename
)
return
r
.
filename
||
null
}
return
null
}(
t
)
:
null
}
catch
(
t
){
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
error
(
`Cannot extract url for event
${
(
0
,
o
.
jH
)(
e
)
}
`
),
null
}}
s
.
__initStatic
()},
10350
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
c
:
function
(){
return
d
},
s
:
function
(){
return
l
}});
var
n
=
r
(
67597
),
o
=
r
(
21170
),
i
=
r
(
96893
),
a
=
r
(
12343
),
s
=
r
(
62844
),
c
=
r
(
71235
),
u
=
r
(
9015
);
class
l
{
constructor
(){
this
.
_notifyingListeners
=!
1
,
this
.
_scopeListeners
=
[],
this
.
_eventProcessors
=
[],
this
.
_breadcrumbs
=
[],
this
.
_attachments
=
[],
this
.
_user
=
{},
this
.
_tags
=
{},
this
.
_extra
=
{},
this
.
_contexts
=
{},
this
.
_sdkProcessingMetadata
=
{}}
static
clone
(
e
){
const
t
=
new
l
;
return
e
&&
(
t
.
_breadcrumbs
=
[...
e
.
_breadcrumbs
],
t
.
_tags
=
{...
e
.
_tags
},
t
.
_extra
=
{...
e
.
_extra
},
t
.
_contexts
=
{...
e
.
_contexts
},
t
.
_user
=
e
.
_user
,
t
.
_level
=
e
.
_level
,
t
.
_span
=
e
.
_span
,
t
.
_session
=
e
.
_session
,
t
.
_transactionName
=
e
.
_transactionName
,
t
.
_fingerprint
=
e
.
_fingerprint
,
t
.
_eventProcessors
=
[...
e
.
_eventProcessors
],
t
.
_requestSession
=
e
.
_requestSession
,
t
.
_attachments
=
[...
e
.
_attachments
]),
t
}
addScopeListener
(
e
){
this
.
_scopeListeners
.
push
(
e
)}
addEventProcessor
(
e
){
return
this
.
_eventProcessors
.
push
(
e
),
this
}
setUser
(
e
){
return
this
.
_user
=
e
||
{},
this
.
_session
&&
(
0
,
u
.
CT
)(
this
.
_session
,{
user
:
e
}),
this
.
_notifyScopeListeners
(),
this
}
getUser
(){
return
this
.
_user
}
getRequestSession
(){
return
this
.
_requestSession
}
setRequestSession
(
e
){
return
this
.
_requestSession
=
e
,
this
}
setTags
(
e
){
return
this
.
_tags
=
{...
this
.
_tags
,...
e
},
this
.
_notifyScopeListeners
(),
this
}
setTag
(
e
,
t
){
return
this
.
_tags
=
{...
this
.
_tags
,[
e
]
:
t
},
this
.
_notifyScopeListeners
(),
this
}
setExtras
(
e
){
return
this
.
_extra
=
{...
this
.
_extra
,...
e
},
this
.
_notifyScopeListeners
(),
this
}
setExtra
(
e
,
t
){
return
this
.
_extra
=
{...
this
.
_extra
,[
e
]
:
t
},
this
.
_notifyScopeListeners
(),
this
}
setFingerprint
(
e
){
return
this
.
_fingerprint
=
e
,
this
.
_notifyScopeListeners
(),
this
}
setLevel
(
e
){
return
this
.
_level
=
e
,
this
.
_notifyScopeListeners
(),
this
}
setTransactionName
(
e
){
return
this
.
_transactionName
=
e
,
this
.
_notifyScopeListeners
(),
this
}
setContext
(
e
,
t
){
return
null
===
t
?
delete
this
.
_contexts
[
e
]
:
this
.
_contexts
[
e
]
=
t
,
this
.
_notifyScopeListeners
(),
this
}
setSpan
(
e
){
return
this
.
_span
=
e
,
this
.
_notifyScopeListeners
(),
this
}
getSpan
(){
return
this
.
_span
}
getTransaction
(){
const
e
=
this
.
getSpan
();
return
e
&&
e
.
transaction
}
setSession
(
e
){
return
e
?
this
.
_session
=
e
:
delete
this
.
_session
,
this
.
_notifyScopeListeners
(),
this
}
getSession
(){
return
this
.
_session
}
update
(
e
){
if
(
!
e
)
return
this
;
if
(
"function"
==
typeof
e
){
const
t
=
e
(
this
);
return
t
instanceof
l
?
t
:
this
}
return
e
instanceof
l
?
(
this
.
_tags
=
{...
this
.
_tags
,...
e
.
_tags
},
this
.
_extra
=
{...
this
.
_extra
,...
e
.
_extra
},
this
.
_contexts
=
{...
this
.
_contexts
,...
e
.
_contexts
},
e
.
_user
&&
Object
.
keys
(
e
.
_user
).
length
&&
(
this
.
_user
=
e
.
_user
),
e
.
_level
&&
(
this
.
_level
=
e
.
_level
),
e
.
_fingerprint
&&
(
this
.
_fingerprint
=
e
.
_fingerprint
),
e
.
_requestSession
&&
(
this
.
_requestSession
=
e
.
_requestSession
))
:
(
0
,
n
.
PO
)(
e
)
&&
(
this
.
_tags
=
{...
this
.
_tags
,...
e
.
tags
},
this
.
_extra
=
{...
this
.
_extra
,...
e
.
extra
},
this
.
_contexts
=
{...
this
.
_contexts
,...
e
.
contexts
},
e
.
user
&&
(
this
.
_user
=
e
.
user
),
e
.
level
&&
(
this
.
_level
=
e
.
level
),
e
.
fingerprint
&&
(
this
.
_fingerprint
=
e
.
fingerprint
),
e
.
requestSession
&&
(
this
.
_requestSession
=
e
.
requestSession
)),
this
}
clear
(){
return
this
.
_breadcrumbs
=
[],
this
.
_tags
=
{},
this
.
_extra
=
{},
this
.
_user
=
{},
this
.
_contexts
=
{},
this
.
_level
=
void
0
,
this
.
_transactionName
=
void
0
,
this
.
_fingerprint
=
void
0
,
this
.
_requestSession
=
void
0
,
this
.
_span
=
void
0
,
this
.
_session
=
void
0
,
this
.
_notifyScopeListeners
(),
this
.
_attachments
=
[],
this
}
addBreadcrumb
(
e
,
t
){
const
r
=
"number"
==
typeof
t
?
t
:
100
;
if
(
r
<=
0
)
return
this
;
const
n
=
{
timestamp
:
(
0
,
o
.
yW
)(),...
e
};
return
this
.
_breadcrumbs
=
[...
this
.
_breadcrumbs
,
n
].
slice
(
-
r
),
this
.
_notifyScopeListeners
(),
this
}
clearBreadcrumbs
(){
return
this
.
_breadcrumbs
=
[],
this
.
_notifyScopeListeners
(),
this
}
addAttachment
(
e
){
return
this
.
_attachments
.
push
(
e
),
this
}
getAttachments
(){
return
this
.
_attachments
}
clearAttachments
(){
return
this
.
_attachments
=
[],
this
}
applyToEvent
(
e
,
t
=
{}){
if
(
this
.
_extra
&&
Object
.
keys
(
this
.
_extra
).
length
&&
(
e
.
extra
=
{...
this
.
_extra
,...
e
.
extra
}),
this
.
_tags
&&
Object
.
keys
(
this
.
_tags
).
length
&&
(
e
.
tags
=
{...
this
.
_tags
,...
e
.
tags
}),
this
.
_user
&&
Object
.
keys
(
this
.
_user
).
length
&&
(
e
.
user
=
{...
this
.
_user
,...
e
.
user
}),
this
.
_contexts
&&
Object
.
keys
(
this
.
_contexts
).
length
&&
(
e
.
contexts
=
{...
this
.
_contexts
,...
e
.
contexts
}),
this
.
_level
&&
(
e
.
level
=
this
.
_level
),
this
.
_transactionName
&&
(
e
.
transaction
=
this
.
_transactionName
),
this
.
_span
){
e
.
contexts
=
{
trace
:
this
.
_span
.
getTraceContext
(),...
e
.
contexts
};
const
t
=
this
.
_span
.
transaction
&&
this
.
_span
.
transaction
.
name
;
t
&&
(
e
.
tags
=
{
transaction
:
t
,...
e
.
tags
})}
return
this
.
_applyFingerprint
(
e
),
e
.
breadcrumbs
=
[...
e
.
breadcrumbs
||
[],...
this
.
_breadcrumbs
],
e
.
breadcrumbs
=
e
.
breadcrumbs
.
length
>
0
?
e
.
breadcrumbs
:
void
0
,
e
.
sdkProcessingMetadata
=
{...
e
.
sdkProcessingMetadata
,...
this
.
_sdkProcessingMetadata
},
this
.
_notifyEventProcessors
([...
p
(),...
this
.
_eventProcessors
],
e
,
t
)}
setSDKProcessingMetadata
(
e
){
return
this
.
_sdkProcessingMetadata
=
{...
this
.
_sdkProcessingMetadata
,...
e
},
this
}
_notifyEventProcessors
(
e
,
t
,
r
,
o
=
0
){
return
new
i
.
cW
(((
i
,
s
)=>{
const
c
=
e
[
o
];
if
(
null
===
t
||
"function"
!=
typeof
c
)
i
(
t
);
else
{
const
u
=
c
({...
t
},
r
);(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
c
.
id
&&
null
===
u
&&
a
.
kg
.
log
(
`Event processor "
${
c
.
id
}
" dropped event`
),(
0
,
n
.
J8
)(
u
)
?
u
.
then
((
t
=>
this
.
_notifyEventProcessors
(
e
,
t
,
r
,
o
+
1
).
then
(
i
))).
then
(
null
,
s
)
:
this
.
_notifyEventProcessors
(
e
,
u
,
r
,
o
+
1
).
then
(
i
).
then
(
null
,
s
)}}))}
_notifyScopeListeners
(){
this
.
_notifyingListeners
||
(
this
.
_notifyingListeners
=!
0
,
this
.
_scopeListeners
.
forEach
((
e
=>{
e
(
this
)})),
this
.
_notifyingListeners
=!
1
)}
_applyFingerprint
(
e
){
e
.
fingerprint
=
e
.
fingerprint
?
(
0
,
s
.
lE
)(
e
.
fingerprint
)
:
[],
this
.
_fingerprint
&&
(
e
.
fingerprint
=
e
.
fingerprint
.
concat
(
this
.
_fingerprint
)),
e
.
fingerprint
&&!
e
.
fingerprint
.
length
&&
delete
e
.
fingerprint
}}
function
p
(){
return
(
0
,
c
.
YO
)(
"globalEventProcessors"
,(()=>[]))}
function
d
(
e
){
p
().
push
(
e
)}},
67966
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
M
:
function
(){
return
i
}});
var
n
=
r
(
12343
),
o
=
r
(
95659
);
function
i
(
e
,
t
){
!
0
===
t
.
debug
&&
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
?
n
.
kg
.
enable
()
:
console
.
warn
(
"[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."
));
const
r
=
(
0
,
o
.
Gd
)(),
i
=
r
.
getScope
();
i
&&
i
.
update
(
t
.
initialScope
);
const
a
=
new
e
(
t
);
r
.
bindClient
(
a
)}},
9015
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
CT
:
function
(){
return
s
},
Hv
:
function
(){
return
a
},
RJ
:
function
(){
return
c
}});
var
n
=
r
(
21170
),
o
=
r
(
62844
),
i
=
r
(
20535
);
function
a
(
e
){
const
t
=
(
0
,
n
.
ph
)(),
r
=
{
sid
:
(
0
,
o
.
DM
)(),
init
:!
0
,
timestamp
:
t
,
started
:
t
,
duration
:
0
,
status
:
"ok"
,
errors
:
0
,
ignoreDuration
:!
1
,
toJSON
:
()=>
function
(
e
){
return
(
0
,
i
.
Jr
)({
sid
:
`
${
e
.
sid
}
`
,
init
:
e
.
init
,
started
:
new
Date
(
1e3
*
e
.
started
).
toISOString
(),
timestamp
:
new
Date
(
1e3
*
e
.
timestamp
).
toISOString
(),
status
:
e
.
status
,
errors
:
e
.
errors
,
did
:
"number"
==
typeof
e
.
did
||
"string"
==
typeof
e
.
did
?
`
${
e
.
did
}
`
:
void
0
,
duration
:
e
.
duration
,
attrs
:
{
release
:
e
.
release
,
environment
:
e
.
environment
,
ip_address
:
e
.
ipAddress
,
user_agent
:
e
.
userAgent
}})}(
r
)};
return
e
&&
s
(
r
,
e
),
r
}
function
s
(
e
,
t
=
{}){
if
(
t
.
user
&&
(
!
e
.
ipAddress
&&
t
.
user
.
ip_address
&&
(
e
.
ipAddress
=
t
.
user
.
ip_address
),
e
.
did
||
t
.
did
||
(
e
.
did
=
t
.
user
.
id
||
t
.
user
.
email
||
t
.
user
.
username
)),
e
.
timestamp
=
t
.
timestamp
||
(
0
,
n
.
ph
)(),
t
.
ignoreDuration
&&
(
e
.
ignoreDuration
=
t
.
ignoreDuration
),
t
.
sid
&&
(
e
.
sid
=
32
===
t
.
sid
.
length
?
t
.
sid
:
(
0
,
o
.
DM
)()),
void
0
!==
t
.
init
&&
(
e
.
init
=
t
.
init
),
!
e
.
did
&&
t
.
did
&&
(
e
.
did
=
`
${
t
.
did
}
`
),
"number"
==
typeof
t
.
started
&&
(
e
.
started
=
t
.
started
),
e
.
ignoreDuration
)
e
.
duration
=
void
0
;
else
if
(
"number"
==
typeof
t
.
duration
)
e
.
duration
=
t
.
duration
;
else
{
const
t
=
e
.
timestamp
-
e
.
started
;
e
.
duration
=
t
>=
0
?
t
:
0
}
t
.
release
&&
(
e
.
release
=
t
.
release
),
t
.
environment
&&
(
e
.
environment
=
t
.
environment
),
!
e
.
ipAddress
&&
t
.
ipAddress
&&
(
e
.
ipAddress
=
t
.
ipAddress
),
!
e
.
userAgent
&&
t
.
userAgent
&&
(
e
.
userAgent
=
t
.
userAgent
),
"number"
==
typeof
t
.
errors
&&
(
e
.
errors
=
t
.
errors
),
t
.
status
&&
(
e
.
status
=
t
.
status
)}
function
c
(
e
,
t
){
let
r
=
{};
t
?
r
=
{
status
:
t
}
:
"ok"
===
e
.
status
&&
(
r
=
{
status
:
"exited"
}),
s
(
e
,
r
)}},
45431
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
q
:
function
(){
return
u
}});
var
n
=
r
(
81227
),
o
=
r
(
58725
),
i
=
r
(
80228
),
a
=
r
(
96893
),
s
=
r
(
12343
),
c
=
r
(
80409
);
function
u
(
e
,
t
,
r
=
(
0
,
n
.
x
)(
e
.
bufferSize
||
30
)){
let
u
=
{};
return
{
send
:
function
(
n
){
const
l
=
[];
if
((
0
,
o
.
gv
)(
n
,((
t
,
r
)=>{
const
n
=
(
0
,
o
.
mL
)(
r
);(
0
,
i
.
Q
)(
u
,
n
)
?
e
.
recordDroppedEvent
(
"ratelimit_backoff"
,
n
)
:
l
.
push
(
t
)})),
0
===
l
.
length
)
return
(
0
,
a
.
WD
)();
const
p
=
(
0
,
o
.
Jd
)(
n
[
0
],
l
),
d
=
t
=>{(
0
,
o
.
gv
)(
p
,((
r
,
n
)=>{
e
.
recordDroppedEvent
(
t
,(
0
,
o
.
mL
)(
n
))}))};
return
r
.
add
((()=>
t
({
body
:
(
0
,
o
.
V$
)(
p
,
e
.
textEncoder
)}).
then
((
e
=>{
void
0
!==
e
.
statusCode
&&
(
e
.
statusCode
<
200
||
e
.
statusCode
>=
300
)
&&
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
s
.
kg
.
warn
(
`Sentry responded with status code
${
e
.
statusCode
}
to sent event.`
),
u
=
(
0
,
i
.
WG
)(
u
,
e
)}),(
e
=>{(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
s
.
kg
.
error
(
"Failed while sending event:"
,
e
),
d
(
"network_error"
)})))).
then
((
e
=>
e
),(
e
=>{
if
(
e
instanceof
c
.
b
)
return
(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
s
.
kg
.
error
(
"Skipped sending event because buffer is full."
),
d
(
"queue_overflow"
),(
0
,
a
.
WD
)();
throw
e
}))},
flush
:
e
=>
r
.
drain
(
e
)}}},
40105
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
J
:
function
(){
return
n
}});
const
n
=
"7.19.0"
},
58464
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Rt
:
function
(){
return
i
},
l4
:
function
(){
return
s
}});
var
n
=
r
(
67597
);
const
o
=
(
0
,
r
(
71235
).
Rf
)();
function
i
(
e
,
t
){
try
{
let
r
=
e
;
const
n
=
5
,
o
=
80
,
i
=
[];
let
s
=
0
,
c
=
0
;
const
u
=
" > "
,
l
=
u
.
length
;
let
p
;
for
(;
r
&&
s
++<
n
&&
(
p
=
a
(
r
,
t
),
!
(
"html"
===
p
||
s
>
1
&&
c
+
i
.
length
*
l
+
p
.
length
>=
o
));)
i
.
push
(
p
),
c
+=
p
.
length
,
r
=
r
.
parentNode
;
return
i
.
reverse
().
join
(
u
)}
catch
(
e
){
return
"<unknown>"
}}
function
a
(
e
,
t
){
const
r
=
e
,
o
=
[];
let
i
,
a
,
s
,
c
,
u
;
if
(
!
r
||!
r
.
tagName
)
return
""
;
o
.
push
(
r
.
tagName
.
toLowerCase
());
const
l
=
t
&&
t
.
length
?
t
.
filter
((
e
=>
r
.
getAttribute
(
e
))).
map
((
e
=>[
e
,
r
.
getAttribute
(
e
)]))
:
null
;
if
(
l
&&
l
.
length
)
l
.
forEach
((
e
=>{
o
.
push
(
`[
${
e
[
0
]
}
="
${
e
[
1
]
}
"]`
)}));
else
if
(
r
.
id
&&
o
.
push
(
`#
${
r
.
id
}
`
),
i
=
r
.
className
,
i
&&
(
0
,
n
.
HD
)(
i
))
for
(
a
=
i
.
split
(
/\s+/
),
u
=
0
;
u
<
a
.
length
;
u
++
)
o
.
push
(
`.
${
a
[
u
]
}
`
);
const
p
=
[
"type"
,
"name"
,
"title"
,
"alt"
];
for
(
u
=
0
;
u
<
p
.
length
;
u
++
)
s
=
p
[
u
],
c
=
r
.
getAttribute
(
s
),
c
&&
o
.
push
(
`[
${
s
}
="
${
c
}
"]`
);
return
o
.
join
(
""
)}
function
s
(){
try
{
return
o
.
document
.
location
.
href
}
catch
(
e
){
return
""
}}},
47165
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
y
:
function
(){
return
i
}});
var
n
=
r
(
58725
),
o
=
r
(
21170
);
function
i
(
e
,
t
,
r
){
const
i
=
[{
type
:
"client_report"
},{
timestamp
:
r
||
(
0
,
o
.
yW
)(),
discarded_events
:
e
}];
return
(
0
,
n
.
Jd
)(
t
?
{
dsn
:
t
}
:
{},[
i
])}},
30292
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
RA
:
function
(){
return
i
},
vK
:
function
(){
return
s
}});
var
n
=
r
(
80409
);
const
o
=
/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/
;
function
i
(
e
,
t
=!
1
){
const
{
host
:
r
,
path
:
n
,
pass
:
o
,
port
:
i
,
projectId
:
a
,
protocol
:
s
,
publicKey
:
c
}
=
e
;
return
`
${
s
}
://
${
c
}${
t
&&
o
?
`:
${
o
}
`
:
""
}
@
${
r
}${
i
?
`:
${
i
}
`
:
""
}
/
${
n
?
`
${
n
}
/`
:
n
}${
a
}
`
}
function
a
(
e
){
return
{
protocol
:
e
.
protocol
,
publicKey
:
e
.
publicKey
||
""
,
pass
:
e
.
pass
||
""
,
host
:
e
.
host
,
port
:
e
.
port
||
""
,
path
:
e
.
path
||
""
,
projectId
:
e
.
projectId
}}
function
s
(
e
){
const
t
=
"string"
==
typeof
e
?
function
(
e
){
const
t
=
o
.
exec
(
e
);
if
(
!
t
)
throw
new
n
.
b
(
`Invalid Sentry Dsn:
${
e
}
`
);
const
[
r
,
i
,
s
=
""
,
c
,
u
=
""
,
l
]
=
t
.
slice
(
1
);
let
p
=
""
,
d
=
l
;
const
f
=
d
.
split
(
"/"
);
if
(
f
.
length
>
1
&&
(
p
=
f
.
slice
(
0
,
-
1
).
join
(
"/"
),
d
=
f
.
pop
()),
d
){
const
e
=
d
.
match
(
/^\d+/
);
e
&&
(
d
=
e
[
0
])}
return
a
({
host
:
c
,
pass
:
s
,
path
:
p
,
projectId
:
d
,
port
:
u
,
protocol
:
r
,
publicKey
:
i
})}(
e
)
:
a
(
e
);
return
function
(
e
){
if
(
"undefined"
!=
typeof
__SENTRY_DEBUG__
&&!
__SENTRY_DEBUG__
)
return
;
const
{
port
:
t
,
projectId
:
r
,
protocol
:
o
}
=
e
;
if
([
"protocol"
,
"publicKey"
,
"host"
,
"projectId"
].
forEach
((
t
=>{
if
(
!
e
[
t
])
throw
new
n
.
b
(
`Invalid Sentry Dsn:
${
t
}
missing`
)})),
!
r
.
match
(
/^\d+$/
))
throw
new
n
.
b
(
`Invalid Sentry Dsn: Invalid projectId
${
r
}
`
);
if
(
!
function
(
e
){
return
"http"
===
e
||
"https"
===
e
}(
o
))
throw
new
n
.
b
(
`Invalid Sentry Dsn: Invalid protocol
${
o
}
`
);
if
(
t
&&
isNaN
(
parseInt
(
t
,
10
)))
throw
new
n
.
b
(
`Invalid Sentry Dsn: Invalid port
${
t
}
`
)}(
t
),
t
}},
68518
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(){
return
"undefined"
!=
typeof
__SENTRY_BROWSER_BUNDLE__
&&!!
__SENTRY_BROWSER_BUNDLE__
}
r
.
d
(
t
,{
n
:
function
(){
return
n
}})},
58725
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
BO
:
function
(){
return
a
},
Jd
:
function
(){
return
i
},
V$
:
function
(){
return
u
},
gv
:
function
(){
return
s
},
mL
:
function
(){
return
d
},
zQ
:
function
(){
return
l
}});
var
n
=
r
(
90322
),
o
=
r
(
20535
);
function
i
(
e
,
t
=
[]){
return
[
e
,
t
]}
function
a
(
e
,
t
){
const
[
r
,
n
]
=
e
;
return
[
r
,[...
n
,
t
]]}
function
s
(
e
,
t
){
e
[
1
].
forEach
((
e
=>{
const
r
=
e
[
0
].
type
;
t
(
e
,
r
)}))}
function
c
(
e
,
t
){
return
(
t
||
new
TextEncoder
).
encode
(
e
)}
function
u
(
e
,
t
){
const
[
r
,
o
]
=
e
;
let
i
=
JSON
.
stringify
(
r
);
function
a
(
e
){
"string"
==
typeof
i
?
i
=
"string"
==
typeof
e
?
i
+
e
:
[
c
(
i
,
t
),
e
]
:
i
.
push
(
"string"
==
typeof
e
?
c
(
e
,
t
)
:
e
)}
for
(
const
e
of
o
){
const
[
t
,
r
]
=
e
;
if
(
a
(
`\n
${
JSON
.
stringify
(
t
)
}
\n`
),
"string"
==
typeof
r
||
r
instanceof
Uint8Array
)
a
(
r
);
else
{
let
e
;
try
{
e
=
JSON
.
stringify
(
r
)}
catch
(
t
){
e
=
JSON
.
stringify
((
0
,
n
.
Fv
)(
r
))}
a
(
e
)}}
return
"string"
==
typeof
i
?
i
:
function
(
e
){
const
t
=
e
.
reduce
(((
e
,
t
)=>
e
+
t
.
length
),
0
),
r
=
new
Uint8Array
(
t
);
let
n
=
0
;
for
(
const
t
of
e
)
r
.
set
(
t
,
n
),
n
+=
t
.
length
;
return
r
}(
i
)}
function
l
(
e
,
t
){
const
r
=
"string"
==
typeof
e
.
data
?
c
(
e
.
data
,
t
)
:
e
.
data
;
return
[(
0
,
o
.
Jr
)({
type
:
"attachment"
,
length
:
r
.
length
,
filename
:
e
.
filename
,
content_type
:
e
.
contentType
,
attachment_type
:
e
.
attachmentType
}),
r
]}
const
p
=
{
session
:
"session"
,
sessions
:
"session"
,
attachment
:
"attachment"
,
transaction
:
"transaction"
,
event
:
"error"
,
client_report
:
"internal"
,
user_report
:
"default"
};
function
d
(
e
){
return
p
[
e
]}},
80409
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
b
:
function
(){
return
n
}});
class
n
extends
Error
{
constructor
(
e
,
t
=
"warn"
){
super
(
e
),
this
.
message
=
e
,
this
.
name
=
new
.
target
.
prototype
.
constructor
.
name
,
Object
.
setPrototypeOf
(
this
,
new
.
target
.
prototype
),
this
.
logLevel
=
t
}}},
9732
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
o
:
function
(){
return
d
}});
var
n
=
r
(
67597
),
o
=
r
(
12343
),
i
=
r
(
20535
),
a
=
r
(
30360
),
s
=
r
(
8823
);
const
c
=
(
0
,
r
(
71235
).
Rf
)(),
u
=
{},
l
=
{};
function
p
(
e
){
if
(
!
l
[
e
])
switch
(
l
[
e
]
=!
0
,
e
){
case
"console"
:!
function
(){
if
(
!
(
"console"
in
c
))
return
;
o
.
RU
.
forEach
((
function
(
e
){
e
in
c
.
console
&&
(
0
,
i
.
hl
)(
c
.
console
,
e
,(
function
(
t
){
return
function
(...
r
){
f
(
"console"
,{
args
:
r
,
level
:
e
}),
t
&&
t
.
apply
(
c
.
console
,
r
)}}))}))}();
break
;
case
"dom"
:!
function
(){
if
(
!
(
"document"
in
c
))
return
;
const
e
=
f
.
bind
(
null
,
"dom"
),
t
=
v
(
e
,
!
0
);
c
.
document
.
addEventListener
(
"click"
,
t
,
!
1
),
c
.
document
.
addEventListener
(
"keypress"
,
t
,
!
1
),[
"EventTarget"
,
"Node"
].
forEach
((
t
=>{
const
r
=
c
[
t
]
&&
c
[
t
].
prototype
;
r
&&
r
.
hasOwnProperty
&&
r
.
hasOwnProperty
(
"addEventListener"
)
&&
((
0
,
i
.
hl
)(
r
,
"addEventListener"
,(
function
(
t
){
return
function
(
r
,
n
,
o
){
if
(
"click"
===
r
||
"keypress"
==
r
)
try
{
const
n
=
this
,
i
=
n
.
__sentry_instrumentation_handlers__
=
n
.
__sentry_instrumentation_handlers__
||
{},
a
=
i
[
r
]
=
i
[
r
]
||
{
refCount
:
0
};
if
(
!
a
.
handler
){
const
n
=
v
(
e
);
a
.
handler
=
n
,
t
.
call
(
this
,
r
,
n
,
o
)}
a
.
refCount
+=
1
}
catch
(
e
){}
return
t
.
call
(
this
,
r
,
n
,
o
)}})),(
0
,
i
.
hl
)(
r
,
"removeEventListener"
,(
function
(
e
){
return
function
(
t
,
r
,
n
){
if
(
"click"
===
t
||
"keypress"
==
t
)
try
{
const
r
=
this
,
o
=
r
.
__sentry_instrumentation_handlers__
||
{},
i
=
o
[
t
];
i
&&
(
i
.
refCount
-=
1
,
i
.
refCount
<=
0
&&
(
e
.
call
(
this
,
t
,
i
.
handler
,
n
),
i
.
handler
=
void
0
,
delete
o
[
t
]),
0
===
Object
.
keys
(
o
).
length
&&
delete
r
.
__sentry_instrumentation_handlers__
)}
catch
(
e
){}
return
e
.
call
(
this
,
t
,
r
,
n
)}})))}))}();
break
;
case
"xhr"
:!
function
(){
if
(
!
(
"XMLHttpRequest"
in
c
))
return
;
const
e
=
XMLHttpRequest
.
prototype
;(
0
,
i
.
hl
)(
e
,
"open"
,(
function
(
e
){
return
function
(...
t
){
const
r
=
this
,
o
=
t
[
1
],
a
=
r
.
__sentry_xhr__
=
{
method
:
(
0
,
n
.
HD
)(
t
[
0
])
?
t
[
0
].
toUpperCase
()
:
t
[
0
],
url
:
t
[
1
]};(
0
,
n
.
HD
)(
o
)
&&
"POST"
===
a
.
method
&&
o
.
match
(
/sentry_key/
)
&&
(
r
.
__sentry_own_request__
=!
0
);
const
s
=
function
(){
if
(
4
===
r
.
readyState
){
try
{
a
.
status_code
=
r
.
status
}
catch
(
e
){}
f
(
"xhr"
,{
args
:
t
,
endTimestamp
:
Date
.
now
(),
startTimestamp
:
Date
.
now
(),
xhr
:
r
})}};
return
"onreadystatechange"
in
r
&&
"function"
==
typeof
r
.
onreadystatechange
?
(
0
,
i
.
hl
)(
r
,
"onreadystatechange"
,(
function
(
e
){
return
function
(...
t
){
return
s
(),
e
.
apply
(
r
,
t
)}}))
:
r
.
addEventListener
(
"readystatechange"
,
s
),
e
.
apply
(
r
,
t
)}})),(
0
,
i
.
hl
)(
e
,
"send"
,(
function
(
e
){
return
function
(...
t
){
return
this
.
__sentry_xhr__
&&
void
0
!==
t
[
0
]
&&
(
this
.
__sentry_xhr__
.
body
=
t
[
0
]),
f
(
"xhr"
,{
args
:
t
,
startTimestamp
:
Date
.
now
(),
xhr
:
this
}),
e
.
apply
(
this
,
t
)}}))}();
break
;
case
"fetch"
:!
function
(){
if
(
!
(
0
,
s
.
t$
)())
return
;(
0
,
i
.
hl
)(
c
,
"fetch"
,(
function
(
e
){
return
function
(...
t
){
const
r
=
{
args
:
t
,
fetchData
:
{
method
:
h
(
t
),
url
:
g
(
t
)},
startTimestamp
:
Date
.
now
()};
return
f
(
"fetch"
,{...
r
}),
e
.
apply
(
c
,
t
).
then
((
e
=>(
f
(
"fetch"
,{...
r
,
endTimestamp
:
Date
.
now
(),
response
:
e
}),
e
)),(
e
=>{
throw
f
(
"fetch"
,{...
r
,
endTimestamp
:
Date
.
now
(),
error
:
e
}),
e
}))}}))}();
break
;
case
"history"
:!
function
(){
if
(
!
(
0
,
s
.
Bf
)())
return
;
const
e
=
c
.
onpopstate
;
function
t
(
e
){
return
function
(...
t
){
const
r
=
t
.
length
>
2
?
t
[
2
]
:
void
0
;
if
(
r
){
const
e
=
m
,
t
=
String
(
r
);
m
=
t
,
f
(
"history"
,{
from
:
e
,
to
:
t
})}
return
e
.
apply
(
this
,
t
)}}
c
.
onpopstate
=
function
(...
t
){
const
r
=
c
.
location
.
href
,
n
=
m
;
if
(
m
=
r
,
f
(
"history"
,{
from
:
n
,
to
:
r
}),
e
)
try
{
return
e
.
apply
(
this
,
t
)}
catch
(
e
){}},(
0
,
i
.
hl
)(
c
.
history
,
"pushState"
,
t
),(
0
,
i
.
hl
)(
c
.
history
,
"replaceState"
,
t
)}();
break
;
case
"error"
:
_
=
c
.
onerror
,
c
.
onerror
=
function
(
e
,
t
,
r
,
n
,
o
){
return
f
(
"error"
,{
column
:
n
,
error
:
o
,
line
:
r
,
msg
:
e
,
url
:
t
}),
!!
_
&&
_
.
apply
(
this
,
arguments
)};
break
;
case
"unhandledrejection"
:
w
=
c
.
onunhandledrejection
,
c
.
onunhandledrejection
=
function
(
e
){
return
f
(
"unhandledrejection"
,
e
),
!
w
||
w
.
apply
(
this
,
arguments
)};
break
;
default
:
return
void
((
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
warn
(
"unknown instrumentation type:"
,
e
))}}
function
d
(
e
,
t
){
u
[
e
]
=
u
[
e
]
||
[],
u
[
e
].
push
(
t
),
p
(
e
)}
function
f
(
e
,
t
){
if
(
e
&&
u
[
e
])
for
(
const
r
of
u
[
e
]
||
[])
try
{
r
(
t
)}
catch
(
t
){(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
o
.
kg
.
error
(
`Error while triggering instrumentation handler.\nType:
${
e
}
\nName:
${
(
0
,
a
.
$P
)(
r
)
}
\nError:`
,
t
)}}
function
h
(
e
=
[]){
return
"Request"
in
c
&&
(
0
,
n
.
V9
)(
e
[
0
],
Request
)
&&
e
[
0
].
method
?
String
(
e
[
0
].
method
).
toUpperCase
()
:
e
[
1
]
&&
e
[
1
].
method
?
String
(
e
[
1
].
method
).
toUpperCase
()
:
"GET"
}
function
g
(
e
=
[]){
return
"string"
==
typeof
e
[
0
]
?
e
[
0
]
:
"Request"
in
c
&&
(
0
,
n
.
V9
)(
e
[
0
],
Request
)
?
e
[
0
].
url
:
String
(
e
[
0
])}
let
m
;
let
b
,
y
;
function
v
(
e
,
t
=!
1
){
return
r
=>{
if
(
!
r
||
y
===
r
)
return
;
if
(
function
(
e
){
if
(
"keypress"
!==
e
.
type
)
return
!
1
;
try
{
const
t
=
e
.
target
;
if
(
!
t
||!
t
.
tagName
)
return
!
0
;
if
(
"INPUT"
===
t
.
tagName
||
"TEXTAREA"
===
t
.
tagName
||
t
.
isContentEditable
)
return
!
1
}
catch
(
e
){}
return
!
0
}(
r
))
return
;
const
n
=
"keypress"
===
r
.
type
?
"input"
:
r
.
type
;(
void
0
===
b
||
function
(
e
,
t
){
if
(
!
e
)
return
!
0
;
if
(
e
.
type
!==
t
.
type
)
return
!
0
;
try
{
if
(
e
.
target
!==
t
.
target
)
return
!
0
}
catch
(
e
){}
return
!
1
}(
y
,
r
))
&&
(
e
({
event
:
r
,
name
:
n
,
global
:
t
}),
y
=
r
),
clearTimeout
(
b
),
b
=
c
.
setTimeout
((()=>{
b
=
void
0
}),
1e3
)}}
let
_
=
null
;
let
w
=
null
},
67597
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Cy
:
function
(){
return
m
},
HD
:
function
(){
return
u
},
J8
:
function
(){
return
g
},
Kj
:
function
(){
return
h
},
PO
:
function
(){
return
p
},
TX
:
function
(){
return
s
},
V9
:
function
(){
return
y
},
VW
:
function
(){
return
a
},
VZ
:
function
(){
return
o
},
cO
:
function
(){
return
d
},
fm
:
function
(){
return
c
},
i2
:
function
(){
return
b
},
kK
:
function
(){
return
f
},
pt
:
function
(){
return
l
}});
const
n
=
Object
.
prototype
.
toString
;
function
o
(
e
){
switch
(
n
.
call
(
e
)){
case
"[object Error]"
:
case
"[object Exception]"
:
case
"[object DOMException]"
:
return
!
0
;
default
:
return
y
(
e
,
Error
)}}
function
i
(
e
,
t
){
return
n
.
call
(
e
)
===
`[object
${
t
}
]`
}
function
a
(
e
){
return
i
(
e
,
"ErrorEvent"
)}
function
s
(
e
){
return
i
(
e
,
"DOMError"
)}
function
c
(
e
){
return
i
(
e
,
"DOMException"
)}
function
u
(
e
){
return
i
(
e
,
"String"
)}
function
l
(
e
){
return
null
===
e
||
"object"
!=
typeof
e
&&
"function"
!=
typeof
e
}
function
p
(
e
){
return
i
(
e
,
"Object"
)}
function
d
(
e
){
return
"undefined"
!=
typeof
Event
&&
y
(
e
,
Event
)}
function
f
(
e
){
return
"undefined"
!=
typeof
Element
&&
y
(
e
,
Element
)}
function
h
(
e
){
return
i
(
e
,
"RegExp"
)}
function
g
(
e
){
return
Boolean
(
e
&&
e
.
then
&&
"function"
==
typeof
e
.
then
)}
function
m
(
e
){
return
p
(
e
)
&&
"nativeEvent"
in
e
&&
"preventDefault"
in
e
&&
"stopPropagation"
in
e
}
function
b
(
e
){
return
"number"
==
typeof
e
&&
e
!=
e
}
function
y
(
e
,
t
){
try
{
return
e
instanceof
t
}
catch
(
e
){
return
!
1
}}},
12343
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Cf
:
function
(){
return
i
},
RU
:
function
(){
return
o
},
kg
:
function
(){
return
s
}});
var
n
=
r
(
71235
);
const
o
=
[
"debug"
,
"info"
,
"warn"
,
"error"
,
"log"
,
"assert"
,
"trace"
];
function
i
(
e
){
if
(
!
(
"console"
in
n
.
n2
))
return
e
();
const
t
=
n
.
n2
.
console
,
r
=
{};
o
.
forEach
((
e
=>{
const
n
=
t
[
e
]
&&
t
[
e
].
__sentry_original__
;
e
in
t
&&
n
&&
(
r
[
e
]
=
t
[
e
],
t
[
e
]
=
n
)}));
try
{
return
e
()}
finally
{
Object
.
keys
(
r
).
forEach
((
e
=>{
t
[
e
]
=
r
[
e
]}))}}
function
a
(){
let
e
=!
1
;
const
t
=
{
enable
:
()=>{
e
=!
0
},
disable
:
()=>{
e
=!
1
}};
return
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
?
o
.
forEach
((
r
=>{
t
[
r
]
=
(...
t
)=>{
e
&&
i
((()=>{
n
.
n2
.
console
[
r
](
`Sentry Logger [
${
r
}
]:`
,...
t
)}))}}))
:
o
.
forEach
((
e
=>{
t
[
e
]
=
()=>{}})),
t
}
let
s
;
s
=
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
?
(
0
,
n
.
YO
)(
"logger"
,
a
)
:
a
()},
32004
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(){
const
e
=
"function"
==
typeof
WeakSet
,
t
=
e
?
new
WeakSet
:
[];
return
[
function
(
r
){
if
(
e
)
return
!!
t
.
has
(
r
)
||
(
t
.
add
(
r
),
!
1
);
for
(
let
e
=
0
;
e
<
t
.
length
;
e
++
){
if
(
t
[
e
]
===
r
)
return
!
0
}
return
t
.
push
(
r
),
!
1
},
function
(
r
){
if
(
e
)
t
.
delete
(
r
);
else
for
(
let
e
=
0
;
e
<
t
.
length
;
e
++
)
if
(
t
[
e
]
===
r
){
t
.
splice
(
e
,
1
);
break
}}]}
r
.
d
(
t
,{
i
:
function
(){
return
n
}})},
62844
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
DM
:
function
(){
return
i
},
Db
:
function
(){
return
c
},
EG
:
function
(){
return
u
},
YO
:
function
(){
return
l
},
jH
:
function
(){
return
s
},
lE
:
function
(){
return
p
}});
var
n
=
r
(
20535
),
o
=
r
(
71235
);
function
i
(){
const
e
=
o
.
n2
,
t
=
e
.
crypto
||
e
.
msCrypto
;
if
(
t
&&
t
.
randomUUID
)
return
t
.
randomUUID
().
replace
(
/-/g
,
""
);
const
r
=
t
&&
t
.
getRandomValues
?
()=>
t
.
getRandomValues
(
new
Uint8Array
(
1
))[
0
]
:
()=>
16
*
Math
.
random
();
return
([
1e7
]
+
1e3
+
4e3
+
8e3
+
1e11
).
replace
(
/[018]/g
,(
e
=>(
e
^
(
15
&
r
())
>>
e
/
4
).
toString
(
16
)))}
function
a
(
e
){
return
e
.
exception
&&
e
.
exception
.
values
?
e
.
exception
.
values
[
0
]
:
void
0
}
function
s
(
e
){
const
{
message
:
t
,
event_id
:
r
}
=
e
;
if
(
t
)
return
t
;
const
n
=
a
(
e
);
return
n
?
n
.
type
&&
n
.
value
?
`
${
n
.
type
}
:
${
n
.
value
}
`
:
n
.
type
||
n
.
value
||
r
||
"<unknown>"
:
r
||
"<unknown>"
}
function
c
(
e
,
t
,
r
){
const
n
=
e
.
exception
=
e
.
exception
||
{},
o
=
n
.
values
=
n
.
values
||
[],
i
=
o
[
0
]
=
o
[
0
]
||
{};
i
.
value
||
(
i
.
value
=
t
||
""
),
i
.
type
||
(
i
.
type
=
r
||
"Error"
)}
function
u
(
e
,
t
){
const
r
=
a
(
e
);
if
(
!
r
)
return
;
const
n
=
r
.
mechanism
;
if
(
r
.
mechanism
=
{
type
:
"generic"
,
handled
:!
0
,...
n
,...
t
},
t
&&
"data"
in
t
){
const
e
=
{...
n
&&
n
.
data
,...
t
.
data
};
r
.
mechanism
.
data
=
e
}}
function
l
(
e
){
if
(
e
&&
e
.
__sentry_captured__
)
return
!
0
;
try
{(
0
,
n
.
xp
)(
e
,
"__sentry_captured__"
,
!
0
)}
catch
(
e
){}
return
!
1
}
function
p
(
e
){
return
Array
.
isArray
(
e
)
?
e
:
[
e
]}},
61422
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
KV
:
function
(){
return
o
},
l$
:
function
(){
return
i
}});
var
n
=
r
(
68518
);
function
o
(){
return
!
(
0
,
n
.
n
)()
&&
"[object process]"
===
Object
.
prototype
.
toString
.
call
(
"undefined"
!=
typeof
process
?
process
:
0
)}
function
i
(
e
,
t
){
return
e
.
require
(
t
)}
e
=
r
.
hmd
(
e
)},
90322
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Fv
:
function
(){
return
s
},
Qy
:
function
(){
return
c
}});
var
n
=
r
(
67597
),
o
=
r
(
32004
),
i
=
r
(
20535
),
a
=
r
(
30360
);
function
s
(
e
,
t
=
1
/
0
,
r
=
1
/
0
){
try
{
return
u
(
""
,
e
,
t
,
r
)}
catch
(
e
){
return
{
ERROR
:
`**non-serializable** (
${
e
}
)`
}}}
function
c
(
e
,
t
=
3
,
r
=
102400
){
const
n
=
s
(
e
,
t
);
return
o
=
n
,
function
(
e
){
return
~-
encodeURI
(
e
).
split
(
/%..|./
).
length
}(
JSON
.
stringify
(
o
))
>
r
?
c
(
e
,
t
-
1
,
r
)
:
n
;
var
o
}
function
u
(
e
,
t
,
s
=
1
/
0
,
c
=
1
/
0
,
l
=
(
0
,
o
.
i
)()){
const
[
p
,
d
]
=
l
;
if
(
null
===
t
||
[
"number"
,
"boolean"
,
"string"
].
includes
(
typeof
t
)
&&!
(
0
,
n
.
i2
)(
t
))
return
t
;
const
f
=
function
(
e
,
t
){
try
{
return
"domain"
===
e
&&
t
&&
"object"
==
typeof
t
&&
t
.
_events
?
"[Domain]"
:
"domainEmitter"
===
e
?
"[DomainEmitter]"
:
void
0
!==
r
.
g
&&
t
===
r
.
g
?
"[Global]"
:
"undefined"
!=
typeof
window
&&
t
===
window
?
"[Window]"
:
"undefined"
!=
typeof
document
&&
t
===
document
?
"[Document]"
:
(
0
,
n
.
Cy
)(
t
)
?
"[SyntheticEvent]"
:
"number"
==
typeof
t
&&
t
!=
t
?
"[NaN]"
:
void
0
===
t
?
"[undefined]"
:
"function"
==
typeof
t
?
`[Function:
${
(
0
,
a
.
$P
)(
t
)
}
]`
:
"symbol"
==
typeof
t
?
`[
${
String
(
t
)
}
]`
:
"bigint"
==
typeof
t
?
`[BigInt:
${
String
(
t
)
}
]`
:
`[object
${
Object
.
getPrototypeOf
(
t
).
constructor
.
name
}
]`
}
catch
(
e
){
return
`**non-serializable** (
${
e
}
)`
}}(
e
,
t
);
if
(
!
f
.
startsWith
(
"[object "
))
return
f
;
if
(
t
.
__sentry_skip_normalization__
)
return
t
;
if
(
0
===
s
)
return
f
.
replace
(
"object "
,
""
);
if
(
p
(
t
))
return
"[Circular ~]"
;
const
h
=
t
;
if
(
h
&&
"function"
==
typeof
h
.
toJSON
)
try
{
return
u
(
""
,
h
.
toJSON
(),
s
-
1
,
c
,
l
)}
catch
(
e
){}
const
g
=
Array
.
isArray
(
t
)
?
[]
:
{};
let
m
=
0
;
const
b
=
(
0
,
i
.
Sh
)(
t
);
for
(
const
e
in
b
){
if
(
!
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
e
))
continue
;
if
(
m
>=
c
){
g
[
e
]
=
"[MaxProperties ~]"
;
break
}
const
t
=
b
[
e
];
g
[
e
]
=
u
(
e
,
t
,
s
-
1
,
c
,
l
),
m
+=
1
}
return
d
(
t
),
g
}},
20535
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
$Q
:
function
(){
return
c
},
HK
:
function
(){
return
u
},
Jr
:
function
(){
return
g
},
Sh
:
function
(){
return
p
},
_j
:
function
(){
return
l
},
hl
:
function
(){
return
a
},
xp
:
function
(){
return
s
},
zf
:
function
(){
return
h
}});
var
n
=
r
(
58464
),
o
=
r
(
67597
),
i
=
r
(
57321
);
function
a
(
e
,
t
,
r
){
if
(
!
(
t
in
e
))
return
;
const
n
=
e
[
t
],
o
=
r
(
n
);
if
(
"function"
==
typeof
o
)
try
{
c
(
o
,
n
)}
catch
(
e
){}
e
[
t
]
=
o
}
function
s
(
e
,
t
,
r
){
Object
.
defineProperty
(
e
,
t
,{
value
:
r
,
writable
:!
0
,
configurable
:!
0
})}
function
c
(
e
,
t
){
const
r
=
t
.
prototype
||
{};
e
.
prototype
=
t
.
prototype
=
r
,
s
(
e
,
"__sentry_original__"
,
t
)}
function
u
(
e
){
return
e
.
__sentry_original__
}
function
l
(
e
){
return
Object
.
keys
(
e
).
map
((
t
=>
`
${
encodeURIComponent
(
t
)
}
=
${
encodeURIComponent
(
e
[
t
])
}
`
)).
join
(
"&"
)}
function
p
(
e
){
if
((
0
,
o
.
VZ
)(
e
))
return
{
message
:
e
.
message
,
name
:
e
.
name
,
stack
:
e
.
stack
,...
f
(
e
)};
if
((
0
,
o
.
cO
)(
e
)){
const
t
=
{
type
:
e
.
type
,
target
:
d
(
e
.
target
),
currentTarget
:
d
(
e
.
currentTarget
),...
f
(
e
)};
return
"undefined"
!=
typeof
CustomEvent
&&
(
0
,
o
.
V9
)(
e
,
CustomEvent
)
&&
(
t
.
detail
=
e
.
detail
),
t
}
return
e
}
function
d
(
e
){
try
{
return
(
0
,
o
.
kK
)(
e
)
?
(
0
,
n
.
Rt
)(
e
)
:
Object
.
prototype
.
toString
.
call
(
e
)}
catch
(
e
){
return
"<unknown>"
}}
function
f
(
e
){
if
(
"object"
==
typeof
e
&&
null
!==
e
){
const
t
=
{};
for
(
const
r
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
r
)
&&
(
t
[
r
]
=
e
[
r
]);
return
t
}
return
{}}
function
h
(
e
,
t
=
40
){
const
r
=
Object
.
keys
(
p
(
e
));
if
(
r
.
sort
(),
!
r
.
length
)
return
"[object has no keys]"
;
if
(
r
[
0
].
length
>=
t
)
return
(
0
,
i
.
$G
)(
r
[
0
],
t
);
for
(
let
e
=
r
.
length
;
e
>
0
;
e
--
){
const
n
=
r
.
slice
(
0
,
e
).
join
(
", "
);
if
(
!
(
n
.
length
>
t
))
return
e
===
r
.
length
?
n
:
(
0
,
i
.
$G
)(
n
,
t
)}
return
""
}
function
g
(
e
){
return
m
(
e
,
new
Map
)}
function
m
(
e
,
t
){
if
((
0
,
o
.
PO
)(
e
)){
const
r
=
t
.
get
(
e
);
if
(
void
0
!==
r
)
return
r
;
const
n
=
{};
t
.
set
(
e
,
n
);
for
(
const
r
of
Object
.
keys
(
e
))
void
0
!==
e
[
r
]
&&
(
n
[
r
]
=
m
(
e
[
r
],
t
));
return
n
}
if
(
Array
.
isArray
(
e
)){
const
r
=
t
.
get
(
e
);
if
(
void
0
!==
r
)
return
r
;
const
n
=
[];
return
t
.
set
(
e
,
n
),
e
.
forEach
((
e
=>{
n
.
push
(
m
(
e
,
t
))})),
n
}
return
e
}},
81227
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
x
:
function
(){
return
i
}});
var
n
=
r
(
80409
),
o
=
r
(
96893
);
function
i
(
e
){
const
t
=
[];
function
r
(
e
){
return
t
.
splice
(
t
.
indexOf
(
e
),
1
)[
0
]}
return
{
$
:
t
,
add
:
function
(
i
){
if
(
!
(
void
0
===
e
||
t
.
length
<
e
))
return
(
0
,
o
.
$2
)(
new
n
.
b
(
"Not adding Promise because buffer limit was reached."
));
const
a
=
i
();
return
-
1
===
t
.
indexOf
(
a
)
&&
t
.
push
(
a
),
a
.
then
((()=>
r
(
a
))).
then
(
null
,(()=>
r
(
a
).
then
(
null
,(()=>{})))),
a
},
drain
:
function
(
e
){
return
new
o
.
cW
(((
r
,
n
)=>{
let
i
=
t
.
length
;
if
(
!
i
)
return
r
(
!
0
);
const
a
=
setTimeout
((()=>{
e
&&
e
>
0
&&
r
(
!
1
)}),
e
);
t
.
forEach
((
e
=>{(
0
,
o
.
WD
)(
e
).
then
((()=>{
--
i
||
(
clearTimeout
(
a
),
r
(
!
0
))}),
n
)}))}))}}}},
80228
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Q
:
function
(){
return
n
},
WG
:
function
(){
return
o
}});
function
n
(
e
,
t
,
r
=
Date
.
now
()){
return
function
(
e
,
t
){
return
e
[
t
]
||
e
.
all
||
0
}(
e
,
t
)
>
r
}
function
o
(
e
,{
statusCode
:
t
,
headers
:
r
},
n
=
Date
.
now
()){
const
o
=
{...
e
},
i
=
r
&&
r
[
"x-sentry-rate-limits"
],
a
=
r
&&
r
[
"retry-after"
];
if
(
i
)
for
(
const
e
of
i
.
trim
().
split
(
","
)){
const
[
t
,
r
]
=
e
.
split
(
":"
,
2
),
i
=
parseInt
(
t
,
10
),
a
=
1e3
*
(
isNaN
(
i
)
?
60
:
i
);
if
(
r
)
for
(
const
e
of
r
.
split
(
";"
))
o
[
e
]
=
n
+
a
;
else
o
.
all
=
n
+
a
}
else
a
?
o
.
all
=
n
+
function
(
e
,
t
=
Date
.
now
()){
const
r
=
parseInt
(
`
${
e
}
`
,
10
);
if
(
!
isNaN
(
r
))
return
1e3
*
r
;
const
n
=
Date
.
parse
(
`
${
e
}
`
);
return
isNaN
(
n
)
?
6e4
:
n
-
t
}(
a
,
n
)
:
429
===
t
&&
(
o
.
all
=
n
+
6e4
);
return
o
}},
16547
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
VT
:
function
(){
return
o
}});
const
n
=
[
"fatal"
,
"error"
,
"warning"
,
"log"
,
"info"
,
"debug"
];
function
o
(
e
){
return
"warn"
===
e
?
"warning"
:
n
.
includes
(
e
)
?
e
:
"log"
}},
30360
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
$P
:
function
(){
return
a
},
Sq
:
function
(){
return
o
},
pE
:
function
(){
return
n
}});
function
n
(...
e
){
const
t
=
e
.
sort
(((
e
,
t
)=>
e
[
0
]
-
t
[
0
])).
map
((
e
=>
e
[
1
]));
return
(
e
,
r
=
0
)=>{
const
n
=
[];
for
(
const
o
of
e
.
split
(
"\n"
).
slice
(
r
)){
const
e
=
o
.
replace
(
/\(error: (.*)\)/
,
"$1"
);
for
(
const
r
of
t
){
const
t
=
r
(
e
);
if
(
t
){
n
.
push
(
t
);
break
}}}
return
function
(
e
){
if
(
!
e
.
length
)
return
[];
let
t
=
e
;
const
r
=
t
[
0
].
function
||
""
,
n
=
t
[
t
.
length
-
1
].
function
||
""
;
-
1
===
r
.
indexOf
(
"captureMessage"
)
&&-
1
===
r
.
indexOf
(
"captureException"
)
||
(
t
=
t
.
slice
(
1
));
-
1
!==
n
.
indexOf
(
"sentryWrapped"
)
&&
(
t
=
t
.
slice
(
0
,
-
1
));
return
t
.
slice
(
0
,
50
).
map
((
e
=>({...
e
,
filename
:
e
.
filename
||
t
[
0
].
filename
,
function
:
e
.
function
||
"?"
}))).
reverse
()}(
n
)}}
function
o
(
e
){
return
Array
.
isArray
(
e
)
?
n
(...
e
)
:
e
}
const
i
=
"<anonymous>"
;
function
a
(
e
){
try
{
return
e
&&
"function"
==
typeof
e
&&
e
.
name
||
i
}
catch
(
e
){
return
i
}}},
57321
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
$G
:
function
(){
return
o
},
nK
:
function
(){
return
i
},
zC
:
function
(){
return
a
}});
var
n
=
r
(
67597
);
function
o
(
e
,
t
=
0
){
return
"string"
!=
typeof
e
||
0
===
t
||
e
.
length
<=
t
?
e
:
`
${
e
.
substr
(
0
,
t
)
}
...`
}
function
i
(
e
,
t
){
if
(
!
Array
.
isArray
(
e
))
return
""
;
const
r
=
[];
for
(
let
t
=
0
;
t
<
e
.
length
;
t
++
){
const
n
=
e
[
t
];
try
{
r
.
push
(
String
(
n
))}
catch
(
e
){
r
.
push
(
"[value cannot be serialized]"
)}}
return
r
.
join
(
t
)}
function
a
(
e
,
t
){
return
!!
(
0
,
n
.
HD
)(
e
)
&&
((
0
,
n
.
Kj
)(
t
)
?
t
.
test
(
e
)
:
"string"
==
typeof
t
&&-
1
!==
e
.
indexOf
(
t
))}},
8823
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Ak
:
function
(){
return
i
},
Bf
:
function
(){
return
c
},
Du
:
function
(){
return
a
},
t$
:
function
(){
return
s
}});
var
n
=
r
(
12343
);
const
o
=
(
0
,
r
(
71235
).
Rf
)();
function
i
(){
if
(
!
(
"fetch"
in
o
))
return
!
1
;
try
{
return
new
Headers
,
new
Request
(
"http://www.example.com"
),
new
Response
,
!
0
}
catch
(
e
){
return
!
1
}}
function
a
(
e
){
return
e
&&
/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/
.
test
(
e
.
toString
())}
function
s
(){
if
(
!
i
())
return
!
1
;
if
(
a
(
o
.
fetch
))
return
!
0
;
let
e
=!
1
;
const
t
=
o
.
document
;
if
(
t
&&
"function"
==
typeof
t
.
createElement
)
try
{
const
r
=
t
.
createElement
(
"iframe"
);
r
.
hidden
=!
0
,
t
.
head
.
appendChild
(
r
),
r
.
contentWindow
&&
r
.
contentWindow
.
fetch
&&
(
e
=
a
(
r
.
contentWindow
.
fetch
)),
t
.
head
.
removeChild
(
r
)}
catch
(
e
){(
"undefined"
==
typeof
__SENTRY_DEBUG__
||
__SENTRY_DEBUG__
)
&&
n
.
kg
.
warn
(
"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: "
,
e
)}
return
e
}
function
c
(){
const
e
=
o
.
chrome
,
t
=
e
&&
e
.
app
&&
e
.
app
.
runtime
,
r
=
"history"
in
o
&&!!
o
.
history
.
pushState
&&!!
o
.
history
.
replaceState
;
return
!
t
&&
r
}},
96893
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
$2
:
function
(){
return
a
},
WD
:
function
(){
return
i
},
cW
:
function
(){
return
s
}});
var
n
,
o
=
r
(
67597
);
function
i
(
e
){
return
new
s
((
t
=>{
t
(
e
)}))}
function
a
(
e
){
return
new
s
(((
t
,
r
)=>{
r
(
e
)}))}
!
function
(
e
){
e
[
e
.
PENDING
=
0
]
=
"PENDING"
;
e
[
e
.
RESOLVED
=
1
]
=
"RESOLVED"
;
e
[
e
.
REJECTED
=
2
]
=
"REJECTED"
}(
n
||
(
n
=
{}));
class
s
{
__init
(){
this
.
_state
=
n
.
PENDING
}
__init2
(){
this
.
_handlers
=
[]}
constructor
(
e
){
s
.
prototype
.
__init
.
call
(
this
),
s
.
prototype
.
__init2
.
call
(
this
),
s
.
prototype
.
__init3
.
call
(
this
),
s
.
prototype
.
__init4
.
call
(
this
),
s
.
prototype
.
__init5
.
call
(
this
),
s
.
prototype
.
__init6
.
call
(
this
);
try
{
e
(
this
.
_resolve
,
this
.
_reject
)}
catch
(
e
){
this
.
_reject
(
e
)}}
then
(
e
,
t
){
return
new
s
(((
r
,
n
)=>{
this
.
_handlers
.
push
([
!
1
,
t
=>{
if
(
e
)
try
{
r
(
e
(
t
))}
catch
(
e
){
n
(
e
)}
else
r
(
t
)},
e
=>{
if
(
t
)
try
{
r
(
t
(
e
))}
catch
(
e
){
n
(
e
)}
else
n
(
e
)}]),
this
.
_executeHandlers
()}))}
catch
(
e
){
return
this
.
then
((
e
=>
e
),
e
)}
finally
(
e
){
return
new
s
(((
t
,
r
)=>{
let
n
,
o
;
return
this
.
then
((
t
=>{
o
=!
1
,
n
=
t
,
e
&&
e
()}),(
t
=>{
o
=!
0
,
n
=
t
,
e
&&
e
()})).
then
((()=>{
o
?
r
(
n
)
:
t
(
n
)}))}))}
__init3
(){
this
.
_resolve
=
e
=>{
this
.
_setResult
(
n
.
RESOLVED
,
e
)}}
__init4
(){
this
.
_reject
=
e
=>{
this
.
_setResult
(
n
.
REJECTED
,
e
)}}
__init5
(){
this
.
_setResult
=
(
e
,
t
)=>{
this
.
_state
===
n
.
PENDING
&&
((
0
,
o
.
J8
)(
t
)
?
t
.
then
(
this
.
_resolve
,
this
.
_reject
)
:
(
this
.
_state
=
e
,
this
.
_value
=
t
,
this
.
_executeHandlers
()))}}
__init6
(){
this
.
_executeHandlers
=
()=>{
if
(
this
.
_state
===
n
.
PENDING
)
return
;
const
e
=
this
.
_handlers
.
slice
();
this
.
_handlers
=
[],
e
.
forEach
((
e
=>{
e
[
0
]
||
(
this
.
_state
===
n
.
RESOLVED
&&
e
[
1
](
this
.
_value
),
this
.
_state
===
n
.
REJECTED
&&
e
[
2
](
this
.
_value
),
e
[
0
]
=!
0
)}))}}}},
21170
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
ph
:
function
(){
return
l
},
yW
:
function
(){
return
u
}});
var
n
=
r
(
61422
),
o
=
r
(
71235
);
e
=
r
.
hmd
(
e
);
const
i
=
(
0
,
o
.
Rf
)(),
a
=
{
nowSeconds
:
()=>
Date
.
now
()
/
1e3
};
const
s
=
(
0
,
n
.
KV
)()
?
function
(){
try
{
return
(
0
,
n
.
l$
)(
e
,
"perf_hooks"
).
performance
}
catch
(
e
){
return
}}()
:
function
(){
const
{
performance
:
e
}
=
i
;
if
(
!
e
||!
e
.
now
)
return
;
return
{
now
:
()=>
e
.
now
(),
timeOrigin
:
Date
.
now
()
-
e
.
now
()}}(),
c
=
void
0
===
s
?
a
:
{
nowSeconds
:
()=>(
s
.
timeOrigin
+
s
.
now
())
/
1e3
},
u
=
a
.
nowSeconds
.
bind
(
a
),
l
=
c
.
nowSeconds
.
bind
(
c
);
let
p
;(()=>{
const
{
performance
:
e
}
=
i
;
if
(
!
e
||!
e
.
now
)
return
void
(
p
=
"none"
);
const
t
=
36e5
,
r
=
e
.
now
(),
n
=
Date
.
now
(),
o
=
e
.
timeOrigin
?
Math
.
abs
(
e
.
timeOrigin
+
r
-
n
)
:
t
,
a
=
o
<
t
,
s
=
e
.
timing
&&
e
.
timing
.
navigationStart
,
c
=
"number"
==
typeof
s
?
Math
.
abs
(
s
+
r
-
n
)
:
t
;
a
||
c
<
t
?
o
<=
c
?
(
p
=
"timeOrigin"
,
e
.
timeOrigin
)
:
p
=
"navigationStart"
:
p
=
"dateNow"
})()},
26956
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(
e
){
if
(
!
e
)
return
{};
const
t
=
e
.
match
(
/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/
);
if
(
!
t
)
return
{};
const
r
=
t
[
6
]
||
""
,
n
=
t
[
8
]
||
""
;
return
{
host
:
t
[
4
],
path
:
t
[
5
],
protocol
:
t
[
2
],
relative
:
t
[
5
]
+
r
+
n
}}
r
.
d
(
t
,{
en
:
function
(){
return
n
}})},
71235
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(
e
){
return
e
&&
e
.
Math
==
Math
?
e
:
void
0
}
r
.
d
(
t
,{
Rf
:
function
(){
return
i
},
YO
:
function
(){
return
a
},
n2
:
function
(){
return
o
}});
const
o
=
"object"
==
typeof
globalThis
&&
n
(
globalThis
)
||
"object"
==
typeof
window
&&
n
(
window
)
||
"object"
==
typeof
self
&&
n
(
self
)
||
"object"
==
typeof
r
.
g
&&
n
(
r
.
g
)
||
function
(){
return
this
}()
||
{};
function
i
(){
return
o
}
function
a
(
e
,
t
,
r
){
const
n
=
r
||
o
,
i
=
n
.
__SENTRY__
=
n
.
__SENTRY__
||
{};
return
i
[
e
]
||
(
i
[
e
]
=
t
())}},
34431
:
function
(
e
,
t
){
var
r
,
n
,
o
;
n
=
[
t
],
r
=
function
(
e
){
"use strict"
;
var
t
,
r
=
this
&&
this
.
__makeTemplateObject
||
function
(
e
,
t
){
return
Object
.
defineProperty
?
Object
.
defineProperty
(
e
,
"raw"
,{
value
:
t
})
:
e
.
raw
=
t
,
e
};
!
function
(
e
){
e
[
e
.
EOS
=
0
]
=
"EOS"
,
e
[
e
.
Text
=
1
]
=
"Text"
,
e
[
e
.
Incomplete
=
2
]
=
"Incomplete"
,
e
[
e
.
ESC
=
3
]
=
"ESC"
,
e
[
e
.
Unknown
=
4
]
=
"Unknown"
,
e
[
e
.
SGR
=
5
]
=
"SGR"
,
e
[
e
.
OSCURL
=
6
]
=
"OSCURL"
}(
t
||
(
t
=
{}));
var
n
=
function
(){
function
e
(){
this
.
VERSION
=
"5.1.0"
,
this
.
setup_palettes
(),
this
.
_use_classes
=!
1
,
this
.
bold
=!
1
,
this
.
italic
=!
1
,
this
.
underline
=!
1
,
this
.
fg
=
this
.
bg
=
null
,
this
.
_buffer
=
""
,
this
.
_url_whitelist
=
{
http
:
1
,
https
:
1
}}
return
Object
.
defineProperty
(
e
.
prototype
,
"use_classes"
,{
get
:
function
(){
return
this
.
_use_classes
},
set
:
function
(
e
){
this
.
_use_classes
=
e
},
enumerable
:!
1
,
configurable
:!
0
}),
Object
.
defineProperty
(
e
.
prototype
,
"url_whitelist"
,{
get
:
function
(){
return
this
.
_url_whitelist
},
set
:
function
(
e
){
this
.
_url_whitelist
=
e
},
enumerable
:!
1
,
configurable
:!
0
}),
e
.
prototype
.
setup_palettes
=
function
(){
var
e
=
this
;
this
.
ansi_colors
=
[[{
rgb
:
[
0
,
0
,
0
],
class_name
:
"ansi-black"
},{
rgb
:
[
187
,
0
,
0
],
class_name
:
"ansi-red"
},{
rgb
:
[
0
,
187
,
0
],
class_name
:
"ansi-green"
},{
rgb
:
[
187
,
187
,
0
],
class_name
:
"ansi-yellow"
},{
rgb
:
[
0
,
0
,
187
],
class_name
:
"ansi-blue"
},{
rgb
:
[
187
,
0
,
187
],
class_name
:
"ansi-magenta"
},{
rgb
:
[
0
,
187
,
187
],
class_name
:
"ansi-cyan"
},{
rgb
:
[
255
,
255
,
255
],
class_name
:
"ansi-white"
}],[{
rgb
:
[
85
,
85
,
85
],
class_name
:
"ansi-bright-black"
},{
rgb
:
[
255
,
85
,
85
],
class_name
:
"ansi-bright-red"
},{
rgb
:
[
0
,
255
,
0
],
class_name
:
"ansi-bright-green"
},{
rgb
:
[
255
,
255
,
85
],
class_name
:
"ansi-bright-yellow"
},{
rgb
:
[
85
,
85
,
255
],
class_name
:
"ansi-bright-blue"
},{
rgb
:
[
255
,
85
,
255
],
class_name
:
"ansi-bright-magenta"
},{
rgb
:
[
85
,
255
,
255
],
class_name
:
"ansi-bright-cyan"
},{
rgb
:
[
255
,
255
,
255
],
class_name
:
"ansi-bright-white"
}]],
this
.
palette_256
=
[],
this
.
ansi_colors
.
forEach
((
function
(
t
){
t
.
forEach
((
function
(
t
){
e
.
palette_256
.
push
(
t
)}))}));
for
(
var
t
=
[
0
,
95
,
135
,
175
,
215
,
255
],
r
=
0
;
r
<
6
;
++
r
)
for
(
var
n
=
0
;
n
<
6
;
++
n
)
for
(
var
o
=
0
;
o
<
6
;
++
o
){
var
i
=
{
rgb
:
[
t
[
r
],
t
[
n
],
t
[
o
]],
class_name
:
"truecolor"
};
this
.
palette_256
.
push
(
i
)}
for
(
var
a
=
8
,
s
=
0
;
s
<
24
;
++
s
,
a
+=
10
){
var
c
=
{
rgb
:
[
a
,
a
,
a
],
class_name
:
"truecolor"
};
this
.
palette_256
.
push
(
c
)}},
e
.
prototype
.
escape_txt_for_html
=
function
(
e
){
return
e
.
replace
(
/[&<>"']/gm
,(
function
(
e
){
return
"&"
===
e
?
"&"
:
"<"
===
e
?
"<"
:
">"
===
e
?
">"
:
'"'
===
e
?
"""
:
"'"
===
e
?
"'"
:
void
0
}))},
e
.
prototype
.
append_buffer
=
function
(
e
){
var
t
=
this
.
_buffer
+
e
;
this
.
_buffer
=
t
},
e
.
prototype
.
get_next_packet
=
function
(){
var
e
=
{
kind
:
t
.
EOS
,
text
:
""
,
url
:
""
},
n
=
this
.
_buffer
.
length
;
if
(
0
==
n
)
return
e
;
var
a
=
this
.
_buffer
.
indexOf
(
""
);
if
(
-
1
==
a
)
return
e
.
kind
=
t
.
Text
,
e
.
text
=
this
.
_buffer
,
this
.
_buffer
=
""
,
e
;
if
(
a
>
0
)
return
e
.
kind
=
t
.
Text
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
a
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
a
),
e
;
if
(
0
==
a
){
if
(
1
==
n
)
return
e
.
kind
=
t
.
Incomplete
,
e
;
var
s
=
this
.
_buffer
.
charAt
(
1
);
if
(
"["
!=
s
&&
"]"
!=
s
)
return
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
;
if
(
"["
==
s
){
if
(
this
.
_csi_regex
||
(
this
.
_csi_regex
=
o
(
r
([
"\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n [ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n [ # CSI\n [ -~]* # anything legal\n ([\0-:]) # anything illegal\n )\n "
],[
"\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "
]))),
null
===
(
l
=
this
.
_buffer
.
match
(
this
.
_csi_regex
)))
return
e
.
kind
=
t
.
Incomplete
,
e
;
if
(
l
[
4
])
return
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
;
""
!=
l
[
1
]
||
"m"
!=
l
[
3
]
?
e
.
kind
=
t
.
Unknown
:
e
.
kind
=
t
.
SGR
,
e
.
text
=
l
[
2
];
var
c
=
l
[
0
].
length
;
return
this
.
_buffer
=
this
.
_buffer
.
slice
(
c
),
e
}
if
(
"]"
==
s
){
if
(
n
<
4
)
return
e
.
kind
=
t
.
Incomplete
,
e
;
if
(
"8"
!=
this
.
_buffer
.
charAt
(
2
)
||
";"
!=
this
.
_buffer
.
charAt
(
3
))
return
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
;
this
.
_osc_st
||
(
this
.
_osc_st
=
i
(
r
([
"\n (?: # legal sequence\n (\\) # ESC | # alternate\n () # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\0-] # anything illegal\n | # alternate\n [\b-] # anything illegal\n | # alternate\n [-] # anything illegal\n )\n "
],[
"\n (?: # legal sequence\n (\\x1b\\\\) # ESC \\\n | # alternate\n (\\x07) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\\x00-\\x06] # anything illegal\n | # alternate\n [\\x08-\\x1a] # anything illegal\n | # alternate\n [\\x1c-\\x1f] # anything illegal\n )\n "
]))),
this
.
_osc_st
.
lastIndex
=
0
;
var
u
=
this
.
_osc_st
.
exec
(
this
.
_buffer
);
if
(
null
===
u
)
return
e
.
kind
=
t
.
Incomplete
,
e
;
if
(
u
[
3
])
return
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
;
var
l
,
p
=
this
.
_osc_st
.
exec
(
this
.
_buffer
);
return
null
===
p
?
(
e
.
kind
=
t
.
Incomplete
,
e
)
:
p
[
3
]
?
(
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
)
:
(
this
.
_osc_regex
||
(
this
.
_osc_regex
=
o
(
r
([
"\n ^ # beginning of line\n #\n ]8; # OSC Hyperlink\n [ -:<-~]* # params (excluding ;)\n ; # end of params\n ([!-~]{0,512}) # URL capture\n (?: # ST\n (?:\\) # ESC | # alternate\n (?:) # BEL (what xterm did)\n )\n ([ -~]+) # TEXT capture\n ]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\) # ESC | # alternate\n (?:) # BEL (what xterm did)\n )\n "
],[
"\n ^ # beginning of line\n #\n \\x1b\\]8; # OSC Hyperlink\n [\\x20-\\x3a\\x3c-\\x7e]* # params (excluding ;)\n ; # end of params\n ([\\x21-\\x7e]{0,512}) # URL capture\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n ([\\x20-\\x7e]+) # TEXT capture\n \\x1b\\]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n "
]))),
null
===
(
l
=
this
.
_buffer
.
match
(
this
.
_osc_regex
))
?
(
e
.
kind
=
t
.
ESC
,
e
.
text
=
this
.
_buffer
.
slice
(
0
,
1
),
this
.
_buffer
=
this
.
_buffer
.
slice
(
1
),
e
)
:
(
e
.
kind
=
t
.
OSCURL
,
e
.
url
=
l
[
1
],
e
.
text
=
l
[
2
],
c
=
l
[
0
].
length
,
this
.
_buffer
=
this
.
_buffer
.
slice
(
c
),
e
))}}},
e
.
prototype
.
ansi_to_html
=
function
(
e
){
this
.
append_buffer
(
e
);
for
(
var
r
=
[];;){
var
n
=
this
.
get_next_packet
();
if
(
n
.
kind
==
t
.
EOS
||
n
.
kind
==
t
.
Incomplete
)
break
;
n
.
kind
!=
t
.
ESC
&&
n
.
kind
!=
t
.
Unknown
&&
(
n
.
kind
==
t
.
Text
?
r
.
push
(
this
.
transform_to_html
(
this
.
with_state
(
n
)))
:
n
.
kind
==
t
.
SGR
?
this
.
process_ansi
(
n
)
:
n
.
kind
==
t
.
OSCURL
&&
r
.
push
(
this
.
process_hyperlink
(
n
)))}
return
r
.
join
(
""
)},
e
.
prototype
.
with_state
=
function
(
e
){
return
{
bold
:
this
.
bold
,
italic
:
this
.
italic
,
underline
:
this
.
underline
,
fg
:
this
.
fg
,
bg
:
this
.
bg
,
text
:
e
.
text
}},
e
.
prototype
.
process_ansi
=
function
(
e
){
for
(
var
t
=
e
.
text
.
split
(
";"
);
t
.
length
>
0
;){
var
r
=
t
.
shift
(),
n
=
parseInt
(
r
,
10
);
if
(
isNaN
(
n
)
||
0
===
n
)
this
.
fg
=
this
.
bg
=
null
,
this
.
bold
=!
1
,
this
.
italic
=!
1
,
this
.
underline
=!
1
;
else
if
(
1
===
n
)
this
.
bold
=!
0
;
else
if
(
3
===
n
)
this
.
italic
=!
0
;
else
if
(
4
===
n
)
this
.
underline
=!
0
;
else
if
(
22
===
n
)
this
.
bold
=!
1
;
else
if
(
23
===
n
)
this
.
italic
=!
1
;
else
if
(
24
===
n
)
this
.
underline
=!
1
;
else
if
(
39
===
n
)
this
.
fg
=
null
;
else
if
(
49
===
n
)
this
.
bg
=
null
;
else
if
(
n
>=
30
&&
n
<
38
)
this
.
fg
=
this
.
ansi_colors
[
0
][
n
-
30
];
else
if
(
n
>=
40
&&
n
<
48
)
this
.
bg
=
this
.
ansi_colors
[
0
][
n
-
40
];
else
if
(
n
>=
90
&&
n
<
98
)
this
.
fg
=
this
.
ansi_colors
[
1
][
n
-
90
];
else
if
(
n
>=
100
&&
n
<
108
)
this
.
bg
=
this
.
ansi_colors
[
1
][
n
-
100
];
else
if
((
38
===
n
||
48
===
n
)
&&
t
.
length
>
0
){
var
o
=
38
===
n
,
i
=
t
.
shift
();
if
(
"5"
===
i
&&
t
.
length
>
0
){
var
a
=
parseInt
(
t
.
shift
(),
10
);
a
>=
0
&&
a
<=
255
&&
(
o
?
this
.
fg
=
this
.
palette_256
[
a
]
:
this
.
bg
=
this
.
palette_256
[
a
])}
if
(
"2"
===
i
&&
t
.
length
>
2
){
var
s
=
parseInt
(
t
.
shift
(),
10
),
c
=
parseInt
(
t
.
shift
(),
10
),
u
=
parseInt
(
t
.
shift
(),
10
);
if
(
s
>=
0
&&
s
<=
255
&&
c
>=
0
&&
c
<=
255
&&
u
>=
0
&&
u
<=
255
){
var
l
=
{
rgb
:
[
s
,
c
,
u
],
class_name
:
"truecolor"
};
o
?
this
.
fg
=
l
:
this
.
bg
=
l
}}}}},
e
.
prototype
.
transform_to_html
=
function
(
e
){
var
t
=
e
.
text
;
if
(
0
===
t
.
length
)
return
t
;
if
(
t
=
this
.
escape_txt_for_html
(
t
),
!
e
.
bold
&&!
e
.
italic
&&!
e
.
underline
&&
null
===
e
.
fg
&&
null
===
e
.
bg
)
return
t
;
var
r
=
[],
n
=
[],
o
=
e
.
fg
,
i
=
e
.
bg
;
e
.
bold
&&
r
.
push
(
"font-weight:bold"
),
e
.
italic
&&
r
.
push
(
"font-style:italic"
),
e
.
underline
&&
r
.
push
(
"text-decoration:underline"
),
this
.
_use_classes
?
(
o
&&
(
"truecolor"
!==
o
.
class_name
?
n
.
push
(
o
.
class_name
+
"-fg"
)
:
r
.
push
(
"color:rgb("
+
o
.
rgb
.
join
(
","
)
+
")"
)),
i
&&
(
"truecolor"
!==
i
.
class_name
?
n
.
push
(
i
.
class_name
+
"-bg"
)
:
r
.
push
(
"background-color:rgb("
+
i
.
rgb
.
join
(
","
)
+
")"
)))
:
(
o
&&
r
.
push
(
"color:rgb("
+
o
.
rgb
.
join
(
","
)
+
")"
),
i
&&
r
.
push
(
"background-color:rgb("
+
i
.
rgb
+
")"
));
var
a
=
""
,
s
=
""
;
return
n
.
length
&&
(
a
=
' class="'
+
n
.
join
(
" "
)
+
'"'
),
r
.
length
&&
(
s
=
' style="'
+
r
.
join
(
";"
)
+
'"'
),
"<span"
+
s
+
a
+
">"
+
t
+
"</span>"
},
e
.
prototype
.
process_hyperlink
=
function
(
e
){
var
t
=
e
.
url
.
split
(
":"
);
return
t
.
length
<
1
?
""
:
this
.
_url_whitelist
[
t
[
0
]]
?
'<a href="'
+
this
.
escape_txt_for_html
(
e
.
url
)
+
'">'
+
this
.
escape_txt_for_html
(
e
.
text
)
+
"</a>"
:
""
},
e
}();
function
o
(
e
){
for
(
var
t
=
[],
r
=
1
;
r
<
arguments
.
length
;
r
++
)
t
[
r
-
1
]
=
arguments
[
r
];
var
n
=
/^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm
,
o
=
e
.
raw
[
0
].
replace
(
n
,
""
);
return
new
RegExp
(
o
)}
function
i
(
e
){
for
(
var
t
=
[],
r
=
1
;
r
<
arguments
.
length
;
r
++
)
t
[
r
-
1
]
=
arguments
[
r
];
var
n
=
/^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm
,
o
=
e
.
raw
[
0
].
replace
(
n
,
""
);
return
new
RegExp
(
o
,
"g"
)}
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:!
0
}),
e
.
default
=
n
},
void
0
===
(
o
=
"function"
==
typeof
r
?
r
.
apply
(
t
,
n
)
:
r
)
||
(
e
.
exports
=
o
)},
86515
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
GI
:
function
(){
return
o
}});
var
n
=
r
(
59537
),
o
=
992
;(
0
,
n
.
TT
)(
"img/swh-spinner.gif"
)},
59537
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
L3
:
function
(){
return
i
},
TT
:
function
(){
return
o
},
eO
:
function
(){
return
a
},
ry
:
function
(){
return
n
}});
r
(
87757
),
r
(
31955
);
function
n
(
e
){
if
(
!
e
.
ok
)
throw
e
;
return
e
}
function
o
(
e
){
return
"/static/"
+
e
}
function
i
(){
history
.
replaceState
(
""
,
document
.
title
,
window
.
location
.
pathname
+
window
.
location
.
search
)}
function
a
(
e
,
t
){
var
r
=
window
.
getSelection
();
r
.
removeAllRanges
();
var
n
=
document
.
createRange
();
n
.
setStart
(
e
,
0
),
"#text"
!==
t
.
nodeName
?
n
.
setEnd
(
t
,
t
.
childNodes
.
length
)
:
n
.
setEnd
(
t
,
t
.
textContent
.
length
),
r
.
addRange
(
n
)}},
95786
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(
e
,
t
){
var
r
,
n
;
if
(
"origin"
===
e
)
r
=
Urls
.
swh_badge
(
e
,
t
),
n
=
Urls
.
browse_origin
()
+
"?origin_url="
+
t
;
else
{
var
o
=
t
.
indexOf
(
";"
);
if
(
-
1
!==
o
){
var
i
=
t
.
slice
(
0
,
o
);
r
=
Urls
.
swh_badge_swhid
(
i
),
$
(
".swhid"
).
each
((
function
(
e
,
t
){
t
.
id
===
i
&&
(
n
=
t
.
pathname
)}))}
else
r
=
Urls
.
swh_badge_swhid
(
t
),
n
=
Urls
.
browse_swhid
(
t
)}
var
a
=
""
+
window
.
location
.
origin
+
r
,
s
=
""
+
window
.
location
.
origin
+
n
,
c
=
'\n <a href="'
+
s
+
'">\n <img class="swh-badge" src="'
+
a
+
'">\n </a>\n <div>\n <label>HTML</label>\n <pre><code class="swh-badge-html html"><a href="'
+
s
+
'">\n <img src="'
+
a
+
'">\n</a></code></pre>\n </div>\n <div>\n <label>Markdown</label>\n <pre><code class="swh-badge-md markdown">[]("
+
s
+
')</code></pre>\n </div>\n <div>\n <label>reStructuredText</label>\n <pre class="swh-badge-rst">.. image:: '
+
a
+
"\n :target: "
+
s
+
"</pre>\n </div>"
;
swh
.
webapp
.
showModalHtml
(
"Software Heritage badge integration"
,
c
),
swh
.
webapp
.
highlightCode
(
!
1
,
".swh-badge-html"
),
swh
.
webapp
.
highlightCode
(
!
1
,
".swh-badge-md"
)}
r
.
d
(
t
,{
h
:
function
(){
return
n
}})},
12988
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
IG
:
function
(){
return
p
},
KC
:
function
(){
return
c
},
RI
:
function
(){
return
u
},
Xm
:
function
(){
return
l
},
xw
:
function
(){
return
d
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
),
a
=
r
(
59537
),
s
=
null
;
function
c
(
e
,
t
){
void
0
===
t
&&
(
t
=!
1
);
var
r
=
$
(
'.hljs-ln-line[data-line-number="'
+
e
+
'"]'
);
return
r
.
css
(
"background-color"
,
"rgb(193, 255, 193)"
),
t
&&
(
s
=
e
),
r
}
function
u
(
e
,
t
){
if
(
e
){
t
||
(
t
=
e
);
for
(
var
r
=
e
;
r
<=
t
;
++
r
)
c
(
r
)}}
function
l
(){
s
=
null
,
$
(
".hljs-ln-line[data-line-number]"
).
css
(
"background-color"
,
"inherit"
)}
function
p
(
e
,
t
){
void
0
===
t
&&
(
t
=
70
),
$
(
e
).
closest
(
".swh-content"
).
length
>
0
&&
$
(
"html, body"
).
animate
({
scrollTop
:
$
(
e
).
offset
().
top
-
t
},
500
)}
function
d
(
e
,
t
,
r
){
return
f
.
apply
(
this
,
arguments
)}
function
f
(){
return
(
f
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
,
n
,
o
){
var
d
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
d
=
function
(){
var
e
=
[],
t
=
new
RegExp
(
/L(\d+)/g
),
r
=
t
.
exec
(
window
.
location
.
hash
);
if
(
null
!==
r
){
for
(;
r
;)
e
.
push
(
parseInt
(
r
[
1
])),
r
=
t
.
exec
(
window
.
location
.
hash
);
l
(),
1
===
e
.
length
?
(
s
=
parseInt
(
e
[
0
]),
p
(
c
(
e
[
0
])))
:
e
[
0
]
<
e
[
e
.
length
-
1
]
&&
(
s
=
parseInt
(
e
[
0
]),
p
(
c
(
e
[
0
])),
u
(
e
[
0
]
+
1
,
e
[
e
.
length
-
1
]))}},
void
0
===
t
&&
(
t
=!
0
),
void
0
===
n
&&
(
n
=
"code"
),
void
0
===
o
&&
(
o
=!
0
),
e
.
next
=
6
,
r
.
e
(
399
).
then
(
r
.
bind
(
r
,
68480
));
case
6
:
$
(
document
).
ready
((
function
(){
$
(
n
).
each
((
function
(
e
,
r
){
hljs
.
highlightElement
(
r
),
t
&&
hljs
.
lineNumbersElement
(
r
,{
singleLine
:!
0
})})),
t
&&
o
&&
(
$
(
".swh-content"
).
click
((
function
(
e
){
if
(
e
.
target
.
classList
.
contains
(
"hljs-ln-n"
)){
var
t
=
parseInt
(
$
(
e
.
target
).
data
(
"line-number"
));
if
(
e
.
shiftKey
&&
s
&&
t
>
s
){
var
r
=
s
;
l
(),
u
(
r
,
t
),
s
=
r
,
window
.
location
.
hash
=
"#L"
+
r
+
"-L"
+
t
}
else
l
(),
c
(
t
),
window
.
location
.
hash
=
"#L"
+
t
,
p
(
e
.
target
)}
else
$
(
e
.
target
).
closest
(
".hljs-ln"
).
length
&&
(
l
(),(
0
,
a
.
L3
)())})),
$
(
window
).
on
(
"hashchange"
,(
function
(){
return
d
()})),
setTimeout
((
function
(){
d
()})))}));
case
7
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}},
4556
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
q
:
function
(){
return
a
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
);
function
a
(
e
,
t
){
return
s
.
apply
(
this
,
arguments
)}
function
s
(){
return
(
s
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
,
n
){
var
o
,
a
,
s
,
c
,
u
,
l
,
p
,
d
,
f
,
h
,
g
,
m
,
b
,
y
,
v
,
_
,
w
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
w
=
function
(
e
){
var
t
=
h
.
invert
(
o
.
pointer
(
e
)[
0
]),
r
=
v
(
n
,
t
,
1
);
if
(
!
(
r
>=
n
.
length
)){
var
i
=
n
[
r
-
1
],
a
=
n
[
r
],
s
=
t
-
i
[
0
]
>
a
[
0
]
-
t
?
a
:
i
;
_
.
attr
(
"transform"
,
"translate("
+
h
(
s
[
0
])
+
", "
+
g
(
s
[
1
])
+
")"
);
var
c
=
b
(
s
[
0
])
+
" "
+
y
(
s
[
1
]);
l
.
html
(
c
).
style
(
"left"
,
e
.
pageX
+
15
+
"px"
).
style
(
"top"
,
e
.
pageY
+
"px"
)}},
e
.
next
=
3
,
r
.
e
(
891
).
then
(
r
.
bind
(
r
,
40847
));
case
3
:
(
o
=
e
.
sent
).
select
(
t
).
select
(
"svg"
).
remove
(),
o
.
select
(
t
+
"-tooltip"
).
remove
(),
a
=
400
,
s
=
300
,
c
=
{
top
:
20
,
right
:
50
,
bottom
:
70
,
left
:
30
},
u
=
o
.
select
(
t
).
attr
(
"style"
,
"padding-bottom: "
+
Math
.
ceil
(
100
*
s
/
a
)
+
"%"
).
append
(
"svg"
).
attr
(
"viewBox"
,
"0 0 "
+
a
+
" "
+
s
),
l
=
o
.
select
(
"body"
).
append
(
"div"
).
attr
(
"class"
,
"d3-tooltip"
).
attr
(
"id"
,
t
+
"-tooltip"
).
style
(
"opacity"
,
0
),
a
=
a
-
c
.
left
-
c
.
right
,
s
=
s
-
c
.
top
-
c
.
bottom
,
n
.
sort
((
function
(
e
,
t
){
return
e
[
0
]
-
t
[
0
]
!=
0
?
e
[
0
]
-
t
[
0
]
:
e
[
1
]
-
t
[
1
]})),
p
=
n
[
0
],
d
=
n
[
n
.
length
-
1
],
f
=
u
.
append
(
"g"
).
attr
(
"transform"
,
"translate("
+
c
.
left
+
", "
+
c
.
top
+
")"
),
h
=
o
.
scaleTime
().
rangeRound
([
0
,
a
]).
domain
([
p
[
0
],
d
[
0
]]).
nice
(),
g
=
o
.
scaleLinear
().
range
([
s
,
0
]).
domain
([
p
[
1
],
d
[
1
]]).
nice
(),
m
=
o
.
line
().
x
((
function
(
e
){
return
h
(
e
[
0
])})).
y
((
function
(
e
){
return
g
(
e
[
1
])})),
b
=
o
.
timeFormat
(
"%d %b %Y"
),
y
=
function
(
e
){
return
o
.
format
(
".3s"
)(
e
).
replace
(
/G/
,
"B"
)},
v
=
o
.
bisector
((
function
(
e
){
return
e
[
0
]})).
left
,
f
.
append
(
"g"
).
attr
(
"class"
,
"axis"
).
attr
(
"transform"
,
"translate(0, "
+
s
+
")"
).
call
(
o
.
axisBottom
(
h
).
ticks
(
10
).
tickFormat
(
b
)).
selectAll
(
"text"
).
style
(
"text-anchor"
,
"end"
).
attr
(
"dx"
,
"-.8em"
).
attr
(
"dy"
,
".15em"
).
attr
(
"transform"
,
"rotate(-65)"
),
f
.
append
(
"g"
).
attr
(
"class"
,
"axis"
).
attr
(
"transform"
,
"translate("
+
a
+
", 0)"
).
call
(
o
.
axisRight
(
g
).
ticks
(
10
).
tickFormat
(
y
)),
f
.
append
(
"path"
).
datum
(
n
).
attr
(
"class"
,
"swh-history-counter-line"
).
attr
(
"d"
,
m
),(
_
=
f
.
append
(
"g"
).
attr
(
"class"
,
"swh-history-counter-focus"
).
style
(
"display"
,
"none"
)).
append
(
"circle"
).
attr
(
"r"
,
8
),
f
.
append
(
"rect"
).
attr
(
"class"
,
"swh-history-counter-overlay"
).
attr
(
"width"
,
a
).
attr
(
"height"
,
s
).
on
(
"mouseover"
,(
function
(
e
){
_
.
style
(
"display"
,
null
),
w
(
e
),
l
.
transition
().
duration
(
200
).
style
(
"opacity"
,
1
)})).
on
(
"mouseout"
,(
function
(){
_
.
style
(
"display"
,
"none"
),
l
.
transition
().
duration
(
200
).
style
(
"opacity"
,
0
)})).
on
(
"mousemove"
,(
function
(
e
){
w
(
e
)}));
case
29
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}},
59244
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
d
:
function
(){
return
s
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
),
a
=
r
(
59537
);
function
s
(){
return
c
.
apply
(
this
,
arguments
)}
function
c
(){
return
(
c
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(){
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
window
.
MathJax
=
{
chtml
:
{
fontURL
:
(
0
,
a
.
TT
)(
"fonts/"
)},
tex
:
{
tags
:
"ams"
,
useLabelIds
:!
0
,
inlineMath
:
[[
"$"
,
"$"
],[
"\\("
,
"\\)"
]],
displayMath
:
[[
"$$"
,
"$$"
],[
"\\["
,
"\\]"
]],
processEscapes
:!
0
,
processEnvironments
:!
0
}},
e
.
next
=
3
,
r
.
e
(
684
).
then
(
r
.
bind
(
r
,
7321
));
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}},
56493
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
Q
:
function
(){
return
p
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
),
a
=
(
r
(
37755
),
r
(
34431
)),
s
=
new
(
r
.
n
(
a
)());
function
c
(
e
){
return
e
=
(
e
=
e
.
replace
(
/</g
,
"<"
)).
replace
(
/>/g
,
">"
)}
function
u
(
e
){
return
e
=
(
e
=
e
.
replace
(
/</g
,
"<"
)).
replace
(
/>/g
,
">"
)}
function
l
(
e
){
for
(
var
t
,
r
,
n
,
o
=
/\$\$([\s\S]+?)\$\$|\\\\\[([\s\S]+?)\\\\\]/gm
,
i
=
/\$(.+?)\$|\\\\\((.+?)\\\\\)/g
,
a
=
/\\begin\{([a-z]*\*?)\}([\s\S]+?)\\end\{\1\}/gm
,
s
=
[];
null
!==
(
t
=
o
.
exec
(
e
));)
s
.
push
(
t
[
1
]);
for
(;
null
!==
(
r
=
i
.
exec
(
e
));)
s
.
push
(
r
[
1
]);
for
(;
null
!==
(
n
=
a
.
exec
(
e
));)
s
.
push
(
n
[
1
]);
for
(
var
u
=
0
,
l
=
s
;
u
<
l
.
length
;
u
++
){
for
(
var
p
=
l
[
u
],
d
=
p
.
replace
(
"\\\\"
,
"\\\\\\\\"
),
f
=
0
,
h
=
[
"{"
,
"}"
,
"#"
,
"%"
,
"&"
,
"_"
];
f
<
h
.
length
;
f
++
){
var
g
=
h
[
f
];
d
=
d
.
replace
(
new
RegExp
(
"\\\\"
+
g
,
"g"
),
"\\\\"
+
g
)}
p
!==
(
d
=
(
d
=
c
(
d
)).
replace
(
/_/g
,
"{@}underscore{@}"
))
&&
(
e
=
e
.
replace
(
p
,
d
))}
return
e
}
function
p
(
e
,
t
){
return
d
.
apply
(
this
,
arguments
)}
function
d
(){
return
(
d
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
,
n
){
var
o
,
a
,
c
,
p
,
d
,
f
,
h
,
g
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
p
=
function
(
e
){
return
s
.
ansi_to_html
(
e
)},
c
=
function
(
e
,
t
,
r
,
n
){
return
-
1
===
e
.
indexOf
(
'<span style="color:rgb('
)
&&
(
e
=
u
(
e
)),
n
&&
hljs
.
getLanguage
(
n
)
?
hljs
.
highlight
(
e
,{
language
:
n
}).
value
:
e
},
a
=
function
(
e
){
var
t
=
new
o
.
Converter
({
tables
:!
0
,
simplifiedAutoLink
:!
0
,
rawHeaderId
:!
0
,
literalMidWordUnderscores
:!
0
});
e
=
l
(
e
);
var
r
=
t
.
makeHtml
(
e
);
return
r
=
r
.
replace
(
/{@}underscore{@}/g
,
"_"
)},
e
.
next
=
5
,
r
.
e
(
522
).
then
(
r
.
bind
(
r
,
83035
));
case
5
:
return
o
=
e
.
sent
,
e
.
next
=
8
,
r
.
e
(
399
).
then
(
r
.
bind
(
r
,
68480
));
case
8
:
return
nb
.
markdown
=
a
,
nb
.
highlighter
=
c
,
nb
.
ansi
=
p
,
e
.
next
=
13
,
fetch
(
t
);
case
13
:
return
d
=
e
.
sent
,
e
.
next
=
16
,
d
.
json
();
case
16
:
f
=
e
.
sent
,
h
=
nb
.
parse
(
f
),
g
=
swh
.
webapp
.
filterXSS
(
h
.
render
()),
$
(
n
).
append
(
g
),
$
(
"pre.nb-stderr"
).
parent
().
css
(
"background"
,
"#fdd"
),
swh
.
webapp
.
typesetMath
();
case
22
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
s
.
escape_for_html
=!
1
},
75975
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
T
:
function
(){
return
s
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
),
a
=
r
(
59537
);
function
s
(
e
){
return
c
.
apply
(
this
,
arguments
)}
function
c
(){
return
c
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
){
var
o
,
s
,
c
,
u
,
l
,
p
,
d
,
f
,
h
,
g
,
m
,
b
,
y
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
b
=
function
(){
s
>=
o
.
numPages
||
(
s
++
,
g
(
s
))},
m
=
function
(){
s
<=
1
||
(
s
--
,
g
(
s
))},
g
=
function
(
e
){
c
?
u
=
e
:
f
(
e
)},
h
=
function
(){
return
(
h
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
){
var
r
,
n
,
a
,
s
,
h
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
c
=!
0
,
e
.
next
=
3
,
o
.
getPage
(
t
);
case
3
:
return
r
=
e
.
sent
,
n
=
$
(
".swh-content"
).
width
(),
a
=
Math
.
min
(
l
,
n
/
r
.
getViewport
({
scale
:
1
}).
width
),
s
=
r
.
getViewport
({
scale
:
a
}),
p
.
width
=
s
.
width
,
p
.
height
=
s
.
height
,
h
=
{
canvasContext
:
d
,
viewport
:
s
},
e
.
next
=
12
,
r
.
render
(
h
);
case
12
:
c
=!
1
,
null
!==
u
&&
(
f
(
u
),
u
=
null
),
$
(
"#pdf-page-num"
).
text
(
t
);
case
15
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)},
f
=
function
(
e
){
return
h
.
apply
(
this
,
arguments
)},
o
=
null
,
s
=
1
,
c
=!
1
,
u
=
null
,
l
=
1.5
,
p
=
$
(
"#pdf-canvas"
)[
0
],
d
=
p
.
getContext
(
"2d"
),
e
.
next
=
14
,
r
.
e
(
509
).
then
(
r
.
t
.
bind
(
r
,
85719
,
23
));
case
14
:
(
y
=
e
.
sent
).
GlobalWorkerOptions
.
workerSrc
=
(
0
,
a
.
TT
)(
"js/pdf.worker.min.js"
),
$
(
document
).
ready
((
0
,
n
.
Z
)(
i
().
mark
((
function
e
(){
var
r
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
$
(
"#pdf-prev"
).
click
(
m
),
$
(
"#pdf-next"
).
click
(
b
),
e
.
prev
=
2
,
e
.
next
=
5
,
y
.
getDocument
(
t
).
promise
;
case
5
:
r
=
e
.
sent
,
o
=
r
,
$
(
"#pdf-page-count"
).
text
(
o
.
numPages
),
f
(
s
),
e
.
next
=
14
;
break
;
case
11
:
e
.
prev
=
11
,
e
.
t0
=
e
.
catch
(
2
),
console
.
error
(
e
.
t0
);
case
14
:
$
(
window
).
on
(
"resize"
,(
function
(){
g
(
s
)}));
case
15
:
case
"end"
:
return
e
.
stop
()}}),
e
,
null
,[[
2
,
11
]])}))));
case
17
:
case
"end"
:
return
e
.
stop
()}}),
e
)}))),
c
.
apply
(
this
,
arguments
)}},
52560
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
BV
:
function
(){
return
f
},
EK
:
function
(){
return
d
},
Le
:
function
(){
return
l
},
ap
:
function
(){
return
c
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
),
a
=
r
(
59537
),
s
=
r
(
19215
);
function
c
(
e
,
t
){
return
u
.
apply
(
this
,
arguments
)}
function
u
(){
return
(
u
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
,
o
){
var
c
,
u
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
u
=
function
(){
return
[{
type
:
"output"
,
filter
:
function
(
e
,
t
,
r
){
var
n
=
'class="'
;
return
c
.
helper
.
replaceRecursiveRegExp
(
e
,(
function
(
e
,
t
,
r
,
o
){
t
=
(
0
,
s
.
decode
)(
t
);
var
i
=
(
r
.
match
(
/class="([^ "]+)/
)
||
[])[
1
];
if
(
r
.
includes
(
n
)){
var
a
=
r
.
indexOf
(
n
)
+
n
.
length
;
r
=
r
.
slice
(
0
,
a
)
+
"hljs "
+
r
.
slice
(
a
)}
else
r
=
r
.
slice
(
0
,
-
1
)
+
' class="hljs">'
;
return
i
&&
hljs
.
getLanguage
(
i
)
?
r
+
hljs
.
highlight
(
t
,{
language
:
i
}).
value
+
o
:
r
+
t
+
o
}),
"<pre><code\\b[^>]*>"
,
"</code></pre>"
,
"g"
)}}]},
e
.
next
=
3
,
r
.
e
(
522
).
then
(
r
.
bind
(
r
,
83035
));
case
3
:
return
c
=
e
.
sent
,
e
.
next
=
6
,
r
.
e
(
399
).
then
(
r
.
bind
(
r
,
68480
));
case
6
:
$
(
document
).
ready
((
0
,
n
.
Z
)(
i
().
mark
((
function
e
(){
var
r
,
n
,
s
,
l
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
r
=
new
c
.
Converter
({
tables
:!
0
,
extensions
:
[
u
]}),(
n
=
new
URL
(
window
.
location
.
href
)).
searchParams
.
has
(
"origin_url"
))
try
{
"github.com"
===
new
URL
(
n
.
searchParams
.
get
(
"origin_url"
)).
hostname
&&
r
.
setFlavor
(
"github"
)}
catch
(
e
){}
return
e
.
prev
=
3
,
e
.
next
=
6
,
fetch
(
o
);
case
6
:
return
s
=
e
.
sent
,(
0
,
a
.
ry
)(
s
),
e
.
next
=
10
,
s
.
text
();
case
10
:
l
=
e
.
sent
,
$
(
t
).
addClass
(
"swh-showdown"
),
$
(
t
).
html
(
swh
.
webapp
.
filterXSS
(
r
.
makeHtml
(
l
))),
e
.
next
=
18
;
break
;
case
15
:
e
.
prev
=
15
,
e
.
t0
=
e
.
catch
(
3
),
$
(
t
).
text
(
"Readme bytes are not available"
);
case
18
:
case
"end"
:
return
e
.
stop
()}}),
e
,
null
,[[
3
,
15
]])}))));
case
7
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
l
(
e
,
t
){
return
p
.
apply
(
this
,
arguments
)}
function
p
(){
return
(
p
=
(
0
,
n
.
Z
)(
i
().
mark
((
function
e
(
t
,
n
){
var
o
,
a
,
s
,
c
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
r
.
e
(
46
).
then
(
r
.
bind
(
r
,
49429
));
case
2
:
o
=
e
.
sent
,
a
=
new
o
.
Parser
,
s
=
a
.
parse
(
n
,{
toc
:!
1
}),
c
=
s
.
convert
(
o
.
ConverterHTML
,{}),
$
(
t
).
addClass
(
"swh-org"
),
$
(
t
).
html
(
swh
.
webapp
.
filterXSS
(
c
.
toString
())),
$
(
".swh-org ul"
).
first
().
remove
(),
$
(
".section-number"
).
remove
();
case
10
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
d
(
e
,
t
){
$
(
document
).
ready
((
0
,
n
.
Z
)(
i
().
mark
((
function
r
(){
var
n
,
o
;
return
i
().
wrap
((
function
(
r
){
for
(;;)
switch
(
r
.
prev
=
r
.
next
){
case
0
:
return
r
.
prev
=
0
,
r
.
next
=
3
,
fetch
(
t
);
case
3
:
return
n
=
r
.
sent
,(
0
,
a
.
ry
)(
n
),
r
.
next
=
7
,
n
.
text
();
case
7
:
o
=
r
.
sent
,
l
(
e
,
o
),
r
.
next
=
14
;
break
;
case
11
:
r
.
prev
=
11
,
r
.
t0
=
r
.
catch
(
0
),
$
(
e
).
text
(
"Readme bytes are not available"
);
case
14
:
case
"end"
:
return
r
.
stop
()}}),
r
,
null
,[[
0
,
11
]])}))))}
function
f
(
e
,
t
){
$
(
document
).
ready
((
0
,
n
.
Z
)(
i
().
mark
((
function
r
(){
var
n
,
o
,
s
;
return
i
().
wrap
((
function
(
r
){
for
(;;)
switch
(
r
.
prev
=
r
.
next
){
case
0
:
return
r
.
prev
=
0
,
r
.
next
=
3
,
fetch
(
t
);
case
3
:
return
n
=
r
.
sent
,(
0
,
a
.
ry
)(
n
),
r
.
next
=
7
,
n
.
text
();
case
7
:
o
=
r
.
sent
,
s
=
"-*- mode: org -*-"
,
-
1
!==
o
.
indexOf
(
s
)
?
l
(
e
,
o
.
replace
(
s
,
""
))
:
(
$
(
e
).
addClass
(
"swh-readme-txt"
),
$
(
e
).
html
(
""
).
append
(
$
(
"<pre></pre>"
).
text
(
o
))),
r
.
next
=
15
;
break
;
case
12
:
r
.
prev
=
12
,
r
.
t0
=
r
.
catch
(
0
),
$
(
e
).
text
(
"Readme bytes are not available"
);
case
15
:
case
"end"
:
return
r
.
stop
()}}),
r
,
null
,[[
0
,
12
]])}))))}},
27341
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
D
:
function
(){
return
i
},
p
:
function
(){
return
a
}});
var
n
=
r
(
19011
),
o
=
r
(
64487
);
function
i
(
e
){
void
0
!==
e
&&
n
.
S1
({
dsn
:
e
})}
function
a
(
e
){
o
.
Tb
(
e
)}},
92292
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
N
:
function
(){
return
u
}});
var
n
=
r
(
15861
),
o
=
r
(
87757
),
i
=
r
.
n
(
o
);
function
a
(
e
,
t
){
var
r
=
"undefined"
!=
typeof
Symbol
&&
e
[
Symbol
.
iterator
]
||
e
[
"@@iterator"
];
if
(
r
)
return
(
r
=
r
.
call
(
e
)).
next
.
bind
(
r
);
if
(
Array
.
isArray
(
e
)
||
(
r
=
function
(
e
,
t
){
if
(
!
e
)
return
;
if
(
"string"
==
typeof
e
)
return
s
(
e
,
t
);
var
r
=
Object
.
prototype
.
toString
.
call
(
e
).
slice
(
8
,
-
1
);
"Object"
===
r
&&
e
.
constructor
&&
(
r
=
e
.
constructor
.
name
);
if
(
"Map"
===
r
||
"Set"
===
r
)
return
Array
.
from
(
e
);
if
(
"Arguments"
===
r
||
/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/
.
test
(
r
))
return
s
(
e
,
t
)}(
e
))
||
t
&&
e
&&
"number"
==
typeof
e
.
length
){
r
&&
(
e
=
r
);
var
n
=
0
;
return
function
(){
return
n
>=
e
.
length
?
{
done
:!
0
}
:
{
done
:!
1
,
value
:
e
[
n
++
]}}}
throw
new
TypeError
(
"Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
)}
function
s
(
e
,
t
){(
null
==
t
||
t
>
e
.
length
)
&&
(
t
=
e
.
length
);
for
(
var
r
=
0
,
n
=
new
Array
(
t
);
r
<
t
;
r
++
)
n
[
r
]
=
e
[
r
];
return
n
}
var
c
=
{
100
:
"green"
,
200
:
"blue"
,
300
:
"yellow"
,
400
:
"yellow"
,
500
:
"red"
,
600
:
"red"
};
function
u
(
e
){
$
(
".swh-current-status-indicator"
).
ready
((
0
,
n
.
Z
)(
i
().
mark
((
function
t
(){
var
r
,
n
,
o
,
s
,
u
,
l
,
p
,
d
,
f
;
return
i
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
return
r
=
""
,
n
=
""
,
o
=
""
,
s
=
""
,
t
.
prev
=
4
,
t
.
next
=
7
,
fetch
(
e
);
case
7
:
return
u
=
t
.
sent
,
t
.
next
=
10
,
u
.
json
();
case
10
:
for
(
l
=
t
.
sent
,
p
=
a
(
l
.
result
.
status
);
!
(
d
=
p
()).
done
;)
f
=
d
.
value
,
o
=
f
.
status_code
,
s
=
f
.
status
,
r
<
o
&&
(
r
=
o
,
n
=
s
);
if
(
""
!==
r
){
t
.
next
=
15
;
break
}
return
$
(
".swh-current-status"
).
remove
(),
t
.
abrupt
(
"return"
);
case
15
:
$
(
".swh-current-status-indicator"
).
removeClass
(
"green"
),
$
(
".swh-current-status-indicator"
).
addClass
(
c
[
r
]),
$
(
"#swh-current-status-description"
).
text
(
n
),
t
.
next
=
24
;
break
;
case
20
:
t
.
prev
=
20
,
t
.
t0
=
t
.
catch
(
4
),
console
.
log
(
t
.
t0
),
$
(
".swh-current-status"
).
remove
();
case
24
:
case
"end"
:
return
t
.
stop
()}}),
t
,
null
,[[
4
,
20
]])}))))}},
21931
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
E7
:
function
(){
return
y
},
Ht
:
function
(){
return
m
},
IS
:
function
(){
return
A
},
NU
:
function
(){
return
E
},
Pc
:
function
(){
return
U
},
Wd
:
function
(){
return
w
},
Wn
:
function
(){
return
T
},
Xn
:
function
(){
return
N
},
cK
:
function
(){
return
L
},
cL
:
function
(){
return
S
},
df
:
function
(){
return
g
},
jy
:
function
(){
return
k
},
lz
:
function
(){
return
v
},
ng
:
function
(){
return
b
},
px
:
function
(){
return
C
},
yK
:
function
(){
return
_
}});
var
n
,
o
=
r
(
15861
),
i
=
r
(
87757
),
a
=
r
.
n
(
i
),
s
=
r
(
96797
),
c
=
r
.
n
(
s
),
u
=
r
(
59537
),
l
=
r
(
86515
),
p
=
r
(
31955
);
function
d
(
e
,
t
){
var
r
=
"undefined"
!=
typeof
Symbol
&&
e
[
Symbol
.
iterator
]
||
e
[
"@@iterator"
];
if
(
r
)
return
(
r
=
r
.
call
(
e
)).
next
.
bind
(
r
);
if
(
Array
.
isArray
(
e
)
||
(
r
=
function
(
e
,
t
){
if
(
!
e
)
return
;
if
(
"string"
==
typeof
e
)
return
f
(
e
,
t
);
var
r
=
Object
.
prototype
.
toString
.
call
(
e
).
slice
(
8
,
-
1
);
"Object"
===
r
&&
e
.
constructor
&&
(
r
=
e
.
constructor
.
name
);
if
(
"Map"
===
r
||
"Set"
===
r
)
return
Array
.
from
(
e
);
if
(
"Arguments"
===
r
||
/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/
.
test
(
r
))
return
f
(
e
,
t
)}(
e
))
||
t
&&
e
&&
"number"
==
typeof
e
.
length
){
r
&&
(
e
=
r
);
var
n
=
0
;
return
function
(){
return
n
>=
e
.
length
?
{
done
:!
0
}
:
{
done
:!
1
,
value
:
e
[
n
++
]}}}
throw
new
TypeError
(
"Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
)}
function
f
(
e
,
t
){(
null
==
t
||
t
>
e
.
length
)
&&
(
t
=
e
.
length
);
for
(
var
r
=
0
,
n
=
new
Array
(
t
);
r
<
t
;
r
++
)
n
[
r
]
=
e
[
r
];
return
n
}
function
h
(){
$
(
"body"
).
css
(
"padding-bottom"
,
$
(
"footer"
).
outerHeight
()
+
"px"
)}
function
g
(
e
){
$
(
document
).
ready
((
function
(){
$
(
".swh-"
+
e
+
"-item"
).
addClass
(
"active"
),
$
(
".swh-"
+
e
+
"-link"
).
addClass
(
"active"
),
$
(
window
).
on
(
"unload"
,(
function
(){
"browse"
===
e
&&
sessionStorage
.
setItem
(
"last-browse-page"
,
window
.
location
)}))}))}
function
m
(){
$
(
document
).
ready
((
0
,
o
.
Z
)(
a
().
mark
((
function
e
(){
var
t
,
r
,
n
,
o
,
i
,
s
,
c
,
u
,
l
,
p
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
$
(
".swh-coverage-iframe"
).
iFrameResize
({
heightCalculationMethod
:
"taggedElement"
}),
e
.
next
=
3
,
fetch
(
Urls
.
stat_counters
());
case
3
:
return
t
=
e
.
sent
,
e
.
next
=
6
,
t
.
json
();
case
6
:
if
((
r
=
e
.
sent
).
stat_counters
&&!
$
.
isEmptyObject
(
r
.
stat_counters
))
for
(
n
=
0
,
o
=
[
"content"
,
"revision"
,
"origin"
,
"directory"
,
"person"
,
"release"
];
n
<
o
.
length
;
n
++
)
i
=
o
[
n
],
void
0
!==
(
s
=
r
.
stat_counters
[
i
])
?
$
(
"#swh-"
+
i
+
"-count"
).
html
(
s
.
toLocaleString
())
:
$
(
"#swh-"
+
i
+
"-count"
).
closest
(
".swh-counter-container"
).
hide
();
else
$
(
".swh-counter"
).
html
(
"0"
);
if
(
r
.
stat_counters_history
&&!
$
.
isEmptyObject
(
r
.
stat_counters_history
))
for
(
c
=
0
,
u
=
[
"content"
,
"revision"
,
"origin"
];
c
<
u
.
length
;
c
++
)
l
=
u
[
c
],(
p
=
r
.
stat_counters_history
[
l
])
?
swh
.
webapp
.
drawHistoryCounterGraph
(
"#swh-"
+
l
+
"-count-history"
,
p
)
:
$
(
"#swh-"
+
l
+
"-count-history"
).
hide
();
else
$
(
".swh-counter-history"
).
hide
();
case
9
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))),
g
(
"home"
)}
function
b
(
e
,
t
){
$
(
"#swh-web-modal-message .modal-title"
).
text
(
e
),
$
(
"#swh-web-modal-message .modal-content p"
).
text
(
t
),
$
(
"#swh-web-modal-message"
).
modal
(
"show"
)}
function
y
(
e
,
t
,
r
){
$
(
"#swh-web-modal-confirm .modal-title"
).
text
(
e
),
$
(
"#swh-web-modal-confirm .modal-content p"
).
text
(
t
),
$
(
"#swh-web-modal-confirm #swh-web-modal-confirm-ok-btn"
).
bind
(
"click"
,(
function
(){
r
(),
$
(
"#swh-web-modal-confirm"
).
modal
(
"hide"
),
$
(
"#swh-web-modal-confirm #swh-web-modal-confirm-ok-btn"
).
unbind
(
"click"
)})),
$
(
"#swh-web-modal-confirm"
).
modal
(
"show"
)}
function
v
(
e
,
t
,
r
){
void
0
===
r
&&
(
r
=
"500px"
),
$
(
"#swh-web-modal-html .modal-title"
).
text
(
e
),
$
(
"#swh-web-modal-html .modal-body"
).
html
(
t
),
$
(
"#swh-web-modal-html .modal-dialog"
).
css
(
"max-width"
,
r
),
$
(
"#swh-web-modal-html .modal-dialog"
).
css
(
"width"
,
r
),
$
(
"#swh-web-modal-html"
).
modal
(
"show"
)}
function
_
(
e
){
e
.
on
(
"draw.dt"
,(
function
(){
$
(
".paginate_button.disabled"
).
css
(
"cursor"
,
"pointer"
),
$
(
".paginate_button.disabled"
).
on
(
"click"
,(
function
(
t
){
for
(
var
r
=
e
.
page
.
info
(),
n
=
'<select class="jump-to-page">'
,
o
=
1
;
o
<=
r
.
pages
;
++
o
){
var
i
=
""
;
o
===
r
.
page
+
1
&&
(
i
=
"selected"
),
n
+=
'<option value="'
+
o
+
'" '
+
i
+
">"
+
o
+
"</option>"
}
n
+=
"</select><span> / "
+
r
.
pages
+
"</span>"
,
$
(
t
.
target
).
popover
({
title
:
"Jump to page"
,
content
:
n
,
html
:!
0
,
placement
:
"top"
,
sanitizeFn
:
swh
.
webapp
.
filterXSS
}),
$
(
t
.
target
).
popover
(
"show"
),
$
(
".jump-to-page"
).
on
(
"change"
,(
function
(){
$
(
".paginate_button.disabled"
).
popover
(
"hide"
);
var
t
=
parseInt
(
$
(
this
).
val
())
-
1
;
e
.
page
(
t
).
draw
(
"page"
)}))}))})),
e
.
on
(
"preXhr.dt"
,(
function
(){
$
(
".paginate_button.disabled"
).
popover
(
"hide"
)}))}
function
w
(
e
){
n
=
e
}
function
E
(
e
){
return
n
[
e
]}
$
(
document
).
on
(
"collapsed.lte.pushmenu"
,(
function
(
e
){
$
(
"body"
).
width
()
>=
l
.
GI
&&
$
(
".swh-words-logo-swh"
).
css
(
"visibility"
,
"visible"
)})),
$
(
document
).
on
(
"shown.lte.pushmenu"
,(
function
(
e
){
$
(
".swh-words-logo-swh"
).
css
(
"visibility"
,
"hidden"
)})),
$
(
document
).
ready
((
function
(){
$
(
".swh-browse-link"
).
click
((
function
(
e
){
var
t
=
sessionStorage
.
getItem
(
"last-browse-page"
);
t
&&
(
e
.
preventDefault
(),
window
.
location
=
t
)}));
var
e
=
$
(
".main-sidebar"
);
function
t
(){
var
r
=
$
(
"body"
);
r
.
hasClass
(
"sidebar-collapse"
)
&&!
e
.
hasClass
(
"swh-sidebar-collapsed"
)
?
(
e
.
removeClass
(
"swh-sidebar-expanded"
),
e
.
addClass
(
"swh-sidebar-collapsed"
),
$
(
".swh-words-logo-swh"
).
css
(
"visibility"
,
"visible"
),
p
.
Z
.
set
(
"sidebar-state"
,
"collapsed"
))
:
r
.
hasClass
(
"sidebar-collapse"
)
||
e
.
hasClass
(
"swh-sidebar-expanded"
)
||
(
e
.
removeClass
(
"swh-sidebar-collapsed"
),
e
.
addClass
(
"swh-sidebar-expanded"
),
$
(
".swh-words-logo-swh"
).
css
(
"visibility"
,
"hidden"
),
p
.
Z
.
set
(
"sidebar-state"
,
"expanded"
)),
r
.
hasClass
(
"hold-transition"
)
&&
setTimeout
((
function
(){
t
()}))}
e
.
on
(
"transitionend"
,(
function
(
e
){
t
()})),
t
(),
h
(),
$
(
window
).
resize
((
function
(){
h
(),
$
(
"body"
).
hasClass
(
"sidebar-collapse"
)
&&
$
(
"body"
).
width
()
>=
l
.
GI
&&
$
(
".swh-words-logo-swh"
).
css
(
"visibility"
,
"visible"
)})),
c
()(),
$
(
".swh-browse-top-navigation"
).
append
(
$
(
".modal"
));
var
r
=
null
;
function
n
(
e
){
if
(
e
.
clientX
&&
e
.
clientY
)
for
(
var
t
,
r
=
d
(
document
.
elementsFromPoint
(
e
.
clientX
,
e
.
clientY
));
!
(
t
=
r
()).
done
;){
var
n
=
t
.
value
;
if
(
"CODE"
===
n
.
nodeName
||
"PRE"
===
n
.
nodeName
)
return
n
}
return
null
}
function
o
(
e
,
t
){
if
(
t
){
var
r
=
$
(
t
).
find
(
".hljs-ln-code"
);
r
.
length
?
(
0
,
u
.
eO
)(
r
[
0
],
r
[
r
.
length
-
1
])
:
(
0
,
u
.
eO
)(
t
.
firstChild
,
t
.
lastChild
),
e
.
preventDefault
()}}
$
(
document
).
click
((
function
(
e
){
r
=
n
(
e
)})),
$
(
document
).
dblclick
((
function
(
e
){(
e
.
ctrlKey
||
e
.
metaKey
)
&&
o
(
e
,
n
(
e
))})),
$
(
document
).
keydown
((
function
(
e
){(
e
.
ctrlKey
||
e
.
metaKey
)
&&
"a"
===
e
.
key
&&
o
(
e
,
r
)}));
var
i
=
0
;
i
+=
$
(
".swh-top-bar"
).
height
()
||
0
,
i
+=
$
(
".navbar"
).
height
()
||
0
,
$
(
window
).
scroll
((
function
(){
$
(
window
).
scrollTop
()
>
i
?
$
(
"#back-to-top"
).
css
(
"display"
,
"block"
)
:
$
(
"#back-to-top"
).
css
(
"display"
,
"none"
)})),
$
(
"#swh-origins-search-top"
).
submit
((
function
(
e
){
if
(
e
.
preventDefault
(),
e
.
target
.
checkValidity
()){
$
(
e
.
target
).
removeClass
(
"was-validated"
);
var
t
=
$
(
"#swh-origins-search-top-input"
).
val
().
trim
(),
r
=
new
URLSearchParams
;
r
.
append
(
"q"
,
t
),
r
.
append
(
"with_visit"
,
!
0
),
r
.
append
(
"with_content"
,
!
0
),
window
.
location
=
Urls
.
browse_search
()
+
"?"
+
r
.
toString
()}
else
$
(
e
.
target
).
addClass
(
"was-validated"
)}))}));
var
x
=
{};
function
S
(
e
){
x
=
e
}
function
k
(){
return
x
}
var
D
=
{};
function
T
(
e
){
D
=
{};
for
(
var
t
,
r
=
d
(
e
);
!
(
t
=
r
()).
done
;){
var
n
=
t
.
value
;
D
[
n
.
object_type
]
=
n
}}
function
A
(){
return
D
}
function
q
(
e
){
e
?
(
$
(
"#swh-web-content"
).
removeClass
(
"container"
),
$
(
"#swh-web-content"
).
addClass
(
"container-fluid"
))
:
(
$
(
"#swh-web-content"
).
removeClass
(
"container-fluid"
),
$
(
"#swh-web-content"
).
addClass
(
"container"
)),
localStorage
.
setItem
(
"swh-web-full-width"
,
JSON
.
stringify
(
e
)),
$
(
"#swh-full-width-switch"
).
prop
(
"checked"
,
e
)}
function
L
(
e
){
q
(
$
(
e
.
target
).
prop
(
"checked"
))}
function
N
(){
var
e
=
JSON
.
parse
(
localStorage
.
getItem
(
"swh-web-full-width"
));
null
!==
e
&&
q
(
e
)}
function
R
(
e
){
var
t
=
e
.
indexOf
(
";"
),
r
=
e
;
return
-
1
!==
t
&&
(
r
=
e
.
slice
(
0
,
t
)),
r
.
toLowerCase
()
===
r
}
function
C
(
e
){
return
O
.
apply
(
this
,
arguments
)}
function
O
(){
return
(
O
=
(
0
,
o
.
Z
)(
a
().
mark
((
function
e
(
t
){
var
r
,
n
,
o
,
i
,
s
,
c
,
u
;
return
a
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
if
(
r
=
t
.
value
.
trim
(),
n
=
""
,
!
r
.
toLowerCase
().
startsWith
(
"swh:"
)){
e
.
next
=
16
;
break
}
if
(
!
R
(
r
)){
e
.
next
=
14
;
break
}
return
o
=
Urls
.
api_1_resolve_swhid
(
r
),
e
.
next
=
7
,
fetch
(
o
);
case
7
:
return
i
=
e
.
sent
,
e
.
next
=
10
,
i
.
json
();
case
10
:
(
s
=
e
.
sent
).
hasOwnProperty
(
"exception"
)
&&
(
n
=
s
.
reason
),
e
.
next
=
16
;
break
;
case
14
:-
1
===
(
c
=
r
.
indexOf
(
";"
))
?
(
n
=
"Invalid SWHID: all characters must be in lowercase. "
,
n
+=
"Valid SWHID is "
+
r
.
toLowerCase
())
:
(
n
=
"Invalid SWHID: the core part must be in lowercase. "
,
u
=
r
.
slice
(
0
,
c
),
n
+=
"Valid SWHID is "
+
r
.
replace
(
u
,
u
.
toLowerCase
()));
case
16
:
t
.
setCustomValidity
(
n
),
$
(
t
).
siblings
(
".invalid-feedback"
).
text
(
n
);
case
18
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}
function
U
(){
return
JSON
.
parse
(
$
(
"#swh_user_logged_in"
).
text
())}},
44682
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
d
(
t
,{
U
:
function
(){
return
i
}});
var
n
=
r
(
27856
),
o
=
r
.
n
(
n
);
function
i
(
e
){
return
o
().
sanitize
(
e
)}
o
().
addHook
(
"uponSanitizeAttribute"
,(
function
(
e
,
t
){
if
(
"IMG"
===
e
.
nodeName
&&
"src"
===
t
.
attrName
){
if
(
t
.
attrValue
.
startsWith
(
"data:image"
)
||
t
.
attrValue
.
startsWith
(
"http:"
)
||
t
.
attrValue
.
startsWith
(
"https:"
))
return
;
var
r
,
n
=
swh
.
webapp
.
getBrowsedSwhObjectMetadata
();
if
(
!
n
.
hasOwnProperty
(
"directory"
))
return
;
r
=
"directory"
===
n
.
object_type
?
n
.
object_id
:
n
.
directory
;
var
o
=
Urls
.
browse_directory_resolve_content_path
(
r
),
i
=
t
.
attrValue
,
a
=
i
;
a
.
startsWith
(
"/"
)
||
(
a
=
"/"
+
a
);
var
s
=
new
URL
(
window
.
location
.
origin
+
a
);
s
.
search
&&
(
i
=
i
.
replace
(
s
.
search
,
""
)),
o
+=
"?path="
+
encodeURIComponent
(
i
),
t
.
attrValue
=
o
}}))},
27856
:
function
(
e
){
e
.
exports
=
function
(){
"use strict"
;
function
e
(
t
){
return
e
=
"function"
==
typeof
Symbol
&&
"symbol"
==
typeof
Symbol
.
iterator
?
function
(
e
){
return
typeof
e
}
:
function
(
e
){
return
e
&&
"function"
==
typeof
Symbol
&&
e
.
constructor
===
Symbol
&&
e
!==
Symbol
.
prototype
?
"symbol"
:
typeof
e
},
e
(
t
)}
function
t
(
e
,
r
){
return
t
=
Object
.
setPrototypeOf
||
function
(
e
,
t
){
return
e
.
__proto__
=
t
,
e
},
t
(
e
,
r
)}
function
r
(){
if
(
"undefined"
==
typeof
Reflect
||!
Reflect
.
construct
)
return
!
1
;
if
(
Reflect
.
construct
.
sham
)
return
!
1
;
if
(
"function"
==
typeof
Proxy
)
return
!
0
;
try
{
return
Boolean
.
prototype
.
valueOf
.
call
(
Reflect
.
construct
(
Boolean
,[],(
function
(){}))),
!
0
}
catch
(
e
){
return
!
1
}}
function
n
(
e
,
o
,
i
){
return
n
=
r
()
?
Reflect
.
construct
:
function
(
e
,
r
,
n
){
var
o
=
[
null
];
o
.
push
.
apply
(
o
,
r
);
var
i
=
new
(
Function
.
bind
.
apply
(
e
,
o
));
return
n
&&
t
(
i
,
n
.
prototype
),
i
},
n
.
apply
(
null
,
arguments
)}
function
o
(
e
){
return
i
(
e
)
||
a
(
e
)
||
s
(
e
)
||
u
()}
function
i
(
e
){
if
(
Array
.
isArray
(
e
))
return
c
(
e
)}
function
a
(
e
){
if
(
"undefined"
!=
typeof
Symbol
&&
null
!=
e
[
Symbol
.
iterator
]
||
null
!=
e
[
"@@iterator"
])
return
Array
.
from
(
e
)}
function
s
(
e
,
t
){
if
(
e
){
if
(
"string"
==
typeof
e
)
return
c
(
e
,
t
);
var
r
=
Object
.
prototype
.
toString
.
call
(
e
).
slice
(
8
,
-
1
);
return
"Object"
===
r
&&
e
.
constructor
&&
(
r
=
e
.
constructor
.
name
),
"Map"
===
r
||
"Set"
===
r
?
Array
.
from
(
e
)
:
"Arguments"
===
r
||
/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/
.
test
(
r
)
?
c
(
e
,
t
)
:
void
0
}}
function
c
(
e
,
t
){(
null
==
t
||
t
>
e
.
length
)
&&
(
t
=
e
.
length
);
for
(
var
r
=
0
,
n
=
new
Array
(
t
);
r
<
t
;
r
++
)
n
[
r
]
=
e
[
r
];
return
n
}
function
u
(){
throw
new
TypeError
(
"Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
)}
var
l
=
Object
.
hasOwnProperty
,
p
=
Object
.
setPrototypeOf
,
d
=
Object
.
isFrozen
,
f
=
Object
.
getPrototypeOf
,
h
=
Object
.
getOwnPropertyDescriptor
,
g
=
Object
.
freeze
,
m
=
Object
.
seal
,
b
=
Object
.
create
,
y
=
"undefined"
!=
typeof
Reflect
&&
Reflect
,
v
=
y
.
apply
,
_
=
y
.
construct
;
v
||
(
v
=
function
(
e
,
t
,
r
){
return
e
.
apply
(
t
,
r
)}),
g
||
(
g
=
function
(
e
){
return
e
}),
m
||
(
m
=
function
(
e
){
return
e
}),
_
||
(
_
=
function
(
e
,
t
){
return
n
(
e
,
o
(
t
))});
var
w
=
R
(
Array
.
prototype
.
forEach
),
E
=
R
(
Array
.
prototype
.
pop
),
x
=
R
(
Array
.
prototype
.
push
),
S
=
R
(
String
.
prototype
.
toLowerCase
),
k
=
R
(
String
.
prototype
.
toString
),
D
=
R
(
String
.
prototype
.
match
),
T
=
R
(
String
.
prototype
.
replace
),
A
=
R
(
String
.
prototype
.
indexOf
),
q
=
R
(
String
.
prototype
.
trim
),
L
=
R
(
RegExp
.
prototype
.
test
),
N
=
C
(
TypeError
);
function
R
(
e
){
return
function
(
t
){
for
(
var
r
=
arguments
.
length
,
n
=
new
Array
(
r
>
1
?
r
-
1
:
0
),
o
=
1
;
o
<
r
;
o
++
)
n
[
o
-
1
]
=
arguments
[
o
];
return
v
(
e
,
t
,
n
)}}
function
C
(
e
){
return
function
(){
for
(
var
t
=
arguments
.
length
,
r
=
new
Array
(
t
),
n
=
0
;
n
<
t
;
n
++
)
r
[
n
]
=
arguments
[
n
];
return
_
(
e
,
r
)}}
function
O
(
e
,
t
,
r
){
r
=
r
||
S
,
p
&&
p
(
e
,
null
);
for
(
var
n
=
t
.
length
;
n
--
;){
var
o
=
t
[
n
];
if
(
"string"
==
typeof
o
){
var
i
=
r
(
o
);
i
!==
o
&&
(
d
(
t
)
||
(
t
[
n
]
=
i
),
o
=
i
)}
e
[
o
]
=!
0
}
return
e
}
function
U
(
e
){
var
t
,
r
=
b
(
null
);
for
(
t
in
e
)
v
(
l
,
e
,[
t
])
&&
(
r
[
t
]
=
e
[
t
]);
return
r
}
function
B
(
e
,
t
){
for
(;
null
!==
e
;){
var
r
=
h
(
e
,
t
);
if
(
r
){
if
(
r
.
get
)
return
R
(
r
.
get
);
if
(
"function"
==
typeof
r
.
value
)
return
R
(
r
.
value
)}
e
=
f
(
e
)}
function
n
(
e
){
return
console
.
warn
(
"fallback value for"
,
e
),
null
}
return
n
}
var
j
=
g
([
"a"
,
"abbr"
,
"acronym"
,
"address"
,
"area"
,
"article"
,
"aside"
,
"audio"
,
"b"
,
"bdi"
,
"bdo"
,
"big"
,
"blink"
,
"blockquote"
,
"body"
,
"br"
,
"button"
,
"canvas"
,
"caption"
,
"center"
,
"cite"
,
"code"
,
"col"
,
"colgroup"
,
"content"
,
"data"
,
"datalist"
,
"dd"
,
"decorator"
,
"del"
,
"details"
,
"dfn"
,
"dialog"
,
"dir"
,
"div"
,
"dl"
,
"dt"
,
"element"
,
"em"
,
"fieldset"
,
"figcaption"
,
"figure"
,
"font"
,
"footer"
,
"form"
,
"h1"
,
"h2"
,
"h3"
,
"h4"
,
"h5"
,
"h6"
,
"head"
,
"header"
,
"hgroup"
,
"hr"
,
"html"
,
"i"
,
"img"
,
"input"
,
"ins"
,
"kbd"
,
"label"
,
"legend"
,
"li"
,
"main"
,
"map"
,
"mark"
,
"marquee"
,
"menu"
,
"menuitem"
,
"meter"
,
"nav"
,
"nobr"
,
"ol"
,
"optgroup"
,
"option"
,
"output"
,
"p"
,
"picture"
,
"pre"
,
"progress"
,
"q"
,
"rp"
,
"rt"
,
"ruby"
,
"s"
,
"samp"
,
"section"
,
"select"
,
"shadow"
,
"small"
,
"source"
,
"spacer"
,
"span"
,
"strike"
,
"strong"
,
"style"
,
"sub"
,
"summary"
,
"sup"
,
"table"
,
"tbody"
,
"td"
,
"template"
,
"textarea"
,
"tfoot"
,
"th"
,
"thead"
,
"time"
,
"tr"
,
"track"
,
"tt"
,
"u"
,
"ul"
,
"var"
,
"video"
,
"wbr"
]),
I
=
g
([
"svg"
,
"a"
,
"altglyph"
,
"altglyphdef"
,
"altglyphitem"
,
"animatecolor"
,
"animatemotion"
,
"animatetransform"
,
"circle"
,
"clippath"
,
"defs"
,
"desc"
,
"ellipse"
,
"filter"
,
"font"
,
"g"
,
"glyph"
,
"glyphref"
,
"hkern"
,
"image"
,
"line"
,
"lineargradient"
,
"marker"
,
"mask"
,
"metadata"
,
"mpath"
,
"path"
,
"pattern"
,
"polygon"
,
"polyline"
,
"radialgradient"
,
"rect"
,
"stop"
,
"style"
,
"switch"
,
"symbol"
,
"text"
,
"textpath"
,
"title"
,
"tref"
,
"tspan"
,
"view"
,
"vkern"
]),
$
=
g
([
"feBlend"
,
"feColorMatrix"
,
"feComponentTransfer"
,
"feComposite"
,
"feConvolveMatrix"
,
"feDiffuseLighting"
,
"feDisplacementMap"
,
"feDistantLight"
,
"feFlood"
,
"feFuncA"
,
"feFuncB"
,
"feFuncG"
,
"feFuncR"
,
"feGaussianBlur"
,
"feImage"
,
"feMerge"
,
"feMergeNode"
,
"feMorphology"
,
"feOffset"
,
"fePointLight"
,
"feSpecularLighting"
,
"feSpotLight"
,
"feTile"
,
"feTurbulence"
]),
G
=
g
([
"animate"
,
"color-profile"
,
"cursor"
,
"discard"
,
"fedropshadow"
,
"font-face"
,
"font-face-format"
,
"font-face-name"
,
"font-face-src"
,
"font-face-uri"
,
"foreignobject"
,
"hatch"
,
"hatchpath"
,
"mesh"
,
"meshgradient"
,
"meshpatch"
,
"meshrow"
,
"missing-glyph"
,
"script"
,
"set"
,
"solidcolor"
,
"unknown"
,
"use"
]),
F
=
g
([
"math"
,
"menclose"
,
"merror"
,
"mfenced"
,
"mfrac"
,
"mglyph"
,
"mi"
,
"mlabeledtr"
,
"mmultiscripts"
,
"mn"
,
"mo"
,
"mover"
,
"mpadded"
,
"mphantom"
,
"mroot"
,
"mrow"
,
"ms"
,
"mspace"
,
"msqrt"
,
"mstyle"
,
"msub"
,
"msup"
,
"msubsup"
,
"mtable"
,
"mtd"
,
"mtext"
,
"mtr"
,
"munder"
,
"munderover"
]),
P
=
g
([
"maction"
,
"maligngroup"
,
"malignmark"
,
"mlongdiv"
,
"mscarries"
,
"mscarry"
,
"msgroup"
,
"mstack"
,
"msline"
,
"msrow"
,
"semantics"
,
"annotation"
,
"annotation-xml"
,
"mprescripts"
,
"none"
]),
H
=
g
([
"#text"
]),
M
=
g
([
"accept"
,
"action"
,
"align"
,
"alt"
,
"autocapitalize"
,
"autocomplete"
,
"autopictureinpicture"
,
"autoplay"
,
"background"
,
"bgcolor"
,
"border"
,
"capture"
,
"cellpadding"
,
"cellspacing"
,
"checked"
,
"cite"
,
"class"
,
"clear"
,
"color"
,
"cols"
,
"colspan"
,
"controls"
,
"controlslist"
,
"coords"
,
"crossorigin"
,
"datetime"
,
"decoding"
,
"default"
,
"dir"
,
"disabled"
,
"disablepictureinpicture"
,
"disableremoteplayback"
,
"download"
,
"draggable"
,
"enctype"
,
"enterkeyhint"
,
"face"
,
"for"
,
"headers"
,
"height"
,
"hidden"
,
"high"
,
"href"
,
"hreflang"
,
"id"
,
"inputmode"
,
"integrity"
,
"ismap"
,
"kind"
,
"label"
,
"lang"
,
"list"
,
"loading"
,
"loop"
,
"low"
,
"max"
,
"maxlength"
,
"media"
,
"method"
,
"min"
,
"minlength"
,
"multiple"
,
"muted"
,
"name"
,
"nonce"
,
"noshade"
,
"novalidate"
,
"nowrap"
,
"open"
,
"optimum"
,
"pattern"
,
"placeholder"
,
"playsinline"
,
"poster"
,
"preload"
,
"pubdate"
,
"radiogroup"
,
"readonly"
,
"rel"
,
"required"
,
"rev"
,
"reversed"
,
"role"
,
"rows"
,
"rowspan"
,
"spellcheck"
,
"scope"
,
"selected"
,
"shape"
,
"size"
,
"sizes"
,
"span"
,
"srclang"
,
"start"
,
"src"
,
"srcset"
,
"step"
,
"style"
,
"summary"
,
"tabindex"
,
"title"
,
"translate"
,
"type"
,
"usemap"
,
"valign"
,
"value"
,
"width"
,
"xmlns"
,
"slot"
]),
V
=
g
([
"accent-height"
,
"accumulate"
,
"additive"
,
"alignment-baseline"
,
"ascent"
,
"attributename"
,
"attributetype"
,
"azimuth"
,
"basefrequency"
,
"baseline-shift"
,
"begin"
,
"bias"
,
"by"
,
"class"
,
"clip"
,
"clippathunits"
,
"clip-path"
,
"clip-rule"
,
"color"
,
"color-interpolation"
,
"color-interpolation-filters"
,
"color-profile"
,
"color-rendering"
,
"cx"
,
"cy"
,
"d"
,
"dx"
,
"dy"
,
"diffuseconstant"
,
"direction"
,
"display"
,
"divisor"
,
"dur"
,
"edgemode"
,
"elevation"
,
"end"
,
"fill"
,
"fill-opacity"
,
"fill-rule"
,
"filter"
,
"filterunits"
,
"flood-color"
,
"flood-opacity"
,
"font-family"
,
"font-size"
,
"font-size-adjust"
,
"font-stretch"
,
"font-style"
,
"font-variant"
,
"font-weight"
,
"fx"
,
"fy"
,
"g1"
,
"g2"
,
"glyph-name"
,
"glyphref"
,
"gradientunits"
,
"gradienttransform"
,
"height"
,
"href"
,
"id"
,
"image-rendering"
,
"in"
,
"in2"
,
"k"
,
"k1"
,
"k2"
,
"k3"
,
"k4"
,
"kerning"
,
"keypoints"
,
"keysplines"
,
"keytimes"
,
"lang"
,
"lengthadjust"
,
"letter-spacing"
,
"kernelmatrix"
,
"kernelunitlength"
,
"lighting-color"
,
"local"
,
"marker-end"
,
"marker-mid"
,
"marker-start"
,
"markerheight"
,
"markerunits"
,
"markerwidth"
,
"maskcontentunits"
,
"maskunits"
,
"max"
,
"mask"
,
"media"
,
"method"
,
"mode"
,
"min"
,
"name"
,
"numoctaves"
,
"offset"
,
"operator"
,
"opacity"
,
"order"
,
"orient"
,
"orientation"
,
"origin"
,
"overflow"
,
"paint-order"
,
"path"
,
"pathlength"
,
"patterncontentunits"
,
"patterntransform"
,
"patternunits"
,
"points"
,
"preservealpha"
,
"preserveaspectratio"
,
"primitiveunits"
,
"r"
,
"rx"
,
"ry"
,
"radius"
,
"refx"
,
"refy"
,
"repeatcount"
,
"repeatdur"
,
"restart"
,
"result"
,
"rotate"
,
"scale"
,
"seed"
,
"shape-rendering"
,
"specularconstant"
,
"specularexponent"
,
"spreadmethod"
,
"startoffset"
,
"stddeviation"
,
"stitchtiles"
,
"stop-color"
,
"stop-opacity"
,
"stroke-dasharray"
,
"stroke-dashoffset"
,
"stroke-linecap"
,
"stroke-linejoin"
,
"stroke-miterlimit"
,
"stroke-opacity"
,
"stroke"
,
"stroke-width"
,
"style"
,
"surfacescale"
,
"systemlanguage"
,
"tabindex"
,
"targetx"
,
"targety"
,
"transform"
,
"transform-origin"
,
"text-anchor"
,
"text-decoration"
,
"text-rendering"
,
"textlength"
,
"type"
,
"u1"
,
"u2"
,
"unicode"
,
"values"
,
"viewbox"
,
"visibility"
,
"version"
,
"vert-adv-y"
,
"vert-origin-x"
,
"vert-origin-y"
,
"width"
,
"word-spacing"
,
"wrap"
,
"writing-mode"
,
"xchannelselector"
,
"ychannelselector"
,
"x"
,
"x1"
,
"x2"
,
"xmlns"
,
"y"
,
"y1"
,
"y2"
,
"z"
,
"zoomandpan"
]),
z
=
g
([
"accent"
,
"accentunder"
,
"align"
,
"bevelled"
,
"close"
,
"columnsalign"
,
"columnlines"
,
"columnspan"
,
"denomalign"
,
"depth"
,
"dir"
,
"display"
,
"displaystyle"
,
"encoding"
,
"fence"
,
"frame"
,
"height"
,
"href"
,
"id"
,
"largeop"
,
"length"
,
"linethickness"
,
"lspace"
,
"lquote"
,
"mathbackground"
,
"mathcolor"
,
"mathsize"
,
"mathvariant"
,
"maxsize"
,
"minsize"
,
"movablelimits"
,
"notation"
,
"numalign"
,
"open"
,
"rowalign"
,
"rowlines"
,
"rowspacing"
,
"rowspan"
,
"rspace"
,
"rquote"
,
"scriptlevel"
,
"scriptminsize"
,
"scriptsizemultiplier"
,
"selection"
,
"separator"
,
"separators"
,
"stretchy"
,
"subscriptshift"
,
"supscriptshift"
,
"symmetric"
,
"voffset"
,
"width"
,
"xmlns"
]),
Y
=
g
([
"xlink:href"
,
"xml:id"
,
"xlink:title"
,
"xml:space"
,
"xmlns:xlink"
]),
W
=
m
(
/\{\{[\w\W]*|[\w\W]*\}\}/gm
),
J
=
m
(
/<%[\w\W]*|[\w\W]*%>/gm
),
K
=
m
(
/\${[\w\W]*}/gm
),
Z
=
m
(
/^data-[\-\w.\u00B7-\uFFFF]/
),
X
=
m
(
/^aria-[\-\w]+$/
),
Q
=
m
(
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
),
ee
=
m
(
/^(?:\w+script|data):/i
),
te
=
m
(
/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
),
re
=
m
(
/^html$/i
),
ne
=
function
(){
return
"undefined"
==
typeof
window
?
null
:
window
},
oe
=
function
(
t
,
r
){
if
(
"object"
!==
e
(
t
)
||
"function"
!=
typeof
t
.
createPolicy
)
return
null
;
var
n
=
null
,
o
=
"data-tt-policy-suffix"
;
r
.
currentScript
&&
r
.
currentScript
.
hasAttribute
(
o
)
&&
(
n
=
r
.
currentScript
.
getAttribute
(
o
));
var
i
=
"dompurify"
+
(
n
?
"#"
+
n
:
""
);
try
{
return
t
.
createPolicy
(
i
,{
createHTML
:
function
(
e
){
return
e
},
createScriptURL
:
function
(
e
){
return
e
}})}
catch
(
e
){
return
console
.
warn
(
"TrustedTypes policy "
+
i
+
" could not be created."
),
null
}};
function
ie
(){
var
t
=
arguments
.
length
>
0
&&
void
0
!==
arguments
[
0
]
?
arguments
[
0
]
:
ne
(),
r
=
function
(
e
){
return
ie
(
e
)};
if
(
r
.
version
=
"2.4.1"
,
r
.
removed
=
[],
!
t
||!
t
.
document
||
9
!==
t
.
document
.
nodeType
)
return
r
.
isSupported
=!
1
,
r
;
var
n
=
t
.
document
,
i
=
t
.
document
,
a
=
t
.
DocumentFragment
,
s
=
t
.
HTMLTemplateElement
,
c
=
t
.
Node
,
u
=
t
.
Element
,
l
=
t
.
NodeFilter
,
p
=
t
.
NamedNodeMap
,
d
=
void
0
===
p
?
t
.
NamedNodeMap
||
t
.
MozNamedAttrMap
:
p
,
f
=
t
.
HTMLFormElement
,
h
=
t
.
DOMParser
,
m
=
t
.
trustedTypes
,
b
=
u
.
prototype
,
y
=
B
(
b
,
"cloneNode"
),
v
=
B
(
b
,
"nextSibling"
),
_
=
B
(
b
,
"childNodes"
),
R
=
B
(
b
,
"parentNode"
);
if
(
"function"
==
typeof
s
){
var
C
=
i
.
createElement
(
"template"
);
C
.
content
&&
C
.
content
.
ownerDocument
&&
(
i
=
C
.
content
.
ownerDocument
)}
var
ae
=
oe
(
m
,
n
),
se
=
ae
?
ae
.
createHTML
(
""
)
:
""
,
ce
=
i
,
ue
=
ce
.
implementation
,
le
=
ce
.
createNodeIterator
,
pe
=
ce
.
createDocumentFragment
,
de
=
ce
.
getElementsByTagName
,
fe
=
n
.
importNode
,
he
=
{};
try
{
he
=
U
(
i
).
documentMode
?
i
.
documentMode
:
{}}
catch
(
e
){}
var
ge
=
{};
r
.
isSupported
=
"function"
==
typeof
R
&&
ue
&&
void
0
!==
ue
.
createHTMLDocument
&&
9
!==
he
;
var
me
,
be
,
ye
=
W
,
ve
=
J
,
_e
=
K
,
we
=
Z
,
Ee
=
X
,
xe
=
ee
,
Se
=
te
,
ke
=
Q
,
De
=
null
,
Te
=
O
({},[].
concat
(
o
(
j
),
o
(
I
),
o
(
$
),
o
(
F
),
o
(
H
))),
Ae
=
null
,
qe
=
O
({},[].
concat
(
o
(
M
),
o
(
V
),
o
(
z
),
o
(
Y
))),
Le
=
Object
.
seal
(
Object
.
create
(
null
,{
tagNameCheck
:
{
writable
:!
0
,
configurable
:!
1
,
enumerable
:!
0
,
value
:
null
},
attributeNameCheck
:
{
writable
:!
0
,
configurable
:!
1
,
enumerable
:!
0
,
value
:
null
},
allowCustomizedBuiltInElements
:
{
writable
:!
0
,
configurable
:!
1
,
enumerable
:!
0
,
value
:!
1
}})),
Ne
=
null
,
Re
=
null
,
Ce
=!
0
,
Oe
=!
0
,
Ue
=!
1
,
Be
=!
1
,
je
=!
1
,
Ie
=!
1
,
$e
=!
1
,
Ge
=!
1
,
Fe
=!
1
,
Pe
=!
1
,
He
=!
0
,
Me
=!
1
,
Ve
=
"user-content-"
,
ze
=!
0
,
Ye
=!
1
,
We
=
{},
Je
=
null
,
Ke
=
O
({},[
"annotation-xml"
,
"audio"
,
"colgroup"
,
"desc"
,
"foreignobject"
,
"head"
,
"iframe"
,
"math"
,
"mi"
,
"mn"
,
"mo"
,
"ms"
,
"mtext"
,
"noembed"
,
"noframes"
,
"noscript"
,
"plaintext"
,
"script"
,
"style"
,
"svg"
,
"template"
,
"thead"
,
"title"
,
"video"
,
"xmp"
]),
Ze
=
null
,
Xe
=
O
({},[
"audio"
,
"video"
,
"img"
,
"source"
,
"image"
,
"track"
]),
Qe
=
null
,
et
=
O
({},[
"alt"
,
"class"
,
"for"
,
"id"
,
"label"
,
"name"
,
"pattern"
,
"placeholder"
,
"role"
,
"summary"
,
"title"
,
"value"
,
"style"
,
"xmlns"
]),
tt
=
"http://www.w3.org/1998/Math/MathML"
,
rt
=
"http://www.w3.org/2000/svg"
,
nt
=
"http://www.w3.org/1999/xhtml"
,
ot
=
nt
,
it
=!
1
,
at
=
null
,
st
=
O
({},[
tt
,
rt
,
nt
],
k
),
ct
=
[
"application/xhtml+xml"
,
"text/html"
],
ut
=
"text/html"
,
lt
=
null
,
pt
=
i
.
createElement
(
"form"
),
dt
=
function
(
e
){
return
e
instanceof
RegExp
||
e
instanceof
Function
},
ft
=
function
(
t
){
lt
&&
lt
===
t
||
(
t
&&
"object"
===
e
(
t
)
||
(
t
=
{}),
t
=
U
(
t
),
me
=
me
=-
1
===
ct
.
indexOf
(
t
.
PARSER_MEDIA_TYPE
)
?
ut
:
t
.
PARSER_MEDIA_TYPE
,
be
=
"application/xhtml+xml"
===
me
?
k
:
S
,
De
=
"ALLOWED_TAGS"
in
t
?
O
({},
t
.
ALLOWED_TAGS
,
be
)
:
Te
,
Ae
=
"ALLOWED_ATTR"
in
t
?
O
({},
t
.
ALLOWED_ATTR
,
be
)
:
qe
,
at
=
"ALLOWED_NAMESPACES"
in
t
?
O
({},
t
.
ALLOWED_NAMESPACES
,
k
)
:
st
,
Qe
=
"ADD_URI_SAFE_ATTR"
in
t
?
O
(
U
(
et
),
t
.
ADD_URI_SAFE_ATTR
,
be
)
:
et
,
Ze
=
"ADD_DATA_URI_TAGS"
in
t
?
O
(
U
(
Xe
),
t
.
ADD_DATA_URI_TAGS
,
be
)
:
Xe
,
Je
=
"FORBID_CONTENTS"
in
t
?
O
({},
t
.
FORBID_CONTENTS
,
be
)
:
Ke
,
Ne
=
"FORBID_TAGS"
in
t
?
O
({},
t
.
FORBID_TAGS
,
be
)
:
{},
Re
=
"FORBID_ATTR"
in
t
?
O
({},
t
.
FORBID_ATTR
,
be
)
:
{},
We
=
"USE_PROFILES"
in
t
&&
t
.
USE_PROFILES
,
Ce
=!
1
!==
t
.
ALLOW_ARIA_ATTR
,
Oe
=!
1
!==
t
.
ALLOW_DATA_ATTR
,
Ue
=
t
.
ALLOW_UNKNOWN_PROTOCOLS
||!
1
,
Be
=
t
.
SAFE_FOR_TEMPLATES
||!
1
,
je
=
t
.
WHOLE_DOCUMENT
||!
1
,
Ge
=
t
.
RETURN_DOM
||!
1
,
Fe
=
t
.
RETURN_DOM_FRAGMENT
||!
1
,
Pe
=
t
.
RETURN_TRUSTED_TYPE
||!
1
,
$e
=
t
.
FORCE_BODY
||!
1
,
He
=!
1
!==
t
.
SANITIZE_DOM
,
Me
=
t
.
SANITIZE_NAMED_PROPS
||!
1
,
ze
=!
1
!==
t
.
KEEP_CONTENT
,
Ye
=
t
.
IN_PLACE
||!
1
,
ke
=
t
.
ALLOWED_URI_REGEXP
||
ke
,
ot
=
t
.
NAMESPACE
||
nt
,
t
.
CUSTOM_ELEMENT_HANDLING
&&
dt
(
t
.
CUSTOM_ELEMENT_HANDLING
.
tagNameCheck
)
&&
(
Le
.
tagNameCheck
=
t
.
CUSTOM_ELEMENT_HANDLING
.
tagNameCheck
),
t
.
CUSTOM_ELEMENT_HANDLING
&&
dt
(
t
.
CUSTOM_ELEMENT_HANDLING
.
attributeNameCheck
)
&&
(
Le
.
attributeNameCheck
=
t
.
CUSTOM_ELEMENT_HANDLING
.
attributeNameCheck
),
t
.
CUSTOM_ELEMENT_HANDLING
&&
"boolean"
==
typeof
t
.
CUSTOM_ELEMENT_HANDLING
.
allowCustomizedBuiltInElements
&&
(
Le
.
allowCustomizedBuiltInElements
=
t
.
CUSTOM_ELEMENT_HANDLING
.
allowCustomizedBuiltInElements
),
Be
&&
(
Oe
=!
1
),
Fe
&&
(
Ge
=!
0
),
We
&&
(
De
=
O
({},
o
(
H
)),
Ae
=
[],
!
0
===
We
.
html
&&
(
O
(
De
,
j
),
O
(
Ae
,
M
)),
!
0
===
We
.
svg
&&
(
O
(
De
,
I
),
O
(
Ae
,
V
),
O
(
Ae
,
Y
)),
!
0
===
We
.
svgFilters
&&
(
O
(
De
,
$
),
O
(
Ae
,
V
),
O
(
Ae
,
Y
)),
!
0
===
We
.
mathMl
&&
(
O
(
De
,
F
),
O
(
Ae
,
z
),
O
(
Ae
,
Y
))),
t
.
ADD_TAGS
&&
(
De
===
Te
&&
(
De
=
U
(
De
)),
O
(
De
,
t
.
ADD_TAGS
,
be
)),
t
.
ADD_ATTR
&&
(
Ae
===
qe
&&
(
Ae
=
U
(
Ae
)),
O
(
Ae
,
t
.
ADD_ATTR
,
be
)),
t
.
ADD_URI_SAFE_ATTR
&&
O
(
Qe
,
t
.
ADD_URI_SAFE_ATTR
,
be
),
t
.
FORBID_CONTENTS
&&
(
Je
===
Ke
&&
(
Je
=
U
(
Je
)),
O
(
Je
,
t
.
FORBID_CONTENTS
,
be
)),
ze
&&
(
De
[
"#text"
]
=!
0
),
je
&&
O
(
De
,[
"html"
,
"head"
,
"body"
]),
De
.
table
&&
(
O
(
De
,[
"tbody"
]),
delete
Ne
.
tbody
),
g
&&
g
(
t
),
lt
=
t
)},
ht
=
O
({},[
"mi"
,
"mo"
,
"mn"
,
"ms"
,
"mtext"
]),
gt
=
O
({},[
"foreignobject"
,
"desc"
,
"title"
,
"annotation-xml"
]),
mt
=
O
({},[
"title"
,
"style"
,
"font"
,
"a"
,
"script"
]),
bt
=
O
({},
I
);
O
(
bt
,
$
),
O
(
bt
,
G
);
var
yt
=
O
({},
F
);
O
(
yt
,
P
);
var
vt
=
function
(
e
){
var
t
=
R
(
e
);
t
&&
t
.
tagName
||
(
t
=
{
namespaceURI
:
ot
,
tagName
:
"template"
});
var
r
=
S
(
e
.
tagName
),
n
=
S
(
t
.
tagName
);
return
!!
at
[
e
.
namespaceURI
]
&&
(
e
.
namespaceURI
===
rt
?
t
.
namespaceURI
===
nt
?
"svg"
===
r
:
t
.
namespaceURI
===
tt
?
"svg"
===
r
&&
(
"annotation-xml"
===
n
||
ht
[
n
])
:
Boolean
(
bt
[
r
])
:
e
.
namespaceURI
===
tt
?
t
.
namespaceURI
===
nt
?
"math"
===
r
:
t
.
namespaceURI
===
rt
?
"math"
===
r
&&
gt
[
n
]
:
Boolean
(
yt
[
r
])
:
e
.
namespaceURI
===
nt
?!
(
t
.
namespaceURI
===
rt
&&!
gt
[
n
])
&&!
(
t
.
namespaceURI
===
tt
&&!
ht
[
n
])
&&!
yt
[
r
]
&&
(
mt
[
r
]
||!
bt
[
r
])
:!
(
"application/xhtml+xml"
!==
me
||!
at
[
e
.
namespaceURI
]))},
_t
=
function
(
e
){
x
(
r
.
removed
,{
element
:
e
});
try
{
e
.
parentNode
.
removeChild
(
e
)}
catch
(
t
){
try
{
e
.
outerHTML
=
se
}
catch
(
t
){
e
.
remove
()}}},
wt
=
function
(
e
,
t
){
try
{
x
(
r
.
removed
,{
attribute
:
t
.
getAttributeNode
(
e
),
from
:
t
})}
catch
(
e
){
x
(
r
.
removed
,{
attribute
:
null
,
from
:
t
})}
if
(
t
.
removeAttribute
(
e
),
"is"
===
e
&&!
Ae
[
e
])
if
(
Ge
||
Fe
)
try
{
_t
(
t
)}
catch
(
e
){}
else
try
{
t
.
setAttribute
(
e
,
""
)}
catch
(
e
){}},
Et
=
function
(
e
){
var
t
,
r
;
if
(
$e
)
e
=
"<remove></remove>"
+
e
;
else
{
var
n
=
D
(
e
,
/^[\r\n\t ]+/
);
r
=
n
&&
n
[
0
]}
"application/xhtml+xml"
===
me
&&
ot
===
nt
&&
(
e
=
'<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'
+
e
+
"</body></html>"
);
var
o
=
ae
?
ae
.
createHTML
(
e
)
:
e
;
if
(
ot
===
nt
)
try
{
t
=
(
new
h
).
parseFromString
(
o
,
me
)}
catch
(
e
){}
if
(
!
t
||!
t
.
documentElement
){
t
=
ue
.
createDocument
(
ot
,
"template"
,
null
);
try
{
t
.
documentElement
.
innerHTML
=
it
?
""
:
o
}
catch
(
e
){}}
var
a
=
t
.
body
||
t
.
documentElement
;
return
e
&&
r
&&
a
.
insertBefore
(
i
.
createTextNode
(
r
),
a
.
childNodes
[
0
]
||
null
),
ot
===
nt
?
de
.
call
(
t
,
je
?
"html"
:
"body"
)[
0
]
:
je
?
t
.
documentElement
:
a
},
xt
=
function
(
e
){
return
le
.
call
(
e
.
ownerDocument
||
e
,
e
,
l
.
SHOW_ELEMENT
|
l
.
SHOW_COMMENT
|
l
.
SHOW_TEXT
,
null
,
!
1
)},
St
=
function
(
e
){
return
e
instanceof
f
&&
(
"string"
!=
typeof
e
.
nodeName
||
"string"
!=
typeof
e
.
textContent
||
"function"
!=
typeof
e
.
removeChild
||!
(
e
.
attributes
instanceof
d
)
||
"function"
!=
typeof
e
.
removeAttribute
||
"function"
!=
typeof
e
.
setAttribute
||
"string"
!=
typeof
e
.
namespaceURI
||
"function"
!=
typeof
e
.
insertBefore
||
"function"
!=
typeof
e
.
hasChildNodes
)},
kt
=
function
(
t
){
return
"object"
===
e
(
c
)
?
t
instanceof
c
:
t
&&
"object"
===
e
(
t
)
&&
"number"
==
typeof
t
.
nodeType
&&
"string"
==
typeof
t
.
nodeName
},
Dt
=
function
(
e
,
t
,
n
){
ge
[
e
]
&&
w
(
ge
[
e
],(
function
(
e
){
e
.
call
(
r
,
t
,
n
,
lt
)}))},
Tt
=
function
(
e
){
var
t
;
if
(
Dt
(
"beforeSanitizeElements"
,
e
,
null
),
St
(
e
))
return
_t
(
e
),
!
0
;
if
(
L
(
/[\u0080-\uFFFF]/
,
e
.
nodeName
))
return
_t
(
e
),
!
0
;
var
n
=
be
(
e
.
nodeName
);
if
(
Dt
(
"uponSanitizeElement"
,
e
,{
tagName
:
n
,
allowedTags
:
De
}),
e
.
hasChildNodes
()
&&!
kt
(
e
.
firstElementChild
)
&&
(
!
kt
(
e
.
content
)
||!
kt
(
e
.
content
.
firstElementChild
))
&&
L
(
/<[/\w]/g
,
e
.
innerHTML
)
&&
L
(
/<[/\w]/g
,
e
.
textContent
))
return
_t
(
e
),
!
0
;
if
(
"select"
===
n
&&
L
(
/<template/i
,
e
.
innerHTML
))
return
_t
(
e
),
!
0
;
if
(
!
De
[
n
]
||
Ne
[
n
]){
if
(
!
Ne
[
n
]
&&
qt
(
n
)){
if
(
Le
.
tagNameCheck
instanceof
RegExp
&&
L
(
Le
.
tagNameCheck
,
n
))
return
!
1
;
if
(
Le
.
tagNameCheck
instanceof
Function
&&
Le
.
tagNameCheck
(
n
))
return
!
1
}
if
(
ze
&&!
Je
[
n
]){
var
o
=
R
(
e
)
||
e
.
parentNode
,
i
=
_
(
e
)
||
e
.
childNodes
;
if
(
i
&&
o
)
for
(
var
a
=
i
.
length
-
1
;
a
>=
0
;
--
a
)
o
.
insertBefore
(
y
(
i
[
a
],
!
0
),
v
(
e
))}
return
_t
(
e
),
!
0
}
return
e
instanceof
u
&&!
vt
(
e
)
?
(
_t
(
e
),
!
0
)
:
"noscript"
!==
n
&&
"noembed"
!==
n
||!
L
(
/<\/no(script|embed)/i
,
e
.
innerHTML
)
?
(
Be
&&
3
===
e
.
nodeType
&&
(
t
=
e
.
textContent
,
t
=
T
(
t
,
ye
,
" "
),
t
=
T
(
t
,
ve
,
" "
),
t
=
T
(
t
,
_e
,
" "
),
e
.
textContent
!==
t
&&
(
x
(
r
.
removed
,{
element
:
e
.
cloneNode
()}),
e
.
textContent
=
t
)),
Dt
(
"afterSanitizeElements"
,
e
,
null
),
!
1
)
:
(
_t
(
e
),
!
0
)},
At
=
function
(
e
,
t
,
r
){
if
(
He
&&
(
"id"
===
t
||
"name"
===
t
)
&&
(
r
in
i
||
r
in
pt
))
return
!
1
;
if
(
Oe
&&!
Re
[
t
]
&&
L
(
we
,
t
));
else
if
(
Ce
&&
L
(
Ee
,
t
));
else
if
(
!
Ae
[
t
]
||
Re
[
t
]){
if
(
!
(
qt
(
e
)
&&
(
Le
.
tagNameCheck
instanceof
RegExp
&&
L
(
Le
.
tagNameCheck
,
e
)
||
Le
.
tagNameCheck
instanceof
Function
&&
Le
.
tagNameCheck
(
e
))
&&
(
Le
.
attributeNameCheck
instanceof
RegExp
&&
L
(
Le
.
attributeNameCheck
,
t
)
||
Le
.
attributeNameCheck
instanceof
Function
&&
Le
.
attributeNameCheck
(
t
))
||
"is"
===
t
&&
Le
.
allowCustomizedBuiltInElements
&&
(
Le
.
tagNameCheck
instanceof
RegExp
&&
L
(
Le
.
tagNameCheck
,
r
)
||
Le
.
tagNameCheck
instanceof
Function
&&
Le
.
tagNameCheck
(
r
))))
return
!
1
}
else
if
(
Qe
[
t
]);
else
if
(
L
(
ke
,
T
(
r
,
Se
,
""
)));
else
if
(
"src"
!==
t
&&
"xlink:href"
!==
t
&&
"href"
!==
t
||
"script"
===
e
||
0
!==
A
(
r
,
"data:"
)
||!
Ze
[
e
])
if
(
Ue
&&!
L
(
xe
,
T
(
r
,
Se
,
""
)));
else
if
(
r
)
return
!
1
;
return
!
0
},
qt
=
function
(
e
){
return
e
.
indexOf
(
"-"
)
>
0
},
Lt
=
function
(
t
){
var
n
,
o
,
i
,
a
;
Dt
(
"beforeSanitizeAttributes"
,
t
,
null
);
var
s
=
t
.
attributes
;
if
(
s
){
var
c
=
{
attrName
:
""
,
attrValue
:
""
,
keepAttr
:!
0
,
allowedAttributes
:
Ae
};
for
(
a
=
s
.
length
;
a
--
;){
var
u
=
n
=
s
[
a
],
l
=
u
.
name
,
p
=
u
.
namespaceURI
;
if
(
o
=
"value"
===
l
?
n
.
value
:
q
(
n
.
value
),
i
=
be
(
l
),
c
.
attrName
=
i
,
c
.
attrValue
=
o
,
c
.
keepAttr
=!
0
,
c
.
forceKeepAttr
=
void
0
,
Dt
(
"uponSanitizeAttribute"
,
t
,
c
),
o
=
c
.
attrValue
,
!
c
.
forceKeepAttr
&&
(
wt
(
l
,
t
),
c
.
keepAttr
))
if
(
L
(
/\/>/i
,
o
))
wt
(
l
,
t
);
else
{
Be
&&
(
o
=
T
(
o
,
ye
,
" "
),
o
=
T
(
o
,
ve
,
" "
),
o
=
T
(
o
,
_e
,
" "
));
var
d
=
be
(
t
.
nodeName
);
if
(
At
(
d
,
i
,
o
)){
if
(
!
Me
||
"id"
!==
i
&&
"name"
!==
i
||
(
wt
(
l
,
t
),
o
=
Ve
+
o
),
ae
&&
"object"
===
e
(
m
)
&&
"function"
==
typeof
m
.
getAttributeType
)
if
(
p
);
else
switch
(
m
.
getAttributeType
(
d
,
i
)){
case
"TrustedHTML"
:
o
=
ae
.
createHTML
(
o
);
break
;
case
"TrustedScriptURL"
:
o
=
ae
.
createScriptURL
(
o
)}
try
{
p
?
t
.
setAttributeNS
(
p
,
l
,
o
)
:
t
.
setAttribute
(
l
,
o
),
E
(
r
.
removed
)}
catch
(
e
){}}}}
Dt
(
"afterSanitizeAttributes"
,
t
,
null
)}},
Nt
=
function
e
(
t
){
var
r
,
n
=
xt
(
t
);
for
(
Dt
(
"beforeSanitizeShadowDOM"
,
t
,
null
);
r
=
n
.
nextNode
();)
Dt
(
"uponSanitizeShadowNode"
,
r
,
null
),
Tt
(
r
)
||
(
r
.
content
instanceof
a
&&
e
(
r
.
content
),
Lt
(
r
));
Dt
(
"afterSanitizeShadowDOM"
,
t
,
null
)};
return
r
.
sanitize
=
function
(
o
){
var
i
,
s
,
u
,
l
,
p
,
d
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
?
arguments
[
1
]
:
{};
if
((
it
=!
o
)
&&
(
o
=
"\x3c!--\x3e"
),
"string"
!=
typeof
o
&&!
kt
(
o
)){
if
(
"function"
!=
typeof
o
.
toString
)
throw
N
(
"toString is not a function"
);
if
(
"string"
!=
typeof
(
o
=
o
.
toString
()))
throw
N
(
"dirty is not a string, aborting"
)}
if
(
!
r
.
isSupported
){
if
(
"object"
===
e
(
t
.
toStaticHTML
)
||
"function"
==
typeof
t
.
toStaticHTML
){
if
(
"string"
==
typeof
o
)
return
t
.
toStaticHTML
(
o
);
if
(
kt
(
o
))
return
t
.
toStaticHTML
(
o
.
outerHTML
)}
return
o
}
if
(
Ie
||
ft
(
d
),
r
.
removed
=
[],
"string"
==
typeof
o
&&
(
Ye
=!
1
),
Ye
){
if
(
o
.
nodeName
){
var
f
=
be
(
o
.
nodeName
);
if
(
!
De
[
f
]
||
Ne
[
f
])
throw
N
(
"root node is forbidden and cannot be sanitized in-place"
)}}
else
if
(
o
instanceof
c
)
1
===
(
s
=
(
i
=
Et
(
"\x3c!----\x3e"
)).
ownerDocument
.
importNode
(
o
,
!
0
)).
nodeType
&&
"BODY"
===
s
.
nodeName
||
"HTML"
===
s
.
nodeName
?
i
=
s
:
i
.
appendChild
(
s
);
else
{
if
(
!
Ge
&&!
Be
&&!
je
&&-
1
===
o
.
indexOf
(
"<"
))
return
ae
&&
Pe
?
ae
.
createHTML
(
o
)
:
o
;
if
(
!
(
i
=
Et
(
o
)))
return
Ge
?
null
:
Pe
?
se
:
""
}
i
&&
$e
&&
_t
(
i
.
firstChild
);
for
(
var
h
=
xt
(
Ye
?
o
:
i
);
u
=
h
.
nextNode
();)
3
===
u
.
nodeType
&&
u
===
l
||
Tt
(
u
)
||
(
u
.
content
instanceof
a
&&
Nt
(
u
.
content
),
Lt
(
u
),
l
=
u
);
if
(
l
=
null
,
Ye
)
return
o
;
if
(
Ge
){
if
(
Fe
)
for
(
p
=
pe
.
call
(
i
.
ownerDocument
);
i
.
firstChild
;)
p
.
appendChild
(
i
.
firstChild
);
else
p
=
i
;
return
Ae
.
shadowroot
&&
(
p
=
fe
.
call
(
n
,
p
,
!
0
)),
p
}
var
g
=
je
?
i
.
outerHTML
:
i
.
innerHTML
;
return
je
&&
De
[
"!doctype"
]
&&
i
.
ownerDocument
&&
i
.
ownerDocument
.
doctype
&&
i
.
ownerDocument
.
doctype
.
name
&&
L
(
re
,
i
.
ownerDocument
.
doctype
.
name
)
&&
(
g
=
"<!DOCTYPE "
+
i
.
ownerDocument
.
doctype
.
name
+
">\n"
+
g
),
Be
&&
(
g
=
T
(
g
,
ye
,
" "
),
g
=
T
(
g
,
ve
,
" "
),
g
=
T
(
g
,
_e
,
" "
)),
ae
&&
Pe
?
ae
.
createHTML
(
g
)
:
g
},
r
.
setConfig
=
function
(
e
){
ft
(
e
),
Ie
=!
0
},
r
.
clearConfig
=
function
(){
lt
=
null
,
Ie
=!
1
},
r
.
isValidAttribute
=
function
(
e
,
t
,
r
){
lt
||
ft
({});
var
n
=
be
(
e
),
o
=
be
(
t
);
return
At
(
n
,
o
,
r
)},
r
.
addHook
=
function
(
e
,
t
){
"function"
==
typeof
t
&&
(
ge
[
e
]
=
ge
[
e
]
||
[],
x
(
ge
[
e
],
t
))},
r
.
removeHook
=
function
(
e
){
if
(
ge
[
e
])
return
E
(
ge
[
e
])},
r
.
removeHooks
=
function
(
e
){
ge
[
e
]
&&
(
ge
[
e
]
=
[])},
r
.
removeAllHooks
=
function
(){
ge
=
{}},
r
}
return
ie
()}()},
86492
:
function
(
e
,
t
,
r
){
var
n
;
e
=
r
.
nmd
(
e
),
function
(
o
){
var
i
=
t
,
a
=
(
e
&&
e
.
exports
,
"object"
==
typeof
r
.
g
&&
r
.
g
);
a
.
global
!==
a
&&
a
.
window
;
var
s
=
/[\uD800-\uDBFF][\uDC00-\uDFFF]/g
,
c
=
/[\x01-\x7F]/g
,
u
=
/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g
,
l
=
/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g
,
p
=
{
""
:
"shy"
,
""
:
"zwnj"
,
""
:
"zwj"
,
""
:
"lrm"
,
""
:
"ic"
,
""
:
"it"
,
""
:
"af"
,
""
:
"rlm"
,
""
:
"ZeroWidthSpace"
,
""
:
"NoBreak"
,
"̑"
:
"DownBreve"
,
"⃛"
:
"tdot"
,
"⃜"
:
"DotDot"
,
"\t"
:
"Tab"
,
"\n"
:
"NewLine"
,
" "
:
"puncsp"
,
" "
:
"MediumSpace"
,
" "
:
"thinsp"
,
" "
:
"hairsp"
,
" "
:
"emsp13"
,
" "
:
"ensp"
,
" "
:
"emsp14"
,
" "
:
"emsp"
,
" "
:
"numsp"
,
" "
:
"nbsp"
,
" "
:
"ThickSpace"
,
"‾"
:
"oline"
,
_
:
"lowbar"
,
"‐"
:
"dash"
,
"–"
:
"ndash"
,
"—"
:
"mdash"
,
"―"
:
"horbar"
,
","
:
"comma"
,
";"
:
"semi"
,
"⁏"
:
"bsemi"
,
":"
:
"colon"
,
"⩴"
:
"Colone"
,
"!"
:
"excl"
,
"¡"
:
"iexcl"
,
"?"
:
"quest"
,
"¿"
:
"iquest"
,
"."
:
"period"
,
"‥"
:
"nldr"
,
"…"
:
"mldr"
,
"·"
:
"middot"
,
"'"
:
"apos"
,
"‘"
:
"lsquo"
,
"’"
:
"rsquo"
,
"‚"
:
"sbquo"
,
"‹"
:
"lsaquo"
,
"›"
:
"rsaquo"
,
'"'
:
"quot"
,
"“"
:
"ldquo"
,
"”"
:
"rdquo"
,
"„"
:
"bdquo"
,
"«"
:
"laquo"
,
"»"
:
"raquo"
,
"("
:
"lpar"
,
")"
:
"rpar"
,
"["
:
"lsqb"
,
"]"
:
"rsqb"
,
"{"
:
"lcub"
,
"}"
:
"rcub"
,
"⌈"
:
"lceil"
,
"⌉"
:
"rceil"
,
"⌊"
:
"lfloor"
,
"⌋"
:
"rfloor"
,
"⦅"
:
"lopar"
,
"⦆"
:
"ropar"
,
"⦋"
:
"lbrke"
,
"⦌"
:
"rbrke"
,
"⦍"
:
"lbrkslu"
,
"⦎"
:
"rbrksld"
,
"⦏"
:
"lbrksld"
,
"⦐"
:
"rbrkslu"
,
"⦑"
:
"langd"
,
"⦒"
:
"rangd"
,
"⦓"
:
"lparlt"
,
"⦔"
:
"rpargt"
,
"⦕"
:
"gtlPar"
,
"⦖"
:
"ltrPar"
,
"⟦"
:
"lobrk"
,
"⟧"
:
"robrk"
,
"⟨"
:
"lang"
,
"⟩"
:
"rang"
,
"⟪"
:
"Lang"
,
"⟫"
:
"Rang"
,
"⟬"
:
"loang"
,
"⟭"
:
"roang"
,
"❲"
:
"lbbrk"
,
"❳"
:
"rbbrk"
,
"‖"
:
"Vert"
,
"§"
:
"sect"
,
"¶"
:
"para"
,
"@"
:
"commat"
,
"*"
:
"ast"
,
"/"
:
"sol"
,
undefined
:
null
,
"&"
:
"amp"
,
"#"
:
"num"
,
"%"
:
"percnt"
,
"‰"
:
"permil"
,
"‱"
:
"pertenk"
,
"†"
:
"dagger"
,
"‡"
:
"Dagger"
,
"•"
:
"bull"
,
"⁃"
:
"hybull"
,
"′"
:
"prime"
,
"″"
:
"Prime"
,
"‴"
:
"tprime"
,
"⁗"
:
"qprime"
,
"‵"
:
"bprime"
,
"⁁"
:
"caret"
,
"`"
:
"grave"
,
"´"
:
"acute"
,
"˜"
:
"tilde"
,
"^"
:
"Hat"
,
"¯"
:
"macr"
,
"˘"
:
"breve"
,
"˙"
:
"dot"
,
"¨"
:
"die"
,
"˚"
:
"ring"
,
"˝"
:
"dblac"
,
"¸"
:
"cedil"
,
"˛"
:
"ogon"
,
"ˆ"
:
"circ"
,
"ˇ"
:
"caron"
,
"°"
:
"deg"
,
"©"
:
"copy"
,
"®"
:
"reg"
,
"℗"
:
"copysr"
,
"℘"
:
"wp"
,
"℞"
:
"rx"
,
"℧"
:
"mho"
,
"℩"
:
"iiota"
,
"←"
:
"larr"
,
"↚"
:
"nlarr"
,
"→"
:
"rarr"
,
"↛"
:
"nrarr"
,
"↑"
:
"uarr"
,
"↓"
:
"darr"
,
"↔"
:
"harr"
,
"↮"
:
"nharr"
,
"↕"
:
"varr"
,
"↖"
:
"nwarr"
,
"↗"
:
"nearr"
,
"↘"
:
"searr"
,
"↙"
:
"swarr"
,
"↝"
:
"rarrw"
,
"↝̸"
:
"nrarrw"
,
"↞"
:
"Larr"
,
"↟"
:
"Uarr"
,
"↠"
:
"Rarr"
,
"↡"
:
"Darr"
,
"↢"
:
"larrtl"
,
"↣"
:
"rarrtl"
,
"↤"
:
"mapstoleft"
,
"↥"
:
"mapstoup"
,
"↦"
:
"map"
,
"↧"
:
"mapstodown"
,
"↩"
:
"larrhk"
,
"↪"
:
"rarrhk"
,
"↫"
:
"larrlp"
,
"↬"
:
"rarrlp"
,
"↭"
:
"harrw"
,
"↰"
:
"lsh"
,
"↱"
:
"rsh"
,
"↲"
:
"ldsh"
,
"↳"
:
"rdsh"
,
"↵"
:
"crarr"
,
"↶"
:
"cularr"
,
"↷"
:
"curarr"
,
"↺"
:
"olarr"
,
"↻"
:
"orarr"
,
"↼"
:
"lharu"
,
"↽"
:
"lhard"
,
"↾"
:
"uharr"
,
"↿"
:
"uharl"
,
"⇀"
:
"rharu"
,
"⇁"
:
"rhard"
,
"⇂"
:
"dharr"
,
"⇃"
:
"dharl"
,
"⇄"
:
"rlarr"
,
"⇅"
:
"udarr"
,
"⇆"
:
"lrarr"
,
"⇇"
:
"llarr"
,
"⇈"
:
"uuarr"
,
"⇉"
:
"rrarr"
,
"⇊"
:
"ddarr"
,
"⇋"
:
"lrhar"
,
"⇌"
:
"rlhar"
,
"⇐"
:
"lArr"
,
"⇍"
:
"nlArr"
,
"⇑"
:
"uArr"
,
"⇒"
:
"rArr"
,
"⇏"
:
"nrArr"
,
"⇓"
:
"dArr"
,
"⇔"
:
"iff"
,
"⇎"
:
"nhArr"
,
"⇕"
:
"vArr"
,
"⇖"
:
"nwArr"
,
"⇗"
:
"neArr"
,
"⇘"
:
"seArr"
,
"⇙"
:
"swArr"
,
"⇚"
:
"lAarr"
,
"⇛"
:
"rAarr"
,
"⇝"
:
"zigrarr"
,
"⇤"
:
"larrb"
,
"⇥"
:
"rarrb"
,
"⇵"
:
"duarr"
,
"⇽"
:
"loarr"
,
"⇾"
:
"roarr"
,
"⇿"
:
"hoarr"
,
"∀"
:
"forall"
,
"∁"
:
"comp"
,
"∂"
:
"part"
,
"∂̸"
:
"npart"
,
"∃"
:
"exist"
,
"∄"
:
"nexist"
,
"∅"
:
"empty"
,
"∇"
:
"Del"
,
"∈"
:
"in"
,
"∉"
:
"notin"
,
"∋"
:
"ni"
,
"∌"
:
"notni"
,
"϶"
:
"bepsi"
,
"∏"
:
"prod"
,
"∐"
:
"coprod"
,
"∑"
:
"sum"
,
"+"
:
"plus"
,
"±"
:
"pm"
,
"÷"
:
"div"
,
"×"
:
"times"
,
"<"
:
"lt"
,
"≮"
:
"nlt"
,
"<⃒"
:
"nvlt"
,
"="
:
"equals"
,
"≠"
:
"ne"
,
"=⃥"
:
"bne"
,
"⩵"
:
"Equal"
,
">"
:
"gt"
,
"≯"
:
"ngt"
,
">⃒"
:
"nvgt"
,
"¬"
:
"not"
,
"|"
:
"vert"
,
"¦"
:
"brvbar"
,
"−"
:
"minus"
,
"∓"
:
"mp"
,
"∔"
:
"plusdo"
,
"⁄"
:
"frasl"
,
"∖"
:
"setmn"
,
"∗"
:
"lowast"
,
"∘"
:
"compfn"
,
"√"
:
"Sqrt"
,
"∝"
:
"prop"
,
"∞"
:
"infin"
,
"∟"
:
"angrt"
,
"∠"
:
"ang"
,
"∠⃒"
:
"nang"
,
"∡"
:
"angmsd"
,
"∢"
:
"angsph"
,
"∣"
:
"mid"
,
"∤"
:
"nmid"
,
"∥"
:
"par"
,
"∦"
:
"npar"
,
"∧"
:
"and"
,
"∨"
:
"or"
,
"∩"
:
"cap"
,
"∩︀"
:
"caps"
,
"∪"
:
"cup"
,
"∪︀"
:
"cups"
,
"∫"
:
"int"
,
"∬"
:
"Int"
,
"∭"
:
"tint"
,
"⨌"
:
"qint"
,
"∮"
:
"oint"
,
"∯"
:
"Conint"
,
"∰"
:
"Cconint"
,
"∱"
:
"cwint"
,
"∲"
:
"cwconint"
,
"∳"
:
"awconint"
,
"∴"
:
"there4"
,
"∵"
:
"becaus"
,
"∶"
:
"ratio"
,
"∷"
:
"Colon"
,
"∸"
:
"minusd"
,
"∺"
:
"mDDot"
,
"∻"
:
"homtht"
,
"∼"
:
"sim"
,
"≁"
:
"nsim"
,
"∼⃒"
:
"nvsim"
,
"∽"
:
"bsim"
,
"∽̱"
:
"race"
,
"∾"
:
"ac"
,
"∾̳"
:
"acE"
,
"∿"
:
"acd"
,
"≀"
:
"wr"
,
"≂"
:
"esim"
,
"≂̸"
:
"nesim"
,
"≃"
:
"sime"
,
"≄"
:
"nsime"
,
"≅"
:
"cong"
,
"≇"
:
"ncong"
,
"≆"
:
"simne"
,
"≈"
:
"ap"
,
"≉"
:
"nap"
,
"≊"
:
"ape"
,
"≋"
:
"apid"
,
"≋̸"
:
"napid"
,
"≌"
:
"bcong"
,
"≍"
:
"CupCap"
,
"≭"
:
"NotCupCap"
,
"≍⃒"
:
"nvap"
,
"≎"
:
"bump"
,
"≎̸"
:
"nbump"
,
"≏"
:
"bumpe"
,
"≏̸"
:
"nbumpe"
,
"≐"
:
"doteq"
,
"≐̸"
:
"nedot"
,
"≑"
:
"eDot"
,
"≒"
:
"efDot"
,
"≓"
:
"erDot"
,
"≔"
:
"colone"
,
"≕"
:
"ecolon"
,
"≖"
:
"ecir"
,
"≗"
:
"cire"
,
"≙"
:
"wedgeq"
,
"≚"
:
"veeeq"
,
"≜"
:
"trie"
,
"≟"
:
"equest"
,
"≡"
:
"equiv"
,
"≢"
:
"nequiv"
,
"≡⃥"
:
"bnequiv"
,
"≤"
:
"le"
,
"≰"
:
"nle"
,
"≤⃒"
:
"nvle"
,
"≥"
:
"ge"
,
"≱"
:
"nge"
,
"≥⃒"
:
"nvge"
,
"≦"
:
"lE"
,
"≦̸"
:
"nlE"
,
"≧"
:
"gE"
,
"≧̸"
:
"ngE"
,
"≨︀"
:
"lvnE"
,
"≨"
:
"lnE"
,
"≩"
:
"gnE"
,
"≩︀"
:
"gvnE"
,
"≪"
:
"ll"
,
"≪̸"
:
"nLtv"
,
"≪⃒"
:
"nLt"
,
"≫"
:
"gg"
,
"≫̸"
:
"nGtv"
,
"≫⃒"
:
"nGt"
,
"≬"
:
"twixt"
,
"≲"
:
"lsim"
,
"≴"
:
"nlsim"
,
"≳"
:
"gsim"
,
"≵"
:
"ngsim"
,
"≶"
:
"lg"
,
"≸"
:
"ntlg"
,
"≷"
:
"gl"
,
"≹"
:
"ntgl"
,
"≺"
:
"pr"
,
"⊀"
:
"npr"
,
"≻"
:
"sc"
,
"⊁"
:
"nsc"
,
"≼"
:
"prcue"
,
"⋠"
:
"nprcue"
,
"≽"
:
"sccue"
,
"⋡"
:
"nsccue"
,
"≾"
:
"prsim"
,
"≿"
:
"scsim"
,
"≿̸"
:
"NotSucceedsTilde"
,
"⊂"
:
"sub"
,
"⊄"
:
"nsub"
,
"⊂⃒"
:
"vnsub"
,
"⊃"
:
"sup"
,
"⊅"
:
"nsup"
,
"⊃⃒"
:
"vnsup"
,
"⊆"
:
"sube"
,
"⊈"
:
"nsube"
,
"⊇"
:
"supe"
,
"⊉"
:
"nsupe"
,
"⊊︀"
:
"vsubne"
,
"⊊"
:
"subne"
,
"⊋︀"
:
"vsupne"
,
"⊋"
:
"supne"
,
"⊍"
:
"cupdot"
,
"⊎"
:
"uplus"
,
"⊏"
:
"sqsub"
,
"⊏̸"
:
"NotSquareSubset"
,
"⊐"
:
"sqsup"
,
"⊐̸"
:
"NotSquareSuperset"
,
"⊑"
:
"sqsube"
,
"⋢"
:
"nsqsube"
,
"⊒"
:
"sqsupe"
,
"⋣"
:
"nsqsupe"
,
"⊓"
:
"sqcap"
,
"⊓︀"
:
"sqcaps"
,
"⊔"
:
"sqcup"
,
"⊔︀"
:
"sqcups"
,
"⊕"
:
"oplus"
,
"⊖"
:
"ominus"
,
"⊗"
:
"otimes"
,
"⊘"
:
"osol"
,
"⊙"
:
"odot"
,
"⊚"
:
"ocir"
,
"⊛"
:
"oast"
,
"⊝"
:
"odash"
,
"⊞"
:
"plusb"
,
"⊟"
:
"minusb"
,
"⊠"
:
"timesb"
,
"⊡"
:
"sdotb"
,
"⊢"
:
"vdash"
,
"⊬"
:
"nvdash"
,
"⊣"
:
"dashv"
,
"⊤"
:
"top"
,
"⊥"
:
"bot"
,
"⊧"
:
"models"
,
"⊨"
:
"vDash"
,
"⊭"
:
"nvDash"
,
"⊩"
:
"Vdash"
,
"⊮"
:
"nVdash"
,
"⊪"
:
"Vvdash"
,
"⊫"
:
"VDash"
,
"⊯"
:
"nVDash"
,
"⊰"
:
"prurel"
,
"⊲"
:
"vltri"
,
"⋪"
:
"nltri"
,
"⊳"
:
"vrtri"
,
"⋫"
:
"nrtri"
,
"⊴"
:
"ltrie"
,
"⋬"
:
"nltrie"
,
"⊴⃒"
:
"nvltrie"
,
"⊵"
:
"rtrie"
,
"⋭"
:
"nrtrie"
,
"⊵⃒"
:
"nvrtrie"
,
"⊶"
:
"origof"
,
"⊷"
:
"imof"
,
"⊸"
:
"mumap"
,
"⊹"
:
"hercon"
,
"⊺"
:
"intcal"
,
"⊻"
:
"veebar"
,
"⊽"
:
"barvee"
,
"⊾"
:
"angrtvb"
,
"⊿"
:
"lrtri"
,
"⋀"
:
"Wedge"
,
"⋁"
:
"Vee"
,
"⋂"
:
"xcap"
,
"⋃"
:
"xcup"
,
"⋄"
:
"diam"
,
"⋅"
:
"sdot"
,
"⋆"
:
"Star"
,
"⋇"
:
"divonx"
,
"⋈"
:
"bowtie"
,
"⋉"
:
"ltimes"
,
"⋊"
:
"rtimes"
,
"⋋"
:
"lthree"
,
"⋌"
:
"rthree"
,
"⋍"
:
"bsime"
,
"⋎"
:
"cuvee"
,
"⋏"
:
"cuwed"
,
"⋐"
:
"Sub"
,
"⋑"
:
"Sup"
,
"⋒"
:
"Cap"
,
"⋓"
:
"Cup"
,
"⋔"
:
"fork"
,
"⋕"
:
"epar"
,
"⋖"
:
"ltdot"
,
"⋗"
:
"gtdot"
,
"⋘"
:
"Ll"
,
"⋘̸"
:
"nLl"
,
"⋙"
:
"Gg"
,
"⋙̸"
:
"nGg"
,
"⋚︀"
:
"lesg"
,
"⋚"
:
"leg"
,
"⋛"
:
"gel"
,
"⋛︀"
:
"gesl"
,
"⋞"
:
"cuepr"
,
"⋟"
:
"cuesc"
,
"⋦"
:
"lnsim"
,
"⋧"
:
"gnsim"
,
"⋨"
:
"prnsim"
,
"⋩"
:
"scnsim"
,
"⋮"
:
"vellip"
,
"⋯"
:
"ctdot"
,
"⋰"
:
"utdot"
,
"⋱"
:
"dtdot"
,
"⋲"
:
"disin"
,
"⋳"
:
"isinsv"
,
"⋴"
:
"isins"
,
"⋵"
:
"isindot"
,
"⋵̸"
:
"notindot"
,
"⋶"
:
"notinvc"
,
"⋷"
:
"notinvb"
,
"⋹"
:
"isinE"
,
"⋹̸"
:
"notinE"
,
"⋺"
:
"nisd"
,
"⋻"
:
"xnis"
,
"⋼"
:
"nis"
,
"⋽"
:
"notnivc"
,
"⋾"
:
"notnivb"
,
"⌅"
:
"barwed"
,
"⌆"
:
"Barwed"
,
"⌌"
:
"drcrop"
,
"⌍"
:
"dlcrop"
,
"⌎"
:
"urcrop"
,
"⌏"
:
"ulcrop"
,
"⌐"
:
"bnot"
,
"⌒"
:
"profline"
,
"⌓"
:
"profsurf"
,
"⌕"
:
"telrec"
,
"⌖"
:
"target"
,
"⌜"
:
"ulcorn"
,
"⌝"
:
"urcorn"
,
"⌞"
:
"dlcorn"
,
"⌟"
:
"drcorn"
,
"⌢"
:
"frown"
,
"⌣"
:
"smile"
,
"⌭"
:
"cylcty"
,
"⌮"
:
"profalar"
,
"⌶"
:
"topbot"
,
"⌽"
:
"ovbar"
,
"⌿"
:
"solbar"
,
"⍼"
:
"angzarr"
,
"⎰"
:
"lmoust"
,
"⎱"
:
"rmoust"
,
"⎴"
:
"tbrk"
,
"⎵"
:
"bbrk"
,
"⎶"
:
"bbrktbrk"
,
"⏜"
:
"OverParenthesis"
,
"⏝"
:
"UnderParenthesis"
,
"⏞"
:
"OverBrace"
,
"⏟"
:
"UnderBrace"
,
"⏢"
:
"trpezium"
,
"⏧"
:
"elinters"
,
"␣"
:
"blank"
,
"─"
:
"boxh"
,
"│"
:
"boxv"
,
"┌"
:
"boxdr"
,
"┐"
:
"boxdl"
,
"└"
:
"boxur"
,
"┘"
:
"boxul"
,
"├"
:
"boxvr"
,
"┤"
:
"boxvl"
,
"┬"
:
"boxhd"
,
"┴"
:
"boxhu"
,
"┼"
:
"boxvh"
,
"═"
:
"boxH"
,
"║"
:
"boxV"
,
"╒"
:
"boxdR"
,
"╓"
:
"boxDr"
,
"╔"
:
"boxDR"
,
"╕"
:
"boxdL"
,
"╖"
:
"boxDl"
,
"╗"
:
"boxDL"
,
"╘"
:
"boxuR"
,
"╙"
:
"boxUr"
,
"╚"
:
"boxUR"
,
"╛"
:
"boxuL"
,
"╜"
:
"boxUl"
,
"╝"
:
"boxUL"
,
"╞"
:
"boxvR"
,
"╟"
:
"boxVr"
,
"╠"
:
"boxVR"
,
"╡"
:
"boxvL"
,
"╢"
:
"boxVl"
,
"╣"
:
"boxVL"
,
"╤"
:
"boxHd"
,
"╥"
:
"boxhD"
,
"╦"
:
"boxHD"
,
"╧"
:
"boxHu"
,
"╨"
:
"boxhU"
,
"╩"
:
"boxHU"
,
"╪"
:
"boxvH"
,
"╫"
:
"boxVh"
,
"╬"
:
"boxVH"
,
"▀"
:
"uhblk"
,
"▄"
:
"lhblk"
,
"█"
:
"block"
,
"░"
:
"blk14"
,
"▒"
:
"blk12"
,
"▓"
:
"blk34"
,
"□"
:
"squ"
,
"▪"
:
"squf"
,
"▫"
:
"EmptyVerySmallSquare"
,
"▭"
:
"rect"
,
"▮"
:
"marker"
,
"▱"
:
"fltns"
,
"△"
:
"xutri"
,
"▴"
:
"utrif"
,
"▵"
:
"utri"
,
"▸"
:
"rtrif"
,
"▹"
:
"rtri"
,
"▽"
:
"xdtri"
,
"▾"
:
"dtrif"
,
"▿"
:
"dtri"
,
"◂"
:
"ltrif"
,
"◃"
:
"ltri"
,
"◊"
:
"loz"
,
"○"
:
"cir"
,
"◬"
:
"tridot"
,
"◯"
:
"xcirc"
,
"◸"
:
"ultri"
,
"◹"
:
"urtri"
,
"◺"
:
"lltri"
,
"◻"
:
"EmptySmallSquare"
,
"◼"
:
"FilledSmallSquare"
,
"★"
:
"starf"
,
"☆"
:
"star"
,
"☎"
:
"phone"
,
"♀"
:
"female"
,
"♂"
:
"male"
,
"♠"
:
"spades"
,
"♣"
:
"clubs"
,
"♥"
:
"hearts"
,
"♦"
:
"diams"
,
"♪"
:
"sung"
,
"✓"
:
"check"
,
"✗"
:
"cross"
,
"✠"
:
"malt"
,
"✶"
:
"sext"
,
"❘"
:
"VerticalSeparator"
,
"⟈"
:
"bsolhsub"
,
"⟉"
:
"suphsol"
,
"⟵"
:
"xlarr"
,
"⟶"
:
"xrarr"
,
"⟷"
:
"xharr"
,
"⟸"
:
"xlArr"
,
"⟹"
:
"xrArr"
,
"⟺"
:
"xhArr"
,
"⟼"
:
"xmap"
,
"⟿"
:
"dzigrarr"
,
"⤂"
:
"nvlArr"
,
"⤃"
:
"nvrArr"
,
"⤄"
:
"nvHarr"
,
"⤅"
:
"Map"
,
"⤌"
:
"lbarr"
,
"⤍"
:
"rbarr"
,
"⤎"
:
"lBarr"
,
"⤏"
:
"rBarr"
,
"⤐"
:
"RBarr"
,
"⤑"
:
"DDotrahd"
,
"⤒"
:
"UpArrowBar"
,
"⤓"
:
"DownArrowBar"
,
"⤖"
:
"Rarrtl"
,
"⤙"
:
"latail"
,
"⤚"
:
"ratail"
,
"⤛"
:
"lAtail"
,
"⤜"
:
"rAtail"
,
"⤝"
:
"larrfs"
,
"⤞"
:
"rarrfs"
,
"⤟"
:
"larrbfs"
,
"⤠"
:
"rarrbfs"
,
"⤣"
:
"nwarhk"
,
"⤤"
:
"nearhk"
,
"⤥"
:
"searhk"
,
"⤦"
:
"swarhk"
,
"⤧"
:
"nwnear"
,
"⤨"
:
"toea"
,
"⤩"
:
"tosa"
,
"⤪"
:
"swnwar"
,
"⤳"
:
"rarrc"
,
"⤳̸"
:
"nrarrc"
,
"⤵"
:
"cudarrr"
,
"⤶"
:
"ldca"
,
"⤷"
:
"rdca"
,
"⤸"
:
"cudarrl"
,
"⤹"
:
"larrpl"
,
"⤼"
:
"curarrm"
,
"⤽"
:
"cularrp"
,
"⥅"
:
"rarrpl"
,
"⥈"
:
"harrcir"
,
"⥉"
:
"Uarrocir"
,
"⥊"
:
"lurdshar"
,
"⥋"
:
"ldrushar"
,
"⥎"
:
"LeftRightVector"
,
"⥏"
:
"RightUpDownVector"
,
"⥐"
:
"DownLeftRightVector"
,
"⥑"
:
"LeftUpDownVector"
,
"⥒"
:
"LeftVectorBar"
,
"⥓"
:
"RightVectorBar"
,
"⥔"
:
"RightUpVectorBar"
,
"⥕"
:
"RightDownVectorBar"
,
"⥖"
:
"DownLeftVectorBar"
,
"⥗"
:
"DownRightVectorBar"
,
"⥘"
:
"LeftUpVectorBar"
,
"⥙"
:
"LeftDownVectorBar"
,
"⥚"
:
"LeftTeeVector"
,
"⥛"
:
"RightTeeVector"
,
"⥜"
:
"RightUpTeeVector"
,
"⥝"
:
"RightDownTeeVector"
,
"⥞"
:
"DownLeftTeeVector"
,
"⥟"
:
"DownRightTeeVector"
,
"⥠"
:
"LeftUpTeeVector"
,
"⥡"
:
"LeftDownTeeVector"
,
"⥢"
:
"lHar"
,
"⥣"
:
"uHar"
,
"⥤"
:
"rHar"
,
"⥥"
:
"dHar"
,
"⥦"
:
"luruhar"
,
"⥧"
:
"ldrdhar"
,
"⥨"
:
"ruluhar"
,
"⥩"
:
"rdldhar"
,
"⥪"
:
"lharul"
,
"⥫"
:
"llhard"
,
"⥬"
:
"rharul"
,
"⥭"
:
"lrhard"
,
"⥮"
:
"udhar"
,
"⥯"
:
"duhar"
,
"⥰"
:
"RoundImplies"
,
"⥱"
:
"erarr"
,
"⥲"
:
"simrarr"
,
"⥳"
:
"larrsim"
,
"⥴"
:
"rarrsim"
,
"⥵"
:
"rarrap"
,
"⥶"
:
"ltlarr"
,
"⥸"
:
"gtrarr"
,
"⥹"
:
"subrarr"
,
"⥻"
:
"suplarr"
,
"⥼"
:
"lfisht"
,
"⥽"
:
"rfisht"
,
"⥾"
:
"ufisht"
,
"⥿"
:
"dfisht"
,
"⦚"
:
"vzigzag"
,
"⦜"
:
"vangrt"
,
"⦝"
:
"angrtvbd"
,
"⦤"
:
"ange"
,
"⦥"
:
"range"
,
"⦦"
:
"dwangle"
,
"⦧"
:
"uwangle"
,
"⦨"
:
"angmsdaa"
,
"⦩"
:
"angmsdab"
,
"⦪"
:
"angmsdac"
,
"⦫"
:
"angmsdad"
,
"⦬"
:
"angmsdae"
,
"⦭"
:
"angmsdaf"
,
"⦮"
:
"angmsdag"
,
"⦯"
:
"angmsdah"
,
"⦰"
:
"bemptyv"
,
"⦱"
:
"demptyv"
,
"⦲"
:
"cemptyv"
,
"⦳"
:
"raemptyv"
,
"⦴"
:
"laemptyv"
,
"⦵"
:
"ohbar"
,
"⦶"
:
"omid"
,
"⦷"
:
"opar"
,
"⦹"
:
"operp"
,
"⦻"
:
"olcross"
,
"⦼"
:
"odsold"
,
"⦾"
:
"olcir"
,
"⦿"
:
"ofcir"
,
"⧀"
:
"olt"
,
"⧁"
:
"ogt"
,
"⧂"
:
"cirscir"
,
"⧃"
:
"cirE"
,
"⧄"
:
"solb"
,
"⧅"
:
"bsolb"
,
"⧉"
:
"boxbox"
,
"⧍"
:
"trisb"
,
"⧎"
:
"rtriltri"
,
"⧏"
:
"LeftTriangleBar"
,
"⧏̸"
:
"NotLeftTriangleBar"
,
"⧐"
:
"RightTriangleBar"
,
"⧐̸"
:
"NotRightTriangleBar"
,
"⧜"
:
"iinfin"
,
"⧝"
:
"infintie"
,
"⧞"
:
"nvinfin"
,
"⧣"
:
"eparsl"
,
"⧤"
:
"smeparsl"
,
"⧥"
:
"eqvparsl"
,
"⧫"
:
"lozf"
,
"⧴"
:
"RuleDelayed"
,
"⧶"
:
"dsol"
,
"⨀"
:
"xodot"
,
"⨁"
:
"xoplus"
,
"⨂"
:
"xotime"
,
"⨄"
:
"xuplus"
,
"⨆"
:
"xsqcup"
,
"⨍"
:
"fpartint"
,
"⨐"
:
"cirfnint"
,
"⨑"
:
"awint"
,
"⨒"
:
"rppolint"
,
"⨓"
:
"scpolint"
,
"⨔"
:
"npolint"
,
"⨕"
:
"pointint"
,
"⨖"
:
"quatint"
,
"⨗"
:
"intlarhk"
,
"⨢"
:
"pluscir"
,
"⨣"
:
"plusacir"
,
"⨤"
:
"simplus"
,
"⨥"
:
"plusdu"
,
"⨦"
:
"plussim"
,
"⨧"
:
"plustwo"
,
"⨩"
:
"mcomma"
,
"⨪"
:
"minusdu"
,
"⨭"
:
"loplus"
,
"⨮"
:
"roplus"
,
"⨯"
:
"Cross"
,
"⨰"
:
"timesd"
,
"⨱"
:
"timesbar"
,
"⨳"
:
"smashp"
,
"⨴"
:
"lotimes"
,
"⨵"
:
"rotimes"
,
"⨶"
:
"otimesas"
,
"⨷"
:
"Otimes"
,
"⨸"
:
"odiv"
,
"⨹"
:
"triplus"
,
"⨺"
:
"triminus"
,
"⨻"
:
"tritime"
,
"⨼"
:
"iprod"
,
"⨿"
:
"amalg"
,
"⩀"
:
"capdot"
,
"⩂"
:
"ncup"
,
"⩃"
:
"ncap"
,
"⩄"
:
"capand"
,
"⩅"
:
"cupor"
,
"⩆"
:
"cupcap"
,
"⩇"
:
"capcup"
,
"⩈"
:
"cupbrcap"
,
"⩉"
:
"capbrcup"
,
"⩊"
:
"cupcup"
,
"⩋"
:
"capcap"
,
"⩌"
:
"ccups"
,
"⩍"
:
"ccaps"
,
"⩐"
:
"ccupssm"
,
"⩓"
:
"And"
,
"⩔"
:
"Or"
,
"⩕"
:
"andand"
,
"⩖"
:
"oror"
,
"⩗"
:
"orslope"
,
"⩘"
:
"andslope"
,
"⩚"
:
"andv"
,
"⩛"
:
"orv"
,
"⩜"
:
"andd"
,
"⩝"
:
"ord"
,
"⩟"
:
"wedbar"
,
"⩦"
:
"sdote"
,
"⩪"
:
"simdot"
,
"⩭"
:
"congdot"
,
"⩭̸"
:
"ncongdot"
,
"⩮"
:
"easter"
,
"⩯"
:
"apacir"
,
"⩰"
:
"apE"
,
"⩰̸"
:
"napE"
,
"⩱"
:
"eplus"
,
"⩲"
:
"pluse"
,
"⩳"
:
"Esim"
,
"⩷"
:
"eDDot"
,
"⩸"
:
"equivDD"
,
"⩹"
:
"ltcir"
,
"⩺"
:
"gtcir"
,
"⩻"
:
"ltquest"
,
"⩼"
:
"gtquest"
,
"⩽"
:
"les"
,
"⩽̸"
:
"nles"
,
"⩾"
:
"ges"
,
"⩾̸"
:
"nges"
,
"⩿"
:
"lesdot"
,
"⪀"
:
"gesdot"
,
"⪁"
:
"lesdoto"
,
"⪂"
:
"gesdoto"
,
"⪃"
:
"lesdotor"
,
"⪄"
:
"gesdotol"
,
"⪅"
:
"lap"
,
"⪆"
:
"gap"
,
"⪇"
:
"lne"
,
"⪈"
:
"gne"
,
"⪉"
:
"lnap"
,
"⪊"
:
"gnap"
,
"⪋"
:
"lEg"
,
"⪌"
:
"gEl"
,
"⪍"
:
"lsime"
,
"⪎"
:
"gsime"
,
"⪏"
:
"lsimg"
,
"⪐"
:
"gsiml"
,
"⪑"
:
"lgE"
,
"⪒"
:
"glE"
,
"⪓"
:
"lesges"
,
"⪔"
:
"gesles"
,
"⪕"
:
"els"
,
"⪖"
:
"egs"
,
"⪗"
:
"elsdot"
,
"⪘"
:
"egsdot"
,
"⪙"
:
"el"
,
"⪚"
:
"eg"
,
"⪝"
:
"siml"
,
"⪞"
:
"simg"
,
"⪟"
:
"simlE"
,
"⪠"
:
"simgE"
,
"⪡"
:
"LessLess"
,
"⪡̸"
:
"NotNestedLessLess"
,
"⪢"
:
"GreaterGreater"
,
"⪢̸"
:
"NotNestedGreaterGreater"
,
"⪤"
:
"glj"
,
"⪥"
:
"gla"
,
"⪦"
:
"ltcc"
,
"⪧"
:
"gtcc"
,
"⪨"
:
"lescc"
,
"⪩"
:
"gescc"
,
"⪪"
:
"smt"
,
"⪫"
:
"lat"
,
"⪬"
:
"smte"
,
"⪬︀"
:
"smtes"
,
"⪭"
:
"late"
,
"⪭︀"
:
"lates"
,
"⪮"
:
"bumpE"
,
"⪯"
:
"pre"
,
"⪯̸"
:
"npre"
,
"⪰"
:
"sce"
,
"⪰̸"
:
"nsce"
,
"⪳"
:
"prE"
,
"⪴"
:
"scE"
,
"⪵"
:
"prnE"
,
"⪶"
:
"scnE"
,
"⪷"
:
"prap"
,
"⪸"
:
"scap"
,
"⪹"
:
"prnap"
,
"⪺"
:
"scnap"
,
"⪻"
:
"Pr"
,
"⪼"
:
"Sc"
,
"⪽"
:
"subdot"
,
"⪾"
:
"supdot"
,
"⪿"
:
"subplus"
,
"⫀"
:
"supplus"
,
"⫁"
:
"submult"
,
"⫂"
:
"supmult"
,
"⫃"
:
"subedot"
,
"⫄"
:
"supedot"
,
"⫅"
:
"subE"
,
"⫅̸"
:
"nsubE"
,
"⫆"
:
"supE"
,
"⫆̸"
:
"nsupE"
,
"⫇"
:
"subsim"
,
"⫈"
:
"supsim"
,
"⫋︀"
:
"vsubnE"
,
"⫋"
:
"subnE"
,
"⫌︀"
:
"vsupnE"
,
"⫌"
:
"supnE"
,
"⫏"
:
"csub"
,
"⫐"
:
"csup"
,
"⫑"
:
"csube"
,
"⫒"
:
"csupe"
,
"⫓"
:
"subsup"
,
"⫔"
:
"supsub"
,
"⫕"
:
"subsub"
,
"⫖"
:
"supsup"
,
"⫗"
:
"suphsub"
,
"⫘"
:
"supdsub"
,
"⫙"
:
"forkv"
,
"⫚"
:
"topfork"
,
"⫛"
:
"mlcp"
,
"⫤"
:
"Dashv"
,
"⫦"
:
"Vdashl"
,
"⫧"
:
"Barv"
,
"⫨"
:
"vBar"
,
"⫩"
:
"vBarv"
,
"⫫"
:
"Vbar"
,
"⫬"
:
"Not"
,
"⫭"
:
"bNot"
,
"⫮"
:
"rnmid"
,
"⫯"
:
"cirmid"
,
"⫰"
:
"midcir"
,
"⫱"
:
"topcir"
,
"⫲"
:
"nhpar"
,
"⫳"
:
"parsim"
,
"⫽"
:
"parsl"
,
"⫽⃥"
:
"nparsl"
,
"♭"
:
"flat"
,
"♮"
:
"natur"
,
"♯"
:
"sharp"
,
"¤"
:
"curren"
,
"¢"
:
"cent"
,
$
:
"dollar"
,
"£"
:
"pound"
,
"¥"
:
"yen"
,
"€"
:
"euro"
,
"¹"
:
"sup1"
,
"½"
:
"half"
,
"⅓"
:
"frac13"
,
"¼"
:
"frac14"
,
"⅕"
:
"frac15"
,
"⅙"
:
"frac16"
,
"⅛"
:
"frac18"
,
"²"
:
"sup2"
,
"⅔"
:
"frac23"
,
"⅖"
:
"frac25"
,
"³"
:
"sup3"
,
"¾"
:
"frac34"
,
"⅗"
:
"frac35"
,
"⅜"
:
"frac38"
,
"⅘"
:
"frac45"
,
"⅚"
:
"frac56"
,
"⅝"
:
"frac58"
,
"⅞"
:
"frac78"
,
"𝒶"
:
"ascr"
,
"𝕒"
:
"aopf"
,
"𝔞"
:
"afr"
,
"𝔸"
:
"Aopf"
,
"𝔄"
:
"Afr"
,
"𝒜"
:
"Ascr"
,
"ª"
:
"ordf"
,
"á"
:
"aacute"
,
"Á"
:
"Aacute"
,
"à"
:
"agrave"
,
"À"
:
"Agrave"
,
"ă"
:
"abreve"
,
"Ă"
:
"Abreve"
,
"â"
:
"acirc"
,
"Â"
:
"Acirc"
,
"å"
:
"aring"
,
"Å"
:
"angst"
,
"ä"
:
"auml"
,
"Ä"
:
"Auml"
,
"ã"
:
"atilde"
,
"Ã"
:
"Atilde"
,
"ą"
:
"aogon"
,
"Ą"
:
"Aogon"
,
"ā"
:
"amacr"
,
"Ā"
:
"Amacr"
,
"æ"
:
"aelig"
,
"Æ"
:
"AElig"
,
"𝒷"
:
"bscr"
,
"𝕓"
:
"bopf"
,
"𝔟"
:
"bfr"
,
"𝔹"
:
"Bopf"
,
"ℬ"
:
"Bscr"
,
"𝔅"
:
"Bfr"
,
"𝔠"
:
"cfr"
,
"𝒸"
:
"cscr"
,
"𝕔"
:
"copf"
,
"ℭ"
:
"Cfr"
,
"𝒞"
:
"Cscr"
,
"ℂ"
:
"Copf"
,
"ć"
:
"cacute"
,
"Ć"
:
"Cacute"
,
"ĉ"
:
"ccirc"
,
"Ĉ"
:
"Ccirc"
,
"č"
:
"ccaron"
,
"Č"
:
"Ccaron"
,
"ċ"
:
"cdot"
,
"Ċ"
:
"Cdot"
,
"ç"
:
"ccedil"
,
"Ç"
:
"Ccedil"
,
"℅"
:
"incare"
,
"𝔡"
:
"dfr"
,
"ⅆ"
:
"dd"
,
"𝕕"
:
"dopf"
,
"𝒹"
:
"dscr"
,
"𝒟"
:
"Dscr"
,
"𝔇"
:
"Dfr"
,
"ⅅ"
:
"DD"
,
"𝔻"
:
"Dopf"
,
"ď"
:
"dcaron"
,
"Ď"
:
"Dcaron"
,
"đ"
:
"dstrok"
,
"Đ"
:
"Dstrok"
,
"ð"
:
"eth"
,
"Ð"
:
"ETH"
,
"ⅇ"
:
"ee"
,
"ℯ"
:
"escr"
,
"𝔢"
:
"efr"
,
"𝕖"
:
"eopf"
,
"ℰ"
:
"Escr"
,
"𝔈"
:
"Efr"
,
"𝔼"
:
"Eopf"
,
"é"
:
"eacute"
,
"É"
:
"Eacute"
,
"è"
:
"egrave"
,
"È"
:
"Egrave"
,
"ê"
:
"ecirc"
,
"Ê"
:
"Ecirc"
,
"ě"
:
"ecaron"
,
"Ě"
:
"Ecaron"
,
"ë"
:
"euml"
,
"Ë"
:
"Euml"
,
"ė"
:
"edot"
,
"Ė"
:
"Edot"
,
"ę"
:
"eogon"
,
"Ę"
:
"Eogon"
,
"ē"
:
"emacr"
,
"Ē"
:
"Emacr"
,
"𝔣"
:
"ffr"
,
"𝕗"
:
"fopf"
,
"𝒻"
:
"fscr"
,
"𝔉"
:
"Ffr"
,
"𝔽"
:
"Fopf"
,
"ℱ"
:
"Fscr"
,
"ff"
:
"fflig"
,
"ffi"
:
"ffilig"
,
"ffl"
:
"ffllig"
,
"fi"
:
"filig"
,
fj
:
"fjlig"
,
"fl"
:
"fllig"
,
"ƒ"
:
"fnof"
,
"ℊ"
:
"gscr"
,
"𝕘"
:
"gopf"
,
"𝔤"
:
"gfr"
,
"𝒢"
:
"Gscr"
,
"𝔾"
:
"Gopf"
,
"𝔊"
:
"Gfr"
,
"ǵ"
:
"gacute"
,
"ğ"
:
"gbreve"
,
"Ğ"
:
"Gbreve"
,
"ĝ"
:
"gcirc"
,
"Ĝ"
:
"Gcirc"
,
"ġ"
:
"gdot"
,
"Ġ"
:
"Gdot"
,
"Ģ"
:
"Gcedil"
,
"𝔥"
:
"hfr"
,
"ℎ"
:
"planckh"
,
"𝒽"
:
"hscr"
,
"𝕙"
:
"hopf"
,
"ℋ"
:
"Hscr"
,
"ℌ"
:
"Hfr"
,
"ℍ"
:
"Hopf"
,
"ĥ"
:
"hcirc"
,
"Ĥ"
:
"Hcirc"
,
"ℏ"
:
"hbar"
,
"ħ"
:
"hstrok"
,
"Ħ"
:
"Hstrok"
,
"𝕚"
:
"iopf"
,
"𝔦"
:
"ifr"
,
"𝒾"
:
"iscr"
,
"ⅈ"
:
"ii"
,
"𝕀"
:
"Iopf"
,
"ℐ"
:
"Iscr"
,
"ℑ"
:
"Im"
,
"í"
:
"iacute"
,
"Í"
:
"Iacute"
,
"ì"
:
"igrave"
,
"Ì"
:
"Igrave"
,
"î"
:
"icirc"
,
"Î"
:
"Icirc"
,
"ï"
:
"iuml"
,
"Ï"
:
"Iuml"
,
"ĩ"
:
"itilde"
,
"Ĩ"
:
"Itilde"
,
"İ"
:
"Idot"
,
"į"
:
"iogon"
,
"Į"
:
"Iogon"
,
"ī"
:
"imacr"
,
"Ī"
:
"Imacr"
,
"ij"
:
"ijlig"
,
"IJ"
:
"IJlig"
,
"ı"
:
"imath"
,
"𝒿"
:
"jscr"
,
"𝕛"
:
"jopf"
,
"𝔧"
:
"jfr"
,
"𝒥"
:
"Jscr"
,
"𝔍"
:
"Jfr"
,
"𝕁"
:
"Jopf"
,
"ĵ"
:
"jcirc"
,
"Ĵ"
:
"Jcirc"
,
"ȷ"
:
"jmath"
,
"𝕜"
:
"kopf"
,
"𝓀"
:
"kscr"
,
"𝔨"
:
"kfr"
,
"𝒦"
:
"Kscr"
,
"𝕂"
:
"Kopf"
,
"𝔎"
:
"Kfr"
,
"ķ"
:
"kcedil"
,
"Ķ"
:
"Kcedil"
,
"𝔩"
:
"lfr"
,
"𝓁"
:
"lscr"
,
"ℓ"
:
"ell"
,
"𝕝"
:
"lopf"
,
"ℒ"
:
"Lscr"
,
"𝔏"
:
"Lfr"
,
"𝕃"
:
"Lopf"
,
"ĺ"
:
"lacute"
,
"Ĺ"
:
"Lacute"
,
"ľ"
:
"lcaron"
,
"Ľ"
:
"Lcaron"
,
"ļ"
:
"lcedil"
,
"Ļ"
:
"Lcedil"
,
"ł"
:
"lstrok"
,
"Ł"
:
"Lstrok"
,
"ŀ"
:
"lmidot"
,
"Ŀ"
:
"Lmidot"
,
"𝔪"
:
"mfr"
,
"𝕞"
:
"mopf"
,
"𝓂"
:
"mscr"
,
"𝔐"
:
"Mfr"
,
"𝕄"
:
"Mopf"
,
"ℳ"
:
"Mscr"
,
"𝔫"
:
"nfr"
,
"𝕟"
:
"nopf"
,
"𝓃"
:
"nscr"
,
"ℕ"
:
"Nopf"
,
"𝒩"
:
"Nscr"
,
"𝔑"
:
"Nfr"
,
"ń"
:
"nacute"
,
"Ń"
:
"Nacute"
,
"ň"
:
"ncaron"
,
"Ň"
:
"Ncaron"
,
"ñ"
:
"ntilde"
,
"Ñ"
:
"Ntilde"
,
"ņ"
:
"ncedil"
,
"Ņ"
:
"Ncedil"
,
"№"
:
"numero"
,
"ŋ"
:
"eng"
,
"Ŋ"
:
"ENG"
,
"𝕠"
:
"oopf"
,
"𝔬"
:
"ofr"
,
"ℴ"
:
"oscr"
,
"𝒪"
:
"Oscr"
,
"𝔒"
:
"Ofr"
,
"𝕆"
:
"Oopf"
,
"º"
:
"ordm"
,
"ó"
:
"oacute"
,
"Ó"
:
"Oacute"
,
"ò"
:
"ograve"
,
"Ò"
:
"Ograve"
,
"ô"
:
"ocirc"
,
"Ô"
:
"Ocirc"
,
"ö"
:
"ouml"
,
"Ö"
:
"Ouml"
,
"ő"
:
"odblac"
,
"Ő"
:
"Odblac"
,
"õ"
:
"otilde"
,
"Õ"
:
"Otilde"
,
"ø"
:
"oslash"
,
"Ø"
:
"Oslash"
,
"ō"
:
"omacr"
,
"Ō"
:
"Omacr"
,
"œ"
:
"oelig"
,
"Œ"
:
"OElig"
,
"𝔭"
:
"pfr"
,
"𝓅"
:
"pscr"
,
"𝕡"
:
"popf"
,
"ℙ"
:
"Popf"
,
"𝔓"
:
"Pfr"
,
"𝒫"
:
"Pscr"
,
"𝕢"
:
"qopf"
,
"𝔮"
:
"qfr"
,
"𝓆"
:
"qscr"
,
"𝒬"
:
"Qscr"
,
"𝔔"
:
"Qfr"
,
"ℚ"
:
"Qopf"
,
"ĸ"
:
"kgreen"
,
"𝔯"
:
"rfr"
,
"𝕣"
:
"ropf"
,
"𝓇"
:
"rscr"
,
"ℛ"
:
"Rscr"
,
"ℜ"
:
"Re"
,
"ℝ"
:
"Ropf"
,
"ŕ"
:
"racute"
,
"Ŕ"
:
"Racute"
,
"ř"
:
"rcaron"
,
"Ř"
:
"Rcaron"
,
"ŗ"
:
"rcedil"
,
"Ŗ"
:
"Rcedil"
,
"𝕤"
:
"sopf"
,
"𝓈"
:
"sscr"
,
"𝔰"
:
"sfr"
,
"𝕊"
:
"Sopf"
,
"𝔖"
:
"Sfr"
,
"𝒮"
:
"Sscr"
,
"Ⓢ"
:
"oS"
,
"ś"
:
"sacute"
,
"Ś"
:
"Sacute"
,
"ŝ"
:
"scirc"
,
"Ŝ"
:
"Scirc"
,
"š"
:
"scaron"
,
"Š"
:
"Scaron"
,
"ş"
:
"scedil"
,
"Ş"
:
"Scedil"
,
"ß"
:
"szlig"
,
"𝔱"
:
"tfr"
,
"𝓉"
:
"tscr"
,
"𝕥"
:
"topf"
,
"𝒯"
:
"Tscr"
,
"𝔗"
:
"Tfr"
,
"𝕋"
:
"Topf"
,
"ť"
:
"tcaron"
,
"Ť"
:
"Tcaron"
,
"ţ"
:
"tcedil"
,
"Ţ"
:
"Tcedil"
,
"™"
:
"trade"
,
"ŧ"
:
"tstrok"
,
"Ŧ"
:
"Tstrok"
,
"𝓊"
:
"uscr"
,
"𝕦"
:
"uopf"
,
"𝔲"
:
"ufr"
,
"𝕌"
:
"Uopf"
,
"𝔘"
:
"Ufr"
,
"𝒰"
:
"Uscr"
,
"ú"
:
"uacute"
,
"Ú"
:
"Uacute"
,
"ù"
:
"ugrave"
,
"Ù"
:
"Ugrave"
,
"ŭ"
:
"ubreve"
,
"Ŭ"
:
"Ubreve"
,
"û"
:
"ucirc"
,
"Û"
:
"Ucirc"
,
"ů"
:
"uring"
,
"Ů"
:
"Uring"
,
"ü"
:
"uuml"
,
"Ü"
:
"Uuml"
,
"ű"
:
"udblac"
,
"Ű"
:
"Udblac"
,
"ũ"
:
"utilde"
,
"Ũ"
:
"Utilde"
,
"ų"
:
"uogon"
,
"Ų"
:
"Uogon"
,
"ū"
:
"umacr"
,
"Ū"
:
"Umacr"
,
"𝔳"
:
"vfr"
,
"𝕧"
:
"vopf"
,
"𝓋"
:
"vscr"
,
"𝔙"
:
"Vfr"
,
"𝕍"
:
"Vopf"
,
"𝒱"
:
"Vscr"
,
"𝕨"
:
"wopf"
,
"𝓌"
:
"wscr"
,
"𝔴"
:
"wfr"
,
"𝒲"
:
"Wscr"
,
"𝕎"
:
"Wopf"
,
"𝔚"
:
"Wfr"
,
"ŵ"
:
"wcirc"
,
"Ŵ"
:
"Wcirc"
,
"𝔵"
:
"xfr"
,
"𝓍"
:
"xscr"
,
"𝕩"
:
"xopf"
,
"𝕏"
:
"Xopf"
,
"𝔛"
:
"Xfr"
,
"𝒳"
:
"Xscr"
,
"𝔶"
:
"yfr"
,
"𝓎"
:
"yscr"
,
"𝕪"
:
"yopf"
,
"𝒴"
:
"Yscr"
,
"𝔜"
:
"Yfr"
,
"𝕐"
:
"Yopf"
,
"ý"
:
"yacute"
,
"Ý"
:
"Yacute"
,
"ŷ"
:
"ycirc"
,
"Ŷ"
:
"Ycirc"
,
"ÿ"
:
"yuml"
,
"Ÿ"
:
"Yuml"
,
"𝓏"
:
"zscr"
,
"𝔷"
:
"zfr"
,
"𝕫"
:
"zopf"
,
"ℨ"
:
"Zfr"
,
"ℤ"
:
"Zopf"
,
"𝒵"
:
"Zscr"
,
"ź"
:
"zacute"
,
"Ź"
:
"Zacute"
,
"ž"
:
"zcaron"
,
"Ž"
:
"Zcaron"
,
"ż"
:
"zdot"
,
"Ż"
:
"Zdot"
,
"Ƶ"
:
"imped"
,
"þ"
:
"thorn"
,
"Þ"
:
"THORN"
,
"ʼn"
:
"napos"
,
"α"
:
"alpha"
,
"Α"
:
"Alpha"
,
"β"
:
"beta"
,
"Β"
:
"Beta"
,
"γ"
:
"gamma"
,
"Γ"
:
"Gamma"
,
"δ"
:
"delta"
,
"Δ"
:
"Delta"
,
"ε"
:
"epsi"
,
"ϵ"
:
"epsiv"
,
"Ε"
:
"Epsilon"
,
"ϝ"
:
"gammad"
,
"Ϝ"
:
"Gammad"
,
"ζ"
:
"zeta"
,
"Ζ"
:
"Zeta"
,
"η"
:
"eta"
,
"Η"
:
"Eta"
,
"θ"
:
"theta"
,
"ϑ"
:
"thetav"
,
"Θ"
:
"Theta"
,
"ι"
:
"iota"
,
"Ι"
:
"Iota"
,
"κ"
:
"kappa"
,
"ϰ"
:
"kappav"
,
"Κ"
:
"Kappa"
,
"λ"
:
"lambda"
,
"Λ"
:
"Lambda"
,
"μ"
:
"mu"
,
"µ"
:
"micro"
,
"Μ"
:
"Mu"
,
"ν"
:
"nu"
,
"Ν"
:
"Nu"
,
"ξ"
:
"xi"
,
"Ξ"
:
"Xi"
,
"ο"
:
"omicron"
,
"Ο"
:
"Omicron"
,
"π"
:
"pi"
,
"ϖ"
:
"piv"
,
"Π"
:
"Pi"
,
"ρ"
:
"rho"
,
"ϱ"
:
"rhov"
,
"Ρ"
:
"Rho"
,
"σ"
:
"sigma"
,
"Σ"
:
"Sigma"
,
"ς"
:
"sigmaf"
,
"τ"
:
"tau"
,
"Τ"
:
"Tau"
,
"υ"
:
"upsi"
,
"Υ"
:
"Upsilon"
,
"ϒ"
:
"Upsi"
,
"φ"
:
"phi"
,
"ϕ"
:
"phiv"
,
"Φ"
:
"Phi"
,
"χ"
:
"chi"
,
"Χ"
:
"Chi"
,
"ψ"
:
"psi"
,
"Ψ"
:
"Psi"
,
"ω"
:
"omega"
,
"Ω"
:
"ohm"
,
"а"
:
"acy"
,
"А"
:
"Acy"
,
"б"
:
"bcy"
,
"Б"
:
"Bcy"
,
"в"
:
"vcy"
,
"В"
:
"Vcy"
,
"г"
:
"gcy"
,
"Г"
:
"Gcy"
,
"ѓ"
:
"gjcy"
,
"Ѓ"
:
"GJcy"
,
"д"
:
"dcy"
,
"Д"
:
"Dcy"
,
"ђ"
:
"djcy"
,
"Ђ"
:
"DJcy"
,
"е"
:
"iecy"
,
"Е"
:
"IEcy"
,
"ё"
:
"iocy"
,
"Ё"
:
"IOcy"
,
"є"
:
"jukcy"
,
"Є"
:
"Jukcy"
,
"ж"
:
"zhcy"
,
"Ж"
:
"ZHcy"
,
"з"
:
"zcy"
,
"З"
:
"Zcy"
,
"ѕ"
:
"dscy"
,
"Ѕ"
:
"DScy"
,
"и"
:
"icy"
,
"И"
:
"Icy"
,
"і"
:
"iukcy"
,
"І"
:
"Iukcy"
,
"ї"
:
"yicy"
,
"Ї"
:
"YIcy"
,
"й"
:
"jcy"
,
"Й"
:
"Jcy"
,
"ј"
:
"jsercy"
,
"Ј"
:
"Jsercy"
,
"к"
:
"kcy"
,
"К"
:
"Kcy"
,
"ќ"
:
"kjcy"
,
"Ќ"
:
"KJcy"
,
"л"
:
"lcy"
,
"Л"
:
"Lcy"
,
"љ"
:
"ljcy"
,
"Љ"
:
"LJcy"
,
"м"
:
"mcy"
,
"М"
:
"Mcy"
,
"н"
:
"ncy"
,
"Н"
:
"Ncy"
,
"њ"
:
"njcy"
,
"Њ"
:
"NJcy"
,
"о"
:
"ocy"
,
"О"
:
"Ocy"
,
"п"
:
"pcy"
,
"П"
:
"Pcy"
,
"р"
:
"rcy"
,
"Р"
:
"Rcy"
,
"с"
:
"scy"
,
"С"
:
"Scy"
,
"т"
:
"tcy"
,
"Т"
:
"Tcy"
,
"ћ"
:
"tshcy"
,
"Ћ"
:
"TSHcy"
,
"у"
:
"ucy"
,
"У"
:
"Ucy"
,
"ў"
:
"ubrcy"
,
"Ў"
:
"Ubrcy"
,
"ф"
:
"fcy"
,
"Ф"
:
"Fcy"
,
"х"
:
"khcy"
,
"Х"
:
"KHcy"
,
"ц"
:
"tscy"
,
"Ц"
:
"TScy"
,
"ч"
:
"chcy"
,
"Ч"
:
"CHcy"
,
"џ"
:
"dzcy"
,
"Џ"
:
"DZcy"
,
"ш"
:
"shcy"
,
"Ш"
:
"SHcy"
,
"щ"
:
"shchcy"
,
"Щ"
:
"SHCHcy"
,
"ъ"
:
"hardcy"
,
"Ъ"
:
"HARDcy"
,
"ы"
:
"ycy"
,
"Ы"
:
"Ycy"
,
"ь"
:
"softcy"
,
"Ь"
:
"SOFTcy"
,
"э"
:
"ecy"
,
"Э"
:
"Ecy"
,
"ю"
:
"yucy"
,
"Ю"
:
"YUcy"
,
"я"
:
"yacy"
,
"Я"
:
"YAcy"
,
"ℵ"
:
"aleph"
,
"ℶ"
:
"beth"
,
"ℷ"
:
"gimel"
,
"ℸ"
:
"daleth"
},
d
=
/["&'<>`]/g
,
f
=
{
'"'
:
"""
,
"&"
:
"&"
,
"'"
:
"'"
,
"<"
:
"<"
,
">"
:
">"
,
"`"
:
"`"
},
h
=
/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/
,
g
=
/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
,
m
=
/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g
,
b
=
{
aacute
:
"á"
,
Aacute
:
"Á"
,
abreve
:
"ă"
,
Abreve
:
"Ă"
,
ac
:
"∾"
,
acd
:
"∿"
,
acE
:
"∾̳"
,
acirc
:
"â"
,
Acirc
:
"Â"
,
acute
:
"´"
,
acy
:
"а"
,
Acy
:
"А"
,
aelig
:
"æ"
,
AElig
:
"Æ"
,
af
:
""
,
afr
:
"𝔞"
,
Afr
:
"𝔄"
,
agrave
:
"à"
,
Agrave
:
"À"
,
alefsym
:
"ℵ"
,
aleph
:
"ℵ"
,
alpha
:
"α"
,
Alpha
:
"Α"
,
amacr
:
"ā"
,
Amacr
:
"Ā"
,
amalg
:
"⨿"
,
amp
:
"&"
,
AMP
:
"&"
,
and
:
"∧"
,
And
:
"⩓"
,
andand
:
"⩕"
,
andd
:
"⩜"
,
andslope
:
"⩘"
,
andv
:
"⩚"
,
ang
:
"∠"
,
ange
:
"⦤"
,
angle
:
"∠"
,
angmsd
:
"∡"
,
angmsdaa
:
"⦨"
,
angmsdab
:
"⦩"
,
angmsdac
:
"⦪"
,
angmsdad
:
"⦫"
,
angmsdae
:
"⦬"
,
angmsdaf
:
"⦭"
,
angmsdag
:
"⦮"
,
angmsdah
:
"⦯"
,
angrt
:
"∟"
,
angrtvb
:
"⊾"
,
angrtvbd
:
"⦝"
,
angsph
:
"∢"
,
angst
:
"Å"
,
angzarr
:
"⍼"
,
aogon
:
"ą"
,
Aogon
:
"Ą"
,
aopf
:
"𝕒"
,
Aopf
:
"𝔸"
,
ap
:
"≈"
,
apacir
:
"⩯"
,
ape
:
"≊"
,
apE
:
"⩰"
,
apid
:
"≋"
,
apos
:
"'"
,
ApplyFunction
:
""
,
approx
:
"≈"
,
approxeq
:
"≊"
,
aring
:
"å"
,
Aring
:
"Å"
,
ascr
:
"𝒶"
,
Ascr
:
"𝒜"
,
Assign
:
"≔"
,
ast
:
"*"
,
asymp
:
"≈"
,
asympeq
:
"≍"
,
atilde
:
"ã"
,
Atilde
:
"Ã"
,
auml
:
"ä"
,
Auml
:
"Ä"
,
awconint
:
"∳"
,
awint
:
"⨑"
,
backcong
:
"≌"
,
backepsilon
:
"϶"
,
backprime
:
"‵"
,
backsim
:
"∽"
,
backsimeq
:
"⋍"
,
Backslash
:
"∖"
,
Barv
:
"⫧"
,
barvee
:
"⊽"
,
barwed
:
"⌅"
,
Barwed
:
"⌆"
,
barwedge
:
"⌅"
,
bbrk
:
"⎵"
,
bbrktbrk
:
"⎶"
,
bcong
:
"≌"
,
bcy
:
"б"
,
Bcy
:
"Б"
,
bdquo
:
"„"
,
becaus
:
"∵"
,
because
:
"∵"
,
Because
:
"∵"
,
bemptyv
:
"⦰"
,
bepsi
:
"϶"
,
bernou
:
"ℬ"
,
Bernoullis
:
"ℬ"
,
beta
:
"β"
,
Beta
:
"Β"
,
beth
:
"ℶ"
,
between
:
"≬"
,
bfr
:
"𝔟"
,
Bfr
:
"𝔅"
,
bigcap
:
"⋂"
,
bigcirc
:
"◯"
,
bigcup
:
"⋃"
,
bigodot
:
"⨀"
,
bigoplus
:
"⨁"
,
bigotimes
:
"⨂"
,
bigsqcup
:
"⨆"
,
bigstar
:
"★"
,
bigtriangledown
:
"▽"
,
bigtriangleup
:
"△"
,
biguplus
:
"⨄"
,
bigvee
:
"⋁"
,
bigwedge
:
"⋀"
,
bkarow
:
"⤍"
,
blacklozenge
:
"⧫"
,
blacksquare
:
"▪"
,
blacktriangle
:
"▴"
,
blacktriangledown
:
"▾"
,
blacktriangleleft
:
"◂"
,
blacktriangleright
:
"▸"
,
blank
:
"␣"
,
blk12
:
"▒"
,
blk14
:
"░"
,
blk34
:
"▓"
,
block
:
"█"
,
bne
:
"=⃥"
,
bnequiv
:
"≡⃥"
,
bnot
:
"⌐"
,
bNot
:
"⫭"
,
bopf
:
"𝕓"
,
Bopf
:
"𝔹"
,
bot
:
"⊥"
,
bottom
:
"⊥"
,
bowtie
:
"⋈"
,
boxbox
:
"⧉"
,
boxdl
:
"┐"
,
boxdL
:
"╕"
,
boxDl
:
"╖"
,
boxDL
:
"╗"
,
boxdr
:
"┌"
,
boxdR
:
"╒"
,
boxDr
:
"╓"
,
boxDR
:
"╔"
,
boxh
:
"─"
,
boxH
:
"═"
,
boxhd
:
"┬"
,
boxhD
:
"╥"
,
boxHd
:
"╤"
,
boxHD
:
"╦"
,
boxhu
:
"┴"
,
boxhU
:
"╨"
,
boxHu
:
"╧"
,
boxHU
:
"╩"
,
boxminus
:
"⊟"
,
boxplus
:
"⊞"
,
boxtimes
:
"⊠"
,
boxul
:
"┘"
,
boxuL
:
"╛"
,
boxUl
:
"╜"
,
boxUL
:
"╝"
,
boxur
:
"└"
,
boxuR
:
"╘"
,
boxUr
:
"╙"
,
boxUR
:
"╚"
,
boxv
:
"│"
,
boxV
:
"║"
,
boxvh
:
"┼"
,
boxvH
:
"╪"
,
boxVh
:
"╫"
,
boxVH
:
"╬"
,
boxvl
:
"┤"
,
boxvL
:
"╡"
,
boxVl
:
"╢"
,
boxVL
:
"╣"
,
boxvr
:
"├"
,
boxvR
:
"╞"
,
boxVr
:
"╟"
,
boxVR
:
"╠"
,
bprime
:
"‵"
,
breve
:
"˘"
,
Breve
:
"˘"
,
brvbar
:
"¦"
,
bscr
:
"𝒷"
,
Bscr
:
"ℬ"
,
bsemi
:
"⁏"
,
bsim
:
"∽"
,
bsime
:
"⋍"
,
bsol
:
"\\"
,
bsolb
:
"⧅"
,
bsolhsub
:
"⟈"
,
bull
:
"•"
,
bullet
:
"•"
,
bump
:
"≎"
,
bumpe
:
"≏"
,
bumpE
:
"⪮"
,
bumpeq
:
"≏"
,
Bumpeq
:
"≎"
,
cacute
:
"ć"
,
Cacute
:
"Ć"
,
cap
:
"∩"
,
Cap
:
"⋒"
,
capand
:
"⩄"
,
capbrcup
:
"⩉"
,
capcap
:
"⩋"
,
capcup
:
"⩇"
,
capdot
:
"⩀"
,
CapitalDifferentialD
:
"ⅅ"
,
caps
:
"∩︀"
,
caret
:
"⁁"
,
caron
:
"ˇ"
,
Cayleys
:
"ℭ"
,
ccaps
:
"⩍"
,
ccaron
:
"č"
,
Ccaron
:
"Č"
,
ccedil
:
"ç"
,
Ccedil
:
"Ç"
,
ccirc
:
"ĉ"
,
Ccirc
:
"Ĉ"
,
Cconint
:
"∰"
,
ccups
:
"⩌"
,
ccupssm
:
"⩐"
,
cdot
:
"ċ"
,
Cdot
:
"Ċ"
,
cedil
:
"¸"
,
Cedilla
:
"¸"
,
cemptyv
:
"⦲"
,
cent
:
"¢"
,
centerdot
:
"·"
,
CenterDot
:
"·"
,
cfr
:
"𝔠"
,
Cfr
:
"ℭ"
,
chcy
:
"ч"
,
CHcy
:
"Ч"
,
check
:
"✓"
,
checkmark
:
"✓"
,
chi
:
"χ"
,
Chi
:
"Χ"
,
cir
:
"○"
,
circ
:
"ˆ"
,
circeq
:
"≗"
,
circlearrowleft
:
"↺"
,
circlearrowright
:
"↻"
,
circledast
:
"⊛"
,
circledcirc
:
"⊚"
,
circleddash
:
"⊝"
,
CircleDot
:
"⊙"
,
circledR
:
"®"
,
circledS
:
"Ⓢ"
,
CircleMinus
:
"⊖"
,
CirclePlus
:
"⊕"
,
CircleTimes
:
"⊗"
,
cire
:
"≗"
,
cirE
:
"⧃"
,
cirfnint
:
"⨐"
,
cirmid
:
"⫯"
,
cirscir
:
"⧂"
,
ClockwiseContourIntegral
:
"∲"
,
CloseCurlyDoubleQuote
:
"”"
,
CloseCurlyQuote
:
"’"
,
clubs
:
"♣"
,
clubsuit
:
"♣"
,
colon
:
":"
,
Colon
:
"∷"
,
colone
:
"≔"
,
Colone
:
"⩴"
,
coloneq
:
"≔"
,
comma
:
","
,
commat
:
"@"
,
comp
:
"∁"
,
compfn
:
"∘"
,
complement
:
"∁"
,
complexes
:
"ℂ"
,
cong
:
"≅"
,
congdot
:
"⩭"
,
Congruent
:
"≡"
,
conint
:
"∮"
,
Conint
:
"∯"
,
ContourIntegral
:
"∮"
,
copf
:
"𝕔"
,
Copf
:
"ℂ"
,
coprod
:
"∐"
,
Coproduct
:
"∐"
,
copy
:
"©"
,
COPY
:
"©"
,
copysr
:
"℗"
,
CounterClockwiseContourIntegral
:
"∳"
,
crarr
:
"↵"
,
cross
:
"✗"
,
Cross
:
"⨯"
,
cscr
:
"𝒸"
,
Cscr
:
"𝒞"
,
csub
:
"⫏"
,
csube
:
"⫑"
,
csup
:
"⫐"
,
csupe
:
"⫒"
,
ctdot
:
"⋯"
,
cudarrl
:
"⤸"
,
cudarrr
:
"⤵"
,
cuepr
:
"⋞"
,
cuesc
:
"⋟"
,
cularr
:
"↶"
,
cularrp
:
"⤽"
,
cup
:
"∪"
,
Cup
:
"⋓"
,
cupbrcap
:
"⩈"
,
cupcap
:
"⩆"
,
CupCap
:
"≍"
,
cupcup
:
"⩊"
,
cupdot
:
"⊍"
,
cupor
:
"⩅"
,
cups
:
"∪︀"
,
curarr
:
"↷"
,
curarrm
:
"⤼"
,
curlyeqprec
:
"⋞"
,
curlyeqsucc
:
"⋟"
,
curlyvee
:
"⋎"
,
curlywedge
:
"⋏"
,
curren
:
"¤"
,
curvearrowleft
:
"↶"
,
curvearrowright
:
"↷"
,
cuvee
:
"⋎"
,
cuwed
:
"⋏"
,
cwconint
:
"∲"
,
cwint
:
"∱"
,
cylcty
:
"⌭"
,
dagger
:
"†"
,
Dagger
:
"‡"
,
daleth
:
"ℸ"
,
darr
:
"↓"
,
dArr
:
"⇓"
,
Darr
:
"↡"
,
dash
:
"‐"
,
dashv
:
"⊣"
,
Dashv
:
"⫤"
,
dbkarow
:
"⤏"
,
dblac
:
"˝"
,
dcaron
:
"ď"
,
Dcaron
:
"Ď"
,
dcy
:
"д"
,
Dcy
:
"Д"
,
dd
:
"ⅆ"
,
DD
:
"ⅅ"
,
ddagger
:
"‡"
,
ddarr
:
"⇊"
,
DDotrahd
:
"⤑"
,
ddotseq
:
"⩷"
,
deg
:
"°"
,
Del
:
"∇"
,
delta
:
"δ"
,
Delta
:
"Δ"
,
demptyv
:
"⦱"
,
dfisht
:
"⥿"
,
dfr
:
"𝔡"
,
Dfr
:
"𝔇"
,
dHar
:
"⥥"
,
dharl
:
"⇃"
,
dharr
:
"⇂"
,
DiacriticalAcute
:
"´"
,
DiacriticalDot
:
"˙"
,
DiacriticalDoubleAcute
:
"˝"
,
DiacriticalGrave
:
"`"
,
DiacriticalTilde
:
"˜"
,
diam
:
"⋄"
,
diamond
:
"⋄"
,
Diamond
:
"⋄"
,
diamondsuit
:
"♦"
,
diams
:
"♦"
,
die
:
"¨"
,
DifferentialD
:
"ⅆ"
,
digamma
:
"ϝ"
,
disin
:
"⋲"
,
div
:
"÷"
,
divide
:
"÷"
,
divideontimes
:
"⋇"
,
divonx
:
"⋇"
,
djcy
:
"ђ"
,
DJcy
:
"Ђ"
,
dlcorn
:
"⌞"
,
dlcrop
:
"⌍"
,
dollar
:
"$"
,
dopf
:
"𝕕"
,
Dopf
:
"𝔻"
,
dot
:
"˙"
,
Dot
:
"¨"
,
DotDot
:
"⃜"
,
doteq
:
"≐"
,
doteqdot
:
"≑"
,
DotEqual
:
"≐"
,
dotminus
:
"∸"
,
dotplus
:
"∔"
,
dotsquare
:
"⊡"
,
doublebarwedge
:
"⌆"
,
DoubleContourIntegral
:
"∯"
,
DoubleDot
:
"¨"
,
DoubleDownArrow
:
"⇓"
,
DoubleLeftArrow
:
"⇐"
,
DoubleLeftRightArrow
:
"⇔"
,
DoubleLeftTee
:
"⫤"
,
DoubleLongLeftArrow
:
"⟸"
,
DoubleLongLeftRightArrow
:
"⟺"
,
DoubleLongRightArrow
:
"⟹"
,
DoubleRightArrow
:
"⇒"
,
DoubleRightTee
:
"⊨"
,
DoubleUpArrow
:
"⇑"
,
DoubleUpDownArrow
:
"⇕"
,
DoubleVerticalBar
:
"∥"
,
downarrow
:
"↓"
,
Downarrow
:
"⇓"
,
DownArrow
:
"↓"
,
DownArrowBar
:
"⤓"
,
DownArrowUpArrow
:
"⇵"
,
DownBreve
:
"̑"
,
downdownarrows
:
"⇊"
,
downharpoonleft
:
"⇃"
,
downharpoonright
:
"⇂"
,
DownLeftRightVector
:
"⥐"
,
DownLeftTeeVector
:
"⥞"
,
DownLeftVector
:
"↽"
,
DownLeftVectorBar
:
"⥖"
,
DownRightTeeVector
:
"⥟"
,
DownRightVector
:
"⇁"
,
DownRightVectorBar
:
"⥗"
,
DownTee
:
"⊤"
,
DownTeeArrow
:
"↧"
,
drbkarow
:
"⤐"
,
drcorn
:
"⌟"
,
drcrop
:
"⌌"
,
dscr
:
"𝒹"
,
Dscr
:
"𝒟"
,
dscy
:
"ѕ"
,
DScy
:
"Ѕ"
,
dsol
:
"⧶"
,
dstrok
:
"đ"
,
Dstrok
:
"Đ"
,
dtdot
:
"⋱"
,
dtri
:
"▿"
,
dtrif
:
"▾"
,
duarr
:
"⇵"
,
duhar
:
"⥯"
,
dwangle
:
"⦦"
,
dzcy
:
"џ"
,
DZcy
:
"Џ"
,
dzigrarr
:
"⟿"
,
eacute
:
"é"
,
Eacute
:
"É"
,
easter
:
"⩮"
,
ecaron
:
"ě"
,
Ecaron
:
"Ě"
,
ecir
:
"≖"
,
ecirc
:
"ê"
,
Ecirc
:
"Ê"
,
ecolon
:
"≕"
,
ecy
:
"э"
,
Ecy
:
"Э"
,
eDDot
:
"⩷"
,
edot
:
"ė"
,
eDot
:
"≑"
,
Edot
:
"Ė"
,
ee
:
"ⅇ"
,
efDot
:
"≒"
,
efr
:
"𝔢"
,
Efr
:
"𝔈"
,
eg
:
"⪚"
,
egrave
:
"è"
,
Egrave
:
"È"
,
egs
:
"⪖"
,
egsdot
:
"⪘"
,
el
:
"⪙"
,
Element
:
"∈"
,
elinters
:
"⏧"
,
ell
:
"ℓ"
,
els
:
"⪕"
,
elsdot
:
"⪗"
,
emacr
:
"ē"
,
Emacr
:
"Ē"
,
empty
:
"∅"
,
emptyset
:
"∅"
,
EmptySmallSquare
:
"◻"
,
emptyv
:
"∅"
,
EmptyVerySmallSquare
:
"▫"
,
emsp
:
" "
,
emsp13
:
" "
,
emsp14
:
" "
,
eng
:
"ŋ"
,
ENG
:
"Ŋ"
,
ensp
:
" "
,
eogon
:
"ę"
,
Eogon
:
"Ę"
,
eopf
:
"𝕖"
,
Eopf
:
"𝔼"
,
epar
:
"⋕"
,
eparsl
:
"⧣"
,
eplus
:
"⩱"
,
epsi
:
"ε"
,
epsilon
:
"ε"
,
Epsilon
:
"Ε"
,
epsiv
:
"ϵ"
,
eqcirc
:
"≖"
,
eqcolon
:
"≕"
,
eqsim
:
"≂"
,
eqslantgtr
:
"⪖"
,
eqslantless
:
"⪕"
,
Equal
:
"⩵"
,
equals
:
"="
,
EqualTilde
:
"≂"
,
equest
:
"≟"
,
Equilibrium
:
"⇌"
,
equiv
:
"≡"
,
equivDD
:
"⩸"
,
eqvparsl
:
"⧥"
,
erarr
:
"⥱"
,
erDot
:
"≓"
,
escr
:
"ℯ"
,
Escr
:
"ℰ"
,
esdot
:
"≐"
,
esim
:
"≂"
,
Esim
:
"⩳"
,
eta
:
"η"
,
Eta
:
"Η"
,
eth
:
"ð"
,
ETH
:
"Ð"
,
euml
:
"ë"
,
Euml
:
"Ë"
,
euro
:
"€"
,
excl
:
"!"
,
exist
:
"∃"
,
Exists
:
"∃"
,
expectation
:
"ℰ"
,
exponentiale
:
"ⅇ"
,
ExponentialE
:
"ⅇ"
,
fallingdotseq
:
"≒"
,
fcy
:
"ф"
,
Fcy
:
"Ф"
,
female
:
"♀"
,
ffilig
:
"ffi"
,
fflig
:
"ff"
,
ffllig
:
"ffl"
,
ffr
:
"𝔣"
,
Ffr
:
"𝔉"
,
filig
:
"fi"
,
FilledSmallSquare
:
"◼"
,
FilledVerySmallSquare
:
"▪"
,
fjlig
:
"fj"
,
flat
:
"♭"
,
fllig
:
"fl"
,
fltns
:
"▱"
,
fnof
:
"ƒ"
,
fopf
:
"𝕗"
,
Fopf
:
"𝔽"
,
forall
:
"∀"
,
ForAll
:
"∀"
,
fork
:
"⋔"
,
forkv
:
"⫙"
,
Fouriertrf
:
"ℱ"
,
fpartint
:
"⨍"
,
frac12
:
"½"
,
frac13
:
"⅓"
,
frac14
:
"¼"
,
frac15
:
"⅕"
,
frac16
:
"⅙"
,
frac18
:
"⅛"
,
frac23
:
"⅔"
,
frac25
:
"⅖"
,
frac34
:
"¾"
,
frac35
:
"⅗"
,
frac38
:
"⅜"
,
frac45
:
"⅘"
,
frac56
:
"⅚"
,
frac58
:
"⅝"
,
frac78
:
"⅞"
,
frasl
:
"⁄"
,
frown
:
"⌢"
,
fscr
:
"𝒻"
,
Fscr
:
"ℱ"
,
gacute
:
"ǵ"
,
gamma
:
"γ"
,
Gamma
:
"Γ"
,
gammad
:
"ϝ"
,
Gammad
:
"Ϝ"
,
gap
:
"⪆"
,
gbreve
:
"ğ"
,
Gbreve
:
"Ğ"
,
Gcedil
:
"Ģ"
,
gcirc
:
"ĝ"
,
Gcirc
:
"Ĝ"
,
gcy
:
"г"
,
Gcy
:
"Г"
,
gdot
:
"ġ"
,
Gdot
:
"Ġ"
,
ge
:
"≥"
,
gE
:
"≧"
,
gel
:
"⋛"
,
gEl
:
"⪌"
,
geq
:
"≥"
,
geqq
:
"≧"
,
geqslant
:
"⩾"
,
ges
:
"⩾"
,
gescc
:
"⪩"
,
gesdot
:
"⪀"
,
gesdoto
:
"⪂"
,
gesdotol
:
"⪄"
,
gesl
:
"⋛︀"
,
gesles
:
"⪔"
,
gfr
:
"𝔤"
,
Gfr
:
"𝔊"
,
gg
:
"≫"
,
Gg
:
"⋙"
,
ggg
:
"⋙"
,
gimel
:
"ℷ"
,
gjcy
:
"ѓ"
,
GJcy
:
"Ѓ"
,
gl
:
"≷"
,
gla
:
"⪥"
,
glE
:
"⪒"
,
glj
:
"⪤"
,
gnap
:
"⪊"
,
gnapprox
:
"⪊"
,
gne
:
"⪈"
,
gnE
:
"≩"
,
gneq
:
"⪈"
,
gneqq
:
"≩"
,
gnsim
:
"⋧"
,
gopf
:
"𝕘"
,
Gopf
:
"𝔾"
,
grave
:
"`"
,
GreaterEqual
:
"≥"
,
GreaterEqualLess
:
"⋛"
,
GreaterFullEqual
:
"≧"
,
GreaterGreater
:
"⪢"
,
GreaterLess
:
"≷"
,
GreaterSlantEqual
:
"⩾"
,
GreaterTilde
:
"≳"
,
gscr
:
"ℊ"
,
Gscr
:
"𝒢"
,
gsim
:
"≳"
,
gsime
:
"⪎"
,
gsiml
:
"⪐"
,
gt
:
">"
,
Gt
:
"≫"
,
GT
:
">"
,
gtcc
:
"⪧"
,
gtcir
:
"⩺"
,
gtdot
:
"⋗"
,
gtlPar
:
"⦕"
,
gtquest
:
"⩼"
,
gtrapprox
:
"⪆"
,
gtrarr
:
"⥸"
,
gtrdot
:
"⋗"
,
gtreqless
:
"⋛"
,
gtreqqless
:
"⪌"
,
gtrless
:
"≷"
,
gtrsim
:
"≳"
,
gvertneqq
:
"≩︀"
,
gvnE
:
"≩︀"
,
Hacek
:
"ˇ"
,
hairsp
:
" "
,
half
:
"½"
,
hamilt
:
"ℋ"
,
hardcy
:
"ъ"
,
HARDcy
:
"Ъ"
,
harr
:
"↔"
,
hArr
:
"⇔"
,
harrcir
:
"⥈"
,
harrw
:
"↭"
,
Hat
:
"^"
,
hbar
:
"ℏ"
,
hcirc
:
"ĥ"
,
Hcirc
:
"Ĥ"
,
hearts
:
"♥"
,
heartsuit
:
"♥"
,
hellip
:
"…"
,
hercon
:
"⊹"
,
hfr
:
"𝔥"
,
Hfr
:
"ℌ"
,
HilbertSpace
:
"ℋ"
,
hksearow
:
"⤥"
,
hkswarow
:
"⤦"
,
hoarr
:
"⇿"
,
homtht
:
"∻"
,
hookleftarrow
:
"↩"
,
hookrightarrow
:
"↪"
,
hopf
:
"𝕙"
,
Hopf
:
"ℍ"
,
horbar
:
"―"
,
HorizontalLine
:
"─"
,
hscr
:
"𝒽"
,
Hscr
:
"ℋ"
,
hslash
:
"ℏ"
,
hstrok
:
"ħ"
,
Hstrok
:
"Ħ"
,
HumpDownHump
:
"≎"
,
HumpEqual
:
"≏"
,
hybull
:
"⁃"
,
hyphen
:
"‐"
,
iacute
:
"í"
,
Iacute
:
"Í"
,
ic
:
""
,
icirc
:
"î"
,
Icirc
:
"Î"
,
icy
:
"и"
,
Icy
:
"И"
,
Idot
:
"İ"
,
iecy
:
"е"
,
IEcy
:
"Е"
,
iexcl
:
"¡"
,
iff
:
"⇔"
,
ifr
:
"𝔦"
,
Ifr
:
"ℑ"
,
igrave
:
"ì"
,
Igrave
:
"Ì"
,
ii
:
"ⅈ"
,
iiiint
:
"⨌"
,
iiint
:
"∭"
,
iinfin
:
"⧜"
,
iiota
:
"℩"
,
ijlig
:
"ij"
,
IJlig
:
"IJ"
,
Im
:
"ℑ"
,
imacr
:
"ī"
,
Imacr
:
"Ī"
,
image
:
"ℑ"
,
ImaginaryI
:
"ⅈ"
,
imagline
:
"ℐ"
,
imagpart
:
"ℑ"
,
imath
:
"ı"
,
imof
:
"⊷"
,
imped
:
"Ƶ"
,
Implies
:
"⇒"
,
in
:
"∈"
,
incare
:
"℅"
,
infin
:
"∞"
,
infintie
:
"⧝"
,
inodot
:
"ı"
,
int
:
"∫"
,
Int
:
"∬"
,
intcal
:
"⊺"
,
integers
:
"ℤ"
,
Integral
:
"∫"
,
intercal
:
"⊺"
,
Intersection
:
"⋂"
,
intlarhk
:
"⨗"
,
intprod
:
"⨼"
,
InvisibleComma
:
""
,
InvisibleTimes
:
""
,
iocy
:
"ё"
,
IOcy
:
"Ё"
,
iogon
:
"į"
,
Iogon
:
"Į"
,
iopf
:
"𝕚"
,
Iopf
:
"𝕀"
,
iota
:
"ι"
,
Iota
:
"Ι"
,
iprod
:
"⨼"
,
iquest
:
"¿"
,
iscr
:
"𝒾"
,
Iscr
:
"ℐ"
,
isin
:
"∈"
,
isindot
:
"⋵"
,
isinE
:
"⋹"
,
isins
:
"⋴"
,
isinsv
:
"⋳"
,
isinv
:
"∈"
,
it
:
""
,
itilde
:
"ĩ"
,
Itilde
:
"Ĩ"
,
iukcy
:
"і"
,
Iukcy
:
"І"
,
iuml
:
"ï"
,
Iuml
:
"Ï"
,
jcirc
:
"ĵ"
,
Jcirc
:
"Ĵ"
,
jcy
:
"й"
,
Jcy
:
"Й"
,
jfr
:
"𝔧"
,
Jfr
:
"𝔍"
,
jmath
:
"ȷ"
,
jopf
:
"𝕛"
,
Jopf
:
"𝕁"
,
jscr
:
"𝒿"
,
Jscr
:
"𝒥"
,
jsercy
:
"ј"
,
Jsercy
:
"Ј"
,
jukcy
:
"є"
,
Jukcy
:
"Є"
,
kappa
:
"κ"
,
Kappa
:
"Κ"
,
kappav
:
"ϰ"
,
kcedil
:
"ķ"
,
Kcedil
:
"Ķ"
,
kcy
:
"к"
,
Kcy
:
"К"
,
kfr
:
"𝔨"
,
Kfr
:
"𝔎"
,
kgreen
:
"ĸ"
,
khcy
:
"х"
,
KHcy
:
"Х"
,
kjcy
:
"ќ"
,
KJcy
:
"Ќ"
,
kopf
:
"𝕜"
,
Kopf
:
"𝕂"
,
kscr
:
"𝓀"
,
Kscr
:
"𝒦"
,
lAarr
:
"⇚"
,
lacute
:
"ĺ"
,
Lacute
:
"Ĺ"
,
laemptyv
:
"⦴"
,
lagran
:
"ℒ"
,
lambda
:
"λ"
,
Lambda
:
"Λ"
,
lang
:
"⟨"
,
Lang
:
"⟪"
,
langd
:
"⦑"
,
langle
:
"⟨"
,
lap
:
"⪅"
,
Laplacetrf
:
"ℒ"
,
laquo
:
"«"
,
larr
:
"←"
,
lArr
:
"⇐"
,
Larr
:
"↞"
,
larrb
:
"⇤"
,
larrbfs
:
"⤟"
,
larrfs
:
"⤝"
,
larrhk
:
"↩"
,
larrlp
:
"↫"
,
larrpl
:
"⤹"
,
larrsim
:
"⥳"
,
larrtl
:
"↢"
,
lat
:
"⪫"
,
latail
:
"⤙"
,
lAtail
:
"⤛"
,
late
:
"⪭"
,
lates
:
"⪭︀"
,
lbarr
:
"⤌"
,
lBarr
:
"⤎"
,
lbbrk
:
"❲"
,
lbrace
:
"{"
,
lbrack
:
"["
,
lbrke
:
"⦋"
,
lbrksld
:
"⦏"
,
lbrkslu
:
"⦍"
,
lcaron
:
"ľ"
,
Lcaron
:
"Ľ"
,
lcedil
:
"ļ"
,
Lcedil
:
"Ļ"
,
lceil
:
"⌈"
,
lcub
:
"{"
,
lcy
:
"л"
,
Lcy
:
"Л"
,
ldca
:
"⤶"
,
ldquo
:
"“"
,
ldquor
:
"„"
,
ldrdhar
:
"⥧"
,
ldrushar
:
"⥋"
,
ldsh
:
"↲"
,
le
:
"≤"
,
lE
:
"≦"
,
LeftAngleBracket
:
"⟨"
,
leftarrow
:
"←"
,
Leftarrow
:
"⇐"
,
LeftArrow
:
"←"
,
LeftArrowBar
:
"⇤"
,
LeftArrowRightArrow
:
"⇆"
,
leftarrowtail
:
"↢"
,
LeftCeiling
:
"⌈"
,
LeftDoubleBracket
:
"⟦"
,
LeftDownTeeVector
:
"⥡"
,
LeftDownVector
:
"⇃"
,
LeftDownVectorBar
:
"⥙"
,
LeftFloor
:
"⌊"
,
leftharpoondown
:
"↽"
,
leftharpoonup
:
"↼"
,
leftleftarrows
:
"⇇"
,
leftrightarrow
:
"↔"
,
Leftrightarrow
:
"⇔"
,
LeftRightArrow
:
"↔"
,
leftrightarrows
:
"⇆"
,
leftrightharpoons
:
"⇋"
,
leftrightsquigarrow
:
"↭"
,
LeftRightVector
:
"⥎"
,
LeftTee
:
"⊣"
,
LeftTeeArrow
:
"↤"
,
LeftTeeVector
:
"⥚"
,
leftthreetimes
:
"⋋"
,
LeftTriangle
:
"⊲"
,
LeftTriangleBar
:
"⧏"
,
LeftTriangleEqual
:
"⊴"
,
LeftUpDownVector
:
"⥑"
,
LeftUpTeeVector
:
"⥠"
,
LeftUpVector
:
"↿"
,
LeftUpVectorBar
:
"⥘"
,
LeftVector
:
"↼"
,
LeftVectorBar
:
"⥒"
,
leg
:
"⋚"
,
lEg
:
"⪋"
,
leq
:
"≤"
,
leqq
:
"≦"
,
leqslant
:
"⩽"
,
les
:
"⩽"
,
lescc
:
"⪨"
,
lesdot
:
"⩿"
,
lesdoto
:
"⪁"
,
lesdotor
:
"⪃"
,
lesg
:
"⋚︀"
,
lesges
:
"⪓"
,
lessapprox
:
"⪅"
,
lessdot
:
"⋖"
,
lesseqgtr
:
"⋚"
,
lesseqqgtr
:
"⪋"
,
LessEqualGreater
:
"⋚"
,
LessFullEqual
:
"≦"
,
LessGreater
:
"≶"
,
lessgtr
:
"≶"
,
LessLess
:
"⪡"
,
lesssim
:
"≲"
,
LessSlantEqual
:
"⩽"
,
LessTilde
:
"≲"
,
lfisht
:
"⥼"
,
lfloor
:
"⌊"
,
lfr
:
"𝔩"
,
Lfr
:
"𝔏"
,
lg
:
"≶"
,
lgE
:
"⪑"
,
lHar
:
"⥢"
,
lhard
:
"↽"
,
lharu
:
"↼"
,
lharul
:
"⥪"
,
lhblk
:
"▄"
,
ljcy
:
"љ"
,
LJcy
:
"Љ"
,
ll
:
"≪"
,
Ll
:
"⋘"
,
llarr
:
"⇇"
,
llcorner
:
"⌞"
,
Lleftarrow
:
"⇚"
,
llhard
:
"⥫"
,
lltri
:
"◺"
,
lmidot
:
"ŀ"
,
Lmidot
:
"Ŀ"
,
lmoust
:
"⎰"
,
lmoustache
:
"⎰"
,
lnap
:
"⪉"
,
lnapprox
:
"⪉"
,
lne
:
"⪇"
,
lnE
:
"≨"
,
lneq
:
"⪇"
,
lneqq
:
"≨"
,
lnsim
:
"⋦"
,
loang
:
"⟬"
,
loarr
:
"⇽"
,
lobrk
:
"⟦"
,
longleftarrow
:
"⟵"
,
Longleftarrow
:
"⟸"
,
LongLeftArrow
:
"⟵"
,
longleftrightarrow
:
"⟷"
,
Longleftrightarrow
:
"⟺"
,
LongLeftRightArrow
:
"⟷"
,
longmapsto
:
"⟼"
,
longrightarrow
:
"⟶"
,
Longrightarrow
:
"⟹"
,
LongRightArrow
:
"⟶"
,
looparrowleft
:
"↫"
,
looparrowright
:
"↬"
,
lopar
:
"⦅"
,
lopf
:
"𝕝"
,
Lopf
:
"𝕃"
,
loplus
:
"⨭"
,
lotimes
:
"⨴"
,
lowast
:
"∗"
,
lowbar
:
"_"
,
LowerLeftArrow
:
"↙"
,
LowerRightArrow
:
"↘"
,
loz
:
"◊"
,
lozenge
:
"◊"
,
lozf
:
"⧫"
,
lpar
:
"("
,
lparlt
:
"⦓"
,
lrarr
:
"⇆"
,
lrcorner
:
"⌟"
,
lrhar
:
"⇋"
,
lrhard
:
"⥭"
,
lrm
:
""
,
lrtri
:
"⊿"
,
lsaquo
:
"‹"
,
lscr
:
"𝓁"
,
Lscr
:
"ℒ"
,
lsh
:
"↰"
,
Lsh
:
"↰"
,
lsim
:
"≲"
,
lsime
:
"⪍"
,
lsimg
:
"⪏"
,
lsqb
:
"["
,
lsquo
:
"‘"
,
lsquor
:
"‚"
,
lstrok
:
"ł"
,
Lstrok
:
"Ł"
,
lt
:
"<"
,
Lt
:
"≪"
,
LT
:
"<"
,
ltcc
:
"⪦"
,
ltcir
:
"⩹"
,
ltdot
:
"⋖"
,
lthree
:
"⋋"
,
ltimes
:
"⋉"
,
ltlarr
:
"⥶"
,
ltquest
:
"⩻"
,
ltri
:
"◃"
,
ltrie
:
"⊴"
,
ltrif
:
"◂"
,
ltrPar
:
"⦖"
,
lurdshar
:
"⥊"
,
luruhar
:
"⥦"
,
lvertneqq
:
"≨︀"
,
lvnE
:
"≨︀"
,
macr
:
"¯"
,
male
:
"♂"
,
malt
:
"✠"
,
maltese
:
"✠"
,
map
:
"↦"
,
Map
:
"⤅"
,
mapsto
:
"↦"
,
mapstodown
:
"↧"
,
mapstoleft
:
"↤"
,
mapstoup
:
"↥"
,
marker
:
"▮"
,
mcomma
:
"⨩"
,
mcy
:
"м"
,
Mcy
:
"М"
,
mdash
:
"—"
,
mDDot
:
"∺"
,
measuredangle
:
"∡"
,
MediumSpace
:
" "
,
Mellintrf
:
"ℳ"
,
mfr
:
"𝔪"
,
Mfr
:
"𝔐"
,
mho
:
"℧"
,
micro
:
"µ"
,
mid
:
"∣"
,
midast
:
"*"
,
midcir
:
"⫰"
,
middot
:
"·"
,
minus
:
"−"
,
minusb
:
"⊟"
,
minusd
:
"∸"
,
minusdu
:
"⨪"
,
MinusPlus
:
"∓"
,
mlcp
:
"⫛"
,
mldr
:
"…"
,
mnplus
:
"∓"
,
models
:
"⊧"
,
mopf
:
"𝕞"
,
Mopf
:
"𝕄"
,
mp
:
"∓"
,
mscr
:
"𝓂"
,
Mscr
:
"ℳ"
,
mstpos
:
"∾"
,
mu
:
"μ"
,
Mu
:
"Μ"
,
multimap
:
"⊸"
,
mumap
:
"⊸"
,
nabla
:
"∇"
,
nacute
:
"ń"
,
Nacute
:
"Ń"
,
nang
:
"∠⃒"
,
nap
:
"≉"
,
napE
:
"⩰̸"
,
napid
:
"≋̸"
,
napos
:
"ʼn"
,
napprox
:
"≉"
,
natur
:
"♮"
,
natural
:
"♮"
,
naturals
:
"ℕ"
,
nbsp
:
" "
,
nbump
:
"≎̸"
,
nbumpe
:
"≏̸"
,
ncap
:
"⩃"
,
ncaron
:
"ň"
,
Ncaron
:
"Ň"
,
ncedil
:
"ņ"
,
Ncedil
:
"Ņ"
,
ncong
:
"≇"
,
ncongdot
:
"⩭̸"
,
ncup
:
"⩂"
,
ncy
:
"н"
,
Ncy
:
"Н"
,
ndash
:
"–"
,
ne
:
"≠"
,
nearhk
:
"⤤"
,
nearr
:
"↗"
,
neArr
:
"⇗"
,
nearrow
:
"↗"
,
nedot
:
"≐̸"
,
NegativeMediumSpace
:
""
,
NegativeThickSpace
:
""
,
NegativeThinSpace
:
""
,
NegativeVeryThinSpace
:
""
,
nequiv
:
"≢"
,
nesear
:
"⤨"
,
nesim
:
"≂̸"
,
NestedGreaterGreater
:
"≫"
,
NestedLessLess
:
"≪"
,
NewLine
:
"\n"
,
nexist
:
"∄"
,
nexists
:
"∄"
,
nfr
:
"𝔫"
,
Nfr
:
"𝔑"
,
nge
:
"≱"
,
ngE
:
"≧̸"
,
ngeq
:
"≱"
,
ngeqq
:
"≧̸"
,
ngeqslant
:
"⩾̸"
,
nges
:
"⩾̸"
,
nGg
:
"⋙̸"
,
ngsim
:
"≵"
,
ngt
:
"≯"
,
nGt
:
"≫⃒"
,
ngtr
:
"≯"
,
nGtv
:
"≫̸"
,
nharr
:
"↮"
,
nhArr
:
"⇎"
,
nhpar
:
"⫲"
,
ni
:
"∋"
,
nis
:
"⋼"
,
nisd
:
"⋺"
,
niv
:
"∋"
,
njcy
:
"њ"
,
NJcy
:
"Њ"
,
nlarr
:
"↚"
,
nlArr
:
"⇍"
,
nldr
:
"‥"
,
nle
:
"≰"
,
nlE
:
"≦̸"
,
nleftarrow
:
"↚"
,
nLeftarrow
:
"⇍"
,
nleftrightarrow
:
"↮"
,
nLeftrightarrow
:
"⇎"
,
nleq
:
"≰"
,
nleqq
:
"≦̸"
,
nleqslant
:
"⩽̸"
,
nles
:
"⩽̸"
,
nless
:
"≮"
,
nLl
:
"⋘̸"
,
nlsim
:
"≴"
,
nlt
:
"≮"
,
nLt
:
"≪⃒"
,
nltri
:
"⋪"
,
nltrie
:
"⋬"
,
nLtv
:
"≪̸"
,
nmid
:
"∤"
,
NoBreak
:
""
,
NonBreakingSpace
:
" "
,
nopf
:
"𝕟"
,
Nopf
:
"ℕ"
,
not
:
"¬"
,
Not
:
"⫬"
,
NotCongruent
:
"≢"
,
NotCupCap
:
"≭"
,
NotDoubleVerticalBar
:
"∦"
,
NotElement
:
"∉"
,
NotEqual
:
"≠"
,
NotEqualTilde
:
"≂̸"
,
NotExists
:
"∄"
,
NotGreater
:
"≯"
,
NotGreaterEqual
:
"≱"
,
NotGreaterFullEqual
:
"≧̸"
,
NotGreaterGreater
:
"≫̸"
,
NotGreaterLess
:
"≹"
,
NotGreaterSlantEqual
:
"⩾̸"
,
NotGreaterTilde
:
"≵"
,
NotHumpDownHump
:
"≎̸"
,
NotHumpEqual
:
"≏̸"
,
notin
:
"∉"
,
notindot
:
"⋵̸"
,
notinE
:
"⋹̸"
,
notinva
:
"∉"
,
notinvb
:
"⋷"
,
notinvc
:
"⋶"
,
NotLeftTriangle
:
"⋪"
,
NotLeftTriangleBar
:
"⧏̸"
,
NotLeftTriangleEqual
:
"⋬"
,
NotLess
:
"≮"
,
NotLessEqual
:
"≰"
,
NotLessGreater
:
"≸"
,
NotLessLess
:
"≪̸"
,
NotLessSlantEqual
:
"⩽̸"
,
NotLessTilde
:
"≴"
,
NotNestedGreaterGreater
:
"⪢̸"
,
NotNestedLessLess
:
"⪡̸"
,
notni
:
"∌"
,
notniva
:
"∌"
,
notnivb
:
"⋾"
,
notnivc
:
"⋽"
,
NotPrecedes
:
"⊀"
,
NotPrecedesEqual
:
"⪯̸"
,
NotPrecedesSlantEqual
:
"⋠"
,
NotReverseElement
:
"∌"
,
NotRightTriangle
:
"⋫"
,
NotRightTriangleBar
:
"⧐̸"
,
NotRightTriangleEqual
:
"⋭"
,
NotSquareSubset
:
"⊏̸"
,
NotSquareSubsetEqual
:
"⋢"
,
NotSquareSuperset
:
"⊐̸"
,
NotSquareSupersetEqual
:
"⋣"
,
NotSubset
:
"⊂⃒"
,
NotSubsetEqual
:
"⊈"
,
NotSucceeds
:
"⊁"
,
NotSucceedsEqual
:
"⪰̸"
,
NotSucceedsSlantEqual
:
"⋡"
,
NotSucceedsTilde
:
"≿̸"
,
NotSuperset
:
"⊃⃒"
,
NotSupersetEqual
:
"⊉"
,
NotTilde
:
"≁"
,
NotTildeEqual
:
"≄"
,
NotTildeFullEqual
:
"≇"
,
NotTildeTilde
:
"≉"
,
NotVerticalBar
:
"∤"
,
npar
:
"∦"
,
nparallel
:
"∦"
,
nparsl
:
"⫽⃥"
,
npart
:
"∂̸"
,
npolint
:
"⨔"
,
npr
:
"⊀"
,
nprcue
:
"⋠"
,
npre
:
"⪯̸"
,
nprec
:
"⊀"
,
npreceq
:
"⪯̸"
,
nrarr
:
"↛"
,
nrArr
:
"⇏"
,
nrarrc
:
"⤳̸"
,
nrarrw
:
"↝̸"
,
nrightarrow
:
"↛"
,
nRightarrow
:
"⇏"
,
nrtri
:
"⋫"
,
nrtrie
:
"⋭"
,
nsc
:
"⊁"
,
nsccue
:
"⋡"
,
nsce
:
"⪰̸"
,
nscr
:
"𝓃"
,
Nscr
:
"𝒩"
,
nshortmid
:
"∤"
,
nshortparallel
:
"∦"
,
nsim
:
"≁"
,
nsime
:
"≄"
,
nsimeq
:
"≄"
,
nsmid
:
"∤"
,
nspar
:
"∦"
,
nsqsube
:
"⋢"
,
nsqsupe
:
"⋣"
,
nsub
:
"⊄"
,
nsube
:
"⊈"
,
nsubE
:
"⫅̸"
,
nsubset
:
"⊂⃒"
,
nsubseteq
:
"⊈"
,
nsubseteqq
:
"⫅̸"
,
nsucc
:
"⊁"
,
nsucceq
:
"⪰̸"
,
nsup
:
"⊅"
,
nsupe
:
"⊉"
,
nsupE
:
"⫆̸"
,
nsupset
:
"⊃⃒"
,
nsupseteq
:
"⊉"
,
nsupseteqq
:
"⫆̸"
,
ntgl
:
"≹"
,
ntilde
:
"ñ"
,
Ntilde
:
"Ñ"
,
ntlg
:
"≸"
,
ntriangleleft
:
"⋪"
,
ntrianglelefteq
:
"⋬"
,
ntriangleright
:
"⋫"
,
ntrianglerighteq
:
"⋭"
,
nu
:
"ν"
,
Nu
:
"Ν"
,
num
:
"#"
,
numero
:
"№"
,
numsp
:
" "
,
nvap
:
"≍⃒"
,
nvdash
:
"⊬"
,
nvDash
:
"⊭"
,
nVdash
:
"⊮"
,
nVDash
:
"⊯"
,
nvge
:
"≥⃒"
,
nvgt
:
">⃒"
,
nvHarr
:
"⤄"
,
nvinfin
:
"⧞"
,
nvlArr
:
"⤂"
,
nvle
:
"≤⃒"
,
nvlt
:
"<⃒"
,
nvltrie
:
"⊴⃒"
,
nvrArr
:
"⤃"
,
nvrtrie
:
"⊵⃒"
,
nvsim
:
"∼⃒"
,
nwarhk
:
"⤣"
,
nwarr
:
"↖"
,
nwArr
:
"⇖"
,
nwarrow
:
"↖"
,
nwnear
:
"⤧"
,
oacute
:
"ó"
,
Oacute
:
"Ó"
,
oast
:
"⊛"
,
ocir
:
"⊚"
,
ocirc
:
"ô"
,
Ocirc
:
"Ô"
,
ocy
:
"о"
,
Ocy
:
"О"
,
odash
:
"⊝"
,
odblac
:
"ő"
,
Odblac
:
"Ő"
,
odiv
:
"⨸"
,
odot
:
"⊙"
,
odsold
:
"⦼"
,
oelig
:
"œ"
,
OElig
:
"Œ"
,
ofcir
:
"⦿"
,
ofr
:
"𝔬"
,
Ofr
:
"𝔒"
,
ogon
:
"˛"
,
ograve
:
"ò"
,
Ograve
:
"Ò"
,
ogt
:
"⧁"
,
ohbar
:
"⦵"
,
ohm
:
"Ω"
,
oint
:
"∮"
,
olarr
:
"↺"
,
olcir
:
"⦾"
,
olcross
:
"⦻"
,
oline
:
"‾"
,
olt
:
"⧀"
,
omacr
:
"ō"
,
Omacr
:
"Ō"
,
omega
:
"ω"
,
Omega
:
"Ω"
,
omicron
:
"ο"
,
Omicron
:
"Ο"
,
omid
:
"⦶"
,
ominus
:
"⊖"
,
oopf
:
"𝕠"
,
Oopf
:
"𝕆"
,
opar
:
"⦷"
,
OpenCurlyDoubleQuote
:
"“"
,
OpenCurlyQuote
:
"‘"
,
operp
:
"⦹"
,
oplus
:
"⊕"
,
or
:
"∨"
,
Or
:
"⩔"
,
orarr
:
"↻"
,
ord
:
"⩝"
,
order
:
"ℴ"
,
orderof
:
"ℴ"
,
ordf
:
"ª"
,
ordm
:
"º"
,
origof
:
"⊶"
,
oror
:
"⩖"
,
orslope
:
"⩗"
,
orv
:
"⩛"
,
oS
:
"Ⓢ"
,
oscr
:
"ℴ"
,
Oscr
:
"𝒪"
,
oslash
:
"ø"
,
Oslash
:
"Ø"
,
osol
:
"⊘"
,
otilde
:
"õ"
,
Otilde
:
"Õ"
,
otimes
:
"⊗"
,
Otimes
:
"⨷"
,
otimesas
:
"⨶"
,
ouml
:
"ö"
,
Ouml
:
"Ö"
,
ovbar
:
"⌽"
,
OverBar
:
"‾"
,
OverBrace
:
"⏞"
,
OverBracket
:
"⎴"
,
OverParenthesis
:
"⏜"
,
par
:
"∥"
,
para
:
"¶"
,
parallel
:
"∥"
,
parsim
:
"⫳"
,
parsl
:
"⫽"
,
part
:
"∂"
,
PartialD
:
"∂"
,
pcy
:
"п"
,
Pcy
:
"П"
,
percnt
:
"%"
,
period
:
"."
,
permil
:
"‰"
,
perp
:
"⊥"
,
pertenk
:
"‱"
,
pfr
:
"𝔭"
,
Pfr
:
"𝔓"
,
phi
:
"φ"
,
Phi
:
"Φ"
,
phiv
:
"ϕ"
,
phmmat
:
"ℳ"
,
phone
:
"☎"
,
pi
:
"π"
,
Pi
:
"Π"
,
pitchfork
:
"⋔"
,
piv
:
"ϖ"
,
planck
:
"ℏ"
,
planckh
:
"ℎ"
,
plankv
:
"ℏ"
,
plus
:
"+"
,
plusacir
:
"⨣"
,
plusb
:
"⊞"
,
pluscir
:
"⨢"
,
plusdo
:
"∔"
,
plusdu
:
"⨥"
,
pluse
:
"⩲"
,
PlusMinus
:
"±"
,
plusmn
:
"±"
,
plussim
:
"⨦"
,
plustwo
:
"⨧"
,
pm
:
"±"
,
Poincareplane
:
"ℌ"
,
pointint
:
"⨕"
,
popf
:
"𝕡"
,
Popf
:
"ℙ"
,
pound
:
"£"
,
pr
:
"≺"
,
Pr
:
"⪻"
,
prap
:
"⪷"
,
prcue
:
"≼"
,
pre
:
"⪯"
,
prE
:
"⪳"
,
prec
:
"≺"
,
precapprox
:
"⪷"
,
preccurlyeq
:
"≼"
,
Precedes
:
"≺"
,
PrecedesEqual
:
"⪯"
,
PrecedesSlantEqual
:
"≼"
,
PrecedesTilde
:
"≾"
,
preceq
:
"⪯"
,
precnapprox
:
"⪹"
,
precneqq
:
"⪵"
,
precnsim
:
"⋨"
,
precsim
:
"≾"
,
prime
:
"′"
,
Prime
:
"″"
,
primes
:
"ℙ"
,
prnap
:
"⪹"
,
prnE
:
"⪵"
,
prnsim
:
"⋨"
,
prod
:
"∏"
,
Product
:
"∏"
,
profalar
:
"⌮"
,
profline
:
"⌒"
,
profsurf
:
"⌓"
,
prop
:
"∝"
,
Proportion
:
"∷"
,
Proportional
:
"∝"
,
propto
:
"∝"
,
prsim
:
"≾"
,
prurel
:
"⊰"
,
pscr
:
"𝓅"
,
Pscr
:
"𝒫"
,
psi
:
"ψ"
,
Psi
:
"Ψ"
,
puncsp
:
" "
,
qfr
:
"𝔮"
,
Qfr
:
"𝔔"
,
qint
:
"⨌"
,
qopf
:
"𝕢"
,
Qopf
:
"ℚ"
,
qprime
:
"⁗"
,
qscr
:
"𝓆"
,
Qscr
:
"𝒬"
,
quaternions
:
"ℍ"
,
quatint
:
"⨖"
,
quest
:
"?"
,
questeq
:
"≟"
,
quot
:
'"'
,
QUOT
:
'"'
,
rAarr
:
"⇛"
,
race
:
"∽̱"
,
racute
:
"ŕ"
,
Racute
:
"Ŕ"
,
radic
:
"√"
,
raemptyv
:
"⦳"
,
rang
:
"⟩"
,
Rang
:
"⟫"
,
rangd
:
"⦒"
,
range
:
"⦥"
,
rangle
:
"⟩"
,
raquo
:
"»"
,
rarr
:
"→"
,
rArr
:
"⇒"
,
Rarr
:
"↠"
,
rarrap
:
"⥵"
,
rarrb
:
"⇥"
,
rarrbfs
:
"⤠"
,
rarrc
:
"⤳"
,
rarrfs
:
"⤞"
,
rarrhk
:
"↪"
,
rarrlp
:
"↬"
,
rarrpl
:
"⥅"
,
rarrsim
:
"⥴"
,
rarrtl
:
"↣"
,
Rarrtl
:
"⤖"
,
rarrw
:
"↝"
,
ratail
:
"⤚"
,
rAtail
:
"⤜"
,
ratio
:
"∶"
,
rationals
:
"ℚ"
,
rbarr
:
"⤍"
,
rBarr
:
"⤏"
,
RBarr
:
"⤐"
,
rbbrk
:
"❳"
,
rbrace
:
"}"
,
rbrack
:
"]"
,
rbrke
:
"⦌"
,
rbrksld
:
"⦎"
,
rbrkslu
:
"⦐"
,
rcaron
:
"ř"
,
Rcaron
:
"Ř"
,
rcedil
:
"ŗ"
,
Rcedil
:
"Ŗ"
,
rceil
:
"⌉"
,
rcub
:
"}"
,
rcy
:
"р"
,
Rcy
:
"Р"
,
rdca
:
"⤷"
,
rdldhar
:
"⥩"
,
rdquo
:
"”"
,
rdquor
:
"”"
,
rdsh
:
"↳"
,
Re
:
"ℜ"
,
real
:
"ℜ"
,
realine
:
"ℛ"
,
realpart
:
"ℜ"
,
reals
:
"ℝ"
,
rect
:
"▭"
,
reg
:
"®"
,
REG
:
"®"
,
ReverseElement
:
"∋"
,
ReverseEquilibrium
:
"⇋"
,
ReverseUpEquilibrium
:
"⥯"
,
rfisht
:
"⥽"
,
rfloor
:
"⌋"
,
rfr
:
"𝔯"
,
Rfr
:
"ℜ"
,
rHar
:
"⥤"
,
rhard
:
"⇁"
,
rharu
:
"⇀"
,
rharul
:
"⥬"
,
rho
:
"ρ"
,
Rho
:
"Ρ"
,
rhov
:
"ϱ"
,
RightAngleBracket
:
"⟩"
,
rightarrow
:
"→"
,
Rightarrow
:
"⇒"
,
RightArrow
:
"→"
,
RightArrowBar
:
"⇥"
,
RightArrowLeftArrow
:
"⇄"
,
rightarrowtail
:
"↣"
,
RightCeiling
:
"⌉"
,
RightDoubleBracket
:
"⟧"
,
RightDownTeeVector
:
"⥝"
,
RightDownVector
:
"⇂"
,
RightDownVectorBar
:
"⥕"
,
RightFloor
:
"⌋"
,
rightharpoondown
:
"⇁"
,
rightharpoonup
:
"⇀"
,
rightleftarrows
:
"⇄"
,
rightleftharpoons
:
"⇌"
,
rightrightarrows
:
"⇉"
,
rightsquigarrow
:
"↝"
,
RightTee
:
"⊢"
,
RightTeeArrow
:
"↦"
,
RightTeeVector
:
"⥛"
,
rightthreetimes
:
"⋌"
,
RightTriangle
:
"⊳"
,
RightTriangleBar
:
"⧐"
,
RightTriangleEqual
:
"⊵"
,
RightUpDownVector
:
"⥏"
,
RightUpTeeVector
:
"⥜"
,
RightUpVector
:
"↾"
,
RightUpVectorBar
:
"⥔"
,
RightVector
:
"⇀"
,
RightVectorBar
:
"⥓"
,
ring
:
"˚"
,
risingdotseq
:
"≓"
,
rlarr
:
"⇄"
,
rlhar
:
"⇌"
,
rlm
:
""
,
rmoust
:
"⎱"
,
rmoustache
:
"⎱"
,
rnmid
:
"⫮"
,
roang
:
"⟭"
,
roarr
:
"⇾"
,
robrk
:
"⟧"
,
ropar
:
"⦆"
,
ropf
:
"𝕣"
,
Ropf
:
"ℝ"
,
roplus
:
"⨮"
,
rotimes
:
"⨵"
,
RoundImplies
:
"⥰"
,
rpar
:
")"
,
rpargt
:
"⦔"
,
rppolint
:
"⨒"
,
rrarr
:
"⇉"
,
Rrightarrow
:
"⇛"
,
rsaquo
:
"›"
,
rscr
:
"𝓇"
,
Rscr
:
"ℛ"
,
rsh
:
"↱"
,
Rsh
:
"↱"
,
rsqb
:
"]"
,
rsquo
:
"’"
,
rsquor
:
"’"
,
rthree
:
"⋌"
,
rtimes
:
"⋊"
,
rtri
:
"▹"
,
rtrie
:
"⊵"
,
rtrif
:
"▸"
,
rtriltri
:
"⧎"
,
RuleDelayed
:
"⧴"
,
ruluhar
:
"⥨"
,
rx
:
"℞"
,
sacute
:
"ś"
,
Sacute
:
"Ś"
,
sbquo
:
"‚"
,
sc
:
"≻"
,
Sc
:
"⪼"
,
scap
:
"⪸"
,
scaron
:
"š"
,
Scaron
:
"Š"
,
sccue
:
"≽"
,
sce
:
"⪰"
,
scE
:
"⪴"
,
scedil
:
"ş"
,
Scedil
:
"Ş"
,
scirc
:
"ŝ"
,
Scirc
:
"Ŝ"
,
scnap
:
"⪺"
,
scnE
:
"⪶"
,
scnsim
:
"⋩"
,
scpolint
:
"⨓"
,
scsim
:
"≿"
,
scy
:
"с"
,
Scy
:
"С"
,
sdot
:
"⋅"
,
sdotb
:
"⊡"
,
sdote
:
"⩦"
,
searhk
:
"⤥"
,
searr
:
"↘"
,
seArr
:
"⇘"
,
searrow
:
"↘"
,
sect
:
"§"
,
semi
:
";"
,
seswar
:
"⤩"
,
setminus
:
"∖"
,
setmn
:
"∖"
,
sext
:
"✶"
,
sfr
:
"𝔰"
,
Sfr
:
"𝔖"
,
sfrown
:
"⌢"
,
sharp
:
"♯"
,
shchcy
:
"щ"
,
SHCHcy
:
"Щ"
,
shcy
:
"ш"
,
SHcy
:
"Ш"
,
ShortDownArrow
:
"↓"
,
ShortLeftArrow
:
"←"
,
shortmid
:
"∣"
,
shortparallel
:
"∥"
,
ShortRightArrow
:
"→"
,
ShortUpArrow
:
"↑"
,
shy
:
""
,
sigma
:
"σ"
,
Sigma
:
"Σ"
,
sigmaf
:
"ς"
,
sigmav
:
"ς"
,
sim
:
"∼"
,
simdot
:
"⩪"
,
sime
:
"≃"
,
simeq
:
"≃"
,
simg
:
"⪞"
,
simgE
:
"⪠"
,
siml
:
"⪝"
,
simlE
:
"⪟"
,
simne
:
"≆"
,
simplus
:
"⨤"
,
simrarr
:
"⥲"
,
slarr
:
"←"
,
SmallCircle
:
"∘"
,
smallsetminus
:
"∖"
,
smashp
:
"⨳"
,
smeparsl
:
"⧤"
,
smid
:
"∣"
,
smile
:
"⌣"
,
smt
:
"⪪"
,
smte
:
"⪬"
,
smtes
:
"⪬︀"
,
softcy
:
"ь"
,
SOFTcy
:
"Ь"
,
sol
:
"/"
,
solb
:
"⧄"
,
solbar
:
"⌿"
,
sopf
:
"𝕤"
,
Sopf
:
"𝕊"
,
spades
:
"♠"
,
spadesuit
:
"♠"
,
spar
:
"∥"
,
sqcap
:
"⊓"
,
sqcaps
:
"⊓︀"
,
sqcup
:
"⊔"
,
sqcups
:
"⊔︀"
,
Sqrt
:
"√"
,
sqsub
:
"⊏"
,
sqsube
:
"⊑"
,
sqsubset
:
"⊏"
,
sqsubseteq
:
"⊑"
,
sqsup
:
"⊐"
,
sqsupe
:
"⊒"
,
sqsupset
:
"⊐"
,
sqsupseteq
:
"⊒"
,
squ
:
"□"
,
square
:
"□"
,
Square
:
"□"
,
SquareIntersection
:
"⊓"
,
SquareSubset
:
"⊏"
,
SquareSubsetEqual
:
"⊑"
,
SquareSuperset
:
"⊐"
,
SquareSupersetEqual
:
"⊒"
,
SquareUnion
:
"⊔"
,
squarf
:
"▪"
,
squf
:
"▪"
,
srarr
:
"→"
,
sscr
:
"𝓈"
,
Sscr
:
"𝒮"
,
ssetmn
:
"∖"
,
ssmile
:
"⌣"
,
sstarf
:
"⋆"
,
star
:
"☆"
,
Star
:
"⋆"
,
starf
:
"★"
,
straightepsilon
:
"ϵ"
,
straightphi
:
"ϕ"
,
strns
:
"¯"
,
sub
:
"⊂"
,
Sub
:
"⋐"
,
subdot
:
"⪽"
,
sube
:
"⊆"
,
subE
:
"⫅"
,
subedot
:
"⫃"
,
submult
:
"⫁"
,
subne
:
"⊊"
,
subnE
:
"⫋"
,
subplus
:
"⪿"
,
subrarr
:
"⥹"
,
subset
:
"⊂"
,
Subset
:
"⋐"
,
subseteq
:
"⊆"
,
subseteqq
:
"⫅"
,
SubsetEqual
:
"⊆"
,
subsetneq
:
"⊊"
,
subsetneqq
:
"⫋"
,
subsim
:
"⫇"
,
subsub
:
"⫕"
,
subsup
:
"⫓"
,
succ
:
"≻"
,
succapprox
:
"⪸"
,
succcurlyeq
:
"≽"
,
Succeeds
:
"≻"
,
SucceedsEqual
:
"⪰"
,
SucceedsSlantEqual
:
"≽"
,
SucceedsTilde
:
"≿"
,
succeq
:
"⪰"
,
succnapprox
:
"⪺"
,
succneqq
:
"⪶"
,
succnsim
:
"⋩"
,
succsim
:
"≿"
,
SuchThat
:
"∋"
,
sum
:
"∑"
,
Sum
:
"∑"
,
sung
:
"♪"
,
sup
:
"⊃"
,
Sup
:
"⋑"
,
sup1
:
"¹"
,
sup2
:
"²"
,
sup3
:
"³"
,
supdot
:
"⪾"
,
supdsub
:
"⫘"
,
supe
:
"⊇"
,
supE
:
"⫆"
,
supedot
:
"⫄"
,
Superset
:
"⊃"
,
SupersetEqual
:
"⊇"
,
suphsol
:
"⟉"
,
suphsub
:
"⫗"
,
suplarr
:
"⥻"
,
supmult
:
"⫂"
,
supne
:
"⊋"
,
supnE
:
"⫌"
,
supplus
:
"⫀"
,
supset
:
"⊃"
,
Supset
:
"⋑"
,
supseteq
:
"⊇"
,
supseteqq
:
"⫆"
,
supsetneq
:
"⊋"
,
supsetneqq
:
"⫌"
,
supsim
:
"⫈"
,
supsub
:
"⫔"
,
supsup
:
"⫖"
,
swarhk
:
"⤦"
,
swarr
:
"↙"
,
swArr
:
"⇙"
,
swarrow
:
"↙"
,
swnwar
:
"⤪"
,
szlig
:
"ß"
,
Tab
:
"\t"
,
target
:
"⌖"
,
tau
:
"τ"
,
Tau
:
"Τ"
,
tbrk
:
"⎴"
,
tcaron
:
"ť"
,
Tcaron
:
"Ť"
,
tcedil
:
"ţ"
,
Tcedil
:
"Ţ"
,
tcy
:
"т"
,
Tcy
:
"Т"
,
tdot
:
"⃛"
,
telrec
:
"⌕"
,
tfr
:
"𝔱"
,
Tfr
:
"𝔗"
,
there4
:
"∴"
,
therefore
:
"∴"
,
Therefore
:
"∴"
,
theta
:
"θ"
,
Theta
:
"Θ"
,
thetasym
:
"ϑ"
,
thetav
:
"ϑ"
,
thickapprox
:
"≈"
,
thicksim
:
"∼"
,
ThickSpace
:
" "
,
thinsp
:
" "
,
ThinSpace
:
" "
,
thkap
:
"≈"
,
thksim
:
"∼"
,
thorn
:
"þ"
,
THORN
:
"Þ"
,
tilde
:
"˜"
,
Tilde
:
"∼"
,
TildeEqual
:
"≃"
,
TildeFullEqual
:
"≅"
,
TildeTilde
:
"≈"
,
times
:
"×"
,
timesb
:
"⊠"
,
timesbar
:
"⨱"
,
timesd
:
"⨰"
,
tint
:
"∭"
,
toea
:
"⤨"
,
top
:
"⊤"
,
topbot
:
"⌶"
,
topcir
:
"⫱"
,
topf
:
"𝕥"
,
Topf
:
"𝕋"
,
topfork
:
"⫚"
,
tosa
:
"⤩"
,
tprime
:
"‴"
,
trade
:
"™"
,
TRADE
:
"™"
,
triangle
:
"▵"
,
triangledown
:
"▿"
,
triangleleft
:
"◃"
,
trianglelefteq
:
"⊴"
,
triangleq
:
"≜"
,
triangleright
:
"▹"
,
trianglerighteq
:
"⊵"
,
tridot
:
"◬"
,
trie
:
"≜"
,
triminus
:
"⨺"
,
TripleDot
:
"⃛"
,
triplus
:
"⨹"
,
trisb
:
"⧍"
,
tritime
:
"⨻"
,
trpezium
:
"⏢"
,
tscr
:
"𝓉"
,
Tscr
:
"𝒯"
,
tscy
:
"ц"
,
TScy
:
"Ц"
,
tshcy
:
"ћ"
,
TSHcy
:
"Ћ"
,
tstrok
:
"ŧ"
,
Tstrok
:
"Ŧ"
,
twixt
:
"≬"
,
twoheadleftarrow
:
"↞"
,
twoheadrightarrow
:
"↠"
,
uacute
:
"ú"
,
Uacute
:
"Ú"
,
uarr
:
"↑"
,
uArr
:
"⇑"
,
Uarr
:
"↟"
,
Uarrocir
:
"⥉"
,
ubrcy
:
"ў"
,
Ubrcy
:
"Ў"
,
ubreve
:
"ŭ"
,
Ubreve
:
"Ŭ"
,
ucirc
:
"û"
,
Ucirc
:
"Û"
,
ucy
:
"у"
,
Ucy
:
"У"
,
udarr
:
"⇅"
,
udblac
:
"ű"
,
Udblac
:
"Ű"
,
udhar
:
"⥮"
,
ufisht
:
"⥾"
,
ufr
:
"𝔲"
,
Ufr
:
"𝔘"
,
ugrave
:
"ù"
,
Ugrave
:
"Ù"
,
uHar
:
"⥣"
,
uharl
:
"↿"
,
uharr
:
"↾"
,
uhblk
:
"▀"
,
ulcorn
:
"⌜"
,
ulcorner
:
"⌜"
,
ulcrop
:
"⌏"
,
ultri
:
"◸"
,
umacr
:
"ū"
,
Umacr
:
"Ū"
,
uml
:
"¨"
,
UnderBar
:
"_"
,
UnderBrace
:
"⏟"
,
UnderBracket
:
"⎵"
,
UnderParenthesis
:
"⏝"
,
Union
:
"⋃"
,
UnionPlus
:
"⊎"
,
uogon
:
"ų"
,
Uogon
:
"Ų"
,
uopf
:
"𝕦"
,
Uopf
:
"𝕌"
,
uparrow
:
"↑"
,
Uparrow
:
"⇑"
,
UpArrow
:
"↑"
,
UpArrowBar
:
"⤒"
,
UpArrowDownArrow
:
"⇅"
,
updownarrow
:
"↕"
,
Updownarrow
:
"⇕"
,
UpDownArrow
:
"↕"
,
UpEquilibrium
:
"⥮"
,
upharpoonleft
:
"↿"
,
upharpoonright
:
"↾"
,
uplus
:
"⊎"
,
UpperLeftArrow
:
"↖"
,
UpperRightArrow
:
"↗"
,
upsi
:
"υ"
,
Upsi
:
"ϒ"
,
upsih
:
"ϒ"
,
upsilon
:
"υ"
,
Upsilon
:
"Υ"
,
UpTee
:
"⊥"
,
UpTeeArrow
:
"↥"
,
upuparrows
:
"⇈"
,
urcorn
:
"⌝"
,
urcorner
:
"⌝"
,
urcrop
:
"⌎"
,
uring
:
"ů"
,
Uring
:
"Ů"
,
urtri
:
"◹"
,
uscr
:
"𝓊"
,
Uscr
:
"𝒰"
,
utdot
:
"⋰"
,
utilde
:
"ũ"
,
Utilde
:
"Ũ"
,
utri
:
"▵"
,
utrif
:
"▴"
,
uuarr
:
"⇈"
,
uuml
:
"ü"
,
Uuml
:
"Ü"
,
uwangle
:
"⦧"
,
vangrt
:
"⦜"
,
varepsilon
:
"ϵ"
,
varkappa
:
"ϰ"
,
varnothing
:
"∅"
,
varphi
:
"ϕ"
,
varpi
:
"ϖ"
,
varpropto
:
"∝"
,
varr
:
"↕"
,
vArr
:
"⇕"
,
varrho
:
"ϱ"
,
varsigma
:
"ς"
,
varsubsetneq
:
"⊊︀"
,
varsubsetneqq
:
"⫋︀"
,
varsupsetneq
:
"⊋︀"
,
varsupsetneqq
:
"⫌︀"
,
vartheta
:
"ϑ"
,
vartriangleleft
:
"⊲"
,
vartriangleright
:
"⊳"
,
vBar
:
"⫨"
,
Vbar
:
"⫫"
,
vBarv
:
"⫩"
,
vcy
:
"в"
,
Vcy
:
"В"
,
vdash
:
"⊢"
,
vDash
:
"⊨"
,
Vdash
:
"⊩"
,
VDash
:
"⊫"
,
Vdashl
:
"⫦"
,
vee
:
"∨"
,
Vee
:
"⋁"
,
veebar
:
"⊻"
,
veeeq
:
"≚"
,
vellip
:
"⋮"
,
verbar
:
"|"
,
Verbar
:
"‖"
,
vert
:
"|"
,
Vert
:
"‖"
,
VerticalBar
:
"∣"
,
VerticalLine
:
"|"
,
VerticalSeparator
:
"❘"
,
VerticalTilde
:
"≀"
,
VeryThinSpace
:
" "
,
vfr
:
"𝔳"
,
Vfr
:
"𝔙"
,
vltri
:
"⊲"
,
vnsub
:
"⊂⃒"
,
vnsup
:
"⊃⃒"
,
vopf
:
"𝕧"
,
Vopf
:
"𝕍"
,
vprop
:
"∝"
,
vrtri
:
"⊳"
,
vscr
:
"𝓋"
,
Vscr
:
"𝒱"
,
vsubne
:
"⊊︀"
,
vsubnE
:
"⫋︀"
,
vsupne
:
"⊋︀"
,
vsupnE
:
"⫌︀"
,
Vvdash
:
"⊪"
,
vzigzag
:
"⦚"
,
wcirc
:
"ŵ"
,
Wcirc
:
"Ŵ"
,
wedbar
:
"⩟"
,
wedge
:
"∧"
,
Wedge
:
"⋀"
,
wedgeq
:
"≙"
,
weierp
:
"℘"
,
wfr
:
"𝔴"
,
Wfr
:
"𝔚"
,
wopf
:
"𝕨"
,
Wopf
:
"𝕎"
,
wp
:
"℘"
,
wr
:
"≀"
,
wreath
:
"≀"
,
wscr
:
"𝓌"
,
Wscr
:
"𝒲"
,
xcap
:
"⋂"
,
xcirc
:
"◯"
,
xcup
:
"⋃"
,
xdtri
:
"▽"
,
xfr
:
"𝔵"
,
Xfr
:
"𝔛"
,
xharr
:
"⟷"
,
xhArr
:
"⟺"
,
xi
:
"ξ"
,
Xi
:
"Ξ"
,
xlarr
:
"⟵"
,
xlArr
:
"⟸"
,
xmap
:
"⟼"
,
xnis
:
"⋻"
,
xodot
:
"⨀"
,
xopf
:
"𝕩"
,
Xopf
:
"𝕏"
,
xoplus
:
"⨁"
,
xotime
:
"⨂"
,
xrarr
:
"⟶"
,
xrArr
:
"⟹"
,
xscr
:
"𝓍"
,
Xscr
:
"𝒳"
,
xsqcup
:
"⨆"
,
xuplus
:
"⨄"
,
xutri
:
"△"
,
xvee
:
"⋁"
,
xwedge
:
"⋀"
,
yacute
:
"ý"
,
Yacute
:
"Ý"
,
yacy
:
"я"
,
YAcy
:
"Я"
,
ycirc
:
"ŷ"
,
Ycirc
:
"Ŷ"
,
ycy
:
"ы"
,
Ycy
:
"Ы"
,
yen
:
"¥"
,
yfr
:
"𝔶"
,
Yfr
:
"𝔜"
,
yicy
:
"ї"
,
YIcy
:
"Ї"
,
yopf
:
"𝕪"
,
Yopf
:
"𝕐"
,
yscr
:
"𝓎"
,
Yscr
:
"𝒴"
,
yucy
:
"ю"
,
YUcy
:
"Ю"
,
yuml
:
"ÿ"
,
Yuml
:
"Ÿ"
,
zacute
:
"ź"
,
Zacute
:
"Ź"
,
zcaron
:
"ž"
,
Zcaron
:
"Ž"
,
zcy
:
"з"
,
Zcy
:
"З"
,
zdot
:
"ż"
,
Zdot
:
"Ż"
,
zeetrf
:
"ℨ"
,
ZeroWidthSpace
:
""
,
zeta
:
"ζ"
,
Zeta
:
"Ζ"
,
zfr
:
"𝔷"
,
Zfr
:
"ℨ"
,
zhcy
:
"ж"
,
ZHcy
:
"Ж"
,
zigrarr
:
"⇝"
,
zopf
:
"𝕫"
,
Zopf
:
"ℤ"
,
zscr
:
"𝓏"
,
Zscr
:
"𝒵"
,
zwj
:
""
,
zwnj
:
""
},
y
=
{
aacute
:
"á"
,
Aacute
:
"Á"
,
acirc
:
"â"
,
Acirc
:
"Â"
,
acute
:
"´"
,
aelig
:
"æ"
,
AElig
:
"Æ"
,
agrave
:
"à"
,
Agrave
:
"À"
,
amp
:
"&"
,
AMP
:
"&"
,
aring
:
"å"
,
Aring
:
"Å"
,
atilde
:
"ã"
,
Atilde
:
"Ã"
,
auml
:
"ä"
,
Auml
:
"Ä"
,
brvbar
:
"¦"
,
ccedil
:
"ç"
,
Ccedil
:
"Ç"
,
cedil
:
"¸"
,
cent
:
"¢"
,
copy
:
"©"
,
COPY
:
"©"
,
curren
:
"¤"
,
deg
:
"°"
,
divide
:
"÷"
,
eacute
:
"é"
,
Eacute
:
"É"
,
ecirc
:
"ê"
,
Ecirc
:
"Ê"
,
egrave
:
"è"
,
Egrave
:
"È"
,
eth
:
"ð"
,
ETH
:
"Ð"
,
euml
:
"ë"
,
Euml
:
"Ë"
,
frac12
:
"½"
,
frac14
:
"¼"
,
frac34
:
"¾"
,
gt
:
">"
,
GT
:
">"
,
iacute
:
"í"
,
Iacute
:
"Í"
,
icirc
:
"î"
,
Icirc
:
"Î"
,
iexcl
:
"¡"
,
igrave
:
"ì"
,
Igrave
:
"Ì"
,
iquest
:
"¿"
,
iuml
:
"ï"
,
Iuml
:
"Ï"
,
laquo
:
"«"
,
lt
:
"<"
,
LT
:
"<"
,
macr
:
"¯"
,
micro
:
"µ"
,
middot
:
"·"
,
nbsp
:
" "
,
not
:
"¬"
,
ntilde
:
"ñ"
,
Ntilde
:
"Ñ"
,
oacute
:
"ó"
,
Oacute
:
"Ó"
,
ocirc
:
"ô"
,
Ocirc
:
"Ô"
,
ograve
:
"ò"
,
Ograve
:
"Ò"
,
ordf
:
"ª"
,
ordm
:
"º"
,
oslash
:
"ø"
,
Oslash
:
"Ø"
,
otilde
:
"õ"
,
Otilde
:
"Õ"
,
ouml
:
"ö"
,
Ouml
:
"Ö"
,
para
:
"¶"
,
plusmn
:
"±"
,
pound
:
"£"
,
quot
:
'"'
,
QUOT
:
'"'
,
raquo
:
"»"
,
reg
:
"®"
,
REG
:
"®"
,
sect
:
"§"
,
shy
:
""
,
sup1
:
"¹"
,
sup2
:
"²"
,
sup3
:
"³"
,
szlig
:
"ß"
,
thorn
:
"þ"
,
THORN
:
"Þ"
,
times
:
"×"
,
uacute
:
"ú"
,
Uacute
:
"Ú"
,
ucirc
:
"û"
,
Ucirc
:
"Û"
,
ugrave
:
"ù"
,
Ugrave
:
"Ù"
,
uml
:
"¨"
,
uuml
:
"ü"
,
Uuml
:
"Ü"
,
yacute
:
"ý"
,
Yacute
:
"Ý"
,
yen
:
"¥"
,
yuml
:
"ÿ"
},
v
=
{
0
:
"�"
,
128
:
"€"
,
130
:
"‚"
,
131
:
"ƒ"
,
132
:
"„"
,
133
:
"…"
,
134
:
"†"
,
135
:
"‡"
,
136
:
"ˆ"
,
137
:
"‰"
,
138
:
"Š"
,
139
:
"‹"
,
140
:
"Œ"
,
142
:
"Ž"
,
145
:
"‘"
,
146
:
"’"
,
147
:
"“"
,
148
:
"”"
,
149
:
"•"
,
150
:
"–"
,
151
:
"—"
,
152
:
"˜"
,
153
:
"™"
,
154
:
"š"
,
155
:
"›"
,
156
:
"œ"
,
158
:
"ž"
,
159
:
"Ÿ"
},
_
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
11
,
13
,
14
,
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
31
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
157
,
158
,
159
,
64976
,
64977
,
64978
,
64979
,
64980
,
64981
,
64982
,
64983
,
64984
,
64985
,
64986
,
64987
,
64988
,
64989
,
64990
,
64991
,
64992
,
64993
,
64994
,
64995
,
64996
,
64997
,
64998
,
64999
,
65e3
,
65001
,
65002
,
65003
,
65004
,
65005
,
65006
,
65007
,
65534
,
65535
,
131070
,
131071
,
196606
,
196607
,
262142
,
262143
,
327678
,
327679
,
393214
,
393215
,
458750
,
458751
,
524286
,
524287
,
589822
,
589823
,
655358
,
655359
,
720894
,
720895
,
786430
,
786431
,
851966
,
851967
,
917502
,
917503
,
983038
,
983039
,
1048574
,
1048575
,
1114110
,
1114111
],
w
=
String
.
fromCharCode
,
E
=
{}.
hasOwnProperty
,
x
=
function
(
e
,
t
){
return
E
.
call
(
e
,
t
)},
S
=
function
(
e
,
t
){
if
(
!
e
)
return
t
;
var
r
,
n
=
{};
for
(
r
in
t
)
n
[
r
]
=
x
(
e
,
r
)
?
e
[
r
]
:
t
[
r
];
return
n
},
k
=
function
(
e
,
t
){
var
r
=
""
;
return
e
>=
55296
&&
e
<=
57343
||
e
>
1114111
?
(
t
&&
A
(
"character reference outside the permissible Unicode range"
),
"�"
)
:
x
(
v
,
e
)
?
(
t
&&
A
(
"disallowed character reference"
),
v
[
e
])
:
(
t
&&
function
(
e
,
t
){
for
(
var
r
=-
1
,
n
=
e
.
length
;
++
r
<
n
;)
if
(
e
[
r
]
==
t
)
return
!
0
;
return
!
1
}(
_
,
e
)
&&
A
(
"disallowed character reference"
),
e
>
65535
&&
(
r
+=
w
((
e
-=
65536
)
>>>
10
&
1023
|
55296
),
e
=
56320
|
1023
&
e
),
r
+=
w
(
e
))},
D
=
function
(
e
){
return
"&#x"
+
e
.
toString
(
16
).
toUpperCase
()
+
";"
},
T
=
function
(
e
){
return
"&#"
+
e
+
";"
},
A
=
function
(
e
){
throw
Error
(
"Parse error: "
+
e
)},
q
=
function
(
e
,
t
){(
t
=
S
(
t
,
q
.
options
)).
strict
&&
g
.
test
(
e
)
&&
A
(
"forbidden code point"
);
var
r
=
t
.
encodeEverything
,
n
=
t
.
useNamedReferences
,
o
=
t
.
allowUnsafeSymbols
,
i
=
t
.
decimal
?
T
:
D
,
a
=
function
(
e
){
return
i
(
e
.
charCodeAt
(
0
))};
return
r
?
(
e
=
e
.
replace
(
c
,(
function
(
e
){
return
n
&&
x
(
p
,
e
)
?
"&"
+
p
[
e
]
+
";"
:
a
(
e
)})),
n
&&
(
e
=
e
.
replace
(
/>\u20D2/g
,
">⃒"
).
replace
(
/<\u20D2/g
,
"<⃒"
).
replace
(
/fj/g
,
"fj"
)),
n
&&
(
e
=
e
.
replace
(
l
,(
function
(
e
){
return
"&"
+
p
[
e
]
+
";"
}))))
:
n
?
(
o
||
(
e
=
e
.
replace
(
d
,(
function
(
e
){
return
"&"
+
p
[
e
]
+
";"
}))),
e
=
(
e
=
e
.
replace
(
/>\u20D2/g
,
">⃒"
).
replace
(
/<\u20D2/g
,
"<⃒"
)).
replace
(
l
,(
function
(
e
){
return
"&"
+
p
[
e
]
+
";"
})))
:
o
||
(
e
=
e
.
replace
(
d
,
a
)),
e
.
replace
(
s
,(
function
(
e
){
var
t
=
e
.
charCodeAt
(
0
),
r
=
e
.
charCodeAt
(
1
);
return
i
(
1024
*
(
t
-
55296
)
+
r
-
56320
+
65536
)})).
replace
(
u
,
a
)};
q
.
options
=
{
allowUnsafeSymbols
:!
1
,
encodeEverything
:!
1
,
strict
:!
1
,
useNamedReferences
:!
1
,
decimal
:!
1
};
var
L
=
function
(
e
,
t
){
var
r
=
(
t
=
S
(
t
,
L
.
options
)).
strict
;
return
r
&&
h
.
test
(
e
)
&&
A
(
"malformed character reference"
),
e
.
replace
(
m
,(
function
(
e
,
n
,
o
,
i
,
a
,
s
,
c
,
u
,
l
){
var
p
,
d
,
f
,
h
,
g
,
m
;
return
n
?
b
[
g
=
n
]
:
o
?
(
g
=
o
,(
m
=
i
)
&&
t
.
isAttributeValue
?
(
r
&&
"="
==
m
&&
A
(
"`&` did not start a character reference"
),
e
)
:
(
r
&&
A
(
"named character reference was not terminated by a semicolon"
),
y
[
g
]
+
(
m
||
""
)))
:
a
?
(
f
=
a
,
d
=
s
,
r
&&!
d
&&
A
(
"character reference was not terminated by a semicolon"
),
p
=
parseInt
(
f
,
10
),
k
(
p
,
r
))
:
c
?
(
h
=
c
,
d
=
u
,
r
&&!
d
&&
A
(
"character reference was not terminated by a semicolon"
),
p
=
parseInt
(
h
,
16
),
k
(
p
,
r
))
:
(
r
&&
A
(
"named character reference was not terminated by a semicolon"
),
e
)}))};
L
.
options
=
{
isAttributeValue
:!
1
,
strict
:!
1
};
var
N
=
{
version
:
"1.2.0"
,
encode
:
q
,
decode
:
L
,
escape
:
function
(
e
){
return
e
.
replace
(
d
,(
function
(
e
){
return
f
[
e
]}))},
unescape
:
L
};
void
0
===
(
n
=
function
(){
return
N
}.
call
(
t
,
r
,
t
,
e
))
||
(
e
.
exports
=
n
)}()},
19215
:
function
(
e
,
t
,
r
){
"use strict"
;
r
(
36604
),
r
(
1701
);
var
n
=
r
(
86492
);
e
.
exports
=
{
decode
:
function
(
e
){
return
n
.
decode
(
e
)},
encode
:
function
(
e
){
return
n
.
encode
(
e
)}}},
36604
:
function
(
e
){
"use strict"
;
var
t
=
"function"
==
typeof
Symbol
&&
"symbol"
==
typeof
Symbol
.
iterator
?
function
(
e
){
return
typeof
e
}
:
function
(
e
){
return
e
&&
"function"
==
typeof
Symbol
&&
e
.
constructor
===
Symbol
&&
e
!==
Symbol
.
prototype
?
"symbol"
:
typeof
e
};
e
.
exports
=
function
(
e
,
r
){
var
n
=
0
,
o
=
[];
if
(
Array
.
isArray
(
e
))
for
(;
n
<
e
.
length
&&!
1
!==
r
(
e
[
n
],
n
,
e
);
++
n
);
else
if
(
"object"
===
(
void
0
===
e
?
"undefined"
:
t
(
e
))
&&
null
!==
e
)
for
(
o
=
Object
.
keys
(
e
);
n
<
o
.
length
&&!
1
!==
r
(
e
[
o
[
n
]],
o
[
n
],
e
);
++
n
);}},
96797
:
function
(
e
){
"use strict"
;
var
t
=
"bfred-it:object-fit-images"
,
r
=
/(object-fit|object-position)\s*:\s*([-.\w\s%]+)/g
,
n
=
"undefined"
==
typeof
Image
?
{
style
:
{
"object-position"
:
1
}}
:
new
Image
,
o
=
"object-fit"
in
n
.
style
,
i
=
"object-position"
in
n
.
style
,
a
=
"background-size"
in
n
.
style
,
s
=
"string"
==
typeof
n
.
currentSrc
,
c
=
n
.
getAttribute
,
u
=
n
.
setAttribute
,
l
=!
1
;
function
p
(
e
,
t
,
r
){
var
n
=
"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='"
+
(
t
||
1
)
+
"' height='"
+
(
r
||
0
)
+
"'%3E%3C/svg%3E"
;
c
.
call
(
e
,
"src"
)
!==
n
&&
u
.
call
(
e
,
"src"
,
n
)}
function
d
(
e
,
t
){
e
.
naturalWidth
?
t
(
e
)
:
setTimeout
(
d
,
100
,
e
,
t
)}
function
f
(
e
){
var
n
=
function
(
e
){
for
(
var
t
,
n
=
getComputedStyle
(
e
).
fontFamily
,
o
=
{};
null
!==
(
t
=
r
.
exec
(
n
));)
o
[
t
[
1
]]
=
t
[
2
];
return
o
}(
e
),
i
=
e
[
t
];
if
(
n
[
"object-fit"
]
=
n
[
"object-fit"
]
||
"fill"
,
!
i
.
img
){
if
(
"fill"
===
n
[
"object-fit"
])
return
;
if
(
!
i
.
skipTest
&&
o
&&!
n
[
"object-position"
])
return
}
if
(
!
i
.
img
){
i
.
img
=
new
Image
(
e
.
width
,
e
.
height
),
i
.
img
.
srcset
=
c
.
call
(
e
,
"data-ofi-srcset"
)
||
e
.
srcset
,
i
.
img
.
src
=
c
.
call
(
e
,
"data-ofi-src"
)
||
e
.
src
,
u
.
call
(
e
,
"data-ofi-src"
,
e
.
src
),
e
.
srcset
&&
u
.
call
(
e
,
"data-ofi-srcset"
,
e
.
srcset
),
p
(
e
,
e
.
naturalWidth
||
e
.
width
,
e
.
naturalHeight
||
e
.
height
),
e
.
srcset
&&
(
e
.
srcset
=
""
);
try
{
!
function
(
e
){
var
r
=
{
get
:
function
(
r
){
return
e
[
t
].
img
[
r
||
"src"
]},
set
:
function
(
r
,
n
){
return
e
[
t
].
img
[
n
||
"src"
]
=
r
,
u
.
call
(
e
,
"data-ofi-"
+
n
,
r
),
f
(
e
),
r
}};
Object
.
defineProperty
(
e
,
"src"
,
r
),
Object
.
defineProperty
(
e
,
"currentSrc"
,{
get
:
function
(){
return
r
.
get
(
"currentSrc"
)}}),
Object
.
defineProperty
(
e
,
"srcset"
,{
get
:
function
(){
return
r
.
get
(
"srcset"
)},
set
:
function
(
e
){
return
r
.
set
(
e
,
"srcset"
)}})}(
e
)}
catch
(
e
){
window
.
console
&&
console
.
warn
(
"https://bit.ly/ofi-old-browser"
)}}
!
function
(
e
){
if
(
e
.
srcset
&&!
s
&&
window
.
picturefill
){
var
t
=
window
.
picturefill
.
_
;
e
[
t
.
ns
]
&&
e
[
t
.
ns
].
evaled
||
t
.
fillImg
(
e
,{
reselect
:!
0
}),
e
[
t
.
ns
].
curSrc
||
(
e
[
t
.
ns
].
supported
=!
1
,
t
.
fillImg
(
e
,{
reselect
:!
0
})),
e
.
currentSrc
=
e
[
t
.
ns
].
curSrc
||
e
.
src
}}(
i
.
img
),
e
.
style
.
backgroundImage
=
'url("'
+
(
i
.
img
.
currentSrc
||
i
.
img
.
src
).
replace
(
/"/g
,
'\\"'
)
+
'")'
,
e
.
style
.
backgroundPosition
=
n
[
"object-position"
]
||
"center"
,
e
.
style
.
backgroundRepeat
=
"no-repeat"
,
e
.
style
.
backgroundOrigin
=
"content-box"
,
/scale-down/
.
test
(
n
[
"object-fit"
])
?
d
(
i
.
img
,(
function
(){
i
.
img
.
naturalWidth
>
e
.
width
||
i
.
img
.
naturalHeight
>
e
.
height
?
e
.
style
.
backgroundSize
=
"contain"
:
e
.
style
.
backgroundSize
=
"auto"
}))
:
e
.
style
.
backgroundSize
=
n
[
"object-fit"
].
replace
(
"none"
,
"auto"
).
replace
(
"fill"
,
"100% 100%"
),
d
(
i
.
img
,(
function
(
t
){
p
(
e
,
t
.
naturalWidth
,
t
.
naturalHeight
)}))}
function
h
(
e
,
r
){
var
n
=!
l
&&!
e
;
if
(
r
=
r
||
{},
e
=
e
||
"img"
,
i
&&!
r
.
skipTest
||!
a
)
return
!
1
;
"img"
===
e
?
e
=
document
.
getElementsByTagName
(
"img"
)
:
"string"
==
typeof
e
?
e
=
document
.
querySelectorAll
(
e
)
:
"length"
in
e
||
(
e
=
[
e
]);
for
(
var
o
=
0
;
o
<
e
.
length
;
o
++
)
e
[
o
][
t
]
=
e
[
o
][
t
]
||
{
skipTest
:
r
.
skipTest
},
f
(
e
[
o
]);
n
&&
(
document
.
body
.
addEventListener
(
"load"
,(
function
(
e
){
"IMG"
===
e
.
target
.
tagName
&&
h
(
e
.
target
,{
skipTest
:
r
.
skipTest
})}),
!
0
),
l
=!
0
,
e
=
"img"
),
r
.
watchMQ
&&
window
.
addEventListener
(
"resize"
,
h
.
bind
(
null
,
e
,{
skipTest
:
r
.
skipTest
}))}
h
.
supportsObjectFit
=
o
,
h
.
supportsObjectPosition
=
i
,
function
(){
function
e
(
e
,
r
){
return
e
[
t
]
&&
e
[
t
].
img
&&
(
"src"
===
r
||
"srcset"
===
r
)
?
e
[
t
].
img
:
e
}
i
||
(
HTMLImageElement
.
prototype
.
getAttribute
=
function
(
t
){
return
c
.
call
(
e
(
this
,
t
),
t
)},
HTMLImageElement
.
prototype
.
setAttribute
=
function
(
t
,
r
){
return
u
.
call
(
e
(
this
,
t
),
t
,
String
(
r
))})}(),
e
.
exports
=
h
},
52858
:
function
(
e
){
e
.
exports
=
'// http://github.com/jsvine/notebookjs\n// notebook.js may be freely distributed under the MIT license.\n(function () {\n var VERSION = "0.6.7";\n var root = this;\n var isBrowser = root.window !== undefined;\n var doc;\n\n // Get browser or JSDOM document\n if (isBrowser) {\n doc = root.document;\n } else {\n var jsdom = require("jsdom");\n var dom = new jsdom.JSDOM();\n doc = dom.window.document;\n }\n\n // Helper functions\n var ident = function (x) { return x; };\n\n var makeElement = function (tag, classNames) {\n var el = doc.createElement(tag);\n el.className = (classNames || []).map(function (cn) {\n return nb.prefix + cn;\n }).join(" ");\n return el;\n };\n\n var escapeHTML = function (raw) {\n var replaced = raw\n .replace(/</g, "<")\n .replace(/>/g, ">");\n return replaced;\n };\n\n var joinText = function (text) {\n if (text.join) {\n return text.map(joinText).join("");\n } else {\n return text;\n }\n };\n\n // Get supporting libraries\n var getMarkdown = function () {\n return root.marked || (typeof require === "function" && require("marked"));\n };\n\n var getAnsi = function () {\n var lib = root.ansi_up || (typeof require === "function" && require("ansi_up"));\n return lib && lib.ansi_to_html;\n };\n\n var getSanitizer = function () {\n var lib = root.DOMPurify || (typeof require === "function" && require("dompurify"));\n if (isBrowser) {\n return lib && lib.sanitize;\n } else {\n return lib(dom.window).sanitize;\n }\n };\n\n // Set up `nb` namespace\n var nb = {\n prefix: "nb-",\n markdown: getMarkdown() || ident,\n ansi: getAnsi() || ident,\n sanitizer: getSanitizer() || ident,\n highlighter: ident,\n VERSION: VERSION\n };\n\n // Inputs\n nb.Input = function (raw, cell) {\n this.raw = raw;\n this.cell = cell;\n };\n\n nb.Input.prototype.render = function () {\n if (!this.raw.length) { return makeElement("div"); }\n var holder = makeElement("div", [ "input" ]);\n var cell = this.cell;\n if (typeof cell.number === "number") {\n holder.setAttribute("data-prompt-number", this.cell.number);\n }\n var pre_el = makeElement("pre");\n var code_el = makeElement("code");\n var notebook = cell.worksheet.notebook;\n var m = notebook.metadata;\n var lang = this.cell.raw.language || m.language || (m.kernelspec && m.kernelspec.language) || (m.language_info && m.language_info.name);\n code_el.setAttribute("data-language", lang);\n code_el.className = "lang-" + lang;\n code_el.innerHTML = nb.highlighter(escapeHTML(joinText(this.raw)), pre_el, code_el, lang);\n pre_el.appendChild(code_el);\n holder.appendChild(pre_el);\n this.el = holder;\n return holder;\n };\n\n // Outputs and output-renderers\n var imageCreator = function (format) {\n return function (data) {\n var el = makeElement("img", [ "image-output" ]);\n el.src = "data:image/" + format + ";base64," + joinText(data).replace(/\\n/g, "");\n return el;\n };\n };\n\n nb.display = {};\n nb.display.text = function (text) {\n var el = makeElement("pre", [ "text-output" ]);\n el.innerHTML = nb.highlighter(nb.ansi(joinText(text)), el);\n return el;\n };\n nb.display["text/plain"] = nb.display.text;\n\n nb.display.html = function (html) {\n var el = makeElement("div", [ "html-output" ]);\n el.innerHTML = nb.sanitizer(joinText(html));\n return el;\n };\n nb.display["text/html"] = nb.display.html;\n\n nb.display.marked = function(md) {\n return nb.display.html(nb.markdown(joinText(md)));\n };\n nb.display["text/markdown"] = nb.display.marked;\n\n nb.display.svg = function (svg) {\n var el = makeElement("div", [ "svg-output" ]);\n el.innerHTML = joinText(svg);\n return el;\n };\n nb.display["text/svg+xml"] = nb.display.svg;\n nb.display["image/svg+xml"] = nb.display.svg;\n\n nb.display.latex = function (latex) {\n var el = makeElement("div", [ "latex-output" ]);\n el.innerHTML = joinText(latex);\n return el;\n };\n nb.display["text/latex"] = nb.display.latex;\n\n nb.display.javascript = function (js) {\n var el = makeElement("script");\n el.innerHTML = joinText(js);\n return el;\n };\n nb.display["application/javascript"] = nb.display.javascript;\n\n nb.display.png = imageCreator("png");\n nb.display["image/png"] = nb.display.png;\n nb.display.jpeg = imageCreator("jpeg");\n nb.display["image/jpeg"] = nb.display.jpeg;\n\n nb.display_priority = [\n "png", "image/png", "jpeg", "image/jpeg",\n "svg", "image/svg+xml", "text/svg+xml", "html", "text/html",\n "text/markdown", "latex", "text/latex",\n "javascript", "application/javascript",\n "text", "text/plain"\n ];\n\n var render_display_data = function () {\n var o = this;\n var formats = nb.display_priority.filter(function (d) {\n return o.raw.data ? o.raw.data[d] : o.raw[d];\n });\n var format = formats[0];\n if (format) {\n if (nb.display[format]) {\n return nb.display[format](o.raw[format] || o.raw.data[format]);\n }\n }\n return makeElement("div", [ "empty-output" ]);\n };\n\n var render_error = function () {\n var el = makeElement("pre", [ "pyerr" ]);\n var raw = this.raw.traceback.join("\\n");\n el.innerHTML = nb.highlighter(nb.ansi(escapeHTML(raw)), el);\n return el;\n };\n\n nb.Output = function (raw, cell) {\n this.raw = raw;\n this.cell = cell;\n this.type = raw.output_type;\n };\n\n nb.Output.prototype.renderers = {\n "display_data": render_display_data,\n "execute_result": render_display_data,\n "pyout": render_display_data,\n "pyerr": render_error,\n "error": render_error,\n "stream": function () {\n var el = makeElement("pre", [ (this.raw.stream || this.raw.name) ]);\n var raw = joinText(this.raw.text);\n el.innerHTML = nb.highlighter(nb.ansi(escapeHTML(raw)), el);\n return el;\n }\n };\n\n nb.Output.prototype.render = function () {\n var outer = makeElement("div", [ "output" ]);\n if (typeof this.cell.number === "number") {\n outer.setAttribute("data-prompt-number", this.cell.number);\n }\n var inner = this.renderers[this.type].call(this);\n outer.appendChild(inner);\n this.el = outer;\n return outer;\n };\n\n // Post-processing\n nb.coalesceStreams = function (outputs) {\n if (!outputs.length) { return outputs; }\n var last = outputs[0];\n var new_outputs = [ last ];\n outputs.slice(1).forEach(function (o) {\n if (o.raw.output_type === "stream" &&\n last.raw.output_type === "stream" &&\n o.raw.stream === last.raw.stream &&\n o.raw.name === last.raw.name) {\n last.raw.text = last.raw.text.concat(o.raw.text);\n } else {\n new_outputs.push(o);\n last = o;\n }\n });\n return new_outputs;\n };\n\n // Cells\n nb.Cell = function (raw, worksheet) {\n var cell = this;\n cell.raw = raw;\n cell.worksheet = worksheet;\n cell.type = raw.cell_type;\n if (cell.type === "code") {\n cell.number = raw.prompt_number > -1 ? raw.prompt_number : raw.execution_count;\n var source = raw.input || [ raw.source ];\n cell.input = new nb.Input(source, cell);\n var raw_outputs = (cell.raw.outputs || []).map(function (o) {\n return new nb.Output(o, cell);\n });\n cell.outputs = nb.coalesceStreams(raw_outputs);\n }\n };\n\n var math_delimiters = [\n {left: "$$", right: "$$", display: true},\n {left: "\\\\[", right: "\\\\]", display: true},\n {left: "\\\\(", right: "\\\\)", display: false},\n {left: "$", right: "$", display: false}\n ];\n\n nb.Cell.prototype.renderers = {\n markdown: function () {\n var el = makeElement("div", [ "cell", "markdown-cell" ]);\n\n var joined = joinText(this.raw.source);\n\n // Pre-render math via KaTeX\'s auto-render extension, if available\n if (root.renderMathInElement != null) {\n el.innerHTML = nb.sanitizer(joined);\n root.renderMathInElement(el, { delimiters: math_delimiters });\n el.innerHTML = nb.sanitizer(nb.markdown(\n el.innerHTML\n .replace(/>/g, ">") // Necessary to enable blockquote syntax\n ));\n } else {\n el.innerHTML = nb.sanitizer(nb.markdown(joined));\n }\n\n return el;\n },\n heading: function () {\n var el = makeElement("h" + this.raw.level, [ "cell", "heading-cell" ]);\n el.innerHTML = nb.sanitizer(joinText(this.raw.source));\n return el;\n },\n raw: function () {\n var el = makeElement("div", [ "cell", "raw-cell" ]);\n el.innerHTML = escapeHTML(joinText(this.raw.source));\n return el;\n },\n code: function () {\n var cell_el = makeElement("div", [ "cell", "code-cell" ]);\n cell_el.appendChild(this.input.render());\n var output_els = this.outputs.forEach(function (o) {\n cell_el.appendChild(o.render());\n });\n return cell_el;\n }\n };\n\n nb.Cell.prototype.render = function () {\n var el = this.renderers[this.type].call(this);\n this.el = el;\n return el;\n };\n\n // Worksheets\n nb.Worksheet = function (raw, notebook) {\n var worksheet = this;\n this.raw = raw;\n this.notebook = notebook;\n this.cells = raw.cells.map(function (c) {\n return new nb.Cell(c, worksheet);\n });\n this.render = function () {\n var worksheet_el = makeElement("div", [ "worksheet" ]);\n worksheet.cells.forEach(function (c) {\n worksheet_el.appendChild(c.render());\n });\n this.el = worksheet_el;\n return worksheet_el;\n };\n };\n\n // Notebooks\n nb.Notebook = function (raw, config) {\n var notebook = this;\n this.raw = raw;\n this.config = config;\n var meta = this.metadata = raw.metadata || {};\n this.title = meta.title || meta.name;\n var _worksheets = raw.worksheets || [ { cells: raw.cells } ];\n this.worksheets = _worksheets.map(function (ws) {\n return new nb.Worksheet(ws, notebook);\n });\n this.sheet = this.worksheets[0];\n };\n\n nb.Notebook.prototype.render = function () {\n var notebook_el = makeElement("div", [ "notebook" ]);\n this.worksheets.forEach(function (w) {\n notebook_el.appendChild(w.render());\n });\n this.el = notebook_el;\n return notebook_el;\n };\n\n nb.parse = function (nbjson, config) {\n return new nb.Notebook(nbjson, config);\n };\n\n // Exports\n if (typeof define === \'function\' && define.amd) {\n define(function() {\n return nb;\n });\n }\n if (typeof exports !== \'undefined\') {\n if (typeof module !== \'undefined\' && module.exports) {\n exports = module.exports = nb;\n }\n exports.nb = nb;\n } else {\n root.nb = nb;\n }\n\n}).call(this);\n'
},
35666
:
function
(
e
){
var
t
=
function
(
e
){
"use strict"
;
var
t
,
r
=
Object
.
prototype
,
n
=
r
.
hasOwnProperty
,
o
=
Object
.
defineProperty
||
function
(
e
,
t
,
r
){
e
[
t
]
=
r
.
value
},
i
=
"function"
==
typeof
Symbol
?
Symbol
:
{},
a
=
i
.
iterator
||
"@@iterator"
,
s
=
i
.
asyncIterator
||
"@@asyncIterator"
,
c
=
i
.
toStringTag
||
"@@toStringTag"
;
function
u
(
e
,
t
,
r
){
return
Object
.
defineProperty
(
e
,
t
,{
value
:
r
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
}),
e
[
t
]}
try
{
u
({},
""
)}
catch
(
e
){
u
=
function
(
e
,
t
,
r
){
return
e
[
t
]
=
r
}}
function
l
(
e
,
t
,
r
,
n
){
var
i
=
t
&&
t
.
prototype
instanceof
m
?
t
:
m
,
a
=
Object
.
create
(
i
.
prototype
),
s
=
new
q
(
n
||
[]);
return
o
(
a
,
"_invoke"
,{
value
:
k
(
e
,
r
,
s
)}),
a
}
function
p
(
e
,
t
,
r
){
try
{
return
{
type
:
"normal"
,
arg
:
e
.
call
(
t
,
r
)}}
catch
(
e
){
return
{
type
:
"throw"
,
arg
:
e
}}}
e
.
wrap
=
l
;
var
d
=
"suspendedStart"
,
f
=
"executing"
,
h
=
"completed"
,
g
=
{};
function
m
(){}
function
b
(){}
function
y
(){}
var
v
=
{};
u
(
v
,
a
,(
function
(){
return
this
}));
var
_
=
Object
.
getPrototypeOf
,
w
=
_
&&
_
(
_
(
L
([])));
w
&&
w
!==
r
&&
n
.
call
(
w
,
a
)
&&
(
v
=
w
);
var
E
=
y
.
prototype
=
m
.
prototype
=
Object
.
create
(
v
);
function
x
(
e
){[
"next"
,
"throw"
,
"return"
].
forEach
((
function
(
t
){
u
(
e
,
t
,(
function
(
e
){
return
this
.
_invoke
(
t
,
e
)}))}))}
function
S
(
e
,
t
){
function
r
(
o
,
i
,
a
,
s
){
var
c
=
p
(
e
[
o
],
e
,
i
);
if
(
"throw"
!==
c
.
type
){
var
u
=
c
.
arg
,
l
=
u
.
value
;
return
l
&&
"object"
==
typeof
l
&&
n
.
call
(
l
,
"__await"
)
?
t
.
resolve
(
l
.
__await
).
then
((
function
(
e
){
r
(
"next"
,
e
,
a
,
s
)}),(
function
(
e
){
r
(
"throw"
,
e
,
a
,
s
)}))
:
t
.
resolve
(
l
).
then
((
function
(
e
){
u
.
value
=
e
,
a
(
u
)}),(
function
(
e
){
return
r
(
"throw"
,
e
,
a
,
s
)}))}
s
(
c
.
arg
)}
var
i
;
o
(
this
,
"_invoke"
,{
value
:
function
(
e
,
n
){
function
o
(){
return
new
t
((
function
(
t
,
o
){
r
(
e
,
n
,
t
,
o
)}))}
return
i
=
i
?
i
.
then
(
o
,
o
)
:
o
()}})}
function
k
(
e
,
t
,
r
){
var
n
=
d
;
return
function
(
o
,
i
){
if
(
n
===
f
)
throw
new
Error
(
"Generator is already running"
);
if
(
n
===
h
){
if
(
"throw"
===
o
)
throw
i
;
return
N
()}
for
(
r
.
method
=
o
,
r
.
arg
=
i
;;){
var
a
=
r
.
delegate
;
if
(
a
){
var
s
=
D
(
a
,
r
);
if
(
s
){
if
(
s
===
g
)
continue
;
return
s
}}
if
(
"next"
===
r
.
method
)
r
.
sent
=
r
.
_sent
=
r
.
arg
;
else
if
(
"throw"
===
r
.
method
){
if
(
n
===
d
)
throw
n
=
h
,
r
.
arg
;
r
.
dispatchException
(
r
.
arg
)}
else
"return"
===
r
.
method
&&
r
.
abrupt
(
"return"
,
r
.
arg
);
n
=
f
;
var
c
=
p
(
e
,
t
,
r
);
if
(
"normal"
===
c
.
type
){
if
(
n
=
r
.
done
?
h
:
"suspendedYield"
,
c
.
arg
===
g
)
continue
;
return
{
value
:
c
.
arg
,
done
:
r
.
done
}}
"throw"
===
c
.
type
&&
(
n
=
h
,
r
.
method
=
"throw"
,
r
.
arg
=
c
.
arg
)}}}
function
D
(
e
,
r
){
var
n
=
e
.
iterator
[
r
.
method
];
if
(
n
===
t
){
if
(
r
.
delegate
=
null
,
"throw"
===
r
.
method
){
if
(
e
.
iterator
.
return
&&
(
r
.
method
=
"return"
,
r
.
arg
=
t
,
D
(
e
,
r
),
"throw"
===
r
.
method
))
return
g
;
r
.
method
=
"throw"
,
r
.
arg
=
new
TypeError
(
"The iterator does not provide a 'throw' method"
)}
return
g
}
var
o
=
p
(
n
,
e
.
iterator
,
r
.
arg
);
if
(
"throw"
===
o
.
type
)
return
r
.
method
=
"throw"
,
r
.
arg
=
o
.
arg
,
r
.
delegate
=
null
,
g
;
var
i
=
o
.
arg
;
return
i
?
i
.
done
?
(
r
[
e
.
resultName
]
=
i
.
value
,
r
.
next
=
e
.
nextLoc
,
"return"
!==
r
.
method
&&
(
r
.
method
=
"next"
,
r
.
arg
=
t
),
r
.
delegate
=
null
,
g
)
:
i
:
(
r
.
method
=
"throw"
,
r
.
arg
=
new
TypeError
(
"iterator result is not an object"
),
r
.
delegate
=
null
,
g
)}
function
T
(
e
){
var
t
=
{
tryLoc
:
e
[
0
]};
1
in
e
&&
(
t
.
catchLoc
=
e
[
1
]),
2
in
e
&&
(
t
.
finallyLoc
=
e
[
2
],
t
.
afterLoc
=
e
[
3
]),
this
.
tryEntries
.
push
(
t
)}
function
A
(
e
){
var
t
=
e
.
completion
||
{};
t
.
type
=
"normal"
,
delete
t
.
arg
,
e
.
completion
=
t
}
function
q
(
e
){
this
.
tryEntries
=
[{
tryLoc
:
"root"
}],
e
.
forEach
(
T
,
this
),
this
.
reset
(
!
0
)}
function
L
(
e
){
if
(
e
){
var
r
=
e
[
a
];
if
(
r
)
return
r
.
call
(
e
);
if
(
"function"
==
typeof
e
.
next
)
return
e
;
if
(
!
isNaN
(
e
.
length
)){
var
o
=-
1
,
i
=
function
r
(){
for
(;
++
o
<
e
.
length
;)
if
(
n
.
call
(
e
,
o
))
return
r
.
value
=
e
[
o
],
r
.
done
=!
1
,
r
;
return
r
.
value
=
t
,
r
.
done
=!
0
,
r
};
return
i
.
next
=
i
}}
return
{
next
:
N
}}
function
N
(){
return
{
value
:
t
,
done
:!
0
}}
return
b
.
prototype
=
y
,
o
(
E
,
"constructor"
,{
value
:
y
,
configurable
:!
0
}),
o
(
y
,
"constructor"
,{
value
:
b
,
configurable
:!
0
}),
b
.
displayName
=
u
(
y
,
c
,
"GeneratorFunction"
),
e
.
isGeneratorFunction
=
function
(
e
){
var
t
=
"function"
==
typeof
e
&&
e
.
constructor
;
return
!!
t
&&
(
t
===
b
||
"GeneratorFunction"
===
(
t
.
displayName
||
t
.
name
))},
e
.
mark
=
function
(
e
){
return
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
y
)
:
(
e
.
__proto__
=
y
,
u
(
e
,
c
,
"GeneratorFunction"
)),
e
.
prototype
=
Object
.
create
(
E
),
e
},
e
.
awrap
=
function
(
e
){
return
{
__await
:
e
}},
x
(
S
.
prototype
),
u
(
S
.
prototype
,
s
,(
function
(){
return
this
})),
e
.
AsyncIterator
=
S
,
e
.
async
=
function
(
t
,
r
,
n
,
o
,
i
){
void
0
===
i
&&
(
i
=
Promise
);
var
a
=
new
S
(
l
(
t
,
r
,
n
,
o
),
i
);
return
e
.
isGeneratorFunction
(
r
)
?
a
:
a
.
next
().
then
((
function
(
e
){
return
e
.
done
?
e
.
value
:
a
.
next
()}))},
x
(
E
),
u
(
E
,
c
,
"Generator"
),
u
(
E
,
a
,(
function
(){
return
this
})),
u
(
E
,
"toString"
,(
function
(){
return
"[object Generator]"
})),
e
.
keys
=
function
(
e
){
var
t
=
Object
(
e
),
r
=
[];
for
(
var
n
in
t
)
r
.
push
(
n
);
return
r
.
reverse
(),
function
e
(){
for
(;
r
.
length
;){
var
n
=
r
.
pop
();
if
(
n
in
t
)
return
e
.
value
=
n
,
e
.
done
=!
1
,
e
}
return
e
.
done
=!
0
,
e
}},
e
.
values
=
L
,
q
.
prototype
=
{
constructor
:
q
,
reset
:
function
(
e
){
if
(
this
.
prev
=
0
,
this
.
next
=
0
,
this
.
sent
=
this
.
_sent
=
t
,
this
.
done
=!
1
,
this
.
delegate
=
null
,
this
.
method
=
"next"
,
this
.
arg
=
t
,
this
.
tryEntries
.
forEach
(
A
),
!
e
)
for
(
var
r
in
this
)
"t"
===
r
.
charAt
(
0
)
&&
n
.
call
(
this
,
r
)
&&!
isNaN
(
+
r
.
slice
(
1
))
&&
(
this
[
r
]
=
t
)},
stop
:
function
(){
this
.
done
=!
0
;
var
e
=
this
.
tryEntries
[
0
].
completion
;
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
this
.
rval
},
dispatchException
:
function
(
e
){
if
(
this
.
done
)
throw
e
;
var
r
=
this
;
function
o
(
n
,
o
){
return
s
.
type
=
"throw"
,
s
.
arg
=
e
,
r
.
next
=
n
,
o
&&
(
r
.
method
=
"next"
,
r
.
arg
=
t
),
!!
o
}
for
(
var
i
=
this
.
tryEntries
.
length
-
1
;
i
>=
0
;
--
i
){
var
a
=
this
.
tryEntries
[
i
],
s
=
a
.
completion
;
if
(
"root"
===
a
.
tryLoc
)
return
o
(
"end"
);
if
(
a
.
tryLoc
<=
this
.
prev
){
var
c
=
n
.
call
(
a
,
"catchLoc"
),
u
=
n
.
call
(
a
,
"finallyLoc"
);
if
(
c
&&
u
){
if
(
this
.
prev
<
a
.
catchLoc
)
return
o
(
a
.
catchLoc
,
!
0
);
if
(
this
.
prev
<
a
.
finallyLoc
)
return
o
(
a
.
finallyLoc
)}
else
if
(
c
){
if
(
this
.
prev
<
a
.
catchLoc
)
return
o
(
a
.
catchLoc
,
!
0
)}
else
{
if
(
!
u
)
throw
new
Error
(
"try statement without catch or finally"
);
if
(
this
.
prev
<
a
.
finallyLoc
)
return
o
(
a
.
finallyLoc
)}}}},
abrupt
:
function
(
e
,
t
){
for
(
var
r
=
this
.
tryEntries
.
length
-
1
;
r
>=
0
;
--
r
){
var
o
=
this
.
tryEntries
[
r
];
if
(
o
.
tryLoc
<=
this
.
prev
&&
n
.
call
(
o
,
"finallyLoc"
)
&&
this
.
prev
<
o
.
finallyLoc
){
var
i
=
o
;
break
}}
i
&&
(
"break"
===
e
||
"continue"
===
e
)
&&
i
.
tryLoc
<=
t
&&
t
<=
i
.
finallyLoc
&&
(
i
=
null
);
var
a
=
i
?
i
.
completion
:
{};
return
a
.
type
=
e
,
a
.
arg
=
t
,
i
?
(
this
.
method
=
"next"
,
this
.
next
=
i
.
finallyLoc
,
g
)
:
this
.
complete
(
a
)},
complete
:
function
(
e
,
t
){
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
"break"
===
e
.
type
||
"continue"
===
e
.
type
?
this
.
next
=
e
.
arg
:
"return"
===
e
.
type
?
(
this
.
rval
=
this
.
arg
=
e
.
arg
,
this
.
method
=
"return"
,
this
.
next
=
"end"
)
:
"normal"
===
e
.
type
&&
t
&&
(
this
.
next
=
t
),
g
},
finish
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
r
=
this
.
tryEntries
[
t
];
if
(
r
.
finallyLoc
===
e
)
return
this
.
complete
(
r
.
completion
,
r
.
afterLoc
),
A
(
r
),
g
}},
catch
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
r
=
this
.
tryEntries
[
t
];
if
(
r
.
tryLoc
===
e
){
var
n
=
r
.
completion
;
if
(
"throw"
===
n
.
type
){
var
o
=
n
.
arg
;
A
(
r
)}
return
o
}}
throw
new
Error
(
"illegal catch attempt"
)},
delegateYield
:
function
(
e
,
r
,
n
){
return
this
.
delegate
=
{
iterator
:
L
(
e
),
resultName
:
r
,
nextLoc
:
n
},
"next"
===
this
.
method
&&
(
this
.
arg
=
t
),
g
}},
e
}(
e
.
exports
);
try
{
regeneratorRuntime
=
t
}
catch
(
e
){
"object"
==
typeof
globalThis
?
globalThis
.
regeneratorRuntime
=
t
:
Function
(
"r"
,
"regeneratorRuntime = r"
)(
t
)}},
1701
:
function
(
e
){
"use strict"
;
function
t
(
e
){
return
e
.
replace
(
/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g
,
"\\$&"
)}
t
.
proto
=
function
(){
return
RegExp
.
escape
=
t
,
t
},
e
.
exports
=
t
},
69685
:
function
(
e
){
e
.
exports
=
function
(
e
){
function
t
(
e
){
"undefined"
!=
typeof
console
&&
(
console
.
error
||
console
.
log
)(
"[Script Loader]"
,
e
)}
try
{
"undefined"
!=
typeof
execScript
&&
"undefined"
!=
typeof
attachEvent
&&
"undefined"
==
typeof
addEventListener
?
execScript
(
e
)
:
"undefined"
!=
typeof
eval
?
eval
.
call
(
null
,
e
)
:
t
(
"EvalError: No eval function available"
)}
catch
(
e
){
t
(
e
)}}},
37755
:
function
(
e
,
t
,
r
){
r
(
69685
)(
r
(
52858
))},
15861
:
function
(
e
,
t
,
r
){
"use strict"
;
function
n
(
e
,
t
,
r
,
n
,
o
,
i
,
a
){
try
{
var
s
=
e
[
i
](
a
),
c
=
s
.
value
}
catch
(
e
){
return
void
r
(
e
)}
s
.
done
?
t
(
c
)
:
Promise
.
resolve
(
c
).
then
(
n
,
o
)}
function
o
(
e
){
return
function
(){
var
t
=
this
,
r
=
arguments
;
return
new
Promise
((
function
(
o
,
i
){
var
a
=
e
.
apply
(
t
,
r
);
function
s
(
e
){
n
(
a
,
o
,
i
,
s
,
c
,
"next"
,
e
)}
function
c
(
e
){
n
(
a
,
o
,
i
,
s
,
c
,
"throw"
,
e
)}
s
(
void
0
)}))}}
r
.
d
(
t
,{
Z
:
function
(){
return
o
}})},
31955
:
function
(
e
,
t
){
"use strict"
;
function
r
(
e
){
for
(
var
t
=
1
;
t
<
arguments
.
length
;
t
++
){
var
r
=
arguments
[
t
];
for
(
var
n
in
r
)
e
[
n
]
=
r
[
n
]}
return
e
}
var
n
=
function
e
(
t
,
n
){
function
o
(
e
,
o
,
i
){
if
(
"undefined"
!=
typeof
document
){
"number"
==
typeof
(
i
=
r
({},
n
,
i
)).
expires
&&
(
i
.
expires
=
new
Date
(
Date
.
now
()
+
864e5
*
i
.
expires
)),
i
.
expires
&&
(
i
.
expires
=
i
.
expires
.
toUTCString
()),
e
=
encodeURIComponent
(
e
).
replace
(
/%(2[346B]|5E|60|7C)/g
,
decodeURIComponent
).
replace
(
/[()]/g
,
escape
);
var
a
=
""
;
for
(
var
s
in
i
)
i
[
s
]
&&
(
a
+=
"; "
+
s
,
!
0
!==
i
[
s
]
&&
(
a
+=
"="
+
i
[
s
].
split
(
";"
)[
0
]));
return
document
.
cookie
=
e
+
"="
+
t
.
write
(
o
,
e
)
+
a
}}
return
Object
.
create
({
set
:
o
,
get
:
function
(
e
){
if
(
"undefined"
!=
typeof
document
&&
(
!
arguments
.
length
||
e
)){
for
(
var
r
=
document
.
cookie
?
document
.
cookie
.
split
(
"; "
)
:
[],
n
=
{},
o
=
0
;
o
<
r
.
length
;
o
++
){
var
i
=
r
[
o
].
split
(
"="
),
a
=
i
.
slice
(
1
).
join
(
"="
);
try
{
var
s
=
decodeURIComponent
(
i
[
0
]);
if
(
n
[
s
]
=
t
.
read
(
a
,
s
),
e
===
s
)
break
}
catch
(
e
){}}
return
e
?
n
[
e
]
:
n
}},
remove
:
function
(
e
,
t
){
o
(
e
,
""
,
r
({},
t
,{
expires
:-
1
}))},
withAttributes
:
function
(
t
){
return
e
(
this
.
converter
,
r
({},
this
.
attributes
,
t
))},
withConverter
:
function
(
t
){
return
e
(
r
({},
this
.
converter
,
t
),
this
.
attributes
)}},{
attributes
:
{
value
:
Object
.
freeze
(
n
)},
converter
:
{
value
:
Object
.
freeze
(
t
)}})}({
read
:
function
(
e
){
return
'"'
===
e
[
0
]
&&
(
e
=
e
.
slice
(
1
,
-
1
)),
e
.
replace
(
/(%[\dA-F]{2})+/gi
,
decodeURIComponent
)},
write
:
function
(
e
){
return
encodeURIComponent
(
e
).
replace
(
/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g
,
decodeURIComponent
)}},{
path
:
"/"
});
t
.
Z
=
n
}},
s
=
{};
function
c
(
e
){
var
t
=
s
[
e
];
if
(
void
0
!==
t
)
return
t
.
exports
;
var
r
=
s
[
e
]
=
{
id
:
e
,
loaded
:!
1
,
exports
:
{}};
return
a
[
e
].
call
(
r
.
exports
,
r
,
r
.
exports
,
c
),
r
.
loaded
=!
0
,
r
.
exports
}
c
.
m
=
a
,
c
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}
:
function
(){
return
e
};
return
c
.
d
(
t
,{
a
:
t
}),
t
},
t
=
Object
.
getPrototypeOf
?
function
(
e
){
return
Object
.
getPrototypeOf
(
e
)}
:
function
(
e
){
return
e
.
__proto__
},
c
.
t
=
function
(
r
,
n
){
if
(
1
&
n
&&
(
r
=
this
(
r
)),
8
&
n
)
return
r
;
if
(
"object"
==
typeof
r
&&
r
){
if
(
4
&
n
&&
r
.
__esModule
)
return
r
;
if
(
16
&
n
&&
"function"
==
typeof
r
.
then
)
return
r
}
var
o
=
Object
.
create
(
null
);
c
.
r
(
o
);
var
i
=
{};
e
=
e
||
[
null
,
t
({}),
t
([]),
t
(
t
)];
for
(
var
a
=
2
&
n
&&
r
;
"object"
==
typeof
a
&&!~
e
.
indexOf
(
a
);
a
=
t
(
a
))
Object
.
getOwnPropertyNames
(
a
).
forEach
((
function
(
e
){
i
[
e
]
=
function
(){
return
r
[
e
]}}));
return
i
.
default
=
function
(){
return
r
},
c
.
d
(
o
,
i
),
o
},
c
.
d
=
function
(
e
,
t
){
for
(
var
r
in
t
)
c
.
o
(
t
,
r
)
&&!
c
.
o
(
e
,
r
)
&&
Object
.
defineProperty
(
e
,
r
,{
enumerable
:!
0
,
get
:
t
[
r
]})},
c
.
f
=
{},
c
.
e
=
function
(
e
){
return
Promise
.
all
(
Object
.
keys
(
c
.
f
).
reduce
((
function
(
t
,
r
){
return
c
.
f
[
r
](
e
,
t
),
t
}),[]))},
c
.
u
=
function
(
e
){
return
"js/"
+
{
46
:
"org"
,
399
:
"highlightjs"
,
509
:
"pdfjs"
,
522
:
"showdown"
,
684
:
"mathjax"
,
891
:
"d3"
}[
e
]
+
"."
+
{
46
:
"9adc9a39a210c2fb4be0"
,
399
:
"ea9ab9de27a6e276ec47"
,
509
:
"9e0f3974fef1477cda42"
,
522
:
"b448e42a34c43d6a7de5"
,
684
:
"8052aaae7f18c4bbf50f"
,
891
:
"9a0d48ae00854a5a1b5d"
}[
e
]
+
".js"
},
c
.
miniCssF
=
function
(
e
){
return
"css/"
+
{
46
:
"org"
,
399
:
"highlightjs"
,
522
:
"showdown"
}[
e
]
+
"."
+
{
46
:
"6851b70c924e28f6bf51"
,
399
:
"ae43064ab38a65a04d81"
,
522
:
"426fbf6a7a6653fd4cbb"
}[
e
]
+
".css"
},
c
.
g
=
function
(){
if
(
"object"
==
typeof
globalThis
)
return
globalThis
;
try
{
return
this
||
new
Function
(
"return this"
)()}
catch
(
e
){
if
(
"object"
==
typeof
window
)
return
window
}}(),
c
.
hmd
=
function
(
e
){
return
(
e
=
Object
.
create
(
e
)).
children
||
(
e
.
children
=
[]),
Object
.
defineProperty
(
e
,
"exports"
,{
enumerable
:!
0
,
set
:
function
(){
throw
new
Error
(
"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "
+
e
.
id
)}}),
e
},
c
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
r
=
{},
n
=
"swh:"
,
c
.
l
=
function
(
e
,
t
,
o
,
i
){
if
(
r
[
e
])
r
[
e
].
push
(
t
);
else
{
var
a
,
s
;
if
(
void
0
!==
o
)
for
(
var
u
=
document
.
getElementsByTagName
(
"script"
),
l
=
0
;
l
<
u
.
length
;
l
++
){
var
p
=
u
[
l
];
if
(
p
.
getAttribute
(
"src"
)
==
e
||
p
.
getAttribute
(
"data-webpack"
)
==
n
+
o
){
a
=
p
;
break
}}
a
||
(
s
=!
0
,(
a
=
document
.
createElement
(
"script"
)).
charset
=
"utf-8"
,
a
.
timeout
=
120
,
c
.
nc
&&
a
.
setAttribute
(
"nonce"
,
c
.
nc
),
a
.
setAttribute
(
"data-webpack"
,
n
+
o
),
a
.
src
=
e
),
r
[
e
]
=
[
t
];
var
d
=
function
(
t
,
n
){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
o
=
r
[
e
];
if
(
delete
r
[
e
],
a
.
parentNode
&&
a
.
parentNode
.
removeChild
(
a
),
o
&&
o
.
forEach
((
function
(
e
){
return
e
(
n
)})),
t
)
return
t
(
n
)},
f
=
setTimeout
(
d
.
bind
(
null
,
void
0
,{
type
:
"timeout"
,
target
:
a
}),
12e4
);
a
.
onerror
=
d
.
bind
(
null
,
a
.
onerror
),
a
.
onload
=
d
.
bind
(
null
,
a
.
onload
),
s
&&
document
.
head
.
appendChild
(
a
)}},
c
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:!
0
})},
c
.
nmd
=
function
(
e
){
return
e
.
paths
=
[],
e
.
children
||
(
e
.
children
=
[]),
e
},
c
.
p
=
"/static/"
,
o
=
function
(
e
){
return
new
Promise
((
function
(
t
,
r
){
var
n
=
c
.
miniCssF
(
e
),
o
=
c
.
p
+
n
;
if
(
function
(
e
,
t
){
for
(
var
r
=
document
.
getElementsByTagName
(
"link"
),
n
=
0
;
n
<
r
.
length
;
n
++
){
var
o
=
(
a
=
r
[
n
]).
getAttribute
(
"data-href"
)
||
a
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
a
.
rel
&&
(
o
===
e
||
o
===
t
))
return
a
}
var
i
=
document
.
getElementsByTagName
(
"style"
);
for
(
n
=
0
;
n
<
i
.
length
;
n
++
){
var
a
;
if
((
o
=
(
a
=
i
[
n
]).
getAttribute
(
"data-href"
))
===
e
||
o
===
t
)
return
a
}}(
n
,
o
))
return
t
();
!
function
(
e
,
t
,
r
,
n
){
var
o
=
document
.
createElement
(
"link"
);
o
.
rel
=
"stylesheet"
,
o
.
type
=
"text/css"
,
o
.
onerror
=
o
.
onload
=
function
(
i
){
if
(
o
.
onerror
=
o
.
onload
=
null
,
"load"
===
i
.
type
)
r
();
else
{
var
a
=
i
&&
(
"load"
===
i
.
type
?
"missing"
:
i
.
type
),
s
=
i
&&
i
.
target
&&
i
.
target
.
href
||
t
,
c
=
new
Error
(
"Loading CSS chunk "
+
e
+
" failed.\n("
+
s
+
")"
);
c
.
code
=
"CSS_CHUNK_LOAD_FAILED"
,
c
.
type
=
a
,
c
.
request
=
s
,
o
.
parentNode
.
removeChild
(
o
),
n
(
c
)}},
o
.
href
=
t
,
document
.
head
.
appendChild
(
o
)}(
e
,
o
,
t
,
r
)}))},
i
=
{
836
:
0
},
c
.
f
.
miniCss
=
function
(
e
,
t
){
i
[
e
]
?
t
.
push
(
i
[
e
])
:
0
!==
i
[
e
]
&&
{
46
:
1
,
399
:
1
,
522
:
1
}[
e
]
&&
t
.
push
(
i
[
e
]
=
o
(
e
).
then
((
function
(){
i
[
e
]
=
0
}),(
function
(
t
){
throw
delete
i
[
e
],
t
})))},
function
(){
var
e
=
{
836
:
0
};
c
.
f
.
j
=
function
(
t
,
r
){
var
n
=
c
.
o
(
e
,
t
)
?
e
[
t
]
:
void
0
;
if
(
0
!==
n
)
if
(
n
)
r
.
push
(
n
[
2
]);
else
{
var
o
=
new
Promise
((
function
(
r
,
o
){
n
=
e
[
t
]
=
[
r
,
o
]}));
r
.
push
(
n
[
2
]
=
o
);
var
i
=
c
.
p
+
c
.
u
(
t
),
a
=
new
Error
;
c
.
l
(
i
,(
function
(
r
){
if
(
c
.
o
(
e
,
t
)
&&
(
0
!==
(
n
=
e
[
t
])
&&
(
e
[
t
]
=
void
0
),
n
)){
var
o
=
r
&&
(
"load"
===
r
.
type
?
"missing"
:
r
.
type
),
i
=
r
&&
r
.
target
&&
r
.
target
.
src
;
a
.
message
=
"Loading chunk "
+
t
+
" failed.\n("
+
o
+
": "
+
i
+
")"
,
a
.
name
=
"ChunkLoadError"
,
a
.
type
=
o
,
a
.
request
=
i
,
n
[
1
](
a
)}}),
"chunk-"
+
t
,
t
)}};
var
t
=
function
(
t
,
r
){
var
n
,
o
,
i
=
r
[
0
],
a
=
r
[
1
],
s
=
r
[
2
],
u
=
0
;
if
(
i
.
some
((
function
(
t
){
return
0
!==
e
[
t
]}))){
for
(
n
in
a
)
c
.
o
(
a
,
n
)
&&
(
c
.
m
[
n
]
=
a
[
n
]);
if
(
s
)
s
(
c
)}
for
(
t
&&
t
(
r
);
u
<
i
.
length
;
u
++
)
o
=
i
[
u
],
c
.
o
(
e
,
o
)
&&
e
[
o
]
&&
e
[
o
][
0
](),
e
[
o
]
=
0
},
r
=
self
.
webpackChunkswh
=
self
.
webpackChunkswh
||
[];
r
.
forEach
(
t
.
bind
(
null
,
0
)),
r
.
push
=
t
.
bind
(
null
,
r
.
push
.
bind
(
r
))}();
var
u
,
l
=
{};
return
(
u
=
"undefined"
!=
typeof
window
?
window
:
void
0
!==
c
.
g
?
c
.
g
:
"undefined"
!=
typeof
self
?
self
:
{}).
SENTRY_RELEASE
=
{
id
:
"0.2.6"
},
u
.
SENTRY_RELEASES
=
u
.
SENTRY_RELEASES
||
{},
u
.
SENTRY_RELEASES
[
"swh-webapp@swh"
]
=
{
id
:
"0.2.6"
},
function
(){
"use strict"
;
c
.
r
(
l
),
c
.
d
(
l
,{
addJumpToPagePopoverToDataTable
:
function
(){
return
p
.
yK
},
drawHistoryCounterGraph
:
function
(){
return
r
.
q
},
filterXSS
:
function
(){
return
d
.
U
},
fullWidthToggled
:
function
(){
return
p
.
cK
},
getBrowsedSwhObjectMetadata
:
function
(){
return
p
.
jy
},
getSwhIdsContext
:
function
(){
return
p
.
IS
},
getSwhObjectIcon
:
function
(){
return
p
.
NU
},
highlightCode
:
function
(){
return
t
.
xw
},
highlightLine
:
function
(){
return
t
.
KC
},
highlightLines
:
function
(){
return
t
.
RI
},
initHomePage
:
function
(){
return
p
.
Ht
},
initPage
:
function
(){
return
p
.
df
},
initStatusWidget
:
function
(){
return
u
.
N
},
isUserLoggedIn
:
function
(){
return
p
.
Pc
},
renderMarkdown
:
function
(){
return
a
.
ap
},
renderNotebook
:
function
(){
return
o
.
Q
},
renderOrg
:
function
(){
return
a
.
EK
},
renderOrgData
:
function
(){
return
a
.
Le
},
renderPdf
:
function
(){
return
i
.
T
},
renderTxt
:
function
(){
return
a
.
BV
},
resetHighlightedLines
:
function
(){
return
t
.
Xm
},
scrollToLine
:
function
(){
return
t
.
IG
},
sentryCaptureException
:
function
(){
return
s
.
p
},
sentryInit
:
function
(){
return
s
.
D
},
setBrowsedSwhObjectMetadata
:
function
(){
return
p
.
cL
},
setContainerFullWidth
:
function
(){
return
p
.
Xn
},
setSwhIdsContext
:
function
(){
return
p
.
Wn
},
setSwhObjectIcons
:
function
(){
return
p
.
Wd
},
showBadgeInfoModal
:
function
(){
return
e
.
h
},
showModalConfirm
:
function
(){
return
p
.
E7
},
showModalHtml
:
function
(){
return
p
.
lz
},
showModalMessage
:
function
(){
return
p
.
ng
},
typesetMath
:
function
(){
return
n
.
d
},
validateSWHIDInput
:
function
(){
return
p
.
px
}});
var
e
=
c
(
95786
),
t
=
c
(
12988
),
r
=
c
(
4556
),
n
=
c
(
59244
),
o
=
c
(
56493
),
i
=
c
(
75975
),
a
=
c
(
52560
),
s
=
c
(
27341
),
u
=
c
(
92292
),
p
=
c
(
21931
),
d
=
c
(
44682
)}(),
l
}()}));
//# sourceMappingURL=webapp.0733a6627b287de8a4ed.js.map
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 4, 7:23 PM (5 d, 7 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3372854
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment