Array.prototype.______array="______array";var JSON={org:"http://www.JSON.org",copyright:"(c)2005 JSON.org",license:"http://www.crockford.com/JSON/license.html",stringify:function(b){var d,c,f,a="",e;switch(typeof b){case"object":if(b)if(b.______array=="______array"){for(c=0;c<b.length;++c){e=this.stringify(b[c]);if(a)a+=",";a+=e}return"["+a+"]"}else if(typeof b.toString!="undefined"){for(c in b){e=b[c];if(typeof e!="undefined"&&typeof e!="function"){e=this.stringify(e);if(a)a+=",";a+=this.stringify(c)+":"+e}}return"{"+a+"}"}return"null";case"number":return isFinite(b)?String(b):"null";case"string":f=b.length;a='"';for(c=0;c<f;c+=1){d=b.charAt(c);if(d>=" "){if(d=="\\"||d=='"')a+="\\";a+=d}else switch(d){case"\b":a+="\\b";break;case"\f":a+="\\f";break;case"\n":a+="\\n";break;case"\r":a+="\\r";break;case"\t":a+="\\t";break;default:d=d.charCodeAt();a+="\\u00"+Math.floor(d/16).toString(16)+(d%16).toString(16)}}return a+'"';case"boolean":return String(b);default:return"null"}},parse:function(g){var f=0,a=" ";function d(a){throw{name:"JSONError",message:a,at:f-1,text:g};}function b(){a=g.charAt(f);f+=1;return a}function c(){while(a!=""&&a<=" ")b()}function i(){var f,c="",g,e;if(a=='"')a:while(b())if(a=='"'){b();return c}else if(a=="\\")switch(b()){case"b":c+="\b";break;case"f":c+="\f";break;case"n":c+="\n";break;case"r":c+="\r";break;case"t":c+="\t";break;case"u":e=0;for(f=0;f<4;f+=1){g=parseInt(b(),16);if(!isFinite(g))break a;e=e*16+g}c+=String.fromCharCode(e);break;default:c+=a}else c+=a;d("Bad string")}function k(){var f=[];if(a=="["){b();c();if(a=="]"){b();return f}while(a){f.push(e());c();if(a=="]"){b();return f}else if(a!=",")break;b();c()}}d("Bad array")}function l(){var g,f={};if(a=="{"){b();c();if(a=="}"){b();return f}while(a){g=i();c();if(a!=":")break;b();f[g]=e();c();if(a=="}"){b();return f}else if(a!=",")break;b();c()}}d("Bad object")}function h(){var c="",e;if(a=="-"){c="-";b()}while(a>="0"&&a<="9"){c+=a;b()}if(a=="."){c+=".";while(b()&&a>="0"&&a<="9")c+=a}if(a=="e"||a=="E"){c+="e";b();if(a=="-"||a=="+"){c+=a;b()}while(a>="0"&&a<="9"){c+=a;b()}}e=+c;if(!isFinite(e))d("Bad number");else return e}function j(){switch(a){case"t":if(b()=="r"&&b()=="u"&&b()=="e"){b();return true}break;case"f":if(b()=="a"&&b()=="l"&&b()=="s"&&b()=="e"){b();return false}break;case"n":if(b()=="u"&&b()=="l"&&b()=="l"){b();return null}}d("Syntax error")}function e(){c();switch(a){case"{":return l();case"[":return k();case'"':return i();case"-":return h();default:return a>="0"&&a<="9"?h():j()}}return e()}}
