function web3d(){var N='bootstrap',O='begin',P='gwt.codesvr.web3d=',Q='gwt.codesvr=',R='web3d',S='startup',T='DUMMY',U=0,V=1,W='iframe',X='position:absolute; width:0; height:0; border:none; left: -1000px;',Y=' top: -1000px;',Z='Chrome',$='CSS1Compat',_='<!doctype html>',ab='',bb='<html><head><\/head><body><\/body><\/html>',cb='undefined',db='readystatechange',eb=10,fb='script',gb='GeoGebraDebug',hb='false',ib='http',jb='force-cache',kb='moduleStartup',lb='scriptTagAdded',mb='moduleRequested',nb='javascript',ob='meta',pb='name',qb='web3d::',rb='::',sb='gwt:property',tb='content',ub='=',vb='gwt:onPropertyErrorFn',wb='Bad handler "',xb='" for "gwt:onPropertyErrorFn"',yb='gwt:onLoadErrorFn',zb='" for "gwt:onLoadErrorFn"',Ab='#',Bb='?',Cb='/',Db='img',Eb='clear.cache.gif',Fb='baseUrl',Gb='web3d.nocache.js',Hb='base',Ib='//',Jb='selectingPermutation',Kb='web3d.devmode.js',Lb='1AA944323119FEA358CBF9FEB79D3605',Mb=':',Nb='.cache.js',Ob='loadExternalRefs',Pb='end',Qb='http:',Rb='file:',Sb='_gwt_dummy_',Tb='__gwtDevModeHook:web3d',Ub='Ignoring non-whitelisted Dev Mode URL: ',Vb=':moduleBase',Wb='head';var n=window;var o=document;q(N,O);function p(){var a=n.location.search;return a.indexOf(P)!=-1||a.indexOf(Q)!=-1}
function q(a,b){if(n.__gwtStatsEvent){n.__gwtStatsEvent({moduleName:R,sessionId:n.__gwtStatsSessionId,subSystem:S,evtGroup:a,millis:(new Date).getTime(),type:b})}}
web3d.__sendStats=q;web3d.__moduleName=R;web3d.__errFn=null;web3d.__moduleBase=T;web3d.__softPermutationId=U;web3d.__computePropValue=null;web3d.__getPropMap=null;web3d.__installRunAsyncCode=function(){};web3d.__gwtStartLoadingFragment=function(){return null};web3d.__gwt_isKnownPropertyValue=function(){return false};web3d.__gwt_getMetaProperty=function(){return null};var r=null;var s=n.__gwt_activeModules=n.__gwt_activeModules||{};s[R]={moduleName:R};web3d.__moduleStartupDone=function(e){var f=s[R].bindings;s[R].bindings=function(){var a=f?f():{};var b=e[web3d.__softPermutationId];for(var c=U;c<b.length;c++){var d=b[c];a[d[U]]=d[V]}return a}};var t;function u(){v();return t}
function v(){if(t){return}var a=o.createElement(W);a.id=R;a.style.cssText=X+Y;a.tabIndex=-1;o.body.appendChild(a);t=a.contentWindow.document;if(navigator.userAgent.indexOf(Z)==-1){t.open();var b=document.compatMode==$?_:ab;t.write(b+bb);t.close()}}
function w(h){function i(a){function b(){if(typeof o.readyState==cb){return typeof o.body!=cb&&o.body!=null}return /loaded|complete/.test(o.readyState)}
var c=b();if(c){a();return}function d(){if(!c){if(!b()){return}c=true;a();if(o.removeEventListener){o.removeEventListener(db,d,false)}if(e){clearInterval(e)}}}
if(o.addEventListener){o.addEventListener(db,d,false)}var e=setInterval(function(){d()},eb)}
function j(b){var c=u();var d=c.body;var e=c.createElement(fb);var f=(new URLSearchParams(location.search)).get(gb);var g=f!=null;if(location.host&&location.host.match(/127\.0\.0\.1|localhost|apps-builds\./)){g=f!=hb}if(location.protocol.startsWith(ib)&&!g){fetch(b,{cache:jb}).then(function(a){return a.text()}).then(function(a){e.innerText=a;d.appendChild(e)})}else{e.src=b;d.appendChild(e)}q(kb,lb)}
q(kb,mb);i(function(){j(h)})}
web3d.__startLoadingFragment=function(a){return C(a)};web3d.__installRunAsyncCode=function(a){var b=u();var c=b.body;var d=b.createElement(fb);d.language=nb;d.text=a;c.appendChild(d);c.removeChild(d)};function A(){var c={};var d;var e;var f=o.getElementsByTagName(ob);for(var g=U,h=f.length;g<h;++g){var i=f[g],j=i.getAttribute(pb),k;if(j){j=j.replace(qb,ab);if(j.indexOf(rb)>=U){continue}if(j==sb){k=i.getAttribute(tb);if(k){var l,m=k.indexOf(ub);if(m>=U){j=k.substring(U,m);l=k.substring(m+V)}else{j=k;l=ab}c[j]=l}}else if(j==vb){k=i.getAttribute(tb);if(k){try{d=eval(k)}catch(a){alert(wb+k+xb)}}}else if(j==yb){k=i.getAttribute(tb);if(k){try{e=eval(k)}catch(a){alert(wb+k+zb)}}}}}__gwt_getMetaProperty=function(a){var b=c[a];return b==null?null:b};r=d;web3d.__errFn=e}
function B(){function e(a){var b=a.lastIndexOf(Ab);if(b==-1){b=a.length}var c=a.indexOf(Bb);if(c==-1){c=a.length}var d=a.lastIndexOf(Cb,Math.min(c,b));return d>=U?a.substring(U,d+V):ab}
function f(a){if(a.match(/^\w+:\/\//)){}else{var b=o.createElement(Db);b.src=a+Eb;a=e(b.src)}return a}
function g(){var a=__gwt_getMetaProperty(Fb);if(a!=null){return a}return ab}
function h(){var a=o.getElementsByTagName(fb);for(var b=U;b<a.length;++b){if(a[b].src.indexOf(Gb)!=-1){return e(a[b].src)}}return ab}
function i(){var a=o.getElementsByTagName(Hb);if(a.length>U){return a[a.length-V].href}return ab}
function j(){var a=o.location;return a.href==a.protocol+Ib+a.host+a.pathname+a.search+a.hash}
var k=g();if(k==ab){k=h()}if(k==ab){k=i()}if(k==ab&&j()){k=e(o.location.href)}k=f(k);return k}
function C(a){if(a.match(/^\//)){return a}if(a.match(/^[a-zA-Z]+:\/\//)){return a}return web3d.__moduleBase+a}
function D(){var f=[];var g=U;var h=[];var i=[];function j(a){var b=i[a](),c=h[a];if(b in c){return b}var d=[];for(var e in c){d[c[e]]=e}if(r){r(a,d,b)}throw null}
__gwt_isKnownPropertyValue=function(a,b){return b in h[a]};web3d.__getPropMap=function(){var a={};for(var b in h){if(h.hasOwnProperty(b)){a[b]=j(b)}}return a};web3d.__computePropValue=j;n.__gwt_activeModules[R].bindings=web3d.__getPropMap;q(N,Jb);if(p()){return C(Kb)}var k;try{k=Lb;var l=k.indexOf(Mb);if(l!=-1){g=parseInt(k.substring(l+V),eb);k=k.substring(U,l)}}catch(a){}web3d.__softPermutationId=g;return C(k+Nb)}
function F(){if(!n.__gwt_stylesLoaded){n.__gwt_stylesLoaded={}}q(Ob,O);q(Ob,Pb)}
A();web3d.__moduleBase=B();s[R].moduleBase=web3d.__moduleBase;var G=D();if(n){var H=!!(n.location.protocol==Qb||n.location.protocol==Rb);n.__gwt_activeModules[R].canRedirect=H;function I(){var b=Sb;try{n.sessionStorage.setItem(b,b);n.sessionStorage.removeItem(b);return true}catch(a){return false}}
if(H&&I()){var J=Tb;var K=n.sessionStorage[J];if(!/^http:\/\/(localhost|127\.0\.0\.1)(:\d+)?\/.*$/.test(K)){if(K&&(window.console&&console.log)){console.log(Ub+K)}K=ab}if(K&&!n[J]){n[J]=true;n[J+Vb]=B();var L=o.createElement(fb);L.src=K;var M=o.getElementsByTagName(Wb)[U];M.insertBefore(L,M.firstElementChild||M.children[U]);return false}}}F();q(N,Pb);w(G);return true}
web3d.succeeded=web3d();