15 KiB
15 KiB
<html><head>
<script>
(function () {
var JSON;
return (
JSON || (JSON = {}),
(function () {
'use strict';
function f(e) {
return e < 10 ? '0' + e : e;
}
function quote(e) {
return (
(escapable.lastIndex = 0),
escapable.test(e)
? '"' +
e.replace(escapable, function (e) {
var t = meta[e];
return typeof t == 'string'
? t
: '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
}) +
'"'
: '"' + e + '"'
);
}
function str(e, t) {
var n,
r,
i,
s,
o = gap,
u,
a = t[e];
a && typeof a == 'object' && typeof a.toJSON == 'function' && (a = a.toJSON(e)),
typeof rep == 'function' && (a = rep.call(t, e, a));
switch (typeof a) {
case 'string':
return quote(a);
case 'number':
return isFinite(a) ? String(a) : 'null';
case 'boolean':
case 'null':
return String(a);
case 'object':
if (!a) return 'null';
(gap += indent), (u = []);
if (Object.prototype.toString.apply(a) === '[object Array]') {
s = a.length;
for (n = 0; n < s; n += 1) u[n] = str(n, a) || 'null';
return (
(i =
u.length === 0
? '[]'
: gap
? '[\n' + gap + u.join(',\n' + gap) + '\n' + o + ']'
: '[' + u.join(',') + ']'),
(gap = o),
i
);
}
if (rep && typeof rep == 'object') {
s = rep.length;
for (n = 0; n < s; n += 1)
typeof rep[n] == 'string' &&
((r = rep[n]),
(i = str(r, a)),
i && u.push(quote(r) + (gap ? ': ' : ':') + i));
} else
for (r in a)
Object.prototype.hasOwnProperty.call(a, r) &&
((i = str(r, a)), i && u.push(quote(r) + (gap ? ': ' : ':') + i));
return (
(i =
u.length === 0
? '{}'
: gap
? '{\n' + gap + u.join(',\n' + gap) + '\n' + o + '}'
: '{' + u.join(',') + '}'),
(gap = o),
i
);
}
}
typeof Date.prototype.toJSON != 'function' &&
((Date.prototype.toJSON = function (e) {
return isFinite(this.valueOf())
? this.getUTCFullYear() +
'-' +
f(this.getUTCMonth() + 1) +
'-' +
f(this.getUTCDate()) +
'T' +
f(this.getUTCHours()) +
':' +
f(this.getUTCMinutes()) +
':' +
f(this.getUTCSeconds()) +
'Z'
: null;
}),
(String.prototype.toJSON =
Number.prototype.toJSON =
Boolean.prototype.toJSON =
function (e) {
return this.valueOf();
}));
var cx =
/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
escapable =
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
gap,
indent,
meta = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"': '\\"',
'\\': '\\\\',
},
rep;
typeof JSON.stringify != 'function' &&
(JSON.stringify = function (e, t, n) {
var r;
(gap = ''), (indent = '');
if (typeof n == 'number') for (r = 0; r < n; r += 1) indent += ' ';
else typeof n == 'string' && (indent = n);
rep = t;
if (
!t ||
typeof t == 'function' ||
(typeof t == 'object' && typeof t.length == 'number')
)
return str('', { '': e });
throw new Error('JSON.stringify');
}),
typeof JSON.parse != 'function' &&
(JSON.parse = function (text, reviver) {
function walk(e, t) {
var n,
r,
i = e[t];
if (i && typeof i == 'object')
for (n in i)
Object.prototype.hasOwnProperty.call(i, n) &&
((r = walk(i, n)), r !== undefined ? (i[n] = r) : delete i[n]);
return reviver.call(e, t, i);
}
var j;
(text = String(text)),
(cx.lastIndex = 0),
cx.test(text) &&
(text = text.replace(cx, function (e) {
return '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
}));
if (
/^[\],:{}\s]*$/.test(
text
.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
.replace(
/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
']',
)
.replace(/(?:^|:|,)(?:\s*\[)+/g, ''),
)
)
return (
(j = eval('(' + text + ')')),
typeof reviver == 'function' ? walk({ '': j }, '') : j
);
throw new SyntaxError('JSON.parse');
});
})(),
(this.JSON = JSON)
);
})();
(function () {
function a() {
try {
return i in n && n[i];
} catch (e) {
return !1;
}
}
function f() {
try {
return s in n && n[s] && n[s][n.location.hostname];
} catch (e) {
return !1;
}
}
var e = {},
n = window,
r = n.document,
i = 'localStorage',
s = 'globalStorage',
o = '__storejs__',
u;
(e.disabled = !1),
(e.set = function (e, t) {}),
(e.get = function (e) {}),
(e.remove = function (e) {}),
(e.clear = function () {}),
(e.transact = function (t, n, r) {
var i = e.get(t);
r == null && ((r = n), (n = null)),
typeof i == 'undefined' && (i = n || {}),
r(i),
e.set(t, i);
}),
(e.getAll = function () {}),
(e.serialize = function (e) {
return JSON.stringify(e);
}),
(e.deserialize = function (e) {
if (typeof e != 'string') return undefined;
try {
return JSON.parse(e);
} catch (t) {
return e || undefined;
}
});
if (a())
(u = n[i]),
(e.set = function (t, n) {
return n === undefined ? e.remove(t) : (u.setItem(t, e.serialize(n)), n);
}),
(e.get = function (t) {
return e.deserialize(u.getItem(t));
}),
(e.remove = function (e) {
u.removeItem(e);
}),
(e.clear = function () {
u.clear();
}),
(e.getAll = function () {
var t = {};
for (var n = 0; n < u.length; ++n) {
var r = u.key(n);
t[r] = e.get(r);
}
return t;
});
else if (f())
(u = n[s][n.location.hostname]),
(e.set = function (t, n) {
return n === undefined ? e.remove(t) : ((u[t] = e.serialize(n)), n);
}),
(e.get = function (t) {
return e.deserialize(u[t] && u[t].value);
}),
(e.remove = function (e) {
delete u[e];
}),
(e.clear = function () {
for (var e in u) delete u[e];
}),
(e.getAll = function () {
var t = {};
for (var n = 0; n < u.length; ++n) {
var r = u.key(n);
t[r] = e.get(r);
}
return t;
});
else if (r.documentElement.addBehavior) {
var l, c;
try {
(c = new ActiveXObject('htmlfile')),
c.open(),
c.write(
'document.w=window