////////////////////////////////////////////////////////////////////// // Pano2VR 6.1.10/18007 HTML5/CSS3 & WebGL Panorama Player // // License: Geotech 3D // // (c) 2020, Garden Gnome Software, http://ggnome.com // ////////////////////////////////////////////////////////////////////// var ll="function"==typeof Object.defineProperties?Object.defineProperty:function(x,p,m){x!=Array.prototype&&x!=Object.prototype&&(x[p]=m.value)},nl="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ol(x,p){if(p){var m=nl;x=x.split(".");for(var d=0;dm&&(m=Math.max(0,c+m));if(null==d||d>c)d=c;d=Number(d);0>d&&(d=Math.max(0,c+d));for(m=Number(m||0);mm&&(m=Math.max(m+c,0));mf;)f+=360;for(;180h&&(h=a.fov.j);this.bc||(this.bc=new x.Ga,this.bc.fm(this.pan,this.v));0!=this.mode&&1!=this.mode||!b||this.Rb&&this.Rb.gain.setValueAtTime(this.level*a.ba*this.pa,b.currentTime);if(2==this.mode&&b){var l=.5*Math.cos(f*Math.PI/180)+.5;this.Tc=Math.sqrt(l)*this.pa*this.level*a.ba;this.Wc=Math.sqrt(l)*this.pa*this.level* a.ba;this.Uc=Math.sqrt(1-l)*this.pa*this.level*a.ba;this.Vc=Math.sqrt(1-l)*this.pa*this.level*a.ba;this.Gh()}if(3==this.mode){f=0>f?f<-this.Ab?f+this.Ab:0:f>this.Ab?f-this.Ab:0;var k=this.level;e=Math.abs(e);e=eh||0>w)l=k*g*a.ba,b?(this.Tc=l*this.pa,this.Wc=l*this.pa,this.Vc=this.Uc=0,this.Gh()):this.f.volume=k*g*a.ba;else if(l=1-Math.abs(f/h),b){var r=k*(g+(1-g)*w*l)*a.ba;l=k*g*a.ba;0<=f?(this.Tc=r*this.pa,this.Wc=l*this.pa):(this.Tc=l*this.pa,this.Wc= r*this.pa);2*Math.abs(f)f?f>-this.Ab?0:f+this.Ab:f no audio buffer -> playWhenReady"),this.Ok=!0};c.prototype.Kj=function(){var a=this.m.ua.currentTime-this.jj;this.qf();this.stopped=!1;this.Tf=a;this.paused=!0;this.m.K("bufferSoundPause",{id:this.id});this.m.K("bufferSoundTimeupdate",{id:this.id,time:this.pf()})};c.prototype.qf=function(){this.vb&&this.Oc&&(this.lj=!0,this.vb.disconnect(),this.vb.stop(0),this.vb=null);this.jj=this.Tf=0;this.uf=-1;this.ended=this.paused= this.Oc=!1;this.stopped=!0;clearInterval(this.gc);this.gc=null;this.m.K("bufferSoundStop",{id:this.id});this.m.K("bufferSoundTimeupdate",{id:this.id,time:this.pf()})};c.prototype.pf=function(){var a=this.m.ua;if(-1a.loop&&(a.f.preload="none"));a.f.volume=a.level*b.ba;1<=a.loop&&(a.wb=a.loop- 1);e&&(this.Dd=!0);(1==a.mode||2==a.mode||3==a.mode||5==a.mode)&&0<=a.loop&&(a.f.autoplay=!0,a.isRunning=!0,a.autoplay=!0,a.lo());b.S.push(this);b.Th?b.$.appendChild(a.f):(a.f.style.position="absolute",a.zc&&(a.f.width=a.zc),a.cd&&(a.f.height=a.cd),b.L.appendChild(a.f));a.f.addEventListener("ended",function(){a.Ls()},!1)}catch(h){b.N(h)}};c.prototype.registerElement=function(a,b){this.fd=!0;this.f=b;this.id=a;this.level=1;this.m.S.push(this)};c.prototype.Te=function(){var a=this.m;a.Th&&(a.R.deleteTexture(this.texture), this.texture=0,a.$.removeChild(this.f));a.so&&a.L.removeChild(this.f);this.f=null};return c}(m);x.zl=m;m=function(d){function c(a){a=d.call(this,a)||this;a.url="";a.Fa=0;a.La=0;a.lb=0;a.fov=50;a.hb=0;a.Xg=!1;a.zc=100;a.cd=100;a.Ic=1;return a}__extends(c,d);c.prototype.Zb=function(a){d.prototype.Zb.call(this,a);var b;if(b=a.getAttributeNode("url"))this.url=b.nodeValue.toString();if(b=a.getAttributeNode("rotx"))this.Fa=Number(b.nodeValue);if(b=a.getAttributeNode("roty"))this.La=Number(b.nodeValue); if(b=a.getAttributeNode("rotz"))this.lb=Number(b.nodeValue);if(b=a.getAttributeNode("fov"))this.fov=Number(b.nodeValue);if(b=a.getAttributeNode("width"))this.zc=Number(b.nodeValue);if(b=a.getAttributeNode("height"))this.cd=Number(b.nodeValue);this.Ic=(b=a.getAttributeNode("stretch"))?Number(b.nodeValue):1;if(b=a.getAttributeNode("clickmode"))this.hb=Number(b.nodeValue);if(b=a.getAttributeNode("handcursor"))this.Xg=1==Number(b.nodeValue);for(a=a.firstChild;a;)"source"==a.nodeName&&(b=a.getAttributeNode("url"))&& (this.url=b.nodeValue.toString()),a=a.nextSibling};c.prototype.Vg=function(){this.Sg=!1;this.f.style[this.m.$c]="none"};c.prototype.Ke=function(){1!==this.hb&&4!==this.hb||this.Ug(!this.ob)};c.prototype.Ug=function(a){var b=this.m;if(1===this.hb||4===this.hb)this.ob=a,this.m.Pb?(a=this.m.ra)&&a.activateSound(this.id,this.ob?1:0):(this.ob?(this.f.style.pointerEvents="auto",this.f.style.cursor="pointer",this.f.style.zIndex=(b.Xh+8E4).toString()):(this.f.style.pointerEvents="none",this.f.style.cursor= "default",this.f.style.zIndex=b.Xh.toString()),this.f.style[b.$c]="all 1s ease 0s",this.Sg=!0,b.no())};c.prototype.addElement=function(){var a=this,b=this.m;try{a.f=document.createElement("img");a.f.setAttribute("style","-webkit-user-drag:none; max-width:none; pointer-events:none;");a.f.setAttribute("class","ggmedia");a.f.hidden=!0;a.f.addEventListener("click",function(e){e.stopPropagation()});b.Gf&&a.f.setAttribute("id",b.Gf+a.id);a.f.ondragstart=function(){return!1};if(1===a.hb||4===a.hb)a.f.addEventListener(b.Ao(), function(){a.Vg()},!1),a.f.addEventListener("transitionend",function(){a.Vg()},!1);a.f.setAttribute("src",b.Hb(a.url));a.zc&&(a.f.width=a.zc);a.cd&&(a.f.height=a.cd);b.eb.push(a);a.f.style.position="absolute";b.L.appendChild(a.f)}catch(e){b.N("Error addimage:"+e)}};c.prototype.Te=function(){this.m.L.removeChild(this.f);this.f=null};return c}(p);x.Ko=m;p=function(d){function c(a){a=d.call(this,a)||this;a.Hl=50;a.alpha=50;a.type=0;a.color=16777215;return a}__extends(c,d);c.prototype.Zb=function(a){d.prototype.Zb.call(this, a);var b;if(b=a.getAttributeNode("blinding"))this.Hl=Number(b.nodeValue);if(b=a.getAttributeNode("alpha"))this.alpha=Number(b.nodeValue);if(b=a.getAttributeNode("type"))this.type=Number(b.nodeValue);if(b=a.getAttributeNode("color"))this.color=1*Number(b.nodeValue)};return c}(p);x.Lo=p;p=function(){function d(c){this.m=c;this.type="empty";this.bl=this.id=this.target=this.description=this.title=this.url="";this.w=100;this.h=20;this.Aj=!1;this.f=null;this.Bb=this.Yb=this.gb=this.va=this.distance=this.v= this.pan=0;this.visible=!0;this.fc=c.H.fc;this.dc=c.H.dc;this.ec=c.H.ec;this.cc=c.H.cc;this.Df=c.H.Df;this.Zc="";this.Gd=this.Be=0;this.jg=!1;this.mi=0;this.vertices=[]}d.prototype.xf=function(){this.id=this.id;this.pan=this.pan;this.tilt=this.v;this.url=this.url;this.target=this.target;this.title=this.title;this.distance=this.distance;this.description=this.description;this.skinid=this.bl;this.obj=this.f;this.customimage=this.Zc;this.customimagewidth=this.Be;this.customimageheight=this.Gd;this.use3D= this.jg;this.distance3D=this.mi;this.f&&this.f.__div&&(this.div=this.f.__div)};d.prototype.qs=function(){var c=this.url;return"{"==c.charAt(0)?c.substr(1,c.length-2):!1};d.prototype.Zb=function(c){var a;if(a=c.getAttributeNode("url"))this.url=a.nodeValue.toString();if(a=c.getAttributeNode("target"))this.target=a.nodeValue.toString();if(a=c.getAttributeNode("title"))this.title=a.nodeValue.toString();if(a=c.getAttributeNode("description"))this.description=a.nodeValue.toString();if(a=c.getAttributeNode("id"))this.id= a.nodeValue.toString();if(a=c.getAttributeNode("skinid"))this.bl=a.nodeValue.toString();if(a=c.getAttributeNode("width"))this.w=Number(a.nodeValue);if(a=c.getAttributeNode("height"))this.h=Number(a.nodeValue);if(a=c.getAttributeNode("wordwrap"))this.Aj=1==Number(a.nodeValue);a=c.getAttributeNode("pan");this.pan=1*(a?Number(a.nodeValue):0);a=c.getAttributeNode("tilt");this.v=1*(a?Number(a.nodeValue):0);a=c.getAttributeNode("fov");this.fov=1*(a?Number(a.nodeValue):0);a=c.getAttributeNode("distance"); this.distance=1*(a?Number(a.nodeValue):0);if(a=c.getAttributeNode("bordercolor"))this.fc=1*Number(a.nodeValue);if(a=c.getAttributeNode("backgroundcolor"))this.dc=1*Number(a.nodeValue);if(a=c.getAttributeNode("borderalpha"))this.ec=1*Number(a.nodeValue);if(a=c.getAttributeNode("backgroundalpha"))this.cc=1*Number(a.nodeValue);if(a=c.getAttributeNode("handcursor"))this.Df=1==Number(a.nodeValue);if(a=c.getAttributeNode("customimage"))this.Zc=this.m.pm()+a.nodeValue;if(a=c.getAttributeNode("customimagewidth"))this.Be= Number(a.nodeValue);if(a=c.getAttributeNode("customimageheight"))this.Gd=Number(a.nodeValue);if(a=c.getAttributeNode("use3D"))this.jg=1==Number(a.nodeValue);if(a=c.getAttributeNode("distance3D"))this.mi=Number(a.nodeValue);for(c=c.firstChild;c;){if("polystring"==c.nodeName){a=c.textContent.toString().split("|");for(var b=0;bc;c++)2>c%3&&(f[c]*=d);e.bufferData(e.ARRAY_BUFFER,new Float32Array(f),e.STATIC_DRAW);this.Ae=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,this.Ae);var g=[1,0,0,0,0,1,1,1];e.bufferData(e.ARRAY_BUFFER,new Float32Array(g),e.STATIC_DRAW);this.pd=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.pd);var h=[0,1,2,0,2,3];e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array(h),e.STATIC_DRAW);f=[];h=[];g=[];var l=new x.Ga;for(d=0;6>d;d++){var k=d%3;var w=3>d?1:0;for(a=0;4>a;a++){l.x=-1;l.y=-1;l.z=1;for(c=0;cl.x?.33:0)+.33*k,(0>l.y?0:.5)+.5*w);if(4>d)for(c=0;ca;a++){var b=c.createTexture();this.td++; b.Vf=null;b.Ne=null;b.Km=!1;c.bindTexture(c.TEXTURE_2D,b);c.texImage2D(c.TEXTURE_2D,0,c.RGB,1,1,0,c.RGB,c.UNSIGNED_BYTE,null);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,c.LINEAR);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE);if(d.tf[a]){var e=new Image;e.crossOrigin=d.crossOrigin;e.src=d.Hb(d.tf[a]);b.Vf=e;e.addEventListener&&e.addEventListener("load",this.qk(b),!1);d.hc.push(e)}this.ib.push(b)}for(a=0;6>a;a++)d.Cg[a]&& (e=new Image,e.crossOrigin=d.crossOrigin,e.src=d.Hb(d.Cg[a]),e.addEventListener?e.addEventListener("load",this.qk(this.ib[a]),!1):e.onload=this.qk(this.ib[a]),this.ib[a].Ne=e,d.hc.push(e));for(a=0;ad;d++)this.dg(d),c.bindBuffer(c.ARRAY_BUFFER,this.Wj),c.vertexAttribPointer(this.P.ja,3,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this.Ae),c.vertexAttribPointer(this.P.Ma,2,c.FLOAT,!1,0,0),6<=this.ib.length&&this.ib[d].loaded&&(c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,this.ib[d]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.pd),c.uniform1i(this.P.$f,0),c.uniformMatrix4fv(this.P.vh, !1,this.ya),c.uniformMatrix4fv(this.P.he,!1,this.zb),c.drawElements(c.TRIANGLES,6,c.UNSIGNED_SHORT,0))}};m.prototype.uj=function(){var d=this.m;if(d.u.Wf&&6>16&255)/255,(c>>8&255)/255,(c>>0&255)/255,1)}};m.prototype.dg=function(d,c){void 0===c&&(c=1);var a=this.m;x.ka.identity(this.ya);x.ka.rotate(this.ya,c*-a.U.j*Math.PI/180,[0,0,1]);x.ka.rotate(this.ya,c*-a.v.j*Math.PI/180,[1,0,0]);-1==c?x.ka.rotate(this.ya,-a.pan.j*Math.PI/180,[0,1,0]):x.ka.rotate(this.ya, (180-a.pan.j)*Math.PI/180,[0,1,0]);a.Oa&&(x.ka.rotate(this.ya,-a.Oa.pitch*Math.PI/180,[1,0,0]),x.ka.rotate(this.ya,a.Oa.U*Math.PI/180,[0,0,1]));4>d?x.ka.rotate(this.ya,-Math.PI/2*d,[0,1,0]):x.ka.rotate(this.ya,Math.PI/2*(5==d?1:-1),[1,0,0])};m.prototype.ts=function(d){var c=this;return function(){c.ak.push(d)}};m.prototype.rp=function(d){this.m.Na=!0;this.m.qd=!0;d.loaded=!0;d.Uk=0;d.ke=0;var c=this.m.R;this.Xl();c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,1);if(null!=d.u&&d.u.complete){d.qb=c.createTexture(); this.m.td++;c.bindTexture(c.TEXTURE_2D,d.qb);try{c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,d.u)}catch(a){c.texImage2D(c.TEXTURE_2D,0,c.RGBA,1,1,0,c.RGBA,c.UNSIGNED_BYTE,new Uint8Array([128,128,128,250])),this.m.N(a)}}this.m.update(2)};m.prototype.Xl=function(){this.m.ac&&this.m.ac--};m.prototype.sp=function(){if(0f;f++){var g=new x.Wd;g.V=document.createElement("canvas");c.m.ia?(g.V.width=b.width+2*e,g.V.height=b.height+2*e):(g.V.width=a.O+2*e,g.V.height=a.O+2*e);g.bb=g.V.getContext("2d");g.V.style[c.m.Va+"Origin"]="0% 0%";g.V.style.overflow="hidden";g.V.style.position="absolute";g.u=d;var h=b.width+2*e,l=b.height+2*e;g.bb&&g.bb.drawImage(d,0,f*l,h,l,0,0,h,l);if(c.m.ia&&c.m.R){var k=c.m.R;k.pixelStorei(k.UNPACK_FLIP_Y_WEBGL, 1);g.qb=k.createTexture();c.m.td++;k.bindTexture(k.TEXTURE_2D,g.qb);try{k.texImage2D(k.TEXTURE_2D,0,k.RGBA,k.RGBA,k.UNSIGNED_BYTE,g.V)}catch(w){c.m.N(w)}k.bindTexture(k.TEXTURE_2D,null);k.pixelStorei(k.UNPACK_FLIP_Y_WEBGL,0)}c.m.kd&&(g.V.ce=-1,c.m.L.insertBefore(g.V,c.m.L.firstChild));b.aa[f]=g}b.loaded=!0}}catch(w){c.m.N(w)}c.m.update(2)}};m.prototype.ho=function(d){var c=this;return function(){c.m.Na=!0;c.m.qd=!0;c.Xl();d.u=null}};m.prototype.Qs=function(){var d=this.m,c=d.u,a=d.u.levels;d.Ge&& (d.dd(0),d.Sc());if(d.R){var b=d.R;b.useProgram(this.P);this.uj();b.clear(b.DEPTH_BUFFER_BIT);b.enable(b.DEPTH_TEST);x.ka.identity(this.zb);x.ka.perspective(d.jc(),d.yb.width/d.yb.height,.1,100,this.zb);b.uniformMatrix4fv(this.P.he,!1,this.zb);d.po();d.Hk();var e=d.ek();var f=a.length-1;for(d.Ec=0;f>=e;){var g=a[f],h=1;f==a.length-1&&0==c.Da&&(h=c.O/(c.O-.5));for(var l=0;6>l;l++){var k=d.cube.faces[l];var w=k.Uf;if(k.pb&&0sh;sh++)id[sh]=0==sh%3?h*ha*(-2*id[sh]/g.width+1):1==sh%3?h*ha*(-2*id[sh]/g.height+1):ha;b.bufferData(b.ARRAY_BUFFER,new Float32Array(id),b.STATIC_DRAW)}}else w=!1;ua.visible=k.pb}r.Ek=w}}f--}for(l=0;6>l;l++)if(k=d.cube.faces[l],k.pb)for(w=k.Uf,this.dg(l),b.uniform1i(this.P.$f,0),b.uniformMatrix4fv(this.P.he,!1,this.zb),b.uniformMatrix4fv(this.P.vh,!1,this.ya),b.enableVertexAttribArray(this.P.ja),b.enableVertexAttribArray(this.P.Ma), b.bindBuffer(b.ARRAY_BUFFER,this.Ae),b.vertexAttribPointer(this.P.Ma,2,b.FLOAT,!1,0,0),b.activeTexture(b.TEXTURE0),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this.pd),b.useProgram(this.P),f=e;f<=a.length-1;){g=a[f];if(k.pb&&0f?sh.Ve(-90*f):sh.Rd(5==f?90:-90);h.Oa&&(sh.We(h.Oa.U),sh.Rd(-h.Oa.pitch));sh.Ve(-h.pan.j);sh.Rd(h.v.j);sh.We(h.U.j);for(f=0;f<=e;f++)for(var db=0;db<=e;db++){var gl=2*(w+db*r)-1;var tf=2*(a+f*y)-1;id.x=1*gl;id.y=1*tf;id.z=-1;id.normalize();sh.Rq(id);gl=this.Bm(id,l,h.Sa());0!=h.Cc&&1>ua&&(gl=gl&&this.Bm(id,z,h.Cc),l.x=l.x*ua+z.x*(1-ua),l.y=l.y*ua+z.y*(1-ua));gl?-1E10l.x&&-1E10l.y?-2l.x&&-2l.y&&(c+= l.x,b+=l.y,ha++):l.x=NaN:l.x=NaN;d.ud[d.yi++]=l.x;d.ud[d.yi++]=l.y}0h;h++)isNaN(d.ud[2*b[0]])&&(e=!1);if(e){var l=!1,k=!1,w=!1,r=!1;for(h=0;4>h;h++){var y=d.ud[2*b[h]];yy;y++)for(var z=0;z=f;){var id={};k=a[h];var sh=null;0>w-h),y,-(0!=d.Cc)?.3:.1);tf.visible=0d.fov.j&&h d.Oe){d.N("Excided painted tiles");this.ij=!1;break}tf.qb&&(l=y=c.O,ha==k.T-1&&(y=k.width-c.O*ha),z==k.ea-1&&(l=k.height-c.O*z),y=(y+2*c.Da)/c.O,l=(l+2*c.Da)/c.O,b.bindTexture(b.TEXTURE_2D,tf.qb),b.uniform2f(b.getUniformLocation(e,"uCanvasDimensions"),d.C.width,d.C.height),w=b.getUniformLocation(e,"srcScale"),b.uniform2f(w,.5*k.width/c.O/y,.5*k.height/c.O/l),w=b.getUniformLocation(e,"srcOffset"),b.uniform2f(w,(.5*k.width+c.Da-c.O*ha)/c.O/y,-(.5*k.height+c.Da-c.O*z)/c.O/l+1),w=b.getUniformLocation(e, "zOffset"),b.uniform1f(w,(h+1)/(a.length+5)),y=b.getAttribLocation(e,"aVertexPosition"),b.disableVertexAttribArray(0),b.disableVertexAttribArray(1),b.disableVertexAttribArray(2),b.enableVertexAttribArray(y),b.activeTexture(b.TEXTURE0),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.LINEAR),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.LINEAR),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.bindBuffer(b.ARRAY_BUFFER, this.xq),b.vertexAttribPointer(y,2,b.FLOAT,!1,0,0),b.bufferData(b.ARRAY_BUFFER,new Float32Array(tf.ud),b.DYNAMIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this.wq),b.bufferData(b.ELEMENT_ARRAY_BUFFER,new Uint16Array(tf.Le),b.DYNAMIC_DRAW),b.drawElements(b.TRIANGLES,tf.Jd,b.UNSIGNED_SHORT,0),g++)}h++}b.disable(b.CULL_FACE);b.cullFace(b.FRONT_AND_BACK);d.qd=!1}};m.prototype.vj=function(d,c){var a=this.m.R;x.ka.identity(this.ya);this.dg(d,-1);a.uniformMatrix4fv(a.getUniformLocation(c,"matRotate"),!1, this.ya)};m.prototype.ir=function(){var d=this.m;if(d.R){var c=d.R,a=this.Bn;c.useProgram(a);this.vj(0,a);c.uniform2f(c.getUniformLocation(a,"uCanvasDimensions"),d.C.width,d.C.height);var b=c.getUniformLocation(a,"srcOffset");c.uniform2f(b,.5,.5);1==d.D.format&&(b=c.getUniformLocation(a,"srcScale"),d.Md?(c.uniform2f(b,-.5/Math.PI,(d.D.flipY?-.5:.5)/Math.PI),b=c.getUniformLocation(a,"srcOffset"),d.Kh?c.uniform2f(b,.5,.75):c.uniform2f(b,.5,.25)):c.uniform2f(b,-.5/Math.PI,(d.D.flipY?-1:1)/Math.PI)); 14==d.D.format&&(b=c.getUniformLocation(a,"srcScale"),c.uniform2f(b,1-2*d.D.lf/(d.D.width/3),1-2*d.D.lf/(d.D.height/2)));this.ml(a);b=c.getUniformLocation(a,"cubeTexture");c.uniform1i(b,0);b=c.getAttribLocation(a,"aVertexPosition");c.disableVertexAttribArray(0);c.disableVertexAttribArray(1);c.disableVertexAttribArray(2);c.enableVertexAttribArray(b);c.bindBuffer(c.ARRAY_BUFFER,this.Yi);c.vertexAttribPointer(b,2,c.FLOAT,!1,0,0);c.activeTexture(c.TEXTURE0);c.bindTexture(c.TEXTURE_2D,d.D.texture);c.texParameteri(c.TEXTURE_2D, c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,c.LINEAR);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,c.LINEAR);c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.pd);c.drawElements(c.TRIANGLES,6,c.UNSIGNED_SHORT,0)}};m.prototype.ml=function(d){var c=this.m,a=c.R,b=this.m.C,e=b.width/b.height;switch(c.fov.mode){case 1:e=1;break;case 2:e=b.width/Math.sqrt(b.width*b.width+b.height*b.height);break;case 3:4* b.height/3g;g++)this.ib[g].Ne.complete?this.ji[g]||(f=!0):b=!1,this.ib[g].Vf.complete||(e=!1);if(e||b)if(!e||b||!this.Jc||f){g=Math.round(d.Fc/d.cf);e=(d.Fc-g)/2;d.N("paint cube single - isMain: "+b+" overlap: "+e);this.sf=0;this.Jc||(this.Jc=c.createTexture());d.td++;c.bindTexture(c.TEXTURE_CUBE_MAP,this.Jc);c.texParameteri(c.TEXTURE_CUBE_MAP,c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_CUBE_MAP,c.TEXTURE_WRAP_T, c.CLAMP_TO_EDGE);c.pixelStorei(c.UNPACK_FLIP_Y_WEBGL,1);f=document.createElement("canvas");f.width=g;f.height=g;var h=f.getContext("2d");for(g=0;6>g;g++){var l=a[g];this.ib[l].Ne.complete?this.ji[l]||(h.drawImage(this.ib[l].Ne,-e,-e),c.texImage2D(c.TEXTURE_CUBE_MAP_POSITIVE_X+g,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,f),this.ji[l]=!0):(h.drawImage(this.ib[l].Vf,-e,-e,d.Fc,d.Fc),c.texImage2D(c.TEXTURE_CUBE_MAP_POSITIVE_X+g,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,f))}this.eh=!b}};m.prototype.pp=function(){var d=this.m, c=this.m.u,a=d.u.levels,b=d.R,e;var f=a.length-1;if(!(0>f)){a[f].Se&&f--;var g=512;d.dh&&(g=256);!d.Zf&&2<=d.devicePixelRatio&&(g=512);for((e=b.getParameter(b.MAX_CUBE_MAP_TEXTURE_SIZE))&&ef){g=a[f];d.N("paint cube level "+f);this.sf=f;a=d.u.Da;f=0g.width&&(1500k;k++){for(var w=0;we;e++)for(var f=0;fc;c++)for(var a=0;a1.1*d.eo)for(this.ae.sort(function(l,k){return k.ih-l.ih});this.ae.length>d.eo;)h=this.ae.pop(),h.qb&&(a.deleteTexture(h.qb),d.td--,h.qb=0),h.u=null,h.Cf&&(a.deleteBuffer(h.Cf), h.Cf=0),g=h.level.aa.indexOf(h),d.N("delete "+g+" "+(b-h.ih)),delete h.level.aa[g]};m.prototype.Js=function(){var d=this.m;if(d.R){var c=this.m.R;c.disable(c.DEPTH_TEST);var a;for(a=0;ac;c++)this.dg(0),a.bindBuffer(a.ARRAY_BUFFER,d.D.ql),a.vertexAttribPointer(this.P.ja,3,a.FLOAT,!1,0,0),a.bindBuffer(a.ARRAY_BUFFER,d.D.mj),a.vertexAttribPointer(this.P.Ma,2,a.FLOAT,!1,0,0),a.activeTexture(a.TEXTURE0), a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,d.D.xk),a.uniform1i(this.P.$f,0),a.uniformMatrix4fv(this.P.vh,!1,this.ya),a.uniformMatrix4fv(this.P.he,!1,this.zb),a.drawElements(a.TRIANGLES,36,a.UNSIGNED_SHORT,0)}};m.prototype.Hs=function(){var d=this.m,c=d.R,a=d.D;if(0=a.H.mode&&(e=0);3==a.H.mode&&(e=a.H.va);for(d=0;d>16&255)/255,(c>>8&255)/255,(c&255)/255);var k=b.getUniformLocation(this.Pd,"uAlpha");b.uniform1f(k,f.ec*h);b.vertexAttribPointer(this.Pd.ja,3,b.FLOAT,!1,0,0);b.drawArrays(b.LINE_LOOP,0,l.length/3); c=f.dc;b.uniform3f(g,(c>>16&255)/255,(c>>8&255)/255,(c&255)/255);b.uniform1f(k,f.cc*h);b.enable(b.STENCIL_TEST);b.clearStencil(0);b.clear(b.STENCIL_BUFFER_BIT);b.colorMask(!1,!1,!1,!1);b.stencilFunc(b.ALWAYS,1,1);b.stencilOp(b.INCR,b.INCR,b.INCR);b.drawArrays(b.TRIANGLE_FAN,0,l.length/3);b.colorMask(!0,!0,!0,!0);b.stencilFunc(b.EQUAL,1,1);b.stencilOp(b.ZERO,b.ZERO,b.ZERO);b.drawArrays(b.TRIANGLE_FAN,0,l.length/3);b.disable(b.BLEND);b.enable(b.DEPTH_TEST);b.disable(b.STENCIL_TEST);b.useProgram(this.P)}}}}}; m.prototype.ll=function(){var d=this.m,c=d.u;if(d.C.width!=d.L.offsetWidth||d.C.height!=d.L.offsetHeight)d.C.width=d.L.offsetWidth,d.C.height=d.L.offsetHeight;d.Ge&&(d.dd(0),d.Sc());if(d.R){var a=d.R;this.uj();a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);a.disable(a.DEPTH_TEST);a.disable(a.CULL_FACE);a.useProgram(this.Jg);var b=a.getUniformLocation(this.Jg,"uRect");a.uniform2f(a.getUniformLocation(this.Jg,"uCanvasDimensions"),d.C.width,d.C.height);a.activeTexture(a.TEXTURE0);a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.pd);var e=a.getAttribLocation(this.Jg,"aVertexPosition");a.disableVertexAttribArray(0);a.disableVertexAttribArray(1);a.disableVertexAttribArray(2);a.enableVertexAttribArray(e);a.bindBuffer(a.ARRAY_BUFFER,this.Ae);a.vertexAttribPointer(e,2,a.FLOAT,!1,0,0);d.Ec=0;var f=100/d.fov.j;var g=c.width/c.height;e=d.C.height*f*g;f*=d.C.height;g=(d.pan.j/100/g-.5)*e+d.C.width/2;for(var h=(d.v.j/100-.5)*f+d.C.height/2,l,k,w,r=0;c.levels.length>=r+2&&c.levels[r+1].width>e;)r++;var y;var z=[];for(y=c.levels.length- 1;y>=r;){var ha=c.levels[y];if(ha.cache){var ua={jb:0,Ib:0};ua.Kb=ha.T-1;ua.Lb=ha.ea-1}else{ua={};l=-h/f*(ha.height/d.u.O);k=(-g+d.C.width)/e*(ha.width/d.u.O);var id=(-h+d.C.height)/f*(ha.height/d.u.O);ua.jb=Math.min(Math.max(0,Math.floor(-g/e*(ha.width/d.u.O))),ha.T-1);ua.Ib=Math.min(Math.max(0,Math.floor(l)),ha.ea-1);ua.Kb=Math.min(Math.max(0,Math.floor(k)),ha.T-1);ua.Lb=Math.min(Math.max(0,Math.floor(id)),ha.ea-1)}z[y]=ua;var sh=!0;for(k=ua.Ib;k<=ua.Lb;k++)for(l=ua.jb;l<=ua.Kb;l++)w=l+k*ha.T,id= ha.aa[w],id||(id=new x.Wd,ha.aa[w]=id),this.ni()?id.u||(this.Mi(id,ha,d.pe(0,y,l,k)),d.Na=!0):this.m.Ec++,id.u&&id.u.complete||(sh=!1),id.visible=!0;ua.Ek=sh;y--}for(y=c.levels.length-1;y>=r;){ha=c.levels[y];if(z[y]&&0<=z[y].jb)for(ua=z[y],k=ua.Ib;k<=ua.Lb;k++)for(l=ua.jb;l<=ua.Kb;l++)w=l+k*ha.T,(id=ha.aa[w])&&id.u&&id.u.complete&&(d=g+(-c.Da+c.O*l)*e/ha.width,a.uniform4f(b,d,h+(-c.Da+c.O*k)*f/ha.height,id.u.width*e/ha.width,id.u.height*f/ha.height),id&&id.qb&&(a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.pd),a.bindTexture(a.TEXTURE_2D,id.qb),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.drawElements(a.TRIANGLES,6,a.UNSIGNED_SHORT,0)));y--}this.Vk()}};m.prototype.Ue=function(){var d=this.m.R;if(d&&this.ib)for(;0c;c++)this.faces[c]=new p}d.prototype.kp=function(c,a,b,e){for(var f=0;6>f;f++){var g;if(g=this.faces[f]){var h=[];h.push(new x.Ga(-1,-1,-1,0,0));h.push(new x.Ga(1,-1,-1,1,0));h.push(new x.Ga(1,1,-1,1,1));h.push(new x.Ga(-1,1,-1,0,1));for(var l=0;lf?h[l].La(-Math.PI/2*f):h[l].Fa(Math.PI/2*(4===f?-1:1)), e&&(h[l].lb(e.U*Math.PI/180),h[l].Fa(-e.pitch*Math.PI/180)),h[l].La(-c*Math.PI/180),h[l].Fa(a*Math.PI/180),h[l].lb(b*Math.PI/180);g.pb=0 uRadius) {\n alpha = 1.0;\n } else {\n alpha = 1.0 - ((uRadius - distFromCenter) / uSoftEdge);\n };\n }\n else {\n float alphaFromLeft = 1.0 - ((gl_FragCoord.x -(uIrisCenter.x - uRectDim.x)) / uSoftEdge);\n float alphaFromRight = 1.0 - (((uIrisCenter.x + uRectDim.x) - gl_FragCoord.x) / uSoftEdge);\n float alphaFromTop = 1.0 - ((gl_FragCoord.y -(uIrisCenter.y - uRectDim.y)) / uSoftEdge);\n float alphaFromBottom = 1.0 - (((uIrisCenter.y + uRectDim.y) - gl_FragCoord.y) / uSoftEdge);\n alpha = max(max(alphaFromLeft, alphaFromRight), max(alphaFromTop, alphaFromBottom));\n }\n gl_FragColor = vec4(textureColor.x, textureColor.y, textureColor.z, alpha);\n}\n"); d.compileShader(a);d.getShaderParameter(a,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(a)),a=null);this.Ua=d.createProgram();d.attachShader(this.Ua,c);d.attachShader(this.Ua,a);d.linkProgram(this.Ua);d.getProgramParameter(this.Ua,d.LINK_STATUS)||alert("Could not initialise shaders");this.Ua.ja=d.getAttribLocation(this.Ua,"aVertexPosition");d.enableVertexAttribArray(this.Ua.ja);this.Ua.Ma=d.getAttribLocation(this.Ua,"aTextureCoord");d.enableVertexAttribArray(this.Ua.Ma);a=d.createShader(d.FRAGMENT_SHADER); d.shaderSource(a,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nvarying vec2 vTextureCoord;\nuniform float uPercent;\nuniform int uDirection;\nuniform vec2 uCanvasDimensions;\nuniform float uSoftEdge;\nuniform sampler2D uSampler;\nvoid main(void) {\n vec4 textureColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n float alpha = 0.0;\n if (uDirection == 1) {\n\t if (gl_FragCoord.x > uPercent) {\n alpha = 1.0; \n } else {\n alpha = 1.0 - ((uPercent - gl_FragCoord.x) / uSoftEdge);\n }\n }\n if (uDirection == 2) {\n\t if (gl_FragCoord.x < uCanvasDimensions.x - uPercent) {\n alpha = 1.0; \n } else {\n alpha = 1.0 - ((gl_FragCoord.x - (uCanvasDimensions.x - uPercent)) / uSoftEdge);\n }\n }\n if (uDirection == 3) {\n\t if (gl_FragCoord.y < uCanvasDimensions.y - uPercent) {\n alpha = 1.0; \n } else {\n alpha = 1.0 - ((gl_FragCoord.y - (uCanvasDimensions.y - uPercent)) / uSoftEdge);\n }\n }\n if (uDirection == 4) {\n\t if (gl_FragCoord.y > uPercent) {\n alpha = 1.0; \n } else {\n alpha = 1.0 - ((uPercent - gl_FragCoord.y) / uSoftEdge);\n }\n }\n gl_FragColor = vec4(textureColor.x, textureColor.y, textureColor.z, alpha);\n}\n"); d.compileShader(a);d.getShaderParameter(a,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(a)),a=null);this.Za=d.createProgram();d.attachShader(this.Za,c);d.attachShader(this.Za,a);d.linkProgram(this.Za);d.getProgramParameter(this.Za,d.LINK_STATUS)||alert("Could not initialise shaders");this.Za.ja=d.getAttribLocation(this.Za,"aVertexPosition");d.enableVertexAttribArray(this.Za.ja);this.Za.Ma=d.getAttribLocation(this.Za,"aTextureCoord");d.enableVertexAttribArray(this.Za.Ma)};m.prototype.dd=function(){var d= this.m.R;if(!d)return!1;if(this.tc=d.createFramebuffer()){d.bindFramebuffer(d.FRAMEBUFFER,this.tc);this.tc.width=1024;this.tc.height=1024;this.df=d.createTexture();d.bindTexture(d.TEXTURE_2D,this.df);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR);d.texImage2D(d.TEXTURE_2D,0,d.RGBA,this.tc.width,this.tc.height,0,d.RGBA,d.UNSIGNED_BYTE,null);var c=d.createRenderbuffer();d.bindRenderbuffer(d.RENDERBUFFER,c);d.renderbufferStorage(d.RENDERBUFFER, d.DEPTH_COMPONENT16,this.tc.width,this.tc.height);d.framebufferTexture2D(d.FRAMEBUFFER,d.COLOR_ATTACHMENT0,d.TEXTURE_2D,this.df,0);d.framebufferRenderbuffer(d.FRAMEBUFFER,d.DEPTH_ATTACHMENT,d.RENDERBUFFER,c);d.bindTexture(d.TEXTURE_2D,null);d.bindRenderbuffer(d.RENDERBUFFER,null);d.bindFramebuffer(d.FRAMEBUFFER,null);this.rb=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,this.rb);d.bufferData(d.ARRAY_BUFFER,new Float32Array([-1,-1,0,1,-1,0,-1,1,0,1,1,0]),d.STATIC_DRAW);this.rb.itemSize=3;this.rb.ge= 4;this.Xf=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,this.Xf);d.bufferData(d.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,1,1]),d.STATIC_DRAW);return!0}return!1};m.prototype.rn=function(d){var c=this.m.R,a=this.m.yb;if(this.Bd){c.useProgram(this.Aa);c.bindBuffer(c.ARRAY_BUFFER,this.rb);c.vertexAttribPointer(this.Aa.ja,this.rb.itemSize,c.FLOAT,!1,0,0);c.bindBuffer(c.ARRAY_BUFFER,this.Xf);c.vertexAttribPointer(this.Aa.Ma,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(this.Aa.ja);c.enableVertexAttribArray(this.Aa.Ma); c.activeTexture(c.TEXTURE0);c.bindTexture(c.TEXTURE_2D,this.df);a=1+(this.Gb-1)*d;var b=c.getUniformLocation(this.Aa,"uAlpha");c.uniform1f(b,1);b=c.getUniformLocation(this.Aa,"uZoomIn");c.uniform1i(b,1);b=c.getUniformLocation(this.Aa,"uZoomCenter");var e=.5+(this.Yh-.5)*Math.sqrt(d),f=.5+(this.Zh-.5)*Math.sqrt(d);0>e-.5/a&&(e=.5/a);0>f-.5/a&&(f=.5/a);1e-.5/this.Gb&&(e=.5/this.Gb);0>f-.5/this.Gb&&(f=.5/this.Gb);1>16&255)/255,(this.mf>>8&255)/255,(this.mf&255)/255),b=c.getUniformLocation(this.fb,"uZoomIn"),c.uniform1i(b,1==this.sa||2==this.sa||6==this.sa?1:0),b=c.getUniformLocation(this.fb,"uZoomCenter"),c.uniform2f(b,e,f),e=c.getUniformLocation(this.fb,"uZoomFactor"),c.uniform1f(e,this.Gb),c.uniform1i(c.getUniformLocation(this.fb,"uSampler"),0);else if("irisround"==this.type||"irisroundcenter"==this.type||"irisrectangular"==this.type||"irisrectangularcenter"==this.type){c.useProgram(this.Ua); c.bindBuffer(c.ARRAY_BUFFER,this.rb);c.vertexAttribPointer(this.Ua.ja,this.rb.itemSize,c.FLOAT,!1,0,0);c.bindBuffer(c.ARRAY_BUFFER,this.Xf);c.vertexAttribPointer(this.Ua.Ma,2,c.FLOAT,!1,0,0);c.activeTexture(c.TEXTURE0);c.bindTexture(c.TEXTURE_2D,this.df);if(1==this.sa||2==this.sa||6==this.sa||"irisroundcenter"==this.type||"irisrectangularcenter"==this.type)var g=b=.5;else b=this.Yh,g=this.Zh;var h=b*a.width,l=g*a.height;h=Math.max(h,a.width-h);l=Math.max(l,a.height-l);"irisround"==this.type||"irisroundcenter"== this.type?c.uniform1f(c.getUniformLocation(this.Ua,"uRadius"),(Math.sqrt(h*h+l*l)+this.Rc)*d):(h>l?(l=a.height/a.width*h+this.Rc,h+=this.Rc):(h=a.width/a.height*l+this.Rc,l+=this.Rc),c.uniform2f(c.getUniformLocation(this.Ua,"uRectDim"),h*d,l*d));d=c.getUniformLocation(this.Ua,"uSoftEdge");c.uniform1f(d,this.Rc);c.uniform1i(c.getUniformLocation(this.Ua,"uRound"),"irisround"==this.type||"irisroundcenter"==this.type?1:0);c.uniform2f(c.getUniformLocation(this.Ua,"uIrisCenter"),b*a.width,g*a.height);b= c.getUniformLocation(this.Ua,"uZoomIn");c.uniform1i(b,1==this.sa||2==this.sa||6==this.sa?1:0);b=c.getUniformLocation(this.Ua,"uZoomCenter");c.uniform2f(b,e,f);e=c.getUniformLocation(this.Ua,"uZoomFactor");c.uniform1f(e,this.Gb);c.uniform1i(c.getUniformLocation(this.Ua,"uSampler"),0)}else if("wipeleftright"==this.type||"wiperightleft"==this.type||"wipetopbottom"==this.type||"wipebottomtop"==this.type||"wiperandom"==this.type)c.useProgram(this.Za),c.bindBuffer(c.ARRAY_BUFFER,this.rb),c.vertexAttribPointer(this.Za.ja, this.rb.itemSize,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this.Xf),c.vertexAttribPointer(this.Za.Ma,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,this.df),c.uniform1f(c.getUniformLocation(this.Za,"uPercent"),3>this.Zj?d*(a.width+this.Rc):d*(a.height+this.Rc)),d=c.getUniformLocation(this.Za,"uSoftEdge"),c.uniform1f(d,this.Rc),c.uniform1i(c.getUniformLocation(this.Za,"uDirection"),this.Zj),c.uniform2f(c.getUniformLocation(this.Za,"uCanvasDimensions"),a.width,a.height), b=c.getUniformLocation(this.Za,"uZoomIn"),c.uniform1i(b,1==this.sa||2==this.sa||6==this.sa?1:0),b=c.getUniformLocation(this.Za,"uZoomCenter"),c.uniform2f(b,e,f),e=c.getUniformLocation(this.Za,"uZoomFactor"),c.uniform1f(e,this.Gb),c.uniform1i(c.getUniformLocation(this.Za,"uSampler"),0);c.drawArrays(c.TRIANGLE_STRIP,0,this.rb.ge);c.useProgram(this.m.za.P);c.disable(c.BLEND);c.enable(c.DEPTH_TEST)}};return m}();x.Go=p})(ggP2VR||(ggP2VR={})); (function(x){var p=function(){function m(d){this.Oh=[];this.m=d;this.enabled=!1;this.Eb=2;this.ii=!1}m.prototype.bm=function(d){if(2==d.mode||3==d.mode||5==d.mode){var c=this.m.ua.currentTime;if(d.Jb&&d.Jb.gain&&d.Ub&&d.Sb&&d.Tb){var a=d.Ub.gain.value,b=d.Sb.gain.value,e=d.Tb.gain.value;d.Jb.gain.linearRampToValueAtTime(d.Jb.gain.value,c);d.Jb.gain.linearRampToValueAtTime(0,c+this.Eb);d.Ub.gain.linearRampToValueAtTime(a,c);d.Ub.gain.linearRampToValueAtTime(0,c+this.Eb);d.Sb.gain.linearRampToValueAtTime(b, c);d.Sb.gain.linearRampToValueAtTime(0,c+this.Eb);d.Tb.gain.linearRampToValueAtTime(e,c);d.Tb.gain.linearRampToValueAtTime(0,c+this.Eb)}}else c=this.m.ua.currentTime,d.Rb&&d.Rb.gain&&(d.Rb.gain.linearRampToValueAtTime(d.Rb.gain.value,c),d.Rb.gain.linearRampToValueAtTime(0,c+this.Eb));d.oi=!0;setTimeout(function(){d.Te()},1E3*this.Eb+5)};m.prototype.ns=function(){for(var d=0;da.pa&&(a.pa=d)}1==d&&clearInterval(this.hs)};return m}();x.Ho=p})(ggP2VR||(ggP2VR={})); (function(x){var p=function(){function m(d){this.mh=[];this.md=null;this.rc=[];this.ic=[];this.sc=[];this.al=!0;this.m=d;this.np()}m.prototype.$g=function(){var d=this.m.R,c=d.createShader(d.VERTEX_SHADER);d.shaderSource(c,"attribute vec3 aVertexPosition;\nvoid main(void) {\n gl_Position = vec4(aVertexPosition, 1.0);\n}\n");d.compileShader(c);d.getShaderParameter(c,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(c)),c=null);var a=d.createShader(d.FRAGMENT_SHADER);d.shaderSource(a,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nvarying vec4 vColor;\nuniform vec2 uCanvasDimensions;\nuniform vec2 uFlareCenterPosition;\nuniform float uBlindingValue;\nuniform float uAspectRatio;\nvoid main(void) {\n float canvasDiag = sqrt( (uCanvasDimensions.x * uCanvasDimensions.x) + (uCanvasDimensions.y * uCanvasDimensions.y) );\n vec2 diff = uFlareCenterPosition - gl_FragCoord.xy;\n diff.y = diff.y * uAspectRatio;\n float distFromFlarePoint = sqrt( (diff.x * diff.x) + (diff.y * diff.y) );\n float factor = (distFromFlarePoint / canvasDiag) / 10.0;\n gl_FragColor = vec4(1.0, 1.0, 1.0, pow(((1.0 - factor) * 0.8) * uBlindingValue, 2.0));\n}\n"); d.compileShader(a);d.getShaderParameter(a,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(a)),a=null);this.wc=d.createProgram();d.attachShader(this.wc,c);d.attachShader(this.wc,a);d.linkProgram(this.wc);d.getProgramParameter(this.wc,d.LINK_STATUS)||alert("Could not initialise shaders");this.wc.ja=d.getAttribLocation(this.wc,"aVertexPosition");d.enableVertexAttribArray(this.wc.ja);a=d.createShader(d.VERTEX_SHADER);c=d.createShader(d.VERTEX_SHADER);d.shaderSource(a,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nattribute vec3 aVertexPosition;\nvarying vec4 vColor;\nuniform vec2 uCirclePosition;\nuniform float uCircleRadius;\nuniform vec2 uCanvasDimensions2;\nuniform float uAspectRatio;\nvoid main(void) {\n vec2 circleOnScreen = aVertexPosition.xy * uCircleRadius + uCirclePosition;\n circleOnScreen.y = circleOnScreen.y / uAspectRatio;\n vec2 circleNorm = (circleOnScreen / uCanvasDimensions2) * 2.0 - vec2(1.0, 1.0);\n gl_Position = vec4(circleNorm.x, circleNorm.y, 0.0, 1.0);\n}\n"); d.compileShader(a);d.getShaderParameter(a,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(a)),a=null);d.shaderSource(c,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nattribute vec3 aVertexPosition;\nvarying vec4 vColor;\nuniform vec2 uCirclePosition;\nuniform float uCircleRadius;\nuniform vec2 uCanvasDimensions2;\nuniform float uAspectRatio;\nvoid main(void) {\n vec2 circleOnScreen = aVertexPosition.xy * uCircleRadius + uCirclePosition;\n circleOnScreen.y = circleOnScreen.y / uAspectRatio;\n vec2 circleNorm = (circleOnScreen / uCanvasDimensions2) * 2.0 - vec2(1.0, 1.0);\n gl_Position = vec4(circleNorm.x, circleNorm.y, 0.0, 1.0);\n}\n"); d.compileShader(c);d.getShaderParameter(c,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(c)),a=null);var b=d.createShader(d.FRAGMENT_SHADER);d.shaderSource(b,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nvarying vec4 vColor;\nuniform vec2 uCircleTexturePosition;\nuniform vec3 uCircleColor;\nuniform float uCircleRadius;\nuniform float uCircleAlpha;\nuniform float uCircleSoftness;\nuniform float uAspectRatio;\nvoid main(void) {\n vec2 diff = uCircleTexturePosition - gl_FragCoord.xy;\n diff.y = diff.y * uAspectRatio;\n float distFromCircleCenter = sqrt( (diff.x * diff.x) + (diff.y * diff.y) );\n float softnessDistance = uCircleRadius * (1.0 - uCircleSoftness);\n if (distFromCircleCenter > uCircleRadius)\n {\n\t gl_FragColor = vec4(uCircleColor, 0.0);\n }\n else if (distFromCircleCenter <= (softnessDistance))\n {\n\t float factor = distFromCircleCenter / softnessDistance;\n\t gl_FragColor = vec4(uCircleColor, pow((1.0 - (0.2 * factor)) * uCircleAlpha, 1.8));\n }\n else\n {\n\t float factor = (distFromCircleCenter - softnessDistance) / (uCircleRadius - softnessDistance);\n\t gl_FragColor = vec4(uCircleColor, pow((0.8 - (0.8 * factor)) * uCircleAlpha, 1.8));\n }\n}\n"); d.compileShader(b);d.getShaderParameter(b,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(b)),b=null);this.Ba=d.createProgram();d.attachShader(this.Ba,a);d.attachShader(this.Ba,b);d.linkProgram(this.Ba);d.getProgramParameter(this.Ba,d.LINK_STATUS)||alert("Could not initialise shaders");this.Ba.ja=d.getAttribLocation(this.Ba,"aVertexPosition");d.enableVertexAttribArray(this.Ba.ja);a=d.createShader(d.FRAGMENT_SHADER);d.shaderSource(a,"#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\nvarying vec4 vColor;\nuniform vec2 uRingTexturePosition;\nuniform float uRingRadius;\nuniform float uRingAlpha;\nuniform float uAspectRatio;\nuniform sampler2D uSampler;\nvoid main(void) {\n vec2 diff = uRingTexturePosition - gl_FragCoord.xy;\n diff.y = diff.y * uAspectRatio;\n float distFromRingCenter = sqrt( (diff.x * diff.x) + (diff.y * diff.y) );\n float factor = distFromRingCenter / uRingRadius;\n if (distFromRingCenter > uRingRadius)\n {\n\t gl_FragColor = vec4(1.0, 1.0, 1.0, 0.0);\n }\n else\n {\n vec4 textureColor = texture2D(uSampler, vec2(factor / uAspectRatio, 0.5));\n gl_FragColor = vec4(textureColor.x, textureColor.y, textureColor.z, uRingAlpha);\n }\n}\n"); d.compileShader(a);d.getShaderParameter(a,d.COMPILE_STATUS)||(alert(d.getShaderInfoLog(a)),a=null);this.Db=d.createProgram();d.attachShader(this.Db,c);d.attachShader(this.Db,a);d.linkProgram(this.Db);d.getProgramParameter(this.Db,d.LINK_STATUS)||alert("Could not initialise shaders");this.Db.ja=d.getAttribLocation(this.Db,"aVertexPosition")};m.prototype.dd=function(){var d=this.m.R;this.Id=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,this.Id);d.bufferData(d.ARRAY_BUFFER,new Float32Array([-1,-1,0,1, -1,0,1,1,0,-1,1,0]),d.STATIC_DRAW);this.Id.itemSize=3;this.Id.ge=4;this.zf=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,this.zf);for(var c=[0,0,0],a=2*Math.PI/6,b=Math.PI/180*35,e=1,f=b;f<=b+2*Math.PI;f+=a)c.push(Math.sin(f)),c.push(-Math.cos(f)),c.push(0),e++;d.bufferData(d.ARRAY_BUFFER,new Float32Array(c),d.STATIC_DRAW);this.zf.itemSize=3;this.zf.ge=e;this.Fn=d.createTexture();d.bindTexture(d.TEXTURE_2D,this.Fn);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR);d.texParameteri(d.TEXTURE_2D, d.TEXTURE_MAG_FILTER,d.LINEAR);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE);c=document.createElement("canvas");c.width=100;c.height=1;a=c.getContext("2d");a.width=100;a.height=1;b=a.createLinearGradient(0,0,100,0);b.addColorStop(0,this.m.fa(0,0));b.addColorStop(.88,this.m.fa(0,0));b.addColorStop(.9,this.m.fa(16654848,1));b.addColorStop(.92,this.m.fa(16776448,1));b.addColorStop(.94,this.m.fa(4849466,1));b.addColorStop(.96, this.m.fa(131071,1));b.addColorStop(.98,this.m.fa(8190,1));b.addColorStop(1,this.m.fa(0,0));a.fillStyle=b;a.fillRect(0,0,100,1);d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,c)};m.prototype.ur=function(){for(;0a.z){f=-b/a.z;e=a.x*f;f*=a.y;var y=Math.max(h,l);Math.abs(e)l?h:l;y=r.Hl/100*((ua-ha)/ua);0>y&&(y=0);if(this.m.ia){d.useProgram(this.wc);d.bindBuffer(d.ARRAY_BUFFER,this.m.J.rb);d.vertexAttribPointer(this.wc.ja,this.m.J.rb.itemSize,d.FLOAT,!1,0,0);var id=d.getUniformLocation(this.wc,"uCanvasDimensions");d.uniform2f(id,d.drawingBufferWidth,d.drawingBufferHeight);d.uniform2f(d.getUniformLocation(this.wc, "uFlareCenterPosition"),d.drawingBufferWidth/h*e,l-d.drawingBufferHeight/l*f);d.uniform1f(d.getUniformLocation(this.wc,"uBlindingValue"),y);id=d.getUniformLocation(this.wc,"uAspectRatio");d.uniform1f(id,this.m.J.Nh?d.drawingBufferWidth/d.drawingBufferHeight:d.drawingBufferWidth/d.drawingBufferHeight/(h/l));d.drawArrays(d.TRIANGLE_STRIP,0,this.m.J.rb.ge)}else id=this.Z.createRadialGradient(e,f,1,e,f,z),id.addColorStop(0,"rgba(255, 255, 255, "+y+")"),id.addColorStop(.5,"rgba(255, 255, 255, "+.8*y+")"), id.addColorStop(1,"rgba(255, 255, 255, "+.6*y+")"),this.Z.fillStyle=id,this.Z.fillRect(0,0,this.Z.width,this.Z.height);if(0!=Number(r.type)&&!this.m.J.Nh){y=h/2-e;z=l/2-f;var sh=1,db=Number(r.type)-1;ha<.35*ua&&(sh=ha/(.35*ua),sh*=sh);ha>.7*ua&&(sh=(ua-ha)/(.3*ua));sh*=r.alpha/100;if(0tf&&(tf=0);var hl=gl.color;if(8==db||9==db||10==db)hl=r.color;if(this.m.ia)d.useProgram(this.Ba),d.bindBuffer(d.ARRAY_BUFFER, this.zf),d.vertexAttribPointer(this.Ba.ja,this.zf.itemSize,d.FLOAT,!1,0,0),id=d.getUniformLocation(this.Ba,"uCanvasDimensions2"),d.uniform2f(id,d.drawingBufferWidth,d.drawingBufferHeight),d.uniform2f(d.getUniformLocation(this.Ba,"uCirclePosition"),d.drawingBufferWidth/h*(e+y*gl.A),d.drawingBufferWidth/h*(l-(f+z*gl.A))),d.uniform2f(d.getUniformLocation(this.Ba,"uCircleTexturePosition"),d.drawingBufferWidth/h*(e+y*gl.A),l-(f+z*gl.A)),d.uniform1f(d.getUniformLocation(this.Ba,"uCircleRadius"),ua),d.uniform3f(d.getUniformLocation(this.Ba, "uCircleColor"),(hl>>16&255)/255,(hl>>8&255)/255,(hl&255)/255),d.uniform1f(d.getUniformLocation(this.Ba,"uCircleAlpha"),tf),d.uniform1f(d.getUniformLocation(this.Ba,"uCircleSoftness"),.1),id=d.getUniformLocation(this.Ba,"uAspectRatio"),d.uniform1f(id,d.drawingBufferWidth/d.drawingBufferHeight/(h/l)),d.drawArrays(d.TRIANGLE_FAN,0,this.zf.ge);else{this.Z.save();this.Z.translate(e+y*gl.A,f+z*gl.A);id=this.Z.createRadialGradient(0,0,1,0,0,1.1*ua);id.addColorStop(0,this.m.fa(hl,tf));id.addColorStop(.65, this.m.fa(hl,.9*tf));id.addColorStop(.8,this.m.fa(hl,.7*tf));id.addColorStop(1,this.m.fa(hl,.2*tf));this.Z.beginPath();hl=2*Math.PI/6;gl=Math.PI/180*35;var il=!0;for(tf=gl;tf<=gl+2*Math.PI;tf+=hl)il?(this.Z.moveTo(ua*Math.sin(tf),ua*Math.cos(tf)),il=!1):this.Z.lineTo(ua*Math.sin(tf),ua*Math.cos(tf));this.Z.closePath();this.Z.fillStyle=id;this.Z.fill();this.Z.restore()}}if(0tf&&(tf=0);hl=gl.color; if(8==db||9==db||10==db)hl=r.color;this.m.ia?(d.useProgram(this.Ba),d.bindBuffer(d.ARRAY_BUFFER,this.Id),d.vertexAttribPointer(this.Ba.ja,this.Id.itemSize,d.FLOAT,!1,0,0),id=d.getUniformLocation(this.Ba,"uCanvasDimensions2"),d.uniform2f(id,d.drawingBufferWidth,d.drawingBufferHeight),id=d.getUniformLocation(this.Ba,"uCirclePosition"),d.uniform2f(id,d.drawingBufferWidth/h*(e+y*gl.A),d.drawingBufferWidth/h*(l-(f+z*gl.A))),id=d.getUniformLocation(this.Ba,"uCircleTexturePosition"),d.uniform2f(id,d.drawingBufferWidth/ h*(e+y*gl.A),l-(f+z*gl.A)),id=d.getUniformLocation(this.Ba,"uCircleRadius"),d.uniform1f(id,ua),d.uniform3f(d.getUniformLocation(this.Ba,"uCircleColor"),(hl>>16&255)/255,(hl>>8&255)/255,(hl&255)/255),d.uniform1f(d.getUniformLocation(this.Ba,"uCircleAlpha"),tf),d.uniform1f(d.getUniformLocation(this.Ba,"uCircleSoftness"),gl.G),id=d.getUniformLocation(this.Ba,"uAspectRatio"),d.uniform1f(id,d.drawingBufferWidth/d.drawingBufferHeight/(h/l)),d.drawArrays(d.TRIANGLE_FAN,0,this.Id.ge)):(this.Z.save(),this.Z.translate(e+ y*gl.A,f+z*gl.A),id=this.Z.createRadialGradient(0,0,1,0,0,ua),id.addColorStop(0,this.m.fa(hl,tf)),id.addColorStop(1-gl.G,this.m.fa(hl,.8*tf)),id.addColorStop(1,this.m.fa(hl,0)),this.Z.beginPath(),this.Z.arc(0,0,ua,0,2*Math.PI,!1),this.Z.closePath(),this.Z.fillStyle=id,this.Z.fill(),this.Z.restore())}if(0tf&&(tf=0),this.m.ia?(d.useProgram(this.Db),d.activeTexture(d.TEXTURE0),d.bindTexture(d.TEXTURE_2D, this.Fn),d.bindBuffer(d.ARRAY_BUFFER,this.Id),d.vertexAttribPointer(this.Db.ja,this.Id.itemSize,d.FLOAT,!1,0,0),id=d.getUniformLocation(this.Db,"uCanvasDimensions2"),d.uniform2f(id,h,l),id=d.getUniformLocation(this.Db,"uCirclePosition"),d.uniform2f(id,e+y*r.A,l-(f+z*r.A)),id=d.getUniformLocation(this.Db,"uRingTexturePosition"),d.uniform2f(id,d.drawingBufferWidth/h*(e+y*r.A),l-(f+z*r.A)),id=d.getUniformLocation(this.Db,"uCircleRadius"),d.uniform1f(id,ua),d.uniform2f(d.getUniformLocation(this.Db,"uRingPosition"), e+y*r.A,l-(f+z*r.A)),d.uniform1f(d.getUniformLocation(this.Db,"uRingRadius"),ua),d.uniform1f(d.getUniformLocation(this.Db,"uRingAlpha"),tf),id=d.getUniformLocation(this.Db,"uAspectRatio"),d.uniform1f(id,d.drawingBufferWidth/d.drawingBufferHeight/(h/l)),d.uniform1i(d.getUniformLocation(this.Db,"uSampler"),0),d.drawArrays(d.TRIANGLE_FAN,0,this.Id.ge)):(this.Z.save(),this.Z.translate(e+y*r.A,f+z*r.A),id=this.Z.createRadialGradient(0,0,0,0,0,ua),id.addColorStop(0,this.m.fa(16777215,0)),id.addColorStop(.88, this.m.fa(0,0)),id.addColorStop(.9,this.m.fa(16654848,tf)),id.addColorStop(.92,this.m.fa(16776448,tf)),id.addColorStop(.94,this.m.fa(4849466,tf)),id.addColorStop(.96,this.m.fa(131071,tf)),id.addColorStop(.98,this.m.fa(8190,tf)),id.addColorStop(1,this.m.fa(0,0)),this.Z.beginPath(),this.Z.arc(0,0,ua,0,2*Math.PI,!1),this.Z.closePath(),this.Z.fillStyle=id,this.Z.fill(),this.Z.restore())}this.m.ia&&(d.useProgram(this.m.za.P),d.disable(d.BLEND),d.enable(d.DEPTH_TEST))}}}};return m}();x.Fo=p})(ggP2VR||(ggP2VR= {}));var THREE; (function(x){var p=function(){function m(d){this.wd=[];this.qa={x:0,y:0};this.Nc={x:0,y:0};this.th=0;this.le=null;this.hk=!1;this.rl=this.Qe=0;this.vk=this.yj=!1;this.m=null;this.Wk=!0;this.Af=1;this.Ai=[];this.frustumCulled=!1;this.Yg=0;this.Lj=this.xo=!1;this.Nf=[-1,-1,-1,-1];this.Ji=[];this.Me=[];this.m=d;var c=this;setTimeout(function(){if(window.WebXRPolyfill&&window.Promise){var a={cardboardConfig:{BUFFER_SCALE:1}};Il&&(a.allowCardboardOnDesktop=!0);try{new window.WebXRPolyfill(a),d.N("WebXR Polyfill loaded!")}catch(b){}}c.zq()}, 0);THREE?this.Gl():console.log("Three.js not available!")}m.prototype.op=function(){this.init();this.animate()};m.prototype.Gl=function(){this.kl=new THREE.Matrix4;this.nn=new THREE.Euler};m.prototype.init=function(){"xr"in navigator||console.log("no WebXR support");if(THREE)if(this.Cb)console.log("already set up!");else{this.kl||this.Gl();var d=this,c=this.od=this.m.od,a=this.Cr=new THREE.Scene,b=this.camera=new THREE.PerspectiveCamera(100,window.innerWidth/window.innerHeight,.001,2E4);108>THREE.REVISION&& (this.frustumCulled=!0);b.position.z=-.01;b.position.y=0;b.position.x=0;this.Cb=b=new THREE.WebGLRenderer({depth:!0,logarithmicDepthBuffer:!0,alpha:!0,antialias:!0,stencil:!0});b.setClearColor(new THREE.Color(0),1);b.setPixelRatio(window.devicePixelRatio);b.setSize(window.innerWidth,window.innerHeight);b.outputEncoding=THREE.GammaEncoding;b.shadowMap.enabled=!1;c.appendChild(b.domElement);"xr"in navigator&&(b.xr.enabled=!0,b.xr.setReferenceSpaceType("local"));var e=this.Bg=new THREE.Group;c=this.Tj= b.xr.getController(0);c.addEventListener("selectstart",function(g){d.pn(g)});c.addEventListener("selectend",function(){});c.visible=!0;e.add(c);b=this.Uj=b.xr.getController(1);b.addEventListener("selectstart",function(g){d.pn(g)});b.addEventListener("selectend",function(){});b.visible=!0;e.add(b);e.visible=!1;a.add(e);e=(new THREE.BufferGeometry).setFromPoints([new THREE.Vector3(0,0,0),new THREE.Vector3(0,0,-1)]);var f=new THREE.LineBasicMaterial({color:14737632});e=new THREE.Line(e,f);e.name="line"; e.scale.z=5;c.add(e.clone());b.add(e.clone());this.Dh=new THREE.Raycaster;this.qa=new THREE.Vector2;this.Sf=new THREE.Group;this.Hf=new THREE.Group;this.vd=new THREE.Group;this.dk=new THREE.Group;this.Mj=new THREE.Group;this.Sf.add(this.vd);this.Sf.add(this.dk);this.Sf.add(this.Hf);a.add(this.Sf);a.add(this.Mj);a=document.createElement("canvas");a.width=64;a.height=64;c=a.getContext("2d");c.fillStyle="black";c.lineWidth=3;c.beginPath();c.arc(32,32,10,0,2*Math.PI);c.stroke();a=new THREE.Texture(a); a.needsUpdate=!0;a.encoding=THREE.sRGBEncoding;e=new THREE.PlaneBufferGeometry(2,2,8);a=new THREE.MeshBasicMaterial({map:a});a.transparent=!0;a=new THREE.Mesh(e,a);a.position.z=-50;this.Mj.add(a);window.addEventListener("resize",function(){d.cr()},!1);document.addEventListener("mouseup",function(){d.Zq()},!1);document.addEventListener("mousedown",function(g){d.Xq(g)},!1);document.addEventListener("mousemove",function(g){d.Yq(g)},!1)}else console.log("Three.js not available!")};m.prototype.Un=function(){var d= this.m;d.N("VR not found");d.K("vrchanged",{});d.K("playerstatechanged",{})};m.prototype.es=function(){this.vk=!0;var d=this.m;d.N("XR found");d.K("vrchanged",{});d.K("playerstatechanged",{})};m.prototype.zq=function(){if(!this.xo){this.xo=!0;var d=this;if("xr"in navigator)navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?d.es():d.Un()})["catch"](d.Un)}};m.prototype.bh=function(){return null!=this.le?this.Cb.xr.isPresenting:!1};m.prototype.uk=function(){return this.vk&&THREE};m.prototype.ar= function(d){var c=this;this.ai();d.addEventListener("end",function(){c.$q()});console.log("XR Session started.");this.Cb.xr.setSession(d);this.hk=!0;this.le=d};m.prototype.$q=function(){console.log("XR Session ended.");this.hk=!1;this.le=null;this.Sj()};m.prototype.Gg=function(){var d=this.m;if(this.vk){if(null===this.le){var c=this;navigator.xr.requestSession("immersive-vr",{optionalFeatures:["local-floor","bounded-floor"]}).then(function(b){c.ar(b)})["catch"](function(b){console.log(b);console.warn("'immersive-vr' isn't supported, or an error occurred activating VR!"); c.Sj()})}this.vd&&this.vd.translateY(-this.Yg);this.Yg=0;if(1==this.Af){var a=navigator.userAgent;0<=a.indexOf("OculusBrowser")&&(0<=a.indexOf("Pacific")&&(this.Af=1.7),0<=a.indexOf("Quest")&&(this.Af=1.5))}this.Cb.xr.setFramebufferScaleFactor(this.Af);d.Lc("Enter VR - scaled "+this.Af)}else this.ai()};m.prototype.dr=function(){if(THREE&&this.Cb){var d=this.m;d.te=!0;d.$.style.display="none";d.$a.style.display="none";this.Cb.domElement.style.display="inline";d.K("vrchanged",{});d.K("playerstatechanged", {})}};m.prototype.Sj=function(){if(THREE&&this.Cb){var d=this.m;d.te=!1;d.$.style.display="inline";d.$a.style.display="inline";this.Cb.domElement.style.display="none";d.dj(0);d.Sc();d.update();d.K("vrchanged",{});d.K("playerstatechanged",{})}};m.prototype.wf=function(){null!=this.le&&this.le.end()};m.prototype.io=function(){this.bh()?this.wf():this.Gg()};m.prototype.dm=function(){var d=0,c=this.m;var a=1536;this.Cb&&c.N("Canvas: "+a);a*=Math.pow(2,0);if(0= d+2&&!c.u.levels[d+1].Se&&c.u.levels[d+1].width>a;)d++;c.N("Level "+d+" - width: "+c.u.levels[d].width);c.N(c.u.levels)}return d};m.prototype.Am=function(d){var c=this.m,a=c.re[d];d="";if(a){a=a.firstChild;for(var b;a;)"input"==a.nodeName&&(b=a)&&(b=0a;a++)d=c.Ob(d,"c","vr"),d=c.Ob(d,"s","vr"),d=c.Ob(d,"r",0),d=c.Ob(d,"l",0),d=c.Ob(d, "x",0),d=c.Ob(d,"y",0),d=c.Ob(d,"v",0),d=c.Ob(d,"h",0);return c.Hb(d)};m.prototype.ceilPowerOfTwo=function(d){return Math.pow(2,Math.ceil(Math.log(d)/Math.LN2))};m.prototype.loadTexture=function(d,c,a){var b=new THREE.ImageLoader;b.setCrossOrigin(this.m.crossOrigin);var e=this;b.load(c,function(f){var g=e.ceilPowerOfTwo(f.width),h=e.ceilPowerOfTwo(f.height);d.format=THREE.RGBFormat;d.encoding=THREE.sRGBEncoding;d.needsUpdate=!0;if(g==f.width&&h==f.height||!a)d.image=f;else{e.m.N("resizing "+f.width+ "/"+f.height+" -> "+g+"/"+h);var l=document.createElement("canvas");l.width=g;l.height=h;l.getContext("2d").drawImage(f,0,0,g,h);d.image=l}d.Jm=!0;d.de&&d.de.Jm&&(d.Tg.visible=!0,d.de.Tg.visible=!0)});this.Ai.push(d)};m.prototype.ai=function(){if(THREE){var d=this.m;if(this.Lj)d.N("vr panorama aleady added!");else{this.dm();var c=this.Hf,a=this;d.N("add vr panorama");this.Ue();this.camera.layers.enable(1);c.setRotationFromEuler(this.nn);c.rotateX(d.Oa.pitch*Math.PI/180);c.rotateZ(-d.Oa.U*Math.PI/ 180);var b=new THREE.SphereBufferGeometry(2E4/3*1.5,16,16),e=(new THREE.TextureLoader).load(this.Am(d.jk()));e.encoding=THREE.sRGBEncoding;e=new THREE.MeshBasicMaterial({map:e,side:THREE.DoubleSide});b=new THREE.Mesh(b,e);b.scale.x=-1;b.rotateZ(d.Oa.U*Math.PI/180);b.rotateX(-d.Oa.pitch*Math.PI/180);b.rotateY(-90*Math.PI/180);c.add(b);a.Vi=b;a.Lj=!0;setTimeout(function(){d.N("Adding Main Pano");a.Lj=!1;a.Ro();d.D.f?a.Uo():a.So();a.Po()});this.yr();this.Wk=!0}}};m.prototype.Uo=function(){var d=this.m, c=this.Hf,a=2E4/3;if(d.Md){var b=new THREE.VideoTexture(d.D.f);b.wrapS=THREE.ClampToEdgeWrapping;b.wrapT=THREE.ClampToEdgeWrapping;b.minFilter=THREE.LinearFilter;b.encoding=THREE.sRGBEncoding;var e=new THREE.SphereBufferGeometry(a,60,40);e.scale(-1,1,1);for(var f=e.attributes.uv.array,g=1;ga)for(var g=d.u.levels[a],h=0;6>h;h++){c[h]=new THREE.Group;for(var l=0;lh?c[h].rotation.y=-h*Math.PI/2:c[h].rotation.x=(4==h?1:-1)*Math.PI/2;b.add(c[h])}else for(a=d.cf,h=0;6>h;h++)for(c[h]=new THREE.Group,w=0;wh?c[h].rotation.y=-h*Math.PI/2:c[h].rotation.x=(4==h?1:-1)*Math.PI/2,b.add(c[h])};m.prototype.Ro=function(){var d=this.m,c=this.vd;new x.Ga(0,0,-100);for(var a=d.H.oj,b=0;b=e.distance?5:1>e.distance?1:5>e.distance? e.distance:5;if(e.Zc){var l=.005,k=(new THREE.TextureLoader).load(e.Zc);k.encoding=THREE.sRGBEncoding;var w=new THREE.MeshBasicMaterial({map:k});if(e.jg){h=100;g=2*h*Math.tan(e.fov/2*Math.PI/180);var r=new THREE.PlaneBufferGeometry(g,g*e.Gd/e.Be,1,1);w.transparent=!0;w.opacity=1}else r=new THREE.PlaneBufferGeometry(l*e.Be,l*e.Gd,1,1),w.transparent=!0,w.opacity=.25;g=l*e.Gd/2;w.side=THREE.DoubleSide}else r=new THREE.SphereBufferGeometry(.2,16,16),k=(new THREE.TextureLoader).load(this.Am(f)),k.encoding= THREE.sRGBEncoding,w=new THREE.MeshBasicMaterial({map:k}),w.transparent=!0,w.opacity=.25;f=new THREE.Mesh(r,w);l=e.title;if(a.enabled&&""!=l){r=document.createElement("canvas");r.width=256;r.height=32;k=r.getContext("2d");this.Mh||(this.Mh=document.createElement("canvas"),this.Mh.width=r.width,this.Mh.height=r.height);var y=this.Mh.getContext("2d");y.clearRect(0,0,r.width,r.height);y.font="16px Helvetica";y.textAlign="center";y.textBaseline="top";w=y.measureText(l);var z=w.width;0d.clientX&&50> d.clientY&&this.m.wf();0this.Fq+1E3){var g=this.Bk.userData;g&&g.url&&this.m.gd(g.url,g.target)}}else this.Bk=null;for(g=0;gl&&(this.Fh(20),this.Nf[g]=h);.3h?(f=!0,-1!=this.Me[g]&&(this.Me[g]=-1,this.Ji[g]=Date.now()-1E4)):this.Me[g]=0,0!=this.Me[g]&&400>";this.cube=new x.Jo;this.nl=!1;this.zg=function(f,g){if(0==f.length)return f;var h;var l=[];var k=g.Wi(f[0])-0;for(h=0;hz&&(z=0);1k||l.push(f[w]);l.push(ha)}k=y}return l};this.vn=new p;this.cl=0;this.qc=!1;this.Ki=-1;this.Pg=function(f){return f?this.ah()&&(f.clientX||f.clientY)?{x:f.clientX,y:f.clientY}:f.pageX||f.pageY?{x:f.pageX,y:f.pageY}:f.clientX||f.clientY?{x:f.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,y:f.clientY+document.body.scrollTop+document.documentElement.scrollTop}: f.touches&&f.touches[0]?{x:f.touches[0].pageX,y:f.touches[0].pageY}:{x:0,y:0}:{x:0,y:0}};this.Ri=1;this.xp=this.ti=this.Ym=this.ck=this.Sk=this.Xi=0;this.Zm=!1;this.be=!0;this.mb=new x.$h(this);this.mb.Df=!1;this.Yl();if(7=b&&(this.da.blendtime=b));a.hasOwnProperty("waitfortransition")&&(this.da.zoomoutpause=1==a.waitfortransition);a.hasOwnProperty("zoomedfov")&&(b=Number(a.zoomedfov),.01<=b&&50>=b&&(this.da.zoomfov=b));a.hasOwnProperty("zoomafterinfov")&&(b=Number(a.zoomafterinfov),70<=b&&120>=b&&(this.da.zoomafterinfov=b));a.hasOwnProperty("zoomafteroutoutfov")&& (b=Number(a.zoomafteroutfov),.01<=b&&70>=b&&(this.da.zoomafteroutfov=b));a.hasOwnProperty("zoomspeed")&&(b=Number(a.zoomspeed),.01<=b&&99>=b&&(this.da.zoomspeed=b));a.hasOwnProperty("dipcolor")&&(this.da.blendcolor=a.dipcolor);a.hasOwnProperty("softedge")&&(a=Number(a.softedge),0<=a&&1E3>=a&&(this.da.softedge=a));this.wg||this.Vj()};c.prototype.Qc=function(a,b,e){var f=b?Number(b):0;if(0!=a&&4!=a&&12!=a&&9!=a)this.Lc("Unsupported projection type: "+a);else if(b&&0!==f&&4!==f&&12!==f&&9!==f)this.Lc("Unsupported projection2 type: "+ f);else if(a==f&&(f=0),this.xh=e?Number(e):1,this.Wa!=a||this.Cc!=f)this.Wa=a,this.Cc=f,this.za.Ci()};c.prototype.Sa=function(){return 0==this.Wa?4:this.Wa};c.prototype.Pj=function(a,b){if(0!=a&&4!=a&&12!=a&&9!=a)this.Lc("Unsupported projection type: "+a);else if(this.ia||0==a||4==a||this.Lc("Projection changes require WebGL!"),this.Sa()!=a){var e={};e.pan=this.pan.j;e.tilt=this.v.j;e.fov=this.fov.j;e.projection=a;e.timingFunction=3;e.speed=b;a=this.Og(a);e.fov=Math.min(a,e.fov);this.Qi(e)}};c.prototype.addListener= function(a,b){(this.Hg[a]=this.Hg[a]||[]).push(b)};c.prototype.K=function(a,b){if(a=this.Hg[a])for(var e=a.length,f=0;f>4;g=(g&15)<<4|h>>2;var k=(h&3)<<6|l;b+=String.fromCharCode(f);64!=h&&(b+=String.fromCharCode(g)); 64!=l&&(b+=String.fromCharCode(k))}while(e>3&7];if(!(h&64&&l)||g+l>e)return null;for(h&=63>>l;0Number(this.hd))&&(this.ua=null);this.kc&&!this.xd&&12<=Number(this.hd)&&13>Number(this.hd)&&(this.ua=null);this.kc&&this.xd&&13==Number(this.Zg[0])&&(1==Number(this.Zg[1])||2<=Number(this.Zg[1]))&&(this.ua=null);this.Sh=this.Sm?this.kc&&this.Yk&&10<=Number(this.hd)?!0:!1:!0};c.prototype.N=function(a){if(Il){var b=document.getElementById("gg_debug");b&&(b.innerHTML=a.toString()+"
");window.console&&window.console.log(a)}};c.prototype.Ps=function(a){if(Il){var b=document.getElementById("gg_debug"); b&&(b.innerHTML=a.toString()+"
");window.console&&window.console.warn(a)}};c.prototype.Lc=function(a){var b=document.getElementById("gg_debug");b&&(b.innerHTML=a+"
");window.console&&window.console.log(a)};c.prototype.Pn=function(a){this.Oe=a};c.prototype.setCrossOrigin=function(a){this.crossOrigin=a};c.prototype.Gr=function(a){this.Gf=a};c.prototype.eq=function(){return this.zh};c.prototype.Er=function(a){this.Zd=a};c.prototype.pm=function(){return this.Zd};c.prototype.Lp=function(){return this.dh}; c.prototype.Gp=function(){return this.zi};c.prototype.Mp=function(){return this.Kf};c.prototype.Ip=function(){return this.B.active};c.prototype.Hr=function(a){this.dh=!!a};c.prototype.ui=function(){return this.isLoaded};c.prototype.Kp=function(){return!this.isLoaded};c.prototype.sd=function(){return Number(this.C.height)/(2*Math.tan(Math.PI/180*(this.jc()/2)))};c.prototype.Sn=function(a,b){this.isFullscreen&&(a=window.innerWidth,b=window.innerHeight);var e=a-this.margin.left-this.margin.right,f=b- this.margin.top-this.margin.bottom;if(!(10>e||10>f)){var g=window.devicePixelRatio||1;this.Zf&&(g=1);this.L.style.width=e+"px";this.L.style.height=f+"px";this.L.style.left=this.margin.left+"px";this.L.style.top=this.margin.top+"px";if(this.ia)try{this.$a&&(this.$a.style.position="absolute",this.$a.style.display="inline",this.$a.style.width=e+"px",this.$a.style.height=f+"px",this.$a.width=e*g,this.$a.height=f*g),this.R&&(this.yb.width=e*g,this.yb.height=f*g,this.R.viewport(0,0,this.R.drawingBufferWidth, this.R.drawingBufferHeight))}catch(h){alert(h)}this.xc&&(this.xc.style.width=a+"px",this.xc.style.height=b+"px",this.xc.width=a,this.xc.height=b);this.Ra&&(this.Ra.style.width=a+"px",this.Ra.style.height=b+"px",this.Ja.style.width=a+"px",this.Ja.style.height=b+"px",this.Ja.width=a,this.Ja.height=b,this.Ja.style.left=this.margin.left+"px",this.Ja.style.top=this.margin.top+"px",this.ta&&this.ta!=this.Ra&&(this.ta.style.width=a+"px",this.ta.style.height=b+"px"));this.Ta&&(e=this.Ta.md,e.style.width= a+"px",e.style.height=b+"px",e.width=a,e.height=b,e.style.left=this.margin.left+"px",e.style.top=this.margin.top+"px");this.Ef&&(this.Na=!0);e=this.L.offsetWidth;f=this.L.offsetHeight;if(this.C.width!=e||this.C.height!=f)this.C.width=e,this.C.height=f;this.Ks();this.ta&&this.ta.ggUpdateSize&&this.ta.ggUpdateSize(a,b);this.K("sizechanged",{w:a,h:b});this.K("playerstatechanged",{})}};c.prototype.ff=function(){this.nl=!0};c.prototype.Sc=function(){this.Sn(this.od.offsetWidth,this.od.offsetHeight)};c.prototype.sq= function(){var a={width:0,height:0};a.width=this.C.width;a.height=this.C.height;return a};c.prototype.Je=function(){var a={x:0,y:0},b=this.L;if(b.offsetParent){do a.x+=b.offsetLeft,a.y+=b.offsetTop,b=b.offsetParent;while(b)}return a};c.prototype.Tr=function(a){this.la=a};c.prototype.Ir=function(a,b,e,f){this.margin.left=a;this.margin.top=b;this.margin.right=e;this.margin.bottom=f;this.la=this.skinObj;this.ff()};c.prototype.gp=function(a){0==a&&(this.M.Ld=!1);1==a&&(this.M.Ld=!0);2==a&&(this.M.Ld= !this.M.Ld);this.K("viewmodechanged",{});this.K("playerstatechanged",{})};c.prototype.qq=function(){return 1==this.M.Ld?1:0};c.prototype.Ml=function(a,b){this.H.mode=1==b&&0a.z?(y=-b/a.z,r=a.x*y,y*=a.y,Math.abs(r)a.z?(y=-b/a.z,r=this.C.width/2+a.x*y,y=this.C.height/2+a.y*y):y=r=0,a.Yb=r,a.Bb=y;k.ie=z}}}};c.prototype.Cp=function(){for(var a=[],b=0;bb&&(b=0);1>16&255)+","+(a>>8&255)+","+(a&255)+","+b+")"};c.prototype.gr=function(){var a;if(this.Ja&&(this.H.gh!=this.H.mode&&(this.H.gh=this.H.mode,this.Ja.style.visibility=0=this.H.mode&&(b=0);3==this.H.mode&&(b=this.H.va);for(a=0;ae!=f.Bb>e&&b<(f.Yb-l.Yb)*(e-l.Bb)/(f.Bb-l.Bb)+l.Yb&&(g=!g)}return g};c.prototype.gi=function(a,b){var e=-1;if((0<=this.H.mode||0e.width?this.fov.j/ 2:4==b?180*Math.atan(4*e.height/(3*e.width)*Math.tan(this.fov.j/2*Math.PI/180))/Math.PI:4*e.height/(3*e.width)*(this.fov.j/2)}return 2*a};c.prototype.Fp=function(a,b){a||(a=this.jc());b||(b=this.Sa());return 4==b?180*Math.atan(this.aspect()*Math.tan(a/2*Math.PI/180))/Math.PI:a*this.aspect()};c.prototype.aspect=function(){return this.C.width/this.C.height};c.prototype.Jl=function(a){var b=this.fov.j;a/=2;var e=this.Sa();switch(this.fov.mode){case 0:b=2*a;break;case 1:a=4==e?180*Math.atan(this.C.width/ this.C.height*Math.tan(a*Math.PI/180))/Math.PI:this.C.width/this.C.height*a;b=2*a;break;case 2:b=Math.sqrt(this.C.width*this.C.width+this.C.height*this.C.height);a=4==e?180*Math.atan(b/this.C.height*Math.tan(a*Math.PI/180))/Math.PI:b/this.C.height*a;b=2*a;break;case 3:4*this.C.height/3>this.C.width?b=2*a:(b=3*this.C.width/(4*this.C.height),a=4==e?180*Math.atan(b*Math.tan(a*Math.PI/180))/Math.PI:b*a,b=2*a)}return b};c.prototype.fj=function(a){this.fov.j=this.Jl(a)};c.prototype.yg=function(){if(!this.te){var a= this.vn;a.pan=this.pan.j;a.v=this.v.j;a.fov=this.fov.j;this.rf(a);this.rf(a);this.rf(a);this.pan.j=a.pan;this.v.j=a.v;this.fov.j=a.fov}};c.prototype.rf=function(a){var b=this.C.width/this.C.height;if(2==this.Xa){if(0b&&(a.fov=b);50a.v-f&&(a.v=-50+f));e>g?a.pan=0:(a.pan+e>g&&(a.pan=g-e,this.B.active&&(this.B.speed=-this.B.speed,this.pan.d=0)),a.pan-e<-g&&(a.pan=-g+e,this.B.active&&(this.B.speed=-this.B.speed,this.pan.d=0)))}else{0g&&(a.fov=g);12==this.Sa()&&(2*e>h&&(a.fov=h/b),f=this.jc()/2,2*f>h&&(a.fov=h),f=this.jc()/2,e=b*f);2*f>this.v.max-this.v.min&&180>this.v.max-this.v.min&&(f=(this.v.max-this.v.min)/2,a.fov=this.Jl(2*f));90>this.v.max?a.v+f>this.v.max&&(a.v=this.v.max-f):a.v>this.v.max&&(a.v=this.v.max);-90b){g=90;h=Math.tan(f*Math.PI/180);var l=Math.tan((Math.abs(a.v)+f)*Math.PI/180);l=Math.sqrt(l*l+1)/Math.sqrt(h*h+1);f=180*Math.atan(l*Math.tan(e*Math.PI/180))/Math.PI;2*f>b&&(l=Math.tan(b*Math.PI/360)/Math.tan(e*Math.PI/180),b=l*Math.sqrt(h*h+1),l=Math.sqrt(b*b-1),g=180/Math.PI*Math.atan(l));a.pan+f>this.pan.max&&(a.pan=this.pan.max-f,this.B.active&&(this.B.speed=-this.B.speed,this.pan.d=0));a.pan-fg&&(a.v=g-e);a.v-e<-g&&(a.v=-g+e)}}};c.prototype.update=function(a){void 0===a&&(a=0);this.Na=!0;a&&(this.Eg=Math.max(1*a,this.Eg))};c.prototype.tm=function(){return this.ra?!!this.ra.isTileLoading:0a;a++){var e;if(e=this.cube.faces[a]){var f="";this.Pc?(f+="translate3d("+this.C.width/2+"px,"+this.C.height/2+"px,0px) ",f+="perspective("+b+"px) ",f+="translate3d(0px,0px,"+b+"px) "):f+="translate3d("+this.C.width/2+"px,"+this.C.height/2+"px,"+b+"px) ";f+="rotateZ("+Number(this.U.j).toFixed(10)+"deg) ";f+="rotateX("+Number(this.v.j).toFixed(10)+"deg) ";f+="rotateY("+Number(-this.pan.j).toFixed(10)+ "deg) ";e.Hm&&(f+=e.Hm,e.pb||(f="translate3d(-10px,-10px,0px) scale(0.001,0.001)"),e.V.style[this.Va]=f)}}};c.prototype.Bs=function(){this.yg();var a;this.xc&&(a=this.xc.getContext("2d"));if(this.C.width!==this.L.offsetWidth||this.C.height!==this.L.offsetHeight)this.C.width=this.L.offsetWidth,this.C.height=this.L.offsetHeight;if(a){var b=a.canvas.width/2,e=a.canvas.height/2,f=a.createRadialGradient(b,e,5,b,e,Math.max(b,e));f.addColorStop(0,"#333");f.addColorStop(1,"#fff");a.rect(0,0,a.canvas.width, a.canvas.height);a.fillStyle=f;a.fill();a.fillStyle="#f00";a.font="20px Helvetica";a.textAlign="center";a.fillText("Pan: "+this.pan.j.toFixed(1),b,e-60);a.fillText("Tilt: "+this.v.j.toFixed(1),b,e-30);a.fillText("Fov: "+this.fov.j.toFixed(1),b,e+0);a.fillText("Node: "+this.jk(),b,e+30);a.fillText("Title: "+this.mg.title,b,e+60)}};c.prototype.Cs=function(){this.yg();if(this.C.width!==this.L.offsetWidth||this.C.height!==this.L.offsetHeight)this.C.width=this.L.offsetWidth,this.C.height=this.L.offsetHeight; this.ra&&this.ra.setPan&&(this.ra.setPan(this.pan.j),this.ra.setTilt(this.v.j),this.ra.setFov(this.fov.j))};c.prototype.ll=function(){this.Ja.style.visibility="inherit";this.ma||(this.ma=this.Ja.getContext("2d"));if(this.ma.width!=this.C.width||this.ma.height!=this.C.height)this.ma.width=this.C.width,this.ma.height=this.C.height;this.ma.clear?this.ma.clear():this.ma.clearRect(0,0,this.Ja.width,this.Ja.height);this.Ec=0;var a=100/this.fov.j;var b=this.u.width/this.u.height;var e=this.C.height*a*b; a*=this.C.height;var f=(this.pan.j/100/b-.5)*e+this.C.width/2;for(var g=(this.v.j/100-.5)*a+this.C.height/2,h,l,k,w,r=0;this.u.levels.length>=r+2&&this.u.levels[r+1].width>e;)r++;var y;var z=[];for(y=this.u.levels.length-1;y>=r;){b=this.u.levels[y];if(b.cache){var ha={jb:0,Ib:0};ha.Kb=b.T-1;ha.Lb=b.ea-1}else{ha={};var ua=-g/a*(b.height/this.u.O);h=(-f+this.C.width)/e*(b.width/this.u.O);l=(-g+this.C.height)/a*(b.height/this.u.O);ha.jb=Math.min(Math.max(0,Math.floor(-f/e*(b.width/this.u.O))),b.T-1); ha.Ib=Math.min(Math.max(0,Math.floor(ua)),b.ea-1);ha.Kb=Math.min(Math.max(0,Math.floor(h)),b.T-1);ha.Lb=Math.min(Math.max(0,Math.floor(l)),b.ea-1)}z[y]=ha;var id=!0;for(l=ha.Ib;l<=ha.Lb;l++)for(h=ha.jb;h<=ha.Kb;h++)w=h+l*b.T,ua=b.aa[w],ua||(ua=new x.Wd,b.aa[w]=ua),this.ac=r;){b=this.u.levels[y];if(z[y]&&0<=z[y].jb)for(ha=z[y],l=ha.Ib;l<=ha.Lb;l++)for(h=ha.jb;h<=ha.Kb;h++)w=h+l*b.T,(ua=b.aa[w])||(ua=b.aa[w]=new x.Wd),ua.u&&ua.u.complete&&(w=f+(-this.u.Da+this.u.O*h)*e/b.width,this.ma.drawImage(ua.u,w,g+(-this.u.Da+this.u.O*l)*a/b.height,ua.u.width*e/b.width,ua.u.height*a/b.height)),ua.visible=!0;y--}for(e=0;e=this.H.mode&&(e=0),3==this.H.mode&&(e=this.H.va),k=0;kthis.cube.faces.length))for(var a=0;6>a;a++){var b=this.cube.faces[a];var e=[];e.push(new x.Ga(-1,-1,-1,0,0));e.push(new x.Ga(1,-1,-1,1,0));e.push(new x.Ga(1,1,-1,1,1));e.push(new x.Ga(-1,1,-1,0,1));for(var f=0;4>f;f++)4>a?e[f].La(-Math.PI/2*a):e[f].Fa(Math.PI/2*(4==a?-1:1)),this.Oa&&(e[f].lb(this.Oa.U*Math.PI/180),e[f].Fa(-this.Oa.pitch*Math.PI/180)),e[f].Ve(-this.pan.j),e[f].Rd(this.v.j),e[f].We(this.U.j); e=this.Rj(e);b.pb=0=a+2&&!this.u.levels[a+1].Se&&this.u.levels[a+1].width>e;)a++;return a};c.prototype.Gs=function(){var a=!1,b,e,f;if(this.C.width!==this.L.offsetWidth||this.C.height!==this.L.offsetHeight)this.C.width=this.L.offsetWidth,this.C.height=this.L.offsetHeight,this.L.style[this.Va+"OriginX"]=this.C.width/2+"px",this.L.style[this.Va+ "OriginY"]=this.C.height/2+"px",a=!0;var g=Math.round(this.sd());if(this.hh!=g||a)this.hh=g,this.Pc||(this.L.style[this.Hd]=g+"px",this.L.style[this.Hd+"Origin"]="50% 50%");this.Ec=0;if(0b;b++){var l=this.cube.faces[b];l.pb&&(h=h+b+",")}h=this.ek();var k;for(k=this.u.levels.length-1;k>=h;){a=this.u.levels[k];var w=1;k==this.u.levels.length-1&&0==this.u.Da&&(w=this.u.O/(this.u.O-2));for(b=0;6>b;b++){l=this.cube.faces[b];var r=l.Uf;if(l.pb&& 0=k);)z=z.nextSibling;this.L.insertBefore(r.V,z);r.bb=r.V.getContext("2d")}else if(this.fo=k);)z=z.nextSibling;this.L.insertBefore(r.V,z)}r.V&&(this.wk++,r.u=new Image,r.u.crossOrigin=this.crossOrigin,r.u.style[this.Va+"Origin"]="0% 0%",r.u.style.position="absolute",r.u.style.overflow="hidden",r.V.ce=k,r.u.onload=this.rs(r),r.u.onerror=this.qj(r),r.u.onabort=this.qj(r),r.u.setAttribute("src", this.pe(b,k,e,f)),a.cache&&this.hc.push(r.u),this.ac++,this.Na=!0)}else this.Ec++;if(r.V){z="";this.Pc?(z+="translate3d("+this.C.width/2+"px,"+this.C.height/2+"px,0px) ",z+=" perspective("+g+"px) ",z+="translate3d(0px,0px,"+g+"px) "):z+="translate3d("+this.C.width/2+"px,"+this.C.height/2+"px,"+g+"px) ";z+="rotateZ("+Number(this.U.j).toFixed(10)+"deg) ";z+="rotateX("+Number(this.v.j).toFixed(10)+"deg) ";z+="rotateY("+Number(-this.pan.j).toFixed(10)+"deg) ";this.Oa&&(z+="rotateX("+Number(-this.Oa.pitch).toFixed(10)+ "deg) ",z+="rotateZ("+Number(this.Oa.U).toFixed(10)+"deg) ");z=4>b?z+("rotateY("+-90*b+"deg) "):z+("rotateX("+(4==b?-90:90)+"deg) ");if(this.Yf){var ha=this.u.O/a.width*(2*k+1)*(this.vg/this.u.O);ha=this.kc?2/Math.tan(this.fov.j*Math.PI/360)*ha:2*ha;z+=" scale("+ha*w*w+")"}else ha=1/(w*w);z+=" translate3d("+(1/w*e*this.u.O-this.u.Da-a.width/2)+"px,";z+=1/w*f*this.u.O-this.u.Da-a.width/2+"px,";z+=-a.width*ha/2+"px)";l.pb&&(r.visible=!0,r.V?r.V.style[this.Va]=z:r.u&&(r.u.style[this.Va]=z))}}}}k--}for(g= 0;gb||100>e)e=b=100;var f=window.devicePixelRatio||1;this.Zf&&(f=1);this.L.style.width=b+"px";this.L.style.height=e+"px";this.$a.style.width=b+"px";this.$a.style.height=e+"px";this.$a.width=b*f;this.$a.height=e*f;this.$a.style.display="none";this.$a.style.touchAction= "none";this.L.insertBefore(this.$a,this.L.firstChild);var g=this.yo;g.stencil=!0;g.depth=!0;g.powerPreference="high-performance";g.alpha=this.kc?!0:!1;this.xd&&10<=this.Zg[0]&&(g.antialias=!1,g.alpha=!1);a={};a.flags=g;a.canvas=this.$a;this.K("beforewebglcontext",a);this.R=this.$a.getContext("webgl",g);this.R||(this.R=this.$a.getContext("experimental-webgl",g));if(this.R){var h=this.R;this.yb.width=b*f;this.yb.height=e*f;h.clearColor(0,0,0,0);h.enable(this.R.DEPTH_TEST);h.viewport(0,0,500,500);h.clear(h.COLOR_BUFFER_BIT| h.DEPTH_BUFFER_BIT);4096<=h.getParameter(h.MAX_TEXTURE_SIZE)&&!this.dh&&(this.Oe=1g;g++)l=this.Ob(l,"c",a),l=this.Ob(l,"s",k),l=this.Ob(l,"r",b),l=this.Ob(l,"l",h),l=this.Ob(l,"x",e),l=this.Ob(l,"y",f),l=this.Ob(l,"v",f),l=this.Ob(l,"h",e);return this.Hb(l)};c.prototype.Rg=function(){return this.pan.j};c.prototype.cq=function(){return this.F.pan};c.prototype.ym=function(){for(var a=this.pan.j;-180>a;)a+=360;for(;180a;)a+=360;for(;180a&&-1E7b&&-1E7e&&-1E7e?Number(e):this.fov.j;this.F.speed=!isNaN(f)&&0=l?(this.cj(b,e,f),this.Qc(g)):(a=new x.sl,a.ab="__AutoMove",a.ne=this.ym(),a.Ih=this.v.j,a.Sd=this.fov.j,a.Hh=this.Wa,a.Ud=b,a.oe=e,a.fg=f,a.Ad=g,a.vf=!1,a.Ce=!1,a.De=!1,0==h&&(a.Ce=!0),1==h&&(a.vf=!0,a.Ce=!0),2==h&&(a.De=!0),a.speed= l,this.F.Bl=this.I,this.I=this.lm(a),this.F.Cl=(new Date).getTime(),this.F.ol=!0,this.F.active=!0,this.F.aborted=!1,this.F.pan=b,this.F.v=e,this.F.fov=f,this.Xd=!1)};c.prototype.Oq=function(a){this.moveTo(this.pan.cb,this.v.cb,this.fov.cb,a)};c.prototype.Pq=function(a,b){var e={};e.pan=this.pan.cb;e.tilt=this.v.cb;e.fov=this.fov.cb;e.projection=this.Ui;e.timingFunction=b;e.speed=a;this.Qi(e)};c.prototype.Qo=function(a,b,e,f){var g=new x.$h(this);g.type="point";g.pan=b;g.v=e;g.id=a;g.f={};g.f.player= this;g.xf();g.f.hotspot=g;g.f.__div=document.createElement("div");g.f.__div.appendChild(f);this.W.push(g);g.f.__div.style.position="absolute";g.f.__div.style.left="-1000px";g.f.__div.style.top="-1000px";this.Ra.insertBefore(g.f.__div,this.Ra.firstChild);this.Na=!0};c.prototype.Ds=function(a,b,e){for(var f=0;fa;)a+=360;b=e.Xo()}e={};e.pan=a;e.tilt=b;return e};c.prototype.Kc=function(a){return a==this.control||a&&void 0!==a.ggPermeableMap&&1==a.ggPermeableMap?!0:a&&void 0!==a.ggPermeable&&0==a.ggPermeable?!1:a&&a.ggType&&("container"==a.ggType||"cloner"==a.ggType||"timer"==a.ggType)?!0:!1};c.prototype.Qj=function(a,b){var e=this.sd(),f,g;for(f=0;fw;w++){switch(w){case 0:k.init(-g,-r,0);break;case 1:k.init(g,-r,0);break;case 2:k.init(g,r,0);break;case 3:k.init(-g,r,0)}k.Fa(h.Fa*Math.PI/180);k.La(-h.La*Math.PI/180);k.lb(h.lb*Math.PI/180);--k.z;k.Fa(-h.v*Math.PI/180);k.La(h.pan*Math.PI/180);k.La(-this.pan.j*Math.PI/180);k.Fa(this.v.j* Math.PI/180);k.lb(this.U.j*Math.PI/180);l.push(k.clone())}l=this.Rj(l);if(0k.z?(r=-e/k.z,g=this.C.width/2+k.x*r,r=this.C.height/2+k.y*r):r=g=0,k.Yb=g,k.Bb=r;if(this.Mm(l,a,b))return h}}return null};c.prototype.ah=function(){return document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement&&null!=document.msFullscreenElement||document.fullScreen};c.prototype.Nq=function(a){this.oo(a);window.focus();if(this.rd)this.rd.onclick();(this.Fe|| this.yf&&this.Jf)&&this.ri();this.Qb=null;if(!this.M.lc&&!this.qc){a=a?a:window.event;if(a.which||0==a.which||1==a.which){var b=(new Date).getTime();if(this.je){this.Qb=this.je;this.Y.Nc=!0;this.Y.startTime=b;a.stopPropagation();return}if(this.Kc(a.target)){var e;(e=this.Qj(this.qa.x,this.qa.y))&&e.Ke&&(this.Qb=e);this.wo(a.pageX,a.pageY);this.Y.Nc=!0;this.Y.startTime=b;a.preventDefault();this.Ea()}}this.ga.na.x=0;this.ga.na.y=0}};c.prototype.ig=function(a,b){var e=this.H.oj;e.enabled&&(this.Ca!= this.mb&&0<=a&&0<=b&&""!=this.Ca.title?(this.Ha.innerHTML=this.Ca.title,this.Ha.style.color=this.fa(e.pj,e.nj),this.Ha.style.backgroundColor=e.background?this.fa(e.dc,e.cc):"transparent",this.Ha.style.border="solid "+this.fa(e.fc,e.ec)+" "+e.ei+"px",this.Ha.style.borderRadius=e.Jj+"px",this.Ha.style.textAlign="center",0a-this.Y.startTime&&0<=b&&20>b){var e=this.gi(this.qa.x,this.qa.y);e&&this.jo(e);b=Math.abs(this.ga.Od.x-this.ga.oa.x)+Math.abs(this.ga.Od.y-this.ga.oa.y);700>a-this.fh&&0<=b&&20>b?(e?this.ko(e):this.M.$j&&this.sj(),this.fh=0):this.fh=a;this.ga.Od.x=this.ga.oa.x;this.ga.Od.y=this.ga.oa.y}}};c.prototype.fn=function(a){if(!this.M.ee&&!this.qc&&(a=a?a:window.event,this.Kc(a.target))){var b=a.detail?-1*a.detail:a.wheelDelta/40;this.M.Qm&&(b= -b);a.axis&&(-1==this.Ki?this.Ki=a.axis:this.Ki!=a.axis&&(b=0));var e=0Math.abs(a.wheelDeltaY)&&(b=0);0!=b&&(this.Oj(e*this.M.Wn,!0),this.update());a.preventDefault();this.Ea()}};c.prototype.zs=function(a){a||(a=window.event);var b=a.touches,e=this.Je();this.qa.x=b[0].pageX-e.x;this.qa.y=b[0].pageY-e.y;this.qe=this.Qb=null;window.focus();this.zi||(this.zi=!0,this.K("hastouch",{}),this.K("playerstatechanged",{}));this.Vm||this.If||!(this.Fe|| this.yf&&this.Jf)||this.ri();if(!this.M.lc&&!this.qc){var f=(new Date).getTime();if(this.je)this.Qb=this.je,this.Y.ad=!0,this.Y.startTime=f,a.preventDefault(),this.Y.Ah=!0;else{if(!this.Y.ad&&b[0]){this.Y.startTime=f;this.Y.start.x=b[0].pageX;this.Y.start.y=b[0].pageY;this.Y.oa.x=b[0].pageX;this.Y.oa.y=b[0].pageY;this.ub=b[0].target;if(this.Kc(this.ub)){(f=this.Qj(this.qa.x,this.qa.y))&&f.Ke&&(this.Qb=f);if(f=this.gi(this.qa.x,this.qa.y))this.N(f),this.qe=f,this.$i(f),f=this.Pg(a),this.ig(f.x-e.x, f.y-e.y);this.wo(b[0].pageX,b[0].pageY);this.Y.em=b[0].identifier;this.Y.ad=!0;a.preventDefault();this.Y.Ah=!0;this.Ea()}if(this.ub){e=this.ub;for(f=!1;e&&e!=this.control;){if(e.onmouseover)e.onmouseover();e.onmousedown&&!f&&(e.onmousedown(),f=!0);e=e.parentNode}f&&(a.preventDefault(),this.Y.Ah=!0)}}1this.fov.max&&(this.Ka.fov.yc=this.fov.max),this.Ka.fov.ycg){e=!0;this.Kc(this.ub)&&(a.preventDefault(),this.Qb&&(this.Qb.Ke(),this.je=this.Qb.ob?this.Qb:null));if(this.ub){for(g=this.ub;g&&g!=this.control;)g.onclick&&(g.onclick(),"hotspot"!=g.Ws&&(h=!0),e=!1),g=g.parentNode;h&&a.preventDefault()}g=Math.abs(this.Y.Od.x-this.Y.oa.x)+Math.abs(this.Y.Od.y-this.Y.oa.y);if(700>f-this.fh&&0<=g&&20>g){if(this.Kc(this.ub))if(a.preventDefault(),this.qe)this.ko(this.qe); else if(this.M.$j){var l=this;setTimeout(function(){l.sj()},1)}if(this.ub){for(g=this.ub;g&&g!=this.control;)g.ondblclick&&(g.ondblclick(),h=!0,e=!1),g=g.parentNode;h&&a.preventDefault()}this.fh=0}else this.fh=f;this.Y.Od.x=this.Y.oa.x;this.Y.Od.y=this.Y.oa.y}if(this.ub)for(g=this.ub;g&&g!=this.control;){if(g.onmouseout)g.onmouseout();if(g.onmouseup)g.onmouseup();g=g.parentNode}a=this.Pg(a);this.ig(a.x-b.x,a.y-b.y);this.qe&&e&&this.jo(this.qe);this.ub=null;this.Y.ad=!1;this.$i(this.mb);this.qe=null}}; c.prototype.ws=function(a){var b=this.Je();this.M.lc||this.qc||(this.Y.ad=!1);this.qe=null;this.$i(this.mb);a=this.Pg(a);this.ig(a.x-b.x,a.y-b.y)};c.prototype.Wm=function(){return null!=this.ub||this.Y.ad||this.Y.Nc};c.prototype.gn=function(a){!this.Pe&&window.MSGesture&&(this.N("setup gesture"),this.Pe=new MSGesture,this.Pe.target=this.control);this.Pe&&this.Pe.addPointer(a.pointerId)};c.prototype.nm=function(a){this.rk=!0;this.Ri=1;this.M.lc||this.M.ee||this.qc||(a.touches?(this.ub=a.touches.target, this.Kc(a.target)&&(a.preventDefault(),this.fov.prev=this.fov.j,this.Ea())):(a.preventDefault(),this.fov.prev=this.fov.j,this.Ea()))};c.prototype.zp=function(a){this.M.lc||this.M.ee||this.qc||!this.Kc(a.target)||(a.preventDefault(),this.Ka.fov.active=!0,this.Ka.fov.yc=this.fov.prev/Math.sqrt(a.scale),4==this.Sa()&&2!=this.Xa&&this.Ka.fov.yc>this.fov.max&&(this.Ka.fov.yc=this.fov.max),this.update(),this.Ea())};c.prototype.Qq=function(a){this.M.lc||this.M.ee||this.qc||(a.preventDefault(),1!=a.scale&& (this.Ka.fov.active=!0,this.Ri*=a.scale,this.Ka.fov.yc=this.fov.prev/Math.sqrt(this.Ri),4==this.Sa()&&2!=this.Xa&&this.Ka.fov.yc>this.fov.max&&(this.Ka.fov.yc=this.fov.max),this.update(),this.Ea()))};c.prototype.mm=function(a){this.M.lc||this.M.ee||this.qc||(this.Ka.fov.active=!1,a.preventDefault(),this.Ea(),this.Pe&&this.Pe.reset&&this.Pe.reset())};c.prototype.Dq=function(a){this.M.nh||this.qc||(this.isFullscreen&&a.preventDefault(),this.Ii=a.keyCode,this.Ea())};c.prototype.Eq=function(a){this.Ii&& (this.Ii=0,a.preventDefault())};c.prototype.Wq=function(){this.Ii=0};c.prototype.wh=function(){this.isFullscreen&&(this.ah()||this.exitFullscreen(),this.ah()&&(this.$.style.left="0px",this.$.style.top="0px"))};c.prototype.br=function(a,b,e,f){f?(this.Wg.alpha=a,this.Wg.beta=b,this.Wg.gamma=e,this.Wg.gamma+=90):(this.kb.alpha=a,this.kb.beta=b,this.kb.gamma=e,this.kb.gamma+=90);this.kb.orientation=window.orientation?1*parseInt(""+window.orientation,10):0;e=new x.ul;a=this.kb;e.Ve(-a.alpha);e.We(-a.beta); e.Rd(-a.gamma);e.We(90-a.orientation);1>e.Mb?-1this.kb.fadeIn&&(this.kb.fadeIn+=1,g=.1*this.kb.fadeIn);e=-e+this.kb.Qe;this.Ye(g*e+(1-g)*this.Rg());this.Ze(g*a+ (1-g)*this.wi());this.to?this.dj(g*b+(1-g)*this.Cm()):this.dj(0);this.yg();this.F.active=f}};c.prototype.jo=function(a){this.la&&this.la.hotspotProxyClick&&this.la.hotspotProxyClick(a.id,a.url);""!=a.url&&(this.Mk(a.url,a.target),this.ig(-1,-1))};c.prototype.ko=function(a){this.la&&this.la.hotspotProxyDoubleClick&&this.la.hotspotProxyDoubleClick(a.id,a.url)};c.prototype.si=function(){return Math.min(1,2*Math.tan(Math.PI*Math.min(this.fov.j,90)/360))};c.prototype.sn=function(){var a=this;setTimeout(function(){a.sn()}, 100);9!=a.Xi||a.Di||window.requestAnimationFrame(function(){a.yh();a.N("restart recover timer")});10k;)k+=360}e=k-l;2!=this.Xa&&(180e&&(e+= 360));this.pan.j+=e*this.Ed}else this.pan.j=k;this.B.kh=this.pan.j;break;case 1:l=this.v.j;this.Xd&&3!=w.type?(f=k-l,this.v.j+=f*this.Ed):this.v.j=k;this.B.lh=this.v.j;break;case 2:l=this.fov.j,this.Xd&&3!=w.type?(g=k-l,this.fov.j+=g*this.Ed):this.fov.j=k,this.B.jh=this.fov.j}}b=this.Sa();for(h=Math.floor(a);!this.Bf(h,3)&&0a?(b=this.Og(this.sg),this.fov.j>b?this.ci=a:(w=(a-this.ci)/this.Fj,w=Math.min(1,w),this.Qc(this.Wa,this.sg, 1-w))):(0==h.Eb||w>h.Eb-.3?this.Qc(h.value):(w/=h.Eb,this.Qc(b,h.value,1-w)),this.B.bn=h.value);this.Xd&&(e=Math.sqrt(e*e+f*f+g*g),.3>e&&(this.Xd=!1,this.Ed=.02,this.rg=0),0this.rg&&(this.Ed+=.01,this.Ed=Math.min(this.Ed,1)),this.rg=e);h=Math.floor(a);if(h!=this.Dl)for(this.Dl=h,a=this.Ap(h),e=0;e=this.Ya.length&&(b=0),a=this.Ya[b];while(""!=this.B.Qf&&!this.Qg(a).tags.includes(this.B.Qf)&&a!=this.Qa);return a};c.prototype.jr=function(a){var b=this.F.speed;this.F.Ck&&(b=b*(a.getTime()-this.F.Ck)/60,5b&&(b=.2));this.F.Ck=a.getTime();this.B.Kg&& (this.za.ready()||4==this.Wa)&&this.ui()&&(this.B.Kg=!1,this.B.active=!0,this.xb.running=!0,this.xb.fk=!1);if(this.F.active||0!=this.F.Nb&&this.za.ready()){if(this.F.ol&&"__AutoMove"==this.I.ab){var e=a.getTime()-this.F.Cl;b=e/100;if(b>=this.I.length){if(this.gj(this.I.length),this.wa.splice(this.wa.indexOf(this.I),1),this.F.active=!1,this.I=this.F.Bl,this.F.Nb=0,this.cj(this.F.pan,this.F.v,this.F.fov),this.pan.Yc=this.F.pan,this.v.Yc=this.F.v,this.F.uh&&(this.F.uh=!1,this.B.Pi=!0,this.B.active=!0, this.K("autorotatechanged",{})),this.onMoveComplete)this.onMoveComplete()}else this.gj(b)}else{this.pan.d=this.F.pan-this.pan.j;if(360==this.pan.max-this.pan.min){for(;-180>this.pan.d;)this.pan.d+=360;for(;1805*e?e/f:.2,this.pan.d*=f,this.v.d*=f,this.fov.d*=f;this.pan.j+=this.pan.d;this.v.j+=this.v.d; this.U.j+=this.U.d;this.fov.j+=this.fov.d;0!=this.F.Nb&&(this.F.Nb!=this.Wa?(b=this.Og(this.F.Nb),this.kk()>b?(this.fov.j+=-Math.max((2.5-1.7*Math.min(Math.sqrt(this.pan.d*this.pan.d+this.v.d*this.v.d+this.U.d*this.U.d)/e,1))*e,this.fov.d)-this.fov.d,this.F.fov=this.fov.j):(this.Cc=this.Wa,this.Wa=this.F.Nb,this.N("New projection from Target:"+this.Wa),this.xh=this.F.Ch=0,this.za.Ci())):1>this.F.Ch?(this.F.Ch=Math.min(1,this.F.Ch+.05*b),this.xh=this.F.Ch):(this.Cc=0,this.F.Nb=0,this.za.Ci()))}this.Lf= a.getTime();this.update()}else if(this.B.active){e=a.getTime()-this.B.startTime;this.B.Lithis.D.f.duration-this.D.f.currentTime&&(this.Hj=!0);f>=10*this.gf;)f-=10*this.gf;if(!g&&b>=this.I.length||g&&!e&&b>=this.I.length||g&&e&&(this.I.ab!=this.I.hn||this.I.Si!=this.Qa)&&b>=this.I.length){this.gj(this.I.length);this.B.Nd= 0;this.hf=!1;if(this.xb.running){this.Kn();return}this.Xb=this.I.hn;this.Xb==this.I.ab&&this.Qa==this.I.Si?1e.pan;)e.pan+=360;e.tilt=f.value;e.fov=g.value;e.projection=h?h.value:4}e.timingFunction=3;e.speed=1;this.F.uh=!0;this.Qi(e);this.B.active=!0}}else 0=1E3*this.B.Ti?11E3*this.B.timeout&&!this.B.Kg&& (this.B.Jh&&this.ui()||!this.B.Jh)&&(this.B.active=!0,this.B.startTime=a.getTime(),this.B.zd=0,this.K("autorotatechanged",{}),this.pan.d=0,this.v.d=0,this.fov.d=0),!this.Ka.enabled||this.Y.Ei()||0==this.pan.d&&0==this.v.d&&0==this.fov.d||(this.F.Bi=!0,this.pan.d*=.9,this.v.d*=.9,this.fov.d*=.9,this.pan.j+=this.pan.d,this.v.j+=this.v.d,this.Oj(this.fov.d),1E-4>this.pan.d*this.pan.d+this.v.d*this.v.d+this.fov.d*this.fov.d&&(this.pan.d=0,this.v.d=0,this.fov.d=0),this.update())};c.prototype.lr=function(a){var b= this.J;if(b.Bd){var e=a.getTime()-b.Co;e/=1E3*b.Bo;1<=e?(b.Bd=!1,this.cm(),b.el=a.getTime(),this.$n(),b.se=!0,0==b.uc||b.pg||(4==b.uc?(this.I=this.Ng(!0,b.af,b.bf,b.Vd),this.Xb=this.I.ab,this.B.active=!0,this.xb.running=!0):this.moveTo(b.af,b.bf,b.Vd,b.ue,0,b.Ad))):b.rn(e)}else b.se&&(e=a.getTime()-b.el,e/=1E3*b.ug,1<=e?(b.se=!1,this.Lf=a.getTime(),this.update(),0!=b.uc&&b.pg&&(4==b.uc?(this.I=this.Ng(!0,b.af,b.bf,b.Vd),this.Xb=this.I.ab,this.B.active=!0,this.xb.running=!0):this.moveTo(b.af,b.bf, b.Vd,b.ue,0,b.Ad)),4!=b.uc&&(this.aj(!1),this.B.active=b.ve,this.K("autorotatechanged",{}),b.ve=!1),this.B.zd=0,this.da&&this.Vj(),this.wg=!1):b.rn(e));b=this.er;b.Zo&&(b.li?a.getTime()-b.bk>=1E3*b.delay&&(b.li=!1):(b.current+=b.ld,0>b.current&&(b.current=0,b.ld=-b.ld,b.li=!0,b.bk=a.getTime()),1b.$b[a]?(b.$b[a]+=.05,b.jd[a]< b.$b[a]&&(b.$b[a]=b.jd[a])):(b.$b[a]-=.05,b.jd[a]>b.$b[a]&&(b.$b[a]=b.jd[a],-1!=b.hj.indexOf(b.tb[a])&&(b.hj.splice(b.hj.indexOf(b.tb[a]),1),b.tb.splice(a,1),b.jd.splice(a,1),b.$b.splice(a,1)))));this.update()}if(2==b.mode)for(a=0;ae.va?(e.va+=b.ld,e.gbe.va&&(e.va=e.gb)),this.update())}3==b.mode&&b.gb!=b.va&&(b.gb>b.va?(b.va+=b.ld,b.gbb.va&&(b.va=b.gb)),this.update())}; c.prototype.nr=function(){var a=this.Ka;this.Y.Ei()&&(this.M.Ld?(a.na.x=.4*(this.ga.oa.x-a.oa.x),a.na.y=.4*(this.ga.oa.y-a.oa.y),a.oa.x+=a.na.x,a.oa.y+=a.na.y):(a.na.x=.1*-this.ga.na.x*this.M.sensitivity/8,a.na.y=.1*-this.ga.na.y*this.M.sensitivity/8),this.uo(a.na.x,a.na.y),this.update());a.fov.active&&(this.Kl(.4*(a.fov.yc-this.fov.j)),.001>Math.abs(a.fov.yc-this.fov.j)/this.fov.j&&(a.fov.active=!1),this.update());if(a.enabled&&(0!=a.na.x||0!=a.na.y)&&!this.Y.Ei()){var b=.9*(1-a.Xk);a.na.x*=b;a.na.y*= b;this.F.Bi=!0;.01>a.na.x*a.na.x+a.na.y*a.na.y?(a.na.x=0,a.na.y=0):(this.uo(a.na.x,a.na.y),this.update())}};c.prototype.kr=function(){if(this.M.Hn&&this.M.Ld){var a=this.vn;a.pan=this.pan.j;a.v=this.v.j;a.fov=this.fov.j;this.rf(a);this.rf(a);this.rf(a);var b=a.pan-this.pan.j,e=a.v-this.v.j;a=a.fov-this.fov.j;if(0!=b||0!=e||0!=a){var f=.2+.9*Math.min((Math.abs(b)+Math.abs(e)+Math.abs(a))/Math.abs(Math.min(this.fov.j,90))*.3,1);this.pan.j+=b*f;this.v.j+=e*f;this.fov.j+=a*f;this.Ka.Xk=.3;this.update()}else this.Ka.Xk= 0}else this.yg();if(isNaN(this.pan.j)||1E7this.pan.j)this.pan.j=0;if(isNaN(this.v.j)||1E7this.v.j)this.v.j=0;if(isNaN(this.U.j)||1E7this.U.j)this.U.j=0;if(2!=this.Xa){for(;360this.pan.j;)this.pan.j+=360}};c.prototype.mr=function(){if(!this.ui()&&this.Ef&&5"+c.Wl(this.Ni).replace(/./gm,function(k){return"&#"+k.charCodeAt(0)+";"})),f.setAttribute("style","color: black; text-decoration: none;"), a.appendChild(f),g.appendChild(a));e.$.insertBefore(e.rd,e.$.firstChild);g.onclick=function(){e.rd&&(e.$.removeChild(e.rd),e.rd=null)};g.oncontextmenu=g.onclick}};c.prototype.Yo=function(){var a=this;var b=a.Ra;a.control=b;a.control=b;a.Es();setTimeout(function(){a.yh()},10);setTimeout(function(){a.sn()},200);setTimeout(function(){a.ff();a.Qh()},10);b.addEventListener&&(b.addEventListener("touchstart",function(e){a.zs(e)},!1),b.addEventListener("touchmove",function(e){a.ys(e)},!1),b.addEventListener("touchend", function(e){a.xs(e)},!1),b.addEventListener("touchcancel",function(e){a.ws(e)},!1),b.addEventListener("pointerdown",function(e){a.gn(e)},!1),b.addEventListener("MSPointerDown",function(e){a.gn(e)},!1),b.addEventListener("MSGestureStart",function(e){a.nm(e)},!1),b.addEventListener("MSGestureEnd",function(e){a.mm(e)},!1),b.addEventListener("MSGestureChange",function(e){a.Qq(e)},!1),b.addEventListener("gesturestart",function(e){a.nm(e)},!1),b.addEventListener("gesturechange",function(e){a.zp(e)},!1), b.addEventListener("gestureend",function(e){a.mm(e)},!1),b.addEventListener("mousedown",function(e){a.Nq(e)},!1),b.addEventListener("mousemove",function(e){a.Mq(e)},!1),document.addEventListener("mouseup",function(e){a.Lq(e)},!1),b.addEventListener("mousewheel",function(e){a.fn(e)},!1),b.addEventListener("DOMMouseScroll",function(e){a.fn(e)},!1),document.addEventListener("keydown",function(e){a.Dq(e)},!1),document.addEventListener("keyup",function(e){a.Eq(e)},!1),window.addEventListener("resize", function(){a.ff()},!1),window.addEventListener("blur",function(){a.Wq()},!1),a.$.addEventListener("webkitfullscreenchange",function(){a.wh()},!1),document.addEventListener("mozfullscreenchange",function(){a.wh()},!1),window.addEventListener("webkitfullscreenchange",function(){a.wh()},!1),document.addEventListener("MSFullscreenChange",function(){a.wh()},!1),document.addEventListener("fullscreenchange",function(){a.wh()},!1));b.oncontextmenu=function(e){void 0===e&&(e=window.event);if(e.target&&!a.Kc(e.target))return!0; if(!e.ctrlKey){e=a.Pg(e);var f=a.Je();a.ds(e.x-f.x,e.y-f.y);return!1}return!0};window.addEventListener("deviceorientation",function(e){a.br(e.alpha,e.beta,e.gamma,e.absolute);null!=e.alpha&&null!=e.beta&&null!=e.gamma&&0==a.pk&&(a.pk=!0,a.K("gyroavailable",{available:!0}),a.K("playerstatechanged",{}))})};c.prototype.Al=function(){for(var a=0;ab&&(b=0),b>a.fi()&&(b=a.fi()-.1),a.Il(b)):a.f&&(0>b&&(b=0),b>a.f.duration&&(b=a.f.duration-.1),a.f.currentTime=b))};c.prototype.setVolume=function(a,b){if(this.Pb){var e=this.ra;e&&e.setVolume(a,b)}else try{e=void 0;var f=Number(b);1f&&(f=0);"_videopanorama"=== a&&this.D.f&&(this.D.f.volume=f);if("_main"===a){this.ba=f;for(e=0;ee&&(e=0);this.ba=e;for(f=0;fe&&(e=0);h.level=e;h.f&&null!=h.f.volume&&(h.f.volume=e*this.ba)}}}catch(l){this.N(l)}};c.prototype.bj=function(a,b,e){a.f.style.opacity= 0==b?1:0;a.f.style[this.$c]="opacity "+e+"ms";a.f.style.opacity=0==b?0:1};c.prototype.Jr=function(a,b,e){function f(){var k=g[l];if(!k.f)return"continue";0==b?(h.bj(k,b,e),setTimeout(function(){0==k.f.style.opacity&&k.cg(!1)},e+10),k.pb=!1):1==b?(h.bj(k,b,e),k.cg(!0),k.pb=!0):2==b&&("visible"==k.f.style.visibility?(h.bj(k,0,e),setTimeout(function(){0==k.f.style.opacity&&k.cg(!1)},e+10),k.pb=!1):(h.bj(k,1,e),k.cg(!0),k.pb=!0))}for(var g=this.nb(a),h=this,l=0;le&&(e=this.Fc);for(b=0;6>b;b++){var f=this.cube.faces[b];a?(f.width=this.vg,f.height=this.vg):(f.V=document.createElement("canvas"),f.V.width=this.Fc,f.V.height=this.Fc,f.width=this.Fc, f.height=this.Fc,f.bb=f.V.getContext("2d"));var g="position:absolute;";g+="left: 0px;";g+="top: 0px;";g+="width: "+e+"px;";g+="height: "+e+"px;";a&&(g+="outline: 1px solid transparent;");g+=this.Pa+"transform-origin: 0% 0%;";g+="-webkit-user-select: none;";g+=this.Pa+"transform: ";var h="";var l=1;this.Yf&&(l=100);h=4>b?h+("rotateY("+-90*b+"deg)"):h+("rotateX("+(4==b?-90:90)+"deg)");this.Yf&&(h+=" scale("+l+")");h+=" translate3d("+-e/2+"px,"+-e/2+"px,"+-e*l/(2*this.cf)+"px)";g+=h+";";f.Hm=h;a||(f.V.setAttribute("style", g),this.L.insertBefore(f.V,this.L.firstChild))}if(!a){for(b=0;6>b;b++)f=this.cube.faces[b],""!=this.tf[b]&&(f.Qd=new Image,f.Qd.crossOrigin=this.crossOrigin,f.Qd.onload=this.Ul(f),f.Qd.setAttribute("src",this.Hb(this.tf[b])),this.hc.push(f.Qd));for(b=0;6>b;b++)f=this.cube.faces[b],f.loaded=!1,f.u=new Image,f.u.crossOrigin=this.crossOrigin,f.u.onload=this.Ul(f),f.u.setAttribute("src",this.Hb(this.Cg[b])),this.hc.push(f.u)}};c.prototype.Ue=function(){var a;this.Ka.na.x=0;this.Ka.na.y=0;if(this.kd){for(a= 0;aa.h?a.w:a.h};c.prototype.Rk=function(a,b){var e=(new DOMParser).parseFromString(a,"text/xml");this.Yj=a;this.xn(e,b);this.ra&&(this.N("Apply to Flash player"),this.ra.readConfigString(this.Yj),this.ra.setLocked(!0),this.ra.setSlaveMode(!0))};c.prototype.wn=function(a,b,e){try{var f=void 0;f=new XMLHttpRequest;f.open("GET",a,!1);f.send(null);if(f.responseXML){var g= a.lastIndexOf("/");0<=g&&(this.Zd=a.substr(0,g+1));2<=arguments.length&&null!=b&&(this.Zd=b);this.Rk(f.responseText,e)}else alert("Error loading panorama XML")}catch(h){alert("Error:"+h)}};c.prototype.sr=function(a,b,e,f){var g=new XMLHttpRequest;var h=this;g.onload=function(l){if(4<=g.readyState)if(g.responseXML){var k=a.lastIndexOf("/");0<=k&&(h.Zd=a.substr(0,k+1));3<=arguments.length&&null!=e&&(h.Zd=e);h.Rk(g.responseText,f);b&&b()}else alert("Error loading panorama XML");else console.error("Wrong state loading XML:"+ g.statusText)};g.onerror=function(){console.error("Error loading XML:"+g.statusText)};g.open("GET",a,!0);g.send(null)};c.prototype.Nj=function(a){var b="";"{"==a.charAt(0)&&(b=a.substr(1,a.length-2));(a=this.$d[b])&&(b=a);a={oldNodeId:this.Qa,nodeId:b};this.K("beforechangenodeid",a);this.nk?this.nk=!1:this.Kk.push(this.Qa);""!=this.Qa&&-1==this.zj.indexOf(this.Qa)&&(this.zj.push(this.Qa),this.K("changevisitednodes",{}));this.an=this.Qa;this.Qa=b;this.N("change active node: "+b);this.la&&this.la.changeActiveNode&& this.la.changeActiveNode("{"+b+"}");this.K("changenodeid",a);this.yf=!0};c.prototype.jk=function(){return this.Qa};c.prototype.Wp=function(){if(0=this.Ya.length&&(a=0);return this.Ya[a]}return""};c.prototype.iq=function(){if(0a&&(a=this.Ya.length-1);return this.Ya[a]}return""};c.prototype.Op=function(){return this.an};c.prototype.Uq=function(a){return-1!=this.zj.indexOf(a)};c.prototype.mp=function(){this.zj= [];this.K("changevisitednodes",{})};c.prototype.xn=function(a,b){var e=a.firstChild;this.re=[];this.Ya=[];this.$d=[];for(a=e.firstChild;a;){if("map"==a.nodeName){var f={},g=a.getAttributeNode("title");g&&(f.title=g.nodeValue.toString());g=a.getAttributeNode("type");f.type=g.nodeValue.toString();"web"==f.type?(g=a.getAttributeNode("mapprovider"),f.mapprovider=g.nodeValue.toString(),(g=a.getAttributeNode("mapstyle"))&&(f.mapstyle=g.nodeValue.toString()),(g=a.getAttributeNode("googlecustomstylecode"))&& (f.googlecustomstylecode=g.nodeValue.toString()),(g=a.getAttributeNode("mapurltemplate"))&&(f.mapurltemplate=g.nodeValue.toString()),(g=a.getAttributeNode("mapmaxzoom"))&&(f.mapmaxzoom=Number(g.nodeValue)),(g=a.getAttributeNode("mapkey"))&&(f.mapkey=g.nodeValue.toString()),(g=a.getAttributeNode("styleurl"))&&(f.styleurl=g.nodeValue.toString())):(g=a.getAttributeNode("width"),f.width=Number(g.nodeValue),g=a.getAttributeNode("height"),f.height=Number(g.nodeValue),g=a.getAttributeNode("zoomlevels"), f.zoomlevels=Number(g.nodeValue),g=a.getAttributeNode("tileformat"),f.tileformat=g.nodeValue.toString(),g=a.getAttributeNode("bgcolor"),f.bgcolor=g.nodeValue.toString(),g=a.getAttributeNode("transparent"),f.transparent=1==g.nodeValue,g=a.getAttributeNode("floorplannorth"),f.floorplannorth=Number(g.nodeValue));g=a.getAttributeNode("id");this.Oi[g.nodeValue.toString()]=f}a=a.nextSibling}if("tour"==e.nodeName){this.Kf=!0;a="";(g=e.getAttributeNode("start"))&&(a=g.nodeValue.toString());this.hasOwnProperty("startNode")&& this.startNode&&(a=String(this.startNode),this.startNode="");this.hasOwnProperty("startView")&&this.startView&&("object"===typeof this.startView&&null!==this.startView?b=this.startView:""!=this.startView&&(b=String(this.startView)),this.startView="");f=e.firstChild;var h="";for(e="";f;){if("panorama"==f.nodeName){if(g=f.getAttributeNode("id"))h=g.nodeValue.toString(),""==a&&(a=h),""==e&&(e=h),this.re[h]=f,this.Ya.push(h);for(g=f.firstChild;g;){if("userdata"==g.nodeName){var l=this.Ig(g);this.Vh[h]= l;h==a&&(this.Vh._first=l);l.customnodeid&&(this.$d[l.customnodeid]=h);this.Mc[h]=this.$l(g);this.Pf[h]=this.am(g)}g=g.nextSibling}}if("masternode"==f.nodeName)for(g=f.firstChild;g;)"userdata"==g.nodeName&&(l=this.Ig(g),this.Vh._master=l),g=g.nextSibling;f=f.nextSibling}this.re.hasOwnProperty(a)||(g=this.$d[a])&&(a=g);this.re.hasOwnProperty(a)||(this.Lc("Start node "+a+" not found!"),a=e);this.Qk(this.re[a],b);this.Nj("{"+a+"}");this.Qa=a}else this.Kf=!1,this.Qk(e,b),this.Nj(""),this.Ya.push(""); this.te&&(this.N("add pano vr config"),this.Fb.ai());this.K("configloaded",{});this.K("changenode",{});this.K("playerstatechanged",{})};c.prototype.Qk=function(a,b){var e=this;this.Cn();this.Ta&&this.Ta.ur();this.ag(this.mb);this.Ue();this.hh=0;for(var f=a.firstChild,g,h,l=0;f;){if("view"==f.nodeName){if(g=f.getAttributeNode("fovmode"))this.fov.mode=Number(g.nodeValue);g=f.getAttributeNode("pannorth");this.pan.Lk=1*(g?g.nodeValue:0);for(var k=f.firstChild;k;){"start"==k.nodeName&&(g=k.getAttributeNode("pan"), this.pan.j=Number(g?g.nodeValue:0),this.pan.cb=this.pan.j,g=k.getAttributeNode("tilt"),this.v.j=Number(g?g.nodeValue:0),this.v.cb=this.v.j,g=k.getAttributeNode("roll"),this.U.j=Number(g?g.nodeValue:0),this.U.cb=this.U.j,g=k.getAttributeNode("fov"),this.fov.j=Number(g?g.nodeValue:70),this.fov.cb=this.fov.j,g=k.getAttributeNode("projection"),this.Ui=Number(g?g.nodeValue:4),this.Qc(this.Ui));"min"==k.nodeName&&(g=k.getAttributeNode("pan"),this.pan.min=1*(g?g.nodeValue:0),g=k.getAttributeNode("tilt"), this.v.min=1*(g?g.nodeValue:-90),g=k.getAttributeNode("fov"),this.fov.min=1*(g?g.nodeValue:5),1E-20>this.fov.min&&(this.fov.min=1E-20),g=k.getAttributeNode("fovpixel"),this.fov.rh=1*(g?g.nodeValue:0));if("max"==k.nodeName){g=k.getAttributeNode("pan");this.pan.max=1*(g?g.nodeValue:0);g=k.getAttributeNode("tilt");this.v.max=1*(g?g.nodeValue:90);g=k.getAttributeNode("fov");this.fov.max=1*(g?g.nodeValue:120);180<=this.fov.max&&(this.fov.max=179.9);if(g=k.getAttributeNode("fovstereographic"))this.fov.Jk= 1*g.nodeValue;if(g=k.getAttributeNode("fovfisheye"))this.fov.Ik=1*g.nodeValue;if(g=k.getAttributeNode("scaletofit"))this.M.In=1==g.nodeValue}if("flyin"==k.nodeName){if(g=k.getAttributeNode("projection"))this.Hc.Nb=Number(g.nodeValue);if(g=k.getAttributeNode("pan"))this.Hc.pan=parseFloat(g.nodeValue);if(g=k.getAttributeNode("tilt"))this.Hc.v=parseFloat(g.nodeValue);if(g=k.getAttributeNode("fov"))this.Hc.fov=parseFloat(g.nodeValue)}k=k.nextSibling}}if("autorotate"==f.nodeName){if(g=f.getAttributeNode("speed"))this.B.speed= 1*g.nodeValue;if(g=f.getAttributeNode("delay"))this.B.timeout=1*g.nodeValue;if(g=f.getAttributeNode("returntohorizon"))this.B.rj=1*g.nodeValue;if(g=f.getAttributeNode("nodedelay"))this.B.Ti=1*g.nodeValue;if(g=f.getAttributeNode("noderandom"))this.B.mn=1==g.nodeValue;(g=f.getAttributeNode("nodefilter"))&&!this.B.ln&&(this.B.Qf=g.nodeValue);this.be&&(this.B.enabled=!0,this.B.kf=!0,this.B.active=!1);this.B.Nd=0;if(g=f.getAttributeNode("startloaded"))this.B.Jh=1==g.nodeValue,this.B.Jh&&(this.B.active= !1);if(g=f.getAttributeNode("useanimation"))this.B.Uh=1==g.nodeValue,this.B.lg=this.B.Uh;if(g=f.getAttributeNode("syncanimationwithvideo"))this.B.il=1==g.nodeValue}if("animation"==f.nodeName){if(g=f.getAttributeNode("syncanimationwithvideo"))this.B.il=1==g.nodeValue;if(g=f.getAttributeNode("useinautorotation"))this.B.Uh=1==g.nodeValue;if(g=f.getAttributeNode("animsequence"))this.B.di=g.nodeValue,this.be&&(this.B.Yd=this.B.di);this.wa=[];for(k=f.firstChild;k;){if("clip"==k.nodeName){this.I=new x.tl; if(g=k.getAttributeNode("animtitle"))this.I.jf=g.nodeValue.toString();if(g=k.getAttributeNode("cliptitle"))this.I.ab=g.nodeValue.toString();if(g=k.getAttributeNode("nodeid"))this.I.Xs=g.nodeValue.toString();if(g=k.getAttributeNode("length"))this.I.length=Number(g.nodeValue);if(g=k.getAttributeNode("animtype"))this.I.Vo=Number(g.nodeValue);if(g=k.getAttributeNode("nextcliptitle"))this.I.hn=g.nodeValue.toString();if(g=k.getAttributeNode("nextclipnodeid"))this.I.Si=g.nodeValue.toString();if(g=k.getAttributeNode("nextclipstartview"))this.I.Tq= g.nodeValue.toString();if(g=k.getAttributeNode("transitiontype"))this.I.As=Number(g.nodeValue);var w=k.firstChild;for(this.I.ca=[];w;){if("keyframe"==w.nodeName){var r=new x.Xc;if(g=w.getAttributeNode("time"))r.time=Number(g.nodeValue);if(g=w.getAttributeNode("value"))r.value=Number(g.nodeValue);if(g=w.getAttributeNode("valuestring"))r.pl=g.nodeValue.toString();if(g=w.getAttributeNode("transitiontime"))r.Eb=Number(g.nodeValue);g=w.getAttributeNode("type");var y=0;g&&(r.type=Number(g.nodeValue),y= Number(g.nodeValue));if(g=w.getAttributeNode("property"))r.sb=Number(g.nodeValue);if(g=w.getAttributeNode("additionaltrackid"))r.bi=g.nodeValue.toString();if(1==y||2==y){if(g=w.getAttributeNode("bezierintime"))r.we=Number(g.nodeValue);if(g=w.getAttributeNode("bezierinvalue"))r.xe=Number(g.nodeValue);if(g=w.getAttributeNode("bezierouttime"))r.ye=Number(g.nodeValue);if(g=w.getAttributeNode("bezieroutvalue"))r.ze=Number(g.nodeValue)}this.I.ca.push(r)}w=w.nextSibling}this.wa.push(this.I)}k=k.nextSibling}}"input"== f.nodeName&&(h||(h=f));if(h)for(w=0;6>w;w++)g=h.getAttributeNode("prev"+w+"url"),this.tf[w]=g?String(g.nodeValue):"";"altinput"==f.nodeName&&(k=0,(g=f.getAttributeNode("screensize"))&&(k=1*g.nodeValue),0l&&(l=k,h=f));if("control"==f.nodeName&&this.be){if(g=f.getAttributeNode("simulatemass"))this.Ka.enabled=1==g.nodeValue;if(g=f.getAttributeNode("rubberband"))this.M.Hn=1==g.nodeValue;if(g=f.getAttributeNode("locked"))this.M.lc=1==g.nodeValue;g&&(this.M.nh=1==g.nodeValue);if(g=f.getAttributeNode("lockedmouse"))this.M.lc= 1==g.nodeValue;if(g=f.getAttributeNode("lockedkeyboard"))this.M.nh=1==g.nodeValue;if(g=f.getAttributeNode("lockedkeyboardzoom"))this.M.Iq=1==g.nodeValue;if(g=f.getAttributeNode("lockedwheel"))this.M.ee=1==g.nodeValue;if(g=f.getAttributeNode("invertwheel"))this.M.Qm=1==g.nodeValue;if(g=f.getAttributeNode("speedwheel"))this.M.Wn=1*g.nodeValue;if(g=f.getAttributeNode("invertcontrol"))this.M.Ld=1==g.nodeValue;if(g=f.getAttributeNode("sensitivity"))this.M.sensitivity=1*g.nodeValue,1>this.M.sensitivity&& (this.M.sensitivity=1);if(g=f.getAttributeNode("dblclickfullscreen"))this.M.$j=1==g.nodeValue;if(g=f.getAttributeNode("contextfullscreen"))this.M.Ag=1==g.nodeValue;if(g=f.getAttributeNode("contextprojections"))this.M.hi=1==g.nodeValue;if(g=f.getAttributeNode("hideabout"))this.M.Ff=1==g.nodeValue;for(k=f.firstChild;k;)"menulink"==k.nodeName&&(w={text:"",url:""},g=k.getAttributeNode("text"),w.text=g.nodeValue,g=k.getAttributeNode("url"),w.url=g.nodeValue,this.qh.push(w)),k=k.nextSibling}if("transition"== f.nodeName&&this.be){if(g=f.getAttributeNode("enabled"))this.J.enabled=1==g.nodeValue;if(g=f.getAttributeNode("blendtime"))this.J.ug=1*g.nodeValue;if(g=f.getAttributeNode("blendcolor"))this.J.mf=g.nodeValue.toString();if(g=f.getAttributeNode("type"))this.J.type=g.nodeValue.toString();if(g=f.getAttributeNode("softedge"))this.J.Rc=1*g.nodeValue;if(g=f.getAttributeNode("zoomin"))this.J.sa=1*g.nodeValue;if(g=f.getAttributeNode("zoomout"))this.J.uc=1*g.nodeValue;if(g=f.getAttributeNode("zoomfov"))this.J.Dj= 1*g.nodeValue;if(g=f.getAttributeNode("zoomafterinfov"))this.J.Bj=1*g.nodeValue;if(g=f.getAttributeNode("zoomafteroutfov"))this.J.Cj=1*g.nodeValue;if(g=f.getAttributeNode("zoomspeed"))this.J.ue=1*g.nodeValue;if(g=f.getAttributeNode("zoomoutpause"))this.J.pg=1==g.nodeValue;"cut"==this.J.type&&(this.J.ug=0)}if("soundstransition"==f.nodeName){if(g=f.getAttributeNode("enabled"))this.Ia.enabled=1==g.nodeValue;if(g=f.getAttributeNode("transitiontime"))this.Ia.Eb=1*g.nodeValue;if(g=f.getAttributeNode("crossfade"))this.Ia.ii= 1==g.nodeValue}if("flyintransition"==f.nodeName){if(g=f.getAttributeNode("enabled"))this.xb.enabled=1==g.nodeValue&&this.ia;if(g=f.getAttributeNode("speed"))this.xb.speed=1*g.nodeValue}"userdata"==f.nodeName&&(this.userdata=this.mg=this.Ig(f),this.Mc[a.id]||(this.Mc[a.id]=this.$l(f),this.Pf[a.id]=this.am(f)));if("hotspots"==f.nodeName)for(k=f.firstChild;k;){if("label"==k.nodeName&&this.be){w=this.H.oj;if(g=k.getAttributeNode("enabled"))w.enabled=1==g.nodeValue;if(g=k.getAttributeNode("width"))w.width= 1*g.nodeValue;if(g=k.getAttributeNode("height"))w.height=1*g.nodeValue;if(g=k.getAttributeNode("textcolor"))w.pj=1*g.nodeValue;if(g=k.getAttributeNode("textalpha"))w.nj=1*g.nodeValue;if(g=k.getAttributeNode("background"))w.background=1==g.nodeValue;if(g=k.getAttributeNode("backgroundalpha"))w.cc=1*g.nodeValue;if(g=k.getAttributeNode("backgroundcolor"))w.dc=1*g.nodeValue;if(g=k.getAttributeNode("border"))w.ei=1*g.nodeValue;if(g=k.getAttributeNode("bordercolor"))w.fc=1*g.nodeValue;if(g=k.getAttributeNode("borderalpha"))w.ec= 1*g.nodeValue;if(g=k.getAttributeNode("borderradius"))w.Jj=1*g.nodeValue;if(g=k.getAttributeNode("wordwrap"))w.Aj=1==g.nodeValue}if("polystyle"==k.nodeName&&this.be){if(g=k.getAttributeNode("mode"))this.H.mode=1*g.nodeValue;if(g=k.getAttributeNode("bordercolor"))this.H.fc=1*g.nodeValue;if(g=k.getAttributeNode("backgroundcolor"))this.H.dc=1*g.nodeValue;if(g=k.getAttributeNode("borderalpha"))this.H.ec=1*g.nodeValue;if(g=k.getAttributeNode("backgroundalpha"))this.H.cc=1*g.nodeValue;if(g=k.getAttributeNode("handcursor"))this.H.Df= 1==g.nodeValue}g=void 0;"hotspot"==k.nodeName&&(g=new x.$h(this),g.type="point",g.Zb(k),this.W.push(g));"polyhotspot"==k.nodeName&&(g=new x.$h(this),g.type="poly",g.Zb(k),this.W.push(g));k=k.nextSibling}if("sounds"==f.nodeName||"media"==f.nodeName)for(k=f.firstChild;k;){if("sound"==k.nodeName&&!this.jn)for(g=new x.yl(this),g.Zb(k),this.Pb||g.addElement(),w=0;ww;w++)(g=h.getAttributeNode("prev"+w+"url"))&&(this.tf[w]=String(g.nodeValue));if(g=h.getAttributeNode("tilevrurl"))this.Tl=String(g.nodeValue);if(g=h.getAttributeNode("tilesize"))this.Fc=1*g.nodeValue;if(g=h.getAttributeNode("canvassize"))this.vg= Number(g.nodeValue);if(g=h.getAttributeNode("tilescale"))this.cf=1*g.nodeValue;if(g=h.getAttributeNode("leveltileurl"))this.u.Fk=g.nodeValue;if(g=h.getAttributeNode("leveltilesize"))this.u.O=Number(g.nodeValue);if(g=h.getAttributeNode("levelbias"))this.u.dn=Number(g.nodeValue);if(g=h.getAttributeNode("levelbiashidpi"))this.u.en=Number(g.nodeValue);g=h.getAttributeNode("overlap");this.Oa.U=0;this.Oa.pitch=0;g&&(this.u.Da=Number(g.nodeValue));if(g=h.getAttributeNode("levelingroll"))this.Oa.U=Number(g.nodeValue); if(g=h.getAttributeNode("levelingpitch"))this.Oa.pitch=Number(g.nodeValue);this.Xa=0;(g=h.getAttributeNode("flat"))&&1==g.nodeValue&&(this.Xa=2);g=h.getAttributeNode("width");this.u.width=1*(g?g.nodeValue:1);g=h.getAttributeNode("height");this.u.height=1*(g?g.nodeValue:this.u.width);this.D.src=[];this.u.levels=[];for(k=h.firstChild;k;){if("preview"==k.nodeName){if(g=k.getAttributeNode("color"))this.u.Wf=g.nodeValue;if(g=k.getAttributeNode("strip"))this.u.un=1==g.nodeValue}if("video"==k.nodeName){if(g= k.getAttributeNode("format"))"3x2"==g.nodeValue&&(this.D.format=14),"equirectangular"==g.nodeValue&&(this.D.format=1);if(g=k.getAttributeNode("flipy"))this.D.flipY=Number(g.nodeValue);if(g=k.getAttributeNode("startonload"))this.D.dl=1==g.nodeValue;if(g=k.getAttributeNode("startmutedmobile"))this.D.Yn=1==g.nodeValue;if(g=k.getAttributeNode("bleed"))this.D.lf=Number(g.nodeValue);if(g=k.getAttributeNode("endaction"))this.D.Ee=String(g.nodeValue);if(g=k.getAttributeNode("targetview"))this.D.jl=String(g.nodeValue); if(g=k.getAttributeNode("width"))this.D.width=Number(g.nodeValue);if(g=k.getAttributeNode("height"))this.D.height=Number(g.nodeValue);for(w=k.firstChild;w;)"source"==w.nodeName&&(g=w.getAttributeNode("url"))&&this.D.src.push(g.nodeValue.toString()),w=w.nextSibling}if("level"==k.nodeName){h=new x.wl;g=k.getAttributeNode("width");h.width=1*(g?g.nodeValue:1);g=k.getAttributeNode("height");h.height=1*(g?g.nodeValue:h.width);if(g=k.getAttributeNode("preload"))h.cache=1==g.nodeValue;if(g=k.getAttributeNode("preview"))h.Se= 1==g.nodeValue;h.T=Math.floor((h.width+this.u.O-1)/this.u.O);h.ea=Math.floor((h.height+this.u.O-1)/this.u.O);this.u.levels.push(h)}k=k.nextSibling}this.u.Dk=this.u.levels.length}this.Ef=!0;this.Rh&&(this.ia=this.kd=!1,this.xc||(this.N("dummy rendering"),this.xc=document.createElement("canvas"),this.xc.width=100,this.xc.height=100,this.xc.id="dummycanvas",this.L.appendChild(this.xc)),this.Sc());this.ia&&this.R&&(this.za.Om(this.cf),this.za.Pm());this.kd&&(0ha;ha++){var tf=ha%3*gl+z.D.lf;var hl=tf+gl-2*z.D.lf;var il=4;3>ha&&(il+=gl);var kl=il+gl-2*z.D.lf;for(ua=0;4>ua;ua++){sh.x=-1;sh.y=-1;sh.z=1;for(var jl=0;jla.time&&this.I.ca[b].timea.Ud;)a.Ud+=360;for(;180f;)f+=360;for(;180id)for(;z<=l&&ua>id;)ua=new x.Gc,ua.Ij(db,gl,hl,tf,z),ua=ua.y,z++;else z=1;z>=.8*l&&(y=z=Math.round(.8*l));0==z&&(z=1);id=4==a.Hh?120:this.Og(a.Hh);ua=a.fg;if(ua>id)for(;ha>z&&ua>id;)ua= new x.Gc,ua.Ij(db,gl,hl,tf,ha),ua=ua.y,ha--}db=new x.Xc;db.time=0;db.sb=0;db.value=a.ne;db.type=1;db.ye=l/3;db.ze=a.vf?a.ne:a.ne+f/3;b.ca.push(db);db=new x.Xc;db.time=0;db.sb=1;db.value=a.Ih;db.type=1;db.ye=l/3;db.ze=a.vf?a.Ih:a.Ih+g/3;b.ca.push(db);db=new x.Xc;db.time=0;db.sb=2;db.value=a.Sd;db.type=1;db.ye=l/3;db.ze=a.vf?a.Sd:a.Sd+h/3;b.ca.push(db);db=new x.Xc;db.time=0;db.sb=3;db.value=a.Hh;db.type=0;db.Eb=0;b.ca.push(db);e&&(db=new x.Xc,db.time=z,db.sb=3,db.value=a.Ad,db.type=0,db.Eb=ha-z,b.ca.push(db)); db=new x.Xc;db.time=l;db.sb=0;db.value=a.ne+f;db.type=1;db.we=2*l/3;db.xe=a.Ce&&!a.De?db.value:db.value-f/3;a.De&&(db.ye=l+w,db.ze=db.value+w/l*f);b.ca.push(db);db=new x.Xc;db.time=l;db.sb=1;db.value=a.oe;db.type=1;db.we=2*l/3;db.xe=a.Ce&&!a.De?a.oe:a.oe-g/3;a.De&&(db.ye=l+w,db.ze=db.value+w/l*g);b.ca.push(db);db=new x.Xc;db.time=y;db.sb=2;db.value=r;db.type=1;db.we=2*y/3;db.xe=a.Ce?r:r-h/3;b.ca.push(db);a.De&&(db=new x.Xc,db.time=l+k,db.sb=0,db.value=a.ne+f,db.type=1,db.we=l+k-w,db.xe=a.ne+f,b.ca.push(db), db=new x.Xc,db.time=l+k,db.sb=1,db.value=a.oe,db.type=1,db.we=l+k-w,db.xe=a.oe,b.ca.push(db));this.wa.push(b);return b};c.prototype.Ns=function(){this.D.f&&this.D.f.play()};c.prototype.Os=function(){this.D.f&&(this.D.f.pause(),this.D.f.currentTime=0)};c.prototype.Ms=function(){this.D.f&&this.D.f.pause()};c.prototype.$r=function(a){this.D.f&&(0>a&&(a=0),a>this.D.f.duration&&(a=this.D.f.duration-.1),this.D.f.currentTime=a,this.update())};c.prototype.pq=function(){return this.D.f?this.D.f.currentTime: 0};c.prototype.oq=function(){if(this.D.f)return this.D.f};c.prototype.Zr=function(a){if(this.D.f){var b=!this.D.f.paused&&!this.D.f.ended,e=this.D.f.currentTime;this.D.f.pause();this.D.f.src=isNaN(parseInt(a,10))?String(a):this.D.src[parseInt(a,10)];b&&(this.D.f.onloadedmetadata=function(){this.currentTime=e;this.play();this.onloadedmetadata=null});this.D.f.currentTime=e}};c.prototype.tp=function(){this.jn=!0};return c}();x.xl=d})(ggP2VR||(ggP2VR={}));window.ggHasHtml5Css3D=Gl;window.ggHasWebGL=Hl; window.pano2vrPlayer=ggP2VR.xl;var n=ggP2VR.xl.prototype;n.getVersion=n.Gm;n.readConfigString=n.Rk;n.readConfigUrl=n.wn;n.readConfigUrlAsync=n.sr;n.readConfigXml=n.xn;n.openUrl=n.Mk;n.openNext=n.gd;n.goBack=n.vq;n.setMargins=n.Ir;n.addListener=n.addListener;n.on=n.addListener;n.removeEventListener=n.removeEventListener;n.off=n.removeEventListener;n.detectBrowser=n.Yl;n.initWebGL=n.dd;n.getPercentLoaded=n.eq;n.setBasePath=n.Er;n.getBasePath=n.pm;n.setViewerSize=n.Sn;n.getViewerSize=n.sq; n.setSkinObject=n.Tr;n.changeViewMode=n.gp;n.getViewMode=n.qq;n.changePolygonMode=n.Ml;n.setPolygonMode=n.Ml;n.getPolygonMode=n.gq;n.showOnePolyHotspot=n.Tn;n.hideOnePolyHotspot=n.Lm;n.changePolyHotspotColor=n.ep;n.toggleOnePolyHotspot=n.vs;n.changeViewState=n.hp;n.getViewState=n.rq;n.setRenderFlags=n.Mr;n.getRenderFlags=n.jq;n.setMaxTileCount=n.Pn;n.getVFov=n.jc;n.setVFov=n.fj;n.getHFov=n.Fp;n.updatePanorama=n.Qh;n.isTouching=n.Wm;n.getIsMobile=n.Lp;n.setIsMobile=n.Hr;n.getIsTour=n.Mp; n.getIsAutorotating=n.Ip;n.getIsLoading=n.Kp;n.getIsLoaded=n.ui;n.getIsTileLoading=n.tm;n.getLastActivity=n.Np;n.getPan=n.Rg;n.getPanNorth=n.Ie;n.getPanDest=n.cq;n.getPanN=n.ym;n.setPan=n.Ye;n.setPanNorth=n.Zk;n.changePan=n.Ll;n.changePanLog=n.cp;n.getTilt=n.wi;n.getTiltDest=n.kq;n.setTilt=n.Ze;n.changeTilt=n.Nl;n.changeTiltLog=n.fp;n.getFov=n.kk;n.getFovDest=n.Dp;n.setFov=n.Xe;n.changeFov=n.Kl;n.changeFovLog=n.Oj;n.getRoll=n.Cm;n.setRoll=n.dj;n.setPanTilt=n.Kr;n.setPanTiltFov=n.cj; n.setDefaultView=n.Fr;n.setLocked=n.setLocked;n.setLockedMouse=n.Nn;n.setLockedKeyboard=n.Mn;n.getLockedKeyboard=n.Pp;n.setLockedWheel=n.On;n.moveTo=n.moveTo;n.moveToEx=n.Qi;n.moveToDefaultView=n.Oq;n.moveToDefaultViewEx=n.Pq;n.addHotspotElements=n.Al;n.playSound=n.Re;n.playPauseSound=n.tn;n.playStopSound=n.qr;n.pauseSound=n.Nk;n.activateSound=n.Oo;n.soundGetTime=n.fs;n.soundSetTime=n.gs;n.setMediaVisibility=n.Jr;n.isPlaying=n.isPlaying;n.stopSound=n.kj;n.setVolume=n.setVolume;n.changeVolume=n.ip; n.removeHotspots=n.Cn;n.getHotspotsVisible=n.rm;n.getCurrentPerspective=n.sd;n.addHotspot=n.Qo;n.updateHotspot=n.Ds;n.removeHotspot=n.tr;n.setActiveHotspot=n.ag;n.getPointHotspotIds=n.fq;n.getHotspot=n.Hp;n.setFullscreen=n.bg;n.toggleFullscreen=n.sj;n.enterFullscreen=n.vp;n.exitFullscreen=n.exitFullscreen;n.getIsFullscreen=n.Jp;n.startAutorotate=n.ls;n.stopAutorotate=n.os;n.toggleAutorotate=n.us;n.setAutorotateNodeFilter=n.Dr;n.startAnimation=n.ks;n.createLayers=n.Sl;n.removePanorama=n.Ue; n.getScreenResolution=n.Dm;n.getMaxScreenResolution=n.wm;n.getNodeIds=n.Yp;n.getNodeUserdata=n.Qg;n.getNodeLatLng=n.lk;n.getNodeTitle=n.aq;n.getNodeDistance=n.Xp;n.getCurrentNode=n.jk;n.getNextNode=n.Wp;n.getPrevNode=n.iq;n.getLastVisitedNode=n.Op;n.getNodesWithTag=n.xm;n.getCurrentPointHotspots=n.Cp;n.getPositionAngles=n.hq;n.getPositionRawAngles=n.zm;n.nodeVisited=n.Uq;n.clearVisitedNodes=n.mp;n.setElementIdPrefix=n.Gr;n.videoPanoPlay=n.Ns;n.videoPanoStop=n.Os;n.videoPanoPause=n.Ms; n.getVideoPanoTime=n.pq;n.setVideoPanoTime=n.$r;n.getVideoPanoObject=n.oq;n.setVideoPanoSource=n.Zr;n.getMediaObject=n.Up;n.getMediaBufferSourceObject=n.Tp;n.registerVideoElement=n.yn;n.disableSoundLoading=n.tp;n.setCrossOrigin=n.setCrossOrigin;n.setProjection=n.Qc;n.getProjection=n.Sa;n.changeProjection=n.Pj;n.changeProjectionEx=n.Pj;n.changeLensflares=n.bp;n.setTransition=n.Wr;n.getMapType=n.Sp;n.getMapDetails=n.Rp;n.getNodeMapCoords=n.Zp;n.getNodeMapCoordsInPercent=n.$p; n.getMapContainingNode=n.Qp;n.getMapsContainingNode=n.vm;n.getMapIDs=n.um;n.addVariable=n.To;n.setVariableOptions=n.Qn;n.setVariableValue=n.me;n.getVariableValue=n.nq;n.setSuperCookie=n.Vr;n.getGyroAvailable=n.Ep;n.setUseGyro=n.Xr;n.getUseGyro=n.lq;n.getOS=n.bq;n.getBrowser=n.Bp;n.triggerEvent=n.K;n.requestRedraw=n.wr;n.getWebGlContext=n.tq;n.getHasTouch=n.Gp;n.enterVR=n.Gg;n.exitVR=n.wf;n.toggleVR=n.io;n.isInVR=n.bh;n.hasVR=n.uk;n.getVRDisplayName=n.mq;n.setVRFrameBufferScaleFactor=n.Yr;var Jl=ggP2VR.yl.prototype; Jl.bufferSoundCurrentTime=Jl.pf;Jl.bufferSoundSetTime=Jl.Il;Jl.bufferSoundSetDragTime=Jl.ap;Jl.bufferSoundDuration=Jl.fi;