﻿if (!this.JSON) {JSON = function () {function f(n) {return n < 10 ? '0' + n : n;}Date.prototype.toJSON = function () {return this.getUTCFullYear()   + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate())      + 'T' + f(this.getUTCHours())     + ':' + f(this.getUTCMinutes())   + ':' + f(this.getUTCSeconds())   + 'Z';};var m = {'\b': '\\b','\t': '\\t','\n': '\\n','\f': '\\f','\r': '\\r','"' : '\\"','\\': '\\\\'};function stringify(value, whitelist) {
var a,i,k,l,r = /["\\\x00-\x1f\x7f-\x9f]/g,v;
switch (typeof value) {case 'string':return r.test(value) ?'"' + value.replace(r, function (a) {var c = m[a];if (c) {return c;}c = a.charCodeAt();return '\\u00' + Math.floor(c / 16).toString(16) +(c % 16).toString(16);}) + '"' :'"' + value + '"';case 'number':return isFinite(value) ? String(value) : 'null';case 'boolean':case 'null':return String(value);case 'object':if (!value) {return 'null';}if (typeof value.toJSON === 'function') {return stringify(value.toJSON());}a = [];if (typeof value.length === 'number' &&!(value.propertyIsEnumerable('length'))) {l = value.length;for (i = 0; i < l; i += 1) {a.push(stringify(value[i], whitelist) || 'null');}return '[' + a.join(',') + ']';}if (whitelist) {l = whitelist.length;for (i = 0; i < l; i += 1) {k = whitelist[i];if (typeof k === 'string') {v = stringify(value[k], whitelist);if (v) {a.push(stringify(k) + ':' + v);}}}} else {for (k in value) {if (typeof k === 'string') {v = stringify(value[k], whitelist);if (v) {a.push(stringify(k) + ':' + v);}}}}return '{' + a.join(',') + '}';}}return {stringify: stringify,parse: function (text, filter) {var j;function walk(k, v) {var i, n;if (v && typeof v === 'object') {for (i in v) {if (Object.prototype.hasOwnProperty.apply(v, [i])) {n = walk(i, v[i]);if (n !== undefined) {v[i] = n;}}}}return filter(k, v);}
if (/^[\],:{}\s]*$/.test(text.replace(/\\./g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(:?[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
j = eval('(' + text + ')');return typeof filter === 'function' ? walk('', j) : j;}throw new SyntaxError('parseJSON');}};}();}