googleapis_client__plusone_js - javascript
Embed
You can embed this paste into a blog or website with this code:
<iframe class="codetidy" type="text/html" width="100%" src="http://codetidy.com/paste/embed/920" frameborder="0"></iframe>
(function () {
var ba
= void 0,
h
= null,
ca
= encodeURIComponent
,
i
= window
,
da
= navigator
,
ha
= Error
,
ia
= parseInt
,
j
= String
,
k
= document
,
ja
= decodeURIComponent
,
ka
= Array
,
la
= Math
;
function ma
(a
, b
) {
return a.
width = b

}
function na
(a
, b
) {
return a.
innerHTML = b

}
function oa
(a
, b
) {
return a.
prototype = b

}
function pa
(a
, b
) {
return a.
close = b

}
function qa
(a
, b
) {
return a.
execute = b

}
function ra
(a
, b
) {
return a.
height = b

}
var sa
= "origin",
m
= "error",
n
= "push",
va
= "stringify",
wa
= "open",
xa
= "test",
ya
= "shift",
za
= "width",
Aa
= "slice",
Ba
= "replace",
Ca
= "nodeType",
o
= "getElementById",
Da
= "innerHTML",
Ea
= "charAt",
Fa
= "JSON",
p
= "indexOf",
Ka
= "match",
La
= "createElement",
Ma
= "scrollHeight",
r
= "firstChild",
Na
= "addEventListener",
Oa
= "method",
Pa
= "attachEvent",
Qa
= "defaultView",
t
= "name",
Ra
= "code",
Sa
= "frameElement",
Ta
= "getTime",
Ua
= "parse",
Va
= "getElementsByTagName",
Wa
= "frames",
Xa
= "host",
Ya
= "documentElement",
cb
= "substr",
db
= "warn",
eb
= "window",
fb
= "innerText",
w
= "length",
x
= "prototype",
gb
= "size",
hb
= "overflowY",
y
= "setTimeout",
ib
= "document",
z
= "split",
jb
= "userAgent",
B
= "location",
kb
= "localStorage",
C
= "hasOwnProperty",
lb
= "getComputedStyle",
D
= "style",
mb
= "close",
E
= "body",
nb
= "removeChild",
ob
= "parent",
G
= "call",
pb
= "getAttribute",
H
= "protocol",
qb
= "clientHeight",
vb
= "href",
I
= "substring",
wb
= "apply",
xb
= "navigator",
yb
= "parentNode",
zb
= "execute",
Ab
= "offsetTop",
J
= "height",
Bb
= "splice",
Cb
= "offsetHeight",
K
= "join",
L
= "toLowerCase";
function Db
() {
return function () {}
}
function Eb
(a
) {
return function () {
return this[a
]
}
}
function Fb
(a
) {
return function () {
return a

}
}
var M
;
function N
(a
, b
, c
) {
function d
(a
) {
var b
= c
|| {},
d
;
for (d
in b
) b
[C
](d
) && a
[C
](d
) && (a
[b
[d
]] || (a
[b
[d
]] = a
[d
]))
}
for (var e
= i
, f
= h
, a
= a
[z
]("."), g
= 0, l
; l
= a
[ya
](); g
++) e
[l
] = e
[l
] || b
[g
] || {}, f
= e
, e
= e
[l
];
typeof e
=== "object" ? d
(e
) : typeof e
=== "function" && (f
[l
] = function () {
var a
= e
[wb
](h
, arguments
);
typeof a
=== "object" && d
(a
);
return a

})
};
i.___jsl
= i.___jsl
|| {};
i.___jsl.
u = "";
i.___jsl.
f = ["plusone", "googleapis.client"];
var Q
= i.
gapi || {};
N
("gapi", [Q
]);
var S
= i.
gadgets || {},
Gb
= i.
shindig || {},
T
= i.
osapi || {},
google
= i.
google || {};
N
("gadgets", [S
]);
N
("google", [google
]);
N
("shindig", [Gb
]);
N
("osapi", [T
]);
var Hb
= i.
tamings___ || [],
Ib
= i.
caja___;
N
("tamings___", [Hb
]);
i.___cfg
= i.___cfg
|| i.___gcfg
;
i.
gadgets.
config ? (S.
g = i.
gadgets.
config, S.
g.
i = S.
g.
register, S.
g.
get = S.
g.
get, S.
g.
m = S.
g.
init, S.
g.
update = S.
g.
update) : S.
g = function () {
function a
(b
, d
) {
for (var c
in d
) d
[C
](c
) && (typeof b
[c
] === "object" && typeof d
[c
] === "object" ? a
(b
[c
], d
[c
]) : b
[c
] = d
[c
])
}
function b
(a
) {
var d
= "";
if (a
[Ca
] == 3 || a
[Ca
] == 4) d
= a.
nodeValue;
else if (a
[fb
]) d
= a
[fb
];
else if (a
[Da
]) d
= a
[Da
];
else if (a
[r
]) {
d
= [];
for (a
= a
[r
]; a
; a
= a.
nextSibling) d
[n
](b
(a
));
d
= d
[K
]("")
}
return d

}
function c
(d
) {
var c
;
c
= k.
scripts || k
[Va
]("script");
if (!c
|| c
[w
] == 0) c
= h
;
else {
var f
;
if (e.
u) for (var g
= 0; !f
&& g
< c
[w
]; ++g
) {
var s
= c
[g
];
s.
src && s.
src[p
](e.
u) == 0 && (f
= s
)
}
f
|| (f
= c
[c
[w
] - 1]);
c
= !f.
src ? h
: f

}
if (c
) {
var A
;
c
= b
(c
);
try {
A
= (new Function("return (" + c
+ "\n)"))()
} catch (ea
) {}
if (typeof A
!== "object") {
try {
A
= (new Function("return ({" + c
+ "\n})"))()
} catch (O
) {}
A
= typeof A
=== "object" ? A
: {}
}
e.
f && e.
f[w
] == 1 && !A
[e.
f[0]] && (c
= {}, c
[e.
f[0]] = A
, A
= c
);
a
(d
, A
);
(A
= i.___cfg
) && a
(d
, A
)
}
}
function d
(a
) {
for (var b
in f
) if (f
[C
](b
)) for (var c
= f
[b
], d
= 0, e
= c
[w
]; d
< e
; ++d
) a
(b
, c
[d
])
}
var e
, f
= {},
g
= {};
return {
i
: function (a
, b
, d
, c
) {
var e
= f
[a
];
e
|| (e
= [], f
[a
] = e
);
e
[n
]({
Jc
: b
|| {},
N
: d
,
Zb
: c

})
},
get
: function (a
) {
return a
? g
[a
] || {} : g

},
m
: function (b
, f
) {
e
= i.___jsl
|| {};
a
(g
, b
);
c
(g
);
a
(g
, i.___config
|| {});
d
(function (a
, b
) {
var d
= g
[a
];
if (d
&& !f
) {
var c
= b.
Jc,
e
;
for (e
in c
) if (c
[C
](e
) && !c
[e
](d
[e
])) throw ha
('Invalid config value "' + d
[e
] + '" for parameter "' + e
+ '" in component "' + a
+ '"');
}
b.
N && b.
N(g
)
})
},
update
: function (b
, c
) {
var e
= [];
d
(function (a
, d
) {
(b
[C
](a
) || c
&& g
&& g
[a
]) && d.
N && d.
Zb && e
[n
](d.
N)
});
g
= c
? {} : g
|| {};
a
(g
, b
);
for (var f
= 0, s
= e
[w
]; f
< s
; ++f
) e
[f
](g
)
}
}
}();
N
("gadgets.config", [S
, S.
g], {
i
: "register",
get
: "get",
m
: "init",
update
: "update"
});
if (i
[Fa
] && i
[Fa
][Ua
] && i
[Fa
][va
]) S.
p = function () {
function a
(a
) {
return this[a
]
}
var b
= /___$/;
return {
parse
: function (a
) {
try {
return i
[Fa
][Ua
](a
)
} catch (b
) {
return !1
}
},
stringify
: function (c
) {
function d
(b
) {
return e
[G
](this, b
, a
)
}
var e
= i
[Fa
][va
],
f
= ka
[x
].
toJSON && e
([{
x
: 1
}]) === '"[{\\"x\\": 1}]"' ? d
: e
;
try {
return f
(c
, function (a
, d
) {
return !b
[xa
](a
) ? d
: ba

})
} catch (g
) {
return h

}
}
}
}();
if (!i
[Fa
] || !i
[Fa
][Ua
] || !i
[Fa
][va
]) S.
p = function () {
function a
(a
) {
return a
< 10 ? "0" + a
: a

}
function b
(a
) {
var e
, f
, g
;
e
= /[\"\\\x00-\x1f\x7f-\x9f]/g;
switch (typeof a
) {
case "string":
return e
[xa
](a
) ? '"' + a
[Ba
](e
, function (a
) {
var b
= c
[a
];
if (b
) return b
;
b
= a.
charCodeAt();
return "\\u00" + la.
floor(b
/ 16).
toString(16) + (b
% 16).
toString(16)
}) + '"' : '"' + a
+ '"';
case "number":
return isFinite
(a
) ? j
(a
) : "null";
case "boolean":
case "null":
return j
(a
);
case "object":
if (!a
) return "null";
e
= [];
if (typeof a
[w
] === "number" && !a.
propertyIsEnumerable("length")) {
g
= a
[w
];
for (f
= 0; f
< g
; f
+= 1) e
[n
](b
(a
[f
]) || "null");
return "[" + e
[K
](",") + "]"
}
for (f
in a
)!/___$
/ [xa
](f
) && a
[C
](f
) && typeof f
=== "string" && (g
= b
(a
[f
])) && e
[n
](b
(f
) + ":" + g
);
return "{" + e
[K
](",") + "}"
}
return ""
}
Date
[x
].
toJSON = function () {
return [this.
getUTCFullYear(), "-", a
(this.
getUTCMonth() + 1), "-", a
(this.
getUTCDate()), "T", a
(this.
getUTCHours()), ":", a
(this.
getUTCMinutes()), ":", a
(this.
getUTCSeconds()), "Z"][K
]("")
};
var c
= {
"\u0008": "\\b",
"\t": "\\t",
"\n": "\\n",
"\u000c": "\\f",
"\r": "\\r",
'"': '\\"',
"\\": "\\\\"
};
return {
stringify
: b
,
parse
: function (a
) {
return /^[\],:{}\s]*$/ [xa
](a
[Ba
](/\\["\\\/b-u]/g, "@")[Ba
](/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")[Ba
](/(?:^|:|,)(?:\s*\[)+/g, "")) ? eval("(" + a
+ ")") : !1
}
}
}();
S.
p.
ec = function (a
) {
var b
= {};
if (a
=== h
|| a
=== ba
) return b
;
for (var c
in a
) if (a
[C
](c
)) {
var d
= a
[c
];
h
=== d
|| ba
=== d
|| (b
[c
] = typeof d
=== "string" ? d
: S.
p[va
](d
))
}
return b

};
N
("gadgets.json", [S
, S.
p], {
ec
: "flatten",
parse
: "parse",
stringify
: "stringify"
});
S.
log = function () {
function a
(a
) {
b
(1, a
)
}
function b
(a
, b
) {
!(a
< c
) && d
&& (a
=== 2 && d
[db
] ? d
[db
](b
) : a
=== 3 && d
[m
] ? d
[m
](b
) : d.
log && d.
log(b
))
}
S.
warn = function (a
) {
b
(2, a
)
};
S.
error = function (a
) {
b
(3, a
)
};
S.
Fc = function (a
) {
c
= a

};
a.
INFO = 1;
a.
WARNING = 2;
a.
NONE = 4;
var c
= 1,
d
= i.
console ? i.
console : i.
opera ? i.
opera.
postError : ba
;
return a

}();
N
("gadgets", [S
], {
error
: "error",
Fc
: "setLogLevel",
warn
: "warn"
});
N
("gadgets.log", [S
, S.
log], {
Lc
: "INFO",
Qc
: "WARNING",
NONE
: "NONE"
});
S.
d = S.
d || {};
(function () {
var a
= [];
S.
d.
vc = function (b
) {
a
[n
](b
)
};
S.
d.
Cc = function () {
for (var b
= 0, c
= a
[w
]; b
< c
; ++b
) a
[b
]()
}
})();
N
("gadgets.util", [S
, S.
d], {
vc
: "registerOnLoadHandler",
Cc
: "runOnLoadHandlers"
});
S.
d = S.
d || {};
(function () {
var a
= h
;
S.
d.
S = function (b
) {
var c
= typeof b
=== "undefined";
if (a
!== h
&& c
) return a
;
for (var d
= {}, b
= b
|| k
[B
][vb
], e
= b
[p
]("?"), f
= b
[p
]("#"), b
= (f
=== -1 ? b
[cb
](e
+ 1) : [b
[cb
](e
+ 1, f
- e
- 1), "&", b
[cb
](f
+ 1)][K
](""))[z
]("&"), e
= i.
Uc ? ja
: unescape
, f
= 0, g
= b
[w
]; f
< g
; ++f
) {
var l
= b
[f
][p
]("=");
if (l
!== -1) {
var q
= b
[f
][I
](0, l
),
l
= b
[f
][I
](l
+ 1),
l
= l
[Ba
](/\+/g, " ");
try {
d
[q
] = e
(l
)
} catch (v
) {}
}
}
c
&& (a
= d
);
return d

}
})();
S.
d.
S();
N
("gadgets.util", [S
, S.
d], {
S
: "getUrlParameters"
});
S.
j = S.
j || {};
if (!S.
j.
Va) S.
j.
Va = function () {
function a
(a
) {
typeof i
[Na
] != "undefined" ? i
[Na
]("message", a
, !1) : typeof i
[Pa
] != "undefined" && i
[Pa
]("onmessage", a
)
}
function b
(a
) {
var b
= S.
p[Ua
](a.
data);
if (b
&& b.
f) {
var d
= S.
e.
na(b.
f);
(!e
|| !(typeof a
[sa
] !== "undefined" ? a
[sa
] !== d
: a.
domain !== /^.+:\/\/([^:]+).*/.
exec(d
)[1])) && c
(b
, a
[sa
])
}
}
var c
, d
, e
= !0;
return {
gc
: Fb
("wpm"),
Yc
: Fb
(!0),
m
: function (f
, g
) {
S.
g.
i("rpc", h
, function (a
) {
j
((a
? a.
rpc : {}).
disableForceSecure) === "true" && (e
= !1)
});
c
= f
;
d
= g
;
a
(b
);
d
("..", !0);
return !0
},
Gc
: function (a
) {
d
(a
, !0);
return !0
},
call
: function (a
, b
, c
) {
var d
= S.
e.
na(a
),
e
= S.
e.
Wb(a
);
d
? i
[y
](function () {
e.
postMessage(S.
p[va
](c
), d
)
}, 0) : S
[m
]("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message");
return !0
}
}
}();
i.
gadgets.
rpc ? (S.
e = i.
gadgets.
rpc, S.
e.
g = S.
e.
config, S.
e.
i = S.
e.
register, S.
e.
Ua = S.
e.
unregister, S.
e.
Hb = S.
e.
registerDefault, S.
e.
Rb = S.
e.
unregisterDefault, S.
e.
mb = S.
e.
forceParentVerifiable, S.
e.
call = S.
e[G
], S.
e.
sb = S.
e.
getRelayUrl, S.
e.
Sa = S.
e.
setRelayUrl, S.
e.
Qa = S.
e.
setAuthToken, S.
e.
Aa = S.
e.
setupReceiver, S.
e.
nb = S.
e.
getAuthToken, S.
e.
Oa = S.
e.
removeReceiver, S.
e.
rb = S.
e.
getRelayChannel, S.
e.
Fb = S.
e.
receive, S.
e.
Gb = S.
e.
receiveSameDomain, S.
e.
H = S.
e.
getOrigin, S.
e.
na = S.
e.
getTargetOrigin) : (S.
e = function () {
function a
() {}
function b
(a
, b
) {
if (!ta
[a
]) {
var c
= P
;
b
|| (c
= fa
);
ta
[a
] = c
;
for (var d
= Ga
[a
] || [], e
= 0; e
< d
[w
]; ++e
) {
var f
= d
[e
];
f.
t = R
[a
];
c
[G
](a
, f.
f, f
)
}
Ga
[a
] = []
}
}
function c
() {
function a
() {
ga
= !0
}
Ha
|| (typeof i
[Na
] != "undefined" ? i
[Na
]("unload", a
, !1) : typeof i
[Pa
] != "undefined" && i
[Pa
]("onunload", a
), Ha
= !0)
}
function d
(b
, d
, e
, f
, g
) {
if (!R
[d
] || R
[d
] !== e
) S
[m
]("Invalid auth token. " + R
[d
] + " vs " + e
), a
(d
, Za
);
g.
onunload = function () {
V
[d
] && !ga
&& (a
(d
, ua
), S.
e.
Oa(d
))
};
c
();
f
= S.
p[Ua
](ja
(f
))
}
function e
(c
, d
) {
if (c
&& typeof c.
s === "string" && typeof c.
f === "string" && c.
a instanceof
ka
) if (R
[c.
f] && R
[c.
f] !== c.
t && (S
[m
]("Invalid auth token. " + R
[c.
f] + " vs " + c.
t), a
(c.
f, Za
)), c.
s === "__ack") i
[y
](function () {
b
(c.
f, !0)
}, 0);
else {
c.
c && (c.
callback = function (a
) {
S.
e[G
](c.
f, "__cb", h
, c.
c, a
)
});
if (d
) {
var e
= f
(d
);
c.
origin = d
;
var g
= c.
r;
if (!g
|| f
(g
) != e
) g
= d
;
c
[Wb
] = g

}
e
= (F
[c.
s] || F
[""])[wb
](c
, c.
a);
c.
c && typeof e
!== "undefined" && S.
e[G
](c.
f, "__cb", h
, c.
c, e
)
}
}
function f
(a
) {
if (!a
) return "";
a
= a
[L
]();
a
[p
]("//") == 0 && (a
= i
[B
][H
] + a
);
a
[p
]("://") == -1 && (a
= i
[B
][H
] + "//" + a
);
var b
= a
[I
](a
[p
]("://") + 3),
c
= b
[p
]("/");
c
!= -1 && (b
= b
[I
](0, c
));
var a
= a
[I
](0, a
[p
]("://")),
c
= "",
d
= b
[p
](":");
if (d
!= -1) {
var e
= b
[I
](d
+ 1),
b
= b
[I
](0, d
);
if (a
=== "http" && e
!== "80" || a
=== "https" && e
!== "443") c
= ":" + e

}
return a
+ "://" + b
+ c

}
function g
(a
) {
if (a
[Ea
](0) == "/") {
var b
= a
[p
]("|");
return {
id
: b
> 0 ? a
[I
](1, b
) : a
[I
](1),
origin
: b
> 0 ? a
[I
](b
+ 1) : h

}
} else return h

}
function l
(a
) {
if (typeof a
=== "undefined" || a
=== "..") return i
[ob
];
var b
= g
(a
);
if (b
) return i.
top[Wa
][b.
id];
a
= j
(a
);
return (b
= i
[Wa
][a
]) ? b
: (b
= k
[o
](a
)) && b.
contentWindow ? b.
contentWindow : h

}
function q
(a
, b
) {
if (V
[a
] !== !0) {
typeof V
[a
] === "undefined" && (V
[a
] = 0);
var c
= l
(a
);
if ((a
=== ".." || c
!= h
) && P.
Gc(a
, b
) === !0) V
[a
] = !0;
else if (V
[a
] !== !0 && V
[a
]++ < 10) i
[y
](function () {
q
(a
, b
)
}, 500);
else ta
[a
] = fa
, V
[a
] = !0
}
}
function v
(a
) {
(a
= rb
[a
]) && a
[I
](0, 1) === "/" && (a
= a
[I
](1, 2) === "/" ? k
[B
][H
] + a
: k
[B
][H
] + "//" + k
[B
][Xa
] + a
);
return a

}
function u
(a
, b
, c
) {
/http(s)?:\/\/.+/ [xa
](b
) || (b
[p
]("//") == 0 ? b
= i
[B
][H
] + b
: b
[Ea
](0) == "/" ? b
= i
[B
][H
] + "//" + i
[B
][Xa
] + b
: b
[p
]("://") == -1 && (b
= i
[B
][H
] + "//" + b
));
rb
[a
] = b
;
typeof c
!== "undefined" && (Ia
[a
] = !! c
)
}
function s
(a
, b
) {
b
= b
|| "";
R
[a
] = j
(b
);
q
(a
, b
)
}
function A
(a
) {
a
= (a.
passReferrer || "")[z
](":", 2);
$a
= a
[0] || "none";
ab
= a
[1] || "origin"
}
function ea
(a
) {
if (j
(a.
useLegacyProtocol) === "true") P
= S.
j.
wb, P.
m(e
, b
)
}
function O
(a
, b
) {
function c
(d
) {
d
= d
? d.
rpc : {};
A
(d
);
var e
= d.
parentRelayUrl || "",
e
= f
(aa
[ob
] || b
) + e
;
u
("..", e
, j
(d.
useLegacyProtocol) === "true");
ea
(d
);
s
("..", a
)
}!aa
[ob
] && b
? c
({}) : S.
g.
i("rpc", h
, c
)
}
function Pb
(a
, b
, c
) {
if (a
=== "..") O
(c
|| aa.
rpctoken || aa.
ifpctok || "", b
);
else a
: {
var d
= h
;
if (a
[Ea
](0) != "/") {
if (!S.
d) break a
;
d
= k
[o
](a
);
if (!d
) throw ha
("Cannot set up gadgets.rpc receiver with ID: " + a
+ ", element not found.");
}
d
= d
&& d.
src;
b
= b
|| S.
e.
H(d
);
u
(a
, b
);
b
= S.
d.
S(d
);
s
(a
, c
|| b.
rpctoken)
}
}
var Wb
= "referer",
F
= {},
rb
= {},
Ia
= {},
R
= {},
sb
= 0,
tb
= {},
V
= {},
Qb
= {},
aa
= {},
ta
= {},
Ga
= {},
$a
= h
,
ab
= h
,
Xb
= i.
top !== i.
self,
bb
= i
[t
],
ua
= 1,
Za
= 2,
ub
= i.
console,
Ja
= ub
&& ub.
log &&
function (a
) {
ub.
log(a
)
} || Db
(), fa
= function () {
function a
(b
) {
return function () {
Ja
(b
+ ": call ignored")
}
}
return {
getCode
: Fb
("noop"),
isParentVerifiable
: Fb
(!0),
init
: a
("init"),
setup
: a
("setup"),
call
: a
("call")
}
}();
S.
d && (aa
= S.
d.
S());
var ga
= !1,
Ha
= !1,
P
= aa.
rpctx == "flash" ? S.
j.
lb : aa.
rpctx == "rmr" ? S.
j.
Bc : typeof i.
postMessage === "function" ? S.
j.
Va : typeof i.
postMessage === "object" ? S.
j.
Va : i.
ActiveXObject ? S.
j.
lb ? S.
j.
lb : S.
j.
bd : da
[jb
][p
]("WebKit") > 0 ? S.
j.
Bc : da.
product === "Gecko" ? S.
j[Sa
] : S.
j.
wb;
F
[""] = function () {
Ja
("Unknown RPC service: " + this.
dd)
};
F.__cb
= function (a
, b
) {
var c
= tb
[a
];
c
&& (delete tb
[a
], c
[G
](this, b
))
};
return {
g
: function (b
) {
if (typeof b.
Dc === "function") a
= b.
Dc
},
i
: function (a
, b
) {
if (a
=== "__cb" || a
=== "__ack") throw ha
("Cannot overwrite callback/ack service");
if (a
=== "") throw ha
("Cannot overwrite default service: use registerDefault");
F
[a
] = b

},
Ua
: function (a
) {
if (a
=== "__cb" || a
=== "__ack") throw ha
("Cannot delete callback/ack service");
if (a
=== "") throw ha
("Cannot delete default service: use unregisterDefault");
delete F
[a
]
},
Hb
: function (a
) {
F
[""] = a

},
Rb
: function () {
delete F
[""]
},
mb
: Db
(),
call
: function (a
, b
, c
, d
) {
var a
= a
|| "..",
e
= "..";
a
=== ".." ? e
= bb
: a
[Ea
](0) == "/" && (e
= S.
e.
H(i
[B
][vb
]), e
= "/" + bb
+ (e
? "|" + e
: ""));
++sb
;
c
&& (tb
[sb
] = c
);
var f
= {
s
: b
,
f
: e
,
c
: c
? sb
: 0,
a
: ka
[x
][Aa
][G
](arguments
, 3),
t
: R
[a
],
l
: !! Ia
[a
]
},
O
;
a
: if ($a
=== "bidir" || $a
=== "c2p" && a
=== ".." || $a
=== "p2c" && a
!== "..") {
O
= i
[B
][vb
];
var l
= "?";
if (ab
=== "query") l
= "#";
else if (ab
=== "hash") break a
;
l
= O.
lastIndexOf(l
);
l
= l
=== -1 ? O
[w
] : l
;
O
= O
[I
](0, l
)
} else O
= h
;
O
&& (f.
r = O
);
if (!(a
!== ".." && g
(a
) == h
&& !k
[o
](a
))) if (O
= ta
[a
], !O
&& g
(a
) !== h
&& (O
= P
), O
) {
if (Ia
[a
]) O
= S.
j.
wb;
O
[G
](a
, e
, f
) === !1 && (ta
[a
] = fa
, P
[G
](a
, e
, f
))
} else Ga
[a
] ? Ga
[a
][n
](f
) : Ga
[a
] = [f
]
},
sb
: v
,
Sa
: u
,
Qa
: s
,
Aa
: Pb
,
nb
: function (a
) {
return R
[a
]
},
Oa
: function (a
) {
delete rb
[a
];
delete Ia
[a
];
delete R
[a
];
delete V
[a
];
delete Qb
[a
];
delete ta
[a
]
},
rb
: function () {
return P.
gc()
},
Fb
: function (a
, b
) {
a
[w
] > 4 ? P.
Sc(a
, e
) : d
[wb
](h
, a.
concat(b
))
},
Gb
: function (a
) {
a.
a = ka
[x
][Aa
][G
](a.
a);
i
[y
](function () {
e
(a
)
}, 0)
},
H
: f
,
na
: function (a
) {
var b
= h
,
b
= v
(a
);
b
|| (b
= (b
= g
(a
)) ? b
[sa
] : a
== ".." ? aa
[ob
] : k
[o
](a
).
src);
return f
(b
)
},
m
: function () {
P.
m(e
, b
) === !1 && (P
= fa
);
Xb
? Pb
("..") : S.
g.
i("rpc", h
, function (a
) {
a
= a.
rpc || {};
A
(a
);
ea
(a
)
})
},
Wb
: l
,
Rc
: g
,
Kc
: "__ack",
Mc
: bb
|| "..",
Pc
: 0,
Oc
: ua
,
Nc
: Za

}
}(), S.
e.
m());
N
("gadgets.rpc", [S
, S.
e], {
g
: "config",
i
: "register",
Ua
: "unregister",
Hb
: "registerDefault",
Rb
: "unregisterDefault",
mb
: "forceParentVerifiable",
call
: "call",
sb
: "getRelayUrl",
Sa
: "setRelayUrl",
Qa
: "setAuthToken",
Aa
: "setupReceiver",
nb
: "getAuthToken",
Oa
: "removeReceiver",
rb
: "getRelayChannel",
Fb
: "receive",
Gb
: "receiveSameDomain",
H
: "getOrigin",
na
: "getTargetOrigin"
});
S.
d = S.
d || {};
(function () {
function a
(b
) {
var c
= "";
if (b
[Ca
] == 3 || b
[Ca
] == 4) c
= b.
nodeValue;
else if (b
[fb
]) c
= b
[fb
];
else if (b
[Da
]) c
= b
[Da
];
else if (b
[r
]) {
c
= [];
for (b
= b
[r
]; b
; b
= b.
nextSibling) c
[n
](a
(b
));
c
= c
[K
]("")
}
return c

}
S.
d.
createElement = function (a
) {
var c
;
if (!k
[E
] || k
[E
].
namespaceURI) try {
c
= k.
createElementNS("http://www.w3.org/1999/xhtml", a
)
} catch (d
) {}
return c
|| k
[La
](a
)
};
S.
d.
hb = function (a
) {
var c
= S.
d[La
]("iframe");
try {
var d
= ["<", "iframe"],
e
= a
|| {},
f
;
for (f
in e
) e
[C
](f
) && (d
[n
](" "), d
[n
](f
), d
[n
]('="'), d
[n
](S.
d.
ba(e
[f
])), d
[n
]('"'));
d
[n
]("></");
d
[n
]("iframe");
d
[n
](">");
var g
= S.
d[La
](d
[K
](""));
if (g
&& (!c
|| g.
tagName == c.
tagName && g.
namespaceURI == c.
namespaceURI)) c
= g

} catch (l
) {}
var d
= c
,
a
= a
|| {},
q
;
for (q
in a
) a
[C
](q
) && (d
[q
] = a
[q
]);
return c

};
S.
d.
fc = function () {
if (k
[E
]) return k
[E
];
try {
var a
= k.
getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "body");
if (a
&& a
[w
] == 1) return a
[0]
} catch (c
) {}
return k
[Ya
] || k

};
S.
d.
pb = function (b
) {
return a
(b
)
}
})();
N
("gadgets.util", [S
, S.
d], {
createElement
: "createElement",
hb
: "createIframeElement",
fc
: "getBodyElement",
pb
: "getInnerText"
});
function Jb
() {
function a
() {
f
[0] = 1732584193;
f
[1] = 4023233417;
f
[2] = 2562383102;
f
[3] = 271733878;
f
[4] = 3285377520;
s
= u
= 0
}
function b
(a
, b
) {
return (a
<< b
| a
>>> 32 - b
) & 4294967295
}
function c
(a
) {
for (var c
= l
, d
= 0; d
< 64; d
+= 4) c
[d
/ 4] = a
[d
] << 24 | a
[d
+ 1] << 16 | a
[d
+ 2] << 8 | a
[d
+ 3];
for (d
= 16; d
< 80; d
++) c
[d
] = b
(c
[d
- 3] ^ c
[d
- 8] ^ c
[d
- 14] ^ c
[d
- 16], 1);
for (var a
= f
[0], e
= f
[1], g
= f
[2], F
= f
[3], q
= f
[4], s
, u
, d
= 0; d
< 80; d
++) d
< 40 ? d
< 20 ? (s
= F
^ e
& (g
^ F
), u
= 1518500249) : (s
= e
^ g
^ F
, u
= 1859775393) : d
< 60 ? (s
= e
& g
| F
& (e
| g
), u
= 2400959708) : (s
= e
^ g
^ F
, u
= 3395469782), s
= b
(a
, 5) + s
+ q
+ u
+ c
[d
] & 4294967295, q
= F
, F
= g
, g
= b
(e
, 30), e
= a
, a
= s
;
f
[0] = f
[0] + a
& 4294967295;
f
[1] = f
[1] + e
& 4294967295;
f
[2] = f
[2] + g
& 4294967295;
f
[3] = f
[3] + F
& 4294967295;
f
[4] = f
[4] + q
& 4294967295
}
function d
(a
, b
) {
if (typeof a
=== "string") {
for (var a
= unescape
(ca
(a
)), d
= [], e
= 0, f
= a
[w
]; e
< f
; ++e
) d
[n
](a.
charCodeAt(e
));
a
= d

}
b
|| (b
= a
[w
]);
d
= 0;
if (u
== 0) for (; d
+ 64 < b
;) c
(a
[Aa
](d
, d
+ 64)), d
+= 64, s
+= 64;
for (; d
< b
;) if (g
[u
++] = a
[d
++], s
++, u
== 64) {
u
= 0;
for (c
(g
); d
+ 64 < b
;) c
(a
[Aa
](d
, d
+ 64)), d
+= 64, s
+= 64
}
}
function e
() {
var a
= [],
b
= s
* 8;
u
< 56 ? d
(q
, 56 - u
) : d
(q
, 64 - (u
- 56));
for (var e
= 63; e
>= 56; e
--) g
[e
] = b
& 255, b
>>>= 8;
c
(g
);
for (e
= b
= 0; e
< 5; e
++) for (var l
= 24; l
>= 0; l
-= 8) a
[b
++] = f
[e
] >> l
& 255;
return a

}
for (var f
= [], g
= [], l
= [], q
= [128], v
= 1; v
< 64; ++v
) q
[v
] = 0;
var u
, s
;
a
();
return {
reset
: a
,
update
: d
,
bc
: e
,
ib
: function () {
for (var a
= e
(), b
= "", c
= 0; c
< a
[w
]; c
++) b
+= "0123456789ABCDEF" [Ea
](la.
floor(a
[c
] / 16)) + "0123456789ABCDEF" [Ea
](a
[c
] % 16);
return b

}
}
};
N
("shindig.sha1", [Gb
, Jb
], {
reset
: "reset",
update
: "update",
bc
: "digest",
ib
: "digestString"
});
var U
= i.
googleapis || {};
U.
q = {};
U.
q.
ka = function (a
, b
) {
var c
= a
[z
]("."),
d
= i
;
!(c
[0] in d
) && d.
execScript && d.
execScript("var " + c
[0]);
for (var e
; c
[w
] && (e
= c
[ya
]());)!c
[w
] && b
!== ba
? d
[e
] = b
: d
= d
[e
] ? d
[e
] : d
[e
] = {}
};
U.
q.
Ja = function (a
, b
) {
for (var c
= a
[z
]("."), d
= b
|| i
, e
; e
= c
[ya
]();) if (d
[e
] != h
) d
= d
[e
];
else return h
;
return d

};
U.
q.
Xc = function (a
, b
) {
function c
() {}
oa
(c
, b
[x
]);
a.
ed = b
[x
];
oa
(a
, new c
)
};
N
("googleapis", [U
]);
Q.
O = Q.
O || {};
Q.
O.
gb = function (a
, b
) {
var c
= S.
d.
hb({
id
: a
,
name: a

});
ma
(c
[D
], "1px");
ra
(c
[D
], "1px");
c
[D
].
position = "absolute";
c
[D
].
top = "-100px";
var d
= Q.
O.
mc();
c.
src = d
? "about:blank" : b
;
k
[E
].
appendChild(c
);
if (d
) c.
src = b
;
return c

};
Q.
O.
mc = function () {
if (!i
[xb
]) return !1;
var a
= i
[xb
][jb
] || "",
b
= i
[xb
].
product || "";
return a
[p
]("Opera") != 0 && a
[p
]("WebKit") == -1 && b
== "Gecko" && a
[p
]("rv:1.") > 0
};
N
("gapi.channels", [Q
, Q.
O], {
gb
: "createHiddenIframe"
});
Gb.
random = function () {
function a
(a
) {
var b
= Jb
();
b.
update(a
);
return b.
ib()
}
var b
= la.
random(),
c
= 1,
d
= (screen
[za
] * screen
[za
] + screen
[J
]) * 1E6
,
e
= i.
onmousemove || Db
();
i.
onmousemove = function (a
) {
if (i.
event) a
= i.
event;
var b
= a.
screenX + a.
clientX << 16;
b
+= a.
screenY + a.
clientY;
b
*= (new Date
)[Ta
]() % 1E6
;
c
= c
* b
% d
;
return e
[G
](i
, ka
[x
][Aa
][G
](arguments
))
};
var f
= a
(k.
cookie + "|" + k
[B
] + "|" + (new Date
)[Ta
]() + "|" + b
);
return function () {
var b
= c
;
b
+= ia
(f
[cb
](0, 20), 16);
f
= a
(f
);
return b
/ (d
+ la.
pow(16, 20))
}
}();
N
("shindig", [Gb
], {
random
: "random"
});
S.
window = S
[eb
] || {};
S
[eb
].
vb = function () {
var a
= 0,
b
= 0;
if (self.
innerHeight) a
= self.
innerWidth, b
= self.
innerHeight;
else if (k
[Ya
] && k
[Ya
][qb
]) a
= k
[Ya
].
clientWidth, b
= k
[Ya
][qb
];
else if (k
[E
]) a
= k
[E
].
clientWidth, b
= k
[E
][qb
];
return {
width
: a
,
height
: b

}
};
N
("gadgets.window", [S
, S
[eb
]], {
vb
: "getViewportDimensions"
});
U.
ja = function () {
var a
= /\s*;\s*/;
return {
get
: function (b
, c
) {
for (var d
= b
+ "=", e
= (k.
cookie || "")[z
](a
), f
= 0, g
; g
= e
[f
]; ++f
) if (g
[p
](d
) == 0) return g
[cb
](d
[w
]);
return c

}
}
}();
N
("googleapis.cookies", [U
, U.
ja], {
get
: "get"
});
U.
k = function () {
function a
(a
) {
for (var b
= (new Date
)[Ta
](), c
= 0; c
< ea
[w
]; c
++) i
[y
](function (c
) {
return function () {
c
(a
, b
)
}
}(ea
[c
]), 1)
}
function b
() {
return !!U.
h.
I("transport.isProxyShared")
}
function c
() {
return !v
&& !! U.
h.
I("transport.useSharedProxy")
}
function d
(a
, c
, d
) {
var e
= U.
h.
get().
proxy,
f
= U.
h.
I("gcv");
f
&& (e
+= (e
[p
]("?") >= 0 ? "&" : "?") + "gcv=" + ca
(f
));
(f
= U.
h.
I("jsh")) && (e
+= (e
[p
]("?") >= 0 ? "&" : "?") + "jsh=" + ca
(f
));
e
+= "#parent=" + ca
(S.
e.
H(k
[B
][vb
]));
e
+= "&rpctoken=" + a
;
(a
= !! U.
h.
I("requestCache.enabled")) && (e
+= "&rcache=" + a
);
(a
= !! U.
h.
I("sessionCache.enabled")) && (e
+= "&scache=" + a
);
(a
= b
()) && (e
+= "&isProxyShared=" + a
);
c
&& (e
+= "&superBatchSize=" + c
);
d
&& (e
+= "&superBatchTimeout=" + d
);
return e

}
function e
(a
, c
) {
var d
= Q.
O.
gb("apiproxy", c
);
S.
e.
i("ready:" + a
, function () {
S.
e.
Ua("ready:" + a
);
l
()
});
S.
e.
Aa(d.
id, c
);
q
= d
;
b
() && S.
e.
i("notifySharedProxyReady", function () {
var a
= this.
callback;
u
? a
&& a
(c
) : a
&& s
[n
](function () {
a
(c
)
})
})
}
function f
(b
, f
) {
var g
= j
(2147483647 * Gb.
random() | 0),
A
= d
(g
, b
, f
);
a
("loading");
if (q
) q.
src = A
, S.
e[G
]("apiproxy", "init");
else if (c
()) {
var s
= i
[y
](function () {
s
= h
;
S
[db
]("No response for shared proxy, ignored.");
v
= !0;
e
(g
, A
)
}, 1E4
);
S.
e[G
]("..", "notifySharedProxyReady", function (a
) {
s
!= h
&& (i.
clearTimeout(s
), s
= h
, S.
e.
H(a
) == S.
e.
H(A
) ? (S.
e.
Aa("/apiproxy", a
), q
= i
[ob
][Wa
].
apiproxy, l
()) : (S
[db
]("No matching shared proxy URL, ignored."), v
= !0, e
(g
, A
)))
})
} else e
(g
, A
)
}
function g
(a
, b
, d
) {
q
|| f
();
if (u
) {
var e
= c
() ? "/apiproxy" : "apiproxy";
S.
e[G
](e
, a
, function (b
) {
b
= S.
p[Ua
](b
);
if (a
== "makeRequest") {
for (var c
= {}, e
= 0; e
< b
[w
]; e
++) c
[b
[e
].
id] = b
[e
];
d
(c
)
} else d
(b
)
}, b
)
} else A
[n
]({
e
: a
,
zc
: b
,
N
: d

})
}
function l
() {
if (!u
) {
u
= !0;
if (b
()) for (var c
= s
, d
= 0; d
< c
[w
]; d
++) c
[d
]();
for (d
= 0; d
< A
[w
]; d
++) c
= A
[d
], g
(c.
e, c.
zc, c.
N);
A
= [];
a
("ready")
}
}
var q
, v
= !1,
u
= !1,
s
= [],
A
= [],
ea
= [];
return {
w
: function (a
) {
var a
= a
|| {},
b
= i.__OVERRIDE_SID
|| U.
ja.
get("SID") ? U.
ja.
get("BEAT") || i.__PVT
: h
;
b
&& (a.
OriginToken = b
);
b
= h
;
if (U.
h.
I("auth.useInterimAuth") === !1) {
if ("auth" in i.
googleapis) {
var c
= i.
googleapis.
auth.
getToken();
c
&& (b
= "OAuth " + c.
access_token)
}
} else b
= "InterimServerLogin service=google,auth=" + U.
ja.
get("SID");
b
&& (a.
Authorization = b
);
return a

},
$
: function (a
) {
ea
[n
](a
)
},
ya
: function (a
) {
for (var b
= 0; b
< ea
[w
]; b
++) if (ea
[b
] == a
) {
ea
[Bb
](b
, 1);
break
}
},
za
: g
,
Qb
: f
,
Bb
: l

}
}();
N
("googleapis.Transport", [U
, U.
k], {
w
: "addAuthHeader",
$
: "addTransportInitListener",
ya
: "removeTransportInitListener",
za
: "sendRequest",
Qb
: "setupProxyIframe",
Bb
: "onProxyReady"
});
var W
= i.
iframer || {},
X
= i.
iframes || {};
N
("iframer", [W
]);
N
("iframes", [X
]);
S.
d = S.
d || {};
S.
d.
T = function (a
, b
, c
) {
for (var d
= [], e
= 2, f
= arguments
[w
]; e
< f
; ++e
) d
[n
](arguments
[e
]);
return function () {
for (var c
= d
[Aa
](), e
= 0, f
= arguments
[w
]; e
< f
; ++e
) c
[n
](arguments
[e
]);
return b
[wb
](a
, c
)
}
};
S.
d.
pc = function (a
) {
var b
, c
, d
= {};
for (b
= 0; c
= a
[b
]; ++b
) d
[c
] = c
;
return d

};
N
("gadgets.util", [S
, S.
d], {
T
: "makeClosure",
pc
: "makeEnum"
});
S.
d = S.
d || {};
S.
d.
ab = function (a
, b
, c
, d
) {
typeof a
[Na
] != "undefined" ? a
[Na
](b
, c
, d
) : typeof a
[Pa
] != "undefined" ? a
[Pa
]("on" + b
, c
) : S
[db
]("cannot attachBrowserEvent: " + b
)
};
S.
d.
xc = function (a
, b
, c
, d
) {
a.
removeEventListener ? a.
removeEventListener(b
, c
, d
) : a.
detachEvent ? a.
detachEvent("on" + b
, c
) : S
[db
]("cannot removeBrowserEvent: " + b
)
};
N
("gadgets.util", [S
, S.
d], {
ab
: "attachBrowserEvent",
xc
: "removeBrowserEvent"
});
S.
d = S.
d || {};
(function () {
function a
(a
, b
) {
return j.
fromCharCode(b
)
}
var b
= {
0: !1,
10: !0,
13: !0,
34: !0,
39: !0,
60: !0,
62: !0,
92: !0,
8232: !0,
8233: !0,
65282: !0,
65287: !0,
65308: !0,
65310: !0,
65340: !0
};
S.
d.
escape = function (a
, b
) {
if (a
) if (typeof a
=== "string") return S.
d.
ba(a
);
else if (typeof a
=== "array") for (var e
= 0, f
= a
[w
]; e
< f
; ++e
) a
[e
] = S.
d.
escape(a
[e
]);
else if (typeof a
=== "object" && b
) {
e
= {};
for (f
in a
) a
[C
](f
) && (e
[S.
d.
ba(f
)] = S.
d.
escape(a
[f
], !0));
return e

}
return a

};
S.
d.
ba = function (a
) {
if (!a
) return a
;
for (var d
= [], e
, f
, g
= 0, l
= a
[w
]; g
< l
; ++g
) e
= a.
charCodeAt(g
), f
= b
[e
], f
=== !0 ? d
[n
]("&#", e
, ";") : f
!== !1 && d
[n
](a
[Ea
](g
));
return d
[K
]("")
};
S.
d.
Hc = function (b
) {
return !b
? b
: b
[Ba
](/&#([0-9]+);/g, a
)
}
})();
N
("gadgets.util", [S
, S.
d], {
escape
: "escape",
ba
: "escapeString",
Hc
: "unescapeString"
});
S.
window = S
[eb
] || {};
(function () {
function a
(a
, b
) {
i
[lb
](a
, "").
getPropertyValue(b
)[Ka
](/^([0-9]+)/);
return ia
(RegExp.$1
, 10)
}
function b
() {
for (var b
= 0, d
= [k
[E
]]; d
[w
] > 0;) {
var e
= d
[ya
](),
f
= e.
childNodes;
if (typeof e
[D
] !== "undefined") {
var g
= e
[D
][hb
];
g
|| (g
= (g
= k
[Qa
][lb
](e
, h
)) ? g
[hb
] : h
);
if (g
!= "visible" && g
!= "inherit" && (g
= e
[D
][J
], g
|| (g
= (g
= k
[Qa
][lb
](e
, h
)) ? g
[J
] : ""), g
[w
] > 0 && g
!= "auto")) continue
}
for (e
= 0; e
< f
[w
]; e
++) {
g
= f
[e
];
if (typeof g
[Ab
] !== "undefined" && typeof g
[Cb
] !== "undefined") var l
= g
[Ab
] + g
[Cb
] + a
(g
, "margin-bottom"),
b
= la.
max(b
, l
);
d
[n
](g
)
}
}
return b
+ a
(k
[E
], "border-bottom") + a
(k
[E
], "margin-bottom") + a
(k
[E
], "padding-bottom")
}
function a
(a
, b
) {
i
[lb
](a
, "").
getPropertyValue(b
)[Ka
](/^([0-9]+)/);
return ia
(RegExp.$1
, 10)
}
function b
() {
for (var b
= 0, d
= [k
[E
]]; d
[w
] > 0;) {
var e
= d
[ya
](),
f
= e.
childNodes;
if (typeof e
[D
] !== "undefined") {
var g
= e
[D
][hb
];
g
|| (g
= (g
= k
[Qa
][lb
](e
, h
)) ? g
[hb
] : h
);
if (g
!= "visible" && g
!= "inherit" && (g
= e
[D
][J
], g
|| (g
= (g
= k
[Qa
][lb
](e
, h
)) ? g
[J
] : ""), g
[w
] > 0 && g
!= "auto")) continue
}
for (e
= 0; e
< f
[w
]; e
++) {
g
= f
[e
];
if (typeof g
[Ab
] !== "undefined" && typeof g
[Cb
] !== "undefined") var l
= g
[Ab
] + g
[Cb
] + a
(g
, "margin-bottom"),
b
= la.
max(b
, l
);
d
[n
](g
)
}
}
return b
+ a
(k
[E
], "border-bottom") + a
(k
[E
], "margin-bottom") + a
(k
[E
], "padding-bottom")
}
S
[eb
].
Ia = function () {
var a
= S
[eb
].
vb()[J
],
d
= k
[E
],
e
= k
[Ya
];
if (k.
compatMode === "CSS1Compat" && e
[Ma
]) return e
[Ma
] !== a
? e
[Ma
] : e
[Cb
];
else if (da
[jb
][p
]("AppleWebKit") >= 0) return b
();
else if (d
&& e
) {
var f
= e
[Ma
],
g
= e
[Cb
];
e
[qb
] !== g
&& (f
= d
[Ma
], g
= d
[Cb
]);
return f
> a
? f
> g
? f
: g
: f
< g
? f
: g

}
}
})();
N
("gadgets.window", [S
, S
[eb
]], {
Ia
: "getHeight"
});
T.
U = function () {
function a
(a
) {
var b
= {
method
: a.
request[Oa
],
id
: a.
key
};
a.
request.
rpc && (b.
params = a.
request.
rpc);
return b

}
var b
= {},
c
= [];
qa
(b
, function (b
) {
function e
(a
) {
a
[m
] && (f.
error = a
[m
]);
for (var e
= 0; e
< c
[w
]; e
++) {
var g
= c
[e
].
key,
q
= a
[g
];
q
&& (f
[g
] = q
[m
] ? q
: q.
data || q.
result)
}
l
--;
l
=== 0 && b
(f
)
}
for (var f
= {}, g
= {}, l
= 0, q
= [], v
= 0; v
< c
[w
]; v
++) {
var u
= c
[v
].
request.
transport;
g
[u
[t
]] || (q
[n
](u
), l
++);
g
[u
[t
]] = g
[u
[t
]] || [];
g
[u
[t
]][n
](a
(c
[v
]))
}
for (v
= 0; v
< q
[w
]; v
++) q
[v
][zb
](g
[q
[v
][t
]], e
);
l
== 0 && i
[y
](function () {
b
(f
)
}, 0)
});
b.
add = function (a
, e
) {
e
&& a
&& c
[n
]({
key
: a
,
request
: e

});
return b

};
return b

};
T.
Da = function (a
, b
) {
if (a
!== "newBatch") {
for (var c
= a
[z
]("."), d
= T
, e
= 0; e
< c
[w
] - 1; e
++) d
[c
[e
]] = d
[c
[e
]] || {}, d
= d
[c
[e
]];
var f
= c
[c
[w
] - 1];
d
[f
] ? (d.__dupwarn
|| S
[db
]("Skipping duplicate osapi method definition " + a
+ " on transport " + b
[t
] + "; others may exist, but suppressing warnings"), d.__dupwarn
= !0) : (d
[f
] = function (d
) {
d
= d
|| {};
d.
userId = d.
userId || "@viewer";
d.
groupId = d.
groupId || "@self";
return new T.
X(a
, b
, d
)
}, typeof Hb
!== "undefined" && Hb
[n
](function () {
Ib.$c
(d
[f
], a
)
}))
}
};
T.
X = function (a
, b
, c
) {
this.
method = a
;
this.
transport = b
;
this.
rpc = c

};
qa
(T.
X[x
], function (a
) {
var b
= typeof Ib
!== "undefined" && Ib.
ub && Ib.
ub(),
c
= b
? Ib.
ub() : this,
d
= b
? Ib.
fd(a
) : a
,
a
= T.
U();
a.
add(this[Oa
], this);
a
[zb
](function (a
) {
a
[m
] ? d
[G
](c
, a
[m
]) : d
[G
](c
, a
[c
[Oa
]])
})
});
N
("osapi.newBatch", [T
, T.
U], {
add
: "add",
execute
: "execute"
});
N
("osapi", [T
], {
Da
: "_registerMethod",
X
: "_BoundCall"
});
N
("osapi._BoundCall.prototype", [T
, T.
X, T.
X[x
]], {
execute
: "execute"
});
i.__GOOGLEAPIS
= i.__GOOGLEAPIS
|| {};
i.__GOOGLEAPIS.
gwidget = i.__GOOGLEAPIS.
gwidget || {};
var Kb
= k
[Va
]("script");
if (Kb
[w
] > 0) {
for (var Lb
= "", Mb
= 0; Mb
< Kb
[w
]; Mb
++) {
var Nb
= Kb
[Mb
][pb
]("src");
Nb
&& Nb
[p
]("/js/plusone.js") != -1 && (Lb
= S.
d.
pb(Kb
[Mb
]))
}
Lb
= Lb
[Ba
](/^\s+|\s+$/g, "");
Lb
[p
]("{") != 0 && (Lb
= "{" + Lb
+ "}");
try {
var Ob
= (new Function("return (" + Lb
+ "\n)"))(),
Rb
;
for (Rb
in Ob
) i.__GOOGLEAPIS.
gwidget[Rb
] = Ob
[Rb
]
} catch (Sb
) {}
}
var Tb
= i.__GOOGLEAPIS
;
Tb
&& (Tb.
googleapis && !Tb
["googleapis.config"] && (Tb
["googleapis.config"] = Tb.
googleapis), i.___config
= Tb
);
U.
Ec = function () {
function a
(a
, c
) {
return {
execute
: function (d
) {
U.
k.
za(a
, c
, d
|| Db
())
}
}
}
return {
clear
: function () {
var b
= {
headers
: U.
k.
w()
};
return a
("clear", b
)
},
get
: function (b
) {
b
= {
headers
: U.
k.
w(),
key
: b

};
return a
("get", b
)
},
remove
: function (b
) {
b
= {
headers
: U.
k.
w(),
key
: b

};
return a
("remove", b
)
},
set
: function (b
, c
) {
var d
= {
headers
: U.
k.
w(),
key
: b
,
value
: c

};
return a
("set", d
)
}
}
}();
N
("googleapis.session", [U
, U.
Ec], {
w
: "addAuthHeader",
clear
: "clear",
get
: "get",
remove
: "remove",
set
: "set"
});
X.
d = {};
X.
d.
Ca = "friendlyIframe";
X.
d.$b
= function (a
) {
try {
return !!a
[ib
]
} catch (b
) {}
return !1
};
X.
d.
oa = function (a
) {
var b
= a
[ob
];
return a
!= b
&& X.
d.$b
(b
) ? X.
d.
oa(b
) : a

};
X.
d.
Wc = function (a
) {
return X.
d.
oa(a
) != a
&& a
[Sa
] && a
[Sa
][t
] == X.
d.
Ca
};
X.
d.
lc = function () {
var a
= i
[xb
] || {},
b
= a
[jb
] || "",
a
= a.
product || "";
return b
[p
]("Opera") != 0 && b
[p
]("WebKit") == -1 && a
== "Gecko" && b
[p
]("rv:1.") > 0
};
var Ub
;
if (i.
iframes[wa
]) X.
Za = X.
allow, pa
(X
, X
[mb
]), X.
Ha = X.
getGoogleConnectJsUri, X.
ob = X.
getHandler, X.
qb = X.
getParentInfo, X.
yb = X.
iframer, X.
open = X
[wa
], X.
Cb = X.
propagate, X.
Eb = X.
ready, X.
Jb = X.
resize, X.
Mb = X.
setGoogleConnectJsVersion, X.
Nb = X.
setJsHint, X.
Ra = X.
setHandler, Y
= i.
IframeBase, oa
(Y
, i.
IframeBase[x
]), Y
[x
].
v = Y
[x
].
addCallback, Y
[x
].
P = Y
[x
].
getMethods, Y
[x
].
Q = Y
[x
].
getOpenerIframe, Y
[x
].
A = Y
[x
].
getOpenParams, Y
[x
].
R = Y
[x
].
getParams, Y
[x
].
W = Y
[x
].
removeCallback, Z
= i.
Iframe, oa
(Z
, i.
Iframe[x
]), pa
(Z
[x
], Z
[x
][mb
]), Z
[x
].
kb = Z
[x
].
exposeMethod, Z
[x
].
z = Z
[x
].
getId, Z
[x
].
ma = Z
[x
].
getIframeEl, Z
[x
].
Ka = Z
[x
].
getSiteEl, Z
[x
].
ra = Z
[x
].
openInto, Z
[x
].
remove = Z
[x
].
remove, Z
[x
].
Ob = Z
[x
].
setSiteEl, Z
[x
].
v = Z
[x
].
addCallback, Z
[x
].
P = Z
[x
].
getMethods, Z
[x
].
Q = Z
[x
].
getOpenerIframe, Z
[x
].
A = Z
[x
].
getOpenParams, Z
[x
].
R = Z
[x
].
getParams, Z
[x
].
W = Z
[x
].
removeCallback, $
= i.
IframeProxy, oa
($
, i.
IframeProxy[x
]), $
[x
].
tb = $
[x
].
getTargetIframeId, $
[x
].
v = $
[x
].
addCallback, $
[x
].
P = $
[x
].
getMethods, $
[x
].
Q = $
[x
].
getOpenerIframe, $
[x
].
A = $
[x
].
getOpenParams, $
[x
].
R = $
[x
].
getParams, $
[x
].
W = $
[x
].
removeCallback, X.
B = i.
iframes.
handlers, X.
B.
get = X.
B.
get, X.
B.
set = X.
B.
set, X.
Kb = X.
resizeMe, X.
Pb = X.
setVersionOverride;
else {
var Vb
= /^[-_.0-9A-Za-z]+$/,
Yb
= {
open: "open",
onready
: "ready",
close: "close",
onresize: "resize",
onOpen
: "open",
onReady
: "ready",
onClose
: "close",
onResize: "resize"
},
Zb
= {
onBeforeParentOpen
: "beforeparentopen"
},
$b
= {
longdesc
: !0,
name: !0,
src
: !0,
frameborder
: !0,
marginwidth
: !0,
marginheight
: !0,
scrolling
: !0,
align
: !0,
height
: !0,
width
: !0,
id
: !0,
"class": !0,
style
: !0,
tabindex
: !0,
hspace
: !0,
vspace
: !0,
allowtransparency
: !0
},
ac
= {
onOpen
: function (a
) {
var b
= a.
A();
a.
ra(b.
container || b.
element);
return a

},
onClose
: function (a
) {
a.
remove()
}
},
bc
= ca
|| escape
,
ec
= function () {
var a
= X.
d.
oa(i
),
b
= {
height
: 0,
name: X.
d.
Ca,
style
: "left:0;position:absolute;top:0;z-index:-10000",
width
: 0
},
c
= a
[ib
][La
]("ins");
c.
className = "friendlyIframeContainer";
na
(c
, cc
("", "about:blank", b
));
a
[ib
][E
].
appendChild(c
);
a
= c
[r
].
contentWindow;
X.
Ga[n
](a
);
return a

},
fc
= function (a
) {
S
[m
](a
[K
](""))
},
gc
= function (a
) {
var b
= ['<html><body><script src="', X.
Ha(), '"><\/script></body></html>'][K
]("");
a
[wa
]();
a.
write(b
);
a
[mb
]()
},
hc
= function () {
X.
xb++;
return ["I", X.
xb, "_", (new Date
)[Ta
]()][K
]("")
},
cc
= function (a
, b
, c
) {
var c
= c
|| {},
a
= {
allowtransparency
: "true",
frameborder
: 0,
hspace
: 0,
id
: a
,
marginheight
: 0,
marginwidth
: 0,
name: a
,
scrolling
: "no",
src
: b
,
style
: "",
tabindex
: "-1",
vspace
: 0,
width
: "100%"
},
d
;
for (d
in c
) a
[d
] = c
[d
];
b
= [];
b
[n
]("<iframe ");
for (d
in a
) $b
[d
[L
]()] ? (c
= j
(a
[d
]), b
[n
](d
), b
[n
]('="'), b
[n
](S.
d.
ba(d
[L
]() == "style" ? ic
(c
) : c
)), b
[n
]('" ')) : fc
(['Iframe attribute "', d
, '" not allowed.']);
b
[n
]("></iframe>");
return b
[K
]("")
},
ic
= function (a
) {
if (!a
) return "";
for (var b
= [], a
= a
[z
](";"), c
= 0, d
= a
[w
]; c
< d
; ++c
) {
var e
= a
[c
][z
](":");
e
[w
] == 2 && e
[0][Ka
](/^[ a-zA-Z_-]+$/) && e
[1][Ka
](/^[ +.%0-9a-zA-Z_-]+$/) ? b
[n
](e
[K
](":")) : fc
(['Iframe style "', a
[c
], '" not allowed.'])
}
return b
[K
](";")
},
jc
= function (a
) {
if (a
[p
]("http:") == 0 || a
[p
]("https:") == 0) return a
;
if (a
[p
]("//") == 0) return i
[B
][H
] + a
;
if (a
[p
]("/") == 0) return i
[B
][H
] + "//" + i
[B
][Xa
] + a
;
var b
= i
[B
][H
] + "//" + i
[B
][Xa
] + i
[B
].
pathname;
return b
[I
](0, b.
lastIndexOf("/") + 1) + a

},
kc
= function (a
) {
return a
instanceof
ka
? a
[K
](",") : a
instanceof Object
? S.
p[va
](a
) : a

},
lc
= function (a
, b
, c
) {
var d
, e
, f
, g
= a
[p
]("#");
g
== -1 ? (d
= h
, e
= a
) : (d
= a
[I
](g
+ 1), e
= a
[I
](0, g
));
a
= e
[p
]("?");
a
== -1 ? f
= h
: (f
= e
[I
](a
+ 1), e
= e
[I
](0, a
));
var a
= c
? d
? [d
] : [] : f
? [f
] : [],
l
;
for (l
in b
) g
= kc
(b
[l
]), a
[n
]([bc
(l
), bc
(g
)][K
]("="));
c
? d
= a
[K
]("&") : f
= a
[K
]("&");
return e
+ (f
? "?" + f
: "") + (d
? "#" + d
: "")
},
mc
= function () {
return S.
g.
get("googleapis.config") || {}
},
nc
= function (a
) {
var b
= mc
().
elog;
if (b
) try {
b
(a
)
} catch (c
) {}
},
pc
= function (a
) {
a
&& a
[Ka
](Vb
) && oc
("gcv", a
)
},
qc
= function (a
) {
oc
("jsh", a
)
},
oc
= function (a
, b
) {
var c
= {};
c
[a
] = b
;
var d
= {};
d
["googleapis.config"] = c
;
S.
g.
update(d
)
},
rc
= function (a
, b
) {
var c
= b
|| {},
d
;
for (d
in a
) c
[d
] = a
[d
];
return c

},
sc
= function (a
) {
X.
va[a
] || (X.
va[a
] = {}, S.
e.
i(a
, function (b
, c
) {
var d
= this.
f;
if (typeof b
== "string" && !(b
in {}) && !(d
in {})) {
var e
= this.
callback,
f
= X.
va[a
][d
],
g
;
f
&& Object
[C
][G
](f
, b
) ? g
= f
[b
] : Object
[C
][G
](X.
ca, a
) && (g
= X.
ca[a
]);
if (g
) return d
= ka
[x
][Aa
][G
](arguments
, 1), g._iframe_wrapped_rpc_
&& e
&& d
[n
](e
), g
[wb
]({}, d
)
}
fc
(['Unregistered call in window "', i
[t
], '" for method "', a
, '", via proxyId "', b
, '" from frame "', d
, '".']);
return h

}));
return X.
va[a
]
},
tc
= function (a
, b
, c
, d
, e
) {
var f
= [],
g
;
for (g
in a
) {
var l
= b
,
q
= c
,
v
= a
[g
],
u
= d
,
s
= sc
(g
);
s
[l
] = s
[l
] || {};
u
= S.
d.
T(u
, v
);
v._iframe_wrapped_rpc_
&& (u._iframe_wrapped_rpc_
= !0);
s
[l
][q
] = u
;
f
[n
](g
)
}
if (e
) for (g
in X.
ca) f
[n
](g
);
return f
[K
](",")
},
vc
= function (a
, b
, c
) {
function d
(d
) {
var f
= ka
[x
][Aa
][G
](arguments
, 0),
g
= f
[f
[w
] - 1];
if (typeof g
=== "function") {
var l
= g
;
f.
pop()
}
f.
unshift(b
, a
, l
, c
);
if (g
= uc
(b
)) if (g
=== i
) S.
e[G
][wb
](S.
e, f
);
else g
= g.
gadgets.
rpc, g
[G
][wb
](g
, f
);
else fc
(['RPC not sent. Target iframeId "', b
, '" not found.'])
}
d._iframe_wrapped_rpc_
= !0;
return d

},
uc
= function (a
) {
if (a
== "..") return i
;
else if (k
[o
](a
)) return i
;
else for (var b
= 0; b
< X.
Ga[w
]; b
++) try {
var c
= X.
Ga[b
];
if (c
&& c
[ib
] && (c
[ib
] || k
)[o
](a
)) return c

} catch (d
) {}
return h

},
wc
= function (a
, b
, c
) {
var d
= {};
if (a
&& a._methods
) for (var a
= a._methods
[z
](","), e
= 0; e
< a
[w
]; e
++) {
var f
= a
[e
];
d
[f
] = vc
(f
, b
, c
)
}
return d

},
xc
= function (a
) {
var b
;
if (b
= W
) if (b
= W._open
) if (b
= a
[D
] != "inline") if (b
= a.
inline !== !0) {
a
: {
if (a
= a.
container) if (typeof a
== "string" && k
[o
](a
)) {
a
= !0;
break a

} else if (k
== (a.
ownerDocument || a
[ib
])) {
a
= !0;
break a

}
a
= !1
}
b
= !a

}
return b

},
yc
= function (a
) {
a
&& a
[yb
] && a
[yb
][nb
](a
)
},
zc
= function (a
) {
function b
() {}
oa
(b
, Y
[x
]);
oa
(a
, new b
)
},
Y
= function (a
, b
, c
, d
, e
, f
, g
) {
if (a
[Ea
](0) == ":") {
var l
= a
= S.
g.
get("iframes")[a
[I
](1)] || {},
q
;
q
= a.
url;
q
= (q
|| "")[Ba
](/:session_index:/g, mc
().
sessionIndex || "0");
q
= q
[Ba
](/:socialhost:/g, S.
g.
get("iframes")[":socialhost:"] || "");
l.
url = q
;
a.
params = a.
params || {}
} else a
= {
url
: a

};
a.
url = jc
(a.
url);
this.
g = a
;
this.
openParams = this.
Ma = b
;
this.
D = c
|| {};
this.
n = d
;
this.
aa = {};
this.
Xb(e
);
f
&& this.
v("close", f
);
this.
C = g
;
if (b
&& b.
superbatch || this.
g.
superbatch) b
= this.
D, c
= S.
g.
get("googleapis.config"), c.
debug && (b
["#debug"] = !0), c.
transport && c.
transport.
isProxyShared && (b
["#useSharedProxy"] = !0), c.
requestCache && c.
requestCache.
enabled && (b
["#rcache"] = !0), c.
sessionCache && c.
sessionCache.
enabled && (b
["#scache"] = !0)
};
M
= Y
[x
];
M.
A = Eb
("Ma");
M.
R = Eb
("D");
M.
P = Eb
("n");
M.
Q = Eb
("C");
M.
Xb = function (a
) {
var b
= this.
ic();
if (typeof b
=== "function") b
= b
(this);
else {
var c
= {},
d
;
for (d
in b
) {
var e
= b
[d
];
c
[d
] = typeof e
=== "function" ? S.
d.
T(b
, e
, this) : e

}
b
= c

}
for (var f
in a
) c
= b
[f
], typeof c
=== "function" && this.
v(a
[f
], S.
d.
T(b
, c
))
};
M.
v = function (a
, b
) {
this.
aa[a
] = this.
aa[a
] || [];
this.
aa[a
][n
](b
)
};
M.
W = function (a
, b
) {
var c
= this.
aa[a
];
if (c
) for (var d
= 0, e
= c
[w
]; d
< e
; ++d
) if (c
[d
] === b
) {
c
[Bb
](d
, 1);
break
}
};
M.
J = function (a
, b
) {
var c
, d
= this.
aa[a
];
if (d
) for (var e
= ka
[x
][Aa
][G
](arguments
, 1), f
= 0, g
= d
[w
]; f
< g
; ++f
) try {
c
= d
[f
][wb
]({}, e
)
} catch (l
) {
fc
(['Exception when calling callback "', a
, '" with exception "', l
[t
], ": ", l.
message, '".']), nc
(l
)
}
return c

};
M.
ic = function () {
var a
= this.
Ma[D
];
if (a
&& X.
Ba[a
]) return X.
Ba[a
];
else a
&& S
[db
](['Missing handler for style "', a
, '". Continuing with default handler.'][K
](""));
return ac

};
var Z
= function (a
, b
, c
, d
, e
, f
) {
Y
[G
](this, a
, b
, c
, d
, Yb
, e
, f
);
this.
id = b.
id || hc
();
this.
Ic = !! b.
rpcToken;
this.
Lb = b.
rpcToken || la.
round(Gb.
random() * 1E9
);
var a
= this.
D,
b
= {},
c
= this.
g.
params || {},
g
;
for (g
in a
) g
[Ea
](0) == "#" && (b
[g
[I
](1)] = a
[g
]), c
[g
] == "#" && (b
[g
] = a
[g
]);
for (var l
in b
) delete a
["#" + l
], delete a
[l
];
this.
nc = b
;
this.
Fa = {};
this.
J("open");
rc
(this.
Fa, this)
};
zc
(Z
);
M
= Z
[x
];
M.
ra = function (a
, b
) {
var c
= this.
g.
url,
d
= i
[B
][H
] + "//" + i
[B
][Xa
],
e
= this.
id,
f
= this.
D,
g
= mc
().
gcv;
!f.
gcv && g
&& (f.
gcv = g
);
g
= mc
().
jsh;
!f.
jsh && g
&& (f.
jsh = g
);
f
= rc
(this.
n);
f._ready
= this.
La;
f._close
= this[mb
];
f._open
= this.
uc;
f._resizeMe
= this.
Ac;
g
= this.
nc;
g.
id = e
;
g.
parent = d
;
g.
rpctoken = this.
Lb;
g._methods
= tc
(f
, e
, "", this, !0);
c
= lc
(c
, this.
D, !1);
c
= lc
(c
, g
, !0);
a
= typeof a
=== "string" ? k
[o
](a
) : a
;
if (this.
Ic) na
(a
, cc
(e
, c
, b
));
else if (X.
d.
lc()) {
na
(a
, cc
(e
, "about:blank", b
));
a
[r
].
src = c
;
try {
a
[r
].
contentDocument[B
].
href = c

} catch (l
) {}
} else {
d
= cc
(e
, c
, b
);
try {
na
(a
, d
)
} catch (q
) {
f
= k
[La
]("div");
for (na
(f
, d
); a
[r
];) a
[nb
](a
[r
]);
a.
appendChild(f
[r
])
}
}
this.
Ea = a
;
this.
qa = a
[r
];
X.
pa[e
] = this;
S.
e.
Qa(e
, this.
Lb);
S.
e.
Sa(e
, c
);
return this
};
M.
kb = function (a
, b
) {
this.
Fa[a
] = b

};
M.
z = Eb
("id");
M.
ma = Eb
("qa");
M.
Ka = Eb
("Ea");
M.
Ob = function (a
) {
this.
Ea = a

};
M.
La = function (a
) {
var b
= wc
(a
, this.
id, "");
this.
C && typeof this.
n._ready
== "function" && (a._methods
= tc
(b
, this.
C.
z(), this.
id, this, !1), this.
n._ready
(a
));
rc
(a
, this);
rc
(b
, this);
this.
J("ready")
};
M.
wc = function (a
, b
, c
) {
c._methods
= tc
(wc
(c
, a
, ""), this.
id, a
, this, !1);
b
(c
)
};
pa
(M
, function (a
) {
a
= this.
J("close", a
);
if (i
[Sa
] && i
[Sa
][t
] == X.
d.
Ca) {
var b
= i
[Sa
],
c
= b
[yb
];
c.
className == "friendlyIframeContainer" ? yc
(c
) : yc
(b
)
}
delete X.
pa[this.
id];
return a

});
M.
remove = function () {
yc
(k
[o
](this.
id))
};
M.
uc = function (a
) {
var b
= wc
(a.
params, this.
id, a.
proxyId);
delete a.
params._methods
;
if (a.
openParams.
anchor == "_parent") a.
openParams.
anchor = this.
Ea;
xc
(a.
openParams) ? new $
(a.
url, a.
openParams, a.
params, b
, b._onclose
, this) : a.
openParams[D
] === "expandable" && a.
openParams.
inline !== !0 && X.
d.
oa(i
) != i
? this.
tc(a
, b
) : (a
= this.
cb(new Z
(a.
url, a.
openParams, a.
params, b
, b._onclose
, this)), b._onopen
(a
))
};
M.
tc = function (a
, b
) {
var c
= ec
();
gc
(c
[ib
]);
var d
= a.
openParams.
id || hc
();
a.
openParams.
id = d
;
d
= S.
d.
T(this, this.
wc, d
, b._ready
);
b._ready
= d
;
var e
= S.
d.
T(c
, function (d
, c
) {
if (!d.
zb || typeof d.
zb[wa
] != "function") return !1;
var e
= d.
zb[wa
](a.
url, a.
openParams, a.
params, b
, b._onclose
, c
),
e
= c.
cb(e
);
b._onopen
(e
);
return !0
}, c
, this),
f
= i.
setInterval(function () {
e
() && i.
clearInterval(f
)
}, 10)
};
M.
cb = function (a
) {
var b
= {
childId
: a.
z()
},
c
= a.
Fa;
c._toclose
= a
[mb
];
b._methods
= tc
(c
, this.
id, a.
id, a
, !1);
return b

};
M.
Ac = function (a
) {
if (this.
J("resize", a
) === ba
&& this.
qa) {
var b
= +a
[za
];
isNaN
(b
) || ma
(this.
qa[D
], b
+ "px");
a
= +a
[J
];
isNaN
(a
) || ra
(this.
qa[D
], a
+ "px")
}
};
var $
= function (a
, b
, c
, d
, e
, f
) {
Y
[G
](this, a
, b
, c
, d
, Zb
, e
, f
);
this.
url = a
;
this.
K = h
;
this.
Db = hc
();
this.
J("beforeparentopen");
a
= rc
(this.
n);
a._onopen
= this.
sc;
a._ready
= this.
La;
a._onclose
= this.
rc;
this.
D._methods
= tc
(a
, "..", this.
Db, this, !0);
var a
= {},
g
;
for (g
in this.
D) a
[g
] = kc
(this.
D[g
]);
W._open
({
url
: this.
g.
url,
openParams
: this.
Ma,
params
: a
,
proxyId
: this.
Db
})
};
zc
($
);
$
[x
].
tb = Eb
("K");
$
[x
].
sc = function (a
) {
this.
K = a.
childId;
var b
= wc
(a
, "..", this.
K);
rc
(b
, this);
pa
(this, b._toclose
);
X.
pa[this.
K] = this;
this.
C && this.
n._onopen
&& (a._methods
= tc
(b
, this.
C.
z(), this.
K, this, !1), this.
n._onopen
(a
))
};
$
[x
].
La = function (a
) {
var b
= j
(this.
K),
c
= wc
(a
, "..", b
);
rc
(a
, this);
rc
(c
, this);
this.
J("ready");
this.
C && this.
n._ready
&& (a._methods
= tc
(c
, this.
C.
z(), b
, this, !1), this.
n._ready
(a
))
};
$
[x
].
rc = function (a
) {
if (this.
C && this.
n._onclose
) this.
n._onclose
(a
);
else return a
= this.
J("close", a
), delete X.
pa[this.
K], a

};
var Ac
= function (a
) {
return X.
Ba[a
]
},
Bc
= function (a
, b
) {
X.
Ba[a
] = b

},
Cc
= function (a
) {
a
= a
|| {};
a
[J
] === "auto" && ra
(a
, S
[eb
].
Ia());
W
&& W._resizeMe
&& W._resizeMe
(a
)
},
Dc
= function (a
) {
pc
(a
)
};
Ub
= function () {
function a
() {
try {
X.
ta = {
origin
: this[sa
],
referer
: this.
referer
};
for (var a
= 0; a
< X.
sa[w
]; ++a
) X.
sa[a
](X.
ta);
X.
sa = []
} catch (b
) {
nc
(b
)
}
}
X.
pa = {};
X.
Ba = {};
X.
xb = 0;
X.
Ga = [];
X.
va = {};
X.
ca = {};
X.
ta = h
;
X.
sa = [];
S.
e.
i("_noop_echo", function () {
this.
callback()
});
if (i
[ob
] !== i
) {
var b
= S.
d.
S();
b.
gcv && pc
(b.
gcv);
var c
= b.
jsh;
c
&& (qc
(c
), S.
g.
i("googleapis.config", h
, function () {
c
&& (qc
(c
), c
= h
)
}), i
[y
](function () {
c
= h

}, 0));
rc
(wc
(b
, "..", ""), W
);
rc
(b
, W
);
S.
g.
i("rpc", h
, function () {
S.
e[G
]("..", "_noop_echo", a
)
})
}
X.
ob = Ac
;
X.
Ra = Bc
;
X.
Mb = Dc
;
X.
Nb = qc
;
X.
Jb = Cc
;
X.
Kb = Cc
;
X.
Pb = Dc
;
X.
B = {};
X.
B.
get = Ac
;
X.
B.
set = Bc
;
X.
Za = function (a
, b
) {
sc
(a
);
X.
ca[a
] = b
|| i
[a
]
};
X.
Vc = function (a
) {
delete X.
ca[a
]
};
X.
open = function (a
, b
, c
, g
, l
, q
) {
arguments
[w
] == 3 ? g
= {} : arguments
[w
] == 4 && typeof g
=== "function" && (l
= g
, g
= {});
return xc
(b
) ? new $
(a
, b
, c
, g
, l
, q
) : new Z
(a
, b
, c
, g
, l
, q
)
};
pa
(X
, function (a
, b
) {
W
&& W._close
&& W._close
(a
, b
)
});
X.
Eb = function (a
, b
, c
) {
arguments
[w
] == 2 && typeof b
=== "function" && (c
= b
, b
= {});
a
= a
|| {};
"height" in a
|| ra
(a
, S
[eb
].
Ia());
a._methods
= tc
(b
, "..", "", W
, !0);
W
&& W._ready
&& W._ready
(a
, c
)
};
X.
qb = function (a
) {
X.
ta ? a
(X.
ta) : X.
sa[n
](a
)
};
X.
Ha = function () {
return i
[kb
] && i
[kb
]["__GOOGLEAPIS.jsurl"] ? i
[kb
]["__GOOGLEAPIS.jsurl"] : ["https://ssl.gstatic.com/gb/js/", mc
().
gcv][K
]("")
};
X.
Cb = function (a
) {
var b
= {
mouseover
: 1,
mouseout
: 1
};
if (W._event
) for (var c
= 0; c
< a
[w
]; c
++) {
var g
= a
[c
];
g
in b
&& S.
d.
ab(k
, g
, function (a
) {
W._event
({
event
: a.
type,
timestamp
: (new Date
)[Ta
]()
})
}, !0)
}
};
X.
Zc = nc
;
X.
yb = W

};
Ub
()
};
N
("iframes", [X
], {
Za
: "allow",
close: "close",
Ha
: "getGoogleConnectJsUri",
ob
: "getHandler",
qb
: "getParentInfo",
yb
: "iframer",
open: "open",
Cb
: "propagate",
Eb
: "ready",
Jb
: "resize",
Mb
: "setGoogleConnectJsVersion",
Nb
: "setJsHint",
Ra
: "setHandler",
Kb
: "resizeMe",
Pb
: "setVersionOverride"
});
N
("IframeBase.prototype", [Y
, Y
[x
]], {
v
: "addCallback",
P
: "getMethods",
Q
: "getOpenerIframe",
A
: "getOpenParams",
R
: "getParams",
W
: "removeCallback"
});
N
("Iframe.prototype", [Z
, Z
[x
]], {
close: "close",
kb
: "exposeMethod",
z
: "getId",
ma
: "getIframeEl",
Ka
: "getSiteEl",
ra
: "openInto",
remove
: "remove",
Ob
: "setSiteEl",
v
: "addCallback",
P
: "getMethods",
Q
: "getOpenerIframe",
A
: "getOpenParams",
R
: "getParams",
W
: "removeCallback"
});
N
("IframeProxy.prototype", [$
, $
[x
]], {
tb
: "getTargetIframeId",
v
: "addCallback",
P
: "getMethods",
Q
: "getOpenerIframe",
A
: "getOpenParams",
R
: "getParams",
W
: "removeCallback"
});
N
("iframes.handlers", [X
, X.
B], {
get
: "get",
set
: "set"
});
U.
M = "__GOOGLEAPIS";
U.
cc = function (a
) {
var b
= U.
b.
Wa,
c
= a.
lastIndexOf(b
);
return c
!= -1 && c
+ b
[w
] == a
[w
]
};
U.
jc = function (a
) {
return a
[I
](0, a
[p
]("."))
};
U.
m = function () {
U.
b.
m()
};
U.
i = function (a
) {
U.
b.
i(a
)
};
U.
Pa = function (a
) {
U.
b.
Pa(a
)
};
U.
ga = function (a
) {
U.
b.
ga(a
)
};
U.
Y = function (a
) {
U.
b.
Y(a
)
};
U.
wa = function (a
) {
U.
b.
wa(a
)
};
U.
Z = function (a
) {
U.
b.
Z(a
)
};
U.
xa = function (a
) {
U.
b.
xa(a
)
};
U.$
= function (a
) {
U.
k.$
(a
)
};
U.
ya = function (a
) {
U.
k.
ya(a
)
};
U.
G = function (a
, b
) {
U.
h.
G(a
, b
)
};
U.
ac = function () {
U.
h.
Tc()
};
U.
la = function (a
) {
return U.
h.
la(a
)
};
U.
qc = function (a
, b
) {
var b
= b
|| {},
c
= {
name: "googleapis",
execute
: U.
b.
jb
},
d
= T.
U(),
e
= this,
f
= {};
f.
method = a
;
f.
transport = c
;
f.
rpc = b
;
qa
(f
, function (f
) {
d.
add(a
, {
method
: a
,
rpc
: b
,
transport
: c

});
d
[zb
](function (b
) {
b
[m
] ? f
[G
](e
, b
[m
]) : f
[G
](e
, b
[a
])
})
});
return f

};
U.
U = function () {
return new U.
L
};
U.
ia = function (a
) {
U.
b.
ia(a
)
};
U.
ha = function (a
, b
) {
U.
b.
ha(a
, b
)
};
U.
fa = function (a
) {
U.
b.
fa(a
)
};
U.
h = Db
();
U.
h.
Ub = "googleapis.config";
U.
h.
ea = function (a
, b
) {
for (var c
in b
) {
var d
= b
[c
];
typeof d
=== "object" && d
!= h
? typeof a
== "object" ? (a
[c
] || (a
[c
] = {}), U.
h.
ea(a
[c
], d
)) : typeof a
== "boolean" && U.
h.
ea(a
, d
) : typeof a
== "object" ? a
[c
] = d
: a
= d

}
};
U.
h.
hc = function () {
var a
= S.
g.
get();
i
[U.
M] && U.
h.
ea(a
, i
[U.
M]);
var b
;
try {
b
= i
[kb
] && i
[kb
][U.
M]
} catch (c
) {}
b
&& U.
h.
ea(a
, S.
p[Ua
](b
));
return a

};
U.
h.
la = function (a
) {
return U.
h.
hc()[a
]
};
U.
h.
get = function () {
return U.
h.
la(U.
h.
Ub) || {}
};
U.
h.
I = function (a
) {
if (!a
) return h
;
var b
= a
;
typeof a
=== "string" && (b
= a
[z
]("."));
for (var a
= U.
h.
get(), c
= 0; c
< b
[w
]; c
++) {
if (typeof a
!== "object") {
a
= h
;
break
}
var d
= b
[c
];
if (d
in a
) a
= a
[d
];
else {
a
= h
;
break
}
}
return a

};
U.
h.
G = function (a
) {
i
[U.
M] = i
[U.
M] || {};
U.
h.
ea(i
[U.
M], a
)
};
U.
b = {};
U.
b.
Vb = "1.0.0-alpha";
U.
b.
Wa = ".delete";
U.
b.$a
= h
;
U.
b.
Sb = {};
U.
b.
V = [];
U.
b.
da = [];
U.
b.
i = function (a
) {
T.
Da(a
, {
name: "googleapis",
execute
: U.
b.
jb
});
var b
= U.
q.
Ja(a
, T
);
U.
q.
ka(a
, b
);
a
[p
]("googleapis.") != 0 && (a
= a
[I
](a
[p
](".") + 1), U.
cc(a
) && (a
= a
[Ba
](U.
b.
Wa, ".remove")), U.
q.
ka("googleapis." + a
, b
))
};
U.
b.
ia = function (a
) {
for (var b
in a
) a
[C
](b
) && (U.
b.
Sb[b
] = a
[b
])
};
U.
b.
Pa = function (a
) {
U.
b.$a
= a

};
U.
b.
ga = function (a
) {
U.
b.
ha("key", a
)
};
U.
b.
ha = function (a
, b
) {
b
== h
? U.
b.
fa(a
) : (U.
b.
F = U.
b.
F || {}, U.
b.
F[a
] = b
)
};
U.
b.
fa = function (a
) {
U.
b.
F && delete U.
b.
F[a
]
};
U.
b.
kc = function (a
) {
return U.
b.
Sb[a
]
};
U.
b.
Xa = function (a
) {
a
= a
|| {};
if (i
[xb
]) {
for (var b
= ["appVersion", "platform", "userAgent"], c
= [], d
= 0; d
< b
[w
]; d
++) i
[xb
][b
[d
]] && c
[n
](ca
(b
[d
]) + "=" + ca
(i
[xb
][b
[d
]]));
a
["X-ClientDetails"] = c
[K
]("&")
}
return a

};
U.
b.
eb = function (a
, b
) {
for (var c
= 0; c
< U.
b.
V[w
]; c
++) i
[y
](function (b
) {
return function () {
b
(a
)
}
}(U.
b.
V[c
]), 1);
var d
= U.
b.
da;
return function () {
var a
= arguments
;
b
[wb
](h
, a
);
for (var c
= 0; c
< d
[w
]; c
++) i
[y
](function (b
) {
return function () {
b
[wb
](h
, a
)
}
}(d
[c
]), 1)
}
};
U.
b.
Ya = function (a
) {
a.
applicationName = U.
b.$a
;
a.
clientVersion = U.
b.
Vb;
if (U.
b.
F) a.
urlParams = U.
b.
F, U.
b.
F.
key && (a.
developerKey = U.
b.
F.
key)
};
U.
b.
jb = function (a
, b
) {
for (var c
= 0; c
< a
[w
]; c
++) {
var d
= a
[c
],
e
= U.
jc(d
[Oa
]);
d.
jsonrpc = "2.0";
d.
key = d.
id;
(e
= U.
b.
kc(e
)) && (d.
apiVersion = e
)
}
c
= {};
c
= U.
k.
w(c
);
c
= U.
b.
Xa(c
);
c
= {
requests
: a
,
headers
: c

};
U.
b.
Ya(c
);
d
= U.
b.
eb(a
, b
);
U.
k.
za("makeRequest", c
, d
)
};
U.
b.
Y = function (a
) {
U.
b.
V[n
](a
)
};
U.
b.
Z = function (a
) {
U.
b.
da[n
](a
)
};
U.
b.
wa = function (a
) {
for (var b
= 0; b
< U.
b.
V[w
]; b
++) if (U.
b.
V[b
] == a
) {
U.
b.
V[Bb
](b
, 1);
break
}
};
U.
b.
xa = function (a
) {
for (var b
= 0; b
< U.
b.
da[w
]; b
++) if (U.
b.
da[b
] == a
) {
U.
b.
da[Bb
](b
, 1);
break
}
};
U.
b.
dc = function (a
, b
) {
for (var c
= 0, d
= a
[w
]; c
< d
; c
++) {
var e
= a
[c
];
e.
key = e.
id;
var f
= e.
params.
headers || {},
f
= U.
k.
w(f
),
f
= U.
b.
Xa(f
);
e.
params.
headers = f
;
U.
b.
Ya(e.
params)
}
c
= U.
b.
eb(a
, b
);
U.
k.
za("makeHttpRequests", a
, c
)
};
U.
b.
m = function () {
function a
(a
, c
) {
b
[a
] && c
(b
[a
] == "true")
}
var b
= S.
d.
S();
a
("debug", function (a
) {
U.
G({
"googleapis.config": {
debug
: a

}
})
});
a
("useSharedProxy", function (a
) {
U.
G({
"googleapis.config": {
transport
: {
useSharedProxy
: a

}
}
})
});
a
("rcache", function (a
) {
U.
G({
"googleapis.config": {
requestCache
: {
enabled
: a

}
}
})
});
a
("scache", function (a
) {
U.
G({
"googleapis.config": {
sessionCache
: {
enabled
: a

}
}
})
});
var c
= U.
h.
get(),
d
;
for (d
in c.
methods) U.
b.
i(d
);
"versions" in c
&& U.
b.
ia(c.
versions);
"developerKey" in c
&& U.
b.
ga(c.
developerKey);
S.
e.
i("ready", function () {
U.
k.
Bb()
});
T.
Da("googleapis.newHttpRequest", {
name: "googleapis",
execute
: U.
b.
dc
});
U.
q.
ka("googleapis.newHttpRequest", U.
q.
Ja("googleapis.newHttpRequest", T
))
};
S.
g.
i("googleapis.config", h
, function () {
U.
b.
m()
});
U.
L = function () {
this.
fb = {};
this.
bb = T.
U()
};
U.
L[x
].
add = function (a
, b
, c
) {
this.
fb[a
] = c
;
this.
bb.
add(a
, b
);
return this
};
qa
(U.
L[x
], function (a
) {
var b
= this;
this.
bb[zb
](function (c
) {
var d
= {},
e
= !1,
f
;
for (f
in c
) if (c
[C
](f
)) {
var g
= c
[f
],
l
= b.
fb[f
];
l
? l
(g
) : (d
[f
] = g
, e
= !0)
}
e
&& a
&& a
(d
)
})
});
U.
Ta = {};
U.
Ta.
start = function (a
, b
) {
U.
k.
Qb(a
, b
)
};
if (!U.
q.
Ja("googleapis.logging")) U.
oc = function () {
function a
() {
return !b
? ba
: S.
g.
get("googleapis").
ilog
}
var b
= !1,
c
= h
;
U.
Y(function (b
) {
var c
= a
();
if (c
) if (k
[o
]("apiproxy")) {
if (b
[w
] && b
[0][Oa
]) {
var f
= {
dlm
: b
[0][Oa
]
};
b
[0][Oa
] == "pos.plusones.insert" ? f.
dlpo = "ireq" : b
[0][Oa
] == "pos.plusones.delete" && (f.
dlpo = "dreq");
c
(f
)
}
} else c
({
dlpo
: "missing proxy"
})
});
U.
Z(function (b
) {
var c
= a
();
if (c
) {
var f
= {},
g
;
for (g
in b
) break;
"error" in b
[g
] ? (f.
dlr = g
+ "-err", b
[g
][m
][Ra
] && (f.
ecode = b
[g
][m
][Ra
]), b
[g
][m
].
message && (f.
emsg = b
[g
][m
].
message)) : f.
dlr = g
+ "-ok";
var l
= h
;
b
["pos.plusones.insert"] ? l
= "i" : b
["pos.plusones.delete"] ? l
= "d" : g
= h
;
g
!= h
&& (b
[g
][m
] ? (f.
dlpo = l
+ "err", b
[g
][m
][Ra
] && (f.
c = b
[g
][m
][Ra
])) : f.
dlpo = l
+ "ok");
c
(f
)
}
});
U.$
(function (b
, e
) {
var f
= a
();
if (f
) if (b
== "loading") c
= e
, f
({
dlpo
: "loadIframe"
});
else if (b
== "ready") {
var g
= {
dlpo
: "iframeLoaded"
};
c
&& (g.
loadTime = e
- c
);
f
(g
)
}
});
return {
enable
: function (a
) {
b
= a

}
}
}(), U.
q.
ka("googleapis.logging", U.
oc);
N
("googleapis.ApiClient", [U
, U.
b], {
i
: "register",
ia
: "setVersions",
ga
: "setDeveloperKey",
ha
: "setUrlParameter",![]()