var f=this,aa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};Math.random();var k=function(a,b){var c=a.split("."),d=f;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b},m=function(a,b){function c(){}c.prototype=b.prototype;a.n=b.prototype;a.prototype=new c;a.m=function(a,c,g){for(var l=Array(arguments.length-2),h=2;h<arguments.length;h++)l[h-2]=arguments[h];return b.prototype[c].apply(a,l)}};var n=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};m(n,Error);var ba=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},q=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},t=function(a,b){return a<b?-1:a>b?1:0};Math.random();var u=function(a,b){b.unshift(a);n.call(this,ba.apply(null,b));b.shift()};m(u,n);var w=function(a,b,c){if(!a){var d="Assertion failed";if(b)var d=d+(": "+b),e=Array.prototype.slice.call(arguments,2);throw new u(""+d,e||[]);}};var x;i:{var y=f.navigator;if(y){var z=y.userAgent;if(z){x=z;break i}}x=""};var ca=-1!=x.indexOf("Opera")||-1!=x.indexOf("OPR"),A=-1!=x.indexOf("Trident")||-1!=x.indexOf("MSIE"),B=-1!=x.indexOf("Gecko")&&-1==x.toLowerCase().indexOf("webkit")&&!(-1!=x.indexOf("Trident")||-1!=x.indexOf("MSIE")),C=-1!=x.toLowerCase().indexOf("webkit"),da=C&&-1!=x.indexOf("Mobile"),E=function(){var a=f.document;return a?a.documentMode:void 0},F=function(){var a="",b;if(ca&&f.opera)return a=f.opera.version,"function"==aa(a)?a():a;B?b=/rv\:([^\);]+)(\)|;)/:A?b=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:
C&&(b=/WebKit\/(\S+)/);b&&(a=(a=b.exec(x))?a[1]:"");return A&&(b=E(),b>parseFloat(a))?String(b):a}(),G={},H=function(a){if(!G[a]){for(var b=0,c=q(String(F)).split("."),d=q(String(a)).split("."),e=Math.max(c.length,d.length),g=0;0==b&&g<e;g++){var l=c[g]||"",h=d[g]||"",p=RegExp("(\\d*)(\\D*)","g"),D=RegExp("(\\d*)(\\D*)","g");do{var r=p.exec(l)||["","",""],v=D.exec(h)||["","",""];if(0==r[0].length&&0==v[0].length)break;b=t(0==r[1].length?0:parseInt(r[1],10),0==v[1].length?0:parseInt(v[1],10))||t(0==
r[2].length,0==v[2].length)||t(r[2],v[2])}while(0==b)}G[a]=0<=b}},I=f.document,ea=I&&A?E()||("CSS1Compat"==I.compatMode?parseInt(F,10):5):void 0;var J;if(!(J=!B&&!A)){var K;if(K=A)K=A&&9<=ea;J=K}J||B&&H("1.9.1");A&&H("9");var L;L=!1;var M=x;M&&(-1!=M.indexOf("Firefox")||-1!=M.indexOf("Camino")||-1!=M.indexOf("iPad")||-1!=M.indexOf("iPhone")||-1!=M.indexOf("iPod")||-1!=M.indexOf("Chrome")||-1!=M.indexOf("Android")||-1!=M.indexOf("Safari")&&(L=!0));var fa=L;var O=function(a){var b=window;if(da&&fa&&b){b.focus();var c=0,d=null,d=b.setInterval(function(){a.closed||5==c?(b.clearInterval(d),N(a)):(a.close(),c++)},150)}else a.close(),N(a)},N=function(a){if(!a.closed&&a.document&&a.document.body)if(a=a.document.body,w(null!=a,"goog.dom.setTextContent expects a non-null value for node"),"textContent"in a)a.textContent="Please close this window.";else if(3==a.nodeType)a.data="Please close this window.";else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=
a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data="Please close this window."}else{for(var b;b=a.firstChild;)a.removeChild(b);w(a,"Node cannot be null or undefined.");a.appendChild((9==a.nodeType?a:a.ownerDocument||a.document).createTextNode("Please close this window."))}};var P,Q=function(a){a=a||[];for(var b=[],c=0,d=a.length;c<d;++c){var e=String(a[c]||"");e&&b.push(e)}if(!b.length)return null;P?P.reset.call(P):P=shindig.sha1();P.update.call(P,b.join(" "));return P.digestString.call(P).toLowerCase()},R=function(a,b,c){this.i=String(a||"");this.e=String(b||"");this.a=String(c||"");this.d={};this.g=this.k=this.f=this.h="";this.c=null};
R.prototype.evaluate=function(){var a={},b="";try{b=String(document.cookie||"")}catch(c){}for(var b=b.split("; ").join(";").split(";"),d=0,e=b.length;d<e;++d){var g=b[d],l=g.indexOf("=");-1!=l?a[g.substr(0,l)]=g.substr(l+1):a[g]=null}this.d=a;if(this.d.SID)if(this.e=this.e.split(".")[0].split("@")[0],a="",a=0==this.i.indexOf("https://")?"SAPISID":"APISID",this.f=String(this.d[a]||""))if(a="",a=0==gadgets.rpc.getOrigin(String(window.location.href)).indexOf("https://")?"SAPISID":"APISID",this.h=String(this.d[a]||
"")){b=String(this.d.LSOLH||"").split(":");d=b.length;if(1==d||4==d)this.k=b[0];if(3==d||4==d)a=String(b[d-3]||""),b=String(b[d-1]||""),(d=Q([a,this.h]).substr(0,4))&&d==b&&(this.g=a);this.a&&(a=this.a.indexOf("."),-1!=a&&(a=this.a.substr(0,a)||"",this.a=a+"."+Q([this.f,this.i,this.e,this.k,this.g,a]).substr(0,4)));a=Q([this.f,this.i,this.e,this.a]);this.a&&(a=a+"."+this.a);this.c=a}else this.c="";else this.c=""};
var ga=function(a,b,c){a=new R(a,b,c);a.evaluate();return a},S=function(a,b,c){c=c||ha(this);var d=null;if(a){a=String(a);var e=a.indexOf(".");-1!=e&&(d=a.substr(e+1))}b=ga(c,b,d).c;if(null==a||""==a)a=b==a;else if(null==b||b.length!=a.length)a=!1;else{d=c=0;for(e=a.length;d<e;++d)c|=a.charCodeAt(d)^b.charCodeAt(d);a=0==c}return a},T=function(a,b,c){c=c||ha(this);c=ga(c);if(String(a)!=c.c)throw Error("Unauthorized request");b=String(b);a=parseInt(b,10);String(a)==b&&0<=a?(b=c.g)?(b=b.split("|"),a=
b.length<=a?null:b[a]||null):a=null:a=null;return a},ha=function(a){a=String(a.origin||"");if(!a)throw Error("RPC has no origin.");return a};k("checkSessionState",S);k("getVersionInfo",T);var U,V,W,X,Y,Z,ia=window,ja=(window.location.href||ia.location.href).match(/.*(\?|#|&)usegapi=([^&#]+)/)||[];
"1"===decodeURIComponent(ja[ja.length-1]||"")?(W=function(a,b,c,d,e,g){U.send(b,e,d,g||gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)},X=function(a,b){U.register(a,b,gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)},Y=function(a){var b=/^(?:https?:\/\/)?[0-9.\-A-Za-z]+(?::\d+)?/.exec(a),b=gapi.iframes.makeWhiteListIframesFilter([b?b[0]:null]);W("..","oauth2callback",gadgets.rpc.getAuthToken(".."),void 0,a,b)},V=function(){ka()},Z=function(){W("..","oauth2relayReady",gadgets.rpc.getAuthToken(".."));X("check_session_state",
la);X("get_versioninfo",ma)}):(W=function(a,b,c,d,e){gadgets.rpc.call(a,b+":"+c,d,e)},X=function(a,b){gadgets.rpc.register(a,b)},Y=function(a){gadgets.rpc.getTargetOrigin("..")==gadgets.rpc.getOrigin(a)&&W("..","oauth2callback",gadgets.rpc.getAuthToken(".."),void 0,a)},V=function(){Z()},Z=function(){W("..","oauth2relayReady",gadgets.rpc.getAuthToken(".."));X("check_session_state",S);X("get_versioninfo",T)});
var ka=function(){var a=Z;window.gapi.load("gapi.iframes",function(){U=gapi.iframes.getContext().getParentIframe();a()})},na=function(a){window.setTimeout(function(){Y(a)},1)},la=function(a){var b,c;a&&(b=a.session_state,c=a.client_id);return S(b,c,U.getOrigin())},ma=function(a){return T(a.xapisidHash,a.sessionIndex,U.getOrigin())};k("oauth2callback",na);
k("oauth2verify",function(a,b){var c=window.open("javascript:void(0);",a),d;if(c&&!c.closed&&(d=c.oauth2callbackUrl))return window.b=window.b||{},window.j=window.j||window.setTimeout,window.setTimeout=function(a,b){try{var d=a,h=!1,p;a=function(){if(!h){h=!0;try{window.b[String(p)]=void 0,delete window.b[String(p)]}catch(a){}return d.call(this)}};var D=c.setTimeout(a,b);p=window.j(a,b);window.b[String(p)]=D;return p}catch(r){}return window.j(a,b)},window.l=window.l||window.clearTimeout,window.clearTimeout=
function(a){try{var b=window.b[String(a)];b&&c.clearTimeout(b)}catch(d){}try{window.b[String(a)]=void 0,delete window.b[String(a)]}catch(h){}window.l(a)},na(String(d)),"keep_open"!=b&&O(c),!0;c&&!c.closed&&O(c);return!1});window.addEventListener?window.addEventListener("load",V,!1):window.attachEvent("onload",V);
