Skip to content

Instantly share code, notes, and snippets.

@justpsvm

justpsvm/krpano.js

Created May 22, 2018
Embed
What would you like to do?
解密后的 krpano.js 版本号: krpano-1.19-pr15
/*
krpano Embedding Script
krpano 1.19-pr4 (build 2016-04-07)
*/
function createPanoViewer(e) {
function ut(e) {
return ("" + e).toLowerCase()
}
function at(e, t) {
return e[d](t) >= 0
}
function ft() {
var t, r, i, s, o, u, a, f, l = n.location;
l = l.search || l.hash;
if (l) {
t = ".html5.flash.wmode.mobilescale.fakedevice.", r = l[R](1)[j]("&");
for (i = 0; i < r[M]; i++) s = r[i], o = s[d]("="), o == -1 && (o = s[M]), u = s[R](0, o), a = ut(u), f = s[R](o + 1), t[d]("." + a) >= 0 ? e[a] = f : a[N](0, 9) == "initvars." ? (e[O] || (e[O] = {}), e[O][u[N](9)] = f) : e.addVariable(u, f)
}
}
function lt(e) {
return e[P] = ft, e
}
function ct() {
function x() {
var e, n, i, s, o, u, a;
if (t.plugins) {
e = t.plugins["Shockwave Flash"];
if (typeof e == "object") {
n = e.description;
if (n) {
i = v, t[q] && (s = t[q]["application/x-shockwave-flash"], s && (s.enabledPlugin || (i = p)));
if (i) {
o = n[j](" ");
for (u = 0; u < o[M]; ++u) {
a = parseFloat(o[u]);
if (isNaN(a)) continue;
return a
}
}
}
}
}
if (r[G]) try {
e = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
if (e) {
n = e.GetVariable("$version");
if (n) return parseFloat(n[j](" ")[1][j](",").join("."))
}
} catch (f) {}
return 0
}
function T() {
var e, t, i = p,
s = n[Z]("div");
for (e = 0; e < 5; e++)
if (typeof s.style[["p", "msP", "MozP", "WebkitP", "OP"][e] + "erspective"] != U) {
i = v, e == 3 && r.matchMedia && (t = r.matchMedia("(-webkit-transform-3d)"), t && (i = t.matches == v));
break
}
return i
}
function C() {
var e, t, i = {
failIfMajorPerformanceCaveat: v
};
if (r._krpWGL == v) return v;
try {
e = n[Z]("canvas");
for (t = 0; t < 4; t++)
if (e.getContext([B, "experimental-webgl", "moz-webgl", "webkit-3d"][t], i)) return r._krpWGL = v, v
} catch (s) {}
return p
}
var l, c, h, m, g, y, b, w, E, S;
if (s > 0) return;
l = p, c = p, h = p, c = C();
if (e.isDevice("iphone|ipad|ipod") && i[d]("opera mini") < 0) a = f = v, l = v;
else {
o = x(), o >= 10.1 && (u = v), l = T(), m = ut(t.platform), g = 0, y = 0, b = 0, w = i[d]("firefox/"), w < 0 && (w = i[d]("gecko/")), w >= 0 && (g = parseInt(i[N](1 + i[d]("/", w)), 10)), h = !!r[et], w = i[d](et), w > 0 && (b = parseInt(i[N](w + 7), 10), h = v), w = i[d](tt), w > 0 && (y = parseInt(i[N](w + 8), 10), g >= 18 && (y = 4)), l && (y > 0 && y < 4 && (l = p), g > 3 && g < 18 && y > 1 && (c = l = p), c || (m[d](Q) < 0 && g > 3 && y < 1 && (l = p), h && (l = p)));
if (l || c) {
a = v, E = i[d]("blackberry") >= 0 || i[d]("rim tablet") >= 0 || i[d]("bb10") >= 0, S = (t.msMaxTouchPoints | 0) > 1;
if (y >= 4 || E || S) f = v
}
}
s = 1 | l << 1 | c << 2 | h << 3
}
function ht(e) {
function L(e) {
function a() {
r[m] ? (r[m]("DOMMouseScroll", c, p), r[m]("mousewheel", c, p), n[m]("mousedown", f, p), n[m]("mouseup", l, p)) : (r.opera ? r.attachEvent(_, c) : r[_] = n[_] = c, n.onmousedown = f, n.onmouseup = l)
}
function f(e) {
e || (e = r.event, e[w] = e[X]), u = e ? e[w] : x
}
function l(e) {
var t, i, s, a, f, l, c, h;
e || (e = r.event, e[w] = e[X]), t = 0, i = o[M];
for (t = 0; t < i; t++) {
s = o[t];
if (s) {
a = n[s.id];
if (a && s.needfix) {
f = a[S](), l = a == e[w], c = a == u, h = e.clientX >= f.left && e.clientX < f.right && e.clientY >= f.top && e.clientY < f.bottom;
if ((l || c) && h == p) try {
a[I] && a[I](0, "mouseUp")
} catch (d) {}
}
}
}
return v
}
function c(t) {
var i, u, a, f, l, c;
t || (t = r.event, t[w] = t[X]), i = 0, u = p, t.wheelDelta ? (i = t.wheelDelta / 120, r.opera && s && (i /= 4 / 3)) : t.detail && (i = -t.detail, s == p && (i /= 3));
if (i) {
a = 0, f = o[M];
for (a = 0; a < f; a++) {
l = o[a];
if (l) {
c = n[l.id];
if (c && c == t[w]) {
try {
c.jswheel ? c.jswheel(i) : c[b] ? c[b](i) : c[k] && (c[k](), c[b] && c[b](i))
} catch (h) {}
u = v;
break
}
}
}
}
e[$] == p && (u = p);
if (u) return t[nt] && t[nt](), t[st] && t[st](), t.cancelBubble = v, t.cancel = v, n[m] || (t.returnValue = p), p
}
var i, s = ut(t.appVersion)[d](Q) >= 0,
o = r._krpMW,
u = x;
o || (o = r._krpMW = new Array, a()), i = e[y], o.push({
id: e.id,
needfix: s || !!r[et] || i == "opaque" || i == "transparent"
})
}
var i, s, o, u, a, f, l = encodeURIComponent,
c = "",
h = e[rt],
T = e[H],
N = e.id;
for (;;) {
s = n[E](N);
if (!s) break;
N += String.fromCharCode(48 + Math.floor(9 * Math.random())), e.id = N
}
e[y] && (T[y] = e[y]), e[C] && (T[C] = e[C]), e[z] !== undefined && (h[z] = e[z]), e[y] = ut(T[y]), T.allowfullscreen = "true", T.allowscriptaccess = it, i = "browser.", c = i + "useragent=" + l(t.userAgent) + "&" + i + "location=" + l(r.location.href);
for (i in h) c += "&" + l(i) + "=" + l(h[i]);
i = O, h = e[i];
if (h) {
c += "&" + i + "=";
for (i in h) c += "%26" + l(escape(i)) + "=" + l(escape(h[i]))
}
T.flashvars = c, e[A] && (T.base = e[A]), o = "", u = ' id="' + N + '" width="' + e.width + '" height="' + e.height + '" style="outline:none;" ', a = "_krpcb_" + N, !e[F] || (r[a] = function() {
try {
delete r[a]
} catch (t) {
r[a] = x
}
e[F](n[E](N))
});
if (t.plugins && t[q] && !r[G]) {
o = '<embed name="' + N + '"' + u + 'type="application/x-shockwave-flash" src="' + e.swf + '" ';
for (i in T) o += i + '="' + T[i] + '" ';
o += " />"
} else {
o = "<object" + u + 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="' + e.swf + '" />';
for (i in T) o += '<param name="' + i + '" value="' + T[i] + '" />';
o += "</object>"
}
e[g].innerHTML = o, e.focus === v && (f = n[E](N), f && f.focus()), L(e)
}
function pt(e) {
typeof embedpanoJS !== U ? embedpanoJS(e) : e[T]("krpano HTML5 Viewer not available!")
}
function dt(n, r) {
var u, a, f, l;
n == 1 ? (o >= 11.4 && (u = v, ut(t.platform)[d](Q) >= 0 && ut(t.vendor)[d]("apple") >= 0 && (a = i[d]("webkit/"), a > 0 && (a = parseFloat(i[N](a + 7)), !isNaN(a) && a > 0 && a < 534 && (u = p))), u && (e[y] == x && !e[H][y] ? e[y] = s & 8 ? "window" : "direct" : (f = ("" + e[y])[d]("-flash"), f > 0 && (e[y] = e[y][N](0, f))))), ht(e)) : n == 2 ? pt(e) : (l = "", r < 2 && (l += "Adobe Flashplayer"), r == 0 && (l += " or<br/>"), r != 1 && (l += "HTML5 Browser with WebGL ", at(ut(e[W]), B) || (l += "or CSS3D "), l += "support"), l += " required!", e[T](l))
}
function vt() {
var t = 'Local usage with <span style="border:1px solid gray;padding:0px 3px;">file://</span> urls is limited due browser security restrictions!<br><br>Use a localhost server (like the <a href="http://krpano.com/tools/ktestingserver/#top" style="color:white;">krpano Testing Server</a>) for local testing!<br>Just start the krpano Testing Server and refresh this page.<br><br><a href="http://krpano.com/docu/localusage/#top" style="color:gray;font-style:italic;text-decoration:none;">More information...</a>';
e[T](t)
}
function mt(e, t, n) {
var r;
try {
r = new XMLHttpRequest, r.responseType = "text", r.open("GET", e, v), r.onreadystatechange = function() {
var e;
r.readyState === 4 && (e = r.status, e == 0 && r.responseText || e == 200 ? t() : n())
}, r.send(x)
} catch (i) {
n()
}
}
var t, n, r, i, s, o, u, a, f, l, c, h, p = !1,
d = "indexOf",
v = !0,
m = "addEventListener",
g = "targetelement",
y = "wmode",
b = "externalMouseEvent",
w = "target",
E = "getElementById",
S = "getBoundingClientRect",
x = null,
T = "onerror",
N = "slice",
C = "bgcolor",
k = "enable_mousewheel_js_bugfix",
L = "localfallback",
A = "flashbasepath",
O = "initvars",
M = "length",
_ = "onmousewheel",
D = "fallback",
P = "passQueryParameters",
H = "params",
B = "webgl",
j = "split",
F = "onready",
I = "externalMouseEvent2",
q = "mimeTypes",
R = "substring",
U = "undefined",
z = "xml",
W = "html5",
X = "srcElement",
V = "basepath",
$ = "mwheel",
J = "flash",
K = "consolelog",
Q = "mac",
G = "ActiveXObject",
Y = "never",
Z = "createElement",
et = "chrome",
tt = "android",
nt = "stopPropagation",
rt = "vars",
it = "always",
st = "preventDefault",
ot = "only";
return t = navigator, n = document, r = window, i = ut(t.userAgent), s = 0, o = 0, u = p, a = p, f = v, e || (e = {}), l = e[P] === v, e.swf || (e.swf = "krpano.swf"), e[z] === undefined && (e[z] = e.swf[j](".swf").join(".xml")), e.id || (e.id = "krpanoSWFObject"), e.width || (e.width = "100%"), e.height || (e.height = "100%"), e[C] || (e[C] = "#000000"), e[y] || (e[y] = x), e[w] || (e[w] = x), e[W] || (e[W] = "auto"), e[J] || (e[J] = x), e[$] === undefined && (e[$] = v), e[rt] || (e[rt] = {}), e[H] || (e[H] = {}), e[F] || (e[F] = x), e.mobilescale || (e.mobilescale = .5), e.fakedevice || (e.fakedevice = x), e[L] || (e[L] = "http://localhost:8090"), e[V] ? e[A] = e[V] : (c = "./", h = e.swf.lastIndexOf("/"), h >= 0 && (c = e.swf[N](0, h + 1)), e[V] = c), e.isDevice = function(e) {
var t, n, r, s = "all",
o = ["ipad", "iphone", "ipod", tt];
for (t = 0; t < 4; t++) i[d](o[t]) >= 0 && (s += "|" + o[t]);
e = ut(e)[j]("|");
if (e == x) return v;
n = e[M];
for (t = 0; t < n; t++) {
r = e[t];
if (s[d](r) >= 0) return v
}
return p
}, e.addVariable = function(t, n) {
t = ut(t), t == "pano" || t == z ? e[z] = n : e[rt][t] = n
}, e.addParam = function(t, n) {
e[H][ut(t)] = n
}, e.useHTML5 = function(t) {
e[W] = t
}, e.isHTML5possible = function() {
return ct(), a
}, e.isFlashpossible = function() {
return ct(), u
}, e[T] || (e[T] = function(t) {
var n = e[g];
n ? n.innerHTML = '<table style="width:100%;height:100%;"><tr style="vertical-align:middle;text-align:center;"><td>ERROR:<br><br>' + t + "<br><br></td></tr></table>" : alert("ERROR: " + t)
}), e.embed = function(t) {
var i, o, f, c, h, m;
t && (e[w] = t), e[g] = n[E](e[w]), e[g] ? (l && ft(), e.focus === undefined && e[g][S] && (i = e[g][S](), e.focus = i.top == 0 && i.left == 0 && i.right >= r.innerWidth && i.bottom >= r.innerHeight), e[$] == p && (e[rt]["control.disablewheel"] = v), e[K] && (e[rt][K] = e[K]), s == 0 && ct(), o = ut(e[W]), f = e[J], f && (f = ut(f), f == "prefer" ? o = D : f == D ? o = "prefer" : f == ot ? o = Y : f == Y && (o = ot)), c = 0, h = 0, m = a, m && at(o, B) && (m = s & 4), o == Y ? (c = u ? 1 : 0, h = 1) : at(o, ot) ? (c = m ? 2 : 0, h = 2) : at(o, it) ? c = h = 2 : o == D ? c = u ? 1 : a ? 2 : 0 : c = m ? 2 : u ? 1 : 0, c == 2 && ut(location.href[N](0, 7)) == "file://" ? mt(location.href, function() {
dt(c, h)
}, function() {
var t, n = ut(e[L]);
n == J ? u ? dt(1, 0) : vt() : n == "none" ? dt(c, h) : n[d]("://") > 0 ? (t = new Image, t[T] = vt, t.onload = function() {
location.href = n + "/krpanotestingserverredirect.html?" + location.href
}, t.src = n + "/krpanotestingserver.png") : vt()
}) : dt(c, h)) : e[T]("No Embedding Target")
}, lt(e)
}
function removepano(e) {
var t, n, r, i, s = document.getElementById(e);
if (s) {
t = window._krpMW;
if (t)
for (n = 0; n < t.length; n++) {
r = t[n];
if (r && r.id === e) {
t.splice(n, 1);
break
}
}
s.unload && s.unload(), i = s.parentNode, i && i.removeChild(s)
}
}
function embedpano(e) {
createPanoViewer(e).embed()
};
/*
krpano HTML5 Viewer
krpano 1.19-pr4 (build 2016-04-07)
*/
var krpanoJS = {
version: "1.19-pr4",
build: "2016-04-07"
};
function embedpanoJS(p) {
function embedhtml5(ed, Jc) {
function Zd() {
function F(a) {
return ("" + a).toLowerCase()
}
function ya(a, c) {
if (!a) return a;
var w = 0,
b = 0,
e, n = a.length,
h;
for (e = 0; e < n; e++)
if (h = a.charCodeAt(e), 32 >= h) w++;
else break;
for (e = n - 1; 0 < e; e--)
if (h = a.charCodeAt(e), 32 >= h) b++;
else break;
void 0 === c && (e = a.charAt(w), h = a.charAt(n - b - 1), ("'" == e && "'" == h || '"' == e && '"' == h) && 3 == a.split(e).length && (w++, b++));
return a = a.slice(w, n - b)
}
function ma(a) {
return _[55] === typeof a ? a : 0 <= _[402].indexOf(String(a).toLowerCase())
}
function qa(a, c) {
if (typeof a != c) {
if (_[540] == c) return Number(a);
if (_[55] == c) return ma(a);
if (_[1] == c) return null == a ? null : String(a)
}
return a
}
function sa(a) {
return Number(a).toFixed(6)
}
function va(a, c, w, b) {
a.__defineGetter__(c, w);
void 0 !== b && a.__defineSetter__(c, b)
}
function Eb(a, c, w) {
a.__defineGetter__(c, function() {
return a[w]
});
a.__defineSetter__(c, function(c) {
a[w] = c
})
}
function ta(a, c, w) {
var b = "_" + c;
a[b] = w;
a.__defineGetter__(c, function() {
return a[b]
});
a.__defineSetter__(c, function(c) {
c = qa(c, typeof w);
c != a[b] && (a[b] = c, a.haschanged = !0)
})
}
function na(a) {
a && a.preventDefault()
}
function ca(a, c, w, b) {
a && a.addEventListener(c, w, b)
}
function ka(a, c, w, b) {
a && a.removeEventListener(c, w, b)
}
function jb(a, c, w, b, e) {
c[a + _[320]](w, b, e)
}
function Ja(a) {
var c = ba.createElement(1 == a ? "img" : 2 == a ? _[541] : "div");
c && 1 == a && "off" != ud && (c.crossOrigin = ud);
return c
}
function Kc(a) {
return function() {
return a.apply(a, arguments)
}
}
function vd(a) {
return a.split("<").join("&lt;").split(">").join("&gt;")
}
function wa(a, c) {
var w = "(" + (a >> 16 & 255) + "," + (a >> 8 & 255) + "," + (a & 255);
void 0 === c && (c = 1 - (a >> 24 & 255) / 255);
return (1 > c ? "rgba" + w + "," + c : "rgb" + w) + ")"
}
function $d(a) {
return a.split("[").join("<").split("<<").join("[").split("]").join(">").split(">>").join("]")
}
function fd(a, c) {
a = Number(a);
c = Number(c);
return a - 360 * Math.round((a - c) / 360)
}
function gd(a) {
if (a) {
var c = a.indexOf("?");
0 <= c && (a = a.slice(0, c));
c = a.indexOf("#");
0 <= c && (a = a.slice(0, c))
}
return a
}
function ed(a) {
a = gd(a);
var c = a.lastIndexOf("/"),
w = a.lastIndexOf("\\");
w > c && (c = w);
return a.slice(c + 1)
}
function wd(a, c) {
var w = String(a).charCodeAt(0);
return 48 <= w && 57 >= w ? (oa(3, c + _[167]), !1) : !0
}
function Zd(a, c) {
for (var w = "", b = 0, e = 1, n = 0, h = 0; 1 == e && 0 == b;) {
var g, z = a.indexOf("*", n),
w = "";
0 > z ? (z = a.length, b = 1) : (w = a.indexOf("*", z + 1), 0 > w && (w = a.length), g = w - (z + 1), w = a.substr(z + 1, g));
g = z - n;
0 < g && c.substr(h, b ? void 0 : g) != a.substr(n, g) && (e = 0);
n = z + 1;
"" != w && (h = c.indexOf(w, h), 0 > h && (e = 0))
}
return !!e
}
function Lc(a, c, w, b) {
for (; 32 >= a.charCodeAt(c);) c++;
for (; 32 >= a.charCodeAt(w - 1);) w--;
var e = a.charCodeAt(c);
if (37 == e) a = Q(a.slice(c + 1, w), b);
else if (103 == e && "get(" == a.slice(c, c + 4)) {
for (c += 4; 32 >= a.charCodeAt(c);) c++;
for (w = a.lastIndexOf(")"); 32 >= a.charCodeAt(w - 1);) w--;
a = Q(a.slice(c, w), b)
} else 99 == e && "calc(" == a.slice(c, c + 5) ? a = Q(a.slice(c, w), b) : (b = a.charCodeAt(c), 39 != b && 34 != b || b != a.charCodeAt(w - 1) || (c++, w--), a = a.slice(c, w));
return a
}
function xd(a) {
var c = [];
if (null == a || void 0 == a) return c;
var w, b = 0,
e, n, h = 0;
a = F(a);
e = a.length;
for (w = 0; w < e; w++) n = a.charCodeAt(w), 40 == n ? h++ : 41 == n ? h-- : 46 == n && 0 == h && (c.push(a.slice(b, w)), b = w + 1);
c.push(a.slice(b));
return c
}
function Na(a, c) {
var b = !1;
a = F(a);
var f, e, n, h;
n = hd[a];
null != n && void 0 !== n && "" != n && (Ob(n, null, c), b = !0);
h = hd.getArray();
e = h.length;
for (f = 0; f < e; f++)
if (n = h[f]) n = n[a], null != n && void 0 !== n && "" != n && (Ob(n, null, c), b = !0);
return b
}
function da(a, c, b, f, e) {
if (c && _[1] == typeof c) {
var n = c.slice(0, 4);
"get:" == n ? c = Q(c.slice(4)) : "calc" == n && 58 == c.charCodeAt(4) && (c = X.calc(null, c.slice(5)))
}
var n = null,
h, g = xd(a);
h = g.length;
if (1 == h && f && (n = g[0], void 0 !== f[n])) {
f[n] = _[55] == typeof f[n] ? ma(c) : c;
return
}
var z = l,
n = null;
1 < h && (n = g[h - 1]);
for (a = 0; a < h; a++) {
var ua = g[a],
r = a == h - 1,
y = null,
p = ua.indexOf("[");
0 < p && (y = Lc(ua, p + 1, ua.length - 1, f), ua = ua.slice(0, p));
p = !1;
if (void 0 === z[ua]) {
if (b) break;
r || (null == y ? z[ua] = new id : (z[ua] = new pb(id), p = !0))
} else p = !0; if (p && 0 == r && z[ua] && 1 == z[ua].isArray && null != y)
if (r = null, z = z[ua], r = b ? z.getItem(y) : z.createItem(y)) {
if (a == h - 2 && "name" == n) {
c = F(c);
y != c && (null == c || "null" == c || "" == c ? z.removeItem(y) : z.renameItem(y, c));
break
}
z = r;
continue
} else break;
if (r) z[ua] = 1 == e ? c : qa(c, typeof z[ua]);
else if (z = z[ua], null == z) break
}
}
function ae(a) {
if (a && "null" != a) {
if (_[1] == typeof a) {
var c = a.split("&"),
b = c.length,
f;
a = {};
for (f = 0; f < b; f++) {
var e = c[f].split("=");
a[e[0]] = e[1]
}
}
for (var n in a) "xml" != n && da(n, a[n])
}
}
function Q(a, c, b) {
if (a && "calc(" == ("" + a).slice(0, 5)) return X.calc(null, a.slice(5, a.lastIndexOf(")")));
var f, e, n = xd(a);
f = n.length;
if (1 == f && _[324] == n[0]) return c ? c._type + "[" + c.name + "]" : "";
if (1 == f && c && (e = n[0], c.hasOwnProperty(e))) return c[e];
var h = l;
for (a = 0; a < f; a++) {
e = n[a];
var g = a == f - 1,
z = null,
ua = e.indexOf("[");
0 < ua && (z = Lc(e, ua + 1, e.length - 1, c), e = e.slice(0, ua));
if (h && void 0 !== h[e]) {
if (null != z && (ua = h[e]) && ua.isArray)
if (e = ua.getItem(z)) {
if (g) return e;
h = e;
continue
} else break;
if (g) return h[e];
h = h[e]
} else break
}
return !0 === b ? void 0 : null
}
function Ob(a, c, b) {
X.callaction(a, c, b)
}
function We(a, c, b) {
Ob(a, c ? Q(c) : null, b ? ma(b) : null)
}
function oa(a, c) {
!yd && (0 < a || l.debugmode) && (c = ["DEBUG", "INFO", _[519], "ERROR", _[378]][a] + ": " + c, V.log(c), 2 < a && l.showerrors && setTimeout(function() {
try {
V.showlog(!0)
} catch (a) {}
}, 500))
}
function Ga(a, c) {
if (!yd) {
a = "" + a;
var w = 0 < F(a).indexOf("load");
a = vd(a).split("[br]").join("<br/>");
var f = La.createItem(_[466]),
e = La.createItem(_[464]);
f.sprite || (f.create(), V.controllayer.appendChild(f.sprite));
e.sprite || (e.create(), V.controllayer.appendChild(e.sprite));
f.imagewidth = 1;
f.imageheight = 1;
f.loaded = !0;
f.handcursor = !1;
f.align = _[82];
f.width = "100%";
f.height = "100%";
f.alpha = .5;
f.keep = !0;
f = f.sprite.style;
f.backgroundColor = _[38];
f.zIndex = 99999998;
w && (e.visible = !1);
e.imagewidth = 1;
e.imageheight = 1;
e.loaded = !0;
e.handcursor = !1;
e.align = _[87];
e.y = 0;
e.width = "105%";
var n = b.ie || b.android ? -2 : 2;
e.height = n + 46 / aa;
e.keep = !0;
f = e.sprite.style;
f.backgroundColor = _[38];
f.color = _[54];
f.fontFamily = b.realDesktop && !b.ie ? _[30] : _[20];
f.fontSize = "12px";
f.margin = "-2px";
f.border = _[258];
c || (c = _[302]);
e.sprite.innerHTML = _[178] + c + "<br/>" + a + _[334];
f.zIndex = 99999999;
f[jd] = _[219];
e.jsplugin = {
onresize: function(a, c) {
var b = e.sprite.childNodes[0].clientHeight;
e.height = n + Math.max(46, b) / aa;
0 >= b && (e.imageheight = 1)
}
};
setTimeout(function() {
try {
e.visible = !0
} catch (a) {}
}, w ? 500 : 10)
}
}
function Xe() {
fb.removeelements(!0);
xe.stop();
gb.unregister();
cb.unload();
V.remove()
}
function Ye() {
this.caller = this.args = this.cmd = null
}
function qb(a, c, b) {
var f = null;
if (null == a || "" == a) return null;
for (var e = 0, n = 0, h = 0, g = 0, z = 0, l = 0, r = 0, y = 0, p = "", p = 0, p = a.charCodeAt(z); 0 < p && 32 >= p || 59 == p;) z++, p = a.charCodeAt(z);
for (var v = Ze, t = 0, n = a.length, e = z; e < n; e++)
if (p = a.charCodeAt(e), 0 == y && 0 == r && 40 == p) h++;
else if (0 == y && 0 == r && 41 == p) {
if (g++, h == g) {
l = e + 1;
p = a.slice(z, l);
v[t++] = p;
z = l;
for (p = a.charCodeAt(z); 0 < p && 32 >= p;) z++, p = a.charCodeAt(z);
p = a.charCodeAt(z);
if (59 != p) {
l = n;
break
}
z++;
for (p = a.charCodeAt(z); 59 == p || 0 < p && 32 >= p;) z++, p = a.charCodeAt(z);
e = z
}
} else 34 == p ? 0 == r ? r = 1 : 1 == r && (r = 0) : 39 == p ? 0 == r ? r = 2 : 2 == r && (r = 0) : 91 == p && 0 == r ? y++ : 93 == p && 0 == r && y--;
l != n && (p = a.slice(z, n), 0 < p.length && (v[t++] = p));
n = t;
for (e = 0; e < n; e++)
if (p = v[e], r = p.indexOf("["), a = p.indexOf("]"), h = p.indexOf("("), 0 < r && 0 < a && h > r && h < a && (h = p.indexOf("(", a)), g = a = null, 0 < h ? (a = p.slice(0, h), g = ya(p.slice(h + 1, p.lastIndexOf(")")), !1), 0 >= g.length && (g = null)) : (a = p, g = null), a = ya(a), "//" != a.slice(0, 2)) {
z = [];
if (null != g) {
for (var l = g.length, h = 0, q = t = -1, x = r = 0, p = null, y = 0; y < l; y++) p = g.charCodeAt(y), 0 == r && 40 == p ? h++ : 0 == r && 41 == p ? h-- : 34 == p ? 1 == r && 0 <= t ? (t = -1, r = 0) : 0 == r && (t = y, r = 1) : 39 == p && (2 == r && 0 <= q ? (q = -1, r = 0) : 0 == r && (q = y, r = 2)), 44 == p && 0 == h && 0 == r && (p = ya(g.slice(x, y)), z.push(p), x = y + 1);
0 == h && (p = ya(g.slice(x, y)), z.push(p))
}
null == f && (f = []);
h = new Ye;
h.cmd = b ? a : F(a);
h.args = z;
h.caller = c;
f.push(h)
}
return f
}
function uc() {
this.z = this.y = this.x = 0
}
function Ra() {
var a = _[134] !== typeof Float32Array ? new Float32Array(16) : Array(16);
a[0] = a[5] = a[10] = a[15] = 1;
a[1] = a[2] = a[3] = a[4] = a[6] = a[7] = a[8] = a[9] = a[11] = a[12] = a[13] = a[14] = 0;
return a
}
function ye(a, c, b, f, e, n, h, g, z, l, r, y, p, v, t, q, x) {
a[0] = c;
a[1] = b;
a[2] = f;
a[3] = e;
a[4] = n;
a[5] = h;
a[6] = g;
a[7] = z;
a[8] = l;
a[9] = r;
a[10] = y;
a[11] = p;
a[12] = v;
a[13] = t;
a[14] = q;
a[15] = x
}
function Pb(a, c, b, f, e, n, h, g, z, l) {
a[0] = c;
a[1] = b;
a[2] = f;
a[3] = 0;
a[4] = e;
a[5] = n;
a[6] = h;
a[7] = 0;
a[8] = g;
a[9] = z;
a[10] = l;
a[11] = 0;
a[12] = 0;
a[13] = 0;
a[14] = 0;
a[15] = 1
}
function Nd(a, c) {
a[0] = c[0];
a[1] = c[1];
a[2] = c[2];
a[3] = c[3];
a[4] = c[4];
a[5] = c[5];
a[6] = c[6];
a[7] = c[7];
a[8] = c[8];
a[9] = c[9];
a[10] = c[10];
a[11] = c[11];
a[12] = c[12];
a[13] = c[13];
a[14] = c[14];
a[15] = c[15]
}
function ic(a, c) {
var b = c[0],
f = c[1],
e = c[2],
n = c[3],
h = c[4],
g = c[5],
z = c[6],
l = c[7],
r = c[8],
y = c[9],
p = c[10],
v = c[11],
t = c[12],
q = c[13],
x = c[14],
J = c[15],
B = a[0],
D = a[1],
A = a[2],
k = a[3];
a[0] = B * b + D * h + A * r + k * t;
a[1] = B * f + D * g + A * y + k * q;
a[2] = B * e + D * z + A * p + k * x;
a[3] = B * n + D * l + A * v + k * J;
B = a[4];
D = a[5];
A = a[6];
k = a[7];
a[4] = B * b + D * h + A * r + k * t;
a[5] = B * f + D * g + A * y + k * q;
a[6] = B * e + D * z + A * p + k * x;
a[7] = B * n + D * l + A * v + k * J;
B = a[8];
D = a[9];
A = a[10];
k = a[11];
a[8] = B * b + D * h + A * r + k * t;
a[9] = B * f + D * g + A * y + k * q;
a[10] = B * e + D * z + A * p + k * x;
a[11] = B * n + D * l + A * v + k * J;
B = a[12];
D = a[13];
A = a[14];
k = a[15];
a[12] = B * b + D * h + A * r + k * t;
a[13] = B * f + D * g + A * y + k * q;
a[14] = B * e + D * z + A * p + k * x;
a[15] = B * n + D * l + A * v + k * J
}
function uf(a, c) {
var b = a[0],
f = a[1],
e = a[2],
n = a[3],
h = a[4],
g = a[5],
z = a[6],
l = a[7],
r = a[8],
y = a[9],
p = a[10],
v = a[11],
t = a[12],
q = a[13],
x = a[14],
J = a[15],
B = c[0],
D = c[1],
A = c[2],
k = c[3],
d = c[4],
G = c[5],
E = c[6],
R = c[7],
u = c[8],
N = c[9],
T = c[10],
H = c[11],
Fb = c[12],
ea = c[13],
O = c[14],
F = c[15];
a[0] = B * b + D * h + A * r + k * t;
a[1] = B * f + D * g + A * y + k * q;
a[2] = B * e + D * z + A * p + k * x;
a[3] = B * n + D * l + A * v + k * J;
a[4] = d * b + G * h + E * r + R * t;
a[5] = d * f + G * g + E * y + R * q;
a[6] = d * e + G * z + E * p + R * x;
a[7] = d * n + G * l + E * v + R * J;
a[8] = u * b + N * h + T * r + H * t;
a[9] = u * f + N * g + T * y + H * q;
a[10] = u * e + N * z + T * p + H * x;
a[11] = u * n + N * l + T * v + H * J;
a[12] = Fb * b + ea * h + O * r + F * t;
a[13] = Fb * f + ea * g + O * y + F * q;
a[14] = Fb * e + ea * z + O * p + F * x;
a[15] = Fb * n + ea * l + O * v + F * J
}
function $e(a, c, b, f) {
ye(a, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, c, b, f, 1)
}
function ze(a, c, b, f) {
var e = a[3],
n = a[7],
h = a[11],
g = a[15];
a[0] += e * c;
a[1] += e * b;
a[2] += e * f;
a[4] += n * c;
a[5] += n * b;
a[6] += n * f;
a[8] += h * c;
a[9] += h * b;
a[10] += h * f;
a[12] += g * c;
a[13] += g * b;
a[14] += g * f
}
function af(a, c) {
var b = c[0],
f = c[1],
e = c[2],
n = c[4],
h = c[5],
g = c[6],
z = c[8],
l = c[9],
r = c[10],
y = a[0],
p = a[1],
v = a[2];
a[0] = y * b + p * n + v * z;
a[1] = y * f + p * h + v * l;
a[2] = y * e + p * g + v * r;
y = a[4];
p = a[5];
v = a[6];
a[4] = y * b + p * n + v * z;
a[5] = y * f + p * h + v * l;
a[6] = y * e + p * g + v * r;
y = a[8];
p = a[9];
v = a[10];
a[8] = y * b + p * n + v * z;
a[9] = y * f + p * h + v * l;
a[10] = y * e + p * g + v * r;
y = a[12];
p = a[13];
v = a[14];
a[12] = y * b + p * n + v * z;
a[13] = y * f + p * h + v * l;
a[14] = y * e + p * g + v * r
}
function Ae(a, c, b, f) {
var e, n, h;
e = b * Y;
b = Math.cos(e);
n = Math.sin(e);
e = -(c - 90) * Y;
c = Math.cos(e);
h = Math.sin(e);
e = -f * Y;
f = Math.cos(e);
e = Math.sin(e);
Pb(a, c * f - h * n * e, c * e + h * n * f, -h * b, -b * e, b * f, n, h * f + c * n * e, h * e - c * n * f, c * b)
}
function bf(a, c, b) {
b = -b * Y;
var f = Math.cos(b);
b = Math.sin(b);
0 == c ? Pb(a, 1, 0, 0, 0, f, b, 0, -b, f) : 1 == c ? Pb(a, f, 0, -b, 0, 1, 0, b, 0, f) : Pb(a, f, b, 0, -b, f, 0, 0, 0, 1)
}
function Be(a, c, b, f, e) {
var n, h, g;
e && (f = -f, b = -b, c = -c);
n = -f * Y;
f = Math.cos(n);
h = Math.sin(n);
n = -b * Y;
b = Math.cos(n);
g = Math.sin(n);
n = -c * Y;
c = Math.cos(n);
n = Math.sin(n);
e ? Pb(a, b * c - g * h * n, b * n + g * h * c, -g * f, -f * n, f * c, h, g * c + b * h * n, g * n - b * h * c, b * f) : Pb(a, c * b + n * h * g, n * f, -c * g + n * h * b, -n * b + c * h * g, c * f, n * g + c * h * b, f * g, -h, f * b)
}
function Ce(a, c) {
var b = c[0],
f = c[1],
e = c[2],
n = c[4],
h = c[5],
g = c[6],
z = c[8],
l = c[9],
r = c[10],
y = 1 / (b * h * r + f * g * z + n * l * e - z * h * e - n * f * r - l * g * b);
Pb(a, (h * r - l * g) * y, (-f * r + l * e) * y, (f * g - h * e) * y, (-n * r + z * g) * y, (b * r - z * e) * y, (-b * g + n * e) * y, (n * l - z * h) * y, (-b * l + z * f) * y, (b * h - n * f) * y)
}
function Od(a, c) {
var b = c.x,
f = c.y,
e = c.z;
c.x = b * a[0] + f * a[4] + e * a[8];
c.y = b * a[1] + f * a[5] + e * a[9];
c.z = b * a[2] + f * a[6] + e * a[10]
}
function be(a, c) {
var b = c[0],
f = c[1],
e = c[2];
c[0] = b * a[0] + f * a[4] + e * a[8];
c[1] = b * a[1] + f * a[5] + e * a[9];
c[2] = b * a[2] + f * a[6] + e * a[10]
}
function Ub(a) {
return b.fractionalscaling ? Math.round(a * (b.pixelratio + 1E-7)) / b.pixelratio : Math.round(a)
}
function Vb(a, c, b, f) {
a = ("" + a).split(b);
f = f ? f : [0, 0, 0, 0];
b = a.length;
4 == b ? (f[0] = a[0] * c + .5 | 0, f[1] = a[1] * c + .5 | 0, f[2] = a[2] * c + .5 | 0, f[3] = a[3] * c + .5 | 0) : 3 == b ? (f[0] = a[0] * c + .5 | 0, f[1] = f[3] = a[1] * c + .5 | 0, f[2] = a[2] * c + .5 | 0) : 2 == b ? (f[0] = f[2] = a[0] * c + .5 | 0, f[1] = f[3] = a[1] * c + .5 | 0) : f[0] = f[1] = f[2] = f[3] = a[0] * c + .5 | 0;
return f
}
function De(a) {
var c = a && a._poly;
c && (c.setAttribute("fill", !0 === a.polyline ? "none" : wa(a.fillcolor, a.fillalpha)), c.setAttribute(_[539], wa(a.bordercolor, a.borderalpha)), c.setAttribute(_[340], a.borderwidth * aa))
}
function cf(a) {
var c = u.r_rmatrix,
b = u.r_zoom,
f = u.r_zoff,
e = .5 * Sa,
n = .5 * Da + u.r_yoff,
h = u._stereographic ? 10 - f : 1 - f * (1 - Math.min(u.fisheye * u.fisheye, 1)),
g = a._poly;
if (!g) {
var z = V.svglayer;
z || (z = document.createElementNS(_[96], "svg"), z.setAttribute(_[63], "100%"), z.setAttribute(_[18], "100%"), z.style.position = _[0], z.style.left = 0, z.style.top = 0, z.style.display = la.stereo ? "none" : "", V.svglayer = z, V.hotspotlayer.appendChild(z));
g = document.createElementNS(_[96], ma(a.polyline) ? _[138] : _[532]);
z.appendChild(g);
g.kobject = a;
a._poly = g;
De(a);
g.style.opacity = Number(a.DATA.alpha) * (a.keep ? 1 : vc);
a._assignEvents(g);
setTimeout(function() {
a.loading = !1;
a.loaded = !0;
X.callaction(a.onloaded, a)
}, 7)
}
var z = a.point.getArray(),
l = z.length,
r = [];
if (1 < l && a.DATA.visible && 0 == la.stereo) {
var y, p, v, t = new uc,
q = new uc,
x;
p = z[l - 1];
v = (180 - Number(p.ath)) * Y;
p = Number(p.atv) * Y;
t.x = 1E3 * Math.cos(p) * Math.cos(v);
t.z = 1E3 * Math.cos(p) * Math.sin(v);
t.y = 1E3 * Math.sin(p);
Od(c, t);
for (y = 0; y < l; y++) p = z[y], v = (180 - Number(p.ath)) * Y, p = Number(p.atv) * Y, q.x = 1E3 * Math.cos(p) * Math.cos(v), q.z = 1E3 * Math.cos(p) * Math.sin(v), q.y = 1E3 * Math.sin(p), Od(c, q), q.z >= h ? (t.z >= h || (x = (h - t.z) / (q.z - t.z), p = b / (h + f), v = (t.x + (q.x - t.x) * x) * p + e, p = (t.y + (q.y - t.y) * x) * p + n, r.push(v.toFixed(2) + "," + p.toFixed(2))), p = b / (q.z + f), v = q.x * p + e, p = q.y * p + n, r.push(v.toFixed(2) + "," + p.toFixed(2))) : t.z >= h && (x = (h - q.z) / (t.z - q.z), p = b / (h + f), v = (q.x + (t.x - q.x) * x) * p + e, p = (q.y + (t.y - q.y) * x) * p + n, r.push(v.toFixed(2) + "," + p.toFixed(2))), t.x = q.x, t.y = q.y, t.z = q.z;
0 == a.polyline && 2 < r.length && r.push(r[0]);
g.style.pointerEvents = a.DATA.enabled ? _[286] : "none";
g.style.cursor = a.DATA.handcursor ? _[10] : _[5];
g.style.visibility = a.DATA.visible ? _[16] : _[6]
}
g.setAttribute(_[544], r.join(" "))
}
function df(a, c) {
var b = 0,
f, e, n;
if (a && c) {
b = a.DATA.zorder;
f = c.DATA.zorder;
e = null == b || isNaN(b);
n = null == f || isNaN(f);
if (b == f || e && n)
if (b = a.DATA.depth, f = c.DATA.depth, e = null == b || isNaN(b), n = null == f || isNaN(f), b == f || e && n) b = a.index, f = c.index, e = n = !1;
b = e ? -1 : n ? 1 : b - f
}
return b
}
function ce(a, c) {
if (void 0 === c && jc) {
var w = db.getArray();
w.sort(df);
var f = w.length,
e;
for (e = 0; e < f; e++) {
var n = w[e];
n && (n.index = e)
}
jc = !1
}
var w = db.getArray(),
f = w.length,
h;
e = u.r_rmatrix;
var n = Sa,
g = Da,
z = aa,
l = .5 * n,
r = .5 * g,
y = u.r_zoom,
p = u.r_hlookat,
v = u.r_vlookat,
t = u.r_vlookatA,
q = u.r_yoff,
x = u.r_zoff,
J = u._camroll;
h = u._stereographic;
var B;
B = 1 * (1 + x / 1E3);
var D = 50;
0 < x && (h ? D -= x : (D = 20 - x, -125 > D && (D = -125)));
var A = 0,
k = 0;
h = 0;
void 0 !== c && (h = c, f = h + 1);
var d = kc,
G = b.realDesktop && 250 > y ? 1.5 : 0,
E = ef,
R = ff;
E[1] = l;
E[5] = de;
E[9] = sa(p);
E[15] = d + "," + d + "," + d;
var Ha = vb,
N = new uc,
T = null;
if (!la.stereo)
for (; h < f; h++) {
var H = w[h];
if (H && H._ready) {
var F = null == H.DATA.url && 0 < H.point.count,
T = null;
if (!F) {
if (H.DATA.webGL) continue;
T = H.sprite;
if (!T) continue
}
0 != H.haschanged_flags && H.processUpdates();
var ea = H.getparsed(),
T = T ? T.style : null,
O = Number(H.DATA.alpha) * (H.keep ? 1 : vc);
T && (T.opacity = O);
H._poly && (H._poly.style.opacity = O);
O = a || H.poschanged || H.forceupdate;
if (F) O && (cf(H), H.poschanged = !1);
else if (H.DATA.visible && H.loaded && O) {
H.poschanged = !1;
F = Number(H.DATA.flying);
A = (1 - F) * Number(H.DATA.ath);
k = (1 - F) * Number(H.DATA.atv);
0 < F && (A += F * fd(p, H.DATA.ath), k += F * fd(v, H.DATA.atv));
var O = !1,
Z = (180 - A) * Y,
P = k * Y;
N.x = 1E3 * Math.cos(P) * Math.cos(Z);
N.z = 1E3 * Math.cos(P) * Math.sin(Z);
N.y = 1E3 * Math.sin(P);
Od(e, N);
var zb = !1,
W = N.x,
m = N.y,
Z = N.z;
if (Z >= D - x) var C = y / (Z + x),
W = W * C,
m = m * C + q,
zb = 8E3 > Math.abs(W) && 8E3 > Math.abs(m),
W = W + l,
m = m + r;
if (H.DATA.distorted) {
T.pointerEvents = 50 <= Z + x && H.DATA.enabled ? "auto" : "none";
O = !0;
P = H.DATA.scale;
Z = Number(H.DATA.scale);
isNaN(Z) && (Z = 1);
H._hszscale = Z;
1 == H.scaleflying && (Z = Z * (1 - F) + Z / (y / (g / 2)) * B * F);
H.DATA.scale = 1;
H.updatepluginpos(_[203]);
H.DATA.scale = P;
var S = H.pixelwidth,
I = H.pixelheight,
ra = P = 1;
H._use_css_scale && (P = S / H.imagewidth, ra = I / H.imageheight);
var Ma = .5 * -I,
W = m = 0,
nb = H._oxpix,
kd = H._oypix,
m = m + .5 * -S / P,
W = W + Ma / ra,
m = m - (ea.ex - .5) * S / P,
W = W - (ea.ey - .5) * I / ra,
ea = -500,
S = H._deepscale,
I = H.DATA.depth;
isNaN(I) && (I = 1E3);
Ma = 1;
0 == (I | 0) ? (ea = 0, S = 1) : Ma = 1E3 / I;
2 == wb && (S *= 15);
S /= 1 + F + G;
if (b.firefox || 6 < b.iosversion && .1 > H.scale) S = 10 / (1 + F);
0 < x && (S = 1);
Z = Z * S * Ma;
ea *= S;
nb = nb * S * Ma;
kd = kd * S * Ma;
if (0 < x || b.firefox) O = zb;
zb = S * Ma * d / 2;
zb = _[303] + zb * H.tx + "px," + zb * H.ty + "px," + -zb * H.tz + "px) ";
E[3] = sa(r + q * (1 - F));
E[7] = sa(-(t * (1 - F) + v * F));
E[11] = zb + _[141] + sa(-A);
E[13] = sa(k);
E[17] = ea;
E[19] = sa(1 * H.DATA.rotate + F * J);
E[21] = nb;
E[23] = kd;
H.inverserotation ? (E[25] = "Y(" + sa(H.ry), E[27] = "X(" + sa(H.rx), E[29] = "Z(" + sa(-H.rz)) : (E[25] = "Z(" + sa(H.rz), E[27] = "X(" + sa(-H.rx), E[29] = "Y(" + sa(-H.ry));
E[31] = Z * P;
E[33] = Z * ra;
E[35] = m;
E[37] = W;
T[Ha + _[89]] = "0 0";
T[Ha] = E.join("")
} else if (Z >= D && (Z = 1, zb)) {
if (H.zoom || H.distorted) Z *= Number(2 * (1 - F) * C + F * aa) / aa;
H.updatepluginpos(_[215]);
S = H.pixelwidth;
I = H.pixelheight;
ra = P = 1;
H._use_css_scale && (P = S / H.imagewidth, ra = I / H.imageheight);
A = W;
k = m;
0 == H.accuracy && (A = Math.round(A), k = Math.round(k));
W = m = 0;
nb = H._oxpix * Z;
kd = H._oypix * Z;
Ma = 0 != P ? S / P : 0;
zb = 0 != ra ? I / ra : 0;
m -= (ea.ex - .5) * Ma;
W -= (ea.ey - .5) * zb;
ea = 2 * Z * (Math.max(S, I) * H.DATA.scale + Math.max(nb, kd));
if (0 < A + ea || 0 < k + ea || A - ea < n || k - ea < g) H._use_css_scale ? Z *= z : (m *= z, W *= z), O = -Ma / 2, ea = -zb / 2, H._istextfield && 0 == H.accuracy && (A |= 0, k |= 0, O |= 0, ea |= 0, nb |= 0, kd |= 0, m |= 0, W |= 0), R[1] = sa(A), R[3] = sa(k), R[5] = sa(O), R[7] = sa(ea), R[9] = sa(1 * H.DATA.rotate - J * (1 - F)), R[11] = nb, R[13] = kd, R[15] = Z * P, R[17] = Z * ra, R[19] = sa(m), R[21] = sa(W), F = R.join(""), F = wc && 2 > wb && .5 < Number(H.zorder2) ? _[365] + (999999999E3 + H._zdeep) + "px) " + F : _[293] + F, T[Ha + _[89]] = _[488], T[Ha] = F, O = !0
}
0 == H.forceupdate && (F = O ? "" : "none", F != T.display && (T.display = F));
H.forceupdate = !1
}
}
}
}
function gf(a, c, w, f) {
function e() {
var d = Ja(),
a = d.style;
a.marginTop = a.marginBottom = v[17] * J + "px";
a.height = "1px";
a.backgroundColor = wa(v[18]);
"none" != v[19] && (a.borderBottom = _[373] + wa(v[19]));
B.appendChild(d)
}
function n(a) {
var d = a.changedTouches;
return (d && 0 < d.length ? d[0] : a).pageY
}
function h(d, a, c) {
var e = Ja(),
k = e.style;
k.padding = v[20] * J + "px";
k.border = v[21] + _[33] + wa(v[22]);
k.borderRadius = v[23] * J + "px";
k.marginTop = v[24] * J + "px";
k.marginBottom = v[24] * J + "px";
b.androidstock && (k[_[41]] = _[13]);
gb.touch && ca(e, b.browser.events.touchstart, function(d) {
function S(S) {
S = n(S) - ra;
if (q > Da) {
var d = m + S | 0;
d < Da - q - 10 ? d = Da - q - 10 : 10 < d && (d = 10);
x.style.top = d + "px"
}
15 < Math.abs(S) && (e.onmouseout(), nb = !0)
}
function I() {
ka(M, k, S, !0);
ka(M, f, I, !0);
if (0 == nb) e.onclick()
}
na(d);
d.stopPropagation();
if (c && a) {
e.onmouseover();
var ra = n(d),
m = parseInt(x.style.top) | 0,
nb = !1,
k = b.browser.events.touchmove,
f = b.browser.events.touchend;
ca(M, k, S, !0);
ca(M, f, I, !0)
}
}, !0);
c && a ? (k.cursor = _[10], e.onmousedown = function(d) {
d.stopPropagation()
}, e.onmouseover = function() {
k = this.style;
k.background = wa(v[25]);
k.border = v[21] + _[33] + wa(v[26]);
k.color = wa(v[27])
}, e.onmouseout = function() {
k = this.style;
k.background = "none";
k.border = v[21] + _[33] + wa(v[22]);
k.color = wa(v[4])
}, e.oncontextmenu = function(d) {
na(d);
d.stopPropagation();
e.onclick()
}, e.onclick = function(d) {
f ? (k = x.style, k.opacity = 1, k.transition = _[117], k.opacity = 0, setTimeout(w, 300)) : w();
X.callaction(c)
}) : (0 == a && (k.color = wa(v[5])), k.cursor = _[5]);
var m = Ja();
m.style.marginLeft = v[28] * J + "px";
m.style.marginRight = v[29] * J + "px";
m.innerHTML = d;
e.appendChild(m);
B.appendChild(e);
return m
}
function g() {
function d() {
return .4 > Math.random() ? " " : _[156]
}
var a = h("About" + d() + "the" + d() + _[56] + d() + _[479] + d() + _[434], !0, function() {
X.openurl(_[233])
});
try {
(new MutationObserver(function(d) {
d = M.getComputedStyle(a);
9 > Math.min(parseInt(d.width) | 0, parseInt(d.height) | 0) && (l = {}, Ga(_[116]))
})).observe(a, {
attributes: !1,
childList: !0,
characterData: !0,
subtree: !0
})
} catch (c) {}
}
function z() {
h(V.fullscreen ? p.exitfs : p.enterfs, !0, function() {
l.fullscreen = !l.fullscreen
})
}
function u() {
var d = b.android,
a = b.infoString,
a = a.split(_[476]).join("");
h((Ha ? "" : _[143] + l.version + _[263] + l.build + _[292]) + (d ? _[504] : "") + a + cb.infoString + (d ? _[472] : ""), !0, null)
}
function r() {
za && za[2] && h(za[2], !0, function() {
X.openurl(za[3])
})
}
function y() {
var d = x.getBoundingClientRect(),
b = d.width,
d = d.height,
e = c;
if (0 < b && 0 < d) {
q = d;
f && (a -= b >> 1, a + b > Sa && (a = Sa - b - 10), 10 > a && (a = 10));
for (; a + b > Sa;) a -= b / 2;
0 > a && (a = 0);
c + d > Da && (c = f ? Da - d - 10 : c - d);
0 > c && (f ? c = Da - d >> 1 : e > Da / 2 ? (c = e - d, 0 > c && (c = 4)) : (c = e, c + d > Da && (c = Da - 4 - d)));
t = x.style;
t.left = (a | 0) + "px";
t.top = (c | 0) + "px";
f && (t.transition = _[117], t.opacity = 1)
} else 10 > ++ea && setTimeout(y, 32)
}
var p = l.contextmenu;
if (f && 0 == p.touch) return null;
var v = null;
p.customstyle && (_[127] == b.browser.domain || 0 == b.realDesktop || b.realDesktop && 0 != (Xa & 16)) && (v = F(p.customstyle).split("|"), 30 != v.length && (v = null));
null == v && (v = (b.mac ? "default|14|default|0xFFFFFF|0x000000|0xBBBBBB|0|0|5|2|2|8|0x66000000|0|0|1|4|5|0xEEEEEE|none|1|0|0|0|3|0xEEEEEE|0|0|20|12" : "default|default|150%|0xFFFFFF|0x000000|0xBBBBBB|1|0xBBBBBB|0|2|2|8|0x66000000|0|0|2|2|5|0xE0E0E0|none|4|0|0|0|3|0xEEEEEE|0|0|18|12").split("|"));
var t = null,
q = 0,
x = Ja();
x.onselectstart = _[316];
b.desktop && b.chrome && (x.style.opacity = .999);
if (b.linux || b.android) v[1] = 12;
t = x.style;
t.position = _[0];
t.zIndex = 99999999999;
var J = 1;
b.androidstock ? J = b.pixelratio : b.chrome && 40 > b.chromeversion && (t[vb] = _[27]);
_[5] != v[0] ? t.fontFamily = v[0] : b.ios ? (t.fontFamily = _[20], t.fontWeight = _[510], _[5] == v[1] && (v[1] = 14)) : t.font = "menu";
_[5] != v[1] && (t.fontSize = v[1] * J * (b.android ? 1.2 : 1) + "px");
_[5] != v[2] && (t.lineHeight = v[2]);
t.background = wa(v[3]);
t.color = wa(v[4]);
t.border = v[6] + _[33] + wa(v[7]);
t.borderRadius = v[8] * J + "px";
t.minWidth = "150px";
t.textAlign = "left";
t[jd] = v[9] + "px " + v[10] + "px " + v[11] + "px " + wa(v[12]);
var B = Ja(),
t = B.style;
t.border = v[13] + _[33] + wa(v[14]);
t.paddingTop = v[15] * J + "px";
t.paddingBottom = v[16] * J + "px";
gb.touch && ca(B, b.browser.events.touchstart, function(d) {
na(d);
d.stopPropagation()
}, !1);
x.appendChild(B);
var D = p.item.getArray(),
A, k, d = 0,
G, E = D.length,
R, Ha = 0 != (Xa & 16),
N = Ha,
T = Ha,
H = !1,
Fb = !1;
for (R = 0; R < E; R++)
if (A = D[R])
if (k = A.caption) k = $d(unescape(k)), A.separator && 0 < d && e(), G = F(k), _[56] == G ? 0 == N && (N = !0, g(), d++) : za && _[446] == G ? 0 == T && (T = !0, r(), d++) : _[129] == G ? (H = !0, b.fullscreensupport && (z(), d++)) : _[346] == G ? (Fb = !0, u(), d++) : (G = A.visible && (!A.showif || X.calc(null, A.showif))) ? (h(k, A.enabled, A.onclick), d++) : 0 == G && A.separator && 0 < d && B.removeChild(B.lastChild);
za && 0 == T && (0 < d && (e(), d = 0), r());
0 == N && (0 < d && e(), g(), d++);
0 == H && 1 == p.fullscreen && b.fullscreensupport && (z(), d++);
0 == Fb && 1 == p.versioninfo && (0 < d && e(), u(), d++);
if (0 == d) return null;
t = x.style;
t.left = _[139];
t.top = "10px";
var ea = 0;
f && (t.opacity = 0);
setTimeout(y, 16);
return x
}
function Of() {
function a(a, c, b) {
a.__defineGetter__(c, b)
}
l = new id;
l.set = da;
l.get = Q;
l.call = Ob;
l.trace = oa;
Object.defineProperty(l, _[527], {
value: X
});
l.Kloader = pa;
l["true"] = !0;
l[_[25]] = !1;
l.strict = !1;
l.version = _[450];
l.build = _[386];
l.buildversion = l.version;
l.debugmode = !1;
l.tweentypes = ld;
l.basedir = _[389];
l.lasterror = "";
l.showtext = function() {};
l.bgcolor = 0;
l[bc[0]] = l[bc[1]] = !0;
l.haveexternalinterface = !0;
l.havenetworkaccess = !0;
l.device = b;
l.browser = b.browser;
l._have_top_access = b.topAccess;
l._isrealdesktop = b.realDesktop;
l.iosversion = b.iosversion;
l.isphone = b.iphone;
l.ispad = b.ipad;
l.isandroid = b.android;
l.ishtml5 = !0;
l.isflash = !1;
l.ismobile = b.mobile;
l.istablet = b.tablet;
l.isdesktop = b.desktop;
l.istouchdevice = b.touchdevice;
l.isgesturedevice = b.gesturedevice;
a(l, _[391], function() {
return Gb / aa
});
a(l, _[347], function() {
return ab / aa
});
va(l, _[396], function() {
return aa
}, function(a) {
a = Number(a);
isNaN(a) && (a = 1);
1E-4 < Math.abs(a - aa) && (aa = a, V.onResize(null, !0))
});
xb = l.area = new Pf;
l.wheeldelta = 0;
l.wheeldelta_raw = Number.NaN;
l.wheeldelta_touchscale = 0;
l.keycode = 0;
l.idletime = .5;
l.__defineGetter__(_[427], Ca);
l.__defineGetter__(_[572], Math.random);
va(l, _[129], function() {
return V.fullscreen
}, function(a) {
V.setFullscreen(ma(a))
});
va(l, _[423], function() {
return pa.swfpath
}, function(a) {
pa.swfpath = a
});
l.hlookat_moveforce = 0;
l.vlookat_moveforce = 0;
l.fov_moveforce = 0;
l.multireslevel = 0;
l.lockmultireslevel = "-1";
l.downloadlockedlevel = !1;
K = l.mouse = {
down: !1,
up: !1,
moved: !1,
dragging: !1,
vinvert: !1,
downx: 0,
downy: 0,
x: 0,
y: 0
};
a(K, _[571], function() {
return K.x + xb.pixelx
});
a(K, _[570], function() {
return K.y + xb.pixely
});
a(K, "dd", function() {
var a = K.x - K.downx,
c = K.y - K.downy;
return Math.sqrt(a * a + c * c)
});
u = l.view = new Qf;
l.screentosphere = u.screentosphere;
l.spheretoscreen = u.spheretoscreen;
l.loadFile = pa.loadfile;
l.decodeLicense = pa.decodeLicense;
l.haveLicense = Kc(function(a) {
var c = !1,
b = Xa;
switch (a.toLowerCase().charCodeAt(0)) {
case 107:
c = 0 != (b & 1);
break;
case 109:
c = 0 != (b & 128);
break;
case 98:
c = 0 != (b & 16)
}
return c
});
l.parsepath = l.parsePath = pa.parsePath;
l.contextmenu = new Rf;
ha = l.control = new Sf;
md = l.cursors = new Tf;
L = l.image = {};
La = l.plugin = new pb(yc);
l.layer = La;
db = l.hotspot = new pb(Uf);
hd = l.events = new pb(null, !0);
hd.dispatch = Na;
la = l.display = {
currentfps: 60,
r_ft: 16,
FRM: 0,
_framebufferscale: 1,
mipmapping: "auto",
loadwhilemoving: b.realDesktop ? "true" : "auto",
_stereo: !1,
stereooverlap: 0,
hardwarelimit: b.realDesktop && b.safari && "6" > b.safariversion ? 2E3 : b.realDesktop && !b.webgl ? 2560 : b.iphone && b.retina && !b.iphone5 ? 800 : b.iphone && !b.retina ? 600 : b.ipod && b.retina ? 640 : b.mobile || b.tablet ? 1024 : 4096
};
va(la, _[158], function() {
return la._stereo
}, function(a) {
a = ma(a);
la._stereo != a && (a = a && b.webgl, la._stereo = a, V.svglayer && (V.svglayer.style.display = a ? "none" : ""), u.haschanged = !0)
});
va(la, _[413], function() {
var a = la.FRM | 0;
return 0 == a ? "auto" : "" + a
}, function(a) {
a |= 0;
0 > a && (a = 0);
la.FRM = a
});
va(la, _[250], function() {
return la._framebufferscale
}, function(a) {
a = Number(a);
if (isNaN(a) || 0 == a) a = 1;
la._framebufferscale = a;
V.onResize(null, !0)
});
l.memory = {
maxmem: b.realDesktop ? Math.min(Math.max(150, 48 * screen.availWidth * screen.availHeight >> 20), 400) : b.ios && 7.1 > b.iosversion || b.iphone && !b.iphone5 ? 40 : 50
};
l.network = {
retrycount: 2
};
Mc = l.progress = {};
Mc.progress = 0;
Ta = new yc;
Ta.name = "STAGE";
rb = new yc;
rb.name = _[505];
La.alpha = 1;
db.alpha = 1;
db.visible = !0;
va(La, _[16], function() {
return "none" != V.pluginlayer.style.display
}, function(a) {
V.pluginlayer.style.display = ma(a) ? "" : "none"
});
l.xml = {
url: "",
content: null,
scene: null,
sceneNEW: null
};
var c = l.security = {};
va(c, "cors", function() {
return ud
}, function(a) {
ud = a
});
Ab = l.autorotate = new Vf;
l.math = function() {
function a(c) {
var b = Q(c, X.actioncaller);
return Number(null !== b ? b : c)
}
function c(b) {
return function(c, e) {
da(c, Math[b](a(void 0 === e ? c : e)), !1, X.actioncaller)
}
}
var b = {},
n = _[168].split(" "),
h;
for (h in n) {
var g = n[h];
b[g] = c(g)
}
b.pi = Ua;
b.atan2 = function(c, b, e) {
da(c, Math.atan2(a(b), a(e)), !1, X.actioncaller)
};
b.min = function() {
var c = arguments,
b = c.length,
e = 3 > b ? 0 : 1,
f = a(c[e]);
for (e++; e < b; e++) f = Math.min(f, a(c[e]));
da(c[0], f, !1, X.actioncaller)
};
b.max = function() {
var c = arguments,
b = c.length,
e = 3 > b ? 0 : 1,
f = a(c[e]);
for (e++; e < b; e++) f = Math.max(f, a(c[e]));
da(c[0], f, !1, X.actioncaller)
};
b.pow = X.pow;
return b
}();
l.action = new pb;
l.scene = new pb;
l.data = new pb;
l.addlayer = l.addplugin = function(a) {
if (!wd(a, _[225] + a + ")")) return null;
a = La.createItem(a);
if (!a) return null;
null == a.sprite && (a._dyn = !0, a.create(), null == a._parent && V.pluginlayer.appendChild(a.sprite));
return a
};
l.removelayer = l.removeplugin = function(a, c) {
var b = La.getItem(a);
if (b) {
if (ma(c)) {
var n = b._childs;
if (n)
for (; 0 < n.length;) l.removeplugin(n[0].name, !0)
}
b.visible = !1;
b.parent = null;
b.sprite && V.pluginlayer.removeChild(b.sprite);
b.destroy();
La.removeItem(a)
}
};
l.addhotspot = function(a) {
if (!wd(a, _[367] + a + ")")) return null;
a = db.createItem(a);
if (!a) return null;
0 == a._ready && (a._dyn = !0, a.create(), a.sprite && V.hotspotlayer.appendChild(a.sprite));
Pd = !0;
return a
};
l.removehotspot = function(a) {
var c = db.getItem(a);
if (c) {
c.visible = !1;
c.parent = null;
if (c.sprite) try {
V.hotspotlayer.removeChild(c.sprite)
} catch (b) {}
if (c._poly) {
try {
V.svglayer.removeChild(c._poly)
} catch (n) {}
c._poly.kobject = null;
c._poly = null
}
c.destroy();
db.removeItem(a)
}
}
}
function Wf() {
var a = l.webVR;
X.processTicks();
var c = u.haschanged;
Ya++;
la.frame = Ya;
cb.fps();
var w = V.resizeCheck(),
f = X.processAnimations(),
c = c | u.haschanged;
if (b.webgl || !b.ios || b.ios && 5 <= b.iosversion) f = !1;
f |= Pd;
Pd = !1;
f && (u._hlookat += ((Ya & 1) - .5) / (1 + u.r_zoom), c = !0);
c |= fb.handleloading();
c |= gb.handleFrictions();
c |= fb.idlecheck();
c |= u.continuousupdates;
X.processTicks();
Za && (c = !0, Za = !1);
a && a.enabled && (c = !0);
c || w ? (cb.startFrame(), fb.updateview(0, !0), cb.finishFrame()) : (u.haschanged && u.updateView(), ce(!1), b.webgl && cb.hittesthotspots(null));
fb.updateplugins(w);
b.desktop && fb.checkHovering();
a && a.enabled && a.submitframe && a.submitframe()
}
var zc = this;
try {
!Object.prototype.__defineGetter__ && Object.defineProperty({}, "x", {
get: function() {
return !0
}
}).x && (Object.defineProperty(Object.prototype, _[246], {
enumerable: !1,
configurable: !0,
value: function(a, c) {
Object.defineProperty(this, a, {
get: c,
enumerable: !0,
configurable: !0
})
}
}), Object.defineProperty(Object.prototype, _[245], {
enumerable: !1,
configurable: !0,
value: function(a, c) {
Object.defineProperty(this, a, {
set: c,
enumerable: !0,
configurable: !0
})
}
}))
} catch (ag) {}
var bb = navigator,
ba = document,
M = window,
Ua = Math.PI,
Y = Ua / 180,
Qb = Number.NaN,
Qd = 0,
Ca = M.performance && M.performance.now ? function() {
return M.performance.now() - Qd
} : function() {
return (new Date).getTime() - Qd
},
Qd = Ca(),
nd = String.fromCharCode,
l = null,
Gb = 0,
ab = 0,
Sa = 0,
Da = 0,
aa = 1,
Rd = 1,
Ac = 0,
xb = null,
Ab = null,
ha = null,
md = null,
la = null,
hd = null,
Mc = null,
db = null,
L = null,
K = null,
La = null,
u = null,
Ta = null,
rb = null,
ee = !1,
Wb = !1,
fe = !1,
ge = 0,
Ya = 0,
he = 60,
Xa = 14,
ie = null,
bc = [_[387], _[569]],
za = null,
ud = "",
Rb = null,
eb = null,
Bb = null,
$a = null,
Pd = !1,
Kb = 0,
hb = 0,
Za = !1,
wc = !0,
b = {
runDetection: function(a) {
function c() {
var a = screen.width,
d = screen.height,
c = b.topAccess ? top : M,
m = c.innerWidth,
e = c.innerHeight,
c = c.orientation | 0,
S = a / (d + 1),
I = m / (e + 1);
if (1 < S && 1 > I || 1 > S && 1 < I) S = a, a = d, d = S;
r.width = a;
r.height = d;
r.orientation = c;
b.window = {
width: m,
height: e
};
a /= m;
return b.pagescale = a
}
function w(a, d) {
for (var c = ["ms", "Moz", _[535], "O"], b = 0; 5 > b; b++) {
var e = 0 < b ? c[b - 1] + a.slice(0, 1).toUpperCase() + a.slice(1) : a;
if (void 0 !== K.style[e]) return e
}
return null
}
var f = "flash html5 mobile tablet desktop ie edge webkit firefox ios iosversion iphone ipod ipad retina hidpi android androidstock blackberry touchdevice gesturedevice fullscreensupport windows mac linux air standalone silk".split(" "),
e, n, h, g, z = ba.documentElement,
l = a.mobilescale;
isNaN(l) && (l = .5);
n = f.length;
for (e = 0; e < n; e++) h = f[e], b[h] = !1;
b.html5 = b.html = !0;
b.iosversion = 0;
b.css3d = !1;
b.webgl = !1;
b.topAccess = !1;
b.simulator = !1;
b.multiressupport = !1;
b.panovideosupport = !1;
var r = b.screen = {};
try {
top && top.document && (b.topAccess = !0)
} catch (y) {}
var p = bb.platform,