try { (function() { 
var requirejs,require,define;
(function(){function J(d){return ia.call(d)==="[object Function]"}function X(d){return ia.call(d)==="[object Array]"}function Y(d,f,l){for(var j in f)if(!(j in F)&&(!(j in d)||l))d[j]=f[j];return h}function K(d,f,l){d=new Error(f+"\nhttp://requirejs.org/docs/errors.html#"+d);if(l)d.originalError=l;return d}function ja(d,f,l){var j,q,o;for(j=0;o=f[j];j++){o=typeof o==="string"?{name:o}:o;q=o.location;if(l&&(!q||q.indexOf("/")!==0&&q.indexOf(":")===-1))q=l+"/"+(q||o.name);d[o.name]={name:o.name,location:q||
o.name,main:(o.main||"main").replace(ua,"").replace(ka,"")}}}function Z(d,f){if(d.holdReady)d.holdReady(f);else if(f)d.readyWait+=1;else d.ready(true)}function va(d){function f(a){var b,c;for(b=0;c=a[b];b++)if(c==="."){a.splice(b,1);b-=1}else if(c==="..")if(b===1&&(a[2]===".."||a[0]===".."))break;else if(b>0){a.splice(b-1,2);b-=2}}function l(a,b){var c;if(a.charAt(0)===".")if(b){if(r.pkgs[b])b=[b];else{b=b.split("/");b=b.slice(0,b.length-1)}a=b.concat(a.split("/"));f(a);c=r.pkgs[b=a[0]];a=a.join("/");
if(c&&a===b+"/"+c.main)a=b}return a}function j(a,b){var c=a?a.indexOf("!"):-1,e=null,g=b?b.name:null,k=a,n,m;if(c!==-1){e=a.substring(0,c);a=a.substring(c+1,a.length)}if(e)e=l(e,g);if(a){if(e)n=(c=p[e])?c.normalize?c.normalize(a,function(u){return l(u,g)}):l(a,g):"__$p"+g+"@"+a;else n=l(a,g);m=$[n];if(!m){m=h.toModuleUrl?h.toModuleUrl(i,n,b):i.nameToUrl(n,null,b);$[n]=m}}return{prefix:e,name:n,parentMap:b,url:m,originalName:k,fullName:e?e+"!"+n:n}}function q(){var a=true,b=r.priorityWait,c,e;if(b){for(e=
0;c=b[e];e++)if(!v[c]){a=false;break}a&&delete r.priorityWait}return a}function o(a){return function(b){a.exports=b}}function L(a,b,c){return function(){var e=[].concat(wa.call(arguments,0)),g;if(c&&J(g=e[e.length-1]))g.__requireJsBuild=true;e.push(b);return a.apply(null,e)}}function la(a,b){b=L(i.require,a,b);Y(b,{nameToUrl:L(i.nameToUrl,a),toUrl:L(i.toUrl,a),defined:L(i.requireDefined,a),specified:L(i.requireSpecified,a),ready:h.ready,isBrowser:h.isBrowser});if(h.paths)b.paths=h.paths;return b}
function xa(a){var b,c,e,g,k,n,m,u=T[a];if(u)for(g=0;c=u[g];g++){b=c.fullName;c=j(c.originalName,c.parentMap);c=c.fullName;e=w[b]||[];k=w[c];if(c!==b){if(b in y){delete y[b];y[c]=true}w[c]=k?k.concat(e):e;delete w[b];for(k=0;k<e.length;k++){m=e[k].depArray;for(n=0;n<m.length;n++)if(m[n]===b)m[n]=c}}}delete T[a]}function ma(a){var b=a.prefix,c=a.fullName;if(!(y[c]||c in p)){if(b&&!G[b]){G[b]=undefined;(T[b]||(T[b]=[])).push(a);(w[b]||(w[b]=[])).push({onDep:function(e){e===b&&xa(b)}});ma(j(b))}i.paused.push(a)}}
function aa(a){var b,c,e;b=a.callback;var g=a.fullName,k=[],n=a.depArray;if(b&&J(b)){if(n)for(b=0;b<n.length;b++)k.push(a.deps[n[b]]);try{c=h.execCb(g,a.callback,k,p[g])}catch(m){e=m}if(g)if(a.cjsModule&&a.cjsModule.exports!==undefined)c=p[g]=a.cjsModule.exports;else if(c===undefined&&a.usingExports)c=p[g];else p[g]=c}else if(g)c=p[g]=b;if(B[a.waitId]){delete B[a.waitId];a.isDone=true;i.waitCount-=1;if(i.waitCount===0)ba=[]}if(e){e=K("defineerror",'Error evaluating module "'+g+'" at location "'+(g?
j(g).url:"")+'":\n'+e+"\nfileName:"+(e.fileName||e.sourceURL)+"\nlineNumber: "+(e.lineNumber||e.line),e);e.moduleName=g;return h.onError(e)}if(g)if(a=w[g]){for(b=0;b<a.length;b++)a[b].onDep(g,c);delete w[g]}}function na(a,b,c,e){a=j(a,e);var g=a.name,k=a.fullName,n={},m={waitId:g||ya+za++,depCount:0,depMax:0,prefix:a.prefix,name:g,fullName:k,deps:{},depArray:b,callback:c,onDep:function(oa,Aa){if(!(oa in m.deps)){m.deps[oa]=Aa;m.depCount+=1;m.depCount===m.depMax&&aa(m)}}},u,t;if(k){if(k in p||v[k]===
true||k==="jquery"&&r.jQuery&&r.jQuery!==c().fn.jquery)return;y[k]=true;v[k]=true;k==="jquery"&&c&&U(c())}for(c=0;c<b.length;c++)if(u=b[c]){u=j(u,g?a:e);t=u.fullName;b[c]=t;if(t==="require")m.deps[t]=la(a);else if(t==="exports"){m.deps[t]=p[k]={};m.usingExports=true}else if(t==="module"){m.cjsModule=u=m.deps[t]={id:g,uri:g?i.nameToUrl(g,null,e):undefined,exports:p[k]};u.setExports=o(u)}else if(t in p&&!(t in B))m.deps[t]=p[t];else if(!n[t]){m.depMax+=1;ma(u);(w[t]||(w[t]=[])).push(m);n[t]=true}}if(m.depCount===
m.depMax)aa(m);else{B[m.waitId]=m;ba.push(m);i.waitCount+=1}}function M(a){na.apply(null,a);v[a[0]]=true}function pa(a,b){if(!a.isDone){var c=a.fullName,e=a.depArray,g,k;if(c){if(b[c])return p[c];b[c]=true}for(k=0;k<e.length;k++)(g=e[k])&&!a.deps[g]&&B[g]&&a.onDep(g,pa(B[g],b));return c?p[c]:undefined}}function ca(){var a=r.waitSeconds*1E3,b=a&&i.startTime+a<(new Date).getTime();a="";var c=false,e=false,g;if(!(i.pausedCount>0)){if(r.priorityWait)if(q())C();else return;for(g in v)if(!(g in F)){c=true;
if(!v[g])if(b)a+=g+" ";else{e=true;break}}if(c||i.waitCount){if(b&&a){g=K("timeout","Load timeout for modules: "+a);g.requireType="timeout";g.requireModules=a;return h.onError(g)}if(e||i.scriptCount){if((A||qa)&&!da)da=setTimeout(function(){da=0;ca()},50)}else{if(i.waitCount){for(D=0;a=ba[D];D++)pa(a,{});if(ea<5){ea+=1;ca()}}ea=0;h.checkReadyState()}}}}function ra(a,b){var c=b.name,e=b.fullName,g;if(!(e in p||e in v)){G[a]||(G[a]=p[a]);v[e]||(v[e]=false);g=function(k){h.onPluginLoad&&h.onPluginLoad(i,
a,c,k);aa({prefix:b.prefix,name:b.name,fullName:b.fullName,callback:function(){return k}});v[e]=true};g.fromText=function(k,n){var m=N;i.loaded[k]=false;i.scriptCount+=1;if(m)N=false;h.exec(n);if(m)N=true;i.completeLoad(k)};G[a].load(c,la(b.parentMap,true),g,r)}}function Ba(a){if(a.prefix&&a.name.indexOf("__$p")===0&&p[a.prefix])a=j(a.originalName,a.parentMap);var b=a.prefix,c=a.fullName,e=i.urlFetched;if(!(y[c]||v[c])){y[c]=true;if(b)if(p[b])ra(b,a);else{if(!O[b]){O[b]=[];(w[b]||(w[b]=[])).push({onDep:function(g){if(g===
b){var k,n=O[b];for(g=0;g<n.length;g++){k=n[g];ra(b,j(k.originalName,k.parentMap))}delete O[b]}}})}O[b].push(a)}else if(!e[a.url]){h.load(i,c,a.url);e[a.url]=true}}}var i,C,r={waitSeconds:7,baseUrl:s.baseUrl||"./",paths:{},pkgs:{}},P=[],y={require:true,exports:true,module:true},$={},p={},v={},B={},ba=[],za=0,w={},G={},O={},fa=0,T={};U=function(a){if(!i.jQuery)if(a=a||(typeof jQuery!=="undefined"?jQuery:null))if(!(r.jQuery&&a.fn.jquery!==r.jQuery))if("holdReady"in a||"readyWait"in a){i.jQuery=a;M(["jquery",
[],function(){return jQuery}]);if(i.scriptCount){Z(a,true);i.jQueryIncremented=true}}};C=function(){var a,b,c;fa+=1;if(i.scriptCount<=0)i.scriptCount=0;for(;P.length;){a=P.shift();if(a[0]===null)return h.onError(K("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));else M(a)}if(!r.priorityWait||q())for(;i.paused.length;){c=i.paused;i.pausedCount+=c.length;i.paused=[];for(b=0;a=c[b];b++)Ba(a);i.startTime=(new Date).getTime();i.pausedCount-=c.length}fa===1&&ca();fa-=1};i={contextName:d,
config:r,defQueue:P,waiting:B,waitCount:0,specified:y,loaded:v,urlMap:$,scriptCount:0,urlFetched:{},defined:p,paused:[],pausedCount:0,plugins:G,managerCallbacks:w,makeModuleMap:j,normalize:l,configure:function(a){var b,c,e;if(a.baseUrl)if(a.baseUrl.charAt(a.baseUrl.length-1)!=="/")a.baseUrl+="/";b=r.paths;e=r.pkgs;Y(r,a,true);if(a.paths){for(c in a.paths)c in F||(b[c]=a.paths[c]);r.paths=b}if((b=a.packagePaths)||a.packages){if(b)for(c in b)c in F||ja(e,b[c],c);a.packages&&ja(e,a.packages);r.pkgs=
e}if(a.priority){c=i.requireWait;i.requireWait=false;i.takeGlobalQueue();C();i.require(a.priority);C();i.requireWait=c;r.priorityWait=a.priority}if(a.deps||a.callback)i.require(a.deps||[],a.callback);a.ready&&h.ready(a.ready)},requireDefined:function(a,b){return j(a,b).fullName in p},requireSpecified:function(a,b){return j(a,b).fullName in y},require:function(a,b,c){if(typeof a==="string"){if(h.get)return h.get(i,a,b);c=b;b=j(a,c);a=b.fullName;if(!(a in p))return h.onError(K("notloaded","Module name '"+
b.fullName+"' has not been loaded yet for context: "+d));return p[a]}na(null,a,b,c);if(!i.requireWait)for(;!i.scriptCount&&i.paused.length;){i.takeGlobalQueue();C()}},takeGlobalQueue:function(){if(V.length){Ca.apply(i.defQueue,[i.defQueue.length-1,0].concat(V));V=[]}},completeLoad:function(a){var b;for(i.takeGlobalQueue();P.length;){b=P.shift();if(b[0]===null){b[0]=a;break}else if(b[0]===a)break;else{M(b);b=null}}b?M(b):M([a,[],a==="jquery"&&typeof jQuery!=="undefined"?function(){return jQuery}:null]);
v[a]=true;U();if(h.isAsync)i.scriptCount-=1;C();h.isAsync||(i.scriptCount-=1)},toUrl:function(a,b){var c=a.lastIndexOf("."),e=null;if(c!==-1){e=a.substring(c,a.length);a=a.substring(0,c)}return i.nameToUrl(a,e,b)},nameToUrl:function(a,b,c){var e,g,k,n,m=i.config;a=l(a,c&&c.fullName);if(h.jsExtRegExp.test(a))b=a+(b?b:"");else{e=m.paths;g=m.pkgs;c=a.split("/");for(n=c.length;n>0;n--){k=c.slice(0,n).join("/");if(e[k]){c.splice(0,n,e[k]);break}else if(k=g[k]){a=a===k.name?k.location+"/"+k.main:k.location;
c.splice(0,n,a);break}}b=c.join("/")+(b||".js");b=(b.charAt(0)==="/"||b.match(/^\w+:/)?"":m.baseUrl)+b}return m.urlArgs?b+((b.indexOf("?")===-1?"?":"&")+m.urlArgs):b}};i.jQueryCheck=U;i.resume=C;return i}function Da(){var d,f,l;if(Q&&Q.readyState==="interactive")return Q;d=document.getElementsByTagName("script");for(f=d.length-1;f>-1&&(l=d[f]);f--)if(l.readyState==="interactive")return Q=l;return null}var Ea=/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg,Fa=/require\(["']([^'"\s]+)["']\)/g,ua=/^\.\//,ka=/\.js$/,
ia=Object.prototype.toString,x=Array.prototype,wa=x.slice,Ca=x.splice,A=!!(typeof window!=="undefined"&&navigator&&document),qa=!A&&typeof importScripts!=="undefined",Ga=A&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,sa=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",ya="_r@@",F={},H={},V=[],Q=null,Ha=false,ea=0,N=false,h;x={};var ga,s,I,W,z,R,S,D,ha,ta,E,U,da;if(typeof define==="undefined"){if(typeof requirejs!=="undefined")if(J(requirejs))return;else{x=
requirejs;requirejs=undefined}if(typeof require!=="undefined"&&!J(require)){x=require;require=undefined}h=requirejs=function(d,f,l){var j="_",q;if(!X(d)&&typeof d!=="string"){q=d;if(X(f)){d=f;f=l}else d=[]}if(q&&q.context)j=q.context;l=H[j]||(H[j]=va(j));q&&l.configure(q);return l.require(d,f)};if(typeof require==="undefined")require=h;h.toUrl=function(d){return H._.toUrl(d)};h.version="0.25.0";h.isArray=X;h.isFunction=J;h.mixin=Y;h.jsExtRegExp=/^\/|:|\?|\.js$/;s=h.s={contexts:H,skipAsync:{},isPageLoaded:!A,
readyCalls:[]};if(h.isAsync=h.isBrowser=A){I=s.head=document.getElementsByTagName("head")[0];if(W=document.getElementsByTagName("base")[0])I=s.head=W.parentNode}h.onError=function(d){throw d;};h.load=function(d,f,l){var j=d.loaded;Ha=false;j[f]||(j[f]=false);d.scriptCount+=1;h.attach(l,d,f);if(d.jQuery&&!d.jQueryIncremented){Z(d.jQuery,true);d.jQueryIncremented=true}};define=h.def=function(d,f,l){var j;if(typeof d!=="string"){l=f;f=d;d=null}if(!h.isArray(f)){l=f;f=[]}if(!d&&!f.length&&h.isFunction(l))if(l.length){l.toString().replace(Ea,
"").replace(Fa,function(q,o){f.push(o)});f=(l.length===1?["require"]:["require","exports","module"]).concat(f)}if(N){j=ga||Da();if(!j)return h.onError(K("interactive","No matching script interactive for "+l));d||(d=j.getAttribute("data-requiremodule"));j=H[j.getAttribute("data-requirecontext")]}(j?j.defQueue:V).push([d,f,l])};define.amd={multiversion:true,plugins:true,jQuery:true};h.exec=function(d){return eval(d)};h.execCb=function(d,f,l,j){return f.apply(j,l)};h.onScriptLoad=function(d){var f=d.currentTarget||
d.srcElement,l;if(d.type==="load"||Ga.test(f.readyState)){Q=null;d=f.getAttribute("data-requirecontext");l=f.getAttribute("data-requiremodule");H[d].completeLoad(l);f.detachEvent&&!sa?f.detachEvent("onreadystatechange",h.onScriptLoad):f.removeEventListener("load",h.onScriptLoad,false)}};h.attach=function(d,f,l,j,q){var o;if(A){j=j||h.onScriptLoad;o=f&&f.config&&f.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");o.type=q||"text/javascript";
o.charset="utf-8";o.async=!s.skipAsync[d];f&&o.setAttribute("data-requirecontext",f.contextName);o.setAttribute("data-requiremodule",l);if(o.attachEvent&&!sa){N=true;o.attachEvent("onreadystatechange",j)}else o.addEventListener("load",j,false);o.src=d;ga=o;W?I.insertBefore(o,W):I.appendChild(o);ga=null;return o}else if(qa){j=f.loaded;j[l]=false;importScripts(d);f.completeLoad(l)}return null};if(A){z=document.getElementsByTagName("script");for(D=z.length-1;D>-1&&(R=z[D]);D--){if(!I)I=R.parentNode;
if(S=R.getAttribute("data-main")){if(!x.baseUrl){z=S.split("/");R=z.pop();z=z.length?z.join("/")+"/":"./";x.baseUrl=z;S=R.replace(ka,"")}x.deps=x.deps?x.deps.concat(S):[S];break}}}s.baseUrl=x.baseUrl;h.pageLoaded=function(){if(!s.isPageLoaded){s.isPageLoaded=true;ha&&clearInterval(ha);if(ta)document.readyState="complete";h.callReady()}};h.checkReadyState=function(){var d=s.contexts,f;for(f in d)if(!(f in F))if(d[f].waitCount)return;s.isDone=true;h.callReady()};h.callReady=function(){var d=s.readyCalls,
f,l,j;if(s.isPageLoaded&&s.isDone){if(d.length){s.readyCalls=[];for(f=0;l=d[f];f++)l()}d=s.contexts;for(j in d)if(!(j in F)){f=d[j];if(f.jQueryIncremented){Z(f.jQuery,false);f.jQueryIncremented=false}}}};h.ready=function(d){s.isPageLoaded&&s.isDone?d():s.readyCalls.push(d);return h};if(A){if(document.addEventListener){document.addEventListener("DOMContentLoaded",h.pageLoaded,false);window.addEventListener("load",h.pageLoaded,false);if(!document.readyState){ta=true;document.readyState="loading"}}else if(window.attachEvent){window.attachEvent("onload",
h.pageLoaded);if(self===self.top)ha=setInterval(function(){try{if(document.body){document.documentElement.doScroll("left");h.pageLoaded()}}catch(d){}},30)}document.readyState==="complete"&&h.pageLoaded()}h(x);if(h.isAsync&&typeof setTimeout!=="undefined"){E=s.contexts[x.context||"_"];E.requireWait=true;setTimeout(function(){E.requireWait=false;E.takeGlobalQueue();E.jQueryCheck();E.scriptCount||E.resume();h.checkReadyState()},0)}}})();/*
 jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==
typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,
t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,
t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=
S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),
isReady:!0,error:function(e){throw new Error(e);},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e))for(n=e.length;r<n;r++){if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},
makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],
o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,
t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\x00-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+
W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+
M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>
10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,
r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1])if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else{if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,
e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=
[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?
1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,
le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&
(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),
d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=
function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===
n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||
v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||
a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},
j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,
t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||
e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e);},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),
e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i)if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else{if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",
first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&
(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,
r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":
"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]=
{}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,
r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),
lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||
~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();
return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),
gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,
p];if(n)while(e=e[u]){if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,
r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],
i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,
e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),
n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=
e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=
se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||
t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?
1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=
d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=
0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&
3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,
D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,
e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,
"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=
e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e;}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,
t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?
r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||
(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),
this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");
t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,
m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,
r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+
e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e;})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&
!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}
function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):
e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};
var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,
t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==
(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,
i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,
e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,
e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,
t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),
o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;
ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],
tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||
(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=
""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,
s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i])if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();
else{if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,
i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),
namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||
{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,
"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&
!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=
[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,
t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==
e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=
e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=
this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),
S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,
arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});
var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,
"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=
e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&
(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<
i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?
S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,
function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===
e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",
insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},
Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",
l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip=
"content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",
t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;
while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,
"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&
A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,
gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==
o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,
t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=
Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,
i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,
n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,
e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,
it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,
t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,
tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=
a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,
t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,
S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===
c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,
g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),
r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||
"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,
!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,
r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=
C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,
t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",
t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||
[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,
n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex",
"readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,
n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):
m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});
var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,
"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,
i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};
S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=
void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&
(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,
t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,
r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;
function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],
t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):
{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,
S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,
processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,
S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=
n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,
bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),
v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid++ +o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&
T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,
t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));
if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=
t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&
(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,
t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},
dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},
wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();
y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=
r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&
i.data||null)}catch(e){if(o)throw e;}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,
i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&
(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===
i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=
N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,
e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&
(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();
else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;
return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},
function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),
S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),
function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=
X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});var pb="function"==typeof Object.defineProperties?Object.defineProperty:function(a,e,l){if(a==Array.prototype||a==Object.prototype)return a;a[e]=l.value;return a};function qb(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var e=0;e<a.length;++e){var l=a[e];if(l&&l.Math==Math)return l}throw Error("Cannot find global object");}var rb=qb(this);
function sb(a,e){if(e)a:{var l=rb;a=a.split(".");for(var m=0;m<a.length-1;m++){var k=a[m];if(!(k in l))break a;l=l[k]}a=a[a.length-1];m=l[a];e=e(m);e!=m&&null!=e&&pb(l,a,{configurable:!0,writable:!0,value:e})}}
sb("String.prototype.matchAll",function(a){return a?a:function(e){if(e instanceof RegExp&&!e.global)throw new TypeError("RegExp passed into String.prototype.matchAll() must have global tag.");var l=new RegExp(e,e instanceof RegExp?void 0:"g"),m=this,k=!1,b={next:function(){if(k)return{value:void 0,done:!0};var h=l.exec(m);if(!h)return k=!0,{value:void 0,done:!0};""===h[0]&&(l.lastIndex+=1);return{value:h,done:!1}}};b[Symbol.iterator]=function(){return b};return b}});
(function(){function a(c){this.pp=c;this.Rs=null;this.Ec={}}function e(){this.aj={};this.aj[e.SCRIPT_URL]=[];this.aj[e.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.aj[e.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.aj[e.sla]="lib/webxr-polyfill.js";this.aj[e.HLS_URL]="lib/Hls.js";this.aj[e.Bja]="lib/basis/";this.aj[e.Lja]="lib/draco/";this.aj[e.CURSORS_DIR_URL]="lib/cursors";this.aj[e.SERVICE_WORKER_URL]="tdvplayersw.js";this.aj[e.pG]="lib/webxr-input-profiles/";this.aj[e.BACKGROUND_PRELOAD_ENABLED]=
void 0;this.aj[e.KT]=void 0}function l(){this.UO=[];this.oZ=[];this.nUa=[];this.mU=null}function m(c){return"[object Array]"==Object.prototype.toString.call(c)}function k(c){return 0<=h.search(c.toLowerCase())}var b=window.TDV=window.TDV||{},h=navigator.userAgent.toLowerCase();l.prototype.getVersion=l.prototype.$Aa=function(){return{MAJOR:"0",MINOR:"2104"}};l.prototype.getClassByName=function(){};l.prototype.rua=function(){if(this.mU)for(;0<this.UO.length;){var c=this.UO[0];
this.UO=this.UO.slice(1);this.oZ.push(c);this.ZNa(c)}};l.prototype.Bra=function(c){var d=document.createElement("a");d.href=c;return d.href};l.prototype.sQa=function(){var c=document.currentScript;c||(c=document.getElementsByTagName("head")[0].getElementsByTagName("script"),c=c[c.length-1]);return this.Bra(c.src)};l.prototype.ZNa=function(c){var d=this,f=c.pp.get(e.SELECTED_SCRIPT_URL);setTimeout(function(){var p=document.createElement("script");p.type="text/javascript";p.src=f;document.getElementsByTagName("head")[0].appendChild(p);
d.mU.O8a(c)},1)};l.prototype.defineScript=function(c){for(var d=[],f=this.sQa(),p=0;p<this.oZ.length;p++){var q=this.oZ[p],n=this.Bra(q.pp.get(e.SELECTED_SCRIPT_URL));n==f?(q.pp.set(e.SCRIPT_DATA,c),q.j7a(new this.mU(q,q.pp)),this.nUa.push(q)):d.push(n)}this.oZ=d};l.prototype.create=l.prototype.create=function(c){var d=c.get(e.SCRIPT_URL);d=m(d)?this.iVa(d):"string"===typeof d?d:"script.js";c.set(e.SELECTED_SCRIPT_URL,d);c=new b.Qka(c);this.UO.push(c);this.rua();return c};l.prototype.setPlayerClass=
l.prototype.i7a=function(c){this.mU=c;this.rua();this.trigger({name:"classesReady",source:this})};l.prototype.bind=l.prototype.bind=function(c,d,f,p){this.Ec=this.Ec||{};this.Ec[c]=this.Ec[c]||[];this.Ec[c].push({handler:d,context:f,immediate:p||!1})};l.prototype.unbind=l.prototype.unbind=function(c,d,f,p){this.Ec&&c in this.Ec&&(this.Ec[c]=this.Ec[c].filter(function(q){return q.handler!=d||q.context!=f||q.immediate!=p}))};l.prototype.trigger=function(c){this.Ec&&c.name in this.Ec&&(this.Ay(c,!0),
setTimeout(function(){this.Ay(c,!1)}.bind(this),0))};l.prototype.Ay=function(c,d){c.unbindCurrentHandler=function(){}.bind(this);for(var f=this.Ec[c.name],p=0;p<f.length;p++)if(f[p].immediate==d)try{f[p].handler.call(f[p].context||window,c)}catch(q){setTimeout(function(){throw q;},0)}};l.prototype.getOrientation=l.prototype.rr=function(){var c=screen.orientation&&screen.orientation.type||window.orientation;return"portrait-primary"==c||"portrait-secondary"==c||0===c||180==c?b.ub.Y4:"landscape-primary"==
c||"landscape-secondary"==c||90==c||-90==c?b.ub.X4:window.innerWidth<window.innerHeight?b.ub.Y4:b.ub.X4};l.prototype.iVa=function(c){if(0<c.length){for(var d=0;d<c.length;d++){var f=c[d];if(m(f)){if(this.Dwa(f[0]))return f[1]}else if("string"===typeof f)return f}return c[0][1]}return"script.js"};l.prototype.Dwa=function(c){if("string"===typeof c){var d=c.match(/^\s*default\s*$/);if(d)return!0;if(d=c.match(/^\s*os\s*=\s*(\w+)\s*$/))return this.td==d[1].toLowerCase();if(d=c.match(/^\s*browser\s*=\s*(\w+)\s*$/))return this.browser==
d[1].toLowerCase();if(d=c.match(/^\s*device\s*=\s*(\w+)\s*$/))return this.FE==d[1].toLowerCase();if(d=c.match(/^\s*screen_size\s*(<|>|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){c=parseInt(d[2]);var f=parseInt(d[3]);switch(d[1]){case "<":var p=function(q,n){return q<n};break;case ">":p=function(q,n){return q>n};break;case "=":p=function(q,n){return q==n};break;case "<=":p=function(q,n){return q<=n};break;case ">=":p=function(q,n){return q>=n}}return p(screen.width,c)&&p(screen.height,f)||this.mobile&&p(screen.width,
f)&&p(screen.height,c)}return!1}if(m(c)){for(d=0;d<c.length;d++)if(!this.Dwa(c[d]))return!1;return!0}return!1};l.prototype.ORIENTATION_LANDSCAPE=l.prototype.X4="landscape";l.prototype.ORIENTATION_PORTRAIT=l.prototype.Y4="portrait";l.prototype.OS_IOS=l.prototype.ZT="ios";l.prototype.OS_ANDROID=l.prototype.Z4="android";l.prototype.OS_WINDOWS=l.prototype.Ika="windows";l.prototype.OS_WINDOWS_PHONE=l.prototype.d5="windows_phone";l.prototype.OS_MACOSX=l.prototype.a5="osx";l.prototype.OS_LINUX=l.prototype.Hka=
"linux";l.prototype.OS_QNX=l.prototype.c5="qnx";l.prototype.OS_OTHER=l.prototype.b5="other";l.prototype.BROWSER_TYPE_WEBKIT=l.prototype.oL="webkit";l.prototype.BROWSER_TYPE_OPERA=l.prototype.Q3="opera";l.prototype.BROWSER_TYPE_MSIE=l.prototype.P3="msie";l.prototype.BROWSER_TYPE_MOZILLA=l.prototype.O3="mozilla";l.prototype.BROWSER_TYPE_OTHER=l.prototype.R3="other";l.prototype.BROWSER_SAFARI_IOS=l.prototype.ni="safari_ios";l.prototype.BROWSER_OPERA=l.prototype.FT="opera";l.prototype.BROWSER_SAFARI=
l.prototype.ml="safari";l.prototype.BROWSER_CHROME=l.prototype.Hm="chrome";l.prototype.BROWSER_EDGE=l.prototype.TF="edge";l.prototype.BROWSER_MSIE=l.prototype.Mx="msie";l.prototype.BROWSER_ANDROID=l.prototype.ET="android";l.prototype.BROWSER_MOZILLA=l.prototype.Sr="mozilla";l.prototype.BROWSER_OTHER=l.prototype.M3="other";l.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET=l.prototype.VF="samsunginternet";l.prototype.BROWSER_SUBTYPE_OCULUS_BROWSER=l.prototype.sp="oculusbrowser";l.prototype.BROWSER_SUBTYPE_PICO_BROWSER=
l.prototype.eu="picobrowser";l.prototype.BROWSER_SUBTYPE_SAMSUNG_INTERNET_FOR_GEAR_VR=l.prototype.IT="samsunginternetgearvr";l.prototype.BROWSER_SUBTYPE_MI_BROWSER=l.prototype.N3="mibrowser";l.prototype.BROWSER_SUBTYPE_CHROME_IOS=l.prototype.lL="chromeios";l.prototype.BROWSER_SUBTYPE_SAFARI_IOS=l.prototype.mL="safari_ios";l.prototype.BROWSER_SUBTYPE_CHROME_WEBVIEW=l.prototype.UF="chrome_webview";l.prototype.BROWSER_SUBTYPE_SAFARI_WEBVIEW=l.prototype.nL="safari_webview";l.prototype.BROWSER_SUBTYPE_TOUR_LAUNCHER=
l.prototype.Ox="tour_launcher";l.prototype.BROWSER_SUBTYPE_CHROMIUM_EDGE=l.prototype.UF="chromium_edge";l.prototype.BROWSER_SUBTYPE_FIREFOX_REALITY=l.prototype.Nx="firefox_reality";l.prototype.BROWSER_SUBTYPE_VR_APP=l.prototype.Tr="vrapp";l.prototype.BROWSER_SUBTYPE_XR_APP=l.prototype.fu="xrapp";l.prototype.BROWSER_SUBTYPE_FACEBOOK_IOS_WEBVIEW=l.prototype.GT="facebook_ios_webview";l.prototype.BROWSER_SUBTYPE_OTHER=l.prototype.HT="other";l.prototype.BROWSER_VERSION_UNKNOWN=l.prototype.S3=-1;l.prototype.DEVICE_IPHONE=
l.prototype.V3="iphone";l.prototype.DEVICE_IPAD=l.prototype.sL="ipad";l.prototype.DEVICE_IPOD=l.prototype.W3="ipod";l.prototype.DEVICE_OTHER=l.prototype.X3="other";l.prototype.os=l.prototype.td=k("iphone")||k("ipad")||k("ipod")?l.prototype.ZT:k("qnx")?l.prototype.c5:k("android")||k("oculusbrowser")&&k("linux")?l.prototype.Z4:k("windows phone")?l.prototype.d5:k("windows")?l.prototype.Ika:k("mac_powerpc")?l.prototype.a5:k("macintosh")?1<navigator.maxTouchPoints?l.prototype.ZT:l.prototype.a5:k("linux")||
k("x11")?l.prototype.Hka:l.prototype.b5;l.prototype.browser=l.prototype.browser=k("ipad")||k("iphone")||k("ipod")||k("macintosh")&&1<navigator.maxTouchPoints?l.prototype.ni:k("opera")?l.prototype.FT:k("edge")?l.prototype.TF:k("chrome")||k("crmo")?l.prototype.Hm:k("safari")?l.prototype.ml:k("trident")||k("msie")?l.prototype.Mx:!k("compatible")&&k("mozilla")?l.prototype.Sr:k("android")?l.prototype.ET:l.prototype.M3;l.prototype.browserType=l.prototype.BJ=l.prototype.browser==l.prototype.ni||l.prototype.browser==
l.prototype.Hm||l.prototype.browser==l.prototype.ET||l.prototype.browser==l.prototype.ml||k("webkit")?l.prototype.oL:l.prototype.browser==l.prototype.FT||k("opera")?l.prototype.Q3:k("trident")||k("msie")?l.prototype.P3:!k("compatible")&&k("mozilla")?l.prototype.O3:l.prototype.R3;l.prototype.browserSubtype=l.prototype.Vb=window.location.hash&&0<=window.location.hash.indexOf("xrapp")?l.prototype.fu:window.location.hash&&0<=window.location.hash.indexOf("vrapp")?l.prototype.Tr:k("picobrowser")?l.prototype.eu:
k("oculusbrowser")?l.prototype.sp:k("xiaomi")||k("miui")?l.prototype.N3:k("samsungbrowser")&&k("android")?k("mobile vr")?l.prototype.IT:l.prototype.VF:k("ipad")||k("iphone")||k("ipod")?k("crios")?l.prototype.lL:k("fban")||k("fbav")?l.prototype.GT:k("safari")&&k("version")&&!navigator.standalone?l.prototype.mL:l.prototype.nL:k("electron")?l.prototype.Ox:k("chrome")&&k("wv")?l.prototype.UF:k("edg/")?l.prototype.Dja:!k("compatible")&&k("mozilla")&&k("mobile vr")?l.prototype.Nx:l.prototype.HT;l.prototype.browserVersion=
l.prototype.Xya=function(){if(l.prototype.browser==l.prototype.Mx){var c=h.match(RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"));if(null!=c)return parseFloat(c[1]);c=h.match(RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})"));if(null!=c)return parseFloat(c[1])}return l.prototype.S3}();l.prototype.device=l.prototype.FE=k("ipad")||k("macintosh")&&1<navigator.maxTouchPoints?l.prototype.sL:k("iphone")?l.prototype.V3:k("ipod")?l.prototype.W3:l.prototype.X3;a:{switch(l.prototype.td){case l.prototype.Z4:case l.prototype.ZT:case l.prototype.d5:case l.prototype.c5:var g=
!0;break a}g=!1}l.prototype.mobile=l.prototype.mobile=g;b.PlayerAPI=b.ub=new l;e.prototype.append=e.prototype.append=function(c,d,f){c==e.SCRIPT_URL&&("undefined"==typeof f&&(f=d,d="default"),d=[d,f]);m(this.aj[c])||(this.aj[c]=[]);this.aj[c].push(d)};e.prototype.set=e.prototype.set=function(c,d){this.aj[c]=d};e.prototype.get=e.prototype.get=function(c){return this.aj[c]};e.SCRIPT_URL=e.SCRIPT_URL="ScriptURL";e.SCRIPT_DATA=e.SCRIPT_DATA="ScriptData";e.FLASH_EXPRESS_INSTALLER_URL=e.FLASH_EXPRESS_INSTALLER_URL=
"FlashExpressInstallerURL";e.FLASH_AUDIO_PLAYER_URL=e.FLASH_AUDIO_PLAYER_URL="FlashAudioPlayerURL";e.FLASH_VIDEO_PLAYER_URL=e.FLASH_VIDEO_PLAYER_URL="FlashVideoPlayerURL";e.FLASH_PANORAMA_PLAYER_URL=e.FLASH_PANORAMA_PLAYER_URL="FlashPanoramaPlayerURL";e.THREE_JS_WEBGL_URL=e.THREE_JS_WEBGL_URL="ThreeJSWebGLURL";e.WEBVR_POLYFILL_URL=e.WEBVR_POLYFILL_URL="WebVRPolyfillURL";e.WEBXR_POLYFILL_URL=e.sla="WebXRPolyfillURL";e.WEBXR_INPUT_PROFILES_DIR_URL=e.pG="WebXRInputProfilesDirURL";e.CAPTURA_VIEWER_URL=
e.CAPTURA_VIEWER_URL="CapturaViewerURL";e.DASH_URL=e.DASH_URL="DashURL";e.HLS_URL=e.HLS_URL="HlsURL";e.BASIS_URL=e.Bja="BasisURL";e.DRACO_URL=e.Lja="DRACOURL";e.CONTAINER=e.CONTAINER="Container";e.SELECTED_SCRIPT_URL=e.SELECTED_SCRIPT_URL="SelectedScriptURL";e.BASE_DIR_URL=e.BASE_DIR_URL="BaseDirURL";e.QUERY_STRING_PARAMETERS=e.QUERY_STRING_PARAMETERS="QueryStringParameters";e.CURSORS_DIR_URL=e.CURSORS_DIR_URL="CursorsDirURL";e.BACKGROUND_PRELOAD_ENABLED=e.BACKGROUND_PRELOAD_ENABLED="BackgroundPreloadEnabled";
e.ACTIVE_VIDEO_ELEMENT=e.ACTIVE_VIDEO_ELEMENT="ActiveVideoElement";e.SERVICE_WORKER_URL=e.SERVICE_WORKER_URL="ServiceWorkerURL";e.PINCH_TO_ZOOM_ENABLED=e.XIa="PinchToZoomEnabled";e.DOWNLOAD_DISABLED=e.KT="DownloadDisabled";b.PlayerSettings=b.PlayerSettings=e;b.PlayerEvent=b.bU=function(c,d,f,p){this.name=c;this.data=this.originalEvent=d;this.sourceClassName=f[f.length-1];this.sourceClassPath=f;this.sourceId=p};a.prototype.j7a=function(c){this.Rs=c};a.prototype["delete"]=function(){this.Rs&&(this.Rs.clear(),
this.Rs=null)};a.prototype.getById=a.prototype.rA=function(c){return this.Rs?this.Rs.q2a(c):null};a.prototype.getByClassName=a.prototype.Oi=function(c){return this.Rs?this.Rs.Oi(c):[]};a.prototype.createInstance=a.prototype.pm=function(c){return this.Rs.pm(c)};a.prototype.disposeInstance=a.prototype.JJ=function(c){return this.Rs.JJ(c)};a.prototype.bind=a.prototype.bind=function(c,d,f,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";this.Ec[c]=this.Ec[c]||{};this.Ec[c][q]=this.Ec[c][q]||[];this.Ec[c][q].push({handler:d,
context:f,immediate:p});return this};a.prototype.unbind=a.prototype.unbind=function(c,d,f,p){var q=c.split(":");c=q[0];q=1<q.length?q[1]:"*";if(c in this.Ec&&q in this.Ec[c]){for(var n=[],r=this.Ec[c][q],t=0;t<r.length;t++){var u=r[t];u.handler==d&&u.context==f&&u.immediate==p||n.push(u)}this.Ec[c][q]=n}};a.prototype.bindOnObject=function(c,d,f,p,q){return this.bind(d+":"+this.W8(c),f,p,q)};a.prototype.unbindOnObject=function(c,d,f,p,q){return this.unbind(d+":"+this.W8(c),f,p,q)};a.prototype.bindOnObjectsOf=
function(c,d,f,p,q){return this.bind(d+":"+this.K8(c),f,p,q)};a.prototype.unbindOnObjectsOf=function(c,d,f,p,q){return this.unbind(d+":"+this.K8(c),f,p,q)};a.prototype.cookiesEnabled=a.prototype.t0a=!1;a.DEFAULT_PANORAMA_HFOV=a.QHa=l.prototype.mobile?90:110;a.prototype.trigger=function(c){if(c.name in this.Ec){this.Ay(c,!0);var d=this;setTimeout(function(){d.Ay(c,!1)},0)}};a.prototype.Ay=function(c,d){d=this.GPa(c,d);for(var f=0;f<d.length;f++)try{d[f].handler.call(d[f].context||window,c)}catch(p){console.log("Exception handling event "+
(c&&c.name),p.message,p.stack)}};a.prototype.GPa=function(c,d){var f=[];if(c.name in this.Ec){for(var p=[],q=0;q<c.sourceClassPath.length;q++)p.push(this.K8(c.sourceClassPath[q]));c.sourceId&&p.push(this.W8(c.sourceId));p.push("*");c=this.Ec[c.name];for(q=0;q<p.length;q++)for(var n=c[p[q]]||[],r=0;r<n.length;r++)!!n[r].immediate==!!d&&f.push(n[r])}return f};a.prototype.W8=function(c){return"instance("+c+")"};a.prototype.K8=function(c){return"className("+c+")"};b.Player=b.Qka=a})();
var Z=this&&this.l$a||function(){function a(e,l){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,k){m.__proto__=k}||function(m,k){for(var b in k)Object.prototype.hasOwnProperty.call(k,b)&&(m[b]=k[b])};return a(e,l)}return function(e,l){function m(){this.constructor=e}if("function"!==typeof l&&null!==l)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");a(e,l);e.prototype=null===l?Object.create(l):(m.prototype=l.prototype,new m)}}();
define("jquery.mod",["require","jquery"],function(a){return a("jquery").noConflict(!0)});
(function(){var a=window.TDV||(window.TDV={});(function(){(function(){function e(G,N){return G.YLa?r(N).chain():N}function l(G){return"\\"+da[G]}function m(G){function N(V){return G[V]}var R="(?:"+r.keys(G).join("|")+")",L=RegExp(R),Q=RegExp(R,"g");return function(V){return V=null==V?"":""+V,L.test(V)?V.replace(Q,N):V}}function k(G,N,R,L){if(G===N)return 0!==G||1/G===1/N;if(null==G||null==N)return G===N;G instanceof r&&(G=G.uE);N instanceof r&&(N=N.uE);var Q=C.call(G);if(Q!==C.call(N))return!1;switch(Q){case "[object RegExp]":case "[object String]":return""+
G==""+N;case "[object Number]":return+G!==+G?+N!==+N:0===+G?1/+G===1/N:+G===+N;case "[object Date]":case "[object Boolean]":return+G===+N}Q="[object Array]"===Q;if(!Q){if("object"!=typeof G||"object"!=typeof N)return!1;var V=G.constructor,aa=N.constructor;if(V!==aa&&!(r.isFunction(V)&&V instanceof V&&r.isFunction(aa)&&aa instanceof aa)&&"constructor"in G&&"constructor"in N)return!1}R=R||[];L=L||[];for(V=R.length;V--;)if(R[V]===G)return L[V]===N;if(R.push(G),L.push(N),Q){if(V=G.length,V!==N.length)return!1;
for(;V--;)if(!k(G[V],N[V],R,L))return!1}else{var ba;Q=r.keys(G);if(V=Q.length,r.keys(N).length!==V)return!1;for(;V--;)if(ba=Q[V],!r.has(N,ba)||!k(G[ba],N[ba],R,L))return!1}return R.pop(),L.pop(),!0}function b(G,N,R,L,Q){if(!(L instanceof N))return G.apply(R,Q);N=f(G.prototype);G=G.apply(N,Q);return r.nK(G)?G:N}function h(G,N,R,L){var Q=[],V=0;L=L||0;for(var aa=X(G);aa>L;L++){var ba=G[L];if(c(ba)&&(r.isArray(ba)||r.isArguments(ba))){N||(ba=h(ba,N,R));var ea=0,fa=ba.length;for(Q.length+=fa;fa>ea;)Q[V++]=
ba[ea++]}else R||(Q[V++]=ba)}return Q}function g(G){return function(N,R,L){var Q={};return R=q(R,L),r.each(N,function(V,aa){aa=R(V,aa,N);G(Q,V,aa)}),Q}}function c(G){G=X(G);return"number"==typeof G&&0<=G&&S>=G}function d(G){return function(N){return null==N?void 0:N[G]}}function f(G){if(!r.nK(G))return{};if(U)return U(G);t.prototype=G;G=new t;return t.prototype=null,G}function p(G,N){return function(R){var L=arguments.length;if(2>L||null==R)return R;for(var Q=1;L>Q;Q++)for(var V=arguments[Q],aa=G(V),
ba=aa.length,ea=0;ba>ea;ea++){var fa=aa[ea];N&&void 0!==R[fa]||(R[fa]=V[fa])}return R}}function q(G,N,R){return null==G?r.identity:r.isFunction(G)?n(G,N,R):r.nK(G)?r.S3a(G):r.pEa(G)}function n(G,N,R){if(void 0===N)return G;switch(null==R?3:R){case 1:return function(L){return G.call(N,L)};case 2:return function(L,Q){return G.call(N,L,Q)};case 3:return function(L,Q,V){return G.call(N,L,Q,V)};case 4:return function(L,Q,V,aa){return G.call(N,L,Q,V,aa)}}return function(){return G.apply(N,arguments)}}function r(G){return G instanceof
r?G:this instanceof r?void(this.uE=G):new r(G)}function t(){}function u(G){return function(N,R,L,Q){R=n(R,Q,4);var V=!c(N)&&r.keys(N),aa=(V||N).length,ba=0<G?0:aa-1;3>arguments.length&&(L=N[V?V[ba]:ba],ba+=G);for(var ea=R,fa=L;0<=ba&&aa>ba;ba+=G){var ia=V?V[ba]:ba;fa=ea(fa,N[ia],ia,N)}return fa}}function v(G){return function(N,R,L){R=q(R,L);L=X(N);for(var Q=0<G?0:L-1;0<=Q&&L>Q;Q+=G)if(R(N[Q],Q,N))return Q;return-1}}function w(G,N,R){return function(L,Q,V){var aa=0,ba=X(L);if("number"==typeof V)0<
G?aa=0<=V?V:Math.max(V+ba,aa):ba=0<=V?Math.min(V+1,ba):V+ba+1;else if(R&&V&&ba)return V=R(L,Q),L[V]===Q?V:-1;if(Q!==Q)return V=N(D.call(L,aa,ba),r.isNaN),0<=V?V+aa:-1;for(V=0<G?aa:ba-1;0<=V&&ba>V;V+=G)if(L[V]===Q)return V;return-1}}function x(G,N){var R=M.length,L=G.constructor;L=r.isFunction(L)&&L.prototype||B;var Q="constructor";for(r.has(G,Q)&&!r.contains(N,Q)&&N.push(Q);R--;)Q=M[R],Q in G&&G[Q]!==L[Q]&&!r.contains(N,Q)&&N.push(Q)}var y=this,z=y._,E=Array.prototype,B=Object.prototype,A=E.push,
D=E.slice,C=B.toString,J=B.hasOwnProperty,H=Array.isArray,P=Object.keys,W=Function.prototype.bind,U=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=r),exports._=r):y._=r;r.VERSION="1.8.3";var S=Math.pow(2,53)-1,X=d("length");r.each=r.forEach=function(G,N,R){N=n(N,R);var L;if(c(G))for(R=0,L=G.length;L>R;R++)N(G[R],R,G);else{var Q=r.keys(G);R=0;for(L=Q.length;L>R;R++)N(G[Q[R]],Q[R],G)}return G};r.map=function(G,N,R){N=q(N,R);R=!c(G)&&r.keys(G);
for(var L=(R||G).length,Q=Array(L),V=0;L>V;V++){var aa=R?R[V]:V;Q[V]=N(G[aa],aa,G)}return Q};r.reduce=u(1);r.reduceRight=u(-1);r.find=r.detect=function(G,N,R){var L;return L=c(G)?r.findIndex(G,N,R):r.i1a(G,N,R),void 0!==L&&-1!==L?G[L]:void 0};r.filter=r.select=function(G,N,R){var L=[];return N=q(N,R),r.each(G,function(Q,V,aa){N(Q,V,aa)&&L.push(Q)}),L};r.reject=function(G,N,R){return r.filter(G,r.negate(q(N)),R)};r.every=r.all=function(G,N,R){N=q(N,R);R=!c(G)&&r.keys(G);for(var L=(R||G).length,Q=0;L>
Q;Q++){var V=R?R[Q]:Q;if(!N(G[V],V,G))return!1}return!0};r.some=r.any=function(G,N,R){N=q(N,R);R=!c(G)&&r.keys(G);for(var L=(R||G).length,Q=0;L>Q;Q++){var V=R?R[Q]:Q;if(N(G[V],V,G))return!0}return!1};r.contains=r.includes=r.include=function(G,N,R,L){return c(G)||(G=r.values(G)),("number"!=typeof R||L)&&(R=0),0<=r.indexOf(G,N,R)};r.invoke=function(G,N){var R=D.call(arguments,2),L=r.isFunction(N);return r.map(G,function(Q){var V=L?N:Q[N];return null==V?V:V.apply(Q,R)})};r.pluck=function(G,N){return r.map(G,
r.pEa(N))};r.max=function(G,N,R){var L,Q=-1/0,V=-1/0;if(null==N&&null!=G){G=c(G)?G:r.values(G);for(var aa=0,ba=G.length;ba>aa;aa++)R=G[aa],R>Q&&(Q=R)}else N=q(N,R),r.each(G,function(ea,fa,ia){L=N(ea,fa,ia);(L>V||L===-1/0&&Q===-1/0)&&(Q=ea,V=L)});return Q};r.min=function(G,N,R){var L,Q=1/0,V=1/0;if(null==N&&null!=G){G=c(G)?G:r.values(G);for(var aa=0,ba=G.length;ba>aa;aa++)R=G[aa],Q>R&&(Q=R)}else N=q(N,R),r.each(G,function(ea,fa,ia){L=N(ea,fa,ia);(V>L||1/0===L&&1/0===Q)&&(Q=ea,V=L)});return Q};r.$7a=
function(G){for(var N=c(G)?G:r.values(G),R=N.length,L=Array(R),Q=0;R>Q;Q++)G=r.random(0,Q),G!==Q&&(L[Q]=L[G]),L[G]=N[Q];return L};r.sample=function(G,N,R){return null==N||R?(c(G)||(G=r.values(G)),G[r.random(G.length-1)]):r.$7a(G).slice(0,Math.max(0,N))};r.sortBy=function(G,N,R){return N=q(N,R),r.pluck(r.map(G,function(L,Q,V){return{value:L,index:Q,yza:N(L,Q,V)}}).sort(function(L,Q){var V=L.yza,aa=Q.yza;if(V!==aa){if(V>aa||void 0===V)return 1;if(aa>V||void 0===aa)return-1}return L.index-Q.index}),
"value")};r.groupBy=g(function(G,N,R){r.has(G,R)?G[R].push(N):G[R]=[N]});g(function(G,N,R){G[R]=N});g(function(G,N,R){r.has(G,R)?G[R]++:G[R]=1});r.toArray=function(G){return G?r.isArray(G)?D.call(G):c(G)?r.map(G,r.identity):r.values(G):[]};r.size=function(G){return null==G?0:c(G)?G.length:r.keys(G).length};r.first=r.head=function(G,N,R){return null==G?void 0:null==N||R?G[0]:r.initial(G,G.length-N)};r.initial=function(G,N,R){return D.call(G,0,Math.max(0,G.length-(null==N||R?1:N)))};r.last=function(G,
N,R){return null==G?void 0:null==N||R?G[G.length-1]:r.rest(G,Math.max(0,G.length-N))};r.rest=function(G,N,R){return D.call(G,null==N||R?1:N)};r.compact=function(G){return r.filter(G,r.identity)};r.flatten=function(G,N){return h(G,N,!1)};r.without=function(G){return r.difference(G,D.call(arguments,1))};r.uniq=r.unique=function(G,N,R,L){r.isBoolean(N)||(L=R,R=N,N=!1);null!=R&&(R=q(R,L));L=[];for(var Q=[],V=0,aa=X(G);aa>V;V++){var ba=G[V],ea=R?R(ba,V,G):ba;N?(V&&Q===ea||L.push(ba),Q=ea):R?r.contains(Q,
ea)||(Q.push(ea),L.push(ba)):r.contains(L,ba)||L.push(ba)}return L};r.union=function(){return r.uniq(h(arguments,!0,!0))};r.intersection=function(G){for(var N=[],R=arguments.length,L=0,Q=X(G);Q>L;L++){var V=G[L];if(!r.contains(N,V)){for(var aa=1;R>aa&&r.contains(arguments[aa],V);aa++);aa===R&&N.push(V)}}return N};r.difference=function(G){var N=h(arguments,!0,!0,1);return r.filter(G,function(R){return!r.contains(N,R)})};r.zip=function(){return r.T8a(arguments)};r.T8a=function(G){for(var N=G&&r.max(G,
X).length||0,R=Array(N),L=0;N>L;L++)R[L]=r.pluck(G,L);return R};r.object=function(G,N){for(var R={},L=0,Q=X(G);Q>L;L++)N?R[G[L]]=N[L]:R[G[L][0]]=G[L][1];return R};r.findIndex=v(1);r.j1a=v(-1);r.sortedIndex=function(G,N,R,L){R=q(R,L,1);N=R(N);L=0;for(var Q=X(G);Q>L;){var V=Math.floor((L+Q)/2);R(G[V])<N?L=V+1:Q=V}return L};r.indexOf=w(1,r.findIndex,r.sortedIndex);r.lastIndexOf=w(-1,r.j1a);r.range=function(G,N,R){null==N&&(N=G||0,G=0);R=R||1;N=Math.max(Math.ceil((N-G)/R),0);for(var L=Array(N),Q=0;N>
Q;Q++,G+=R)L[Q]=G;return L};r.bind=function(G,N){function R(){return b(G,R,N,this,L.concat(D.call(arguments)))}if(W&&G.bind===W)return W.apply(G,D.call(arguments,1));if(!r.isFunction(G))throw new TypeError("Bind must be called on a function");var L=D.call(arguments,2);return R};r.Gha=function(G){function N(){for(var L=0,Q=R.length,V=Array(Q),aa=0;Q>aa;aa++)V[aa]=R[aa]===r?arguments[L++]:R[aa];for(;L<arguments.length;)V.push(arguments[L++]);return b(G,N,this,this,V)}var R=D.call(arguments,1);return N};
r.bindAll=function(G){var N,R=arguments.length;if(1>=R)throw Error("bindAll must be passed function names");for(N=1;R>N;N++){var L=arguments[N];G[L]=r.bind(G[L],G)}return G};r.memoize=function(G,N){function R(L){var Q=R.cache,V=""+(N?N.apply(this,arguments):L);return r.has(Q,V)||(Q[V]=G.apply(this,arguments)),Q[V]}return R.cache={},R};r.delay=function(G,N){var R=D.call(arguments,2);return setTimeout(function(){return G.apply(null,R)},N)};r.defer=r.Gha(r.delay,r,1);r.throttle=function(G,N,R){function L(){ea=
!1===R.P3a?0:r.now();ba=null;aa=G.apply(Q,V);ba||(Q=V=null)}var Q,V,aa,ba=null,ea=0;R||(R={});return function(){var fa=r.now();ea||!1!==R.P3a||(ea=fa);var ia=N-(fa-ea);return Q=this,V=arguments,0>=ia||ia>N?(ba&&(clearTimeout(ba),ba=null),ea=fa,aa=G.apply(Q,V),ba||(Q=V=null)):ba||!1===R.gab||(ba=setTimeout(L,ia)),aa}};r.debounce=function(G,N,R){function L(){var fa=r.now()-ba;N>fa&&0<=fa?Q=setTimeout(L,N-fa):(Q=null,R||(ea=G.apply(aa,V),Q||(aa=V=null)))}var Q,V,aa,ba,ea;return function(){aa=this;V=
arguments;ba=r.now();var fa=R&&!Q;return Q||(Q=setTimeout(L,N)),fa&&(ea=G.apply(aa,V),aa=V=null),ea}};r.wrap=function(G,N){return r.Gha(N,G)};r.negate=function(G){return function(){return!G.apply(this,arguments)}};r.compose=function(){var G=arguments,N=G.length-1;return function(){for(var R=N,L=G[N].apply(this,arguments);R--;)L=G[R].call(this,L);return L}};r.after=function(G,N){return function(){return 1>--G?N.apply(this,arguments):void 0}};r.before=function(G,N){var R;return function(){return 0<
--G&&(R=N.apply(this,arguments)),1>=G&&(N=null),R}};r.once=r.Gha(r.before,2);var F=!{toString:null}.propertyIsEnumerable("toString"),M="valueOf isPrototypeOf toString propertyIsEnumerable hasOwnProperty toLocaleString".split(" ");r.keys=function(G){if(!r.nK(G))return[];if(P)return P(G);var N=[],R;for(R in G)r.has(G,R)&&N.push(R);return F&&x(G,N),N};r.Wea=function(G){if(!r.nK(G))return[];var N=[],R;for(R in G)N.push(R);return F&&x(G,N),N};r.values=function(G){for(var N=r.keys(G),R=N.length,L=Array(R),
Q=0;R>Q;Q++)L[Q]=G[N[Q]];return L};r.invert=function(G){for(var N={},R=r.keys(G),L=0,Q=R.length;Q>L;L++)N[G[R[L]]]=R[L];return N};r.functions=r.methods=function(G){var N=[],R;for(R in G)r.isFunction(G[R])&&N.push(R);return N.sort()};r.extend=p(r.Wea);r.Uza=r.assign=p(r.keys);r.i1a=function(G,N,R){N=q(N,R);var L;R=r.keys(G);for(var Q=0,V=R.length;V>Q;Q++)if(L=R[Q],N(G[L],L,G))return L};r.s2=function(G,N,R){var L,Q,V={},aa=G;if(null==aa)return V;r.isFunction(N)?(Q=r.Wea(aa),L=n(N,R)):(Q=h(arguments,
!1,!1,1),L=function(ja,ka,la){return ka in la},aa=Object(aa));for(var ba=0,ea=Q.length;ea>ba;ba++){var fa=Q[ba],ia=aa[fa];L(ia,fa,aa)&&(V[fa]=ia)}return V};r.defaults=p(r.Wea,!0);r.create=function(G,N){G=f(G);return N&&r.Uza(G,N),G};r.clone=function(G){return r.nK(G)?r.isArray(G)?G.slice():r.extend({},G):G};r.tap=function(G,N){return N(G),G};r.z3a=function(G,N){var R=r.keys(N),L=R.length;if(null==G)return!L;G=Object(G);for(var Q=0;L>Q;Q++){var V=R[Q];if(N[V]!==G[V]||!(V in G))return!1}return!0};r.isEqual=
function(G,N){return k(G,N)};r.isEmpty=function(G){return null==G?!0:c(G)&&(r.isArray(G)||r.isString(G)||r.isArguments(G))?0===G.length:0===r.keys(G).length};r.isElement=function(G){return!(!G||1!==G.nodeType)};r.isArray=H||function(G){return"[object Array]"===C.call(G)};r.nK=function(G){var N=typeof G;return"function"===N||"object"===N&&!!G};r.each("Arguments Function String Number Date RegExp Error".split(" "),function(G){r["is"+G]=function(N){return C.call(N)==="[object "+G+"]"}});r.isArguments(arguments)||
(r.isArguments=function(G){return r.has(G,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(r.isFunction=function(G){return"function"==typeof G||!1});r.isFinite=function(G){return isFinite(G)&&!isNaN(parseFloat(G))};r.isNaN=function(G){return r.isNumber(G)&&G!==+G};r.isBoolean=function(G){return!0===G||!1===G||"[object Boolean]"===C.call(G)};r.isNull=function(G){return null===G};r.isUndefined=function(G){return void 0===G};r.has=function(G,N){return null!=G&&J.call(G,N)};r.noConflict=
function(){return y._=z,this};r.identity=function(G){return G};r.constant=function(G){return function(){return G}};r.noop=function(){};r.pEa=d;r.S3a=r.matches=function(G){return G=r.Uza({},G),function(N){return r.z3a(N,G)}};r.times=function(G,N,R){var L=Array(Math.max(0,G));N=n(N,R,1);for(R=0;G>R;R++)L[R]=N(R);return L};r.random=function(G,N){return null==N&&(N=G,G=0),G+Math.floor(Math.random()*(N-G+1))};r.now=Date.now||function(){return(new Date).getTime()};H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;",
"'":"&#x27;","`":"&#x60;"};var T=r.invert(H);r.escape=m(H);r.unescape=m(T);r.result=function(G,N,R){N=null==G?void 0:G[N];return void 0===N&&(N=R),r.isFunction(N)?N.call(G):N};var Y=0;r.uniqueId=function(G){var N=++Y+"";return G?G+N:N};r.F8a={evaluate:/<%([\s\S]+?)%>/g,m3a:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var ca=/(.)^/,da={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},ha=/\\|'|\r|\n|\u2028|\u2029/g;r.template=function(G,N,R){function L(ba){return aa.call(this,
ba,r)}!N&&R&&(N=R);N=r.defaults({},N,r.F8a);var Q=0,V="__p+='";G.replace(RegExp([(N.escape||ca).source,(N.m3a||ca).source,(N.evaluate||ca).source].join("|")+"|$","g"),function(ba,ea,fa,ia,ja){return V+=G.slice(Q,ja).replace(ha,l),Q=ja+ba.length,ea?V+="'+\n((__t=("+ea+"))==null?'':_.escape(__t))+\n'":fa?V+="'+\n((__t=("+fa+"))==null?'':__t)+\n'":ia&&(V+="';\n"+ia+"\n__p+='"),ba});V+="';\n";N.nHa||(V="with(obj||{}){\n"+V+"}\n");V="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+
V+"return __p;\n";try{var aa=new Function(N.nHa||"obj","_",V)}catch(ba){throw ba.source=V,ba;}return L.source="function("+(N.nHa||"obj")+"){\n"+V+"}",L};r.chain=function(G){G=r(G);return G.YLa=!0,G};r.mixin=function(G){r.each(r.functions(G),function(N){var R=r[N]=G[N];r.prototype[N]=function(){var L=[this.uE];return A.apply(L,arguments),e(this,R.apply(r,L))}})};r.mixin(r);r.each("pop push reverse shift sort splice unshift".split(" "),function(G){var N=E[G];r.prototype[G]=function(){var R=this.uE;
return N.apply(R,arguments),"shift"!==G&&"splice"!==G||0!==R.length||delete R[0],e(this,R)}});r.each(["concat","join","slice"],function(G){var N=E[G];r.prototype[G]=function(){return e(this,N.apply(this.uE,arguments))}});r.prototype.value=function(){return this.uE};r.prototype.valueOf=r.prototype.toJSON=r.prototype.value;r.prototype.toString=function(){return""+this.uE};"function"==typeof define&&define.E$a&&define("px",[],function(){return r})}).call(this)}).call(a)})();define("underscore-min",function(){});
define("en",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()});
define("pf",["require","exports"],function(){return{D:function(a){return a+"_change"},xe:"default",kb:"mouseDown",kc:"mouseMove",Hb:"mouseUp",Zr:"mouseWheel",qa:"click",ql:"doubleClick",ad:"rollOver",Xb:"rollOut",CB:"mouseEnter",Fp:"mouseLeave",rl:"pointerOver",R9a:"pointerOut",jy:"pointerDown",kG:"pointerUp",Pf:"pointerClick",jIa:"focusIn",kIa:"focusOut",Xx:"gestureStart",P4:"gestureChange",$F:"gestureEnd",sIa:"gestureRotate",aG:"gestureScale",lc:"progress",WF:"close",OPEN:"open",Kp:"select",oc:"resize",
JT:"changing",ca:"change",se:"stateChange",hk:"cueChange",FB:"preloaded",Z:"loaded",xc:"loadingError",Un:"start",Qf:"stop",iy:"play",jG:"pause",Cja:"beforeFrame",Jm:"frame",$c:"ready",zIa:"instanceCreation",rp:"begin",Bb:"end",D9a:"cancel",yj:"press",sl:"release",Ip:"repeatEnd",Jp:"scroll",oka:"movementChange",C9a:"beforeShow",IHa:"beforeHide",INIT:"init",bd:"show",Tc:"hide",DL:"showEnd",wL:"hideEnd",AIa:"loadingScript",aJa:"processingScript",YF:"enableCookies",FHa:"applicationSet",LB:"userInteraction",
ola:"userInteractionStart",nla:"userInteractionEnd",t5:"transitionEnd",mJa:"toolTipShow",dla:"toolTipHide",wu:"positionSet",Yka:"sizeSet",Gja:"controllerConnected",Hja:"controllerDisconnected"}});define("cC",["require","exports"],function(){return function(){return function(a,e){void 0===e&&(e=void 0);this.name=a;this.data=e;this.source=void 0}}()});
define("bp",["require"],function(){return[123,34,70,97,100,101,73,110,69,102,102,101,99,116,34,58,32,256,112,114,111,112,101,114,116,105,101,115,270,272,125,44,32,34,112,97,114,101,110,269,271,34,264,266,268,34,286,288,80,104,111,116,111,65,108,98,117,109,80,108,97,121,76,105,115,116,73,116,101,109,284,273,275,277,279,281,283,271,256,109,101,100,105,97,326,34,116,121,277,284,34,304,306,308,310,312,301,287,289,315,121,278,340,342,344,296,347,307,309,311,313,355,357,125,302,289,291,293,295,303,355,
318,320,322,324,352,375,97,110,101,77,111,260,108,51,68,79,98,106,267,374,327,276,278,280,282,340,293,99,387,105,110,103,340,260,102,97,117,108,374,34,115,114,103,98,34,353,359,101,345,293,312,91,108,406,101,291,287,417,419,93,381,34,117,112,89,358,343,424,296,110,312,98,368,353,260,112,116,104,84,282,396,34,410,412,414,284,116,114,117,101,422,443,345,98,111,111,108,437,104,101,105,103,104,457,423,345,446,109,448,114,437,119,105,100,453,442,360,288,483,485,437,439,68,90,492,444,494,447,449,288,439,
88,500,482,503,486,370,99,97,320,83,104,259,111,119,508,296,470,472,437,97,116,116,97,99,454,111,80,372,294,409,101,411,413,374,411,108,115,466,288,481,522,471,473,370,110,111,114,109,97,108,507,333,341,468,445,510,437,551,553,555,441,558,546,502,484,504,34,564,554,108,499,568,560,570,496,370,115,489,501,256,459,539,345,102,275,535,467,493,34,426,109,91,100,111,117,98,108,544,590,111,294,287,98,529,107,436,369,353,290,292,535,296,69,120,323,114,110,555,386,388,390,392,394,300,370,81,117,259,72,306,
115,112,306,533,564,97,554,79,118,278,355,77,97,112,340,274,398,330,401,333,370,615,373,345,632,634,636,638,116,640,552,642,97,644,646,316,73,554,103,101,66,514,424,370,86,584,111,51,54,48,82,282,600,114,99,585,289,328,399,331,340,115,601,280,116,603,115,85,82,76,521,288,320,114,406,408,353,319,85,114,473,271,463,465,370,603,645,542,707,34,291,114,316,91,681,260,683,685,687,115,689,691,76,101,723,612,353,103,97,406,536,538,461,271,49,593,501,573,562,370,517,115,65,117,337,111,747,460,374,719,544,
559,594,523,549,657,534,415,731,101,733,686,688,117,690,101,739,723,437,314,316,609,99,107,677,486,558,652,329,400,332,272,34,609,114,677,789,103,275,117,110,100,67,472,552,68,105,292,268,105,606,725,596,91,305,710,122,606,528,108,287,645,330,513,108,742,708,323,112,516,518,520,578,769,548,437,543,603,268,336,83,834,836,599,838,798,569,799,841,657,355,475,259,802,107,804,600,807,809,108,552,82,526,816,797,256,853,727,729,495,278,832,416,101,844,323,100,847,101,112,87,489,491,839,753,552,91,876,114,
287,329,691,294,878,800,66,552,260,114,868,337,117,871,768,753,894,437,112,857,431,883,517,850,83,274,916,725,912,582,834,902,114,904,906,105,908,923,755,353,320,885,860,862,806,808,810,114,812,814,280,817,890,425,483,820,552,105,823,294,555,827,695,830,878,843,395,846,848,918,519,79,290,99,105,342,933,571,511,935,880,962,883,926,903,278,83,953,692,853,924,975,881,963,885,849,519,635,822,824,555,739,407,889,852,579,754,973,842,976,845,978,937,610,939,864,942,868,946,909,873,114,728,121,893,510,878,
100,780,869,947,1E3,594,986,288,914,316,858,917,837,967,529,970,121,972,581,935,964,837,920,292,259,1040,572,936,835,965,119,86,958,996,293,103,999,872,1001,1029,416,834,1036,969,971,948,561,1003,856,1032,916,927,929,259,931,1015,1061,934,1030,915,259,991,119,865,552,725,404,866,974,708,1005,882,884,1051,837,66,108,780,930,932,1068,580,572,901,980,114,1086,792,1027,753,1089,1087,1071,121,1033,1084,1054,829,1056,998,104,1048,1091,879,988,1007,112,1074,278,1109,1088,942,842,1043,850,993,953,995,108,
997,1058,1123,1103,1002,1041,288,800,1065,1038,1124,913,1082,1034,1137,952,954,825,1142,1059,910,509,1070,1042,885,887,490,1144,1111,345,892,894,896,278,898,116,878,1031,1116,1073,1107,1132,1145,1113,1125,1179,1033,1167,1161,853,1172,510,1174,781,899,437,1106,928,981,983,1152,370,901,1009,805,1011,1090,1013,870,725,874,1019,894,1178,1154,1130,114,982,122,984,1079,1164,1092,1127,1095,1202,1165,1096,850,1183,1170,296,1185,1004,1225,926,1205,863,941,1090,725,892,1212,91,1185,93,287,1246,1197,291,938,
1206,1240,1087,1145,1243,1017,729,1246,1248,942,960,1237,803,1253,1231,1060,594,1257,1018,1245,1262,1261,1090,1215,1072,1083,1052,725,770,1153,1277,100,72,476,478,480,1001,1192,973,1194,1176,1263,1008,1265,1239,1109,1209,111,1078,594,1244,1214,1135,885,1285,477,479,1242,114,1020,1291,32,897,373,960,1093,989,1129,1107,1101,1301,911,1080,1126,977,1095,1252,1297,942,944,395,816,110,818,950,821,1139,955,826,32,828,280,959,1305,1229,519,1098,1100,1076,1102,1232,1104,1125,1050,1084,1150,1067,1353,1146,
1049,1318,1128,1084,1045,922,1145,1062,1187,916,1358,1039,1368,1325,1370,1278,1097,1099,905,1351,1323,1163,1147,1326,1006,1095,1307,1287,1310,1312,485,1292,1316,1282,1180,859,1238,940,1109,1332,815,1026,1268,753,819,1338,1158,956,1342,1055,831,1346,1217,1267,1162,1233,1134,925,937,1107,1219,1221,1028,1325,961,1386,1136,519,1415,853,1234,1115,1033,1329,1399,1134,1256,1311,1244,1260,32,1249,1419,112,1382,1069,1384,1426,1094,1428,1053,1411,1160,1169,1404,1383,572,638,583,946,1335,1374,1223,1385,1450,
885,1372,1202,772,616,415,85,73,809,109,638,384,535,680,682,684,778,736,780,738,740,880,651,694,654,871,1470,659,296,775,111,735,737,782,1487,549,353,786,317,319,321,323,325,558,1487,294,909,320,276,340,319,68,537,278,292,100,462,464,101,925,291,457,1517,1519,1017,336,1523,720,353,448,103,746,558,1529,266,1531,1522,718,1524,370,293,1543,798,1540,1520,1532,1544,720,1493,617,288,677,543,628,395,421,1030,1490,796,340,335,337,339,1145,77,336,338,1135,526,1423,1405,950,1514,112,277,100,433,528,330,407,
896,355,711,1583,276,112,711,878,315,448,717,1360,709,711,301,613,288,920,475,292,625,880,627,393,1561,793,1564,696,558,1234,558,587,749,288,35,265,1622,102,1562,1416,288,1432,353,728,907,909,1618,374,53,752,1457,1125,554,120,1322,1227,288,451,453,455,320,763,588,1553,767,853,1281,370,109,406,1641,1463,581,1555,415,619,621,623,108,1607,389,391,1610,630,353,673,97,675,786,384,1666,1609,629,457,794,695,655,1549,674,1576,345,1672,675,1498,1485,679,353,403,405,407,1648,1619,416,418,420,1636,296,819,429,
384,432,32,434,98,612,1660,345,1675,385,387,1608,1668,1679,437,661,1284,663,639,383,667,643,828,355,1489,653,1565,656,614,773,345,635,116,637,1724,641,1727,671,1039,631,633,1722,1738,664,666,728,1742,716,672,1685,1558,692,1511,1738,340,104,584,1516,115,1518,1541,1521,1533,1525,935,305,851,256,1550,1542,1768,1602,371,1471,345,1756,1560,300,614,1613,1683,256,276,1037,1359,586,537,764,284,751,545,1222,1384,337,320,383,691,1642,34,105,1685,725,1688,101,1690,781,1395,788,107,80,1300,970,1334,1446,288,
1244,1721,1750,668,670,1753,121,1504,1813,1815,1460,1334,878,1343,105,691,1819,726,1258,1019,1823,554,1815,406,1177,1601,370,84,104,447,623,105,1141,1506,402,645,1512,340,530,383,675,1763,1765,1551,1548,766,1777,658,1556,34,1473,1475,1477,659,1784,1731,1614,798,275,108,108,1825,379,313,259,337,407,84,1515,1658,572,970,324,76,97,1596,70,824,87,1286,1309,1145,819,470,108,1582,32,1904,904,287,429,1287,278,287,49,48,48,287,50,1916,287,51,1920,32,52,1923,53,1923,685,1917,32,55,1923,56,1923,57,1923,574,
555,878,1892,1884,100,1886,103,1888,650,1890,1355,1363,1883,1435,1207,867,1025,1837,1303,1021,437,1879,1881,828,1883,1894,1596,455,620,1357,968,1151,1948,437,1941,1964,880,1966,116,1118,1453,1057,1190,1797,572,1960,1882,1508,1217,739,210,102,116,1657,1360,1062,1984,1962,1986,1107,902,527,111,109,82,1308,1990,1381,1803,355,600,1288,594,819,1834,830,287,1407,1140,1940,1996,1199,905,2003,1430,1001,1628,1224,977,1951,1997,306,307,2001,2003,1991,1456,1447,1983,472,1961,278,1963,1895,1975,101,1967,1052,
2022,594,2024,1465,336,1883,1848,1850,745,108,1968,1789,1373,1992,1425,1950,2018,904,1946,2033,1626,1361,1949,1127,2027,2019,2002,1287,2046,1112,1418,1629,2037,1985,324,1217,2072,479,1422,1803,1941,1084,1280,855,2077,1880,2079,109,1952,1254,1110,2034,288,1270,1259,1273,1442,1262,1959,2078,1995,2080,1107,1946,2084,1971,370,1973,2041,108,1976,2056,1066,2058,2097,2067,1972,1508,533,1943,711,2082,2009,1324,1464,1449,2050,1508,2052,484,1851,2055,1052,1119,1344,1121,1143,1803,58,1994,2039,2062,278,1946,
1988,2004,1631,1803,2131,100,2040,1965,2043,1977,1052,1468,2111,2090,2038,114,2070,904,2149,2074,345,2048,2153,1883,2124,1944,2149,2085,2146,114,2109,1201,2161,288,1941,2094,2168,296,2099,1019,1441,1443,713,2177,1998,2030,2185,1627,2076,2025,1006,2165,2147,276,2127,2065,985,1325,2183,1107,2167,1437,1360,2048,1941,2134,98,2136,648,120,1388,1901,2059,2130,99,1960,791,2160,2221,1448,2223,2037,791,1189,1455,2066,1062,2171,2123,1885,711,2193,2E3,2176,2107,2019,2240,109,2110,2227,1362,2069,1986,1398,1953,
943,813,1333,1403,2066,1406,1157,1140,957,1120,1412,1115,377,2128,1713,376,1854,2112,2133,1849,2135,2054,2219,2267,2035,1125,2213,2273,2215,2054,1084,1138,1408,1141,1980,2233,2205,1464,2144,2164,2177,2149,2247,2120,1062,2207,2071,2003,2296,2234,2060,2250,2243,929,2301,2180,2248,2279,2237,2125,407,2245,2152,2061,324,2214,2136,1414,2210,2120,2212,2177,2203,2005,2181,2049,2154,2177,2195,34,2324,1893,2114,2116,1052,2285,1140,1454,2316,2305,109,2319,2283,1052,1366,1047,2328,2292,2200,1218,2309,2297,2304,
2026,2251,1296,940,2226,2355,1464,2299,904,2245,2204,1982,2311,2335,1596,1830,1817,2257,853,1704,537,116,287,307,112,287,710,1287,608,2029,2E3,1317,2343,2345,1852,2284,2260,1340,2341,2328,2236,324,2361,2303,2130,2317,2093,2028,1999,109,2332,2334,2403,2019,1946,2407,2197,34,2351,2272,2053,2391,1279,1145,1653,2191,324,2139,1835,555,309,477,1462,1360,1903,2386,109,287,1655,1943,603,2379,276,878,2415,2306,278,2245,2302,2290,2228,2224,291,2339,1340,648,418,1538,2310,2122,2318,2281,2136,2087,2420,2089,
2182,2358,861,1253,2399,2446,2249,2357,2370,880,1897,294,2445,1289,1311,1173,1708,983,436,713,115,2247,1866,2162,2092,2390,1881,1969,1790,2400,1384,2441,109,1974,2115,2157,2392,994,2394,2288,1803,1761,260,83,2229,1880,66,117,1999,110,1837,2421,2463,2442,2178,276,2149,2367,1424,2363,1508,2496,70,806,1402,2429,2120,42,2456,2344,2458,2054,1217,2475,2521,1448,2402,2488,2467,2368,2531,2496,2337,837,2412,1241,370,2494,2524,824,2547,1114,353,2012,2426,1911,2528,2258,950,470,2405,2434,489,100,2437,32,2380,
2388,2470,2409,2063,2518,2377,2520,2129,1384,2364,1131,2322,2066,2408,2496,2450,825,2427,103,2559,2375,950,1176,1913,32,603,1989,2382,2003,2017,2457,2417,108,2081,2327,2455,2271,2471,108,71,649,2152,2507,2602,291,681,583,602,1686,1703,950,2292,287,555,119,316,115,2440,2105,2145,2516,2553,1125,2494,2184,1012,1955,1211,1839,1391,877,2104,2091,2106,2495,2114,2473,116,1899,2003,1336,427,1908,2385,1905,2593,1911,479,2593,1915,1930,1919,1930,1922,1930,1925,1930,1927,1930,1929,287,1932,1930,1934,1930,1936,
1930,1938,2264,2486,2643,2634,1090,1401,1461,2650,597,2015,1340,2262,2140,2678,2515,2572,2443,2432,2326,2151,2350,2628,2293,2398,2490,2119,2492,1891,2523,2645,824,847,121,603,2685,91,970,555,1835,287,2677,2599,2532,2601,2117,1970,2605,2679,2629,1942,1944,2315,2328,2280,2601,2541,2537,2705,2600,2274,1852,2232,2342,2571,2488,1084,2631,2641,2163,2352,2576,1637,1235,2571,2173,711,1946,2740,2199,2706,1896,2552,2581,1431,2413,311,2511,2506,1960,85,1947,1360,2187,91,892,1756,2509,2511,287,73,404,110,2774,
307,110,93,1247,32,2772,678,2780,606,2776,2778,2788,2782,2570,2756,324,2460,1360,2514,1804,2464,1010,2095,1299,1956,2638,1304,2606,2693,114,2295,2354,2704,1125,528,98,262,260,120,2503,2393,2586,2558,2712,2592,895,2594,2377,2597,1287,960,2612,791,2744,2808,2742,830,1715,260,2712,551,384,287,102,1852,1341,2844,116,95,406,583,260,2843,970,95,2008,2851,604,2854,307,95,488,1168,2853,2848,2860,475,2598,2750,2795,2809,2444,2812,2468,2068,2571,1987,2377,2834,2422,2809,2064,2032,2604,2362,2493,2699,1883,2797,
2120,2799,2579,1380,2697,2724,288,2494,2742,1052,1349,2893,1077,2755,882,2352,2245,2519,2884,2813,2745,2092,1217,2245,2879,2692,1217,2064,2908,2874,2543,2336,2157,1518,404,728,2684,1902,950,940,646,430,287,111,1728,2931,2594,430,45,453,805,478,2717,606,101,900,2510,2781,2765,2037,2127,1390,1244,2786,543,2792,2790,606,2792,2783,2932,1311,2773,2946,2789,32,2777,2957,2963,2793,437,744,2768,2885,2036,2642,2726,2752,407,2175,2698,2975,2700,2644,2156,2044,837,2424,830,2395,2895,2329,2051,2533,1852,2535,
2873,2542,582,2832,291,2452,1537,2589,2997,2725,2982,2551,2474,342,2711,2927,427,2714,429,99,2942,565,2691,2800,2736,2282,2418,2986,1979,1122,2903,2132,2607,2545,850,2900,2748,2278,2531,1607,1697,415,2677,1625,2590,427,2677,2379,2993,108,45,606,108,121,1910,2114,3046,110,3048,2719,2681,811,2255,2527,2712,2687,825,2689,2425,3018,2731,2737,2137,2546,2760,2023,2413,2397,2983,2042,2985,1156,2500,1159,2502,2396,2402,3056,2096,2066,2770,2189,2103,2835,3044,2321,1241,1184,2413,2633,2108,276,2914,2414,2887,
2177,2917,2894,2973,2632,3100,2516,2696,2902,2396,2999,114,2987,624,291,3002,2143,3106,2727,2126,2649,3081,2343,2877,1989,3032,1354,2910,2643,2898,1044,921,2349,2990,2897,3090,1421,2996,2734,3105,2981,2155,3075,2158,1378,1350,3103,2909,582,3082,1321,2918,3004,2896,3118,3130,850,2733,2577,2735,3074,108,2646,2536,891,2477,1193,2479,1220,2481,2182,2483,2309,2485,3154,3141,2192,2695,3152,3139,2531,3158,2749,2549,3155,3136,2019,3098,3073,3124,1977,3138,3159,2369,2720,3067,2217,2739,3122,2876,1321,2883,
3147,2919,2808,2995,1220,1803,2778,323,294,1036,113,465,2088,524,3149,2343,3007,2647,1900,2277,288,2431,1905,2653,1909,2936,1912,2826,2659,1918,1923,2663,287,2665,287,2667,287,2669,1931,1933,1935,1937,552,575,2719,3219,258,1655,3048,725,1599,1696,3184,3176,3107,2021,3070,2047,2413,2113,2984,3144,3030,1379,3126,2121,1203,2968,2948,1880,2979,2769,1439,2638,2953,676,2968,2956,2779,2968,2959,2785,2961,2787,3279,2965,2791,3282,2794,2904,3101,276,3164,3183,987,3200,2410,3097,3259,2075,2548,3297,2870,2544,
2498,2045,3301,2169,3094,3185,2721,2338,2821,2141,1981,3180,3217,2571,3219,2709,3010,2430,950,3013,2716,32,2718,2869,3292,3028,2922,267,667,2926,3324,427,2929,716,2935,2933,2930,2842,2936,384,2938,104,2940,104,2942,384,3291,3027,3119,407,2950,3199,2870,3156,519,3215,1502,2198,3331,3195,3021,3068,3265,3146,3109,2990,3262,2472,2759,3092,2211,3261,1508,2585,2557,2428,2824,373,2655,2828,32,2383,479,2627,3256,3161,1976,2923,3335,1334,2712,3339,1705,544,3342,3340,3344,3399,3347,3349,3351,2944,3128,2726,
3321,3192,1171,3166,1313,583,3169,1625,319,2484,1545,1535,3270,2612,68,519,3003,1269,3275,1271,3277,2955,3288,2967,2511,3283,3431,3287,2966,3281,3435,2719,2977,103,3273,3104,2531,2912,2432,2907,3203,3153,2991,2757,3143,1978,2263,2989,3446,3255,2746,2416,3067,3456,2690,3458,3148,2880,3360,119,2348,1548,3459,2880,3190,3267,1993,3312,3463,3308,3376,2323,3311,3391,2094,3182,3033,3319,2870,3448,2405,3476,1325,3095,2244,3449,2575,3179,3193,2531,3469,3031,3498,3296,3175,3461,2516,2882,1287,3492,2401,3123,
3137,3207,2111,1777,1841,97,67,642,278,1569,798,1681,1491,326,1712,296,82,306,1025,1664,3519,335,728,785,305,307,1504,2266,1730,795,1877,1773,1508,2805,1271,362,532,2269,378,1508,1711,1734,1779,361,3550,269,370,809,111,107,331,1815,3014,2703,3524,1732,798,780,1597,2120,3253,712,3171,715,1597,3174,34,675,111,804,649,1761,99,65,1046,2951,2638,3573,2784,3590,1601,3554,1494,1557,678,1782,3558,353,1737,1739,665,1725,1751,669,1728,1754,1673,692,3567,3543,3527,288,3601,1749,3604,1824,3607,121,1808,1756,
437,648,112,3539,1506,1883,3541,1682,909,1567,1573,1570,2610,1115,357,3634,3625,367,511,3613,346,3557,3628,1480,732,67,3214,1510,1856,1759,558,1536,2454,1773,1764,1530,1767,1650,1546,807,1862,3658,1552,2568,1545,3642,1781,1669,269,1875,3542,1786,595,807,84,1805,2618,3127,1526,279,3677,335,1469,1480,101,119,278,3586,431,1566,101,453,387,909,1179,3526,1734,908,585,925,1889,285,1629,456,1527,3526,3642,1871,2E3,1873,592,1563,1876,3674,698,98,700,702,3029,1429,3309,1417,3303,1081,787,610,791,80,275,804,
282,115,3486,3680,353,109,1716,2115,532,3617,554,84,728,115,315,1461,68,1024,3336,1791,748,374,49,3238,1796,3318,614,355,1813,791,2276,1390,2478,1315,1196,582,699,970,702,2743,3723,2196,3725,341,728,2512,2373,110,3035,3011,597,2617,807,1589,32,411,260,2855,2510,95,3788,101,2849,2782,437,118,114,2609,1220,1843,294,278,72,584,3683,3679,3268,1875,3732,115,115,3485,2702,1803,1799,472,645,3744,383,1831,606,3749,2925,3396,2328,652,3811,3813,3513,3808,1062,2763,2781,735,1584,3222,34,2770,3437,2775,3433,
3440,2781,3436,3285,2954,3438,3289,3441,913,3731,292,3812,791,3083,3588,1271,3087,1275,842,3769,701,282,2729,3274,2639,2826,3766,1845,1115,3761,291,318,645,68,728,103,3002,408,2461,3216,3759,3727,789,791,3529,2981,812,637,1729,3882,3363,34,3798,2214,320,1835,107,3529,528,1461,1226,1617,1792,1649,32,1930,3467,1148,603,3785,1887,3777,3822,110,3824,3531,1803,1179,3873,801,2252,2095,3858,2100,1275,1274,552,878,513,928,470,291,100,3802,621,3098,3834,606,1504,533,3700,3926,1019,3841,2781,3280,2958,2784,
3947,2964,3439,3950,1812,3728,2449,916,1084,3502,3451,3758,3726,121,3922,1285,1397,2359,2253,3945,1272,3928,2102,3861,370,3798,3937,981,1093,1334,1415,1633,345,1621,102,54,1929,3039,3071,3775,3921,3957,2810,2377,3764,3167,3870,1276,3965,3993,3730,3581,3854,3813,3924,1400,3058,3751,2560,427,3061,1409,2556,3018,3940,110,1888,3879,603,83,3863,702,3971,3952,110,3949,3290,2960,91,2962,3842,3954,3290,437,102,111,99,908,3690,97,2506,555,692,3983,271,48,46,1635,3757,3499,3768,114,411,691,687,1344,4020,3980,
606,3982,3906,1698,3985,1623,3989,3260,3991,3760,4001,3853,3733,3206,3832,1425,4022,3865,3831,1803,4016,1504,4024,3847,3278,4032,3850,3845,3951,4083,3432,4033,3851,4052,4054,1809,3693,1835,603,2399,4045,3908,46,54,1702,3736,708,4076,3830,3187,3773,2333,3072,4107,3393,3334,3825,2374,1001,819,3398,3341,2934,3403,2937,2939,600,2941,3328,2943,3999,3922,3083,2683,3826,3337,2686,3315,1341,4014,2945,2764,2380,4082,4030,3286,4085,3434,4087,4029,4031,3948,3843,3955,3872,3993,3967,1155,3361,3893,3956,3886,
3958,1377,1230,4110,2048,1799,1179,1888,472,280,112,262,4021,4053,529,101,83,4059,2559,4100,766,4104,854,3883,3964,4131,3151,3962,4051,935,4107,3443,3445,3910,354,3885,790,291,3357,3867,3765,1175,1394,3768,3718,3770,282,2889,2066,2799,3828,4004,3763,1438,3868,1393,3767,3884,4E3,4161,114,4002,3829,3083,2804,2637,1271,2807,4191,4206,3864,115,69,623,2617,3472,458,4062,765,1524,4183,2799,3977,111,1844,2580,3481,4238,3753,3984,1623,265,4066,3302,2554,4106,4175,4055,4096,99,4058,881,1334,4099,4239,1794,
4183,1369,4071,3812,4194,1191,3414,1392,1314,4203,4218,4186,3993,3866,2120,1290,4275,3998,3852,4003,4072,1251,4006,2635,1014,4227,875,1958,3976,4222,4245,3803,2254,1800,110,1802,3905,4250,271,50,4268,4075,4231,702,3443,4281,4195,2157,278,1664,1828,3993,725,4318,4221,4160,4198,114,4156,2603,4189,3504,4196,4220,4324,4156,3198,4201,3997,4277,3871,4219,3966,1371,3815,2396,4113,3307,3145,2901,1352,3473,3714,4224,1182,4165,2413,4244,4246,114,1825,4061,4305,1620,1916,55,529,99,4254,3310,3991,4270,4108,1075,
4328,3487,4339,4280,3924,3735,3809,3223,620,4316,555,4223,4004,791,4320,4369,4385,4154,4221,4156,2499,1339,3079,3025,2328,3798,1897,645,3919,4304,1793,4046,4308,1464,3932,100,3934,928,3978,4300,528,4302,4074,1464,4212,4288,4357,4342,2990,3992,4221,4073,1803,4355,4299,4178,4263,606,3807,3036,1794,2661,4404,1384,2844,114,320,3820,3778,3748,3750,4134,4349,416,4192,2238,1887,3703,4444,4416,3855,4290,1208,2636,1145,1957,973,4130,4070,4287,3855,4188,3371,4450,4069,4221,4334,4282,4274,2593,4285,4389,4324,
4377,2235,4107,4392,2286,3466,3204,4230,3719,282,2609,2972,4195,307,117,530,1825,4040,4042,3323,3752,4402,32,1795,4487,3915,3747,1334,4439,3916,920,101,3665,4444,4406,4408,3936,4298,621,4427,2256,110,3188,4344,3076,992,4137,4480,3452,4451,4005,801,4463,4348,4195,3717,4483,4005,3969,100,4475,1375,4387,4453,3057,945,4443,4010,4136,3078,4013,1411,960,4107,2646,3249,1852,2703,853,3573,3862,4310,4208,2899,3266,3503,4373,4106,4556,4532,2465,1330,4248,2761,4068,4197,3762,1181,4109,4567,3990,4256,3776,3821,
4501,4429,3915,3779,3918,4009,4481,1030,3742,97,1888,1666,3820,3746,3531,4583,4541,4100,2659,3909,4585,4445,4563,4535,4415,4466,4332,1073,4538,2254,4540,4117,2010,1337,4137,3063,1345,4473,4571,4163,519,3113,2287,4395,4420,4369,4602,1384,4016,86,82,681,3687,4143,4150,3953,4086,606,3846,4144,3848,4146,3844,4636,4459,4221,4383,4288,4533,2332,3086,2101,2190,4562,4531,3464,3064,4522,3963,4600,4531,4620,2587,3427,1577,427,2380,2564,2436,544,2562,2030,4547,4258,4095,4057,101,4359,4496,34,4064,1622,4366,
3724,4576,4167,355,4169,414,105,4172,4017,600,530,2765,4506,2512,3362,4286,4224,4289,4647,1331,4008,4541,3040,4543,4393,4545,2263,1178,4369,4200,4469,4216,4276,223,1195,4338,1148,2968,3943,543,4632,4145,4151,4091,4148,3284,4638,4084,4723,4635,2969,4616,4162,1284,3221,3996,1313,4472,422,4581,4441,4116,4662,4329,4530,4207,2483,2159,4419,4444,4745,4232,3380,108,4661,2712,2595,2378,1442,3384,2826,3388,4716,4577,2512,4579,4017,4740,1334,4234,1895,603,4237,1652,2462,4658,4746,3721,119,4625,42,1458,4604,
847,1575,2712,1579,1581,1587,316,3786,290,3700,100,1022,600,2617,67,3014,107,65,3059,4401,3907,341,3581,103,603,3792,413,542,2223,4694,4681,3223,950,307,4019,3794,102,4809,115,4811,293,3407,4547,4563,3443,4711,4529,4548,2708,3412,2186,4470,2826,3416,3408,657,4537,4700,4574,3428,91,1440,4650,3088,3810,4384,1251,4352,4841,4255,1186,4604,4617,4157,3470,3132,4773,3452,4751,3720,4345,850,4620,4656,4190,4350,4384,2432,4736,4284,4337,3931,3935,4510,4410,4514,2527,4430,3827,4537,4526,2019,3295,4561,4776,
4232,2646,3098,4421,4605,3968,4565,1436,4454,4292,4456,2806,4295,4374,4390,4572,904,4885,4105,4330,4340,4618,4779,4749,4195,4891,3729,4387,4850,1255,3377,3775,4861,282,2754,4215,4202,4715,1833,281,119,3781,4135,91,4301,100,3935,827,114,4825,4531,2646,2648,1389,3782,91,2652,1907,472,3227,2656,621,1914,1923,4433,32,3234,1924,1926,1928,1923,2671,287,2673,287,2675,3016,3246,4555,4938,2708,3009,3808,819,3326,3015,4128,3017,4643,4324,3091,4917,3482,2548,1777,3677,4772,1808,1810,1486,784,1612,3715,909,275,
1085,863,3838,1062,1089,809,806,4995,755,3642,4985,779,781,783,1488,370,83,429,260,79,2510,298,1611,3523,1785,1015,762,4942,4757,2438,2381,3387,2003,2385,2405,3553,4586,3555,288,5014,1670,1557,111,120,1677,1718,5015,256,1758,3696,1816,3903,3693,3663,1766,3665,3578,4836,4178,1528,3657,5047,1865,3667,3594,1869,1662,4381,1665,3739,1678,1561,3672,3630,409,3878,744,2617,88,809,294,1879,115,4676,4803,3985,1916,1916,4813,4111,3775,3399,4468,4249,4496,4498,4599,4094,5076,4063,4252,1624,4183,2048,1655,110,
5085,4599,3399,4265,4360,5088,3452,5097,4214,2990,100,5068,4771,101,89,5072,463,472,5075,2581,4100,4678,1916,265,5080,5095,2413,1644,454,456,4431,1650,4242,4775,5109,1673,5069,603,90,5114,5074,5091,415,35,5079,48,4253,5124,3775,5133,3879,5111,3586,4992,3466,4100,1927,4434,572,2862,1161,4596,5156,1125,5126,5129,4497,5161,437,5097,1518,452,2289,3452,3399,5140,4251,4252,5081,4166,5110,2617,1604,278,1809,2908,5154,5166,756,4735,4802,1619,5104,4657,1459,4582,5179,4494,5086,3907,541,543,5131,4185,416,983,
3877,5134,5111,5164,5199,1651,1001,2799,4094,5102,4496,4598,2997,1777,3615,306,3624,1825,647,2610,4989,3673,1492,5057,415,5219,116,5221,3619,3621,678,3623,5062,68,4986,3610,5017,651,5043,1334,577,798,4100,5216,5192,5243,606,557,5246,4266,4403,4050,4329,5193,1461,567,5253,4360,5248,4867,3099,3902,5244,5164,5263,4329,275,5266,606,5260,4495,3907,5269,4886,5271,3531,5252,5275,1619,5277,4906,3570,3252,463,1600,2482,3576,1776,2077,5272,110,79,2019,5164,34,88,89,499,4183,819,5300,90,287,88,90,89,287,89,
5308,5311,90,88,287,5315,5310,32,5309,88,1594,1501,1632,5254,32,91,2784,2066,1244,5037,5239,5006,3018,4821,4043,5164,5191,5264,463,4578,5280,5268,5186,4739,5342,5259,5344,5256,4886,5341,4765,3531,5245,5282,374,5284,3268,3642,5332,5004,4987,5007,353,5009,584,262,5032,1680,5241,558,605,1509,4930,5021,2568,276,2829,479,5026,4670,3593,5029,3595,297,265,1561,370,70,3747,3517,5222,316,4321,1814,5250,2559,3611,3674,1788,2118,1803,280,335,1800,1476,1803,121,97,1772,4195,1960,3920,970,530,1469,5228,1780,3597,
3670,437,5390,526,5230,5392,5233,1755,5235,3650,373,909,2504,692,1774,3659,3666,1534,708,1771,5046,1864,1776,3668,5420,1719,5065,3525,558,5401,2723,5356,4267,5350,4906,1799,4412,4303,2990,5336,5196,5160,5454,4378,4907,610,2372,1461,3546,729,5423,3603,1741,3606,1743,5395,5467,1832,1972,1806,1145,5003,1484,1811,370,111,265,543,116,5281,4195,5486,102,5488,5274,4195,2867,4941,2990,4012,4754,2823,4942,2825,1910,3386,4762,878,5158,5171,5192,5415,5510,5264,4014,4755,4942,4669,2E3,4666,2566,544,2569,842,
2837,4929,2120,819,2844,1880,2864,3795,2857,5531,2856,584,5531,2860,5509,5537,111,95,5497,5380,4128,3352,437,5409,5411,4599,5413,3515,1745,259,5426,5475,4604,5477,2257,5399,909,5450,2491,4599,5404,3706,5407,4396,958,3674,1016,3547,4587,3937,5028,1778,5385,3669,1719,370,3517,3533,3521,3890,1179,5558,5398,5371,3704,5384,1869,3901,3531,555,5582,728,5584,355,5586,437,5296,98,970,318,5498,397,5226,697,1052,1888,603,3777,5458,5452,4046,4048,5345,3774,4979,5197,5092,5176,5146,4576,5548,5349,4195,513,515,
2419,5261,4496,5209,5201,3894,115,1052,2065,4100,56,5617,1804,3803,4440,2703,5462,4195,3738,2839,5189,415,2844,120,336,95,2860,1584,675,3671,5463,5528,105,5653,100,5655,5541,513,3534,97,2853,5663,5665,5655,3115,3693,1178,5512,5626,4599,5636,1097,338,5325,5262,5641,5680,850,3624,2302,4100,1925,57,4103,5463,924,3642,5604,1309,370,3890,5457,101,5581,3520,728,386,645,335,1556,5606,5066,1733,5590,415,5700,1801,1809,3530,1461,5594,5704,97,5706,324,659,370,997,115,5423,292,5555,1826,3629,5448,798,5625,3827,
5677,2328,2617,529,1761,1696,5650,284,5358,3833,603,5741,711,5715,4413,5268,46,52,5186,3642,5731,1729,3646,776,3517,1855,5431,402,3662,1539,5053,5442,3660,353,4038,4675,517,407,5434,5768,1775,3660,5757,4587,1625,5560,1858,465,5469,1019,1496,3648,4837,353,866,4449,5620,540,555,5200,5463,2799,412,2380,3892,5631,3907,4182,5798,855,5218,1723,5231,649,5393,3620,5428,4720,5225,5711,798,5515,5502,5803,1698,2435,5521,5081,2431,2563,32,5823,2567,5523,2112,5480,1360,5482,1499,437,5492,5488,5490,5247,5641,5838,
3693,5495,5841,5694,1325,5543,457,5846,5496,4137,5516,5821,415,2825,5825,2591,4760,5505,2596,5024,2830,487,888,2233,5851,4599,5645,5326,5746,1325,2819,5744,5255,4529,5525,1716,5298,5529,473,5303,950,2841,2858,5530,3787,2854,2850,5536,5888,2848,5535,2852,5892,5672,5539,5896,2866,3221,5575,1868,415,5578,5388,1503,276,439,5758,316,5733,3568,586,291,107,293,2094,5164,5805,4210,4775,4891,5586,5786,91,1815,112,5909,4587,5812,5476,5397,1940,5833,2120,5835,1691,3797,319,105,2617,5208,5796,5210,840,5202,118,
682,725,1496,5239,913,5738,4420,5908,112,5751,5613,5412,5718,5267,2698,5294,5495,5550,5961,5251,5408,5410,2006,471,4799,2624,121,1888,3805,260,4880,5855,284,2661,5872,2130,3902,4044,5326,1063,1591,1532,5883,427,4786,336,4788,121,4790,412,543,4793,913,5956,2217,5107,4712,1173,4738,288,5433,69,514,1600,5875,288,3399,291,5858,427,6015,2826,3213,259,3795,287,6021,5664,2008,6024,1746,3795,3790,4758,4038,5602,99,6023,1442,601,1835,6031,1248,6038,6035,406,6040,32,6021,279,6036,6047,5893,2510,6028,1527,6030,
6027,6046,117,1844,6049,6058,294,6045,3213,6059,6044,2008,1594,5972,65,5974,5976,1762,6013,5920,4774,5202,5636,519,6010,583,5743,5980,296,6019,6017,597,6019,6053,5664,406,6089,6063,6029,6066,6052,6037,6034,6036,6033,6039,6056,6100,6043,110,6093,6054,6091,6057,6054,6056,6050,6055,6096,6064,6062,6108,6115,6051,4758,6118,6113,4763,5433,4594,2257,4596,5079,5641,638,5928,112,3197,5866,4871,1913,6007,416,1771,6125,4180,5326,4597,5641,104,4036,118,5971,5793,6076,3894,5800,276,5802,2890,5807,1693,3651,5432,
584,4234,4237,5435,5048,3421,833,1575,67,5774,1861,5767,1863,5778,5437,1769,4814,6162,5777,5436,3578,4261,3899,5441,6173,5209,582,1771,6161,6183,6179,5056,5713,1713,5930,3619,1625,335,3694,100,1513,4142,5712,4330,3698,4586,3944,6202,5433,6204,6138,4158,285,1777,5181,710,99,3517,70,1751,5240,4990,697,112,1605,3808,892,5937,781,287,1496,1482,5239,1294,292,111,6214,6225,1311,6227,691,6229,1481,734,5362,4837,5780,5473,6218,3520,3623,426,3628,5430,1857,558,1984,2510,6189,6164,5438,3099,2981,6258,5055,
6260,6181,789,6263,284,6185,5444,1559,5421,5447,5913,2333,1761,1905,616,4293,1019,1571,446,1883,1594,2114,5287,710,3254,6213,780,4094,4056,4097,2838,1717,3598,5912,3543,458,1506,5716,5678,3452,5500,5943,542,5945,753,2799,5126,1646,5850,5326,6075,5211,6156,6192,618,4380,622,624,5237,6297,5580,3537,308,760,816,6298,1786,5360,1572,97,759,761,3536,348,5595,97,5599,5816,5734,256,4552,3452,5874,2990,823,2E3,258,268,5619,3204,6271,101,6324,3600,5809,5910,121,4040,5763,6254,798,3738,3700,739,97,645,6268,
5770,288,6366,543,2767,6371,3787,5944,1654,600,543,3425,119,2559,6163,1548,6185,2486,6257,6171,3664,6264,6175,6261,2163,6377,6180,4798,6377,6388,6373,6381,101,4234,621,6397,6191,5576,1869,5905,1783,3714,5607,1615,780,736,3084,4704,598,4239,287,3582,98,2014,383,1906,3738,645,1022,319,4168,548,4171,262,1888,4489,104,4693,293,5683,4496,6315,5946,3894,554,112,4648,1311,1185,44,4971,1685,44,5352,637,773,44,383,121,2783,497,543,72,6426,3648,4437,6353,6316,5202,307,472,3677,4486,4553,5288,6289,5553,1747,
3602,6360,1808,6330,5227,6318,288,1721,5425,6194,1743,5234,4720,370,5601,970,5037,6339,6483,1516,110,1817,555,5958,5986,5103,5641,1639,6503,1803,5168,6301,5752,2328,599,601,603,4797,3899,4800,4009,5119,5857,5991,597,5504,5545,6245,5418,296,6496,5721,437,2496,6498,5372,4968,2710,4970,3325,825,3327,3329,3976,1411,5854,5527,4815,5378,5828,2565,2567,5518,109,878,323,620,3394,4742,3397,807,3343,3400,4122,544,3404,4125,117,4127,5885,878,4036,294,4550,3251,1145,4554,370,6555,3838,6576,422,4863,4619,3024,
2142,2328,6578,3960,4559,4372,4906,5500,6545,4542,428,3386,6525,5507,4035,1898,5188,4930,4944,1908,2655,2003,2658,4951,3233,1923,3236,32,3756,3240,4959,32,4961,32,4963,4974,4965,370,6571,3191,3514,4335,3415,2480,3418,3172,6625,3578,6587,3480,6468,4067,4576,6633,1035,4911,5089,3375,6635,4852,437,6638,3077,4706,4621,6585,2605,3709,1474,3711,2943,1479,353,3598,390,6363,3652,798,866,259,4507,1804,6178,6259,1525,6652,1872,6655,5659,693,6221,5372,6219,5925,6239,5790,288,5736,6651,5389,3747,6488,5473,5812,
6534,5589,6409,5229,6359,6489,5732,370,262,384,114,5037,6297,6342,6275,814,476,645,4209,6150,5837,3670,73,4859,594,6580,1627,514,3264,6211,6155,3216,5360,6323,5421,370,5232,1743,6689,123,6355,6357,3596,4639,2781,6660,3696,4004,6407,6260,292,5748,5815,1549,6667,6393,512,6399,6391,5054,6269,6379,6670,6654,1478,6673,5783,1612,3733,336,3888,2163,4132,4702,4610,4663,4705,2286,4614,1939,3852,6757,100,4778,4865,3080,4623,6770,6759,1825,4114,2924,4400,4930,4120,3344,3401,3399,1910,4124,3348,4126,3350,6526,
6554,6582,4993,4851,4367,4576,921,3812,336,6533,6575,6476,408,721,6286,6803,6288,6805,1784,6776,2699,3163,4832,2098,4834,433,6628,2482,3420,6738,2699,2722,5563,5172,316,2008,3060,4613,1410,4708,6645,3333,6780,4584,4118,2928,6560,3402,6562,6561,6787,3346,6566,6568,4129,6769,6800,100,6777,828,4939,6601,6546,2651,4946,3226,6605,3229,4950,2660,6609,2664,4956,2668,4958,3242,2674,3244,4975,3409,114,4889,4353,4368,6812,2981,4778,3961,4464,4912,4004,6758,2699,3490,2194,6875,6798,6883,100,4549,642,4551,6287,
1600,2112,2778,5099,2476,4713,6137,6799,5999,6851,2694,2300,1287,4905,5464,6903,2050,2778,6004,3085,6817,4714,1293,6848,5999,6707,6469,3894,6911,6850,6885,3096,835,6815,5464,2292,4778,4780,1186,6890,2916,3294,6929,1062,6646,4520,4544,6649,3317,5264,6924,6905,2164,6898,6134,4923,4336,4925,6919,6884,2981,6892,3250,6345,6713,6804,6833,4519,119,6880,4528,5966,6956,6536,5196,6419,4972,4964,6768,4838,6770,4423,2980,2163,3772,6796,4682,1638,5879,4942,5928,5636,2438,4817,4709,6877,6979,2138,6584,6944,5270,
6926,6907,479,3098,2292,6921,6444,6954,6925,6878,6794,6773,4622,4450,6935,2208,2878,6888,2814,6794,6933,6599,294,7E3,6823,4558,3370,6966,4523,6890,6947,6932,6640,7025,6991,1825,6936,6447,7014,7004,3439,6899,4842,4924,6918,3460,7032,4607,4226,4898,4228,4900,1563,7031,1962,6913,6854,6915,6901,4873,7004,6947,2081,3258,6981,5618,6934,6770,6853,3121,6602,6857,4945,2654,2826,4948,6607,6862,2662,6610,6865,3239,6867,2672,3243,2676,3245,6974,6811,6849,6886,2E3,3098,6623,6909,4283,2593,4836,3170,6666,6821,
6394,2815,2817,2043,3920,6890,4778,4753,4866,5257,7026,6813,6969,6538,3012,6540,4973,6542,7085,6920,6634,6418,4575,7063,6849,7058,2404,2030,6909,3477,2981,3190,7126,3493,2699,6772,6994,5513,7107,7050,6906,2166,2377,7130,2291,7109,2474,6929,7092,4835,6819,3171,7097,6622,7110,2712,6972,6620,7084,7049,7122,7021,3069,7061,5082,6889,6976,4376,7029,4657,6623,4940,2220,6855,3783,7068,6604,7071,6606,3230,6608,7075,6864,2666,4957,1930,6615,6617,6619,7115,7157,5999,7129,6938,4536,7137,2178,6794,7105,6774,7010,
6770,7028,2057,7102,7193,4225,4455,1360,4457,485,6990,7086,4916,7119,6636,7121,7189,3201,2073,7035,7042,828,4478,2340,7197,6882,7064,6642,7212,6644,6577,7007,7134,7202,7158,2981,6588,7023,1837,4269,6976,7124,2E3,7141,2886,7234,6993,3457,7223,6967,6760,7240,2406,7218,7116,6955,2163,6874,7161,2048,6946,6997,7139,1989,7020,7006,6963,7196,7009,5960,7128,7250,7242,572,6592,5820,7171,1245,5860,2827,5862,6598,6975,7210,6998,6624,4414,4626,2968,71,805,6474,1001,6714,693,7203,4607,3971,3860,3930,7004,6779,
3395,6763,949,3338,6839,6786,2785,6563,6843,101,3405,6790,4824,6872,3814,7201,4881,7164,4840,1954,4897,7206,4899,4458,2970,5224,6775,7233,7249,4884,7191,7142,7269,3299,7034,7257,2413,6924,3163,4969,7153,7113,6973,3018,5819,3382,5517,2432,5520,5830,2439,6872,3439,6914,4273,7055,6953,7281,7117,3023,7246,7267,4599,6924,6761,4609,4743,2619,4011,6830,4139,1972,2791,537,552,782,6807,2798,5922,6890,7235,4347,7237,7192,7328,1825,7002,6309,4775,6931,6794,7263,2163,7300,6558,4942,6783,6841,6840,7309,7311,6567,
6791,6569,7004,4696,7219,981,2347,4858,3117,7333,7261,116,4890,7108,7412,4247,6643,6797,7214,7254,6778,7391,7252,3505,7032,6927,7271,7421,4856,7266,6650,4444,6623,6573,6959,753,7292,2292,4978,7227,7420,7299,7424,7336,6876,7385,828,7315,5402,7317,6849,6879,6589,6881,7248,7043,7319,7442,4833,4843,2638,7297,4936,30,7314,4078,6978,7423,6963,6965,7383,4415,7380,7409,1046,6712,6945,7416,6992,3131,7476,7232,6904,2699,7017,7358,336,7486,7253,7005,7480,6647,4479,7247,7030,7086,7295,4215,4844,3973,4651,7293,
6849,6824,7437,6996,7128,4607,4133,7302,7368,6765,2261,6831,2690,7209,7484,7244,6639,7316,3134,7260,278,2127,7429,7352,6949,1168,6135,3869,7056,7487,6891,4831,6625,6005,3167,7094,6629,7150,7490,7033,7392,1825,6957,6894,6808,6896,713,7052,7066,7537,4737,7532,3005,7065,5605,6594,6603,4946,6859,2657,7177,7074,1921,7076,7181,6866,7183,6868,4962,6870,6621,1777,681,2588,3693,323,5037,1830,116,652,1836,6081,3881,5016,6675,798,1616,6083,4361,5143,48,5177,3261,110,6698,5638,5871,46,55,5842,4911,5247,46,51,
5842,2510,7524,5184,6142,5756,6528,288,7580,1300,7582,275,7584,7549,288,3877,276,6383,2559,5041,1858,6169,5776,6172,6190,1554,7614,1870,6653,1476,6672,5782,5588,256,7001,5630,6719,6923,3557,4320,7646,4838,3711,6579,6961,3488,882,5927,2767,3857,3093,3991,276,2767,3443,4922,5955,112,2767,7505,3920,7660,112,4485,7483,336,5151,3722,7446,4576,7435,6893,6574,1598,7652,6581,6963,4890,7669,7450,5451,4195,727,1348,7374,292,6802,7378,5202,6623,7685,7665,1320,2071,4560,4906,6130,7666,3314,6942,7106,5351,1895,
7100,6347,4444,7440,7498,3867,7500,3930,3929,7465,7229,6556,4115,6781,7275,7397,2932,7308,3345,7310,6845,7403,6847,657,7669,7381,3510,7243,6760,7044,7205,2120,7207,2640,7721,6717,1452,7361,7433,4195,1595,1488,7548,3254,353,7273,7346,5375,6596,7277,7280,614,7686,7715,4980,7677,7535,6237,4713,7539,6820,3173,6165,7503,7518,2163,7674,6795,7419,6982,525,1017,519,7038,7478,7294,7459,7296,4845,3975,7542,7764,7054,7717,4936,7719,1178,7735,7643,5921,5202,7704,3625,4447,103,4828,5564,7016,7166,7785,7497,7459,
7045,7322,7047,7324,370,7690,119,7671,7452,7359,850,7406,7762,7699,4654,2988,7495,4657,2971,1803,7168,7053,6419,7560,7070,6787,6860,4497,7178,7566,7180,3237,7182,2670,7571,6618,7573,7156,2329,7655,112,7256,7779,7062,6872,7852,7657,4918,6798,7798,7160,7855,7162,7015,7265,4521,7829,5264,7090,7340,4942,7154,7187,289,7669,4193,3995,3827,7669,7854,7460,7856,7533,6947,7387,469,5922,7862,919,7410,7468,828,7777,3098,6940,6964,7455,7024,4657,7818,7354,3452,7818,7415,7786,4894,2253,7813,7742,7323,7208,6001,
7699,4312,4870,7893,278,7852,7882,1133,4981,370,5230,6725,1826,6482,6702,3612,7634,7925,5811,5427,3609,3622,7924,84,77,706,7929,3674,7871,6537,7341,2715,7114,7083,3018,6578,6557,7724,6594,7726,7307,6842,7729,7401,6846,5546,7151,6572,7679,7506,296,7292,7897,7008,7749,7807,7470,7899,7472,1384,3209,3595,3572,7682,288,7833,7552,7559,7173,7561,7175,7839,3231,32,4952,4954,6611,6613,7079,4960,7081,7343,6570,7767,7530,6818,3417,7771,6631,7773,7897,7896,7808,7521,7434,7226,7922,6637,2157,6593,6419,6525,106,
908,280,102,3049,7278,4758,7761,545,7195,7868,7362,5217,7634,3710,7637,6753,785,5573,4512,6727,34,6682,4450,5954,3459,6729,6723,353,1899,98,6248,3684,558,6197,305,6199,340,292,590,282,1455,1867,1735,296,8031,3712,6754,7640,438,716,6895,1696,5290,8067,6372,416,2612,4770,4236,7824,505,3053,111,259,87,475,110,5977,260,7367,1148,4775,2850,3693,1217,7406,7575,5949,6253,6661,5040,5766,6742,7631,6668,512,465,6168,1860,7630,6392,5443,7634,1571,1568,7639,7588,256,7756,2588,5298,6522,5660,5859,4299,5861,8023,
2868,8103,5570,1001,1244,5788,465,3931,780,1471,5979,4444,109,7609,6306,5797,7800,3894,530,275,3743,3348,8057,4946,2503,7834,3452,8143,2E3,3518,7425,34,5509,2152,5985,2712,1179,5997,4792,1590,1580,336,4926,732,5950,682,5952,1203,3912,1944,6303,4657,1023,7395,2990,7345,8117,6013,34,5829,424,6523,4943,7348,6549,4667,5022,2831,4043,5526,5794,589,5889,3778,2839,8186,5885,5531,5890,5895,2847,6031,5533,5899,5541,5898,8205,5900,8125,353,6152,3697,6074,4241,5806,5202,5792,4486,4100,5633,8219,8142,6789,554,
83,3738,306,5742,7586,8042,370,65,484,281,3211,99,4261,908,1334,7616,320,7583,3733,6012,7587,6414,798,5460,6504,5087,1923,5491,2510,5928,6313,4360,8195,8186,1633,2622,111,1940,5643,1460,5870,6505,5847,1464,5602,514,8175,5264,602,7236,5164,5755,8271,1384,431,7585,6140,5164,3756,4195,5916,622,880,7599,4360,50,4049,5647,1656,688,1099,6520,5871,7613,6485,34,8244,7618,4037,8247,7754,303,4587,6339,4178,3213,403,6220,8250,6728,7634,5592,5719,108,8312,101,8314,5752,5580,5573,3644,1508,8037,3632,3522,2120,
5762,512,6531,1145,5703,5668,1395,3637,1360,3517,1504,368,5757,8329,380,5008,551,119,6360,8037,1800,279,8285,6013,5982,5983,1448,2380,8357,7591,8359,5685,8159,8182,8161,8069,8120,427,8369,103,8164,1581,8266,6501,2055,8367,7591,4330,5289,8371,597,8373,8375,8166,1574,279,4783,323,8160,1588,1586,1708,2380,8376,1972,8267,7688,7605,8295,5679,277,6665,7605,8294,8302,6691,6193,6687,6195,5726,7981,6755,6690,5903,5419,6272,5579,353,5471,6686,1726,5474,1826,6362,7941,6484,8410,296,8424,3605,5812,6362,5699,
6511,4055,5967,3532,5721,5723,5708,5370,8114,34,6145,2933,1518,414,8333,4195,5548,8450,528,5414,116,530,8455,8452,6354,8319,8440,5720,5668,8443,5725,353,2792,8037,2351,2778,704,7940,7681,6809,6629,5291,8072,1835,606,8474,8068,3574,6666,8479,6174,7533,3439,8483,7753,8485,714,8071,8488,7490,6947,8490,705,8484,8478,8495,1866,6355,8470,8327,5473,6335,6329,8429,6209,8418,6529,6333,8509,762,8235,1046,7932,112,6688,8511,6202,8513,3614,5809,7926,5759,353,3648,6034,6217,6219,8037,6033,3808,6679,1197,7917,
5834,1685,8171,422,6149,1001,8538,1203,610,1807,8542,6244,1305,6234,8531,8537,8551,5483,1802,2549,7981,853,8547,353,605,5709,2066,8563,6014,7879,8541,3609,8171,6246,8425,8048,1692,382,356,6699,6251,8330,8096,909,6266,107,6400,6750,7634,6411,8064,8446,7751,3571,2066,6576,1777,1721,8576,8353,8583,1566,6403,6368,6370,6747,5769,8496,6008,6073,8100,8108,8072,6078,5411,6386,5292,7979,4037,908,5012,5052,8101,6744,6389,8622,8612,8608,34,4036,4038,115,262,6737,6394,2292,8634,6745,6182,8606,6184,6379,3737,
6403,6405,8342,3656,8623,8109,8303,8353,6274,6299,5923,5397,5925,1822,6694,5598,5557,5933,6462,101,6464,864,6416,7864,2799,8157,2328,5286,8492,8502,3577,7773,4684,316,4686,6434,4690,6437,6439,4695,4159,3661,5111,4237,4181,8218,8141,3797,5569,5925,8344,4512,6554,548,6473,8501,5187,8561,3452,4356,529,1461,8075,4772,5919,8689,6708,512,824,373,262,621,8704,105,8605,7591,8224,8690,5832,3609,8550,8572,8552,6577,3915,8525,5614,6378,6307,5634,1846,1503,6326,8037,8669,3372,5935,8567,8557,5836,8700,7558,5089,
429,4172,1685,4753,7680,7644,437,8177,7952,4599,412,761,8693,6326,8516,5902,8060,7615,6333,437,7928,798,7627,1615,6746,8611,6748,271,6270,8030,7636,8063,8113,8317,8447,5853,7274,6594,6525,5376,8024,8066,8594,6475,8477,8070,8674,6260,8252,8194,6419,8201,5888,5887,8205,8203,2858,6119,8207,8211,8209,5866,5540,5542,5901,8691,2263,8014,6837,6856,5827,8184,8191,8734,288,65,6500,554,2904,8742,5938,8523,1878,885,431,8259,5215,5641,590,3520,8363,7434,406,555,8576,5298,315,1647,8186,4436,320,3050,320,2627,
4993,4999,8158,4784,8182,5993,1522,8186,8856,5995,8162,5999,3931,472,4998,8566,4599,5948,2616,4098,110,847,5793,8688,465,8733,6622,6219,8865,5E3,1464,8215,6154,8195,5130,8225,5383,595,6158,697,3837,8637,1693,8099,8647,8627,3578,292,277,526,6188,8640,7632,6669,7634,8538,3737,3693,8052,3696,6154,772,6206,6690,1579,3708,1847,5674,1990,8464,8322,5721,5597,316,8467,8566,8416,872,8918,884,6234,3582,6223,1835,6351,307,7883,5464,5657,3693,72,6146,5403,8918,89,5970,3827,526,7135,7512,6595,7279,5025,1708,821,
323,8847,2594,606,675,8849,8553,776,8932,3584,8935,552,4505,6665,5564,8918,80,8041,3148,3642,8320,1334,8465,3521,8925,3599,303,4882,8037,1204,7459,7510,8087,3675,7369,6942,6767,4015,4699,7908,3925,7499,7463,7789,7298,8548,4883,4371,7456,4523,4337,4079,4849,4573,7864,2048,1149,7809,4329,1198,4904,7331,4626,8994,2802,1298,7741,5330,7912,7744,6751,8032,8468,3614,7938,76,1976,8354,3111,7784,4744,3111,3188,3111,3001,3655,5877,2448,4418,8008,9042,2230,2614,5940,5942,4942,2621,32,2623,2625,878,479,109,8789,
7291,7978,8073,9043,4620,9040,8988,1062,3401,102,866,5549,8815,597,4821,1960,2014,2565,4823,1342,9049,603,2831,9043,4753,9065,5417,8303,8062,7638,6478,1496,8600,8249,5817,273,8660,3916,8656,1746,6360,5932,3916,878,293,8686,262,4628,8708,8875,8886,512,8227,4588,8146,6078,1905,3816,6431,4685,6433,4688,6435,4691,6438,4822,8683,7695,3894,3793,8621,8837,8884,7988,8255,8867,8692,6280,5926,8035,1844,9103,4235,4984,8871,4412,4933,928,9108,6308,7888,5947,8095,1360,5951,8726,1535,8173,8248,8730,8360,572,5772,
5925,8130,6680,3895,682,2615,5941,8870,8872,7290,7003,9111,8144,8154,7676,1355,8380,8730,5988,8165,8857,8384,4931,8397,5994,1314,8394,8374,1314,5998,8388,8722,6170,8571,1689,9155,2098,7604,7612,8281,572,6471,2115,4688,8699,713,4299,8716,606,8706,8406,6314,8709,6922,437,9104,4236,262,3519,3933,8080,9147,8217,9109,8721,5771,9112,8229,471,453,9158,4195,5456,6302,8670,6463,6465,8666,8937,2799,9218,8707,9225,9149,547,7696,6664,262,9131,4100,4952,7750,471,9172,7388,5202,8882,5911,8684,1546,8889,8050,8603,
431,8718,8895,8773,8628,1800,323,8105,5775,8892,8609,5649,8772,8607,5049,5440,8902,8102,8564,8619,3734,6390,9278,6173,5049,8891,9282,8624,1627,8104,7629,9275,6395,8621,9297,1547,9297,8630,908,8633,9292,8617,9298,828,9297,8585,8587,6307,6380,3700,8645,3084,8616,5779,7634,8651,6373,8908,3695,651,8911,3699,6741,8318,833,4449,369,8414,1676,6722,1719,8828,1787,9200,8270,5627,5118,5987,4679,5145,5463,4166,885,1645,5128,9245,8876,353,8738,8730,5339,4329,8939,116,5355,9132,9160,2814,8918,5840,8301,9202,9363,
418,5844,8275,3183,3642,5059,6321,5061,626,5038,5033,34,84,8918,6530,8466,3342,8444,8037,9358,6508,6586,8944,8946,2990,5548,533,5159,5987,6078,279,5128,8186,8786,8953,9398,8956,4758,866,5775,8961,6577,8918,9360,8970,9369,5489,8943,9414,5965,3452,9358,4398,9416,5658,8972,8458,8949,3680,6721,9377,6339,8980,5236,1461,2900,8305,8246,3812,9233,8927,5642,3210,8268,5338,5685,642,914,3674,9252,9362,8887,8525,8304,5237,7581,9436,7585,437,8520,8435,3587,8601,6255,2078,9287,9268,9279,7773,8636,9306,8072,9311,
9469,8731,543,8059,5030,34,8590,8779,9094,8183,649,6448,3972,552,6451,3325,6453,6455,5903,6458,110,6460,878,3700,8664,808,9240,8077,4804,6472,9206,8672,9332,353,9154,8558,1500,4988,9093,6343,8788,8501,8792,9307,569,7977,8477,7817,108,6223,5722,649,8491,8476,8383,8486,8503,7773,1459,621,9524,9517,9526,8494,8793,6394,8835,5668,8392,2396,690,6701,1360,2530,8744,7170,4195,9354,9341,260,4365,4942,104,50,54,4049,9554,54,52,900,970,2925,7285,8346,8589,5445,5906,7615,5237,8323,8325,5959,9439,8898,8831,9443,
9367,5167,6426,526,552,8269,5632,5944,9352,2896,3706,279,8980,79,110,85,543,2164,9209,4801,8719,9585,9110,3705,8355,5231,9385,373,8450,9260,2990,6428,5724,294,7711,6509,9604,6364,7911,1271,9383,8979,9614,3871,9262,5764,558,9271,5773,8106,9297,3654,6385,6743,9307,9301,9472,8897,8830,8900,8894,6666,8648,9319,8303,9478,8907,6198,8910,9607,9329,371,8913,9648,8915,656,4982,8971,8311,8442,9620,6727,3642,9381,9414,8976,606,8978,5705,9658,6696,4730,6734,1489,3733,9297,6739,8283,8107,9269,6398,8639,9288,5436,
8775,9087,8777,7638,8652,3674,8472,8482,8500,8672,9514,8072,6924,8499,8475,9533,8370,9527,9536,6543,8813,8783,7835,8188,8818,5377,112,7517,7422,828,7489,7188,9710,2039,8473,9690,9525,8309,8781,6942,8814,4611,6018,7759,8122,5863,3389,7372,9689,9696,8595,6961,9692,8628,5648,7111,8385,908,6791,4816,4806,9165,4016,7288,600,9256,345,7966,7710,6560,7712,7268,2163,9712,4764,6456,616,99,6361,815,9267,9227,9713,4534,9013,4886,6924,8093,6724,8515,6328,5019,9510,6275,9259,7964,8088,6720,7634,8516,437,9663,8441,
9384,5707,7976,8888,9623,8768,9638,9318,8488,8043,5446,6413,9480,8754,6836,4657,8283,9233,6419,6088,6109,6090,4026,9805,6106,9806,6045,6103,6099,6042,9811,9814,6095,6120,633,6048,6117,9819,6119,6053,9820,6105,6111,6061,2848,9821,6059,9827,6065,9826,2510,878,5548,8968,7477,4329,8448,118,9838,8457,4692,8405,9839,3487,3516,8328,316,8646,6674,8780,4080,8883,7355,2952,4089,3849,4147,4642,4149,4722,4634,9861,4731,3422,2511,9221,4407,9223,100,4630,9071,4842,9858,4727,4090,4730,4637,4633,9807,4724,4642,7781,
4992,75,101,121,758,9597,9180,5279,8392,8186,9894,5522,4500,1575,7313,3976,4927,3689,9460,9153,9903,114,8436,4191,4672,4878,1461,4660,407,6970,3452,4016,90,471,109,9305,7716,3276,9859,4640,3950,9863,6732,9865,4641,9867,4717,2511,5723,7806,6900,9877,9882,4027,3441,9928,4728,9930,4153,450,9118,5394,355,8522,9598,8732,9600,9933,2947,6201,9923,3430,9925,4729,9866,9881,9864,9883,9880,9056,8942,5739,4718,9192,4721,9929,9964,9961,4088,9878,9860,9931,6461,9902,8168,1145,6230,685,2104,5294,9212,9847,9778,
6923,8973,4599,4016,3836,3707,8997,9958,9976,9926,4028,4726,9939,4152,4034,370,5916,3965,9872,4503,3747,4177,4179,8822,9742,5164,1936,6506,649,8345,8937,2770,3624,10019,2784,10022,3640,4926,3687,8796,9072,9185,9580,928,1248,4875,9872,4935,1594,8717,5702,4587,8923,1827,4854,291,1095,2513,4775,6349,109,9987,9499,921,6663,100,10051,9351,9953,8183,9453,3640,725,7580,10061,370,8039,4195,5948,732,3517,10042,5395,4385,8684,9910,4094,9912,1334,4753,10013,9916,7901,268,633,108,72,70,79,86,8853,9540,4930,8859,
9188,4789,8395,4791,8862,437,5667,3521,4320,9656,8340,6577,9123,5138,472,10029,9723,597,5148,95,4364,976,4742,287,10112,9894,5478,7817,97,10056,9127,437,429,645,10070,9947,10043,4570,6016,10074,288,744,1220,1607,10123,8730,8720,8710,8214,10083,555,86,10087,10089,2328,104,5109,10128,3891,9948,10131,9241,5132,4795,6516,4798,6519,4595,5987,406,1605,970,6086,91,9741,4807,4819,1880,9074,4694,2379,9899,323,287,10163,278,970,878,10135,6295,9888,121,809,9277,9697,6810,10134,121,275,4821,398,4620,5205,3879,
711,10138,9763,799,2968,4018,9742,71,10191,1300,404,493,4712,9938,9963,9940,4725,4025,10213,9885,3269,2511,1504,9936,9876,9924,9998,9960,9978,9975,10002,9884,9932,10201,10219,5598,9970,9996,729,10215,10003,9941,10001,10212,10238,4087,4035,120,97,10122,9142,8969,9216,370,8676,10130,4331,10073,10124,3681,116,8135,5627,8133,373,10259,9992,4718,355,7625,9971,9943,9973,10226,9942,9879,9974,1197,10265,316,6376,10235,3946,9959,9944,1E4,10237,10229,9979,9868,2947,9125,6078,3838,3840,10281,10270,9927,10240,
9972,10216,10230,698,9911,4179,10199,10141,6402,3700,10107,9376,9737,598,3878,10113,8240,10115,3531,10117,10311,10119,4636,10275,10232,316,4272,9937,10223,10228,9965,10272,9977,9945,9954,4429,4805,603,5230,1837,10292,10224,10282,10239,10284,9965,10320,2781,5723,10323,10222,9997,10326,9974,10328,9999,4092,10287,606,4628,9874,10268,10273,10271,10296,10269,10298,10286,6008,5809,4233,10248,8687,9214,9226,10304,2333,10159,9892,9132,573,2943,10166,1179,95,10097,544,7404,10218,2781,9919,2E3,9299,10279,2771,
10293,10363,10227,10241,10285,3390,9059,4657,4016,5723,10278,9957,10236,10392,10242,9862,10361,10359,10330,10231,2781,10203,603,3800,6295,10358,10329,10283,10405,10396,10343,606,5723,10267,10390,10341,10350,10408,10418,10353,4586,5473,10102,10433,10385,10332,4817,4174,10076,4179,10417,10352,10214,10420,10342,6380,10187,6594,411,8957,6021,429,342,878,5916,885,5037,76,8080,260,100,887,3694,2510,10459,513,8300,4360,10140,10250,8214,100,106,4176,294,8694,9097,10303,10471,10190,10192,10208,6404,10368,
9499,10149,4222,10041,10129,10072,10045,834,10047,9779,3223,9263,5818,4927,1607,9273,9195,9465,9289,7773,9609,8444,10501,9676,9466,8794,5985,10508,9297,8332,5977,10509,10504,6260,8332,516,6718,9639,8896,7773,3700,9595,8715,2527,8901,9680,9283,7049,10054,8111,338,10521,8615,9631,9470,5721,5586,10513,9634,7773,10054,711,4645,3812,9297,10526,8714,3521,2527,4783,279,8637,9794,5064,9322,9645,8602,3819,9773,273,291,3520,621,797,91,3446,353,623,8049,6681,5970,302,10571,494,6249,296,1592,9425,381,10578,573,
10580,3505,10584,2909,10572,10587,8447,8942,125,93,6380,3876,3426,6209,10049,10389,6690,9609,4711,3149,101,8586,793,10566,6197,278,10569,10585,10573,753,5258,3396,10595,8912,9328,10597,101,10402,9651,6369,4177,10289,3537,8512,9192,6497,8524,9326,1092,116,8599,9096,3779,651,10610,3693,10612,284,10570,10590,10579,10574,7876,3916,301,10596,4219,10605,1042,9331,4219,10624,3149,665,5397,10640,6219,10568,10644,10614,10592,5625,10577,10646,10586,10648,10582,5416,10669,2919,10591,10648,5413,10675,2542,10677,
753,9841,10651,10659,8576,4503,3779,6341,3523,10641,10664,271,10645,10676,10647,10616,10661,10619,9601,9291,10603,3342,3445,370,5658,8682,10690,7641,3693,780,9126,341,115,58,123,120,271,2478,121,10719,510,125,47,10717,58,1930,10721,48,125,5782,10692,10643,10694,10666,10648,10668,287,10736,10616,5677,10700,3964,10705,743,3693,10477,10639,6255,10711,622,797,10714,10716,5548,10722,4737,5512,10757,485,10724,123,10756,1930,10673,104,10727,10731,3554,10567,10734,5327,10740,345,2819,10680,3180,10682,345,
1744,10652,9587,698,335,10632,8417,10266,10599,6202,10049,9922,6728,1777,8516,5952,9337,4887,702,9532,9732,8791,3575,9528,6260,9129,2510,10259,5868,3452,744,9041,5646,4599,4805,8487,10188,8673,9307,1476,51,10816,10801,9534,703,10804,8904,9642,9567,9379,9100,10638,4009,9439,5562,9777,6930,8440,9418,4657,10318,110,5490,5564,3678,5406,9747,4886,10066,4599,10684,5737,10583,4396,9967,7522,1880,9086,8431,6731,6356,8044,8578,3540,9461,7589,6169,9233,9792,6401,6276,9627,10544,7633,10828,8420,10559,9853,9480,
2171,9751,2242,109,8693,8348,6553,8820,346,10103,9619,9786,8926,7640,8975,8920,9430,9667,8530,10018,8658,9647,9788,9615,10059,6367,9266,10517,8903,7042,9464,10523,9677,9467,2699,9310,8771,10503,9681,8642,10305,543,9316,10557,9320,10900,1039,9686,1632,8438,9564,3105,9179,9132,10470,9173,8214,9915,8253,5276,5641,9495,9239,6467,10155,5202,1805,8723,5481,8826,5484,7755,10855,4444,430,330,8452,8223,9599,8721,1777,5037,8822,10946,10833,8065,406,2818,1803,383,10963,1334,8987,5298,3038,8200,7948,2622,414,
4381,323,878,10615,9207,9294,1531,294,10263,3452,2844,1664,8841,8182,8843,6673,6419,8846,9406,6716,8132,10985,116,10972,4942,4036,114,2624,10033,1907,610,11006,6E3,1526,10091,9180,8856,10166,10093,8386,9191,4792,1022,4442,7511,4906,8221,8139,9246,9989,525,2510,6153,10901,10957,9952,10959,6157,9789,256,9625,10543,10531,6387,10919,3675,6177,9640,9473,8635,9636,116,10530,10917,3665,9682,10859,9477,10829,6673,8051,9324,793,10634,9649,10621,10655,2972,2549,1487,4437,3701,9849,5473,6339,10709,10878,6343,
10894,5294,9665,6340,10699,353,5369,8037,9798,4703,3452,9801,6082,7275,9804,6025,6060,6022,9827,6022,9817,6041,6098,6108,9812,6102,9816,9834,9818,6107,9807,6112,11095,9825,6093,9833,6028,9831,6114,9828,6122,878,10969,8824,10971,6762,8988,819,3042,9053,10978,6321,10980,10125,9255,8093,11036,10903,9602,9312,9474,8564,8534,9472,10870,292,828,10921,9791,10539,11047,3661,11045,8627,11141,11068,543,10555,8626,9269,11054,9451,9643,10560,8909,1858,5716,3571,1115,6209,9652,6690,11142,10612,3701,10746,10660,
10650,10750,116,10712,10753,5695,5760,777,3626,3551,380,10797,8332,8169,732,1482,10099,8337,1360,9783,11079,8389,10258,3678,3920,10061,8338,9850,8579,9450,8763,3643,10322,3627,8330,7924,8527,7933,6726,11185,7326,2120,9458,3619,3624,6872,10042,9499,10941,8665,10943,11026,9586,9308,2039,8740,853,11216,6490,1806,7407,6699,11214,2066,11231,1826,11218,9194,3808,11238,355,6482,7653,9213,10469,10958,10372,9243,11247,6442,9215,10935,3364,2050,11229,1001,11243,3608,1861,11246,100,11218,1145,11260,121,11240,
8214,1046,5925,11267,4040,8762,9476,8528,5911,1847,710,638,808,10899,8412,11212,9774,7930,8303,3519,7803,11284,6695,353,9661,5658,11193,8921,9785,9610,8445,8780,290,6995,8950,9402,2384,8954,552,9405,1910,8959,456,6554,8971,9991,9419,8918,8941,2933,9422,5844,9392,8042,8463,11078,11297,10890,11299,8034,10433,11213,112,10466,3531,6441,3907,5328,4183,1244,3517,3624,11333,1461,878,9736,1141,4037,11334,5164,11337,5463,11339,4587,10458,11347,11343,913,1527,338,10398,9257,3894,9841,77,9041,7355,6006,7555,
1030,8973,10809,4657,10851,2990,4509,9872,6282,117,10062,426,11029,8758,9137,3517,8761,3797,10952,4195,9538,8127,1302,2638,8533,3520,11118,10473,10475,5472,8425,5925,65,11396,1176,3517,9966,2933,2217,9117,4301,691,1888,5390,471,3084,4596,7601,8834,8747,1808,8750,10836,4243,8580,446,11379,11424,5485,3619,8693,10925,11275,5385,10535,339,11180,9092,5710,9511,8654,9097,11383,10925,9101,3779,9141,9105,110,9107,10057,10200,8152,8145,3854,305,9116,6513,10129,8678,9121,8680,4692,10289,9499,3784,8174,6013,
9449,6622,6664,9130,11022,6141,8293,9134,10988,9249,3917,11471,5164,9253,4599,11251,2154,9144,10032,10369,4360,6443,11361,5939,9981,9906,732,8543,11369,10853,5459,5878,10448,10995,2845,8202,8198,8803,8206,5891,8806,2861,8808,8208,8810,8953,10384,2555,11387,4599,9162,9137,9164,2627,5964,3117,5294,10843,8702,11258,594,8568,9166,732,9168,2617,9591,9171,9499,11451,9176,9010,3072,10932,5119,11015,8858,9186,1906,11018,10382,11011,2162,1803,10835,9577,4487,8697,9502,9718,10189,9440,10553,8705,10485,11449,
11250,10368,9220,10035,3935,9148,11226,11536,9230,8231,9802,3452,9235,6512,2990,11222,9497,11224,10133,3675,8686,11568,10058,11373,4444,10849,5172,11131,11581,9776,11132,10496,11037,10904,543,8604,10907,10532,1063,6167,9296,10873,6394,6208,11604,6186,10522,9792,3578,9303,9286,11155,10510,6394,11135,11607,5771,9295,10872,11041,9307,6256,11614,10518,6394,9633,11622,8072,11612,10792,10911,11615,11234,10915,9679,11052,11042,9313,8643,9315,4299,10923,8650,10925,6196,9323,8053,11061,9647,10620,11171,9330,
11066,8094,11188,9984,10797,10068,776,1390,9983,1483,1499,2622,2638,11663,6232,8167,776,8930,11661,4215,11668,6244,11666,1271,11675,9507,9979,3642,9091,5781,6724,10018,11199,11286,3674,6446,10062,3635,10354,110,8320,4675,866,789,488,9328,7793,10325,10395,10327,10429,10443,10217,8643,10891,9603,11499,10030,2778,709,745,384,1906,8056,3794,5148,2843,292,11719,10311,6426,95,10841,433,121,4302,11508,453,3792,281,1905,2855,102,95,5948,3687,4140,3835,5718,4675,4994,1131,11697,107,11699,7768,10211,10297,
10406,2793,10351,10225,10410,9918,9920,10602,10210,11702,11752,10396,11755,10339,10243,10436,110,10387,9921,8988,10337,10349,10360,10427,10226,5939,3687,9904,3691,9982,9907,8436,9622,10903,10506,373,11040,11638,8649,11055,11159,8183,11648,909,10601,9464,370,10791,2528,3702,11066,5293,6167,11745,1108,11747,11749,6209,9897,4797,4037,11748,319,11070,9770,11424,10865,7641,9463,11625,10908,3005,11636,6267,11140,8588,8303,11377,3628,10927,340,11551,11456,11409,10938,1619,4307,9578,11234,7859,7765,3140,
7255,8010,7658,7766,7962,6958,10983,2329,11842,2582,2762,7792,4568,4576,2292,9755,2153,7921,11847,1125,7697,7218,4982,68,4983,282,5361,9507,8037,10054,982,602,711,11335,1619,11488,9150,5748,106,1335,1546,7782,2178,8918,5164,5693,4912,291,543,2217,74,111,98,11878,374,7607,11840,5791,464,3519,530,385,406,5689,5326,3240,4314,11885,1848,11453,8148,2328,108,11902,5741,385,97,120,11907,4360,6617,9234,3426,10534,11920,11894,11896,11888,10017,120,5169,11303,9427,8110,5237,11494,34,8433,3618,11285,5040,10497,
256,11631,9630,11046,11611,9285,11760,11633,11626,9475,5385,9321,11075,6275,652,1679,11252,5198,11249,10480,11227,4300,8216,10256,8893,11446,11448,9951,8140,10372,6446,11897,10644,5329,5571,10404,91,8423,6693,11291,5223,5023,11941,1752,11986,287,6487,11984,8425,5812,3624,10364,3019,10883,11349,11979,8128,10223,11983,1748,1740,11994,7934,675,287,11988,8426,11244,6453,32,11992,12005,11398,8434,12008,2944,11445,9219,8871,6291,4176,10077,6126,10370,11027,4184,3894,292,6064,5436,10139,11964,11255,11582,
8076,11562,11965,537,299,3838,11083,11234,11083,1145,12046,8564,11476,9251,5326,11480,11087,11564,11484,807,11567,12041,12038,8703,10529,11561,7591,11880,9247,12032,3118,11977,10694,12001,11391,9997,12004,6480,10925,1808,12010,11993,12019,11232,3609,11991,1746,12011,5812,1808,11997,11578,6466,6417,11535,4760,1825,11220,11581,11482,11565,9222,12060,11973,12030,5212,11469,2510,12053,11473,11467,3005,3624,12071,5327,12073,753,9877,12076,3616,11985,8924,649,12080,12017,6360,3624,12085,662,12124,10925,
11996,11118,11271,12E3,11338,12003,6685,12081,11942,8427,1046,12123,12077,12120,6361,12141,12015,12086,12138,11989,316,11274,1711,370,11296,9571,465,11576,11437,6703,11049,6509,9580,8936,11421,7389,9588,9603,11709,9591,9593,2039,9596,9799,11489,11067,9602,8980,9606,10836,1062,11787,9611,10881,2328,12182,8097,9023,1271,12155,9657,11709,5575,8769,9790,11149,10912,6738,11049,11051,11953,10908,10558,6412,11794,10561,11650,2119,11652,8916,8422,12137,12129,12144,11265,11688,8430,9451,12118,12006,12082,
7927,5814,8577,9452,9377,4410,9670,9264,3700,5723,10514,6403,10425,11629,8628,9471,12235,3578,6514,4796,10916,12201,11600,6374,10623,4486,11610,6408,11158,11057,9479,9511,952,3002,10839,5264,12254,406,11524,4657,12258,11769,9117,7366,9412,11574,11122,12256,4329,337,7366,12260,4051,4982,3044,7288,489,12228,10866,11621,11790,9641,11055,9088,8033,11832,9462,3391,7662,8545,4657,3373,3162,6600,8701,10110,8187,3225,7069,4947,7176,6861,3232,7179,3235,7077,32,6614,7847,7186,7948,3442,7804,7663,4750,3082,
7740,7321,9616,4294,7816,3005,3142,2497,6963,9755,12293,7133,7748,11935,10837,3484,7012,3125,7702,12332,3506,2871,2695,3202,9004,12292,2325,7060,11538,4919,3150,3495,3491,12341,7900,5264,2550,2921,7684,8155,3073,3469,11860,12348,2573,112,7737,2469,3489,7216,6999,8155,3494,2307,6908,9017,3160,7887,12068,7352,2801,1266,4110,4649,7501,4846,7426,2680,7428,12373,3194,3306,12326,9766,4906,1941,4827,12296,5264,12358,3044,7827,3316,9426,12337,2911,6927,3450,12342,12396,2402,12389,7746,9755,12370,278,2209,
9177,3330,3354,7878,1989,10882,7033,7526,3205,11856,10324,3859,8999,7720,3474,7250,3188,12361,2201,12363,12351,7973,3160,3190,3098,3066,3367,6003,8150,4657,9074,9047,9044,7451,10856,12338,3469,9499,12445,2508,291,9035,4886,3073,7916,2405,12420,7270,12387,12416,2330,2080,7509,11122,6829,8991,7515,3064,3999,10864,8343,7648,3468,3044,7903,12343,3020,2459,7706,6648,7708,12392,1508,12456,6816,7356,7041,12429,7283,12422,3304,3365,7059,12372,7536,4195,12393,7804,4313,5679,2539,3186,904,12439,12344,3509,
12336,2235,12432,1108,8155,12328,8026,7707,7869,4744,12505,3313,7481,1367,12449,12403,7330,12499,12504,3123,7165,9045,4599,2892,2366,12511,2206,3454,108,11074,9803,3386,4665,9727,4758,6552,3353,12465,3366,12482,837,7432,12331,12512,2343,12360,3512,12349,6887,12415,3205,6927,12508,324,11364,5098,6950,3372,1508,4660,9703,10030,6552,7349,5522,7351,11234,2905,2432,12494,708,3111,9084,3115,11365,8702,3462,3367,12375,11028,12423,4533,12556,3320,2707,7144,12528,6900,2478,7770,7149,7772,6822,3391,2540,12391,
12402,2643,12409,7221,2501,8028,11372,584,3271,2602,2968,10494,3894,2892,2148,3497,6590,5464,12440,2320,7467,5459,12521,3067,12327,12538,4778,7544,12608,12595,7414,8155,8180,11123,2561,9705,6550,12575,9708,12464,2352,12621,12335,12623,2298,3379,12443,3165,12490,4204,12492,12507,12515,12538,10079,12571,12297,8785,5506,8213,2692,2488,4327,12406,4329,12293,7820,11497,9063,9080,10309,9052,9054,9890,10397,12526,12658,12560,12323,12378,4566,7320,1210,7046,12321,7913,12577,12538,7557,9547,9704,12299,7174,
7838,7563,12303,9133,12305,4955,7568,7078,7570,7080,6869,7082,6871,12693,12466,8986,12468,9553,7370,4546,3447,7250,3108,12352,7507,12338,12631,2607,7339,7944,7873,7342,7155,3065,12587,12550,3157,12606,7127,12338,12459,2030,10882,12605,12532,12586,12481,2054,12488,5464,12397,12522,4164,12684,12384,2726,12669,12723,12457,2402,12290,10847,4906,3073,3219,3939,3423,2766,12761,3839,3429,11981,11774,10295,11776,10410,3073,12589,12031,3447,12318,12689,7814,12691,7744,12657,12413,7140,12463,9410,2816,12184,
5499,8782,7757,7275,12664,8952,5864,2998,9043,12563,3161,6133,7529,2730,12734,2283,11498,10309,8798,5881,11502,8805,2854,5894,11504,5538,11509,11507,5849,12547,12578,2405,12580,3453,2516,12414,12346,4576,12620,2202,12435,7411,12338,12777,2891,2325,12536,7332,12450,12398,7022,7382,3026,12548,7087,2495,12622,12670,5278,3118,12846,12801,7033,12364,12388,12355,11001,7723,12174,7303,597,7954,6785,2935,6565,6789,7402,9901,12495,3354,3501,7972,1803,7831,7918,2982,12418,8880,7738,2092,12609,7245,3465,12519,
12758,2389,12506,1200,12597,12480,109,12442,12395,12724,12881,12636,3322,10309,7874,12312,5837,828,9069,10522,6419,12453,1341,2504,8086,827,12676,2719,3469,7968,12553,2356,3305,12857,7736,12838,2578,1508,10109,6764,893,10976,2568,3044,3052,3048,3050,1596,12930,6460,12779,12715,7366,12469,6648,8992,12913,12841,7863,8937,2170,12408,12919,12483,7494,12612,12407,12530,7787,10390,7464,12942,2601,7441,8011,11844,12682,12433,12634,12755,12334,7284,12833,12962,2517,12363,12921,2974,12338,12497,479,12855,
3034,406,12479,12396,3111,9064,12584,9066,7131,12289,7804,10221,5264,1941,12803,12916,3511,3298,7413,12977,12713,12549,2346,12523,3133,7713,3478,3367,6977,12525,12635,3263,12920,12650,12917,12496,4527,12436,12961,3129,12943,12736,12744,12891,3411,12890,12654,12599,7148,7096,12602,8635,12851,12721,12972,3194,12411,13004,12626,9009,12945,3072,12513,2811,13023,12671,12806,1852,12992,12401,12554,12995,7524,12832,12805,2516,12824,7975,3211,290,8314,12452,12947,2758,294,7169,3838,3224,1906,12699,3228,12701,
7840,7565,4953,7567,7844,7569,7846,12709,7572,12711,6621,935,9039,12984,10882,3248,7963,11851,12412,2020,7217,12753,11998,12882,4346,12997,12870,12845,12386,13042,12886,13049,12970,12431,3218,12948,12944,12960,12377,12746,3022,7493,7222,12951,12520,13104,13061,1977,7872,4930,12900,12712,13096,12324,7394,8755,10030,12863,7728,12866,3406,6792,12646,2312,1944,12989,13114,2741,13018,12905,11965,12293,11862,7860,3194,12661,43,12794,8784,7277,11305,9728,12998,12409,7951,12860,8950,13127,7956,13129,7312,
13131,13151,12897,7145,6916,12600,13027,8003,6260,4016,12615,12234,11761,10348,11703,10428,12774,10004,2880,12878,12461,12558,2E3,12405,12757,12762,13060,3455,12883,4655,12885,4906,3135,12751,6583,12330,13047,12537,13109,3368,519,3471,13180,12996,13032,13108,12999,13110,7675,12828,13016,12755,12531,12448,12316,12557,2365,3178,13011,12839,12969,2906,12848,13184,12624,13044,13199,7898,8278,12876,12647,12831,12510,13218,2538,13215,12889,10930,10887,3875,10040,11330,8768,11945,2414,12199,11145,11949,
12249,11204,5762,12287,1549,6500,280,8840,6219,9612,2328,11389,10688,1461,10987,7167,6219,10042,13262,12274,6696,10949,9573,8065,722,880,6678,13269,9508,880,11431,6410,12251,8917,98,640,7752,13242,11595,1859,9274,11607,3642,5114,11715,357,13251,11038,1363,9381,98,12633,8155,2815,5728,11846,13143,12464,13297,13142,11843,11357,1674,12314,12291,5340,1895,115,7027,7445,13209,6645,13314,6947,12728,10081,12925,13120,13080,545,13320,7132,6794,7471,8943,11896,13124,13154,4814,7304,904,7306,12864,4123,6844,
12867,7959,9165,290,13310,2313,103,12503,4860,13296,1895,7687,6825,4657,13301,13316,12390,13020,13313,13333,12517,12484,13190,8938,13314,6814,13099,12489,13025,8001,12601,13167,7098,13328,6968,7019,13300,13314,12540,10030,5376,12543,4762,5381,2387,13319,11896,13354,12180,13012,336,13297,11853,7355,6450,9053,8998,1275,11313,11896,13358,7746,12915,13196,1464,13301,7546,8751,10823,9719,13408,12295,8745,12572,7983,7837,13068,4949,13070,12304,7842,12306,12706,12308,7993,6616,7995,12732,12547,13394,12780,
1300,9137,4229,13327,13389,12424,4842,13397,7794,11997,2153,13306,7998,6951,6627,13372,13166,501,6632,13314,7204,12319,12188,12783,12428,11256,6771,1895,13334,11086,12297,13156,7399,7957,7731,12869,13437,6630,13237,12789,115,12329,12884,13113,7709,13362,7971,13228,2990,13357,6885,13439,12654,13441,13399,3930,13431,13461,8007,13213,4487,13314,7200,13493,12529,977,13445,13062,12653,12861,12298,13066,7984,12700,13420,7987,7989,13073,6612,7845,3241,13077,7848,13079,7850,13301,3443,13332,13315,13329,7722,
6835,13463,12925,13465,7306,13158,12868,13160,1734,13347,2174,8570,4444,13483,13377,12967,13447,4275,13165,3419,13028,11263,13257,13482,13367,7152,12730,7946,7996,13309,11390,12116,2638,13297,13283,12539,3609,13401,13522,7508,12592,12737,13392,13460,13298,13363,12950,7969,13351,1127,13297,13475,13189,13477,4906,13301,13299,13091,13444,13491,13480,12843,9390,13402,13484,7812,9022,11980,1213,7048,341,13314,186,12673,13537,13376,11845,13501,12894,8950,7836,12301,7986,7841,13072,7843,13512,13075,13514,
7994,12710,13553,772,13534,3120,13415,13356,13599,7469,7746,12552,13406,13234,13499,1895,13322,12899,12731,7875,13301,9722,12925,11125,406,11143,544,2825,12153,11293,1895,13559,533,10502,11958,6299,8593,8699,13290,995,10954,6337,3538,10885,8331,8765,8338,8736,8336,8340,13659,6338,6531,11955,1869,11182,1507,8349,353,6503,9618,9666,11709,8037,8454,880,8456,11835,5701,8460,7832,8449,13678,8461,4523,5512,13682,2328,11933,13685,1803,122,13689,9393,13695,11323,11829,9570,12191,11328,6684,5424,12149,12012,
11261,8316,9094,3642,12219,12018,12139,12013,7935,5235,9770,8112,10797,453,2601,10822,8790,10824,8487,3578,13649,9503,12203,8981,34,1045,1892,6700,5421,13719,10175,1334,318,384,5174,296,9344,5094,9346,2413,6455,4766,13739,6356,9339,5087,6129,5397,10196,5135,11837,5795,11034,10372,4836,65,527,426,7952,11033,11974,12042,4302,1695,8233,10376,1709,10166,9804,1709,5934,10947,9196,4095,11872,10251,5195,782,430,5085,10813,11574,9348,5127,1647,12061,12175,7755,13502,4886,5148,13756,13749,5214,3907,9356,13796,
13783,5071,824,5139,9342,8260,5078,5079,7595,4919,2837,11552,4599,9549,4599,13797,5111,5137,13806,5116,13741,7592,5121,13744,11854,3775,13747,3531,13749,11531,5461,5326,10934,13793,1643,13783,6236,13824,4678,5093,13812,4683,13783,13749,13841,13743,13844,2814,13737,606,13749,13786,9201,9234,13783,5113,13822,542,13848,13826,5123,13745,13829,13852,110,12485,5464,13819,5180,6223,5182,8292,4496,8403,9419,13867,9360,11371,5340,13867,5845,9366,4499,5347,1334,9365,5684,11900,1820,4302,821,13889,5215,5616,
13891,726,13893,552,13884,5262,13897,13857,5206,2617,7777,5153,5326,5155,13898,4836,13755,5207,6013,13836,11881,8887,12194,273,5397,5051,9297,5050,5045,13289,7634,9374,1664,13734,9795,12205,11161,558,9423,5662,880,4493,692,292,11176,10752,3413,4713,2929,10989,9193,3516,5956,10831,4197,11074,9574,8440,12266,10840,10838,11522,5343,6586,10845,528,5567,9393,11322,5496,11515,13687,11496,13698,11792,13280,1503,11646,9337,13729,5422,6219,11436,10902,12187,12245,11598,9297,11606,12238,7773,8614,9302,11951,
10910,12248,12603,1881,13992,11146,11950,8631,11632,13993,13029,6262,11618,1627,12242,10869,11043,12245,10922,13927,11645,12144,12252,6275,118,13968,5192,10832,1818,11441,12144,11443,11356,370,12091,9498,11581,10841,12269,12850,11523,1803,8671,11556,10818,8072,5551,5108,11457,9120,4689,6436,11461,11722,9126,8752,8685,12040,12066,11254,13837,10593,11319,6586,11554,12768,7292,5849,2085,12173,4769,12065,8730,12067,12590,9353,12567,11587,13966,7363,11315,4657,13055,321,14061,9762,13766,12104,8089,11526,
753,11528,9489,8763,12036,13759,10250,11656,776,1482,10019,9659,10924,5473,14092,11435,11687,12159,6299,9855,10901,9857,11762,10362,11753,9962,11763,10446,9946,10152,10253,9950,14086,13767,12038,14101,1827,10234,10403,10280,10338,10294,10419,14122,10393,10099,10261,10986,11197,2328,8585,10160,12028,8260,5885,10379,355,10381,9192,13469,10411,606,11534,10426,10445,13175,14146,11777,11768,4719,11750,14104,10409,14124,12772,13177,6166,11013,6594,11017,9189,896,9192,11548,288,11660,10564,2066,1496,8753,
10490,10044,10944,3894,3700,1496,8576,1013,13757,1768,11226,9993,12167,10442,11756,14155,13174,14149,2555,11783,9905,2120,9874,11780,11434,11785,12187,11039,11603,13987,10519,6333,10516,10514,6333,10537,11644,13972,10876,12204,11059,11649,8251,9956,9648,11968,14216,14119,9651,4506,10608,10691,10663,10772,10695,10681,10697,345,10617,817,10743,13244,11617,6212,8507,8425,11341,11355,4541,9439,13391,1464,11690,3638,525,10937,1803,9752,8867,12676,11593,14209,10861,8421,8310,5473,83,623,1445,10629,10797,
14230,8988,8339,3521,5599,11241,8724,9197,13781,13977,6724,11938,6244,5334,8037,14034,10817,9734,13452,103,12113,11350,11701,1271,819,3738,5602,9081,2784,14287,11895,1852,12021,11203,9476,9478,13268,8725,9507,14276,13719,1673,10336,12770,1019,819,10053,10460,44,14288,14294,44,4688,259,652,44,8619,1099,115,103,111,14311,14293,722,895,14312,14326,50,675,4026,606,260,554,807,3283,14308,6739,14310,14328,466,14315,100,14317,14319,908,14322,14324,14289,740,14327,14325,14351,14330,4823,14333,324,6426,12090,
8495,14279,10803,9700,743,1018,8252,10486,13795,4906,13817,7030,8137,4687,914,281,100,309,9521,14252,12250,14210,13730,67,476,1705,103,11289,13980,8927,13290,11283,12007,6726,7924,5238,5762,10797,1099,5097,5716,10508,13266,4329,1639,1805,312,76,312,8839,12158,5647,11920,14408,14400,4413,10508,9843,12185,406,14406,2495,14409,623,14411,8462,14012,8425,9457,13705,11995,11236,14390,7931,14430,12020,7936,353,9435,7619,8308,13771,9439,1799,11583,13916,12037,14052,14444,2617,8082,14294,5706,9233,14078,11226,
11482,11584,10200,14449,603,14451,603,12171,10527,11559,14454,13835,14447,13918,13666,5904,13973,288,11812,9972,8037,8481,13868,13785,14068,7224,6849,3439,13854,14481,7363,7479,1882,2778,7906,7448,9715,13853,14480,12804,13007,14493,14479,384,12748,2298,14490,8155,9694,14503,13091,9688,4516,11866,9566,14476,3559,13652,6698,3692,12206,8251,2612,8714,111,10357,10609,14224,4437,10665,2066,12285,1874,14228,1233,6277,1522,14232,12907,1888,10662,10771,14525,10735,10670,10982,296,10776,10739,14541,10667,
10685,9026,8778,13294,9062,12446,13833,12677,2699,10977,5974,2626,5524,9083,4137,9085,11915,6827,10910,6419,13314,472,7609,8992,2014,4137,9082,12446,3098,14074,3212,3649,11969,1627,14532,616,10552,728,12064,14445,14580,14552,12454,114,14501,1425,13082,2453,12985,2222,9043,9755,12875,12792,9721,12662,12925,12796,8124,12798,2555,6544,14603,13503,12573,8189,5521,8819,12799,14553,1411,14563,2990,9068,9070,4785,2612,9076,1943,9078,8868,9169,9165,530,1852,5109,293,9137,14528,4278,2333,1046,1461,3564,1835,
10836,4971,110,11401,118,5716,10117,880,9851,11011,1777,14636,457,13920,11596,1500,10626,8634,4183,386,9315,3651,6645,14056,14207,14004,8447,8610,12282,11147,1770,11609,11146,10870,12245,10624,12243,6393,14661,8644,14664,10105,9501,112,14204,14668,14420,11822,12244,12233,10789,14201,12030,14662,10921,14683,450,10157,11696,11637,14679,14181,5463,14696,6404,14698,7426,13996,13247,10371,1001,14706,69,14708,11966,14660,14705,14682,9028,10373,14702,14001,14681,14663,14721,3854,2812,14001,9314,11144,6406,
11604,14725,14697,5725,13977,14551,9204,6473,12394,13619,8276,12721,13051,13482,14056,7454,13481,4444,470,7283,13095,545,14056,12740,2241,2328,8704,10084,12980,9014,3924,1808,13722,9060,10802,9699,9515,14056,13368,7768,13371,3408,8002,13451,8004,14771,13414,12696,13416,12698,13506,13419,7073,13422,13608,13424,13074,12707,13076,13613,13078,13615,3737,406,14592,13407,14056,13265,14130,11374,4760,12273,4329,2825,14030,12762,7799,10372,14760,555,14798,4626,12966,7896,14779,11849,7547,14035,8548,12937,
4515,12939,6766,12471,4615,1535,12627,14751,6927,14754,6210,119,12048,1360,12050,14755,14685,13629,7945,3014,14795,2896,13602,13370,6952,12491,2182,11447,4927,12452,7475,12524,14831,13181,12847,12649,12849,4906,14752,12362,12824,14862,12786,14859,13223,3833,8540,7553,4872,7357,8544,14685,12760,3920,13311,12768,14869,7334,12722,13015,842,7118,13107,14822,8995,9483,13442,7796,14665,14685,13576,7828,13578,8938,14056,13145,8181,7758,5862,6597,12666,854,12493,12788,14829,14857,14833,14740,11555,10817,
1203,12462,13369,14897,14685,12756,14883,7649,13346,6167,12242,10372,406,8241,260,262,1894,121,6828,11581,290,13348,10346,5340,14666,14885,11863,14884,7360,13476,13572,13356,14748,13570,13112,14944,14937,14685,12399,6943,13625,1049,4748,13360,9014,13014,4079,12367,12637,13091,14059,13541,4471,11368,9166,8869,3808,2799,14911,7853,13303,13308,14887,2802,9755,14972,13010,14860,5464,14865,12514,13091,14934,2728,14870,11553,12768,7146,4217,4763,14371,7039,14848,12656,14839,9205,1129,13485,13944,13397,
819,14084,1471,11997,11859,13566,14243,12979,14369,12624,14061,9211,14063,10200,5686,6941,13364,14896,6939,14056,13006,4508,14027,4930,8263,32,5774,14165,9500,14999,12959,14940,14684,14999,13581,13318,6186,13094,13204,14914,7334,13183,14920,7755,6160,5387,300,12049,15049,13730,14979,12949,14948,12993,1384,14972,1897,1880,519,14706,9499,1639,14814,1105,13433,5925,13436,14905,12362,14817,14918,13212,7688,5564,14938,13001,9988,14917,14999,9755,11834,14747,14951,14956,13497,9419,14756,7804,14936,14958,
2019,13041,13472,14908,13216,2405,15073,15037,13492,15076,5105,11920,14762,9767,12988,14846,5464,4757,7999,6917,4204,1777,8987,4382,4587,9781,10797,11588,4657,14405,8137,109,10080,15096,11495,5416,3515,14094,8425,9781,14273,9377,8037,1694,11465,8381,13773,9401,430,1707,13776,3862,4672,6293,4261,11905,11694,15042,1535,3924,3517,10800,13723,9698,9535,9307,319,10459,6664,11486,9584,14087,14116,97,5916,6771,2157,780,9447,14468,15165,14448,11478,7880,4356,10062,9453,4512,9203,14056,11851,4948,5925,5697,
4763,9625,5298,11542,9184,11546,14164,8387,15031,10100,3535,1570,13700,10104,8893,5948,591,8444,10552,5644,13815,8151,6716,12835,4775,4036,103,1518,15207,11466,5685,12025,691,12027,263,15016,14455,10058,10300,10440,4428,14509,537,5164,11899,4829,15146,4260,603,2217,14833,1813,9020,12380,6449,942,287,15004,8728,773,11997,12904,1954,3147,6127,5641,14647,710,383,7651,9518,3705,691,10039,15211,9258,6500,736,5115,1592,99,70,1852,621,711,14302,7591,12110,7979,8839,3162,11139,8381,10993,10166,10996,8848,
4763,11895,1679,14283,12115,345,5331,9335,395,7997,14387,13808,4677,13849,5623,1125,11119,11348,12690,6281,5237,10962,11120,10319,6622,5792,4325,7053,13881,14763,4533,14765,9717,14362,14769,9470,14128,11196,10574,7434,15310,13800,5190,11932,78,431,3854,116,3598,115,14554,9371,4886,119,552,1905,85,13253,4589,10642,14539,5955,8245,14440,9437,11089,9132,14284,13592,91,14439,8307,15349,103,4671,6292,15235,5183,15251,13856,11481,110,15203,606,8444,15155,14767,13724,10826,15309,11413,9483,15003,4815,15246,
15006,11344,3739,15179,9377,11939,638,4356,15288,12135,9617,15180,4356,6068,13312,14470,8214,11030,14217,10933,14469,12376,1777,14656,12237,14671,14065,9452,12230,5237,14715,14721,12240,10158,14723,13997,14051,345,14706,5037,15410,1479,6332,8112,9644,13934,798,15338,716,100,8987,1888,11333,8594,13941,11177,345,1054,6352,114,51,10732,14524,10613,14169,395,552,15440,10779,296,12271,14824,10777,753,648,5288,120,52,1625,14542,6373,526,710,120,87,15339,14533,10782,6203,8524,14219,370,15427,1905,5586,15431,
11347,15433,10751,10713,15437,8936,15447,5029,14538,15443,853,15480,15446,15458,10592,14263,10589,853,15454,15462,15457,15448,15460,15455,15464,15428,10685,11172,10708,10661,11175,15435,296,1738,10716,10718,3328,3167,10721,15512,1313,14628,2617,271,770,431,110,125,124,446,10857,10770,10611,15345,14226,594,15487,15439,15489,10672,11081,3867,3573,287,13946,430,6E3,15497,3839,6723,15467,11167,9648,5658,6503,11411,15310,8054,15478,10753,14991,32,15540,11716,7095,615,15484,14526,15486,15445,15533,15543,
15491,14232,15267,14222,10710,13942,10713,892,5037,14706,14584,543,2527,15539,6560,13947,15542,15483,15528,15485,14227,10671,753,14544,2455,15543,10781,7229,378,4299,15579,4009,15434,13943,7461,770,15581,410,15541,15560,10733,15529,14193,15565,15482,15589,14229,5397,49,15492,1001,15532,15612,15459,10649,3779,50,15502,10134,3693,15494,5662,15500,11455,8829,15573,15555,1311,15628,15456,15604,537,15606,15441,15562,14540,7355,15538,15557,15582,15640,15543,12278,10619,1777,6168,14632,13931,5039,13647,
11689,14797,15465,1888,8972,5653,2055,13814,13258,15277,10991,15280,6716,15282,813,8957,10993,1940,115,15161,10461,11225,10058,609,15168,1976,15171,12113,13917,15401,450,15176,11497,5337,6013,13802,13191,13955,15336,15694,11521,15217,13898,10841,13895,10939,13912,11540,9397,11544,14137,10095,9190,11547,15195,4874,5629,837,10052,5397,13880,13885,7363,5397,15702,5283,13753,3916,13902,8833,15700,8440,5296,904,5298,5305,10166,5305,5307,5309,5311,5313,32,5301,5316,5320,5300,5317,5312,1833,291,338,8866,
15371,9719,15286,395,15388,11351,2638,15655,268,11118,8823,15302,12782,15304,9377,15306,3531,11118,527,5741,15661,14085,15399,15174,15395,545,13879,15696,8938,13883,15778,4996,15321,14403,5351,13867,15722,5357,5641,11025,11581,15065,15660,532,13937,15664,15691,9608,15382,15199,15384,9198,13244,15260,6706,14810,11965,11592,14446,15774,15401,9373,6320,13930,15292,9379,71,471,9742,12112,390,11869,115,11871,5836,14262,11891,11919,120,11929,12113,1915,5641,649,105,10184,11851,1520,552,11294,13926,8364,
15275,34,9407,1537,11176,11711,9800,11911,9114,11454,15163,13801,15843,11916,117,11903,475,2217,11922,13876,6128,13898,4501,15847,15127,458,11926,10460,11893,11895,12113,1922,15789,11917,11904,12565,15861,3907,2663,11467,9660,11868,14294,15823,14274,13781,353,12277,941,955,13653,10797,12991,14797,14486,4860,12582,14562,13083,5568,9702,13146,9704,8817,12643,14615,13081,12800,8155,14577,13057,14579,14047,9228,14632,14583,15014,15222,14587,15915,12581,9043,15066,13144,15012,15556,6137,12907,791,14619,
4750,3111,14599,11236,10850,12793,14900,12795,13148,12665,14607,2692,12748,15928,14967,12991,15105,15012,12651,12564,15011,15109,2235,12982,14251,9051,14556,11126,14558,14574,14590,12983,14595,11550,12903,14622,4942,12907,14625,12910,9079,14969,2719,13046,3208,14582,14634,15303,91,14654,3931,14639,1334,14641,9759,7153,14645,100,14647,4413,14649,367,14652,8776,6671,8033,370,887,807,10522,9439,4261,1300,10269,3730,6770,9755,16004,9972,13454,12781,12320,13593,12322,14005,16005,2792,16007,7282,12683,
15039,13794,6664,3923,12954,14120,9484,7795,3974,9E3,5771,866,9972,14757,5374,4444,1033,2443,15075,13355,5264,16039,9002,2694,15099,15911,16034,10269,7058,12467,12938,12717,12470,7371,6577,4207,11851,16010,16050,7523,14984,16023,545,4207,13307,13828,4576,16044,7365,14824,16054,12940,14827,7850,645,1852,9021,13455,15353,15070,16060,2792,15106,6591,916,7138,13236,8149,16025,15034,13304,6745,16018,2968,16051,16027,13172,3927,7718,16031,13458,854,100,121,12975,13540,2990,470,16105,13390,16090,13216,7334,
7089,9231,16088,13089,12368,13091,16083,4718,6935,15001,7461,14890,16102,1833,14385,10516,14836,2120,14838,16104,14118,13348,13350,7167,16117,16045,4526,16047,13091,16110,16106,12430,8155,16145,13395,12425,16100,16030,7502,16044,14742,14781,14073,16049,16019,16124,14823,10375,6419,5500,12941,6599,306,16040,16098,14285,16152,2784,7502,16122,2511,7353,15950,5848,16087,10488,16137,14988,6641,16168,16141,15095,14960,16111,7211,14886,14829,16189,7334,14864,387,16136,1944,12315,4487,16066,13446,6626,13542,
13026,13544,13374,16094,9972,7037,15897,11372,16180,7190,14916,1062,4036,16185,12421,14907,16017,16209,14506,16064,16135,16156,12879,9161,16159,9969,14935,13536,4195,16149,15068,13435,13594,16149,14915,15867,4483,13496,15103,16212,16025,14876,10148,16213,13098,15867,5648,555,11463,16196,12438,12638,14385,4007,16053,4930,16165,16075,3018,16175,11742,13564,14888,4291,16013,13456,16015,12692,422,16201,13601,14743,14611,13417,13605,13069,13509,6863,14789,13610,14791,13612,13428,13614,13430,16167,621,
16107,13054,16229,10219,7011,12527,15867,16238,16297,3208,16294,16265,7329,9016,16215,1325,16264,3941,14878,16113,16118,7525,16220,8629,16140,7543,16048,16095,16295,7318,16267,4896,16269,16081,13594,16308,2779,16190,15035,16024,2365,16235,15980,15070,16241,6834,7301,12640,13337,7956,13340,6564,6788,13130,11513,6008,16180,16085,8938,4207,14899,16339,6087,9725,13420,8787,16327,16226,16301,16319,2781,15925,6645,4207,15038,13038,3775,16299,15072,16256,16078,15241,7462,12426,12382,7790,8088,16193,7413,
12824,16217,16291,14816,16148,16196,13179,5739,16254,14961,7896,4207,16387,5499,16180,16393,4508,16302,3941,6890,14484,14495,15057,9203,16392,16310,13961,3864,7104,8027,14949,14806,16398,16328,7701,13233,16404,16408,7230,13195,16360,16011,16125,12489,16127,7502,16382,16169,8995,9755,16077,2489,14957,5351,16274,13117,12729,13119,13631,12901,16057,16418,13585,14910,16405,16182,12460,16247,16091,16390,8155,16044,12570,15904,13416,15906,8190,9707,3931,16413,16020,5999,3439,14576,16413,8498,2778,14485,
14496,16397,16361,606,16097,16429,15009,14815,16111,16052,16072,16260,12718,6832,16208,16061,3141,16223,16367,4576,16327,16401,14500,16211,7870,16316,16329,16093,16033,16471,110,16461,336,16112,14131,16413,16071,16163,10030,16261,16056,14608,2418,6079,15052,725,16134,16427,16141,2872,16306,1464,16516,16349,4996,16465,7485,16475,7272,16248,15094,7013,16121,16504,14830,5496,16528,15098,7125,16314,4483,13409,10836,7292,16516,16012,13434,16334,13594,16543,16478,16506,12297,16508,12719,7151,16218,16533,
10844,3864,16359,16503,16498,16009,16504,16041,14242,1659,11133,12187,16060,9628,7692,8663,14670,14703,12283,9451,13291,13653,15424,11060,798,13986,9651,9281,14223,15642,10773,2066,16577,14515,15567,1735,15452,13918,15543,2825,1532,15651,15134,6296,13735,13285,10903,16582,16574,9270,16584,15405,10505,6403,14678,14730,11641,6382,14693,16608,13994,11952,16612,12754,9317,15415,6265,14006,16622,10827,14253,6297,14551,15084,9355,6129,14339,13002,15773,14115,14052,5433,1756,4534,3917,10929,15679,10200,
12099,11447,82,14458,10372,15005,373,4040,10160,14077,15173,16636,15775,438,9238,11223,12093,13792,16657,14457,16662,15687,3223,16513,15051,12044,6872,16132,2066,16134,16645,4783,12059,9224,14050,14712,12038,5433,14462,1715,5948,15350,15224,11450,2037,489,13915,16679,14079,5202,16682,6277,10623,9594,14584,8716,16686,16655,16693,3894,14972,13087,2699,10199,8874,16703,10099,4798,16708,12029,8876,1777,9478,10797,4933,13679,9544,1972,15080,584,294,105,2844,8346,6325,348,364,351,11819,11044,14208,9451,
11433,14014,8653,7646,13663,13655,11206,1647,721,11590,14588,8757,16324,12002,3547,8760,350,15125,9772,13641,5031,15813,6322,9377,9543,14099,3674,9583,15703,4195,9752,15313,4886,122,15781,1375,773,6711,13650,11937,16760,10862,9452,11709,3548,10786,16762,1632,15689,4444,11088,13771,9803,15142,6020,6094,11107,6029,11095,9810,11102,11099,9807,11101,6096,9812,11097,6109,9825,9824,9823,16804,9829,11104,11113,6116,16793,11114,9818,9833,6031,8377,13254,12539,15505,8343,6326,11073,15536,13595,9414,13381,
594,16781,10541,10699,5757,16823,13665,353,8236,5602,373,15187,8535,15296,5077,13843,15299,8399,9441,8401,15364,8029,8303,16840,6684,121,1825,13673,8452,9439,10456,14686,15312,16714,10058,11575,5959,16768,4906,5106,16178,1464,15412,14701,789,14133,11472,4677,10049,10166,10049,9901,9428,1717,6497,14236,3605,15668,16783,358,3044,14766,6960,14768,15158,8072,6785,2625,14021,14393,1826,960,14259,10290,11429,14257,16901,3537,13278,14472,14382,437,11770,8767,11944,11595,10551,15919,12200,16619,15844,10460,
6665,16918,15239,1266,16624,14711,6394,16915,10528,3903,10702,16616,11616,2837,11789,16605,8504,15996,6752,14529,15657,909,10946,675,15092,12457,15665,8739,3609,12092,7864,819,15028,15030,13777,13646,8562,13275,14127,1514,109,16349,14991,6137,8631,2030,15945,6817,6137,16943,8663,16869,2578,1685,16363,11241,16199,5679,12808,2712,8801,11503,5534,2510,12813,2865,8807,2863,11510,5849,6041,16960,16756,34,9506,15825,12216,340,3688,98,109,16890,7438,9733,14363,9307,4920,703,15317,13411,8493,10825,14364,
6373,112,52,17002,9748,17004,15319,8628,757,15119,16692,11226,14964,2990,14994,12257,3879,17017,7965,17019,16893,8628,13272,724,15980,16995,1691,5334,10181,11715,15208,3318,14272,353,868,406,14389,8065,16630,9361,46,8408,15704,1527,12108,4496,8365,15704,7624,16785,9132,17060,9341,4248,5119,15298,13865,4576,15189,8368,9189,15708,5996,8395,8856,16818,11359,8391,14180,10581,17074,8186,11018,17078,11195,17081,8393,15709,15712,16846,6440,16848,13903,13877,12444,9846,5753,17097,12274,15131,12221,8529,9569,
9429,11191,16887,8050,11920,13956,5264,1639,14805,4886,1639,14808,12624,5521,8313,12157,5959,15493,15200,3521,17121,8315,1004,9572,15172,4360,15352,16750,729,16856,17127,4413,11344,406,9421,13961,335,1888,6711,13323,5257,14072,17113,11920,9424,15129,2990,120,114,16713,11248,15810,14066,8618,6147,2328,15121,12990,13253,17080,8324,17122,3808,17136,17167,17128,11012,17082,11654,1581,17075,8861,9187,17087,7817,11030,15329,291,258,11414,16702,11226,5097,17115,16867,406,17118,12181,406,17112,4329,3798,
17156,15164,16656,16666,9756,4766,14418,7591,15693,5464,5097,17151,14954,1638,17192,14070,15104,120,17141,3372,17165,8840,14054,7591,55,17101,4329,411,17186,5103,11474,7901,17182,15330,17185,5610,3521,14411,16866,10837,5294,17205,16631,13898,14689,11359,15787,5745,5641,17243,566,16771,2363,17219,576,17250,1384,10006,4510,17199,5804,15416,17202,17248,108,8945,5411,17237,1062,16864,15867,17262,17210,17254,572,14009,15223,16862,10200,17117,17214,4657,1706,17227,13896,48,17207,1062,16565,572,14249,3452,
16770,15130,11594,10903,14263,13923,14668,16928,14466,15015,12196,11634,353,17298,14585,16930,9995,14694,14471,8419,14254,10877,14212,1513,10747,16821,10565,15442,15563,1001,2530,15567,10699,15467,14217,12209,6202,15547,10659,8872,1521,13953,15608,15587,594,17321,14530,1030,17323,9504,288,7353,11210,8521,6195,13976,14434,12017,11277,1744,14438,17125,13674,11328,16733,11389,9300,13246,10524,10874,16627,6273,9796,9511,121,17240,16766,17366,14071,9425,17368,11475,260,6218,2E3,9131,5089,6664,1888,17376,
17290,17371,16139,9842,17099,13258,17378,111,7685,11174,15274,5641,11085,11023,5464,16787,4756,16790,6092,9821,11094,11115,11096,16810,6097,6039,11100,9814,16797,17406,17404,6112,17400,6048,11109,16809,11111,16812,16811,16807,6121,9817,6570,6664,17374,7251,13091,9837,17385,14039,11836,17382,13267,17351,12226,13656,11185,13658,1360,5037,8341,8937,10063,9851,3641,9320,13656,14097,16743,13669,16037,16941,3692,13718,11492,11661,10257,15784,7703,14098,14169,682,14096,8347,17449,3645,353,12016,12143,16898,
355,8428,16997,15469,9476,12087,3619,9909,288,12190,5668,13953,8065,936,8931,728,8933,15268,8704,7864,17286,17279,16043,14017,6945,17148,9372,14511,17311,9379,1571,514,15171,15758,14655,13243,17268,16935,16918,9736,17508,16625,17309,6319,1663,16759,16600,13932,9439,372,97,13022,14773,7538,6628,6806,1596,15326,3754,17392,10929,12764,8155,17268,2496,9755,6311,9350,12103,11226,17520,17528,17246,13898,15386,294,15237,15151,1820,1046,2496,16150,7213,6001,1844,13848,16844,17070,15300,17550,12636,7436,11851,
615,16819,6503,17551,16423,7865,7781,11781,17391,17544,11358,6502,17531,2114,9755,5101,13751,13801,13753,1844,10196,4890,17574,108,17566,17561,13086,9503,17303,13253,12113,12205,6215,10166,6197,6215,10177,1476,10179,7850,17545,15332,828,7896,579,11014,711,2711,8858,17610,544,14373,4171,9081,14171,11836,13085,11850,17591,1643,10490,17586,17588,1596,16648,15807,17560,17527,16526,1125,8593,14772,5338,11839,7054,14774,7095,16206,14777,6260,17634,824,17562,17622,1838,431,17532,14985,4512,12565,14833,17534,
2114,17552,7228,7762,1844,14833,17564,11359,17626,3374,13378,13091,17268,17272,17633,12636,17556,5622,17558,10125,17656,7792,17068,7593,7594,16845,10251,10129,17664,8594,16709,17540,1046,17672,4065,17681,14110,1179,4040,7694,14114,16710,1470,17565,17576,13116,7091,13164,17525,17659,10903,4100,17133,12074,17135,8283,17503,15815,10660,9140,5167,6984,4930,4811,9900,32,1572,4758,11739,119,10038,13740,16842,5621,17690,17674,17682,17619,13162,14916,15556,7539,721,16402,5867,16849,17045,11209,12213,17470,
13707,3622,16733,16604,16918,13989,14011,17361,17518,17051,17580,15327,13898,17668,3110,15797,17241,4912,14019,606,16903,17745,10253,1829,8661,3184,15698,7522,14032,2730,14081,1687,16958,756,17494,4329,17163,9840,15938,16353,7276,9726,13149,4763,10766,4424,14609,16454,12297,14612,9706,5831,13081,8193,17717,7275,12811,5896,8802,16983,1738,11506,2859,16987,453,8809,16990,13532,14166,17780,12850,10857,5552,14438,14432,8065,5097,14421,11770,8966,8937,9067,11428,9137,17349,6570,11734,4534,102,9874,12088,
11503,9755,17028,12671,17252,17824,17489,17826,2206,17776,296,11528,17026,8838,880,17833,17835,3619,1322,13939,7832,17832,79,17834,4927,17836,2857,7089,11418,8749,4137,13410,10372,16727,1905,17859,17853,1743,8621,17863,12357,16979,4942,12810,8197,16985,11505,8204,17808,11508,16988,12819,8811,1654,11920,17823,9920,17825,17857,17851,17872,17861,3619,17875,584,7486,15422,1573,16729,363,16753,17023,17109,8417,11204,11433,15133,16836,11402,373,14397,16602,14198,1093,11136,16626,14381,17499,8591,8780,17759,
4420,5781,11200,10435,11970,12023,10439,12026,10441,16665,17159,12039,9244,17024,10058,17782,4886,1813,11010,17264,3685,17047,10895,8922,10490,17316,17452,9624,621,8963,17486,8965,17843,10858,9451,17480,14266,16825,3548,16731,366,17444,8984,10276,10836,11773,14188,12773,14148,10410,12245,13260,13526,14611,9157,17077,2612,11741,606,15329,620,14185,11766,10407,13176,10431,14142,16499,10233,9650,16171,14121,14156,10340,17976,14157,9166,11779,9908,14192,17461,18005,17478,4804,6437,17979,17394,1903,17982,
9190,12907,17985,9144,15394,16126,14153,10430,10444,14125,14106,18019,14151,17989,14123,18001,18026,10421,17173,4785,11544,8860,10096,14164,15381,3700,18013,11477,8178,14751,16096,14184,14145,18033,11704,17992,11767,614,16752,365,4320,18055,351,14150,11142,816,13223,17973,14108,14147,18050,10274,10105,18012,4768,3823,17063,14426,13981,6200,11602,12281,16936,10505,14203,16573,17509,14206,16607,18079,17360,17923,16628,11160,16580,9095,11651,9327,11653,9181,6209,384,17988,6202,15331,17307,14216,18061,
6381,12210,303,16834,13662,17473,14518,17799,15848,13635,2943,12812,17807,8804,18117,5897,12818,17885,12820,14296,5577,14473,34,17908,17954,14214,8854,15139,15707,11543,5989,11545,14162,11019,10098,17181,6336,1145,10795,15802,17007,14194,18006,17571,14193,14191,3691,16745,8873,17187,9110,14197,18076,10556,14668,14199,18078,16918,11628,16932,17513,10860,18089,13933,18091,15468,17910,9650,11802,18106,257,12106,11050,16668,18110,14218,9476,16134,9091,315,9334,16777,9336,17918,909,18163,18086,6394,5772,
17511,16926,18165,11205,18185,17517,10877,16003,5785,11518,682,5789,10999,8134,14802,8136,8138,15809,17201,17938,16970,14269,13780,8743,8893,404,15138,11014,1700,13774,17398,1708,1700,3931,9112,11912,8147,15631,4508,9112,3188,10932,6419,15193,8163,8396,18135,11670,14168,15486,8170,15802,11464,14467,13890,9234,18073,7904,15397,8883,16687,10372,15790,17539,10058,11570,8230,9232,15350,6354,12154,17950,18109,17909,256,6152,11120,99,9783,17366,15252,17242,17120,17171,14425,1001,17963,728,17137,8559,9208,
8378,16828,753,18280,11080,10650,2112,17252,18282,3808,18288,18293,8753,5068,711,17894,15692,17530,14111,8980,5925,15840,8919,11325,6339,10042,8980,11118,11030,18270,11770,18273,6142,15843,10252,5296,477,17049,17953,853,18288,10071,16825,4760,3937,2753,111,2450,16643,11975,383,10084,18272,17429,9355,11924,4599,16859,262,18285,5397,9591,10009,13765,18154,15017,18277,1836,9137,18295,18351,9165,14335,10084,18315,18338,9132,17285,5848,3401,18300,17572,16200,17143,111,17145,13472,17046,8764,17502,1606,
17713,3937,13676,14248,13693,17961,11204,14298,13974,5473,11354,197,10467,14240,8065,17943,4906,11004,691,1666,15677,18247,17200,17697,614,17496,10848,18379,12185,15799,17439,5237,437,17291,6651,17498,6730,257,15672,665,10612,10423,17352,16857,8065,16859,6914,17686,10058,1639,1387,16972,9161,16689,583,3823,10642,10375,18422,14459,14700,6517,16873,18432,5987,13830,9895,9184,18440,10383,7733,5791,11813,15063,18211,17697,16881,1667,16883,1503,17460,319,86,2715,6925,306,14704,18129,256,4244,3048,5881,
17856,14055,6437,1518,5948,17123,11965,952,373,13125,12297,638,279,728,970,3050,807,5336,277,18019,15341,8137,14159,14103,13173,18065,11775,18002,17993,18488,14970,4775,11375,3935,65,14647,1852,16691,15922,8629,4820,9125,10479,12038,15226,17935,15228,18501,2054,18504,10200,10400,18210,16028,18052,17991,18494,18053,2196,3561,3563,472,14642,3971,3560,3562,282,15986,6460,287,18531,18527,3565,8696,6437,18509,14052,3798,10307,5611,18514,18503,9050,14588,5708,11378,15980,10019,11830,3552,10422,4690,4817,
77,18519,16099,17999,17974,14187,18492,10410,850,8079,259,17258,1619,15686,17938,16923,1239,16007,10054,18571,4240,16680,14052,4016,9316,2525,10171,9125,18030,10393,11765,18031,18524,3579,10206,10193,277,18547,1595,17146,17261,15886,14350,9499,1633,4628,12227,10992,678,486,8186,10182,8848,12784,6008,514,12401,7292,2624,621,554,114,15571,9132,15406,2799,14341,11364,112,6446,1592,407,18542,16657,11747,7488,710,18475,13335,8989,8385,11308,18480,10997,18483,513,18485,18557,619,970,18585,4810,14045,18588,
18027,18590,14126,11768,10413,101,18650,10172,15979,18520,18523,18522,18067,14189,7979,18507,14045,258,1880,1813,5298,2008,11736,3792,8534,8186,18675,5486,18677,3520,14141,3798,18597,18516,11975,8515,9761,3531,8194,5119,488,16001,520,8186,18694,850,608,3282,4035,18669,4694,18686,18549,18505,15605,17165,17765,9137,8590,7095,1107,5745,10251,282,107,2380,18627,18629,10198,15016,11975,6403,8082,4506,108,18579,18461,10372,1633,11377,9137,5528,18703,9078,18496,2382,8440,11681,16567,18157,14690,11639,11137,
6816,8238,5294,18194,11150,11043,17304,9210,11948,18751,11640,14850,11836,67,15984,2257,14730,13651,15892,16590,18090,14213,256,5658,65,11896,14569,323,10822,15600,10713,4554,15527,15344,17334,17003,14768,15621,5286,14232,8716,14647,323,18128,15561,15586,17319,594,15509,40,41,32,61,62,1342,4245,9183,15613,1233,555,310,8549,14232,17719,323,262,11836,15553,15633,17310,18167,18791,18780,18793,18782,9526,15621,4261,514,115,78,6249,14232,319,18812,5701,17859,4797,18825,18814,15507,11028,18779,10693,16587,
15156,8485,18823,8843,18826,18828,14545,853,11793,15621,2850,5701,15625,6300,1739,543,18831,9236,16585,18792,15643,1001,18850,10592,18852,6302,14232,5658,66,10185,18845,18827,15323,13244,18815,296,1244,18712,15641,18861,18841,15751,18843,10592,18824,3812,18873,679,10596,15115,8018,17050,8446,17052,7605,18362,16870,16642,11466,13904,5679,8362,17063,9448,15863,4529,3837,17058,3907,17065,11516,17728,5141,17557,16068,9178,18131,9180,8373,17177,17077,11544,17079,555,17089,17073,15709,18921,18017,18923,
17088,18235,10030,17086,18931,18291,16847,2491,18896,5685,18360,8407,8409,9451,8353,5580,275,11961,11264,1575,15255,10308,1667,16761,18462,416,1499,17947,9390,9414,8555,15683,292,725,9545,422,9391,9875,12396,1499,17196,7709,9414,18972,13579,9364,11320,116,17193,1425,1499,18962,15170,18964,1145,18966,17338,17390,9159,5685,1499,17190,12749,18958,18381,18181,16758,18953,5063,17500,10060,17969,10797,14117,18653,11764,11705,14186,17993,14117,18029,18049,18E3,18025,19014,11707,10331,18558,9742,13732,8956,
19006,18051,18664,10230,4038,11E3,17458,14982,3270,14215,17998,10391,18666,17975,19035,18003,4080,14219,19033,18521,11754,19008,17990,10299,18933,12297,14161,17091,18138,9193,17692,8659,10154,12452,274,1892,10367,15921,18623,17260,18574,18047,14234,18562,19034,19016,19043,19042,11997,11345,15383,1717,11778,3688,18147,13686,15531,18150,14196,18742,340,17356,11827,18757,7293,10534,18084,14674,18195,1042,18077,13288,17308,8907,1568,14687,19095,9322,1568,14667,17308,14738,18767,9646,12208,18094,6209,
5658,1666,15662,13938,16947,15572,18837,12749,14215,8336,452,15171,17379,526,97,10800,18776,10753,7292,115,10626,8682,10290,11810,18048,14235,16836,16725,2715,514,15355,7620,15350,9439,3812,10246,83,9445,603,15273,8730,17637,4599,9736,15190,19129,339,8858,19155,44,102,10245,97,16907,15417,15180,15347,15356,9456,369,18914,7210,18132,11628,243,4460,12894,1734,4528,13348,1890]});
define("iz",["require","en","pf"],function(a){function e(f){var p=c[f];if(p)return p;if("string"!=typeof f)return c[f]=function(){return f};var q=(p=d.exec(f))&&parseFloat(p[1]);switch(p&&p[4]&&p[4].toLowerCase()){case "vw":return c[f]=function(n){return n*q};case "vh":return c[f]=function(n,r){return r*q};case "vmin":return c[f]=function(n,r,t){return t*q};case "vmax":return c[f]=function(n,r,t,u){return u*q};default:return c[f]=function(){return f}}}function l(f){this.gb=f;this.EJ=this.EJ.bind(this);
this.gb.bind(b.oc,this.Bc,this,!0);this.Eca=new Map;this.QU=[];this.Bc()}function m(f,p,q,n){var r={};r.instance=f;r.W7a=p;r.name=q;r.value=n;h.push(r);g||(g=setTimeout(function(){g=null;k()},100))}function k(){g&&(clearTimeout(g),g=null);var f=h;h=[];f.forEach(function(p){l.U_(p.instance,p.W7a,p.name,p.value)})}a("en");var b=a("pf");l.prototype.Bc=function(){this.KZa();this.Eca.forEach(function(f){for(var p in f)this.EJ(f[p])}.bind(this));this.QU.forEach(this.EJ)};l.prototype.KZa=function(){var f=
this.gb.yb();this.L_=.01*this.gb.Xa();this.F_=.01*f;this.jya=Math.min(this.L_,this.F_);this.iya=Math.max(this.L_,this.F_)};l.prototype.EJ=function(f){f(this.L_,this.F_,this.jya,this.iya)};l.prototype.k_a=function(f){this.QU.push(f)};l.prototype.l5a=function(f){f=this.QU.indexOf(f);0<=f&&this.QU.splice(f,1)};l.prototype.U_=function(f,p,q,n){function r(u,v,w,x){p.call(f,q,t(u,v,w,x))}var t=e(n);(n=this.Eca.get(f))||this.Eca.set(f,n={});n[q]=r;r(this.L_,this.F_,this.jya,this.iya)};l.cd=new Map;l.get=
function(f){var p=l.cd.get(f);p||(p=new l(f),l.cd.set(f,p));return p};l.U_=function(f,p,q,n){var r=f.get&&f.get("application")||f.ob&&f.ob();r?(k(),l.get(r).U_(f,p,q,n)):m(f,p,q,n)};var h=[],g=null,c={},d=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return l});
define("mB",["require","exports"],function(){return function(){function a(){}a.Gga=function(e){if(this.gg("crossorigin",!1))return!0;if(this.n1(e)){var l=window.location.protocol+"//"+window.location.hostname;window.location.port&&(l+=":"+window.location.port);return e.substring(0,l.length)!=l}return!1};a.Dx=function(e,l){if(this.K3a(e))e=window.location.protocol+e;else if(!this.n1(e)&&!this.yA(e)){if(l)if(0==e.indexOf("/")){var m=l.indexOf("//"),k="";0<=m&&(k=l.substr(0,m+2),l=l.substr(m+2));m=l.indexOf("/");
0<m&&(l=l.substr(0,m));e=k+l+e}else e=l+e;this.mn.href=e;e=this.mn.href}return e};a.w3a=function(){switch(window.location.protocol){case "http:":case "https:":return!0;default:return!1}};a.K3a=function(e){return 0===e.indexOf("//")};a.n1=function(e){if(!e)return!1;var l=e.indexOf("://");return 3<=l&&5>=l?!0:0==e.indexOf("filesystem:")};a.E3a=function(e){return e&&0<=e.indexOf("/pdfjs/")};a.getDirectory=function(e){e=this.Dx(e);e=e.split("?")[0];e=e.split("/");1<e.length&&e.splice(e.length-1,1);return e.join("/")+
"/"};a.rj=function(e){this.oI||(this.oI=this.Lpa());return void 0!==this.oI[e]};a.getQueryParameter=function(e){this.oI||(this.oI=this.Lpa());return this.oI[e]};a.hGa=function(e,l){var m=e.split(l);e=m[0];(m=m.slice(1).join(l))&&(m=l+m);return[e,m]};a.iA=function(e,l){if(!l)return e;var m=this.hGa(e,"#"),k=m[1];m=this.hGa(m[0],"?");var b=m[0];m=m[1];return 0<=m.indexOf(l)?e:b+(m+(m?"&":"?")+l)+k};a.parse=function(e){this.mn.href=e;e={};e.protocol=this.mn.protocol;e.hostname=this.mn.hostname;e.port=
this.mn.port;e.pathname=this.mn.pathname;e.search=this.mn.search;e.hash=this.mn.hash;e.host=this.mn.host;var l=e.pathname?e.pathname.lastIndexOf("."):-1;e.b1a=0<=l?e.pathname.substr(l).toLowerCase():"";return e};a.getExtension=function(e){e=this.parse(e).pathname;var l=e.lastIndexOf(".");return 0<=l?e.substr(l,e.length):""};a.gg=function(e,l){e=(this.getQueryParameter(e)||"").toLowerCase();return this.P4a(e,l)};a.P4a=function(e,l){switch(e){case "false":case "0":case "no":case "n":return!1;case "true":case "1":case "yes":case "y":return!0;
default:return l}};a.BAa=function(e,l){e=parseInt(this.getQueryParameter(e));return isNaN(e)?l:e};a.R0=function(e){e=parseFloat(this.getQueryParameter(e));return isNaN(e)?void 0:e};a.Lpa=function(){for(var e={},l=window.location.hash.substring(1).split("&").concat(window.location.search.substring(1).split("&")),m=0;m<l.length;m++){var k=l[m].split("="),b=decodeURIComponent(k[0]);k=1<k.length?decodeURIComponent(k[1]):null;e[b]=k}return e};a.mn=document.createElement("a");a.oI=null;a.yA=function(e){return e&&
0==e.indexOf("data:")};return a}()});
define("lE",["require","exports"],function(){function a(g,c){function d(){}d.prototype=c.prototype;g.prototype=new d;g.prototype.constructor=g}function e(g,c){c.forEach(function(d){Object.getOwnPropertyNames(d).forEach(function(f){g.prototype[f]=d[f]})})}function l(g){setTimeout(function(){try{g()}catch(c){k("Deferred callback failed",c)}},1)}function m(g){if(g!=h){h=g;try{if(b){var c=document.createElement("div");c.innerText=g;b.insertBefore(c,b.childNodes[0]||null)}else console.log(g)}catch(d){}}}
function k(g,c){var d=[];d.push("Exception: "+g);c.message?(d.push(c.message),d.push(c.stack)):d.push(c);m(d.join("\n"))}var b,h;return{Y_:e,O0a:function(g){for(;;){var c=g.pop();if(!c)break;if(c==g.length)break;g.splice(c,1)}c=[];for(var d=0;256>d;d+=1)c[d]=String.fromCharCode(d);var f=256,p=String.fromCharCode(g[0]),q=p;for(d=1;d<g.length;d+=1){var n=g[d];n=c[n]?c[n]:p+p.charAt(0);q+=n;c[f++]=p+n.charAt(0);p=n}return JSON.parse(q)},defer:l,deferred:function(g,c){return function(){var d=arguments;
l(function(){g.apply(c||window,d)})}},extend:function(){var g=arguments[arguments.length-1],c=Array.prototype.slice.call(arguments,1,arguments.length-1);a(g,arguments[0]);e(g,c);return g},$0a:function(g){b=document.createElement("div");b.style.overflow="auto";b.style.position="absolute";b.style.bottom="0";b.style.left="0";b.style.right="0";b.style.padding="20px";b.style.fontFamily="Verdana";b.style.backgroundColor="#FFFFFF";b.style.color="#000000";b.style.zIndex="100";g?b.style.top="0":(b.style.width=
"40%",b.style.right="0",b.style.left="auto",b.style.height="50%",b.style.filter="alpha(opacity=60)",b.style.opacity="0.6");document.body.appendChild(b);console.log=function(c){m(c)}},log:m,dS:k,ip:function(g,c){var d=!1;return function(){d||(d=!0,l(function(){d=!1;g.apply(c||window)}))}},e5a:function(g){for(var c=[],d=0;d<g;d++)c.push(Math.floor(16*Math.random()).toString(16));return c.join("")},toArray:function(g){return void 0===g||null===g?[]:Array.isArray(g)?g:[g]},X2a:function(g,c){if(g.length!=
c.length)return!1;for(var d=0;d<g.length;d++)if(g[d]!=c[d])return!1;return!0},isString:function(g){var c="[object "+g+"]";return function(d){return Object.prototype.toString.call(d)===c}}("String")}});
define("nU","require jquery.mod en bp iz mB lE".split(" "),function(a){function e(c,d,f){this.jC=c;this.kM=f;this.rY=d.parent;this.PRa=d.isValidRoot||!1;this.Vaa={};this.Paa=[];this.Uta=[];this.Tta=[];this.sV={};c=d.properties||{};for(var p in c)f=c[p],this.Vaa[p]=f.type,f.isUrl&&this.Uta.push(p),f.isSize&&this.Tta.push(p),void 0!==f.order&&(this.Paa[f.order]=p),void 0!==f["default"]&&(this.sV[p]=f["default"]);this.Rta=[];this.Sta=[];d=d.events||{};for(var q in d)d[q].isDeferred?this.Rta.push(q):
this.Sta.push(q);this.ez=this.Oy=this.MM=this.EZ=this.ZD=this.z_=this.qE=this.fH=this.DG=this.WL=void 0;this.Iqa=!1}var l=a("jquery.mod"),m=a("en"),k=a("bp"),b=a("iz"),h=a("mB"),g=a("lE");k=g.O0a(k);e.prototype.g2a=function(){if(this.rY)return e.Oi(this.rY)};e.prototype.NE=function(){return this.jC};e.prototype.zR=function(){return this.bz()?this.yv().zR().concat(this.jC):[this.jC]};e.prototype.hasAttributes=function(){return 0<this.getAttributeNames().length};e.prototype.hasAttribute=function(c){return this.Xfa(c)?
!0:!1};e.prototype.getAttributeNames=function(){void 0==this.WL&&this.Hna();return this.WL};e.prototype.NAa=function(){if(this.Paa)return this.Paa;if(this.bz())this.yv().NAa();else return[]};e.prototype.qAa=function(){if(this.fH)return this.fH;this.fH={};if(this.bz()){var c=this.yv().qAa(),d;for(d in c)this.fH[d]=c[d]}if(this.sV)for(d in this.sV)this.fH[d]=this.sV[d];return this.fH};e.prototype.Xfa=function(c){void 0==this.DG&&this.Hna();return this.DG[c]};e.prototype.V2a=function(){return 0<this.YAa().length};
e.prototype.YAa=function(){void 0==this.qE&&this.Pna();return this.qE};e.prototype.u2a=function(){void 0==this.z_&&this.Pna();return this.z_};e.prototype.T2a=function(){return 0<this.UAa().length};e.prototype.UAa=function(){void 0==this.ZD&&this.Ona();return this.ZD};e.prototype.s2a=function(){void 0==this.EZ&&this.Ona();return this.EZ};e.prototype.G2a=function(){return 0<this.aga().length};e.prototype.iBa=function(c){void 0==this.Oy&&this.XG();return-1!=this.Oy.indexOf(c)};e.prototype.aga=function(){void 0==
this.Oy&&this.XG();return this.Oy};e.prototype.L2a=function(){return 0<this.gga().length};e.prototype.jBa=function(c){void 0==this.ez&&this.XG();return-1!=this.ez.indexOf(c)};e.prototype.gga=function(){void 0==this.ez&&this.XG();return this.ez};e.prototype.I2a=function(c){void 0==this.MM&&this.XG();return-1!=this.MM.indexOf(c)};e.prototype.O1a=function(){void 0==this.MM&&this.XG();return this.MM};e.prototype.CAa=function(){return this.PRa||this.bz()&&this.yv().CAa()};e.prototype.pm=function(c,d,f,
p){this.jUa(d,f);var q=this.kM;var n=p&&0<p.length?new (g.extend(q,function(){q.apply(this,p)})):new q;n.set("application",c);n.set("baseDirectoy",d);n.set("queryStringParameters",f);n.set("class",this.NE());return n};e.prototype.jUa=function(c,d){this.Iqa||(this.Iqa=!0,this.FNa(c,d),this.sOa(),this.$Ja())};e.prototype.FNa=function(c,d){if(this.V2a()||this.T2a()){var f=this.kM.prototype,p=this.u2a(),q=this.s2a(),n=f.set;f.set=function(r,t){p[r]?(!t||h.yA(t)||h.n1(t)||h.E3a(t)||(t=h.iA(h.Dx(t,c),d)),
n.call(this,r,t)):q[r]?b.U_(this,n,r,t):n.call(this,r,t)}}};e.prototype.$Ja=function(){var c=this.kM.prototype;this.getAttributeNames().forEach(function(d){Object.defineProperty(c,d,{get:function(){return this.get(d)},set:function(f){this.set(d,f)},enumerable:!0,configurable:!0})})};e.prototype.sOa=function(){var c=this.kM.prototype,d=this;this.hasAttributes()&&(c.set=c.set,c.get=c.get);if(this.G2a()||this.L2a())c.bind=c.bind,c.getBindings=c.YJ,c.hasBindings=c.b1,c.trigger=c.trigger,c.unbind=c.unbind;
c.getClassName=function(){return d.NE()};c.getClassPath=function(){return d.zR()};c.getAttributeNames=function(){return d.getAttributeNames()};c.getEventNames=function(){return d.O1a()};c.hasEvent=function(f){return d.I2a(f)}};e.prototype.Hna=function(){this.WL=[];this.DG={};for(var c in this.Vaa)this.WL.push(c),this.DG[c]=e.Q8(this.Vaa[c]);if(this.bz())for(var d=this.yv(),f=d.getAttributeNames(),p=0;p<f.length;p++)c=f[p],this.DG[c]||(this.WL.push(c),this.DG[c]=d.Xfa(c))};e.prototype.Pna=function(){this.qE=
this.Uta.slice();this.bz()&&(this.qE=m(this.qE).union(this.yv().YAa()));this.z_={};for(var c=0;c<this.qE.length;c++)this.z_[this.qE[c]]=!0};e.prototype.Ona=function(){this.ZD=this.Tta.slice();this.bz()&&(this.ZD=m(this.ZD).union(this.yv().UAa()));this.EZ={};for(var c=0;c<this.ZD.length;c++)this.EZ[this.ZD[c]]=!0};e.prototype.XG=function(){this.Oy=this.Rta.slice();this.ez=this.Sta.slice();this.bz()&&(this.Oy=m(this.Oy).union(this.yv().aga()),this.ez=m(this.ez).union(this.yv().gga()));this.MM=m(this.Oy).union(this.ez)};
e.prototype.bz=function(){return this.rY?!0:!1};e.prototype.yv=function(){return e.Oi(this.rY)};e.M6=new Map;e.ina=new Map;e.define=function(c,d,f){d=g.extend(d,function(){f.apply(this,arguments);var q=p.qAa(),n;for(n in q)this.set(n,q[n])});var p=new e(c,k[c],d);e.M6.set(c,p);e.ina.set(d,p);return d};e.getAll=function(){var c=[];e.M6.forEach(function(d){c.push(d)});return c};e.Oi=function(c){return e.M6.get(c)};e.x1a=function(c){return e.ina.get(c)};e.Ia=function(c,d){c=e.Oi(c);if(m(d).isNull())return!0;
if(d&&d.constructor)for(d=e.x1a(d.constructor);d;){if(d==c)return!0;d=d.g2a()}return!1};e.Q8=function(c){switch(c){case "string":case "code":return e.AXa;case "number":return e.nSa;case "bool":return e.xLa;case "color":return e.xMa;case "percent":return e.UTa;case "size":return e.TWa;case "identifier":return e.$Qa;case "array":return e.nma;case "canvas":return e.WLa;case "img":return e.cRa;case "dict":return e.VTa;case "*":return e.hOa;default:if(e.xRa(c))switch(e.mPa(c)){case "array":var d=e.Q8(e.$oa(c));
return function(q,n){q=e.nma(q,n);for(var r=0;r<q.length;r++)q[r]=d(q[r],n);return q};case "enum":var f=e.apa(c);return e.oPa(f);case "or":f=e.apa(c);var p=m(f).map(function(q){return e.Q8(q)});return function(q,n){for(var r=0;r<p.length;r++)try{return p[r](q,n)}catch(t){}throw"Invalid value";};default:throw"Invalid type validator definition: "+c;}else return e.Ym(function(q){return e.Ia(c,q)})}};e.xRa=function(c){return 0<=c.indexOf("[")&&c.lastIndexOf("]")==c.length-1};e.mPa=function(c){return c.substring(0,
c.indexOf("["))};e.$oa=function(c){return c.substring(c.indexOf("[")+1,c.lastIndexOf("]"))};e.apa=function(c){c=e.$oa(c);for(var d=[],f="",p=0,q=0;q<c.length;q++){var n=c.charAt(q);f+=n;switch(n){case "[":p++;break;case "]":p--;break;case ",":0==p&&(d.push(f.substr(0,f.length-1)),f="")}}""!=f&&d.push(f);return m(d).map(function(r){return e.tYa(r)})};e.tYa=function(c){return c.replace(/^\s+|\s+$/g,"")};e.Ym=function(c){return function(d,f){if(!c(d)){if("string"!=typeof d)throw"Invalid value";d=e.qOa(d,
f);if(!c(d))throw"Invalid value";}return d}};e.qOa=function(c,d){return function(){return eval(c)}.call(d)};e.hOa=function(c){return c};e.nSa=e.Ym(function(c){return"[object Number]"==Object.prototype.toString.call(c)});e.AXa=e.Ym(function(c){return"string"==typeof c||null===c});e.xLa=e.Ym(function(c){return!0===c||!1===c});e.nma=e.Ym(function(c){return"[object Array]"==Object.prototype.toString.call(c)});e.WLa=e.Ym(function(c){return c&&"CANVAS"==c.tagName});e.cRa=e.Ym(function(c){return c&&"IMG"==
c.tagName});e.oPa=function(c){return e.Ym(function(d){return-1!=c.indexOf(d)})};e.PV=function(c,d){return m(c).isString()&&d.test(c)};e.$Qa=e.Ym(function(c){return e.PV(c,RegExp("^[a-z][a-z0-9_]*$","i"))});e.UTa=e.Ym(function(c){return e.PV(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)%\\s*$","i"))});e.TWa=e.Ym(function(c){return e.PV(c,RegExp("^\\s*([+-]?\\d+\\.?\\d*)\\s*((vw)|(vh)|(vmin)|(vmax)|(px))\\s*$","i"))});e.xMa=e.Ym(function(c){return e.PV(c,RegExp("^#[0-9a-f]{6}$","i"))});e.VTa=e.Ym(function(c){try{return l.isPlainObject(c)}catch(d){return!1}});
window.TDV.PlayerAPI.getClassByName=function(c){return e.Oi(c).kM};return e});
define("iW",["require"],function(){function a(){b[0]=b[1]=b[2]=b[3]=b[4]=b[5]=b[6]=b[7]=b[8]=b[9]=b[10]=b[11]=b[12]=b[13]=b[14]=b[15]=b[16]=0;this.ffa=b;this.JR=1779033703;this.KR=3144134277;this.LR=1013904242;this.MR=2773480762;this.NR=1359893119;this.OR=2600822924;this.PR=528734635;this.QR=1541459225;this.block=this.start=this.mA=this.tga=0;this.Ufa=this.d1=!1;this.first=!0}var e="0123456789abcdef".split(""),l=[-2147483648,8388608,32768,128],m=[24,16,8,0],k=[1116352408,1899447441,3049323471,3921009573,
961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,
883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=[];a.prototype.update=function(h){if(!this.Ufa){for(var g,c=0,d,f=h.length,p=this.ffa;c<f;){this.d1&&(this.d1=!1,p[0]=this.block,p[16]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=0);for(d=this.start;c<f&&64>d;++c)g=h.charCodeAt(c),128>g?p[d>>2]|=g<<m[d++&3]:(2048>g?p[d>>2]|=(192|g>>6)<<m[d++&3]:(55296>g||57344<=g?p[d>>
2]|=(224|g>>12)<<m[d++&3]:(g=65536+((g&1023)<<10|h.charCodeAt(++c)&1023),p[d>>2]|=(240|g>>18)<<m[d++&3],p[d>>2]|=(128|g>>12&63)<<m[d++&3]),p[d>>2]|=(128|g>>6&63)<<m[d++&3]),p[d>>2]|=(128|g&63)<<m[d++&3]);this.O3a=d;this.mA+=d-this.start;64<=d?(this.block=p[16],this.start=d-64,this.hash(),this.d1=!0):this.start=d}4294967295<this.mA&&(this.tga+=this.mA/4294967296<<0,this.mA%=4294967296);return this}};a.prototype.Xza=function(){if(!this.Ufa){this.Ufa=!0;var h=this.ffa,g=this.O3a;h[16]=this.block;h[g>>
2]|=l[g&3];this.block=h[16];56<=g&&(this.d1||this.hash(),h[0]=this.block,h[16]=h[1]=h[2]=h[3]=h[4]=h[5]=h[6]=h[7]=h[8]=h[9]=h[10]=h[11]=h[12]=h[13]=h[14]=h[15]=0);h[14]=this.tga<<3|this.mA>>>29;h[15]=this.mA<<3;this.hash()}};a.prototype.hash=function(){var h=this.JR,g=this.KR,c=this.LR,d=this.MR,f=this.NR,p=this.OR,q=this.PR,n=this.QR,r=this.ffa,t;for(t=16;64>t;++t){var u=r[t-15];var v=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3;u=r[t-2];u=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10;r[t]=r[t-16]+v+r[t-7]+u<<0}var w=
g&c;for(t=0;64>t;t+=4){if(this.first){var x=704751109;u=r[0]-210244248;n=u-1521486534<<0;d=u+143694565<<0;this.first=!1}else{v=(h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10);u=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7);x=h&g;var y=x^h&c^w;var z=f&p^~f&q;u=n+u+z+k[t]+r[t];v+=y;n=d+u<<0;d=u+v<<0}v=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10);u=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7);w=d&h;y=w^d&g^x;z=n&f^~n&p;u=q+u+z+k[t+1]+r[t+1];v+=y;q=c+u<<0;c=u+v<<0;v=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10);
u=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7);x=c&d;y=x^c&h^w;z=q&n^~q&f;u=p+u+z+k[t+2]+r[t+2];v+=y;p=g+u<<0;g=u+v<<0;v=(g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10);u=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7);w=g&c;y=w^g&d^x;z=p&q^~p&n;u=f+u+z+k[t+3]+r[t+3];v+=y;f=h+u<<0;h=u+v<<0}this.JR=this.JR+h<<0;this.KR=this.KR+g<<0;this.LR=this.LR+c<<0;this.MR=this.MR+d<<0;this.NR=this.NR+f<<0;this.OR=this.OR+p<<0;this.PR=this.PR+q<<0;this.QR=this.QR+n<<0};a.prototype.Y2a=function(){this.Xza();var h=this.JR,
g=this.KR,c=this.LR,d=this.MR,f=this.NR,p=this.OR,q=this.PR,n=this.QR;return e[h>>28&15]+e[h>>24&15]+e[h>>20&15]+e[h>>16&15]+e[h>>12&15]+e[h>>8&15]+e[h>>4&15]+e[h&15]+e[g>>28&15]+e[g>>24&15]+e[g>>20&15]+e[g>>16&15]+e[g>>12&15]+e[g>>8&15]+e[g>>4&15]+e[g&15]+e[c>>28&15]+e[c>>24&15]+e[c>>20&15]+e[c>>16&15]+e[c>>12&15]+e[c>>8&15]+e[c>>4&15]+e[c&15]+e[d>>28&15]+e[d>>24&15]+e[d>>20&15]+e[d>>16&15]+e[d>>12&15]+e[d>>8&15]+e[d>>4&15]+e[d&15]+e[f>>28&15]+e[f>>24&15]+e[f>>20&15]+e[f>>16&15]+e[f>>12&15]+e[f>>
8&15]+e[f>>4&15]+e[f&15]+e[p>>28&15]+e[p>>24&15]+e[p>>20&15]+e[p>>16&15]+e[p>>12&15]+e[p>>8&15]+e[p>>4&15]+e[p&15]+e[q>>28&15]+e[q>>24&15]+e[q>>20&15]+e[q>>16&15]+e[q>>12&15]+e[q>>8&15]+e[q>>4&15]+e[q&15]+e[n>>28&15]+e[n>>24&15]+e[n>>20&15]+e[n>>16&15]+e[n>>12&15]+e[n>>8&15]+e[n>>4&15]+e[n&15]};a.prototype.digest=function(){this.Xza();var h=this.JR,g=this.KR,c=this.LR,d=this.MR,f=this.NR,p=this.OR,q=this.PR,n=this.QR;return[h>>24&255,h>>16&255,h>>8&255,h&255,g>>24&255,g>>16&255,g>>8&255,g&255,c>>
24&255,c>>16&255,c>>8&255,c&255,d>>24&255,d>>16&255,d>>8&255,d&255,f>>24&255,f>>16&255,f>>8&255,f&255,p>>24&255,p>>16&255,p>>8&255,p&255,q>>24&255,q>>16&255,q>>8&255,q&255,n>>24&255,n>>16&255,n>>8&255,n&255]};return function(h){return(new a(!0)).update(h).Y2a()}});
define("bY",["require","iW"],function(a){function e(){for(var b=[[256,"9799e3eb6096a48f515a94324200b7af24251a4131eccf9a2cd65d012a1f5c71"],[1024,"cbab1f6d618e723188cfdb1c7c3f47146e46da4da56030386d85055016afd5d9"],[1E4,"d9c4539649520e3f4a35e5a3331b0fbdc67958dd64ef65a83a75d545413643dd"]],h=0;h<b.length;h++){var g=Array.apply(null,Array(b[h][0])).map((c,d)=>String.fromCharCode(d%256)).join("");if(k(g)!=b[h][1])return!1}return!0}function l(b){var h=Array.isArray(b)?"array":null===b?"null":typeof b;switch(h){case "array":return"["+
b.map(l).join(",")+"]";case "object":return"{"+Object.keys(b).sort().map(function(g){return l(g)+":"+l(b[g])}).join(",")+"}";case "boolean":return b?"true":"false";case "number":return b.toFixed(3);case "string":return'"'+b.split('"').join('\\"')+'"';case "null":case "undefined":return h;case "function":return"<"+h+">"}return""}function m(b){return b.map(function(h){return String.fromCharCode(h)}).join("")}var k=a("iW");return{validate:function(b){var h=[104,97,115,104],g=[116,100,118],c=window.location[m([111,
114,105,103,105,110])],d=b[m(h)];delete b[m(h)];b=m(g)+l(b);b=k(b);g=m(g)+c;g=k(g);return b==d||g==d||!e()}}});
define("lH",["require","exports","lE"],function(a,e,l){function m(){var d=h.length,f=h.splice(0,d);b+=d;for(var p=0;p<d;p++){var q=f[p];if(q)try{q()}catch(n){l.dS("Error in async task",n)}}}var k=0,b=0,h=[],g,c=new Promise(function(d){d()});setInterval(function(){0<h.length&&100<(new Date).getTime()-g&&m()},100);return{OA:function(d,f){void 0===f&&(f=void 0);if(void 0!==f&&0<f)return-1-setTimeout(d,f||1);0==h.length&&(c.then(m),g=(new Date).getTime());k++;h.push(d);return k-1},cancel:function(d){if(0>
d)clearTimeout(-1-d);else{var f=d-b;if(0<=f){if(!h[f])throw"invalid async handle: "+d;h[f]=null}}}}});
define("gv",["require","exports","cC","lH","lE"],function(a,e,l,m,k){var b=function(){return function(){}}();return function(){function h(){this.Ec={}}h.prototype.N_a=function(g,c,d){this.Fma(g,c,d,!0,c,!0,!1)};h.prototype.bind=function(g,c,d,f,p,q){void 0===q&&(q=!1);return this.Fma(g,c,d,f,p||c,!1,q)};h.prototype.Fma=function(g,c,d,f,p,q,n){if(void 0===g)throw"Event name undefined";if(void 0===c)throw"Event handler undefined";d=d||this;f=f?!0:!1;g in this.Ec||(this.Ec[g]=[]);var r=new b;r.RR=c;
r.C2a=p||c;r.context=d;r.BBa=f;r.s3a=n;g=this.Ec[g];q?g.unshift(r):g.push(r);return this};h.prototype.unbind=function(g,c,d){g in this.Ec&&(d=d||this,this.Ec[g]=this.Ec[g].filter(function(f){return f.RR!=c||f.context!=d}),0==this.Ec[g].length&&delete this.Ec[g]);return this};h.prototype.R8a=function(g){g in this.Ec&&delete this.Ec[g]};h.prototype.nja=function(){this.Ec={}};h.prototype.trigger=function(g,c){void 0===c&&(c=void 0);"string"==typeof g&&(g=new l(g,c));g.name in this.Ec&&(g.source=this,
this.Ay(g,!0),g.name in this.Ec&&this.GNa(g));return this};h.prototype.GNa=function(g){h.tV.push({caller:this,event:g});h.K7||(h.K7=!0,m.OA(h.Xna))};h.Xna=function(){for(var g=(new Date).getTime()+1E3;h.tV.length;){var c=h.tV.shift();h.prototype.Ay.call(c.caller,c.event,!1);if((new Date).getTime()>g)break}0<h.tV.length?m.OA(h.Xna,1):h.K7=!1};h.prototype.b1=function(g){return g in this.Ec};h.prototype.SR=function(g){if(g in this.Ec){g=this.Ec[g];for(var c=0;c<g.length;c++)if(g[c].s3a)return!0}return!1};
h.prototype.YJ=function(g,c){var d=[];g=this.Ec[g]||[];for(var f=0;f<g.length;f++){var p=g[f];void 0!==c&&p.BBa!=c||d.push(p.C2a)}return d};h.prototype.Ay=function(g,c){var d=this;g.unbindCurrentHandler=function(){q&&d.unbind(g.name,q.RR,q.context)};if(g.name in this.Ec)for(var f=this.Ec[g.name],p=0;p<f.length;p++){var q=f[p];if(q.BBa==c)try{q.RR.call(q.context,g)}catch(n){k.dS("Exception handling event "+g.name,n)}}};h.tV=[];h.K7=!1;return h}()});
define("mh",["require","exports","pf","cC","gv"],function(a,e,l,m,k){return function(b){function h(){var g=b.call(this)||this;g.Vu={};return g}Z(h,b);h.prototype.set=function(g,c){this.Vu[g]!=c&&(this.Vu[g]=c,this.bxa(g))};h.prototype.bxa=function(g){g=new m(l.D(g));this.trigger(g)};h.prototype.copy=function(g){this.Vu={};for(var c in g.Vu)this.Vu[c]=g.Vu[c];return this};h.prototype.get=function(g,c){void 0===c&&(c=void 0);g=this.Vu[g];return void 0!==g?g:c};return h}(k)});
define("fk",["require"],function(){function a(e,l,m){this.set("undefined"!=typeof e?e:0,"undefined"!=typeof l?l:0,"undefined"!=typeof m?m:0)}a.prototype.set=function(e,l,m){this.x=e;this.y=l;this.z=m;return this};a.prototype.clone=function(){return new a(this.x,this.y,this.z)};a.prototype.apply=function(e){e.zJ(this)};a.prototype.project=function(e){e.project(this)};return a});
define("a",["require","lE","fk"],function(a){var e=a("lE"),l=a("fk"),m=e.extend(l,function(k,b,h){l.call(this,k,b,h)});m.prototype.clone=function(){return new m(this.x,this.y,this.z)};m.prototype.Sc=function(){return 0==this.x&&0==this.z?0:-Math.atan2(this.x,this.z)};m.prototype.Rc=function(){return 0==this.y&&0==this.z?0:Math.atan2(this.y,Math.sqrt(this.z*this.z+this.x*this.x))};m.prototype.iga=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)};m.prototype.PK=function(k){k/=
this.iga();this.x*=k;this.y*=k;this.z*=k;return this};m.prototype.normalize=function(){return this.PK(1)};m.prototype.GE=function(k){return this.x*k.x+this.y*k.y+this.z*k.z};m.prototype.l0=function(k){var b=this.z*k.x-this.x*k.z,h=this.x*k.y-this.y*k.x;this.x=this.y*k.z-this.z*k.y;this.y=b;this.z=h;return this};m.qA=function(k,b){return new m(b.x-k.x,b.y-k.y,b.z-k.z)};m.O0=function(k,b){k=NaN-k;b=NaN-b;return Math.sqrt(k*k+b*b+NaN)};m.Et=function(k,b){return new m(Math.cos(b)*Math.sin(k),Math.sin(b),
Math.cos(b)*Math.cos(k))};return m});
define("jE",["require","mh","nU","a"],function(a){var e=a("mh"),l=a("nU"),m=a("a");a=l.define("AdjacentPanorama",e,function(){e.call(this);this.yea=this.kv=void 0});a.prototype.sAa=function(){if(void 0===this.kv){for(this.kv=this.spa()-this.get("yaw");180<this.kv;)this.kv-=360;for(;-180>this.kv;)this.kv+=360}return this.kv};a.prototype.N1a=function(){void 0===this.yea&&(this.yea=m.Et(this.spa()*Math.PI/180,0));return this.yea};a.prototype.T_a=function(){return void 0!==this.get("yaw")&&void 0!==this.get("backwardYaw")};
a.prototype.spa=function(){return this.get("backwardYaw")-180};return a});define("im",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("AmbientLight",e,function(){e.call(this)})});
define("fn",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("Model3DPostprocessing",e,function(){e.call(this)});a.prototype.WA=function(l){this.Uo!==l&&(this.Uo=l,this.rxa())};a.prototype.yx=function(l){this.WH!==l&&(this.WH=l,this.rxa())};a.prototype.rxa=function(){this.set("disabled",this.WH&&this.get("disableWhileMoving")||this.Uo&&this.get("disableWhileUserInteracting"))};return a});
define("oc",["require","nU","fn"],function(a){var e=a("nU"),l=a("fn");return e.define("AmbientOcclusionModel3DPostprocessing",l,function(){l.call(this)})});define("lg",["require","exports"],function(){return{W:"stopped",Y:"playing",Ib:"paused"}});define("fm",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("ImageResource",e,function(){e.call(this)})});
define("ex","require lE pf lg nU fm".split(" "),function(a){a("lE");var e=a("pf"),l=a("lg"),m=a("nU"),k=a("fm");a=m.define("AnimatedImageResource",k,function(){k.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",l.Y)};a.prototype.pause=a.prototype.pause=function(){this.set("state",l.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",l.W)};a.prototype.set=function(b,h){switch(b){case "state":(this.get("state")||l.W)==l.W&&h==l.Y&&this.trigger(e.Un)}k.prototype.set.call(this,
b,h)};a.prototype.Zj=function(b,h,g){h||(h=1);g||(g=1);return k.prototype.Zj.call(this,b,h*this.get("colCount",1),g*this.get("rowCount",1))};return a});define("ej",["require","nU","fn"],function(a){var e=a("nU"),l=a("fn");return e.define("AntialiasModel3DPostprocessing",l,function(){l.call(this)})});
define("iA",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("HotspotMapOverlay",e,function(l){e.call(this);this.HI=void 0===l?!0:l;this.NH=this.Rq=this.Qq=this.ya=void 0});a.prototype.getItem=function(){if(void 0===this.ya){var l=this.get("image");this.ya=l?l.k0(this.HI):null}return this.ya};a.prototype.RAa=function(){if(void 0===this.Qq){var l=this.get("rollOverImage");this.Qq=l?l.k0(this.HI):null}return this.Qq};a.prototype.TAa=function(){if(void 0===this.Rq){var l=this.get("selectedImage");
this.Rq=l?l.k0(this.HI):null}return this.Rq};a.prototype.$1a=function(){if(void 0===this.NH){this.NH=[];var l=this.getItem();l&&this.NH.push(l);(l=this.RAa())&&this.NH.push(l);(l=this.TAa())&&this.NH.push(l)}return this.NH};return a});define("eW",["require","nU","iA"],function(a){var e=a("nU"),l=a("iA");return e.define("AreaHotspotMapOverlay",l,function(){l.call(this,!0)})});define("oE",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("AudioResource",e,function(){e.call(this)})});
define("cT",["require"],function(){return{AB:"inAdvance",Jja:"delayed"}});
define("bd",["require","exports"],function(){return function(){function a(){}a.Yx="grab";a.Lh="grabbing";a.pka="move";a.zka="move-n";a.Aka="move-ne";a.qka="move-e";a.Dka="move-se";a.Cka="move-s";a.Eka="move-sw";a.Fka="move-w";a.Bka="move-nw";a.GIa="move-ew";a.IIa="move-ns";a.HIa="move-nesw";a.JIa="move-nwse";a.ska="move-fast-n";a.tka="move-fast-ne";a.rka="move-fast-e";a.wka="move-fast-se";a.vka="move-fast-s";a.xka="move-fast-sw";a.yka="move-fast-w";a.uka="move-fast-nw";a.ye="hand";a.JB="transparent";
a.xe="default";a.pu="inherit";return a}()});
define("hA",["require","pf"],function(a){function e(){this.Zi=[]}var l=a("pf");e.prototype.register=function(m){this.aKa(m);this.Zi.push(m);m.get("pressed")&&this.rva(m)};e.prototype.unregister=function(m){this.zUa(m)};e.prototype.aKa=function(m){m.bind(l.yj,this.Zra,this,!0)};e.prototype.zUa=function(m){m.unbind(l.yj,this.Zra,this)};e.prototype.Zra=function(m){this.rva(m.source)};e.prototype.rva=function(m){this.Zi.forEach(function(k){k.set("pressed",k==m)})};e.register=function(m,k){this.unregister(m);
k=this.yi(k);m.M5=k;k.register(m)};e.unregister=function(m){m.M5&&(m.M5.unregister(m),delete m.M5)};e.yi=function(m){return this.sqa[m]||(this.sqa[m]=new e)};e.sqa={};return e});define("ek",["require"],function(){return{ze:"push",Bj:"toggle"}});define("hY",["require"],function(){return{nG:"visible",Zja:"hidden",Jp:"scroll"}});define("gW",["require"],function(){return{xe:void 0,X:"over",xb:"pressed",cc:"pressedOver",ea:"selected"}});
define("v",["require","exports","lE","mB"],function(a,e,l,m){function k(g){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+g))}var b={};b.ri=TDV.ub.ZT;b.Kx=TDV.ub.Z4;b.y5=TDV.ub.Ika;b.h$a=TDV.ub.d5;b.T4=TDV.ub.a5;b.dka=TDV.ub.Hka;b.U9a=TDV.ub.c5;b.b5=TDV.ub.b5;b.oL=TDV.ub.oL;b.Q3=TDV.ub.Q3;b.P3=TDV.ub.P3;b.O3=TDV.ub.O3;b.R3=TDV.ub.R3;b.ni=TDV.ub.ni;b.FT=TDV.ub.FT;b.ml=TDV.ub.ml;b.Hm=TDV.ub.Hm;b.TF=TDV.ub.TF;b.Mx=TDV.ub.Mx;b.ET=TDV.ub.ET;b.Sr=TDV.ub.Sr;b.M3=TDV.ub.M3;b.VF=
TDV.ub.VF;b.sp=TDV.ub.sp;b.eu=TDV.ub.eu;b.IT=TDV.ub.IT;b.N3=TDV.ub.N3;b.mL=TDV.ub.mL;b.lL=TDV.ub.lL;b.UF=TDV.ub.UF;b.nL=TDV.ub.nL;b.Ox=TDV.ub.Ox;b.Dja=TDV.ub.Dja;b.Nx=TDV.ub.Nx;b.Tr=TDV.ub.Tr;b.fu=TDV.ub.fu;b.GT=TDV.ub.GT;b.HT=TDV.ub.HT;b.S3=TDV.ub.S3;b.V3=TDV.ub.V3;b.sL=TDV.ub.sL;b.W3=TDV.ub.W3;b.X3=TDV.ub.X3;b.Vy=function(g){g="force_"+g;if(m.rj("debug")&&m.rj(g))return m.getQueryParameter(g)};b.MOa=b.Vy("os");b.td=function(){return b.MOa||TDV.ub.td};b.HOa=b.Vy("browser");b.browser=function(){return b.HOa||
TDV.ub.browser};b.IOa=b.Vy("browser_type");b.BJ=function(){return b.IOa||TDV.ub.BJ};b.Noa=b.Vy("browser_subtype");b.Vb=function(){return b.Noa?b.Noa:TDV.ub.Vb};b.JOa=b.Vy("browser_version");b.Xya=function(){return b.JOa||TDV.ub.Xya};b.LOa=b.Vy("device");b.FE=function(){return b.LOa||TDV.ub.FE};b.lb=function(){return TDV.ub.mobile};b.uOa=function(){for(var g=navigator.userAgent.toLowerCase(),c=["SM-G960","SM-G965"],d=0;d<c.length;d++)if(0<=g.indexOf(c[d].toLowerCase()))return!0;return!1}();b.ROa=function(){for(var g=
navigator.userAgent.toLowerCase(),c="SM-G920 SM-G925 SM-G928 SM-N920 SM-G930 SM-G935 SC-02H SM-G950 SM-G955 SM-N950 SM-G960 SM-G965 SM-N960 SM-G970 SM-G973 SM-G975 SM-G977 SM-N970 SM-N975".split(" "),d=0;d<c.length;d++)if(0<=g.indexOf(c[d].toLowerCase()))return!0;return!1}();b.Ooa=b.Vy("gearvrcompatible");b.uR=function(){return void 0!==b.Ooa?"true"==b.Ooa:b.ROa};b.aMa=b.browser()!=b.Hm||0>navigator.userAgent.indexOf("; wv")?!1:!0;b.KOa=!!b.Vy("chromewebview");b.jza=function(){return b.KOa||b.aMa};
b.yf=function(){return b.Vb()==b.sp||b.Vb()==b.eu||b.Vb()==b.IT||b.Vb()==b.Tr||b.Vb()==b.fu||b.Vb()==b.Nx};b.v1=function(){return b.ZE()};b.u1=function(){return b.qK()||b.MBa()||b.UBa()||b.RBa()};b.Iga=function(){return b.Vb()==b.Tr};b.Gea=void 0;b.v9a=function(){if(void 0===b.Gea){var g=void 0;b.ur()&&(window.location.hash.split("&").forEach(function(c){"app-version"==c.split("=")[0]&&(g=c.split("=")[1])}),g&&(g=parseInt(g)));g=g||0;b.Gea=g}return b.Gea};b.ur=function(){return b.sK()||b.Iga()};b.sK=
function(){return b.Vb()==b.fu};b.H3a=function(){return k("picog2")};b.A3a=function(){return k("piconeo2")};b.MBa=function(){return k("piconeo3")};b.F3a=function(){return b.Vb()==b.eu&&0<=navigator.userAgent.toLowerCase().indexOf("pico 4")||b.Vb()==b.fu&&0<=navigator.userAgent.toLowerCase().indexOf("picoa8110")?!0:!1};b.G3a=function(){return b.Vb()==b.eu&&0<=navigator.userAgent.toLowerCase().indexOf("pico 4 ultra")||b.Vb()==b.fu&&0<=navigator.userAgent.toLowerCase().indexOf("picoa9210")?!0:!1};b.QBa=
function(){return b.Vb()==b.eu&&0<=navigator.userAgent.toLowerCase().indexOf("pico g3")||b.Vb()==b.fu&&0<=navigator.userAgent.toLowerCase().indexOf("picoa7q10")?!0:!1};b.RBa=function(){return k("picoxr")};b.UBa=function(){return k("vivefocus")};b.ZE=function(){return k("oculusquest3")?!0:b.Vb()==b.sp&&0<=navigator.userAgent.indexOf("Quest 3")};b.qK=function(){return k("oculusquest")||k("oculusquest2")||k("other")?!0:b.Vb()==b.sp&&0<=navigator.userAgent.indexOf("Quest 2")};b.L3a=function(){return b.Vb()==
b.sp&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.O$a=function(){return b.Vb()==b.sp&&0>navigator.userAgent.indexOf("Quest")};b.v3a=function(){return b.yf()&&b.uR()};b.ED=void 0;b.a5a=function(){void 0===b.ED&&(b.ED=parseInt(m.getQueryParameter("sts")),isNaN(b.ED)&&(b.yf()&&!b.uOa?b.ED=512:b.lb()&&b.td()==b.ri?b.ED=512:b.ED=b.lb()?256:1024));return b.ED};b.dVa=function(){if(b.browser()==b.ml||b.browser()==b.ni)try{var g=/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent);
if(g)return parseFloat(g[1])}catch(c){}}();b.dia=function(){return b.dVa};b.XQa=function(){try{var g=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||!1}catch(c){}g||(g=b.dia());return g}();b.yga=function(){return b.XQa};b.AKa=function(){if(b.td()==b.Kx)try{var g=/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent);if(g)return parseFloat(g[1])}catch(c){}}();b.E_a=function(){return b.AKa};
b.$pa=function(){var g={cBa:"unknown",T3a:1},c=document.createElement("canvas");if(c&&(c=c.getContext("webgl")||c.getContext("experimental-webgl"))){var d=c.getExtension("WEBGL_debug_renderer_info");d&&(g.cBa=c.getParameter(d.UNMASKED_RENDERER_WEBGL));g.maxTextureSize=c.getParameter(c.MAX_TEXTURE_SIZE);if(d=c.getExtension("EXT_texture_filter_anisotropic")||c.getExtension("MOZ_EXT_texture_filter_anisotropic")||c.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))g.T3a=c.getParameter(d.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return g}();
b.z2a=function(){return b.$pa};b.CKa=function(){var g=b.$pa.cBa.match(/Apple\s+(.+)\s+GPU/);return g?g[1].toUpperCase():"unknown"}();b.F$a=function(){return b.CKa};b.IRa=b.FE()==b.sL?!0:!1;b.ax=function(){return b.IRa};b.cza=function(){return b.browser()==b.ml&&14<=b.dia()};var h=!1;try{h="true"==window.localStorage.getItem("tdvp_video_drift_2")}catch(g){}b.S2a=function(){return h};b.w7a=function(){h=!0;try{window.localStorage.setItem("tdvp_video_drift_2","true")}catch(g){}};b.rN="ontouchstart"in
window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0<navigator.maxTouchPoints?!0:!1;b.ija=function(){return b.rN};b.po=m.rj("touchenabled")?m.gg("touchenabled"):"ontouchstart"in window?b.td()==b.y5?!1:!0:!1;b.u3=function(){return b.po};b.summary=function(){return["browser: "+b.browser(),"browserType: "+b.BJ(),"browserSubtype: "+b.Vb(),"device: "+b.FE(),"isMobile: "+b.lb(),"gearVRCompatibleDevice: "+b.uR(),"chromeWebView: "+b.jza(),"touchDevice"+b.ija(),
"touchEnabled"+b.u3()].join(", ")};b.log=function(){l.log("browser: "+b.browser());l.log("browserType: "+b.BJ());l.log("browserSubtype: "+b.Vb());l.log("device: "+b.FE());l.log("isMobile: "+b.lb());l.log("gearVRCompatibleDevice: "+b.uR());l.log("chromeWebView: "+b.jza());l.log("touchDevice: "+b.ija());l.log("touchEnabled: "+b.u3())};return b});define("nk",["require"],function(){return{Ya:"left",qb:"right",Oe:"center",yc:"top",rc:"bottom",le:"middle"}});
define("fL",["require"],function(){return{ad:"rollOver",ALWAYS:"always"}});
define("ml",["require","v"],function(a){function e(){for(;d.length;)d.shift()();document.body.removeEventListener("click",e,!0);document.body.removeEventListener("touchstart",k,!0);document.body.removeEventListener("touchmove",m,!0);document.body.removeEventListener("touchend",l,!0);g=!1}function l(){c&&e()}function m(){c=!1}function k(){c=!0;h.td()==h.ri&&e()}function b(){document.body.addEventListener("click",e,!0);document.body.addEventListener("touchstart",k,!0);document.body.addEventListener("touchmove",
m,!0);document.body.addEventListener("touchend",l,!0)}var h=a("v"),g=!1,c=!1,d=[];return{C3:function(){e()},wait:function(f){d.push(f);g||(g=!0,document.body?b():document.addEventListener("DOMContentLoaded",b))},eab:function(f){f=d.indexOf(f);0<=f&&d.splice(f,1)}}});define("ik",["require","exports"],function(){return{EIa:7,L3:6,hka:5,ol:4,Zka:3,BL:2,e5:1,O9a:0,lka:3,BB:2,WIa:1,VIa:2,SIa:2,Wn:2,oJa:3,d$a:4}});define("bj",["require"],function(){return{S4:"horizontal",s5:"vertical"}});
define("pE",["require"],function(){return{uJa:"1",tJa:"auto",fJa:"1",PIa:"2",OIa:"auto",L3:"2",LHa:"3",KHa:"auto",eJa:"5",nJa:"100",G9a:"101",mIa:999998,f$a:999999,yIa:1E6}});define("gM",["require"],function(){var a=1,e={};return{css:function(l,m){var k=l.__duqid;void 0===k&&(k=a.toString(),l.__duqid=k,a++);l=e[k]||(e[k]={e:l,s:{}});for(var b in m)l.s[b]=m[b]},process:function(){for(var l in e){var m=e[l],k=m.e.style;m=m.s;for(var b in m)k[b]=m[b]}e={}}}});
define("bR",["require"],function(){return{J2a:function(a){return!!a&&0<=a.indexOf("&tdvflipx")},xya:function(a){a&&(0>a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},l1a:function(a,e,l){var m=document.createElement("canvas");m.width=e;m.height=l;l=m.getContext("2d");l.translate(e,0);l.scale(-1,1);l.drawImage(a,0,0);a.src=m.toDataURL()}}});
define("I",["require","exports"],function(){return function(){function a(e,l,m,k,b,h){this.queue=e;this.url=l;this.priority=m;this.time=k;this.h8a=b;this.U_a=h}a.prototype.loaded=function(){this.queue.$S(this.url);this.queue.remove(this)};a.prototype.cancel=function(){this.queue.remove(this)};return a}()});
define("bv","require exports v mB lH I".split(" "),function(a,e,l,m,k,b){var h=l.Vb()===l.Ox,g=!(m.rj("debug")&&m.gg("disable-cache"));return function(){function c(){}c.add=function(d,f,p,q){d=new b(this,d,f,(new Date).getTime(),p,q);this.kw.push(d);this.ia();return d};c.t8a=function(d){this.$I.push(d);this.ia()};c.s8a=function(d){d=this.$I.indexOf(d);0<=d&&this.$I.splice(d,1);this.ia()};c.x9a=function(d){var f;return h?!0:g?null!==(f=this.Uqa[d])&&void 0!==f?f:!1:!1};c.$S=function(d){h||g&&(this.Uqa[d]=
!0)};c.ia=function(){this.mea||(this.mea=k.OA(c.SYa.bind(this)))};c.SYa=function(){this.mea=null;for(var d=this.kVa(),f=0,p=this.aX;f<p.length;f++){var q=p[f];d.includes(q)||q.U_a()}f=this.aX;this.aX=d;d=0;for(p=this.aX;d<p.length;d++)q=p[d],f.includes(q)||q.h8a()};c.UWa=function(){this.kw.sort(function(d,f){return d.priority-f.priority||f.time-d.time});this.$I.sort(function(d,f){return d-f})};c.kVa=function(){this.UWa();var d=[];if(this.kw.length)for(var f=this.$I.length?this.$I[0]:this.kw[0].priority,
p=0;10>p&&p<this.kw.length&&this.kw[p].priority<=f;p++)d.push(this.kw[p]);return d};c.remove=function(d){d=this.kw.indexOf(d);0<=d&&this.kw.splice(d,1);this.ia()};c.kw=[];c.aX=[];c.$I=[];c.mea=null;c.Uqa={};return c}()});
define("gY","require lE cC gv pf ik mB bR bv".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("pf"),b=a("ik"),h=a("mB"),g=a("bR"),c=a("bv");a=e.extend(m,function(f){m.call(this);this.Ts=f||b.EIa;this.wa=this.na=this.ac=this.Od=null;this.mz=!1;this.GI=this.ro=null;this.bZ=0;this.Q9=[];this.vW=this.vW.bind(this);this.wW=this.wW.bind(this)});a.prototype.load=function(f){this.cancel();this.Od=f;this.bZ=0;this.Pua()};a.prototype.Pua=function(){this.ro=c.add(this.Od,this.Ts,this.dXa.bind(this),
this.ULa.bind(this))};a.prototype.cancel=function(){this.ro&&(this.ro.cancel(),this.ro=null);this.jna();this.Od=null};a.prototype.y3a=function(){return!!this.ac&&!this.mz||this.GI};a.prototype.ki=function(){return this.mz};a.prototype.wf=function(f){return f?(f=this.ac.cloneNode(!0),this.Q9.push(f),f):this.ac};a.prototype.He=function(){return this.na};a.prototype.Xe=function(){return this.wa};a.prototype.Pi=function(){return this.Od};a.prototype.dXa=function(){this.ac=this.iNa(this.Od)};a.prototype.ULa=
function(){this.y3a()&&this.jna()};a.prototype.jna=function(){if(this.ac){this.GI&&(clearTimeout(this.GI),this.GI=null);for(this.mz=!1;this.Q9.length;)this.hoa(this.Q9.shift());this.hoa(this.ac);this.ac=null}};a.prototype.eKa=function(f){f.addEventListener("load",this.vW);f.addEventListener("error",this.wW)};a.prototype.Iua=function(f){f.removeEventListener("load",this.vW);f.removeEventListener("error",this.wW)};a.prototype.vW=function(){this.ac.width&&this.ac.height||!(-1<this.Od.indexOf(".svg"))||
this.yOa();this.ro.loaded();this.ro=null;this.Iua(this.ac);this.mz=!0;this.na=this.ac.width;this.wa=this.ac.height;g.J2a(this.Od)&&g.l1a(this.ac,this.na,this.wa);this.trigger(new l(k.Z))};a.prototype.wW=function(){this.cancel();this.bZ<d?(this.bZ++,this.GI=setTimeout(function(){this.GI=null;this.Pua()}.bind(this),1E3*Math.pow(2,this.bZ))):this.trigger(new l(k.xc))};a.prototype.yOa=function(){var f=new XMLHttpRequest;f.open("GET",this.Od,!1);f.send();var p=document.createElement("div");p.innerHTML=
f.responseText;f=p.children[0];this.ac.width=f.width.baseVal.value;this.ac.height=f.height.baseVal.value};a.prototype.iNa=function(f){var p=document.createElement("img");h.Gga(f)?p.setAttribute("crossOrigin","Anonymous"):p.removeAttribute("crossOrigin");p.setAttribute("draggable","false");p.style.position="static";p.style.border="none";p.style.display="none";this.eKa(p);p.src=f;return p};a.prototype.hoa=function(f){this.Iua(f);f.parentNode&&f.parentNode.removeChild(f);f.src=""};var d=5;a.p3=function(f){return c.x9a(f)};
return a});
define("gF","require en jquery.mod pf ik bj pE gM gY".split(" "),function(a){function e(){this.Tp=this.Vp=this.Wp=this.Up=this.Xu=this.Wu=this.Zu=this.Yu=0;this.CU=this.EU=this.FU=this.DU="";this.Rb=1;this.Mc=void 0;this.oC=[];this.X6=[];this.U6=h.s5;this.YU=!1;this.sW=void 0;this.Wh=null;this.n9=this.Iea=0;this.ec=document.createElement("canvas");this.ec.setAttribute("tdvlayer","background");this.ta=m(this.ec);c.css(this.ec,{position:"absolute",left:0,top:0,"z-index":g.L3,"user-select":"none","-ms-user-select":"none",
"-moz-user-select":"none","-webkit-user-select":"none"});this.Cg=!0}var l=a("en"),m=a("jquery.mod"),k=a("pf"),b=a("ik"),h=a("bj"),g=a("pE"),c=a("gM"),d=a("gY");e.prototype.setSize=function(f,p){if(this.Iea!=f||this.n9!=p)this.Iea=f||0,this.n9=p||0,this.Cg=!0};e.prototype.rFa=function(f){this.lq!=f&&(this.lq=f,this.Cg=!0)};e.prototype.Yc=function(){return this.ta};e.prototype.ce=function(){return this.ec};e.prototype.D6a=function(f){if(this.sW!=f){this.Wh&&(this.Wh.unbind(k.Z,this.jN,this),this.Wh.cancel(),
this.Wh=null);if(this.sW=f)this.Wh=new d(b.Zka),this.Wh.bind(k.Z,this.jN,this),this.Wh.load(this.sW);this.Cg=!0}};e.prototype.qia=function(f){this.Yu!=f&&(this.Yu=f,this.Cg=!0)};e.prototype.ria=function(f){this.Zu!=f&&(this.Zu=f,this.Cg=!0)};e.prototype.lia=function(f){this.Wu!=f&&(this.Wu=f,this.Cg=!0)};e.prototype.mia=function(f){this.Xu!=f&&(this.Xu=f,this.Cg=!0)};e.prototype.oia=function(f){this.Up!=f&&(this.Up=f,this.Cg=!0)};e.prototype.sia=function(f){this.Wp!=f&&(this.Wp=f,this.Cg=!0)};e.prototype.pia=
function(f){this.Vp!=f&&(this.Vp=f,this.Cg=!0)};e.prototype.nia=function(f){this.Tp!=f&&(this.Tp=f,this.Cg=!0)};e.prototype.Z5a=function(f){this.DU!=f&&(this.DU=f,this.Cg=!0)};e.prototype.a6a=function(f){this.FU!=f&&(this.FU=f,this.Cg=!0)};e.prototype.$5a=function(f){this.EU!=f&&(this.EU=f,this.Cg=!0)};e.prototype.Y5a=function(f){this.CU!=f&&(this.CU=f,this.Cg=!0)};e.prototype.vj=function(f){this.Rb!=f&&(this.Rb=f,this.Cg=!0)};e.prototype.Zk=function(){return this.Rb};e.prototype.setColor=function(f){l.isEqual(this.Mc,
f)||(this.Mc=f,l(f).isArray()||(f=[f]),f=l(f).filter(function(p){return l(p).isString()}),this.cFa(f))};e.prototype.$J=function(){return this.Mc};e.prototype.cFa=function(f){l.isEqual(this.oC,f)||(this.oC=f,this.Cg=!0)};e.prototype.g6a=function(f){this.q$a!=f&&(this.X6=f,this.Cg=!0)};e.prototype.f6a=function(f){this.U6!=f&&(this.U6=f,this.Cg=!0)};e.prototype.jN=function(){this.Cg=!0;this.gh()};e.prototype.gh=function(){this.Cg&&(this.ia(),this.Cg=!1)};e.prototype.ia=function(){var f=Math.max(0,this.Iea-
(this.Up+this.Vp)),p=Math.max(0,this.n9-(this.Wp+this.Tp)),q=this.ta.get(0);q.width=f;q.height=p;q=q.getContext("2d");var n=this.QLa(),r=0<n.length,t=this.Wh&&this.Wh.ki(),u=0<this.Up&&this.DU||0<this.Wp&&this.FU||0<this.Vp&&this.EU||0<this.Tp&&this.CU;u=r||t||u;if(r){var v=this.U6==h.S4?q.createLinearGradient(0,0,f,0):q.createLinearGradient(0,0,0,p);l(n).forEach(function(w){v.addColorStop(w.ratio,w.color)});q.fillStyle=v;q.fillRect(0,0,f,p);this.YU=!0}else this.YU&&(q.clearRect(0,0,f,p),this.YU=
!1);t&&(q.drawImage(this.Wh.wf(),0,0,f,p),this.YU=!0);this.ec.style.opacity=this.Rb;this.ec.style.filter="alpha(opacity="+Math.round(100*this.Rb)+")";this.ec.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.Rb)+")";this.ec.style.borderTopLeftRadius=this.Yu+"px";this.ec.style.borderTopRightRadius=this.Zu+"px";this.ec.style.borderBottomLeftRadius=this.Wu+"px";this.ec.style.borderBottomRightRadius=this.Xu+"px";this.ec.style.borderLeft=this.aW(this.Up,this.DU);this.ec.style.borderTop=this.aW(this.Wp,
this.FU);this.ec.style.borderRight=this.aW(this.Vp,this.EU);this.ec.style.borderBottom=this.aW(this.Tp,this.CU);this.ec.style.width=f+"px";this.ec.style.height=p+"px";this.ec.style.cursor="inherit";this.ec.style.display=u?"block":"none";0===this.ec.clientWidth&&0!==f&&(this.ec.style.width=0,this.ec.style.width=f+"px")};e.prototype.aW=function(f,p){return 0<f?p?f+"px solid "+p:f+"px solid transparent":"none"};e.prototype.QLa=function(){var f=[];if(0<this.oC.length){var p=this.oC.slice();p=[].concat([p[0]],
p,[p[p.length-1]]);var q=this.PLa();q=[].concat([0],q,[1]);for(var n=0;n<p.length;n++){var r=q[n];0<=r&&f.push({color:p[n],ratio:r})}for(n=0;n<f.length-1;)f[n].ratio==f[n+1].ratio&&f[n].color==f[n+1].color?f.splice(n,1):n++;for(n=1;n<f.length-1;)f[n-1].ratio==f[n+1].ratio?f.splice(n,1):n++}return f};e.prototype.PLa=function(){var f=this.oC.length,p;for(p=0<this.X6.length?l(this.X6).map(function(q){return Math.min(1,Math.max(0,q))}):1==f?[.5]:l(l.range(f)).map(function(q,n){return 1*n/(f-1)});p.length<
f;)p.push(1);p.length>f&&p.splice(f,p.length-f);return p};return e});
define("eO",["require","jquery.mod","pE","gM"],function(a){function e(){this.jY=this.lY=this.mY=this.kY=this.Tp=this.Vp=this.Wp=this.Up=0;this.RO=this.lq=!0;this.Cea=this.J9=0;this.xa=!0;this.uP=document.createElement("div");this.uP.setAttribute("tdvlayer","content");this.iva=l(this.uP);k.css(this.uP,{position:"absolute"});this.nM=document.createElement("div");this.f7=l(this.nM);k.css(this.nM,{position:"absolute"});this.iva.append(this.f7)}var l=a("jquery.mod"),m=a("pE"),k=a("gM");e.prototype.append=
function(b){this.f7.append(b)};e.prototype.prepend=function(b){this.f7.prepend(b)};e.prototype.Xea=function(b){this.nM.appendChild(b)};e.prototype.p5a=function(b){this.nM.removeChild(b)};e.prototype.Yc=function(){return this.iva};e.prototype.ce=function(){return this.uP};e.prototype.A6a=function(b){this.J9!=b&&(this.J9=b,this.xa=!0)};e.prototype.U7a=function(b){this.Cea!=b&&(this.Cea=b,this.xa=!0)};e.prototype.cK=function(){return this.kY+this.Up};e.prototype.fK=function(){return this.mY+this.Wp};
e.prototype.eK=function(){return this.lY+this.Vp};e.prototype.ZJ=function(){return this.jY+this.Tp};e.prototype.QK=function(b){this.RO!=b&&(this.RO=b,this.xa=!0)};e.prototype.b7a=function(b){this.kY!=b&&(this.kY=b,this.xa=!0)};e.prototype.d7a=function(b){this.mY!=b&&(this.mY=b,this.xa=!0)};e.prototype.c7a=function(b){this.lY!=b&&(this.lY=b,this.xa=!0)};e.prototype.a7a=function(b){this.jY!=b&&(this.jY=b,this.xa=!0)};e.prototype.oia=function(b){this.Up!=b&&(this.Up=b,this.xa=!0)};e.prototype.sia=function(b){this.Wp!=
b&&(this.Wp=b,this.xa=!0)};e.prototype.pia=function(b){this.Vp!=b&&(this.Vp=b,this.xa=!0)};e.prototype.nia=function(b){this.Tp!=b&&(this.Tp=b,this.xa=!0)};e.prototype.rFa=function(b){this.lq!=b&&(this.lq=b,this.xa=!0)};e.prototype.gh=function(){this.xa&&(this.ia(),this.xa=!1)};e.prototype.ia=function(){k.css(this.uP,{overflow:this.RO?"visible":"hidden","z-index":this.lq?m.LHa:m.KHa,left:this.cK()+"px",top:this.fK()+"px",right:this.eK()+"px",bottom:this.ZJ()+"px",cursor:"inherit"});k.css(this.nM,{left:-this.J9+
"px",top:-this.Cea+"px",right:this.RO?0:"initial",bottom:this.RO?0:"initial",cursor:"inherit"})};return e});
define("kn","require en jquery.mod lE pE gM".split(" "),function(a){function e(){this.wa=this.na=this.Na=this.Ka=void 0;this.Xu=this.Wu=this.Zu=this.Yu=0;this.Mb=!1;this.I9=0;this.Bea=4;this.z6=6;this.Pca=0;this.Mc="#000000";this.Rb=1;this.ec=document.createElement("div");this.ec.setAttribute("tdvlayer","shadow");this.ta=l(this.ec);k.css(this.ec,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.xa=!1}a("en");var l=a("jquery.mod");a("lE");var m=a("pE"),k=a("gM");e.prototype.Yc=function(){return this.ta};
e.prototype.ce=function(){return this.ec};e.prototype.qia=function(b){this.Yu!=b&&(this.Yu=b,this.xa=!0)};e.prototype.ria=function(b){this.Zu!=b&&(this.Zu=b,this.xa=!0)};e.prototype.lia=function(b){this.Wu!=b&&(this.Wu=b,this.xa=!0)};e.prototype.mia=function(b){this.Xu!=b&&(this.Xu=b,this.xa=!0)};e.prototype.vj=function(b){this.Rb!=b&&(this.Rb=b,this.xa=!0)};e.prototype.Zk=function(){return this.Rb};e.prototype.Bf=function(b){this.Mb!=b&&(this.Mb=b,this.xa=!0)};e.prototype.z6a=function(b){this.I9!=
b&&(this.I9=b,this.xa=!0)};e.prototype.T7a=function(b){this.Bea!=b&&(this.Bea=b,this.xa=!0)};e.prototype.X5a=function(b){this.z6!=b&&(this.z6=b,this.xa=!0)};e.prototype.x7a=function(b){this.Pca!=b&&(this.Pca=b,this.xa=!0)};e.prototype.setColor=function(b){this.Mc!=b&&(this.Mc=b,this.xa=!0)};e.prototype.$J=function(){return this.Mc};e.prototype.gh=function(){this.xa&&(this.ia(),this.xa=!1)};e.prototype.ia=function(){var b=this.I9+"px "+this.Bea+"px "+this.z6+"px "+this.Pca+"px "+this.Mc;this.ec.style.display=
this.Mb?"block":"none";this.ec.style.boxShadow=b;this.ec.style["-webkit-box-shadow"]=b;this.ec.style["-moz-box-shadow"]=b;this.ec.style.borderTopLeftRadius=this.Yu+"px";this.ec.style.borderTopRightRadius=this.Zu+"px";this.ec.style.borderBottomLeftRadius=this.Wu+"px";this.ec.style.borderBottomRightRadius=this.Xu+"px";this.ec.style.filter="alpha(opacity="+Math.round(100*this.Rb)+")";this.ec.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.Rb)+")";this.ec.style.opacity=this.Rb;this.ec.style.zIndex=
m.fJa};return e});
define("np","require jquery.mod en lE mh bd pf gF eO kn pE cC gM v".split(" "),function(a){var e=a("jquery.mod");a("en");var l=a("lE"),m=a("mh"),k=a("bd"),b=a("pf"),h=a("gF"),g=a("eO"),c=a("kn"),d=a("pE"),f=a("cC"),p=a("gM");a("v");var q=l.extend(m,function(){m.call(this);this.AH=q.AH++;this.e7=this.me=this.Taa=this.QO=this.Fca=this.ta=this.ec=null;this.dxa=this.xqa=!1;this.oa=this.gb=null;this.wa=this.na=this.Qv=this.Pv=0;this.fz=this.Mb=!1;this.mqa=!0;this.ON=this.PN=this.Nl=this.Ol=0;this.Rb=1;
this.Sh=k.xe;this.set("inView",!1);this.set("toolTip",void 0);this.WD(!0);this.wca(!0)});q.prototype.Fe=function(n){this.jC=n};q.prototype.toString=function(){return"["+this.ta.attr("tdvclass")+"::"+this.AH+"]"};q.prototype.log=function(n){l.log(n+" "+this.toString()+" "+(new Date).getTime().toString())};q.prototype.ob=function(){return this.gb};q.prototype.$s=function(n){(this.gb=n)&&this.Y9();this.hJ();this.trigger(b.FHa)};q.prototype.Yc=function(){this.ta=e(this.ce());this.Yc=function(){return this.ta};
return this.ta};q.prototype.MFa=function(n){(n=n||this.jC)?this.ec.setAttribute("tdvclass",n):this.ec.removeAttribute("tdvclass")};q.prototype.J5a=function(){this.MFa()};q.prototype.ce=function(){this.ec=document.createElement("div");this.ec.setAttribute("id",this.AH);this.jC&&this.ec.setAttribute("tdvclass",this.jC);p.css(this.ec,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.ce=function(){return this.ec};return this.ec};q.prototype.Cl=function(){this.Fca=new c;
this.Cl=function(){return this.Fca};return this.Fca};q.prototype.Uc=function(){this.me=new h;this.Uc=function(){return this.me};return this.me};q.prototype.wH=function(){this.QO=document.createElement("div");this.QO.setAttribute("tdvlayer","overShadow");p.css(this.QO,{position:"absolute",left:0,top:0,cursor:"inherit"});this.wH=function(){return this.QO};return this.QO};q.prototype.d9=function(){this.Taa=e(this.wH());this.d9=function(){return this.Taa};return this.Taa};q.prototype.Pb=function(){this.e7=
new g;this.Pb=function(){return this.e7};return this.e7};q.prototype.getParent=function(){return this.oa};q.prototype.Xa=function(){return this.na};q.prototype.yb=function(){return this.wa};q.prototype.F2a=function(){return void 0!==this.na&&void 0!==this.wa};q.prototype.uf=function(){return this.na-this.Pb().cK()-this.Pb().eK()};q.prototype.tf=function(){return this.wa-this.Pb().fK()-this.Pb().ZJ()};q.prototype.qm=function(){return this.Pb().cK()};q.prototype.Gt=function(){return this.Pb().fK()};
q.prototype.Ft=function(){return this.Pb().eK()};q.prototype.aK=function(){return this.Pb().ZJ()};q.prototype.Bf=function(n){this.Mb!=n&&(this.Mb=n,this.pe(),this.oa&&(this.oa.$b(),this.oa.Qd()),this.hJ())};q.prototype.hJ=function(){var n=!1;this.gb&&this.Mb&&0<this.Zk()&&(this==this.gb?n=!0:this.oa&&(n=this.oa.fz));this.fz!=n&&this.l6(n)};q.prototype.l6=function(n){this.fz=n;this.set("inView",n);this.fz?this.trigger(new f(b.bd)):this.trigger(new f(b.Tc))};q.prototype.gWa=function(n){this.mqa!=n&&
(this.mqa=n,this.oa&&this.oa.Qd())};q.prototype.YVa=function(n){this.oH!=n&&(this.oH=n,this.$b())};q.prototype.XVa=function(n){this.nH!=n&&(this.nH=n,this.$b())};q.prototype.WVa=function(n){this.mH!=n&&(this.mH=n,this.$b())};q.prototype.VVa=function(n){this.lH!=n&&(this.lH=n,this.$b())};q.prototype.ZVa=function(n){this.$m!=n&&(this.$m=n,void 0!=this.$m&&(this.xn=void 0),this.$b())};q.prototype.UVa=function(n){this.AC!=n&&(this.AC=n,void 0!=this.AC&&(this.wn=void 0),this.$b())};q.prototype.tWa=function(n){this.xn!=
n&&(this.xn=n,void 0!=this.xn&&(this.$m=void 0),this.$b())};q.prototype.pWa=function(n){this.wn!=n&&(this.wn=n,void 0!=this.wn&&(this.AC=void 0),this.$b())};q.prototype.iWa=function(n){this.Kv!=n&&(void 0!=n&&(this.zY=void 0),this.Kv=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.IWa=function(n){this.Uq!=n&&(void 0!=n&&(this.BY=void 0),this.Uq=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.vWa=function(n){this.rP!=n&&(void 0!=n&&(this.AY=void 0),this.rP=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.LVa=
function(n){this.bM!=n&&(void 0!=n&&(this.yY=void 0),this.bM=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.qWa=function(n){this.zY!=n&&(void 0!=n&&(this.Kv=void 0),this.zY=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.sWa=function(n){this.BY!=n&&(void 0!=n&&(this.Uq=void 0),this.BY=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.rWa=function(n){this.AY!=n&&(void 0!=n&&(this.rP=void 0),this.AY=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.oWa=function(n){this.yY!=n&&(void 0!=n&&(this.bM=void 0),
this.yY=n,this.oa&&this.oa.Qd(),this.$b())};q.prototype.PVa=function(n){this.Cy!=n&&(this.Cy=n,this.oa&&this.oa.Qd())};q.prototype.QVa=function(n){this.Dy!=n&&(this.Dy=n,this.oa&&this.oa.Qd())};q.prototype.Lt=function(){return isNaN(this.$m)?this.Ol:this.$m};q.prototype.Kt=function(){return isNaN(this.AC)?this.Nl:this.AC};q.prototype.gQa=function(){return isNaN(this.rOa)?this.cra:this.rOa};q.prototype.It=function(){return isNaN(this.oH)?this.PN:this.oH};q.prototype.Zw=function(){return isNaN(this.nH)?
this.ON:this.nH};q.prototype.V0=function(){return isNaN(this.mH)?1E4:this.mH};q.prototype.U0=function(){return isNaN(this.lH)?1E4:this.lH};q.prototype.Iva=function(n){this.g9()!=n&&(this.Pb().b7a(n),this.$b())};q.prototype.g9=function(){return this.Pb().kY};q.prototype.Kva=function(n){this.i9()!=n&&(this.Pb().d7a(n),this.$b())};q.prototype.i9=function(){return this.Pb().mY};q.prototype.Jva=function(n){this.h9()!=n&&(this.Pb().c7a(n),this.$b())};q.prototype.h9=function(){return this.Pb().lY};q.prototype.Hva=
function(n){this.f9()!=n&&(this.Pb().a7a(n),this.$b())};q.prototype.f9=function(){return this.Pb().jY};q.prototype.cT=function(n){if(this.Pv!=n){var r=0==this.Pv!=(0==n);this.Pv=n;this.bl();r&&this.oa&&this.oa.Qd()}};q.prototype.dT=function(n){if(this.Qv!=n){var r=0==this.Qv!=(0==n);this.Qv=n;this.bl();r&&this.oa&&this.oa.Qd()}};q.prototype.O2a=function(){return 0!=this.Pv||0!=this.Qv};q.prototype.vj=function(n){this.Rb!=n&&(this.Rb=n,p.css(this.wH(),{filter:"alpha(opacity="+Math.round(100*this.Rb)+
") ",opacity:this.Rb}),this.hJ(),this.bl())};q.prototype.Zk=function(){return this.Rb};q.prototype.IVa=function(n){this.Uc().Yu!=n&&(this.Cl().qia(n),this.Uc().qia(n))};q.prototype.fPa=function(){return this.Uc().Yu};q.prototype.JVa=function(n){this.Uc().Zu!=n&&(this.Cl().ria(n),this.Uc().ria(n))};q.prototype.gPa=function(){return this.Uc().Zu};q.prototype.AVa=function(n){this.Uc().Wu!=n&&(this.Cl().lia(n),this.Uc().lia(n))};q.prototype.dPa=function(){return this.Uc().Wu};q.prototype.BVa=function(n){this.Uc().Xu!=
n&&(this.Cl().mia(n),this.Uc().mia(n))};q.prototype.ePa=function(){return this.Uc().Xu};q.prototype.EVa=function(n){this.Uc().Up!=n&&(this.Uc().oia(n),this.Pb().oia(n),this.$b())};q.prototype.epa=function(){return this.Uc().Up};q.prototype.KVa=function(n){this.Uc().Wp!=n&&(this.Uc().sia(n),this.Pb().sia(n),this.$b())};q.prototype.gpa=function(){return this.Uc().Wp};q.prototype.GVa=function(n){this.Uc().Vp!=n&&(this.Uc().pia(n),this.Pb().pia(n),this.$b())};q.prototype.fpa=function(){return this.Uc().Vp};
q.prototype.CVa=function(n){this.Uc().Tp!=n&&(this.Uc().nia(n),this.Pb().nia(n),this.$b())};q.prototype.dpa=function(){return this.Uc().Tp};q.prototype.DVa=function(n){this.Uc().Z5a(n)};q.prototype.HVa=function(n){this.Uc().a6a(n)};q.prototype.FVa=function(n){this.Uc().$5a(n)};q.prototype.zVa=function(n){this.Uc().Y5a(n)};q.prototype.zZ=function(n){this.Cl().Bf(n)};q.prototype.BWa=function(n){this.Cl().z6a(n)};q.prototype.EWa=function(n){this.Cl().T7a(n)};q.prototype.zWa=function(n){this.Cl().X5a(n)};
q.prototype.DWa=function(n){this.Cl().x7a(n)};q.prototype.CWa=function(n){this.Cl().vj(n)};q.prototype.AWa=function(n){this.Cl().setColor(n)};q.prototype.vVa=function(n){this.aPa()!=n&&this.Uc().vj(n)};q.prototype.aPa=function(){return this.Uc().Zk()};q.prototype.rVa=function(n){this.$Oa()!=n&&this.Uc().setColor(n)};q.prototype.$Oa=function(){return this.Uc().$J()};q.prototype.tVa=function(n){this.Uc().g6a(n)};q.prototype.sVa=function(n){this.Uc().f6a(n)};q.prototype.uVa=function(n){this.Uc().D6a(n)};
q.prototype.Uz=function(n){this.Sh!=n&&(this.Sh=n,this.bl())};q.prototype.HWa=function(n){this.bda!==n&&(this.bda=n,this.ce().tabIndex=void 0===this.bda?void 0:this.bda)};q.prototype.pVa=function(n){this.h6!=n&&((this.h6=n)?this.ce().setAttribute("aria-label",this.h6):this.ce().removeAttribute("aria-label"))};q.prototype.qVa=function(n){this.i6!=n&&((this.i6=n)?this.ce().setAttribute("role",this.i6):this.ce().removeAttribute("role"))};q.prototype.WD=function(n){this.lq!=n&&(this.lq=n,p.css(this.wH(),
{"z-index":this.lq?d.PIa:d.OIa}),this.Pb().rFa(this.lq),this.bl())};q.prototype.wca=function(n){this.$ta!=n&&(this.$ta=n,p.css(this.ce(),{"z-index":this.$ta?d.uJa:d.tJa}),this.bl())};q.prototype.Qp=function(){this.hJ();this.WR()};q.prototype.zn=function(){this.hJ()};q.prototype.Zba=function(){};q.prototype.Y9=function(){this.WR();this.pe();this.$b();this.Qd();this.bl()};q.prototype.Ov=function(){this.ON=this.PN=this.Nl=this.Ol=0;this.cra=void 0};q.prototype.WR=function(){var n=this.ob();n&&n.zG.WR(this)};
q.prototype.pe=function(){var n=this.ob();n&&n.zG.pe(this)};q.prototype.$b=function(){var n=this.ob();n&&n.zG.$b(this)};q.prototype.Qd=function(){var n=this.ob();n&&n.zG.Qd(this)};q.prototype.bl=function(){var n=this.ob();n&&n.zG.bl(this)};q.prototype.t9=function(){var n=isNaN(this.zY)&&isNaN(this.Kv),r=isNaN(this.AY)&&isNaN(this.rP);return isNaN(this.$m)&&isNaN(this.xn)&&(n||r)?!0:!1};q.prototype.aqa=function(){var n=isNaN(this.BY)&&isNaN(this.Uq),r=isNaN(this.yY)&&isNaN(this.bM);return isNaN(this.AC)&&
isNaN(this.wn)&&(n||r)?!0:!1};q.prototype.sZa=function(){this.Ov();var n=this.gQa();if(n){var r=this.t9(),t=this.aqa();r&&!t?(r=this.tf(),0!=r&&(this.Ol=r*n+this.qm()+this.Ft(),this.Nl=r+this.Gt()+this.aK())):!r&&t&&(r=this.uf(),0!=r&&(this.Nl=r/n+this.qm()+this.Ft(),this.Ol=r+this.qm()+this.Ft()))}!isNaN(this.oH)&&this.Ol<this.oH&&(this.Ol=this.oH);!isNaN(this.mH)&&this.Ol>this.mH&&(this.Ol=this.mH);!isNaN(this.nH)&&this.Nl<this.nH&&(this.Nl=this.nH);!isNaN(this.lH)&&this.Nl>this.lH&&(this.Nl=this.lH)};
q.prototype.Db=function(){if(!this.dxa){this.dxa=!0;var n=this.ce(),r=this.wH();n.appendChild(this.Cl().ce());n.appendChild(r);r.appendChild(this.Uc().ce());r.appendChild(this.Pb().ce())}};q.prototype.b9a=function(){this.sZa();var n=this.Lt(),r=this.Kt(),t=this.It(),u=this.Zw();return n!=this.uSa||r!=this.tSa||t!=this.qSa||u!=this.pSa||this.xn!=this.sSa||this.wn!=this.rSa?(this.uSa=n,this.tSa=r,this.qSa=t,this.pSa=u,this.sSa=this.xn,this.rSa=this.wn,!0):!1};q.prototype.Za=function(){this.bl()};q.prototype.fk=
function(){};q.prototype.bFa=function(n,r,t,u){if(this.Ka!=n||this.Na!=r||this.na!=t||this.wa!=u)this.Ka=n,this.Na=r,this.na=t,this.wa=u,this.Uc().setSize(this.na,this.wa),this.Qd(),this.bl(),this.trigger(new f(b.oc))};q.prototype.gh=function(){var n=this.ce(),r=this.wH();this.Mb?(r.style.width=this.na+"px",r.style.height=this.wa+"px",n.style.left=this.Ka+this.Pv+"px",n.style.top=this.Na+this.Qv+"px",n.style.width=this.na+"px",n.style.height=this.wa+"px",n.style.visibility="inherit",n.style.overflow=
"visible",n.style.cursor=this.gb&&this.gb.G7.nAa(this.Sh),0===r.clientWidth&&0!==this.na&&(n.style.width=0,n.style.width=this.na+"px")):(n.style.visibility="hidden",n.style.width=0,n.style.height=0,n.style.overflow="hidden",r.style.width=0,r.style.height=0);this.Cl().gh();this.Uc().gh();this.Pb().gh();!this.xqa&&this.gb&&(this.xqa=!0,this.gb.Qga()?this.Z9():this.gb.bind(b.Un,this.Z9,this,!0))};q.prototype.Z9=function(){this.trigger(b.INIT)};q.prototype.o2a=function(n){n=n.Yc().offset();var r=this.Yc().offset(),
t={};t.left=r.left-n.left;t.top=r.top-n.top;this.gb&&(t.left/=this.gb.Dz,t.top/=this.gb.Dz);return t};q.AH=0;return q});
define("R","require en lE pf cC gW np".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("gW"),h=a("np"),g=l.extend(h,function(){this.o={};this.jw=this.Poa=void 0;this.Mz={};this.Loa=!0;this.lwa={};h.call(this);this.HNa();this.vb();this.Fe("UICustomizable");this.pe()});g.zc={ariaLabel:void 0,ariaRole:void 0,visible:!0,includeInLayout:!0,state:void 0,left:void 0,right:void 0,top:void 0,bottom:void 0,centerX:void 0,centerY:void 0,width:void 0,height:void 0,minWidth:void 0,minHeight:void 0,
maxWidth:void 0,maxHeight:void 0,actualWidth:void 0,actualHeight:void 0,paddingLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:void 0,borderBottomRadius:void 0,borderLeftRadius:void 0,borderRightRadius:void 0,borderTopLeftRadius:void 0,borderTopRightRadius:void 0,borderBottomLeftRadius:void 0,borderBottomRightRadius:void 0,borderSize:0,borderLeftSize:void 0,borderTopSize:void 0,borderRightSize:void 0,borderBottomSize:void 0,borderColor:void 0,borderLeftColor:void 0,
borderTopColor:void 0,borderRightColor:void 0,borderBottomColor:void 0,shadow:!1,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:void 0,tabIndex:void 0,backgroundOpacity:1,backgroundColor:void 0,backgroundColorRatios:void 0,backgroundColorDirection:void 0,backgroundImageUrl:void 0,hideEffect:void 0,showEffect:void 0};g.prototype.HNa=function(){this.lwa[b.cc]=b.xb};g.prototype.vb=function(){this.io(g.zc)};g.prototype.io=function(c){for(var d in c){var f=
c[d],p=f&&f.length;p&&"string"!=typeof f?1==p?this.h(d,f[0]):2==p?this.v(d,f[0],f[1]):3==p&&this.v(d,f[0],f[1],f[2]):this.h(d,f)}};g.prototype.h=function(c,d){this.o[c]={i:!0,d}};g.prototype.lQa=function(){var c=[],d;for(d in this.o)c.push(d);return c};g.prototype.v=function(c,d,f,p){this.Mz[d]||(this.Mz[d]={});this.h(c,p);this.Mz[d][f]=c};g.prototype.QI=function(c,d){if(d)this.Poa=c;else if(void 0!=this.Poa)return;if(this.jw!=c){if(d=this.Mz[this.jw])for(var f in d)(this.o[f]||(this.o[f]={})).i=
!0;this.jw=c;if(d=this.Mz[this.jw])for(f in d)(this.o[f]||(this.o[f]={})).i=!0;this.pe()}};g.prototype.ma=function(c){if(e(c).isString())this.set(c,void 0);else{var d=c;for(c in d)this.set(c,d[c])}};g.prototype.set=function(c,d){var f=this.o[c];f?(void 0==d&&(d=f.d),e.isEqual(this.get(c),d)||("state"==c&&this.QI(d,!0),h.prototype.set.call(this,c,d),f.i=!0,this.pe())):h.prototype.set.call(this,c,d)};g.prototype.get=function(c,d){switch(c){case "actualWidth":return this.Xa();case "actualHeight":return this.yb();
default:var f=h.prototype.get.call(this,c);void 0===f&&((c=this.o[c])&&(f=c.d),void 0===f&&(f=d));return f}};g.prototype.mma=function(){for(var c="paddingLeft paddingTop paddingRight paddingBottom borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize".split(" "),d=0;d<c.length;d++)if(this.K(c[d]))return!0;return!1};
g.prototype.K=function(c){if((this.o[c]||{}).i)return!0;if(void 0!==this.jw)return c=this.Mz[this.jw][c],!!(this.o[c]||{}).i};g.prototype.YD=function(c){(this.o[c]||(this.o[c]={})).i=!0;this.pe()};g.prototype.S=function(c){(this.o[c]||(this.o[c]={})).i=!1;void 0!=this.jw&&(c=this.Mz[this.jw][c])&&((this.o[c]||(this.o[c]={})).i=!1)};g.prototype.B=function(){for(var c,d=0;d<arguments.length;d++){for(var f=arguments[d],p=this.jw;p;){if(c=this.Mz[p][f])if(c=this.get(c),void 0!=c&&null!=c)return c;p=this.lwa[p]}c=
this.get(f);if(void 0!=c&&null!=c)return c}};g.prototype.Hca=function(c){c.source.unbind(m.Bb,this.Hca,this);this.trigger(new k(m.DL))};g.prototype.F9=function(c){c.source.unbind(m.Bb,this.F9,this);this.trigger(new k(m.wL))};g.prototype.Ru=function(){return this.get("ariaLabel")||this.get("toolTip")};g.prototype.Za=function(){if(this.Loa)this.Loa=!1;else if(this.K("visible")){var c=this.B("visible"),d=this.get(c?"hideEffect":"showEffect");d&&d.oK(this)&&(d.unbind(m.Bb,c?this.F9:this.Hca,this),d.end());
(d=this.get(c?"showEffect":"hideEffect"))?d.oK(this)||(this.S("visible"),d.bind(m.Bb,c?this.Hca:this.F9,this),d.play(this)):this.trigger(new k(c?m.DL:m.wL))}this.K("visible")&&(this.Bf(this.B("visible")),this.S("visible"));this.K("includeInLayout")&&(this.gWa(this.B("includeInLayout")),this.S("includeInLayout"));this.K("left")&&(d=this.B("left"),c=g.jp(d),d=void 0===c?d:void 0,this.qWa(c),this.iWa(d),this.S("left"));this.K("top")&&(d=this.B("top"),c=g.jp(d),d=void 0===c?d:void 0,this.sWa(c),this.IWa(d),
this.S("top"));this.K("right")&&(d=this.B("right"),c=g.jp(d),d=void 0===c?d:void 0,this.rWa(c),this.vWa(d),this.S("right"));this.K("bottom")&&(d=this.B("bottom"),c=g.jp(d),d=void 0===c?d:void 0,this.oWa(c),this.LVa(d),this.S("bottom"));this.K("centerX")&&(this.PVa(this.B("centerX")),this.S("centerX"));this.K("centerY")&&(this.QVa(this.B("centerY")),this.S("centerY"));this.K("width")&&(d=this.B("width"),c=g.jp(d),d=void 0===c?d:void 0,this.tWa(c),this.ZVa(d),this.S("width"));this.K("height")&&(d=this.B("height"),
c=g.jp(d),d=void 0===c?d:void 0,this.pWa(c),this.UVa(d),this.S("height"));this.K("minWidth")&&(d=this.B("minWidth"),this.YVa(d),this.S("minWidth"));this.K("minHeight")&&(d=this.B("minHeight"),this.XVa(d),this.S("minHeight"));this.K("maxWidth")&&(d=this.B("maxWidth"),this.WVa(d),this.S("maxWidth"));this.K("maxHeight")&&(d=this.B("maxHeight"),this.VVa(d),this.S("maxHeight"));this.K("paddingLeft")&&(this.Iva(this.B("paddingLeft")),this.S("paddingLeft"));this.K("paddingTop")&&(this.Kva(this.B("paddingTop")),
this.S("paddingTop"));this.K("paddingRight")&&(this.Jva(this.B("paddingRight")),this.S("paddingRight"));this.K("paddingBottom")&&(this.Hva(this.B("paddingBottom")),this.S("paddingBottom"));c=!1;this.K("borderRadius")&&(this.S("borderRadius"),c=!0);d=!1;this.K("borderLeftRadius")&&(this.S("borderLeftRadius"),d=!0);var f=!1;this.K("borderTopRadius")&&(this.S("borderTopRadius"),f=!0);var p=!1;this.K("borderRightRadius")&&(this.S("borderRightRadius"),p=!0);var q=!1;this.K("borderBottomRadius")&&(this.S("borderBottomRadius"),
q=!0);if(this.K("borderTopLeftRadius")||f||d||c)this.IVa(this.B("borderTopLeftRadius","borderLeftRadius","borderTopRadius","borderRadius")),this.S("borderTopLeftRadius");if(this.K("borderTopRightRadius")||f||p||c)this.JVa(this.B("borderTopRightRadius","borderRightRadius","borderTopRadius","borderRadius")),this.S("borderTopRightRadius");if(this.K("borderBottomLeftRadius")||q||d||c)this.AVa(this.B("borderBottomLeftRadius","borderLeftRadius","borderBottomRadius","borderRadius")),this.S("borderBottomLeftRadius");
if(this.K("borderBottomRightRadius")||q||p||c)this.BVa(this.B("borderBottomRightRadius","borderRightRadius","borderBottomRadius","borderRadius")),this.S("borderBottomRightRadius");c=!1;this.K("borderSize")&&(this.S("borderSize"),c=!0);if(this.K("borderLeftSize")||c)this.EVa(this.B("borderLeftSize","borderSize")),this.S("borderLeftSize");if(this.K("borderTopSize")||c)this.KVa(this.B("borderTopSize","borderSize")),this.S("borderTopSize");if(this.K("borderRightSize")||c)this.GVa(this.B("borderRightSize",
"borderSize")),this.S("borderRightSize");if(this.K("borderBottomSize")||c)this.CVa(this.B("borderBottomSize","borderSize")),this.S("borderBottomSize");c=!1;this.K("borderColor")&&(this.S("borderColor"),c=!0);if(this.K("borderLeftColor")||c)this.DVa(this.B("borderLeftColor","borderColor")),this.S("borderLeftColor");if(this.K("borderTopColor")||c)this.HVa(this.B("borderTopColor","borderColor")),this.S("borderTopColor");if(this.K("borderRightColor")||c)this.FVa(this.B("borderRightColor","borderColor")),
this.S("borderRightColor");if(this.K("borderBottomColor")||c)this.zVa(this.B("borderBottomColor","borderColor")),this.S("borderBottomColor");this.K("shadow")&&(this.zZ(this.B("shadow")),this.S("shadow"));this.K("shadowHorizontalLength")&&(this.BWa(this.B("shadowHorizontalLength")),this.S("shadowHorizontalLength"));this.K("shadowVerticalLength")&&(this.EWa(this.B("shadowVerticalLength")),this.S("shadowVerticalLength"));this.K("shadowBlurRadius")&&(this.zWa(this.B("shadowBlurRadius")),this.S("shadowBlurRadius"));
this.K("shadowSpread")&&(this.DWa(this.B("shadowSpread")),this.S("shadowSpread"));this.K("shadowColor")&&(this.AWa(this.B("shadowColor")),this.S("shadowColor"));this.K("tabIndex")&&(this.HWa(this.B("tabIndex")),this.S("tabIndex"));c=!1;this.K("opacity")&&(this.vj(this.B("opacity")),this.S("opacity"),c=!0);if(this.K("shadowOpacity")||c)this.CWa(this.B("shadowOpacity","opacity")),this.S("shadowOpacity");this.K("backgroundOpacity")&&(this.vVa(this.B("backgroundOpacity")),this.S("backgroundOpacity"));
this.K("backgroundColor")&&(this.rVa(this.B("backgroundColor")),this.S("backgroundColor"));this.K("backgroundColorRatios")&&(this.tVa(this.B("backgroundColorRatios")),this.S("backgroundColorRatios"));this.K("backgroundColorDirection")&&(this.sVa(this.B("backgroundColorDirection")),this.S("backgroundColorDirection"));this.K("backgroundImageUrl")&&(this.uVa(this.B("backgroundImageUrl")),this.S("backgroundImageUrl"));this.K("ariaRole")&&(this.qVa(this.B("ariaRole")),this.S("ariaRole"));this.pVa(this.Ru());
h.prototype.Za.call(this)};g.jp=function(c){if(e(c).isString()&&(c=c.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=c.length)return parseFloat(c[1])};return g});define("jU",["require","en","lE","cC"],function(a){var e=a("en"),l=a("lE"),m=a("cC");return l.extend(m,function(k,b,h,g,c,d,f,p){e.isNumber(b)||(b=1);e.isNumber(h)||(h=0);m.call(this,k);this.scale=b;this.rotation=h;this.x=g;this.y=c;this.pageX=d;this.pageY=f;this.touches=p||[]})});
define("pj",["require","exports","cC"],function(a,e,l){return function(m){function k(b,h,g,c,d,f,p,q){b=m.call(this,b)||this;b.x=h;b.y=g;b.pageX=c;b.pageY=d;b.delta=f;b.kR=p;b.originalEvent=q;b.movementX=q?q.movementX:0;b.movementY=q?q.movementY:0;return b}Z(k,m);return k}(l)});
define("e","require jquery.mod en lE pf gW ml R jU pj gM v mB".split(" "),function(a){var e=a("jquery.mod"),l=a("en"),m=a("lE"),k=a("pf"),b=a("gW"),h=a("ml"),g=a("R"),c=a("jU"),d=a("pj");a("gM");var f=a("v");a=a("mB");var p=m.extend(g,function(){g.call(this);this.Fe("UIComponent");this.GV=[];this.rra=0;this.eaa=void 0;this.YNa=500;this.Fc=1;this.po=f.u3();this.pN=this.Gv=this.IW=!1;this.set("propagateClick",!0)});p.zc={autoRolledOver:!1,autoPressed:!1,contentOpaque:!0,cursor:void 0,inheritedCursor:void 0,
inheritedInteractionEnabled:!0,interactionEnabled:!0,rollOverOpacity:[b.X,"opacity"],rollOverShadow:[b.X,"shadow"],toolTipFollowMouse:!1};l.defaults(p.zc,g.zc);p.prototype.vb=function(){this.io(p.zc)};p.prototype.Ema=function(){this.Ova(!0)};p.prototype.Dma=function(){this.Ova(!1)};p.prototype.Bma=function(){this.OI(!0)};p.prototype.Cma=function(){this.OI(!1)};p.prototype.FP=function(n){this.Gv!=n&&(this.Gv=n,this.sg())};p.prototype.OI=function(n){this.pN!=n&&(this.pN=n,this.sg())};p.prototype.Ova=
function(n){this.IW!=n&&(this.IW=n,this.sg())};p.prototype.sg=function(){this.Gv?this.QI(b.ea):this.pN&&this.IW?this.QI(b.cc):this.pN?this.QI(b.xb):this.IW?this.QI(b.X):this.QI(b.xe)};p.prototype.trigger=function(){g.prototype.trigger.apply(this,arguments)};p.prototype.Vwa=function(n,r){this.trigger(new d(k.kb,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.Wwa=function(n,r){this.trigger(new d(k.kc,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.Xwa=
function(n,r){this.trigger(new d(k.Hb,n.x,n.y,n.pageX,n.pageY,void 0,void 0,r&&r.originalEvent))};p.prototype.lYa=function(n,r,t){this.trigger(new d(k.Zr,n.x,n.y,n.pageX,n.pageY,r.delta,r.kR,t&&t.originalEvent))};p.prototype.Swa=function(n){this.trigger(new d(k.qa,n.x,n.y,n.pageX,n.pageY))};p.prototype.Twa=function(n){this.trigger(new d(k.ql,n.x,n.y,n.pageX,n.pageY))};p.prototype.oYa=function(){this.trigger(new d(k.ad))};p.prototype.nYa=function(){this.trigger(new d(k.Xb))};p.prototype.jYa=function(){this.trigger(new d(k.CB))};
p.prototype.kYa=function(){this.trigger(new d(k.Fp))};p.prototype.iYa=function(n,r,t){this.trigger(new c(k.Xx,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.eYa=function(n,r,t){this.trigger(new c(k.P4,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.fYa=function(n,r,t){this.trigger(new c(k.$F,n,r,t.x,t.y,t.pageX,t.pageY,t.touches))};p.prototype.gYa=function(n){this.trigger(new c(k.sIa,void 0,n))};p.prototype.hYa=function(n){this.trigger(new c(k.aG,n))};p.prototype.qda=function(n){n.stopImmediatePropagation();
this.iH(["touchend"]);this.Dqa(n)?this.Gba(n):this.zua(n,!0)};p.prototype.zua=function(n,r){var t=this.LC(n);r&&this.XXa(t);this.Vwa(t,n);this.oa&&this.oa.zua(n,r&&this.get("propagateClick"))};p.prototype.pda=function(n){n.preventDefault();n.stopImmediatePropagation();this.Dqa(n)?this.Eba(n):this.yua(n)};p.prototype.yua=function(n){var r=this.LC(n);this.WXa(r);this.Wwa(r,n);this.oa&&this.oa.yua(n)};p.prototype.N8=function(n,r){var t=n.pageX-r.pageX;n=n.pageY-r.pageY;return Math.sqrt(t*t+n*n)};p.prototype.aA=
function(n,r){this.BM(["touchend"]);!1!==r&&n.preventDefault();n.stopImmediatePropagation();this.yI?this.Fba(n):(r=this.LC(n),this.xua(n,this.Cqa(r)),this.qqa(r));this.yI=null;this.VL()};p.prototype.xua=function(n,r){var t=this.LC(n);this.Xwa(t,n);this.VXa(r);this.oa&&this.oa.xua(n,r)};p.prototype.XXa=function(n){this.bind(k.Xb,this.Lwa,this,!0);this.gE=n};p.prototype.WXa=function(n){if(this.gE){n=this.N8(this.gE,n);if(f.lb()){var r=this.ob();r=.01*p.PJa*Math.min(r.Xa(),r.yb())}else r=p.VJa;n>r&&
this.f_()}};p.prototype.VXa=function(n){this.gE&&(this.Swa(this.gE),n&&this.Twa(this.gE),this.f_())};p.prototype.f_=function(){this.gE&&(this.unbind(k.Xb,this.Lwa,this),this.gE=void 0)};p.prototype.Lwa=function(){this.f_()};p.prototype.H8=function(n){this.iH(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.Gba(n)};p.prototype.Gba=function(n){var r=this.V8(n);this.yI=r;this.iYa(r.scale,r.rotation,r.coordinates);this.oa&&this.oa.Gba(n)};p.prototype.Toa=function(n){n.preventDefault();
n.stopImmediatePropagation();this.Eba(n)};p.prototype.Eba=function(n){var r=this.V8(n,this.yI),t=r.rotation-this.yI.rotation,u=r.scale/this.yI.scale;this.yI=r;this.Fc*=u;for(this.Nk+=t;180<this.Nk;)this.Nk-=360;for(;-180>this.Nk;)this.Nk+=360;this.eYa(this.Fc,this.Nk,r.coordinates);0!=t&&this.gYa(this.Nk);1!=u&&this.hYa(this.Fc);this.f_();this.oa&&this.oa.Eba(n)};p.prototype.Voa=function(n){this.BM(["gesturechange","gestureend"]);n.preventDefault();n.stopImmediatePropagation();this.Fba(n)};p.prototype.Fba=
function(n){var r=this.V8(n);this.fYa(this.Fc,this.Nk,r.coordinates);this.oa&&this.oa.Fba(n)};p.prototype.$$=function(n){this.iH(["mouseup"]);n.stopImmediatePropagation();this.tua(n,!0);q&&this.cSa(n.ctrlKey)};p.prototype.tua=function(n,r){var t=this.Xy(n);r&&this.uMa(t);this.Vwa(t,n);this.oa&&this.oa.tua(n,r&&this.get("propagateClick"))};p.prototype.daa=function(n){n.preventDefault();n.stopImmediatePropagation();this.ob().vF(this);this.uua(n)};p.prototype.uua=function(n){var r=this.Xy(n);this.tMa(r);
this.Wwa(r,n);this.oa&&this.oa.uua(n)};p.prototype.pX=function(n){this.BM(["mouseup"]);n.preventDefault();n.stopImmediatePropagation();var r=this.Xy(n);this.vua(n,this.Cqa(r));this.qqa(r)};p.prototype.vua=function(n,r){var t=this.Xy(n);this.Xwa(t);this.sMa(r);this.oa&&this.oa.vua(n,r)};p.prototype.uMa=function(n){this.bind(k.Xb,this.qna,this,!0);this.nC=n};p.prototype.tMa=function(n){this.nC&&this.N8(this.nC,n)>p.IJa&&this.S6()};p.prototype.sMa=function(n){this.nC&&(this.Swa(this.nC),n&&this.Twa(this.nC),
this.S6())};p.prototype.S6=function(){this.nC&&(this.unbind(k.Xb,this.qna,this),this.nC=void 0)};p.prototype.qna=function(){this.S6()};p.prototype.tra=function(n){this.gb.sra&&(n.preventDefault(),n.stopImmediatePropagation(),this.wua(n))};p.prototype.Xma=function(){return!1};p.prototype.wua=function(n){var r=this.Xy(n),t=this.WPa(n);this.oa&&!this.Xma(t.delta)&&this.oa.wua(n);this.lYa(r,t,n)};p.prototype.Xy=function(n){return this.bW(n.pageX,n.pageY)};p.prototype.WPa=function(n){n=window.event||n.originalEvent||
n;var r={};r.delta=Math.max(-1,Math.min(1,n.wheelDelta||-n.detail));r.kR=n.wheelDelta?.01*n.wheelDelta:r.delta;return r};p.prototype.LC=function(n){var r=this.T8(n);if(void 0===r){var t=void 0!==n.pageX?this.bW(n.pageX,n.pageY):this.bW(n.originalEvent.pageX,n.originalEvent.pageY);t.touches=[t]}else 0==r.length?t=this.mUa:(t={x:0,y:0,pageX:0,pageY:0,GA:0,HA:0,touches:[]},Array.from(r).forEach(function(u){u||(u=r[0]);u=this.bW(u.pageX,u.pageY);t.x+=u.x;t.y+=u.y;t.pageX+=u.pageX;t.pageY+=u.pageY;t.GA+=
u.GA;t.HA+=u.HA;t.touches.push(u)}.bind(this)),t.x/=r.length,t.y/=r.length,t.pageX/=r.length,t.pageY/=r.length,t.GA/=r.length,t.HA/=r.length);return this.mUa=t};p.prototype.Dqa=function(n){if((n=this.T8(n))&&1<n.length)for(var r=0,t=0;t<n.length;t++)if(this.yRa(n[t].target)&&(r++,1<r))return!0;return!1};p.prototype.yRa=function(n){for(;n;){if(n==this.ec)return!0;n=n.parentNode}return!1};p.prototype.T8=function(n){return n.originalEvent.touches||n.originalEvent.targetTouches||n.originalEvent.changedTouches};
p.prototype.bW=function(n,r){var t=this.Yc().offset(),u=this.gb?this.gb.Dz:1,v={};v.x=(n-t.left)/u;v.y=(r-t.top)/u;v.pageX=n/u;v.pageY=r/u;v.GA=n;v.HA=r;return v};p.prototype.V8=function(n,r){var t=this.LC(n);return void 0!==n.originalEvent.scale||void 0!==n.originalEvent.rotation?{coordinates:t,scale:n.originalEvent.scale,rotation:n.originalEvent.rotation}:r?(n=this.upa(n),{coordinates:t,scale:r.scale*n/r.touchesDistance,rotation:0,touchesDistance:n}):{coordinates:t,scale:1,rotation:0,touchesDistance:this.upa(n)}};
p.prototype.upa=function(n){var r=this.T8(n);return r&&1<r.length?(n=Math.abs(r[0].pageX-r[1].pageX),r=Math.abs(r[0].pageY-r[1].pageY),Math.sqrt(n*n+r*r)):0};p.prototype.iH=function(n){this.GV=l(this.GV).union(n);n=this.tpa(n);for(var r=0;r<n.length;r++){var t=n[r];t.target.bind(t.name,t.handler)}};p.prototype.qqa=function(n){this.rra=(new Date).getTime();this.eaa=n};p.prototype.Cqa=function(n){if((new Date).getTime()-this.rra>this.YNa||!this.eaa)return!1;n=this.N8(this.eaa,n);if(f.lb()){var r=this.ob();
r=.01*p.OJa*Math.min(r.Xa(),r.yb())}else r=p.JJa;return n>r?!1:!0};p.prototype.BM=function(n){this.GV=l(this.GV).difference(n);n=this.tpa(n);for(var r=0;r<n.length;r++){var t=n[r];t.target.unbind(t.name,t.handler)}};p.prototype.tpa=function(n){this.Goa||(this.Goa=this.S8());for(var r=[],t=0;t<n.length;t++)r=r.concat(this.Goa[n[t]]);return r};p.prototype.S8=function(){var n=this.Yc(),r=e(document),t=e(window);return{touchstart:[{target:n,name:"touchstart",handler:this.zh(this.qda)}],touchmove:[{target:n,
name:"touchmove",handler:this.zh(this.pda)}],touchend:[{target:n,name:"touchend",handler:this.zh(this.aA,!0)},{target:r,name:"touchend",handler:this.zh(this.aA,!0)},{target:n,name:"touchcancel",handler:this.zh(this.aA,!0)},{target:r,name:"touchcancel",handler:this.zh(this.aA,!0)}],gesturestart:[{target:n,name:"gesturestart",handler:this.zh(this.H8)}],gesturechange:[{target:n,name:"gesturechange",handler:this.zh(this.Toa)}],gestureend:[{target:n,name:"gestureend",handler:this.zh(this.Voa)}],mousedown:[{target:n,
name:"mousedown",handler:this.zh(this.$$)}],mousemove:[{target:n,name:"mousemove",handler:this.zh(this.daa)}],mouseup:[{target:n,name:"mouseup",handler:this.zh(this.pX,!0)},{target:t,name:"mouseup",handler:this.zh(this.pX,!0)}],mousewheel:[{target:n,name:"mousewheel",handler:this.zh(this.tra)},{target:n,name:"DOMMouseScroll",handler:this.zh(this.tra)}]}};p.prototype.zh=function(n,r){var t=this;return function(){r&&h.C3();p.A_+=1;var u=n.apply(t,arguments);--p.A_;return u}};p.prototype.Za=function(){this.K("autoRolledOver")&&
(this.unbind(k.ad,this.Ema,this),this.unbind(k.Xb,this.Dma,this),this.B("autoRolledOver")&&(this.bind(k.ad,this.Ema,this),this.bind(k.Xb,this.Dma,this)),this.S("autoRolledOver"));this.K("autoPressed")&&(this.unbind(k.kb,this.Bma),this.unbind(k.Hb,this.Cma),this.B("autoPressed")&&(this.bind(k.kb,this.Bma),this.bind(k.Hb,this.Cma)),this.S("autoPressed"));var n=!1;this.K("contentOpaque")&&(n=!0,this.S("contentOpaque"));this.K("inheritedInteractionEnabled")&&(n=!0,this.S("inheritedInteractionEnabled"));
this.K("interactionEnabled")&&(n=!0,this.S("interactionEnabled"));if(this.K("backgroundOpacity")||this.K("backgroundColor"))n=!0;g.prototype.Za.call(this);if(n){var r=this.Uc();r=0<r.Zk()&&0<r.oC.length;var t=this.B("contentOpaque"),u=this.B("inheritedInteractionEnabled"),v=this.B("interactionEnabled");this.VD(u&&v&&(t||r))}if(n||this.K("cursor")||this.K("inheritedCursor"))this.S("cursor"),this.S("inheritedCursor"),this.tU?this.Uz(this.B("cursor")):this.Uz(this.B("inheritedCursor"))};p.prototype.VD=
function(n){this.tU!=n&&((this.tU=n)?this.iH(p.ama):this.BM(p.ama),this.VL())};p.prototype.VL=function(){this.ce().style["pointer-events"]=this.Ppa()};p.prototype.Ppa=function(){return this.tU?"auto":"none"};p.prototype.cSa=function(n){if(n){n=[];for(var r=this;r;)n.push(r),r=r.getParent();console.log(n.map(function(t){return t.Vu}))}else console.log(this.Vu)};p.s1=function(){return 0<p.A_};p.ama=function(){var n=[];n=n.concat(["touchstart","touchmove"]);f.td()!=f.ri&&(n=n.concat(["mousedown","mousemove",
"mousewheel"]));return n}();p.A_=0;p.k$a=1E3;p.VJa=10;p.PJa=5;p.IJa=10;p.OJa=10;p.JJa=10;var q=a.gg("debug");return p});define("d",["require"],function(){return{DT:"absolute",Ag:"horizontal",Zx:"grid",Mh:"vertical"}});define("cD",["require"],function(){return function(a){this.Hd=a;this.height=this.width=this.y=this.x=0}});define("dM",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}});
define("ch",["require","nk","cD","dM"],function(a){function e(){this.Qc=null;this.mm=l.yc;this.Gl=l.Ya;this.rE=this.Bv=0}var l=a("nk"),m=a("cD"),k=a("dM");e.prototype.qFa=function(b){this.Bv!=b&&(this.Bv=b,this.bf())};e.prototype.U2=function(b){this.rE!=b&&(this.rE=b,this.bf())};e.prototype.NFa=function(b){this.Qc=b;this.bf()};e.prototype.OK=function(b){this.Gl!=b&&(this.Gl=b,this.bf())};e.prototype.XK=function(b){this.mm!=b&&(this.mm=b,this.bf())};e.prototype.measure=function(){return new k};e.prototype.update=
function(){var b=this.TMa();this.fJ(b);this.SVa(b)};e.prototype.fJ=function(b){this.tQ(b);this.sQ(b)};e.prototype.eW=function(){for(var b=this.Ypa(),h=[],g=0;g<b.length;g++){var c=b[g];c.get("includeInLayout")&&h.push(c)}return h};e.prototype.Ypa=function(){for(var b=this.Qc.jb(),h=[],g=0;g<b.length;g++){var c=b[g];c.get("visible")&&h.push(c)}return h};e.prototype.TMa=function(){for(var b=this.Ypa(),h=[],g=0;g<b.length;g++)h.push(new m(b[g]));return h};e.prototype.SVa=function(b){for(var h=0;h<b.length;h++){var g=
b[h];g.Hd.bFa(g.x,g.y,g.width,g.height)}};e.prototype.bf=function(){this.Qc&&(this.Qc.$b(),this.Qc.Qd())};return e});
define("dF",["require","lE","nk","ch","dM"],function(a){var e=a("lE");a("nk");var l=a("ch"),m=a("dM");a=e.extend(l,function(){l.call(this)});a.prototype.measure=function(){for(var k=new m,b=this.eW(),h=0;h<b.length;h++){var g=b[h],c=g.Kv,d=g.rP,f=0;isNaN(c)||(f+=c);isNaN(d)||(f+=d);k.width=Math.max(f+g.Lt(),k.width);k.minWidth=Math.max(f+g.It(),k.minWidth);c=g.Uq;d=g.bM;f=0;isNaN(c)||(f+=c);isNaN(d)||(f+=d);k.height=Math.max(f+g.Kt(),k.height);k.minHeight=Math.max(f+g.Zw(),k.minHeight)}b=this.Qc.qm()+
this.Qc.Ft();k.width+=b;k.minWidth+=b;b=this.Qc.Gt()+this.Qc.aK();k.height+=b;k.minHeight+=b;return k};a.prototype.fJ=function(k){this.tQ(k);this.sQ(k)};a.prototype.fJ=function(k){for(var b=this.Qc.uf(),h=this.Qc.tf(),g=0;g<k.length;g++){var c=k[g],d=c.Hd,f=d.Kv;if(isNaN(f)){var p=d.zY;isNaN(p)||(f=Math.round(p*b*.01))}p=d.rP;if(isNaN(p)){var q=d.AY;isNaN(q)||(p=Math.round(q*b*.01))}q=d.Cy;var n=d.$m;if(isNaN(n)){var r=d.xn;isNaN(r)?isNaN(f)||isNaN(p)||(n=b-f-p):n=Math.round(r*b*.01)}r=d.Uq;if(isNaN(r)){var t=
d.BY;isNaN(t)||(r=Math.round(t*h*.01))}t=d.bM;if(isNaN(t)){var u=d.yY;isNaN(u)||(t=Math.round(u*h*.01))}u=d.Dy;var v=d.AC;if(isNaN(v)){var w=d.wn;isNaN(w)?isNaN(r)||isNaN(t)||(v=h-r-t):v=Math.round(w*h*.01)}c.width=isNaN(n)?d.Lt():Math.max(d.It(),Math.min(d.V0(),n));c.height=isNaN(v)?d.Kt():Math.max(d.Zw(),Math.min(d.U0(),v));c.x=isNaN(f)||isNaN(p)?isNaN(f)?isNaN(p)?isNaN(q)?0:Math.round(.5*b+q-.5*c.width):b-p-c.width:f:Math.round(f+.5*(b-p-f-c.width));c.y=isNaN(r)||isNaN(t)?isNaN(r)?isNaN(t)?isNaN(u)?
0:Math.round(.5*h+u-.5*c.height):h-t-c.height:r:Math.round(r+.5*(h-t-r-c.height))}};return a});
define("kC",["require","lE","nk","ch","dM"],function(a){var e=a("lE"),l=a("nk"),m=a("ch"),k=a("dM");a=e.extend(m,function(){m.call(this);this.Zua=this.tna=this.sN=this.tN=this.uN=this.aD=this.Hv=this.Iv=this.wN=this.hz=this.$m=void 0});a.prototype.r6a=function(b){this.$m!=b&&(this.$m=b,this.bf())};a.prototype.I6a=function(b){this.Iv!=b&&(this.Iv=b,void 0!=this.Iv&&(this.hz=void 0),this.bf())};a.prototype.H6a=function(b){this.Hv!=b&&(this.Hv=b,void 0!=this.Hv&&(this.wN=void 0),this.bf())};a.prototype.Q6a=
function(b){this.hz!=b&&(this.hz=b,void 0!=this.Iv&&(this.Iv=void 0),this.bf())};a.prototype.P6a=function(b){this.wN!=b&&(this.wN=b,void 0!=this.Hv&&(this.Hv=void 0),this.bf())};a.prototype.N6a=function(b){this.aD!=b&&(this.aD=b,this.bf())};a.prototype.M6a=function(b){this.uN!=b&&(this.uN=b,this.bf())};a.prototype.L6a=function(b){this.tN!=b&&(this.tN=b,this.bf())};a.prototype.K6a=function(b){this.sN!=b&&(this.sN=b,this.bf())};a.prototype.measure=function(){for(var b=new k,h=this.eW(),g=0,c=0;c<h.length;c++)h[c].get("includeInLayout")&&
g++;if(!isNaN(this.hz))for(isNaN(this.aD)||(b.minWidth=this.aD),c=0;c<h.length;c++){var d=h[c].It();isNaN(d)||(b.minWidth=Math.max(d,b.minWidth))}if(isNaN(this.Iv))for(c=0;c<h.length;c++)d=h[c].Lt(),isNaN(d)||(b.width=Math.max(d,b.width));else b.width=this.Iv;if(isNaN(this.Hv))for(c=0;c<h.length;c++)d=h[c].Kt(),isNaN(d)||(b.height=Math.max(d,b.height));else b.height=this.Hv;isNaN(this.hz)?isNaN(this.$m)?h=Math.ceil(Math.sqrt(g)):(h=this.$m-this.Qc.qm()-this.Qc.Ft(),h=Math.max(1,Math.floor((h+this.Bv)/
(b.width+this.Bv)))):h=Math.max(1,Math.floor(100/this.hz));g=Math.ceil(g/h);b.width=b.width*h+Math.max(0,h-1)*this.Bv+this.Qc.qm()+this.Qc.Ft();b.minWidth=b.minWidth+this.Qc.qm()+this.Qc.Ft();b.height=b.height*g+Math.max(0,g-1)*this.rE+this.Qc.Gt()+this.Qc.aK();b.minHeight=0;return b};a.prototype.fJ=function(b){for(var h,g,c=[],d=[],f=0;f<b.length;f++)g=b[f].Hd,g.get("includeInLayout")?c.push(b[f]):d.push(b[f]);var p=c.length,q=this.Qc.uf(),n=this.Bv;if(isNaN(this.Iv))if(isNaN(this.hz)){for(f=b=0;f<
c.length;f++)g=c[f].Hd,b=Math.max(g.It(),g.Lt(),b);b=Math.min(q,b)}else b=Math.max(1,Math.floor(100/this.hz)),b=(q-(b-1)*n)/b,f=!1,!isNaN(this.tN)&&this.tN<b&&(b=this.tN,f=!0),!isNaN(this.aD)&&this.aD>b&&(b=this.aD,f=!0),f&&(b=Math.max(1,Math.floor((q+n)/(b+n))),b=(q-(b-1)*n)/b);else b=this.Iv;b=Math.max(1,b);var r=Math.max(1,Math.floor(.001+(q+n)/(b+n)));f=r*b;var t=r*(b+n)-n,u=0;if(q>=t)switch(this.Gl){case l.qb:u=q-t;break;case l.Oe:u=Math.round(.5*(q-t));break;default:u=0}q=[];t=[];for(var v=
0;v<r;v++)g=Math.round(f/(r-v)),f-=g,t.push(u),u+=g+n,q.push(g);u=this.Qc.tf();v=this.rE;if(isNaN(this.Hv))if(isNaN(this.wN))for(n=1,f=0;f<c.length;f++)g=c[f].Hd,n=Math.max(g.Zw(),g.Kt(),n);else n=Math.max(1,100/this.wN),n=(u-(n-1)*v)/n,f=!1,!isNaN(this.sN)&&this.sN<n&&(n=this.sN,f=!0),!isNaN(this.uN)&&this.uN>n&&(n=this.uN,f=!0),f&&(n=Math.max(1,Math.floor((u+v)/(n+v))),n=(u-(n-1)*v)/n);else n=this.Hv;p=Math.max(1,Math.ceil(p/r));f=p*n;g=p*(n+v)-v;h=0;if(u>=g)switch(this.mm){case l.rc:h=u-g;break;
case l.le:h=Math.round(.5*(u-g))}u=[];g=[];for(var w=0;w<p;w++){var x=Math.round(f/(p-w));f-=x;g.push(h);h+=x+v;u.push(x)}for(f=0;f<c.length;f++)h=c[f],v=f%r,w=Math.floor(f/r),h.x=t[v],h.width=q[v],h.y=g[w],h.height=u[w];for(f=0;f<d.length;f++)h=d[f],h.x=0,h.width=Math.round(b),h.y=0,h.height=Math.round(n);this.tna=r;this.Zua=p};return a});
define("lC",["require","lE","nk","ch","dM"],function(a){var e=a("lE"),l=a("nk"),m=a("ch"),k=a("dM");a=e.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new k,h=this.eW(),g=0;g<h.length;g++){var c=h[g];b.height=Math.max(c.Kt(),b.height);b.minHeight=Math.max(c.Zw(),b.minHeight);b.width+=c.Lt();b.minWidth+=c.It()}h=Math.max(0,h.length-1)*this.Bv+this.Qc.qm()+this.Qc.Ft();b.width+=h;b.minWidth+=h;h=this.Qc.Gt()+this.Qc.aK();b.height+=h;b.minHeight+=h;return b};a.prototype.fJ=
function(b){this.tQ(b);this.sQ(b)};a.prototype.tQ=function(b){for(var h=0,g=0;g<b.length;g++)b[g].Hd.get("includeInLayout")&&h++;g=Math.max(0,h-1)*this.Bv;var c=this.Qc.uf()-g,d=this.Qc.tf();h=c;var f=0,p=[];for(g=0;g<b.length;g++){var q=b[g],n=q.Hd,r=n.wn;q.height=isNaN(r)?n.Kt():Math.max(n.Zw(),Math.min(n.U0(),Math.round(d*r*.01)));r=n.xn;isNaN(r)?(q.width=n.Lt(),h-=q.width):n.get("includeInLayout")?(f+=r,p.push(q)):q.width=Math.max(n.It(),Math.min(n.V0(),Math.round(c*r*.01)))}h-=Math.max(0,h-c*
f*.01);do{b=!1;c=Math.max(0,0<f?h/f:0);d=[];for(g=f=0;g<p.length;g++){q=p[g];n=q.Hd;r=Math.round(n.xn*c);var t=n.It(),u=n.V0();r<t?(q.width=t,h-=q.width,b=!0):r>u?(q.width=u,h-=q.width,b=!0):(f+=n.xn,d.push(q))}p=d}while(b);for(g=0;g<p.length;g++)q=p[g],n=q.Hd,c=Math.max(0,0<f?h/f:0),q.width=Math.round(n.xn*c),h-=q.width,f-=n.xn};a.prototype.sQ=function(b){for(var h=this.Bv,g=this.Qc.uf(),c=this.Qc.tf(),d=0,f=0,p=0;p<b.length;p++){var q=b[p];q.Hd.get("includeInLayout")&&(d+=b[p].width,f++)}d+=h*(f-
1);if(g>=d)switch(this.Gl){case l.qb:g-=d;break;case l.Oe:g=Math.round(.5*(g-d));break;default:g=0}else g=0;for(p=0;p<b.length;p++)if(q=b[p],q.Hd.get("includeInLayout")){if(c>=q.height)switch(this.mm){case l.rc:q.y=c-q.height;break;case l.le:q.y=Math.round(.5*(c-q.height));break;default:q.y=0}else q.y=0;q.x=g;g+=q.width+h}else q.x=0,q.y=0};return a});
define("di",["require","lE","nk","ch","dM"],function(a){var e=a("lE"),l=a("nk"),m=a("ch"),k=a("dM");a=e.extend(m,function(){m.call(this)});a.prototype.measure=function(){for(var b=new k,h=this.eW(),g=0;g<h.length;g++){var c=h[g];b.width=Math.max(c.Lt(),b.width);b.minWidth=Math.max(c.It(),b.minWidth);b.height+=c.Kt();b.minHeight+=c.Zw()}h=Math.max(0,h.length-1)*this.rE+this.Qc.Gt()+this.Qc.aK();b.height+=h;b.minHeight+=h;h=this.Qc.qm()+this.Qc.Ft();b.width+=h;b.minWidth+=h;return b};a.prototype.fJ=
function(b){this.tQ(b);this.sQ(b)};a.prototype.tQ=function(b){for(var h=0,g=0;g<b.length;g++)b[g].Hd.get("includeInLayout")&&h++;g=Math.max(0,h-1)*this.rE;var c=this.Qc.uf(),d=this.Qc.tf()-g;h=d;var f=0,p=[];for(g=0;g<b.length;g++){var q=b[g],n=q.Hd,r=n.xn;q.width=isNaN(r)?n.Lt():Math.max(n.It(),Math.min(n.V0(),Math.round(c*r*.01)));r=n.wn;isNaN(r)?(q.height=n.Kt(),h-=q.height):n.get("includeInLayout")?(f+=r,p.push(q)):q.height=Math.max(n.Zw(),Math.min(n.U0(),Math.round(d*r*.01)))}h-=Math.max(0,h-
d*f*.01);do{b=!1;c=Math.max(0,0<f?h/f:0);d=[];for(g=f=0;g<p.length;g++){q=p[g];n=q.Hd;r=Math.round(n.wn*c);var t=n.Zw(),u=n.U0();r<t?(q.height=t,h-=q.height,b=!0):r>u?(q.height=u,h-=q.height,b=!0):(f+=n.wn,d.push(q))}p=d}while(b);for(g=0;g<p.length;g++)q=p[g],n=q.Hd,c=Math.max(0,0<f?h/f:0),q.height=Math.round(n.wn*c),h-=q.height,f-=n.wn};a.prototype.sQ=function(b){for(var h=this.rE,g=this.Qc.uf(),c=this.Qc.tf(),d=0,f=0,p=0;p<b.length;p++){var q=b[p];q.Hd.get("includeInLayout")&&(d+=q.height,q.width>
g&&(g=q.width),f++)}d+=h*(f-1);if(c>=d)switch(this.mm){case l.rc:c-=d;break;case l.le:c=Math.round(.5*(c-d));break;default:c=0}else c=0;for(p=0;p<b.length;p++)if(q=b[p],q.Hd.get("includeInLayout")){switch(this.Gl){case l.qb:q.x=g-q.width;break;case l.Oe:q.x=Math.round(.5*(g-q.width));break;default:q.x=0}q.y=c;c+=q.height+h}else q.x=0,q.y=0};return a});
define("m","require lE en e R nk cT d dF kC lC di".split(" "),function(a){var e=a("lE"),l=a("en"),m=a("e"),k=a("R"),b=a("nk"),h=a("cT"),g=a("d"),c=a("dF"),d=a("kC"),f=a("lC"),p=a("di"),q=e.extend(m,function(){m.call(this);this.Fe("BaseContainer");this.Kl=null;this.Sd=[];this.Zp=[];this.xM=h.Jja;this.set("contentOpaque",!1)});q.zc={children:[[]],childrenInteractionEnabled:!0,gap:0,horizontalAlign:b.Ya,itemHeight:void 0,itemMaxHeight:void 0,itemMaxWidth:void 0,itemMinHeight:void 0,itemMinWidth:void 0,
itemWidth:void 0,layout:g.DT,verticalAlign:b.yc};l.defaults(q.zc,m.zc);q.prototype.vb=function(){this.io(q.zc)};q.prototype.set=function(n,r){"children"==n?this.fh(r):"creationPolicy"==n?this.i6a(r):m.prototype.set.call(this,n,r)};q.prototype.get=function(n,r){return"children"==n?this.jb():"creationPolicy"==n?this.xM:m.prototype.get.call(this,n,r)};q.prototype.i6a=function(n){this.xM!=n&&(this.xM=n,this.Ida())};q.prototype.fh=function(n){var r=this.jb();n=n||[];for(var t=l(r).difference(n),u=0;u<
t.length;u++)this.removeChild(t[u]);r=l(n).difference(r);for(u=0;u<r.length;u++)this.Wa(r[u]);for(u=0;u<n.length;u++)this.On(n[u],u)};q.prototype.jb=function(){return this.Sd};q.prototype.Wa=function(n){n.getParent()&&n.getParent().removeChild(n);this.Sd.push(n);n.oa=this;this.tma(n);n.wca(this.lq);this.Zp.push(n);this.Ida();n.Qp()};q.prototype.removeChild=function(n){n.getParent()==this&&(n.zn(),n.oa=null,l(this.Zp).contains(n)?this.Zp=l.without(this.Zp,n):(n.Yc().detach(),n.$s(null),this.$b(),this.Qd()),
this.Sd=l.without(this.Sd,n),n.Zba())};q.prototype.rEa=function(){l(this.jb()).forEach(function(n){this.removeChild(n)})};q.prototype.Zfa=function(n){return l(this.Sd).indexOf(n)};q.prototype.On=function(n,r){var t=this.Zfa(n);if(0>t)throw"Can't set index. This is not a child of this container";var u=this.Sd.slice();u.splice(t,1);u.splice(r,0,n);if(!l.isEqual(this.Sd,u)&&(this.Sd=u,!l(this.Zp).contains(n))){r=this.Zfa(n);n.Yc().detach();u=t=null;for(var v=r-1;0<=v&&!t;v--)l(this.Zp).contains(this.Sd[v])||
(t=this.Sd[v]);for(v=r+1;v<this.Sd.length&&!u&&!t;v++)l(this.Zp).contains(this.Sd[v])||(u=this.Sd[v]);t?n.Yc().insertAfter(t.Yc()):u?n.Yc().insertBefore(u.Yc()):this.Pb().Xea(n.ce());this.Qd()}};q.prototype.VD=function(n){m.prototype.VD.call(this,n);this.mxa()};q.prototype.mxa=function(){l(this.Sd).forEach(function(n){this.tma(n)},this)};q.prototype.tma=function(n){n.set("inheritedInteractionEnabled",this.B("interactionEnabled")&&this.B("inheritedInteractionEnabled")&&this.B("childrenInteractionEnabled"))};
q.prototype.VL=function(){m.prototype.VL.call(this);this.Sd.forEach(function(n){n.VL()})};q.prototype.WD=function(n){m.prototype.WD.call(this,n);l(this.Sd).forEach(function(r){r.wca(this.lq)},this)};q.prototype.l6=function(n){m.prototype.l6.call(this,n);l(this.jb()).forEach(function(r){r.hJ()});this.Ida()};q.prototype.$s=function(n){m.prototype.$s.call(this,n);l(this.jb()).forEach(function(r){l(this.Zp).contains(r)||r.$s(n)},this)};q.prototype.Ida=function(){(this.xM==h.Jja&&this.fz||this.xM==h.AB)&&
0<this.Zp.length&&(l(this.Zp).forEach(function(n){this.Pb().Xea(n.ce());n.$s(this.ob())},this),this.Zp=[],this.$b(),this.Qd())};q.prototype.YS=function(n){this.Kl!=n&&(this.Kl&&this.Kl.NFa(null),(this.Kl=n)&&this.Kl.NFa(this))};q.prototype.Za=function(){var n=!1,r=this.B("layout");if(this.K("layout")){switch(r){case g.Zx:this.YS(new d);break;case g.Ag:this.YS(new f);break;case g.Mh:this.YS(new p);break;default:this.YS(new c)}this.S("layout");n=!0}var t=this.Kl;if(this.K("horizontalAlign")||n)t.OK(this.B("horizontalAlign")),
this.S("horizontalAlign");if(this.K("verticalAlign")||n)t.XK(this.B("verticalAlign")),this.S("verticalAlign");if(this.K("gap")||n)r==g.Zx?(t.qFa(this.B("gap")),t.U2(this.B("gap"))):r==g.Ag?t.qFa(this.B("gap")):r==g.Mh&&t.U2(this.B("gap")),this.S("gap");if(r==g.Zx){if(this.K("itemWidth")||n){var u=this.B("itemWidth"),v=k.jp(u);void 0!==v?t.Q6a(v):t.I6a(u);this.S("itemWidth")}if(this.K("itemHeight")||n)u=this.B("itemHeight"),v=k.jp(u),void 0!==v?t.P6a(v):t.H6a(u),this.S("itemHeight");this.K("itemMinWidth")&&
(t.N6a(this.B("itemMinWidth")),this.S("itemMinWidth"));this.K("itemMinHeight")&&(t.M6a(this.B("itemMinHeight")),this.S("itemMinHeight"));this.K("itemMaxWidth")&&(t.L6a(this.B("itemMaxWidth")),this.S("itemMaxWidth"));this.K("itemMaxHeight")&&(t.K6a(this.B("itemMaxHeight")),this.S("itemMaxHeight"))}this.K("childrenInteractionEnabled")&&(this.S("childrenInteractionEnabled"),this.mxa());this.pc(["cursor"],{cursor:"inheritedCursor"},this.Sd,!0,!1);m.prototype.Za.call(this);r==g.Zx&&t.r6a(this.$m)};q.prototype.pc=
function(n,r,t,u,v){for(var w=0;w<n.length;w++){var x=n[w];if(!u||this.K(x)){for(var y=0;y<t.length;y++)t[y].set(r[x]?r[x]:x,this.B(x));v&&this.S(x)}}};q.prototype.Ov=function(){if(this.Kl){var n=this.Kl.measure();this.Ol=n.width;this.Nl=n.height;this.PN=n.minWidth;this.ON=n.minHeight}else m.prototype.Ov.call(this)};q.prototype.fk=function(){this.Kl&&this.Kl.update(this);m.prototype.fk.call(this)};return q});
define("ph",["require","jquery.mod","lE","pE","gM"],function(a){function e(b,h){this.gH=b;this.Mc="#000000";this.Rb=.5;this.na=10;this.FQ=this.bN=5;this.Df=h;this.gV=this.Xaa=this.bb=0;this.lma=this.Mb=this.GU=!1;this.xa=!0;this.UG=document.createElement("div");this.UG.setAttribute("tdvlayer","scrollbar");this.mM=l(this.UG);k.css(this.UG,{position:"absolute","z-index":m.eJa});this.YL=document.createElement("div");this.t6=l(this.YL);k.css(this.YL,{position:"absolute",left:0,top:0});this.mM.append(this.t6)}
var l=a("jquery.mod");a("lE");var m=a("pE"),k=a("gM");e.prototype.He=function(){return this.mM.width()};e.prototype.Xe=function(){return this.mM.height()};e.prototype.setPosition=function(b){this.bb!=b&&(this.bb=b,this.$ua(),this.xa=!0)};e.prototype.$k=function(){return this.bb};e.prototype.setSize=function(b,h){this.Xaa=b;this.gV=h;this.$ua();this.xa=!0};e.prototype.Bf=function(b){this.Mb!=b&&(this.Mb=b,this.xa=!0)};e.prototype.aFa=function(b){this.GU!=b&&(this.GU=b,this.xa=!0)};e.prototype.setColor=
function(b){this.Mc!=b&&(this.Mc=b,this.xa=!0)};e.prototype.vj=function(b){this.Rb!=b&&(this.Rb=b,this.xa=!0)};e.prototype.hT=function(b){this.na!=b&&(this.na=b,this.xa=!0)};e.prototype.oFa=function(b){this.bN!=b&&(this.bN=b,this.xa=!0)};e.prototype.UFa=function(b){this.FQ!=b&&(this.FQ=b,this.xa=!0)};e.prototype.gh=function(){this.xa&&(this.lma!=this.Mb&&(this.Mb?this.Df.append(this.mM):this.mM.detach(),this.lma=this.Mb),this.ia(),this.xa=!1)};e.prototype.ia=function(){var b=Math.round(100*this.Xaa/
this.gV),h=Math.round(100*this.bb/this.gV);k.css(this.UG,{filter:"alpha(opacity="+Math.round(100*this.Rb)+")",opacity:this.Rb,display:this.Mb?"block":"none"});k.css(this.YL,{backgroundColor:this.Mc,"border-radius":Math.floor(this.na/2)+"px"});this.gH==e.Ag?(k.css(this.UG,{left:this.bN+"px",right:(this.GU?this.na:0)+this.bN+"px",height:this.na+"px",bottom:this.FQ+"px"}),k.css(this.YL,{left:h+"%",width:b+"%",height:this.na+"px"})):(k.css(this.UG,{top:this.FQ+"px",right:this.bN+"px",width:this.na+"px",
bottom:(this.GU?this.na:0)+this.FQ+"px"}),k.css(this.YL,{top:h+"%",width:this.na+"px",height:b+"%"}))};e.prototype.$ua=function(){var b=this.gV-this.Xaa;0>this.bb?this.bb=0:this.bb>b&&(this.bb=b)};e.Ag="horizontal";e.Mh="vertical";return e});define("kh",["require","lE","ph"],function(a){var e=a("lE"),l=a("ph");return e.extend(l,function(m){l.call(this,l.Ag,m)})});define("ey",["require","lE","ph"],function(a){var e=a("lE"),l=a("ph");return e.extend(l,function(m){l.call(this,l.Mh,m)})});
define("hq","require exports pf cC gv mB".split(" "),function(a,e,l,m,k,b){return new (function(h){function g(){var c=h.call(this)||this;c.visible=!0;c.pb=!1;c.F3=!1;c.visible=!0;c.pb=!1;c.F3=!1;c.qEa=b.getQueryParameter("redirect-when-hidden")||"";c.h5a=b.gg("reload-when-hidden",!1);document.addEventListener("visibilitychange",c.onChange.bind(c),!1);c.onChange();return c}Z(g,h);g.prototype.vx=function(c){if(this.pb=c)this.F3=!1;this.onChange()};g.prototype.Uia=function(c){this.F3=c;this.onChange()};
g.prototype.onChange=function(){var c=this.pb?!this.F3:!document.hidden;this.visible!=c&&((this.visible=c)&&this.I4a(),this.trigger(new m(l.ca)))};g.prototype.I4a=function(){this.qEa?window.location.href=this.qEa:this.h5a&&window.location.reload()};return g}(k))});
define("mO",["require","exports","mB"],function(a,e,l){a={};a.rL=l.gg("debug",!1);a.vIa=l.rj("hqhls");a.Aja=l.gg("audiocontext",!0);a.a$a=l.gg("testhash",!1);a.iIa=l.gg("exitvronblur",!1);a.UHa=l.gg("download",!0);a.qJa=l.gg("updatewhilehidden",!1);a.oIa=l.gg("webgl2",!1);a.nIa=l.gg("webgl1",!1);a.lIa=l.gg("lowp",!1);a.Xja=l.gg("antialias");a.vJa=l.gg("unlimited-video-resolution",!1);return a});
define("bi",["require","exports","lE","hq","mO"],function(a,e,l,m,k){var b=window.requestAnimationFrame.bind(window),h=window.cancelAnimationFrame.bind(window),g=function(){function d(){}d.requestFrame=function(f,p,q){for(var n=0;n<d.Br.length;n++)if(d.Br[n].is(f,p))return;n=d.D1;void 0!==q&&(n+=q);d.Br.push(new c(f,p,n));d.paused||void 0!==d.Xt||(d.Xt=d.JS(d.H0))};d.W_a=function(f){for(var p=0;p<d.Br.length;p++)if(d.Br[p].is(f,void 0)){d.Br.splice(p,1);break}};d.RK=function(f){d.paused!=f&&(d.paused=
f,d.paused?void 0!==d.Xt&&(d.kfa(d.Xt),d.Xt=void 0):0<d.Br.length&&(d.Xt=d.JS(d.H0)))};d.KFa=function(f,p){d.JS!=f&&(void 0!==d.Xt&&(d.kfa(d.Xt),d.Xt=f(d.H0)),d.JS=f,d.kfa=p)};d.I5a=function(){d.KFa(b,h)};d.H0=function(f){d.Tza(f);d.Xt=0<d.Br.length?d.JS(d.H0):void 0};d.Tza=function(f){f<d.Ge&&(d.startTime=f-d.D1*d.N4,d.Ge=f);var p=0;void 0===d.startTime?d.startTime=f:p=Math.round((f-d.startTime)/d.N4);var q=(p-d.D1)*d.N4,n=d.Br;d.Br=[];d.f1=!0;d.D1=p;q=1<q?100>q?q:100:1;d.Ge=f;d.iAa=q;for(f=0;f<
n.length;f++){var r=n[f];p<r.wCa?d.Br.push(r):r.call(q)}d.f1=!1};d.Ge=(new Date).getTime();d.iAa=0;d.f1=!1;d.JS=b;d.kfa=h;d.Br=[];d.Xt=void 0;d.paused=!1;d.N4=1E3/60;d.D1=0;d.startTime=void 0;return d}();k.qJa&&setInterval(function(){m.visible||g.Tza(g.Ge+100)},100);var c=function(){function d(f,p,q){this.wCa=0;this.Xo=f;this.context=p;this.wCa=q}d.prototype.is=function(f,p){return this.Xo==f&&this.context==p};d.prototype.call=function(f){try{this.Xo.call(this.context,f)}catch(p){l.dS("Error in animation frame",
p)}};return d}();return g});define("bG",["require","exports"],function(){return function(){return function(a,e,l,m){this.name=a;this.from=e;this.to=l;this.U3a=m}}()});
define("oH",["require","exports","bG"],function(a,e,l){function m(c){return function(d,f,p){d=Math.abs(f-d);return 1>d/p?0:1/(1-Math.pow((d-p)/d,1/c))}}function k(c){var d=new g;d.Vfa=function(f,p,q,n){return f+(p-f)*Math.pow(0>=q?0:q>=n?1:q/n,c)};d.eha=m(c);return d}function b(c){var d=new g;d.Vfa=function(f,p,q,n){return f+(p-f)*(1-Math.pow(1-(0>=q?0:q>=n?1:q/n),c))};d.eha=m(c);return d}function h(c){var d=new g;d.Vfa=function(f,p,q,n){q=0>=q?0:q>=n?1:q/n;.5>q?q=Math.pow(2*q,c):(q=1-Math.pow(1-
(2*q-1),c),q+=1);return f+.5*(p-f)*q};d.eha=m(c);return d}a=function(){function c(d,f,p){void 0===p&&(p=void 0);switch(d){case "quad_in":this.curve=k(2);break;case "quad_out":this.curve=b(2);break;case "quad_in_out":this.curve=h(2);break;case "cubic_in":this.curve=k(3);break;case "cubic_out":this.curve=b(3);break;case "cubic_in_out":this.curve=h(3);break;case "quart_in":this.curve=k(4);break;case "quart_out":this.curve=b(4);break;case "quart_in_out":this.curve=h(4);break;case "quint_in":this.curve=
k(5);break;case "quint_out":this.curve=b(5);break;case "quint_in_out":this.curve=h(5);break;default:this.curve=k(1)}this.Sw=f.slice();this.time=0;this.duration=this.Zya(f,p);this.Dfa={};for(d=0;d<this.Sw.length;d++)this.Dfa[this.Sw[d].name]=f[d].from}c.prototype.bga=function(d){for(var f=0;f<this.Sw.length;f++)if(this.Sw[f].name==d)return this.Sw[f];return null};c.prototype.fb=function(d){return this.Dfa[d]};c.prototype.Qga=function(){return 0<this.time};c.prototype.Ye=function(){return this.time>=
this.duration};c.prototype.ji=function(){return this.duration};c.prototype.$k=function(){return this.time/this.duration};c.prototype.getTime=function(){return this.time};c.prototype.setTime=function(d){this.time=Math.min(Math.max(0,d),this.duration);for(d=0;d<this.Sw.length;d++){var f=this.Sw[d];this.Dfa[f.name]=this.curve.Vfa(f.from,f.to,this.time,this.duration)}};c.prototype.Cb=function(d){this.setTime(this.time+d)};c.prototype.Zya=function(d,f,p){void 0===p&&(p=void 0);for(var q=[],n=0;n<this.Sw.length;n++){var r=
this.Sw[n],t=p?p:r.U3a;void 0!==t&&0<t&&q.push(this.curve.eha(r.from,r.to,t/1E3))}if(0<q.length){d=q[0];for(n=1;n<q.length;n++)d=Math.max(d,q[n]);return void 0!==f&&0<f?Math.max(f,d):d}return void 0!==f?Math.max(f,.001):this.Zya(d,f,1E3)};c.ji=function(){return(new c(void 0,[new l("",void 0,void 0,void 0)])).ji()};return c}();var g=function(){return function(){}}();return a});
define("bn",["require","exports"],function(){var a={Wi:38,Ih:40,qb:39,Ya:37,lG:32,Qn:65,iU:90,Hu:87,Bu:83,iu:68,Q:81,E:69,$T:187,XT:189,MT:27,ja:{}};a.ja.Wi="ArrowUp";a.ja.Ih="ArrowDown";a.ja.qb="ArrowRight";a.ja.Ya="ArrowLeft";a.ja.Qn="KeyA";a.ja.iU="KeyZ";a.ja.Hu="KeyW";a.ja.Bu="KeyS";a.ja.iu="KeyD";a.ja.Q="KeyQ";a.ja.E="KeyE";a.ja.$T="BracketRight";a.ja.XT="Slash";a.ja.MT="Escape";a.ja.lG="Space";a.ja.LT="Enter";return a});
define("jg",["require","exports","pf","bn","gv"],function(a,e,l,m,k){a=function(){function h(){}h.bp=function(){return document.activeElement&&document.activeElement!==document.body};h.R1a=function(){return document.activeElement};h.t3a=function(g){return Array.isArray(g)?g.includes(document.activeElement):g==document.activeElement};h.AEa=function(g,c){void 0===g&&(g=void 0);void 0===c&&(c=void 0);this.Qi||(this.Qi=document.createElement("div"));document.querySelectorAll("*[tabindex]").forEach(function(d){d.tabIndex>
this.Qi.tabIndex&&(this.Qi.tabIndex=d.tabIndex+1)}.bind(this));document.body.appendChild(this.Qi);void 0!=g&&void 0!=c?(this.Qi.style.position="absolute",this.Qi.style.top=c+"px",this.Qi.style.left=g+"px",this.Qi.style.width="1px",this.Qi.style.height="1px"):(this.Qi.style.position="fixed",this.Qi.style.top="0",this.Qi.style.left="0",this.Qi.style.width="100%",this.Qi.style.height="100%");this.Qi.focus();this.Qi.blur();document.body.removeChild(this.Qi);this.D0.trigger(l.ca)};h.blur=function(){document.activeElement.blur()};
h.Tea=function(g){this.lR.push(g)};h.Tha=function(g){g=this.lR.indexOf(g);-1!=g&&this.lR.splice(g,1)};h.B_a=function(g){this.PS.push(g)};h.B5a=function(g){g=this.PS.indexOf(g);-1!=g&&this.PS.splice(g,1)};h.Cya=function(g,c){this.tia(g,c.map(function(d){return[d]}))};h.s_a=function(g,c){this.tia(g,[c])};h.p_a=function(g,c,d,f){for(var p=[],q=0;q<d;q++)p.push(c.slice(q*f,(q+1)*f));this.tia(g,p)};h.tia=function(g,c){this.zfa.set(g,new b(c))};h.o5a=function(g){this.zfa.delete(g)};h.wha=function(g){if(g.code==
m.ja.lG||g.code==m.ja.LT){var c=this.SAa();c&&this.Q0a(c)}else g.code!=m.ja.MT&&[m.ja.Wi,m.ja.Ih,m.ja.qb,m.ja.Ya].includes(g.code)&&this.zfa.forEach(function(d){d.H2a()&&d.m1a(g.code)})};h.xha=function(g){g.code==m.ja.lG||g.code==m.ja.LT?(g=this.SAa())?g.dispatchEvent(this.sza("mouseup",g)):this.PS.length&&this.PS.pop()():g.code==m.ja.MT&&(this.lR.length?this.lR.pop()():this.bp()&&this.AEa())};h.bh=function(g){!g.isTrusted||g.target&&["BUTTON","INPUT","SELECT","TEXTAREA"].includes(g.target.tagName)||
setTimeout(function(){this.AEa(g.pageX,g.pageY)}.bind(this),0)};h.n4a=function(){this.D0.trigger(l.ca)};h.Q0a=function(g){g.dispatchEvent(this.sza("mousedown",g))};h.SAa=function(){return this.bp()?document.activeElement:null};h.sza=function(g,c){c=c.getBoundingClientRect();return new window.MouseEvent(g,{clientX:c.left+c.width/2,clientY:c.top+c.height/2})};h.$a=function(){document.addEventListener("mouseup",this.bh.bind(this),!0);document.addEventListener("keydown",this.wha.bind(this),!0);document.addEventListener("keyup",
this.xha.bind(this),!0);document.addEventListener("focusin",this.n4a.bind(this),!0)};h.D0=new k;h.Qi=null;h.lR=[];h.PS=[];h.zfa=new Map;return h}();var b=function(){function h(g){void 0===g&&(g=[]);this.NJ=g}h.prototype.H2a=function(){return null!=this.uAa()};h.prototype.uAa=function(){for(var g=document.activeElement,c=0;c<this.NJ.length;c++)for(var d=0;d<this.NJ[c].length;d++)if(this.NJ[c][d]==g)return{M5a:c,o0a:d};return null};h.prototype.m1a=function(g){var c=this.uAa();if(null!=c){var d=0,f=
0;switch(g){case m.ja.qb:d=1;break;case m.ja.Ya:d=-1;break;case m.ja.Wi:f=-1;break;case m.ja.Ih:f=1}g=c.M5a+f;0>g||g>=this.NJ.length||(c=c.o0a+d,0>c||c>=this.NJ[g].length||this.NJ[g][c].focus())}};return h}();return a});
define("oz","require en lE pf cC v nk hY fL m kh ey bi oH bG jg".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("v"),h=a("nk"),g=a("hY"),c=a("fL"),d=a("m"),f=a("kh"),p=a("ey"),q=a("bi"),n=a("oH"),r=a("bG"),t=a("jg"),u=l.extend(d,function(){d.call(this);this.Fe("Container");this.rd=this.Ud=this.dg=this.Hg=this.Yb=this.Jb=this.Ena=this.Dna=0;this.e$=this.m$=this.Rl=this.Ql=!1;this.yna=0;this.b7=this.a7=void 0;this.d7=this.c7=0;this.Sz=null;this.Uaa=g.Zja;this.az=!1;this.iW=null;
this.qt=!1;this.B_=null;t.D0.bind(m.ca,this.NSa,this)});u.zc={overflow:g.nG,scrollBarColor:"#000000",scrollBarWidth:10,scrollBarMargin:5,scrollBarHorizontalMargin:void 0,scrollBarVerticalMargin:void 0,scrollBarOpacity:.5,scrollBarVisible:c.ad};e.defaults(u.zc,d.zc);u.prototype.jo=function(){this.iW=new f(this.d9());this.iW.t6.bind("mousedown touchstart",e.bind(this.LQa,this));this.jo=function(){return this.iW};return this.iW};u.prototype.ko=function(){this.B_=new p(this.d9());this.B_.t6.bind("mousedown touchstart",
e.bind(this.QZa,this));this.ko=function(){return this.B_};return this.B_};u.prototype.NSa=function(){if(t.bp()){var v=this.jb().map(function(w){return w.ce()}).indexOf(t.R1a());-1!==v&&this.scrollIntoView(this.jb()[v])}};u.prototype.scrollIntoView=function(v){var w=v.Ka,x=v.Na;this.scrollTo(Math.min(w,Math.max(w+v.Xa()-this.Hg,this.Ud)),Math.min(x,Math.max(x+v.yb()-this.dg,this.rd)))};u.prototype.scrollTo=function(v,w){var x=this.Ud;v>this.Ud?this.VU()&&(x=Math.min(v,this.Jb-this.Hg)):v<this.Ud&&
this.UU()&&(x=Math.max(v,0));v=this.rd;w>this.rd?this.TU()&&(v=Math.min(w,this.Yb-this.dg)):w<this.rd&&this.WU()&&(v=Math.max(w,0));this.WP(x,v)};u.prototype.MEa=function(){if(this.TU()){for(var v=Math.max(0,this.Yb-this.dg),w=Math.min(v,this.rd+.5*this.dg),x=v=Math.min(v,this.rd+this.dg),y=this.jb().slice(),z=y.shift();y.length;z=y.shift())if(z.get("visible")){var E=z.Na;E+z.yb()>this.rd+this.dg&&E>=w&&E<v&&E<x&&(x=E)}this.WP(this.Ud,x)}};u.prototype.TU=function(){return this.Vma()&&this.rd+this.dg<
this.Yb};u.prototype.OEa=function(){if(this.WU()){for(var v=Math.max(0,this.rd-this.dg),w=Math.max(0,this.rd-.5*this.dg),x=v,y=this.jb().slice(),z=y.shift();y.length;z=y.shift())if(z.get("visible")){var E=z.Na;z=E+z.yb();E<this.rd&&z>=v+this.dg&&z<w+this.dg&&z>x+this.dg&&(x=z-this.dg)}this.WP(this.Ud,x)}};u.prototype.WU=function(){return this.Vma()&&0<this.rd};u.prototype.NEa=function(){if(this.VU()){for(var v=Math.max(0,this.Jb-this.Hg),w=Math.min(v,this.Ud+.5*this.Hg),x=v=Math.min(v,this.Ud+this.Hg),
y=this.jb().slice(),z=y.shift();y.length;z=y.shift())if(z.get("visible")){var E=z.Ka;E+z.Xa()>this.Ud+this.Hg&&E>=w&&E<v&&E<x&&(x=E)}this.WP(x,this.rd)}};u.prototype.VU=function(){return this.Uma()&&this.Ud+this.Hg<this.Jb};u.prototype.scrollLeft=function(){if(this.UU()){for(var v=Math.max(0,this.Ud-this.Hg),w=Math.max(0,this.Ud-.5*this.Hg),x=v,y=this.jb().slice(),z=y.shift();y.length;z=y.shift())if(z.get("visible")){var E=z.Ka;z=E+z.Xa();E<this.Ud&&z>=v+this.Hg&&z<w+this.Hg&&z>x+this.Hg&&(x=z-this.Hg)}this.WP(x,
this.rd)}};u.prototype.UU=function(){return this.Uma()&&0<this.Ud};u.prototype.WP=function(v,w){this.Ql=this.Ud!=v;this.Rl=this.rd!=w;this.ot();this.Sz=new n("cubic_in_out",[new r("hScrollPosition",this.Ud,v),new r("vScrollPosition",this.rd,w)],500);q.requestFrame(this.a6,this)};u.prototype.Vma=function(){return this.qt&&this.dg<this.Yb};u.prototype.Uma=function(){return this.az&&this.Hg<this.Jb};u.prototype.vb=function(){this.io(u.zc)};u.prototype.FMa=function(){this.m$=!0;this.ot()};u.prototype.EMa=
function(){this.m$=!1;this.ot()};u.prototype.LQa=function(){this.Ql=!0};u.prototype.QZa=function(){this.Rl=!0};u.prototype.BMa=function(v){this.Ql||this.Rl?(this.ob().bind(m.kc,this.wna,this),this.ob().bind(m.Hb,this.xna,this),this.Fy=v.pageX,this.Gy=v.pageY,this.ot()):this.zna(v)};u.prototype.wna=function(v){if(this.Ql){var w=(v.pageX-this.Fy)*this.Jb/this.jo().He();this.Ud+=w}else this.Rl&&(w=(v.pageY-this.Gy)*this.Yb/this.ko().Xe(),this.rd+=w);this.Fy=v.pageX;this.Gy=v.pageY;this.Hw()};u.prototype.xna=
function(){this.ob().unbind(m.kc,this.wna,this);this.ob().unbind(m.Hb,this.xna,this);this.Rl=this.Ql=!1;this.ot()};u.prototype.Xma=function(v){return this.qt&&(0<v&&0<this.rd||0>v&&this.rd<this.Yb-this.dg)?!0:!1};u.prototype.DMa=function(v){this.qt&&(this.rd-=(b.td()==b.T4?.1*v.kR:v.delta)*this.dg*.1,this.Hw())};u.prototype.zna=function(v){if(this.az||this.qt)this.ob().bind(m.kc,this.Ana,this),this.ob().bind(m.Hb,this.Bna,this),this.e$=!0,this.Fy=v.pageX,this.Gy=v.pageY,this.ot(),this.dRa()};u.prototype.Ana=
function(v){var w=v.pageX-this.Fy,x=v.pageY-this.Gy;!this.Ql&&!this.Rl&&25<w*w+x*x&&(this.Ql=this.az,this.Rl=this.qt,this.ot());if(this.Ql||this.Rl)this.Ud-=w,this.rd-=x,this.Fy=v.pageX,this.Gy=v.pageY,this.Hw(),this.NYa()};u.prototype.Bna=function(){this.ob().unbind(m.kc,this.Ana,this);this.ob().unbind(m.Hb,this.Bna,this);this.e$=!1;this.ot();var v=Math.max(Math.abs(this.c7/.001),Math.abs(this.d7/.001));this.Sz=new n("linear",[new r("hScrollPosition",this.Ud,this.Ud-.5*this.c7*v),new r("vScrollPosition",
this.rd,this.rd-.5*this.d7*v)],v);q.requestFrame(this.a6,this)};u.prototype.dRa=function(){this.a7=this.Fy;this.b7=this.Gy};u.prototype.NYa=function(){var v=(new Date).getTime(),w=v-this.yna;10<w&&(this.yna=v,this.c7=(this.Fy-this.a7)/w,this.d7=(this.Gy-this.b7)/w,this.a7=this.Fy,this.b7=this.Gy)};u.prototype.a6=function(v){this.Sz&&!this.Sz.Ye()&&(this.Ql||this.Rl)?(this.Sz.Cb(v),this.Ql&&(this.Ud=this.Sz.fb("hScrollPosition"),0>this.Ud||this.Ud>this.Jb-this.Hg)&&(this.Ql=!1),this.Rl&&(this.rd=this.Sz.fb("vScrollPosition"),
0>this.rd||this.rd>this.Yb-this.dg)&&(this.Rl=!1),this.Hw(),q.requestFrame(this.a6,this)):(this.Rl=this.Ql=!1,this.Sz=null,this.ot())};u.prototype.Hw=function(v){if(v){if(!this.az)switch(this.B("horizontalAlign")){case h.qb:this.Ud=this.Jb-this.Hg;break;case h.Oe:this.Ud=(this.Jb-this.Hg)/2;break;default:this.Ud=0}if(!this.qt)switch(this.B("verticalAlign")){case h.rc:this.rd=this.Yb-this.dg;break;case h.le:this.rd=(this.Yb-this.dg)/2;break;default:this.rd=0}}this.Ud=Math.max(0,Math.min(this.Jb-this.Hg,
this.Ud));this.rd=Math.max(0,Math.min(this.Yb-this.dg,this.rd));this.jo().setPosition(this.Ud);this.ko().setPosition(this.rd);this.Pb().A6a(this.Ud);this.Pb().U7a(this.rd);this.bl();if(this.lua!=this.Ud||this.mua!=this.rd)void 0!==this.lua&&void 0!==this.mua&&this.trigger(new k(m.Jp)),this.lua=this.Ud,this.mua=this.rd};u.prototype.ot=function(){var v=this.get("scrollBarVisible")==c.ALWAYS?!0:this.po?this.Ql||this.Rl||this.e$:this.Ql||this.Rl||this.m$;this.jo().Bf(this.az&&v);this.ko().Bf(this.qt&&
v);this.bl()};u.prototype.Db=function(){d.prototype.Db.call(this);this.CMa||(this.CMa=!0,this.po?this.bind(m.kb,this.zna,this):(this.bind(m.kb,this.BMa,this),this.bind(m.ad,this.FMa,this),this.bind(m.Xb,this.EMa,this),this.bind(m.Zr,this.DMa,this)))};u.prototype.Za=function(){this.K("overflow")&&(this.Uaa=this.B("overflow"),this.S("overflow"),this.Qd());this.K("scrollBarColor")&&(this.jo().setColor(this.B("scrollBarColor")),this.ko().setColor(this.B("scrollBarColor")),this.S("scrollBarColor"));this.K("scrollBarWidth")&&
(this.jo().hT(this.B("scrollBarWidth")),this.ko().hT(this.B("scrollBarWidth")),this.S("scrollBarWidth"));if(this.K("scrollBarMargin")||this.K("scrollBarVerticalMargin")||this.K("scrollBarHorizontalMargin")){var v=this.B("scrollBarHorizontalMargin","scrollBarMargin"),w=this.B("scrollBarVerticalMargin","scrollBarMargin");this.jo().oFa(v);this.jo().UFa(w);this.ko().oFa(v);this.ko().UFa(w);this.S("scrollBarMargin");this.S("scrollBarVerticalMargin");this.S("scrollBarHorizontalMargin")}this.K("scrollBarOpacity")&&
(this.jo().vj(this.B("scrollBarOpacity")),this.ko().vj(this.B("scrollBarOpacity")),this.S("scrollBarOpacity"));d.prototype.Za.call(this)};u.prototype.fk=function(){d.prototype.fk.call(this);this.QYa();this.mZa();this.kZa();this.ot();this.bl()};u.prototype.QYa=function(){for(var v=0,w=0,x=0,y=0,z=this.jb(),E=0;E<z.length;E++){var B=z[E];B.get("visible")&&(y=Math.min(y,B.Ka),x=Math.min(x,B.Na),v=Math.max(v,B.Ka+B.Xa()),w=Math.max(w,B.Na+B.yb()))}this.Dna=y;this.Ena=x;this.Jb=v;this.Yb=w};u.prototype.mZa=
function(){this.Hg=Math.min(this.uf(),this.Jb);this.dg=Math.min(this.tf(),this.Yb)};u.prototype.kZa=function(){var v=this.Sd.some(function(y){return y.O2a()}),w=0>this.Dna||0>this.Ena||this.Jb>this.Hg||this.Yb>this.dg;if(this.Uaa==g.Jp){this.az=this.Hg<this.Jb;var x=(this.qt=this.dg<this.Yb)&&this.az;this.jo().setSize(this.Hg,this.Jb);this.jo().aFa(x);this.ko().setSize(this.dg,this.Yb);this.ko().aFa(x);this.Pb().QK(!w&&!v)}else this.qt=this.az=!1,this.Uaa==g.nG?this.Pb().QK(!0):this.Pb().QK(!w&&!v);
this.Hw(!0)};u.prototype.gh=function(){this.ko().gh();this.jo().gh();d.prototype.gh.call(this)};return u});define("V",["require"],function(){return{Mh:"vertical",Ag:"horizontal"}});define("hG",["require"],function(){return{Vw:function(a){return a?a.split(",").map(function(e){return e.trim()}).filter(function(e){return""!=e}).map(function(e){"'"!=e[0]&&'"'!=e[0]&&(e="'"+e+"'");return e}).join(", "):""}}});
define("dz","require jquery.mod en lE nk V e gM hG".split(" "),function(a){function e(f){var p=f.Bn.width(),q=f.Bn.height();"italic"==f.get("fontStyle")&&(p+=1*q/5);return Math.round(p)}var l=a("jquery.mod"),m=a("en"),k=a("lE"),b=a("nk"),h=a("V"),g=a("e");a("gM");var c=a("hG");a=k.extend(g,function(){g.call(this);this.Fe("Label");this.Bn=this.PP=null});a.zc={};a.prototype.vb=function(){g.prototype.vb.call(this);this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");
this.h("horizontalAlign",b.Ya);this.h("verticalAlign",b.le);this.h("direction",h.Ag);this.h("text","");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};a.prototype.Db=function(){g.prototype.Db.call(this);if(!this.Bn){this.PP=document.createElement("span");this.Bn=l(this.PP);this.Oca({position:"absolute","text-align":"center",cursor:"inherit","white-space":"nowrap",
transform:"translate3d(0, 0, 0)"});var f=this.Pb();f.QK(!1);f.append(this.Bn)}};a.prototype.Ov=function(){g.prototype.Ov.call(this);var f=this.Pb();this.Ol=e(this)+f.cK()+f.eK();this.Nl=this.Bn.height()+f.fK()+f.ZJ();d(this)};a.prototype.Za=function(){var f={};if(this.K("direction")||this.K("text")){switch(this.B("direction")){case h.Mh:f["line-height"]="100%";this.Bn.html(this.Bn.text(this.B("text")).text().split("").join("<br/>"));break;default:f["line-height"]="normal",this.Bn.text(this.B("text")),
this.Bn.html(this.Bn.html().split(" ").join("&nbsp;"))}this.S("direction");this.S("text");setTimeout(function(){this.$b();this.Qd()}.bind(this),0)}if(this.K("fontFamily")){var p=this.B("fontFamily");m(p).isString()||(p="");f.fontFamily=c.Vw(p);this.S("fontFamily");this.$b();this.Qd()}this.K("fontSize")&&(p=this.B("fontSize"),m(p).isNumber()?p+="px":m(p).isString()||(p=""),f.fontSize=p,this.S("fontSize"),this.$b(),this.Qd());this.K("fontColor")&&(p=this.B("fontColor"),m(p).isString()||(p=""),f.color=
p,this.S("fontColor"));if(this.K("fontWeight")){p=this.B("fontWeight");switch(p){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:p="normal"}f.fontWeight=p;this.S("fontWeight");this.$b();this.Qd()}if(this.K("fontStyle")){p=this.B("fontStyle");switch(p){case "italic":case "normal":break;default:p="normal"}f.fontStyle=p;this.S("fontStyle");this.$b();this.Qd()}if(this.K("textDecoration")){p=
this.B("textDecoration");switch(p){case "underline":case "overline":case "line-through":case "none":break;default:p="none"}f.textDecoration=p;this.S("textDecoration");this.$b();this.Qd()}this.K("horizontalAlign")&&(this.Qd(),this.S("horizontalAlign"));this.K("verticalAlign")&&(this.Qd(),this.S("verticalAlign"));p=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(m(p).any(function(n){return this.K(n)},this)){var q={};m(p).each(function(n){q[n]=
this.B(n);this.S(n)},this);f["-moz-text-shadow"]=f["-webkit-text-shadow"]=f["text-shadow"]=[q.textShadowHorizontalLength+"px",q.textShadowVerticalLength+"px",q.textShadowBlurRadius+"px","rgba("+parseInt("0x"+q.textShadowColor.substr(1,2))+", "+parseInt("0x"+q.textShadowColor.substr(3,2))+", "+parseInt("0x"+q.textShadowColor.substr(5,2))+", "+q.textShadowOpacity+")"].join(" ");p=0==q.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(q.textShadowHorizontalLength,
-q.textShadowVerticalLength)/Math.PI);f.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*q.textShadowOpacity).toString(16)).slice(-2)+q.textShadowColor.substr(1,6)+",direction="+p+")";this.Pb().QK((0<q.textShadowHorizontalLength||0<q.textShadowVerticalLength||0<q.textShadowBlurRadius)&&0<q.textShadowOpacity)}this.Oca(f);g.prototype.Za.call(this)};a.prototype.fk=function(){var f={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.B("horizontalAlign")){case b.Ya:f.left=
"0";break;case b.qb:this.gh();f.left=this.uf()-e(this)+"px";break;case b.Oe:this.gh(),f.left=Math.max(0,Math.round(.5*(this.uf()-e(this))))+"px"}switch(this.B("verticalAlign")){case b.yc:f.top="0";break;case b.rc:this.gh();f.top=this.tf()-this.PP.clientHeight+"px";break;case b.le:this.gh(),f.top=Math.max(0,Math.round(.5*(this.tf()-this.PP.clientHeight)))+"px"}this.Oca(f)};a.prototype.Oca=function(f){var p=this.PP.style,q;for(q in f)p[q]=f[q]};var d=function(){function f(){r||p()&&(r=setTimeout(function(){r=
null;var t=(new Date).getTime()-5E3,u;for(u in n){var v=n[u];v.timestamp<t&&delete n[u];var w=v.label;if(v.width!=e(w)||v.height!=w.Bn.height())w.$b(),w.Qd()}f()},500))}function p(){for(var t in n)return!0;return!1}var q=1,n={},r=null;return function(t){t.xra||(t.xra=q++);n[t.xra]={label:t,timestamp:(new Date).getTime(),width:e(t),height:t.Bn.height()};f()}}();return a});
define("me","require lE en cT bd pf cC hA ek hY gW oz dz".split(" "),function(a){var e=a("lE"),l=a("en"),m=a("cT"),k=a("bd"),b=a("pf"),h=a("cC"),g=a("hA"),c=a("ek"),d=a("hY"),f=a("gW"),p=a("oz"),q=a("dz"),n=e.extend(p,function(){this.Fe("Button");p.call(this);this.zi=this.Ma=null;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",m.AB);this.set("overflow",d.Zja);this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("cursor",k.ye);this.set("ariaRole",
"button")});n.prototype.vb=function(){p.prototype.vb.call(this);this.h("label");this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength");this.h("layout","horizontal");this.h("iconWidth");this.h("iconHeight");this.h("iconBeforeLabel");this.h("gap",5);this.h("mode",c.ze);this.h("buttonGroup");
this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("pressed");this.v("rollOverOpacity",f.X,"opacity");this.v("rollOverIconWidth",f.X,"iconWidth");this.v("rollOverIconHeight",f.X,"iconHeight");this.v("rollOverFontSize",f.X,"fontSize");this.v("rollOverFontColor",f.X,"fontColor");this.v("rollOverFontWeight",f.X,"fontWeight");this.v("rollOverFontStyle",f.X,"fontStyle");this.v("rollOverTextDecoration",f.X,"textDecoration");this.v("rollOverTextShadowBlurRadius",
f.X,"textShadowBlurRadius");this.v("rollOverTextShadowColor",f.X,"textShadowColor");this.v("rollOverTextShadowHorizontalLength",f.X,"textShadowHorizontalLength");this.v("rollOverTextShadowOpacity",f.X,"textShadowOpacity");this.v("rollOverTextShadowVerticalLength",f.X,"textShadowVerticalLength");this.v("rollOverBorderSize",f.X,"borderSize");this.v("rollOverBorderLeftSize",f.X,"borderLeftSize");this.v("rollOverBorderTopSize",f.X,"borderTopSize");this.v("rollOverBorderRightSize",f.X,"borderRightSize");
this.v("rollOverBorderBottomSize",f.X,"borderBottomSize");this.v("rollOverBorderColor",f.X,"borderColor");this.v("rollOverBorderLeftColor",f.X,"borderLeftColor");this.v("rollOverBorderTopColor",f.X,"borderTopColor");this.v("rollOverBorderRightColor",f.X,"borderRightColor");this.v("rollOverBorderBottomColor",f.X,"borderBottomColor");this.v("rollOverShadow",f.X,"shadow");this.v("rollOverShadowHorizontalLength",f.X,"shadowHorizontalLength");this.v("rollOverShadowVerticalLength",f.X,"shadowVerticalLength");
this.v("rollOverShadowBlurRadius",f.X,"shadowBlurRadius");this.v("rollOverShadowSpread",f.X,"shadowSpread");this.v("rollOverShadowOpacity",f.X,"shadowOpacity");this.v("rollOverShadowColor",f.X,"shadowColor");this.v("rollOverBackgroundOpacity",f.X,"backgroundOpacity");this.v("rollOverBackgroundColor",f.X,"backgroundColor");this.v("rollOverBackgroundColorRatios",f.X,"backgroundColorRatios");this.v("rollOverBackgroundColorDirection",f.X,"backgroundColorDirection");this.v("pressedLabel",f.xb,"label");
this.v("pressedOpacity",f.xb,"opacity");this.v("pressedIconWidth",f.xb,"iconWidth");this.v("pressedIconHeight",f.xb,"iconHeight");this.v("pressedFontSize",f.xb,"fontSize");this.v("pressedFontColor",f.xb,"fontColor");this.v("pressedFontWeight",f.xb,"fontWeight");this.v("pressedFontStyle",f.xb,"fontStyle");this.v("pressedTextDecoration",f.xb,"textDecoration");this.v("pressedTextShadowBlurRadius",f.xb,"textShadowBlurRadius");this.v("pressedTextShadowColor",f.xb,"textShadowColor");this.v("pressedTextShadowHorizontalLength",
f.xb,"textShadowHorizontalLength");this.v("pressedTextShadowOpacity",f.xb,"textShadowOpacity");this.v("pressedTextShadowVerticalLength",f.xb,"textShadowVerticalLength");this.v("pressedBorderSize",f.xb,"borderSize");this.v("pressedBorderLeftSize",f.xb,"borderLeftSize");this.v("pressedBorderTopSize",f.xb,"borderTopSize");this.v("pressedBorderRightSize",f.xb,"borderRightSize");this.v("pressedBorderBottomSize",f.xb,"borderBottomSize");this.v("pressedBorderColor",f.xb,"borderColor");this.v("pressedBorderLeftColor",
f.xb,"borderLeftColor");this.v("pressedBorderTopColor",f.xb,"borderTopColor");this.v("pressedBorderRightColor",f.xb,"borderRightColor");this.v("pressedBorderBottomColor",f.xb,"borderBottomColor");this.v("pressedShadow",f.xb,"shadow");this.v("pressedShadowHorizontalLength",f.xb,"shadowHorizontalLength");this.v("pressedShadowVerticalLength",f.xb,"shadowVerticalLength");this.v("pressedShadowBlurRadius",f.xb,"shadowBlurRadius");this.v("pressedShadowSpread",f.xb,"shadowSpread");this.v("pressedShadowOpacity",
f.xb,"shadowOpacity");this.v("pressedShadowColor",f.xb,"shadowColor");this.v("pressedBackgroundOpacity",f.xb,"backgroundOpacity");this.v("pressedBackgroundColor",f.xb,"backgroundColor");this.v("pressedBackgroundColorRatios",f.xb,"backgroundColorRatios");this.v("pressedBackgroundColorDirection",f.xb,"backgroundColorDirection");this.v("pressedLabel",f.cc,"label");this.v("pressedRollOverOpacity",f.cc,"opacity");this.v("pressedRollOverIconWidth",f.cc,"iconWidth");this.v("pressedRollOverIconHeight",f.cc,
"iconHeight");this.v("pressedRollOverFontSize",f.cc,"fontSize");this.v("pressedRollOverFontColor",f.cc,"fontColor");this.v("pressedRollOverFontWeight",f.cc,"fontWeight");this.v("pressedRollOverFontStyle",f.cc,"fontStyle");this.v("pressedRollOverTextDecoration",f.cc,"textDecoration");this.v("pressedRollOverTextShadowBlurRadius",f.cc,"textShadowBlurRadius");this.v("pressedRollOverTextShadowColor",f.cc,"textShadowColor");this.v("pressedRollOverTextShadowHorizontalLength",f.cc,"textShadowHorizontalLength");
this.v("pressedRollOverTextShadowOpacity",f.cc,"textShadowOpacity");this.v("pressedRollOverTextShadowVerticalLength",f.cc,"textShadowVerticalLength");this.v("pressedRollOverBorderSize",f.cc,"borderSize");this.v("pressedRollOverBorderLeftSize",f.cc,"borderLeftSize");this.v("pressedRollOverBorderTopSize",f.cc,"borderTopSize");this.v("pressedRollOverBorderRightSize",f.cc,"borderRightSize");this.v("pressedRollOverBorderBottomSize",f.cc,"borderBottomSize");this.v("pressedRollOverBorderColor",f.cc,"borderColor");
this.v("pressedRollOverBorderLeftColor",f.cc,"borderLeftColor");this.v("pressedRollOverBorderTopColor",f.cc,"borderTopColor");this.v("pressedRollOverBorderRightColor",f.cc,"borderRightColor");this.v("pressedRollOverBorderBottomColor",f.cc,"borderBottomColor");this.v("pressedRollOverShadow",f.cc,"shadow");this.v("pressedRollOverShadowHorizontalLength",f.cc,"shadowHorizontalLength");this.v("pressedRollOverShadowVerticalLength",f.cc,"shadowVerticalLength");this.v("pressedRollOverShadowBlurRadius",f.cc,
"shadowBlurRadius");this.v("pressedRollOverShadowSpread",f.cc,"shadowSpread");this.v("pressedRollOverShadowOpacity",f.cc,"shadowOpacity");this.v("pressedRollOverShadowColor",f.cc,"shadowColor");this.v("pressedRollOverBackgroundOpacity",f.cc,"backgroundOpacity");this.v("pressedRollOverBackgroundColor",f.cc,"backgroundColor");this.v("pressedRollOverBackgroundColorRatios",f.cc,"backgroundColorRatios");this.v("pressedRollOverBackgroundColorDirection",f.cc,"backgroundColorDirection")};n.prototype.p7=function(){};
n.prototype.Db=function(){p.prototype.Db.call(this);this.zi||(this.zi=this.p7(),this.Wa(this.zi));this.Ma||(this.Ma=new q,this.Wa(this.Ma))};n.prototype.dM=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new h(b.sl))):(this.set("pressed",!0),this.trigger(new h(b.yj)))};n.prototype.Ru=function(){return this.get("label")||p.prototype.Ru.call(this)};n.prototype.Za=function(){var r=!1;this.K("mode")&&(this.B("mode")==c.ze?(this.unbind(b.qa,this.dM,this,!0),this.set("autoPressed",!0)):
(this.bind(b.qa,this.dM,this,!0),this.set("autoPressed",!1)),this.S("mode"),r=!0);if(r||this.K("pressed"))this.B("mode")==c.Bj?this.OI(1==this.B("pressed")):r&&this.OI(!1);this.K("label")&&(r=this.B("label"),this.Ma.set("text",r),this.Ma.set("visible",r?!0:!1),this.S("label"));this.pc(n.Ila,n.Jla,[this.Ma],!0,!0);this.K("iconBeforeLabel")&&(0==this.B("iconBeforeLabel")?this.On(this.Ma,0):this.On(this.zi,0),this.S("iconBeforeLabel"));this.K("iconWidth")&&(this.zi.set("width",this.B("iconWidth")),this.S("iconWidth"));
this.K("iconHeight")&&(this.zi.set("height",this.B("iconHeight")),this.S("iconHeight"));this.K("buttonGroup")&&((r=this.B("buttonGroup"))?g.register(this,r):g.unregister(this),this.S("buttonGroup"));this.pc(["horizontalAlign","verticalAlign"],{},[this.zi],!0,!1);p.prototype.Za.call(this)};n.Ila="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");n.Jla={};l(n.Ila).each(function(r){n.Jla[r]=
r});return n});define("jV",["require","nU","me"],function(a){var e=a("nU"),l=a("me");return e.define("BaseButton",l,function(){l.call(this)})});define("jG",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("BaseObject",e,function(){e.call(this)})});
define("ez","require lE mh pf cC bi oH bG".split(" "),function(a){var e=a("lE"),l=a("mh");a("pf");var m=a("cC"),k=a("bi"),b=a("oH"),h=a("bG"),g={},c=e.extend(l,function(){l.call(this);this.C="stopped";this.Ob=void 0;this.Oo=[];this.set("easing","linear");this.set("duration",1E3);this.set("loop",!1);this.set("animationDirection","normal")});c.prototype.play=function(d){d||(d=g);this.oK(d)||("stopped"==this.C||0>this.Oo.indexOf(d)?(this.C="playing",this.Oo.push(d),this.Re=0,this.Ob=Math.max(this.get("duration",
1E3),1),this.ng=new b(this.get("easing","linear"),[new h("pos",0,1)],this.Ob),this.ng.setTime(this.Re),this.TI(),this.vw(),this.dP()):this.C="playing")};c.prototype.reverse=function(d){d||(d=g);this.I3a(d)||("stopped"==this.C||0>this.Oo.indexOf(d)?(this.C="playingReverse",this.Oo.push(d),this.Re=this.Ob=Math.max(this.get("duration",1E3),0),this.ng=new b(this.get("easing","linear"),[new h("pos",0,1)],this.Ob),this.ng.setTime(this.Re),this.TI(),this.vw(),this.dP()):this.C="playingReverse")};c.prototype.stop=
function(){"stopped"!=this.C&&(this.C="stopped",0!==this.Re&&(this.Re=0,this.ng.setTime(this.Re),this.vw(),this.dP()))};c.prototype.end=function(){"stopped"!=this.C&&(this.Re=this.Ob,this.ng.setTime(this.Re),this.vw(),this.dP())};c.prototype.cancel=function(){this.C="stopped";this.Re=0;this.Oo=[]};c.prototype.oK=function(d){return"playing"==this.C&&0<=this.Oo.indexOf(d)};c.prototype.I3a=function(d){return"playingReverse"==this.C&&0<=this.Oo.indexOf(d)};c.prototype.Qj=function(d){"stopped"!=this.C&&
(this.Re="playing"==this.C?Math.min(this.Ob,this.Re+d):Math.max(0,this.Re-d),this.ng.setTime(this.Re),this.vw(),this.dP())};c.prototype.$k=function(){return this.ng&&this.ng.fb("pos")||0};c.prototype.Ry=function(d){if(this.Oo)for(var f=0;f<this.Oo.length;f++)d.call(this,this.Oo[f],f)};c.prototype.TI=function(){this.trigger(new m("playingReverse"==this.C?c.eIa:c.gIa))};c.prototype.vw=function(){this.trigger(new m(c.i4))};c.prototype.RI=function(){this.trigger(new m(c.ik))};c.prototype.SI=function(){this.trigger(new m(c.lu))};
c.prototype.dP=function(){"playingReverse"==this.C&&0>=this.Re?(this.Re=0,this.SI(),this.Oo=[],"stopped"!=this.C&&(this.C="stopped",this.get("loop")&&this.play())):"playing"==this.C&&this.Re>=this.Ob?(this.Re=this.Ob,this.RI(),this.Oo=[],"stopped"!=this.C&&(this.C="stopped","alternate"==this.get("animationDirection")?this.reverse():this.get("loop")&&this.play())):"stopped"!=this.C&&k.requestFrame(this.Qj,this)};c.gIa="start";c.i4="frame";c.ik="end";c.eIa="reverseStart";c.lu="reverseEnd";return c});
define("gT",["require","pf","ez"],function(a){var e=a("pf"),l=a("ez");return{jOa:function(){this.rk=this.Pe=null;this.bind(e.bd,this.Aoa,this,!0);this.bind(e.Tc,this.voa,this,!0);this.bind(e.ad,this.xoa,this,!0);this.bind(e.Xb,this.woa,this,!0);this.bind(e.D("effect"),this.toa,this,!0);this.bind(e.D("rollOverEffect"),this.yoa,this,!0);this.wC=!1},r$a:function(){this.unbind(e.bd,this.Aoa,this,!0);this.unbind(e.Tc,this.voa,this,!0);this.unbind(e.ad,this.xoa,this,!0);this.unbind(e.Xb,this.woa,this,!0);
this.unbind(e.D("effect"),this.toa,this,!0);this.unbind(e.D("rollOverEffect"),this.yoa,this,!0)},Aoa:function(){this.Pe&&this.Pe.play()},voa:function(){this.Pe&&this.Pe.stop();this.rk&&this.rk.stop();this.wC=!1},xoa:function(){this.wC||(this.wC=!0,this.rk&&(this.Pe&&this.Pe.get("loop")&&0<this.Pe.$k()?this.Pe.reverse():this.Pe&&0!=this.Pe.$k()&&1!=this.Pe.$k()||(this.Pe&&this.Pe.stop(),this.rk.play())))},woa:function(){this.wC&&(this.wC=!1,this.rk&&(0<this.rk.$k()?this.rk.reverse():this.Pe&&this.Pe.get("loop")&&
this.Pe.play()))},uoa:function(){this.i8()},i8:function(){this.wC&&this.rk&&(this.Pe.stop(),this.rk.play())},zoa:function(){this.wC||(this.rk.stop(),this.Pe&&this.Pe.get("loop")&&this.Pe.play())},toa:function(){this.Pe&&this.Pe.unbind(l.ik,this.uoa,this,!0);this.Pe&&this.Pe.unbind(l.lu,this.i8,this,!0);(this.Pe=this.get("effect"))&&this.Pe.bind(l.ik,this.uoa,this,!0);this.Pe&&this.Pe.bind(l.lu,this.i8,this,!0)},yoa:function(){this.rk&&this.rk.unbind(l.lu,this.zoa,this,!0);(this.rk=this.get("rollOverEffect"))&&
this.rk.bind(l.lu,this.zoa,this,!0)}}});
define("iQ",["require","lE","mh","nU","gT"],function(a){var e=a("lE"),l=a("mh"),m=a("nU");a=a("gT");m=m.define("Model3DObject",l,function(){l.call(this);this.set("hidden",!1);this.jOa();this.Uo=this.WH=this.C9=this.B9=!1;this.S9=!0;this.RC=!1});e.Y_(m,[a]);var k=["enabledInStandard","enabledInVR","hideBasedOnDistance","hideWhileUserInteracting","hideWhileMoving"];m.prototype.set=function(b,h){l.prototype.set.call(this,b,h);-1!=k.indexOf(b)&&this.kE()};m.prototype.yia=function(b){this.C9!==b&&(this.C9=
b,this.kE())};m.prototype.WA=function(b){this.Uo!==b&&(this.Uo=b,this.kE())};m.prototype.yx=function(b){this.WH!==b&&(this.WH=b,this.kE())};m.prototype.L2=function(b){this.S9!==b&&(this.S9=b,this.kE())};m.prototype.vx=function(b){this.RC!==b&&(this.RC=b,this.kE())};m.prototype.xia=function(b){this.B9!==b&&(this.B9=b,this.kE())};m.prototype.kE=function(){this.set("hidden",this.C9||this.B9||this.RC&&!1===this.get("enabledInVR")||this.S9&&!1===this.get("enabledInStandard")||this.WH&&this.get("hideWhileMoving")||
this.Uo&&this.get("hideWhileUserInteracting"))};return m});define("gr",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("BoxModel3DObject",l,function(){l.call(this)})});define("mu",["require"],function(){return{NONE:"none",Vx:"fill",Kh:"fit_inside",Ur:"fit_outside",Cp:"fit_to_width",kk:"fit_to_height",NHa:"custom"}});
define("mQ","require en jquery.mod lE pf ik v nk mu e gM gY".split(" "),function(a){function e(r){this.F6=r;this.wd=[];this.xl=null}var l=a("en"),m=a("jquery.mod"),k=a("lE"),b=a("pf"),h=a("ik"),g=a("v"),c=a("nk"),d=a("mu"),f=a("e"),p=a("gM"),q=a("gY");e.mn=document.createElement("a");e.prototype.zMa=function(r){e.mn.href=r;return e.mn.href};e.prototype.load=function(r,t,u){r=this.zMa(r);this.xl&&!this.xl.ki()&&(this.xl.cancel(),this.wd=l(this.wd).without(this.xl));(this.xl=l(this.wd).find(function(x){return x.Pi()==
r}))?this.wd=l(this.wd).without(this.xl):(this.xl=new q(h.Zka),this.xl.load(r));for(this.wd.splice(0,0,this.xl);this.wd.length>this.F6;)this.wd.pop().cancel();if(t){var v=this.xl,w=function(){t.call(u||window,v.wf(),v.He(),v.Xe())};this.xl.ki()?w():this.xl.bind(b.Z,w)}};e.prototype.clear=function(){this.wd.forEach(function(r){r.cancel()});this.xl=null};a=k.extend(f,function(r){f.call(this);this.Fe("Image");this.F6=r||1;this.qea=!1;this.Gl=c.Ya;this.lW=!1;this.mm=c.yc;this.E_=!1;this.Jf=d.NONE;this.ica=
!1;this.jI=this.kI=0;this.P9=this.Raa=!1;this.Yb=this.Jb=0;this.cv=!1;this.Md=this.Hl=this.ac=this.uW=this.tW=null;this.bind(b.oc,this.aRa,this);this.bind(b.bd,this.bRa,this)});a.prototype.c9=function(){this.Md=new e(this.F6);this.c9=function(){return this.Md};return this.Md};a.prototype.vb=function(){f.prototype.vb.call(this);this.h("horizontalAlign",c.Ya);this.h("verticalAlign",c.yc);this.h("scaleMode",d.NONE)};a.prototype.set=function(r,t){"url"==r&&this.get("url")!=t&&(this.qea=!0,this.pe());
f.prototype.set.call(this,r,t)};a.prototype.OK=function(r){this.Gl!=r&&(this.Gl=r,this.lW=!0,this.pe())};a.prototype.XK=function(r){this.mm!=r&&(this.mm=r,this.E_=!0,this.pe())};a.prototype.VA=function(r){this.Jf!=r&&(this.Jf=r,this.ica=!0,this.pe(),this.$b())};a.prototype.aRa=function(){this.cv=!0;this.pe()};a.prototype.bRa=function(){this.Txa()};var n={position:"static",cursor:"inherit",display:"inline",verticalAlign:"top",visibility:"hidden","pointer-events":"none","user-select":"none","-ms-user-select":"none",
"-moz-user-select":"none","-webkit-user-select":"none","touch-callout":"none","-webkit-touch-callout":"none"};g.browser()==g.Hm&&g.lb()&&(n.transform="translate3d(0,0,0)");a.prototype.uma=function(r,t,u){this.kI=t?t:0;this.jI=u?u:0;this.ac&&(this.ac.remove(),this.ac=null);if(this.Hl=r)this.ac=m(this.Hl),p.css(this.Hl,n),this.tW.append(this.ac);this.Raa=this.P9=!0;this.pe();this.$b();this.ac&&this.trigger(b.Z)};a.prototype.Db=function(){f.prototype.Db.call(this);this.tW||(this.uW=document.createElement("div"),
this.tW=m(this.uW),p.css(this.uW,{position:"static",overflow:"hidden",cursor:"inherit"}),this.Pb().append(this.tW))};a.prototype.Ov=function(){this.Ol=this.kI+this.qm()+this.Ft();this.Nl=this.jI+this.Gt()+this.aK();this.cra=0==this.kI&&0==this.jI?0:this.kI/this.jI;this.ON=this.PN=0};a.prototype.Za=function(){this.K("scaleMode")&&(this.VA(this.B("scaleMode")),this.S("scaleMode"));this.K("horizontalAlign")&&(this.OK(this.B("horizontalAlign")),this.S("horizontalAlign"));this.K("verticalAlign")&&(this.XK(this.B("verticalAlign")),
this.S("verticalAlign"));this.mma()&&(this.cv=!0);f.prototype.Za.call(this);this.Txa();if(this.F2a()){var r=!1;if(this.ica||this.Raa||this.cv){var t=this.uf(),u=this.tf(),v=this.kI,w=this.jI,x;if(0==v||0==w)var y=x=0;else switch(this.Jf){case d.NONE:x=v;y=w;break;case d.Vx:x=t;y=u;break;case d.Kh:v*u>w*t?(x=t,y=w*t/v):(x=v*u/w,y=u);break;case d.Ur:v*u>w*t?(x=v*u/w,y=u):(x=t,y=w*t/v);break;case d.Cp:x=t;y=w*t/v;break;case d.kk:x=v*u/w,y=u}if(this.Jb!=x||this.Yb!=y)this.Jb=x,this.Yb=y,r=!0;this.Raa=
this.ica=!1}if(r||this.cv||this.P9)this.E_=this.lW=!0,this.Hl&&p.css(this.Hl,{width:this.Jb+"px",height:this.Yb+"px",visibility:"inherit"}),p.css(this.uW,{width:this.uf()+"px",height:this.tf()+"px","border-top-left-radius":this.gW(this.fPa(),this.gpa(),this.epa())+"px","border-top-right-radius":this.gW(this.gPa(),this.gpa(),this.fpa())+"px","border-bottom-left-radius":this.gW(this.dPa(),this.dpa(),this.epa())+"px","border-bottom-right-radius":this.gW(this.ePa(),this.dpa(),this.fpa())+"px"}),this.$b(),
this.P9=this.cv=!1;if(this.lW&&this.Hl){switch(this.Gl){case c.Ya:p.css(this.Hl,{"margin-left":0,"margin-right":this.uf()-this.Jb+"px"});break;case c.qb:p.css(this.Hl,{"margin-left":this.uf()-this.Jb+"px","margin-right":0});break;case c.Oe:p.css(this.Hl,{"margin-left":Math.floor(.5*(this.uf()-this.Jb))+"px","margin-right":Math.ceil(.5*(this.uf()-this.Jb))+"px"})}this.lW=!1}if(this.E_&&this.Hl){switch(this.mm){case c.yc:p.css(this.Hl,{"margin-top":0,"margin-bottom":this.tf()-this.Yb+"px"});break;case c.rc:p.css(this.Hl,
{"margin-top":this.tf()-this.Yb+"px","margin-bottom":0});break;case c.le:p.css(this.Hl,{"margin-top":Math.floor(.5*(this.tf()-this.Yb))+"px","margin-bottom":Math.ceil(.5*(this.tf()-this.Yb))+"px"})}this.E_=!1}}};a.prototype.Txa=function(){if(this.qea){var r=this.get("url");r?this.c9().load(r,this.uma,this):(this.c9().clear(),this.uma(null,0,0));this.qea=!1}};a.prototype.gW=function(r,t,u){if(!r)return 0;var v=0;t&&(v=Math.max(v,t));u&&(v=Math.max(v,u));return Math.max(0,r-v)};return a});
define("gb","require lE mu gW me mQ".split(" "),function(a){var e=a("lE"),l=a("mu"),m=a("gW"),k=a("me"),b=a("mQ");a=e.extend(k,function(){k.call(this)});a.prototype.vb=function(){k.prototype.vb.call(this);this.h("iconURL");this.v("rollOverIconURL",m.X,"iconURL");this.v("pressedIconURL",m.xb,"iconURL");this.v("pressedRollOverIconURL",m.cc,"iconURL")};a.prototype.p7=function(){var h=new b(3);h.set("scaleMode",l.Kh);return h};a.prototype.Za=function(){if(this.K("iconURL")){var h=this.B("iconURL");this.zi.set("url",
h);this.zi.set("visible",h?!0:!1);this.S("iconURL")}k.prototype.Za.call(this)};return a});define("ga",["require","nU","gb"],function(a){var e=a("nU"),l=a("gb");return e.define("Button",l,function(){l.call(this)})});define("ip",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("CapPanoramaOverlay",e,function(){e.call(this)})});define("ie",["require","nU","ip"],function(a){var e=a("nU"),l=a("ip");return e.define("CeilingCapPanoramaOverlay",l,function(){l.call(this)})});
define("k",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("ChildModel3DObject",l,function(){l.call(this)})});
define("cB","require en jquery.mod lE pf cC e".split(" "),function(a){a("en");var e=a("jquery.mod"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("e");a=l.extend(b,function(){b.call(this);this.Fe("Canvas");this.e8=!0;this.R=null;this.bind(m.oc,this.XLa,this)});a.prototype.XLa=function(){this.i1()};a.prototype.i1=function(){this.e8=!0;this.bl()};a.prototype.Db=function(){b.prototype.Db.call(this);this.R||(this.R=e("<canvas/>"),this.R.css({position:"absolute",left:0,top:0,cursor:"inherit"}),this.Pb().append(this.R))};
a.prototype.Za=function(){this.mma()&&this.i1();b.prototype.Za.call(this)};a.prototype.gh=function(){if(this.e8){this.e8=!1;var h=this.R.get(0);h.width=this.uf();h.height=this.tf();this.Z8a()}b.prototype.gh.call(this)};a.prototype.M1a=function(){return this.R.get(0).width};a.prototype.L1a=function(){return this.R.get(0).height};a.prototype.K1a=function(){return this.R.get(0).getContext("2d")};a.prototype.Z8a=function(){this.trigger(new k(m.ca))};return a});
define("kq","require lE pf gW me cB".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("gW"),k=a("me"),b=a("cB");a=e.extend(k,function(){k.call(this)});a.prototype.fk=function(){k.prototype.fk.call(this)};a.prototype.vb=function(){k.prototype.vb.call(this);this.h("iconColor");this.v("rollOverIconColor",m.X,"iconColor");this.v("pressedIconColor",m.xb,"iconColor");this.v("pressedRollOverIconColor",m.cc,"iconColor")};a.prototype.p7=function(){var h=new b;h.bind(l.ca,this.dHa,this,!0);return h};a.prototype.Za=
function(){this.K("iconColor")&&(this.zi.i1(),this.S("iconColor"));k.prototype.Za.call(this)};a.prototype.IPa=function(){return this.B("iconColor")};a.prototype.JPa=function(){return this.zi.K1a()};a.prototype.LPa=function(){return this.zi.M1a()};a.prototype.KPa=function(){return this.zi.L1a()};a.prototype.dHa=function(){};return a});
define("gk","require lE pf kq nk gW jg".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("kq"),k=a("nk"),b=a("gW"),h=a("jg");a=e.extend(m,function(){m.call(this);this.ma({horizontalAlign:k.Oe,verticalAlign:k.le});this.Sv=this.Sv.bind(this);this.bind(l.bd,this.ij,this,!0);this.bind(l.Tc,this.hj,this,!0)});a.prototype.vb=function(){m.prototype.vb.call(this);this.h("iconLineWidth");this.v("rollOverIconLineWidth",b.X,"iconLineWidth");this.v("pressedIconLineWidth",b.xb,"iconLineWidth");this.v("pressedRollOverIconLineWidth",
b.cc,"iconLineWidth")};a.prototype.SPa=function(){return this.B("iconLineWidth")};a.prototype.Za=function(){this.K("iconLineWidth")&&(this.zi.i1(),this.S("iconLineWidth"));m.prototype.Za.call(this)};a.prototype.dHa=function(){var g=this.JPa(),c=this.IPa(),d=this.LPa(),f=this.KPa(),p=this.SPa();g.clearRect(0,0,d,f);g.lineWidth=p||1;g.strokeStyle=c||"#000000";g.beginPath();g.moveTo(0,0);g.lineTo(d,f);g.moveTo(0,f);g.lineTo(d,0);g.closePath();g.stroke()};a.prototype.ij=function(){h.Tea(this.Sv)};a.prototype.hj=
function(){h.Tha(this.Sv)};a.prototype.Sv=function(){this.trigger(l.qa)};return a});define("jD",["require","nU","gk"],function(a){var e=a("nU"),l=a("gk");return e.define("CloseButton",l,function(){l.call(this)})});define("ks",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("CookiesPolicy",e,function(){e.call(this)})});
define("mf",["require","lH","nU","oz"],function(a){var e=a("lH"),l=a("nU"),m=a("oz");a=l.define("Container",m,function(){m.call(this)});a.prototype.scrollTo=function(k,b){m.prototype.scrollTo.call(this,k,b)};a.prototype.scrollIntoView=function(k){e.OA(function(){m.prototype.scrollIntoView.call(this,k)}.bind(this))};return a});
define("lM",["require","mh","nU"],function(a){var e=a("mh"),l=a("nU");a=l.define("PanoramaFrame",e,function(){e.call(this);this.ua=null});a.prototype.get=function(m,k){switch(m){case "overlays":return this.e9();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.ua)return this.ua.get(m,k)}return e.prototype.get.call(this,m,k)};a.prototype.e9=function(){var m=e.prototype.get.call(this,"overlays");m||(m=[]);return this.Lca(m)};a.prototype.Lca=function(m){if(void 0===
this.UI||this.UW!=m){var k=function(h){return l.Ia("PopupPanoramaOverlay",h)},b=function(h){return l.Ia("LensFlarePanoramaOverlay",h)};this.UW=m;this.UI=[].concat(m.filter(function(h){return!(k(h)||b(h))}),m.filter(b),m.filter(k))}return this.UI};a.prototype.J_a=function(m){this.ua=m};a.prototype.uA=function(){return this.ua};a.prototype.tm=function(){return!1};return a});define("oN",["require","nU","lM"],function(a){var e=a("nU"),l=a("lM");return e.define("CubicPanoramaFrame",l,function(){l.call(this)})});
define("iC",["require"],function(){return{"bg-bg":{mute:"\u0417\u0430\u0433\u043b\u0443\u0448\u0430\u0432\u0430\u043d\u0435","cardboard-v1":"\u0410\u043a\u043e \u043d\u0435 \u0441\u0442\u0435 \u0441\u0438\u0433\u0443\u0440\u043d\u0438 \u043a\u043e\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Cardboard \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0449\u0435 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0449\u0435 \u0438\u0437\u0447\u0430\u043a\u0430\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430.",
"download-tour":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u0442\u0443\u0440\u0430 \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d","change-to-drag-and-release":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041f\u043b\u044a\u0437\u0433\u0430\u043d\u0435 \u0438 \u041f\u0443\u0441\u043a\u0430\u043d\u0435",
accept:"\u041f\u0440\u0438\u0435\u043c\u0435\u0442\u0435",cancel:"\u041e\u0442\u043a\u0430\u0437","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0438 \u0434\u0430 \u044f \u043f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0438\u0442\u0435.",
"dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0439 \u0442\u0430\u0437\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0432\u043e","web-server-required":"\u0422\u043e\u0437\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u0435\u043b\u0435\u043d \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0443\u0441\u043d\u0430\u0442 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u043d\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u041c\u043e\u043b\u044f, \u043a\u0430\u0447\u0435\u0442\u0435 \u0433\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.\n\u0410\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435, \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 htm \u0444\u0430\u0439\u043b\u0430 (\u0438\u043b\u0438 \u0446\u044f\u043b\u0430\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u043d\u0430 \u0442\u0443\u0440\u0430) \u0432\u044a\u0440\u0445\u0443 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e TourViewer.",
download:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","change-to-click-and-move":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041a\u043b\u0438\u043a\u0432\u0430\u043d\u0435 \u0438 \u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435","use-safari-for-vr":"\u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430\u043c\u0435 Safari, \u0437\u0430 \u0434\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u0442\u0443\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c VR",
"exit-fullscreen":"\u0418\u0437\u043b\u0435\u0437\u0442\u0435 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",no:"\u043d\u0435","download-failed":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435\u0442\u043e \u0441\u0435 \u043f\u0440\u043e\u0432\u0430\u043b\u0438","giroscope-disabled-http":"\u0418\u043c\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0447\u0440\u0435\u0437 http, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0434\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438, \u043c\u043e\u043b\u044f, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0433\u043e \u0447\u0440\u0435\u0437 https, \u0437\u0430 \u0434\u0430 \u0433\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435.",
"cookies-notice":"\u0422\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438 \u0437\u0430 \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043c\u043e\u043b\u044f, \u043f\u043e\u0441\u0435\u0442\u0435\u0442\u0435 <a> \u041f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438\u0442\u0435 </a>.",
"use-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard","launch-default-browser":"\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u044a\u0440\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","rotate-device":"\u041c\u043e\u043b\u044f \u0437\u0430\u0432\u044a\u0440\u0442\u0435\u0442\u0435 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e",
"exit-vr":"\u0418\u0437\u043b\u0438\u0437\u0430\u043d\u0435 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c VR","storage-not-provided-launch-from-desktop":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.",
"disable-measure":"Stop measuring",downloading:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","cardboard-v2":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Cardboard v2, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442 \u0441 \u0431\u0443\u0442\u043e\u043d, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0434\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0435\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0443.",
"enable-video-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?",reject:"\u041e\u0442\u0445\u0432\u044a\u0440\u043b\u0435\u0442\u0435",downloaded:"\u0422\u043e\u0437\u0438 \u0442\u0443\u0440 \u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d.","samsung-internet-vr-app-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u0435 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u044a\u0440 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.",
"samsung-internet-vr-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0421\u0435\u0433\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u043b\u043e\u0436\u0438\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u043d\u0438\u044f \u0441\u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0432 \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043d\u0430 \u0440\u0435\u0430\u043b\u043d\u043e\u0441\u0442.",
"enable-video-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0441\u0430\u0439\u0442.",
"\u0417\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043c\u043e\u043b\u044f, \u043a\u043b\u0438\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u0438 \u043f\u0440\u0438\u0435\u043c\u0435\u0442\u0435 \u0438\u0441\u043a\u0430\u043d\u0435\u0442\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435."],
"storage-not-provided-launch-from-homescreen":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.","enter-fullscreen":"\u0412\u043b\u0435\u0437\u0442\u0435 \u0432 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",
"use-cardboard-v2":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard v2",unmute:"\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0437\u0432\u0443\u043a","enter-vr":"\u0412\u043b\u0435\u0437 \u0432\u044a\u0432 VR \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435","enable-measure":"Start measuring","use-cardboard-info":"\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0432\u0441\u044f\u043a\u0430\u043a\u0432\u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 Google Cardboard \u043e\u0447\u0438\u043b\u0430, \u0437\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR.",
"refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435","use-default-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","enable-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e?"},"fi-fi":{mute:"Poista \u00e4\u00e4ni k\u00e4yt\u00f6st\u00e4","cardboard-v1":"Mik\u00e4li et ole varma, mit\u00e4 Cardboard-versiota k\u00e4yt\u00e4t, valitse oletusarvoinen hotspot-hallinta. T\u00e4m\u00e4n j\u00e4lkeen katsomalla hotspotia, toiminto k\u00e4ynnistyy.",
"download-tour":"Lataa t\u00e4m\u00e4 sis\u00e4lt\u00f6 offline-toistoa varten","change-to-drag-and-release":"Muuta ohjaustilaa vet\u00e4m\u00e4ll\u00e4 ja vapauttamalla",accept:"Hyv\u00e4ksy",download:"Lataa","storage-not-provided-bookmark":"Tallennus ep\u00e4onnistui. Kokeile lis\u00e4t\u00e4 t\u00e4m\u00e4 verkkosivu kirjanmerkkeihin ja suorita lataus uudelleen.","dont-display-again":"\u00c4l\u00e4 n\u00e4yt\u00e4 t\u00e4t\u00e4 ilmoitusta uudelleen","web-server-required":"T\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 ei voi toistaa paikalliselta asemalta. Lataa sis\u00e4lt\u00f6 internet-palvelimelle ja yrit\u00e4 uudelleen.\nVoit my\u00f6s vet\u00e4\u00e4 htm-tiedoston (tai koko kansion) TourViewer-sovelluskuvakkeen p\u00e4\u00e4lle.",
cancel:"Sulje","change-to-click-and-move":"Muuta ohjaustilaa klikkaamalla ja siirt\u00e4m\u00e4ll\u00e4",yes:"Kyll\u00e4","delete-downloaded":"Poista","use-safari-for-vr":"Suosittelemme Safari-selainta t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa.","exit-fullscreen":"Sulje koko n\u00e4yt\u00f6n n\u00e4kym\u00e4",no:"Ei","download-failed":"Lataus ep\u00e4onnistui","giroscope-disabled-http":"K\u00e4yt\u00e4t t\u00e4t\u00e4 verkkosivua http:n kautta, joten laitteesi liiketunnistimet sek\u00e4 VR-tila on poistettu k\u00e4yt\u00f6st\u00e4. Ota ne k\u00e4ytt\u00f6\u00f6n siirtym\u00e4ll\u00e4 sivulle https:n kautta.",
"cookies-notice":"T\u00e4m\u00e4 verkkosivu k\u00e4ytt\u00e4\u00e4 ev\u00e4steit\u00e4 k\u00e4ytt\u00f6tilastojen ker\u00e4\u00e4miseen. Lis\u00e4tietoja <a>ev\u00e4stek\u00e4yt\u00e4nn\u00f6st\u00e4</a>.","use-cardboard":"K\u00e4yt\u00e4 Cardboardia","launch-default-browser":"K\u00e4ynnist\u00e4 oletusselaimessa","rotate-device":"K\u00e4\u00e4nn\u00e4 laitettasi","exit-vr":"Poistu VR-tilasta",reject:"Hylk\u00e4\u00e4","disable-measure":"Lopeta mittaaminen",downloading:"Ladataan","cardboard-v2":"Mik\u00e4li sinulla on Cardboard v2 -virtuaalilasit, joissa on painike, voit katsoa hotspotia ja aktivoida sen painamalla painiketta.",
"enable-video-audio-prompt":"Otetaanko \u00e4\u00e4ni ja video k\u00e4ytt\u00f6\u00f6n?","storage-not-provided-launch-from-desktop":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 ty\u00f6p\u00f6yd\u00e4n kuvakkeesta aloittaaksesi lataamisen.",downloaded:"T\u00e4m\u00e4 sis\u00e4lt\u00f6 on ladattu offline-toistoa varten","samsung-internet-vr-app-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Sinun on lis\u00e4ksi m\u00e4\u00e4ritett\u00e4v\u00e4 Samsung Internet oletusselaimeksi.",
"samsung-internet-vr-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Aseta \u00e4lypuhelin virtuaalilaseihin aloittaaksesi.","enable-video-prompt":"Otetaanko video k\u00e4ytt\u00f6\u00f6n?","giroscope-disabled-safari-request-permission":["Laitteesi liiketunnistimen k\u00e4ytt\u00f6oikeus ja VR-tila on poistettu k\u00e4yt\u00f6st\u00e4 t\u00e4ll\u00e4 sivustolla.",
"N\u00e4hd\u00e4ksesi t\u00e4m\u00e4n verkkosivun oikein, valitse jatka ja hyv\u00e4ksy lupapyynt\u00f6 pyydett\u00e4ess\u00e4."],"storage-not-provided-launch-from-homescreen":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 kotin\u00e4yt\u00f6n kuvakkeesta aloittaaksesi lataamisen","enter-fullscreen":"Avaa koko n\u00e4yt\u00f6n n\u00e4kym\u00e4","use-cardboard-v2":"K\u00e4yt\u00e4 Cardboard v2:sta",unmute:"Ota \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n","enter-vr":"Siirry VR-tilaan","enable-measure":"Aloita mittaaminen",
"use-cardboard-info":"Voit k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa yhteensopivia Google Cardboard -virtuaalilaseja katsellaksesi t\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 VR-tilassa.","refresh-downloaded":"P\u00e4ivit\u00e4","use-default-cardboard":"K\u00e4yt\u00e4 oletuksena","enable-audio-prompt":"Otetaanko \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n?"},"sk-sk":{mute:"St\u00ed\u0161i\u0165","cardboard-v1":"Ak ste si nie ist\u00ed, ktor\u00fa verziu Cardboardu pou\u017e\u00edvate, vyberte si predvolen\u00e9 ovl\u00e1danie hotspotu. Potom sa jednoducho pozriete na hotspot a po\u010dkajte, k\u00fdm sa akcia nespust\u00ed.",
"download-tour":"Stiahnu\u0165 prehliadku na hranie v offline re\u017eime","change-to-drag-and-release":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Presun\u00fa\u0165 a Uvo\u013eni\u0165",accept:"s\u00fahlasi\u0165",cancel:"Zru\u0161i\u0165","storage-not-provided-bookmark":"Trval\u00e9 \u00falo\u017eisko odmietnut\u00e9. Sk\u00faste si t\u00fato webov\u00fa str\u00e1nku ulo\u017ei\u0165 a na\u010d\u00edta\u0165 ju znova.","dont-display-again":"Tieto inform\u00e1cie u\u017e nezobrazova\u0165","web-server-required":"T\u00e1to virtu\u00e1lna prehliadka sa ned\u00e1 prehra\u0165 z lok\u00e1lneho disku. Nahrajte ju na internet a sk\u00faste to znova.\nAk chcete, potiahnite s\u00fabor htm (alebo cel\u00fd prie\u010dinok prehliadky) na ikonu aplik\u00e1cie TourViewer.",
download:"Stiahnu\u0165","change-to-click-and-move":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Klikn\u00fa\u0165 a Presun\u00fa\u0165",yes:"\u00e1no","delete-downloaded":"Zmaza\u0165","use-safari-for-vr":"Odpor\u00fa\u010dame pou\u017e\u00edva\u0165 Safari prehliada\u010d pre t\u00fato prehliadku v re\u017eime VR","exit-fullscreen":"Ukon\u010di\u0165 cel\u00fa obrazovku",no:"nie","download-failed":"S\u0165ahovanie zlyhalo","giroscope-disabled-http":"Na t\u00fato webov\u00fa str\u00e1nku pristupujete cez http protokol, preto pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR s\u00fa deaktivovan\u00e9. Ak ich chcete povoli\u0165, nav\u0161t\u00edvte str\u00e1nku cez https.",
"cookies-notice":"T\u00e1to webov\u00e1 str\u00e1nka pou\u017e\u00edva s\u00fabory cookie na zhroma\u017e\u010fovanie \u0161tatist\u00edk pou\u017e\u00edvania. \u010eal\u0161ie inform\u00e1cie n\u00e1jdete v <a> pravidl\u00e1ch pou\u017e\u00edvania s\u00faborov cookie </a>.","use-cardboard":"Pou\u017eite Cardboard okuliare.","launch-default-browser":"Spusti\u0165 v predvolenom prehliada\u010di","rotate-device":"Oto\u010dte svoje zariadenie","exit-vr":"Ukon\u010denie VR","storage-not-provided-launch-from-desktop":"Znovu na\u010d\u00edtajte prehliadku pomocou desktop ikony pre jej stiahnite.",
"disable-measure":"Ukon\u010di\u0165 meranie",downloading:"S\u0165ahovanie","cardboard-v2":"Ak m\u00e1te n\u00e1hlavn\u00fa s\u00fapravu Cardboard v2, ktor\u00e1 je dod\u00e1van\u00e1 s tla\u010didlom, m\u00f4\u017eete sa pozrie\u0165 na hotspot a stla\u010den\u00edm tla\u010didla spusti\u0165 akciu.","enable-video-audio-prompt":"Povoli\u0165 video a zvuk?",reject:"Odmietnu\u0165",downloaded:"T\u00e1to prehliadka je stiahnut\u00e1 na hranie v offline re\u017eime.","samsung-internet-vr-app-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Mus\u00edte si nastavi\u0165 Samsung Internet ako predvolen\u00fd prehliada\u010d.",
"samsung-internet-vr-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Sta\u010d\u00ed teraz vlo\u017ei\u0165 mobiln\u00fd telef\u00f3n do n\u00e1hlavnej s\u00fapravy.","enable-video-prompt":"Povoli\u0165 video?","giroscope-disabled-safari-request-permission":["Pre t\u00fato str\u00e1nku s\u00fa pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR deaktivovan\u00e9.",
"Aby ste korektne videli t\u00fato webov\u00fa str\u00e1nku, pros\u00edm kliknite pokra\u010dova\u0165 a akceptujte po\u017eadovan\u00e9 povolenie."],"storage-not-provided-launch-from-homescreen":"Znovu na\u010d\u00edtajte prehliadku pomocou ikony na ploche pre jej stiahnite.","enter-fullscreen":"Prejs\u0165 na cel\u00fa obrazovku","use-cardboard-v2":"Pou\u017eite Cardboard v2",unmute:"Zapn\u00fa\u0165 zvuk","enter-vr":"Vlo\u017ei\u0165 VR obsah","enable-measure":"Za\u010da\u0165 meranie","use-cardboard-info":"Na zobrazenie tohto obsahu vo VR m\u00f4\u017eete pou\u017ei\u0165 \u013eubovo\u013en\u00fa kompatibiln\u00fa n\u00e1hlavn\u00fa s\u00fapravu Google Cardboard.",
"refresh-downloaded":"Obnovi\u0165","use-default-cardboard":"Pou\u017ei\u0165 predvolen\u00e9","enable-audio-prompt":"Povoli\u0165 zvuk?"},"uk-ua":{mute:"\u0412\u0438\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","cardboard-v1":"\u042f\u043a\u0449\u043e \u0432\u0438 \u043d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u044f\u043a\u0443 \u0432\u0435\u0440\u0441\u0456\u044e Cardboard \u0432\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u0435, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c. \u041f\u043e\u0442\u0456\u043c \u0432\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043f\u043e\u0447\u0435\u043a\u0430\u0439\u0442\u0435, \u0434\u043e\u043a\u0438 \u0434\u0456\u044f \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f.",
"download-tour":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0442\u0443\u0440 \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456","change-to-drag-and-release":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0456 \u0432\u0456\u0434\u043f\u0443\u0441\u0442\u0456\u0442\u044c",
accept:"\u041f\u0440\u0438\u0439\u043c\u0456\u0442\u044c",cancel:"\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f \u0437\u0430\u0431\u043e\u0440\u043e\u043d\u0435\u043d\u043e. \u0421\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0457\u0457.",
"dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0443\u0439\u0442\u0435 \u0446\u044e \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044e \u0437\u043d\u043e\u0432\u0443","web-server-required":"\u0426\u0435\u0439 \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0438\u0439 \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u043d\u0430 \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0439\u043e\u0433\u043e \u0432 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0456 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.\n\u042f\u043a\u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b htm (\u0430\u0431\u043e \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0443) \u043d\u0430 \u043f\u0456\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438 TourViewer.",
download:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","change-to-click-and-move":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0456 \u043f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c",yes:"\u0442\u0430\u043a","delete-downloaded":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","use-safari-for-vr":"\u041c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0454\u043c\u043e Safari \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0442\u0443\u0440\u0443 \u0432 \u0440\u0435\u0436\u0438\u043c\u0456 VR",
"exit-fullscreen":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0443",no:"\u043d\u0456","download-failed":"\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","giroscope-disabled-http":"\u0412\u0438 \u043e\u0442\u0440\u0438\u043c\u0443\u0454\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0446\u0456\u0454\u0457 \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 http, \u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e \u0442\u0430 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e. \u0429\u043e\u0431 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0457\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0434\u043e \u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 https.",
"cookies-notice":"\u0426\u044f \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454 \u0444\u0430\u0439\u043b\u0438 cookie \u0434\u043b\u044f \u0437\u0431\u043e\u0440\u0443 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f. \u0414\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u0434\u043e\u0434\u0430\u0442\u043a\u043e\u0432\u043e\u0457 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0432\u0456\u0434\u0432\u0456\u0434\u0430\u0439\u0442\u0435 <a> \u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0443 \u0449\u043e\u0434\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0456\u0432 cookie</a>.",
"use-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","rotate-device":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0441\u0432\u0456\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439",
"exit-vr":"\u0412\u0438\u0439\u0434\u0456\u0442\u044c \u0456\u0437 VR","storage-not-provided-launch-from-desktop":"\u0429\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u043e\u0433\u043b\u044f\u0434 \u0456\u0437 \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0441\u0442\u043e\u043b\u0456.","disable-measure":"\u041f\u0440\u0438\u043f\u0438\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u043d\u043d\u044f",
downloading:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f","cardboard-v2":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Cardboard v2, \u044f\u043a\u0430 \u043f\u043e\u0441\u0442\u0430\u0447\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043a\u043d\u043e\u043f\u043a\u043e\u044e, \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0438\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0443\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0443, \u0449\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0457\u0457.",
"enable-video-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e \u0442\u0430 \u0430\u0443\u0434\u0456\u043e?",reject:"\u0412\u0456\u0434\u0445\u0438\u043b\u0438\u0442\u0438",downloaded:"\u0426\u0435\u0439 \u0442\u0443\u0440 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043e \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456.",
"samsung-internet-vr-app-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0440\u043e\u0431\u0438\u0442\u0438 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c.",
"samsung-internet-vr-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0457 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0456, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0456\u0434\u2019\u0454\u0434\u043d\u0430\u0442\u0438 \u043c\u043e\u0431\u0456\u043b\u044c\u043d\u0438\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0438.",
"enable-video-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e, \u0430 \u0442\u0430\u043a\u043e\u0436 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0443.",
"\u0429\u043e\u0431 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443, \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u00ab\u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438\u00bb \u0442\u0430 \u043f\u0440\u0438\u0439\u043c\u0456\u0442\u044c \u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u0434\u043e\u0437\u0432\u0456\u043b, \u044f\u043a\u0449\u043e \u0437\u2019\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0438\u0442."],
"storage-not-provided-launch-from-homescreen":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0442\u0443\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u043a\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0435\u043a\u0440\u0430\u043d\u0430, \u0449\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438.","enter-fullscreen":"\u041f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0443 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c",
"use-cardboard-v2":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard v2",unmute:"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","enter-vr":"\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u0432\u043c\u0456\u0441\u0442 VR","enable-measure":"\u041f\u043e\u0447\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u0442\u0438","use-cardboard-info":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044c-\u044f\u043a\u0443 \u0441\u0443\u043c\u0456\u0441\u043d\u0443 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR.",
"refresh-downloaded":"\u041e\u043d\u043e\u0432\u0438\u0442\u0438","use-default-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","enable-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0430\u0443\u0434\u0456\u043e?"},"en-us":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Accept",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"This web page uses cookies to collect usage statistics. For more information, please visit the <a>Cookie Policy</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",
reject:"Reject",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"sv-se":{mute:"Inaktivera ljud","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing",
"change-to-drag-and-release":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att dra och sl\u00e4ppa",accept:"Acceptera",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att klicka och flytta",yes:"ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Avsluta fullsk\u00e4rmen",no:"Nej","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denna webbsida anv\u00e4nder cookies f\u00f6r att samla in anv\u00e4ndningsstatistik. F\u00f6r mer information, bes\u00f6k <a>Cookie Policy</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Avvisa","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktivera ljud och video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",
downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Aktivera video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Ange fullsk\u00e4rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktivera ljud","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktivera ljud?"},"id-id":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing",
"change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Menerima",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",download:"Download",
"change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Halaman web ini menggunakan cookie untuk mengumpulkan statistik penggunaan. Untuk informasi lebih lanjut, silakan kunjungi <a>Kebijakan Cookie</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",
reject:"Menolak",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"pt-br":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.",
"download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar","storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",
download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair da tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.",
"cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a <a>Pol\u00edtica de cookies</a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",
downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.","enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.",
"samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.","enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],
"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar em tela cheia","use-cardboard-v2":"Use Cardboard v2",unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o",
"enable-audio-prompt":"Ativar \u00e1udio?"},"it-it":{mute:"Disabilita audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Cambia la modalit\u00e0 di controllo per trascinare e rilasciare",accept:"Accettare",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.",
"dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Cambia la modalit\u00e0 di controllo per fare clic e spostare",yes:"s\u00ec","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode",
"exit-fullscreen":"Esci dalla modalit\u00e0 schermo intero",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Questa pagina web utilizza i cookie per raccogliere statistiche sull'utilizzo. Per ulteriori informazioni, visita la <a>Cookie Policy</a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser",
"rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rifiutare","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Abilita audio e video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.",
"samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Abilita il video?",
"giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Entra a schermo intero","use-cardboard-v2":"Use Cardboard v2",unmute:"Abilita audio","enter-vr":"Enter VR content","enable-measure":"Start measuring",
"use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Abilita l'audio?"},"zh-tw":{mute:"\u975c\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f09\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u96e2\u7dda\u64ad\u653e",
"change-to-drag-and-release":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u62d6\u653e\u6a21\u5f0f\u201c",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88dd\u7f6e\u5167\u6c38\u4e45\u5b58\u5132\u88ab\u62d2\u7d55\u3002\u8acb\u5617\u8a66\u5c07\u6b64\u7db2\u9801\u65b0\u589e\u70ba\u66f8\u7c64\uff0c\u4e26\u91cd\u65b0\u8f09\u5165\u3002","dont-display-again":"\u4e0d\u518d\u986f\u793a\u672c\u8a0a\u606f","web-server-required":"\u672c\u865b\u64ec\u5c0e\u89bd\u7121\u6cd5\u5728\u672c\u5730\u96fb\u8166\u4e0a\u64ad\u653e\u3002 \u8acb\u5c07\u5176\u4e0a\u50b3\u5230\u7db2\u969b\u7db2\u8def\u4f3a\u670d\u5668\uff0c\u7136\u5f8c\u91cd\u8a66\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9810\u89bd\uff0c\u8acb\u5c07htm\u6a94\u6848\uff08\u6216\u865b\u64ec\u5c0e\u89bd\u7684\u6574\u500b\u8cc7\u6599\u593e\uff09\u62d6\u653e\u5230TourViewer\u61c9\u7528\u7a0b\u793a\u7684\u5716\u793a\u4e0a\u3002",
download:"\u4e0b\u8f09","change-to-click-and-move":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u9ede\u64ca\u4e26\u79fb\u52d5\u201d",yes:"\u662f","delete-downloaded":"\u522a\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u87a2\u5e55",no:"\u5426","download-failed":"\u4e0b\u8f09\u5931\u6557","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u904ehttp(\u672a\u52a0\u5bc6)\u700f\u89bd\u672c\u7db2\u9801\uff0c\u56e0\u6b64\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0c\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8acb\u53e6\u901a\u904ehttps(\u52a0\u5bc6)\u7db2\u5740\u5c0d\u5176\u9032\u884c\u555f\u7528\u3002",
"cookies-notice":"\u8a72\u7db2\u9801\u4f7f\u7528cookie\u4f86\u6536\u96c6\u4f7f\u7528\u60c5\u6cc1\u7d71\u8a08\u4fe1\u606f\u3002 \u6709\u95dc\u66f4\u591a\u4fe1\u606f\uff0c\u8acb\u8a2a\u554f<a> Cookie\u653f\u7b56</a>\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8acb\u5f9e\u684c\u9762\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002",
"disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f09","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u5141\u8a31\u5f71\u7247\u53ca\u8072\u97f3\u64ad\u653e?",reject:"\u62d2\u7d55",downloaded:"\u865b\u64ec\u5c0e\u89bd\u5df2\u4e0b\u8f09\uff0c\u53ef\u9032\u884c\u96e2\u7dda\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u5141\u8a31\u5f71\u7247\u64ad\u653e?","giroscope-disabled-safari-request-permission":["\u8a72\u7db2\u7ad9\u5df2\u7981\u7528\u60a8\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002",
"\u8981\u6b63\u78ba\u67e5\u770b\u672c\u7db2\u9801\uff0c\u8acb\u55ae\u64ca\u7e7c\u7e8c\uff0c\u4e26\u5728\u51fa\u73fe\u63d0\u793a\u6642\u63a5\u53d7\u8a31\u53ef\u8acb\u6c42\u3002"],"storage-not-provided-launch-from-homescreen":"\u8acb\u4e3b\u9801\u9762\u87a2\u5e55\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002","enter-fullscreen":"\u9032\u5165\u5168\u87a2\u5e55","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u975c\u97f3",
"enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u91cd\u65b0\u6574\u7406","use-default-cardboard":"Use Default","enable-audio-prompt":"\u5141\u8a31\u8072\u97f3\u64ad\u653e?"},"nb-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.",
"download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",
download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.",
"cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k <a>retningslinjer for informasjonskapsler</a>.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned",
"cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.",
"samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],
"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard",
"enable-audio-prompt":"Aktivere audio?"},"pt-pt":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.","download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar",
"storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",
yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair da tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.","cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a <a>Pol\u00edtica de cookies</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.",
"enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.","samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.",
"enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar em tela cheia","use-cardboard-v2":"Use Cardboard v2",
unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o","enable-audio-prompt":"Ativar \u00e1udio?"},"hr-hr":{mute:"nijem","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Promijenite na\u010din upravljanja u povla\u010denje i otpu\u0161tanje",accept:"Prihvatiti",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"Promijenite na\u010din upravljanja na Klik i Premjesti",yes:"Da","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Iza\u0111ite s punog zaslona",no:"Ne","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Ova web stranica koristi kola\u010di\u0107e za prikupljanje statistike upotrebe. Za vi\u0161e informacija posjetite <a>Pravila o kola\u010di\u0107ima</a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Odbiti","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Omogu\u0107iti videozapis i zvuk?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",
downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Omogu\u0107ite videozapis?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Unesite cijeli zaslon","use-cardboard-v2":"Use Cardboard v2",unmute:"Uklju\u010di mikrofon",
"enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u017delite li omogu\u0107iti zvuk?"},"ja-jp":{mute:"\u30df\u30e5\u30fc\u30c8","cardboard-v1":"\u4f7f\u7528\u3057\u3066\u3044\u308bCardboard\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u3092\u6ce8\u8996\u3057\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3059\u308b\u307e\u3067\u5f85\u6a5f\u3057\u307e\u3059\u3002\uff08\u4e00\u90e8\u52d5\u4f5c\u3057\u306a\u3044\u30a2\u30af\u30b7\u30e7\u30f3\u6709\u308a\uff09",
"download-tour":"\u30aa\u30d5\u30e9\u30a4\u30f3\u518d\u751f\u7528\u30c4\u30a2\u30fc\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","change-to-drag-and-release":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30ea\u30ea\u30fc\u30b9\u306b\u5909\u66f4",accept:"\u53d7\u3051\u5165\u308c\u308b",cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb","storage-not-provided-bookmark":"\u6c38\u7d9a\u7684\u306a\u4fdd\u5b58\u304c\u62d2\u5426\u3055\u308c\u305f\u3002\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3057\u3001\u66f4\u65b0\u3057\u3066\u304f\u3060\u3055\u3044",
"dont-display-again":"\u4eca\u5f8c\u3053\u306e\u60c5\u5831\u3092\u8868\u793a\u3057\u306a\u3044","web-server-required":"\u3053\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30c4\u30a2\u30fc\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304b\u3089\u518d\u751f\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u3082\u3046\u4e00\u5ea6\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\n\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001htm\u30d5\u30a1\u30a4\u30eb\uff08\u307e\u305f\u306f\u30c4\u30a2\u30fc\u306e\u30d5\u30a9\u30eb\u30c0\u30fc\u5168\u4f53\uff09\u3092\u300eTourViewer\u300f\u30a2\u30d7\u30ea\u306e\u30a2\u30a4\u30b3\u30f3\u306b\u30c9\u30e9\u30c3\u30b0\u3057\u307e\u3059",
download:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9","change-to-click-and-move":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30af\uff06\u30e0\u30fc\u30d6\u306b\u5909\u66f4",yes:"\u306f\u3044","delete-downloaded":"\u524a\u9664","use-safari-for-vr":"\u3053\u306e\u30c4\u30a2\u30fc\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001Safari\u30d6\u30e9\u30a6\u30b6\u306e\u5229\u7528\u3092\u304a\u52e7\u3081\u3057\u307e\u3059","exit-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86\u3059\u308b",
no:"\u3044\u3044\u3048","download-failed":"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5931\u6557\u3057\u307e\u3057\u305f","giroscope-disabled-http":"\u3053\u306eWeb\u30da\u30fc\u30b8\u306b\u300ehttp\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300ehttps\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044",
"cookies-notice":"\u3053\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306fCookie\u3092\u4f7f\u7528\u3057\u3066\u4f7f\u7528\u7d71\u8a08\u3092\u53ce\u96c6\u3057\u307e\u3059\u3002 \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<a>Cookie\u30dd\u30ea\u30b7\u30fc</a>\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","use-cardboard":"Cardboard\u5229\u7528","launch-default-browser":"\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u8d77\u52d5","rotate-device":"\u7aef\u672b\u3092\u56de\u8ee2\u3055\u305b\u3066\u304f\u3060\u3055\u3044",
"exit-vr":"VR\u30d3\u30e5\u30fc \u7d42\u4e86","storage-not-provided-launch-from-desktop":"\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","disable-measure":"Stop measuring",downloading:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d","cardboard-v2":"\u30dc\u30bf\u30f3\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u308bCardboard v2\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u304a\u6301\u3061\u306e\u5834\u5408\u306f\u3053\u3061\u3089\u3002",
"enable-video-audio-prompt":"\u30d3\u30c7\u30aa\u3068\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f",reject:"\u62d2\u5426\u3059\u308b",downloaded:"\u3053\u306e\u30c4\u30a2\u30fc\u306f\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u518d\u751f\u3059\u308b\u305f\u3081\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u3059\u308b","samsung-internet-vr-app-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u300eSamsung Internet\u300f\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059",
"samsung-internet-vr-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u306b\u88c5\u7740\u3059\u308b\u3060\u3051\u3067\u3059",
"enable-video-prompt":"\u30d3\u30c7\u30aa\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f","giroscope-disabled-safari-request-permission":["\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002","\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u6b63\u3057\u304f\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300eOK\u300f\u3092\u30af\u30ea\u30c3\u30af\u3057\u300e\u8a31\u53ef\u300f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u5165\u308c\u3066\u304f\u3060\u3055\u3044"],
"storage-not-provided-launch-from-homescreen":"\u30db\u30fc\u30e0\u753b\u9762\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","enter-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3067\u5165\u529b\u3059\u308b","use-cardboard-v2":"Cardboard v2\u5229\u7528",unmute:"\u30df\u30e5\u30fc\u30c8\u89e3\u9664","enter-vr":"VR\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b","enable-measure":"Start measuring",
"use-cardboard-info":"\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u4efb\u610f\u306eGoogle Cardboard\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u5229\u7528\u3067\u304d\u307e\u3059","refresh-downloaded":"\u66f4\u65b0","use-default-cardboard":"\u30c7\u30d5\u30a9\u30eb\u30c8\u5229\u7528","enable-audio-prompt":"\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f"},"zh-cn":{mute:"\u9759\u97f3",
"cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f7d\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e","change-to-drag-and-release":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u62d6\u653e\u201d",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88c5\u7f6e\u5185\u6c38\u4e45\u5b58\u50a8\u88ab\u62d2\u7edd\u3002\u5c1d\u8bd5\u5c06\u6b64\u7f51\u9875\u6dfb\u52a0\u4e3a\u4e66\u7b7e\uff0c \u5e76\u91cd\u65b0\u52a0\u8f7d\u3002",
"dont-display-again":"\u4e0d\u518d\u663e\u793a\u6b64\u4fe1\u606f","web-server-required":"\u6b64\u5168\u666f\u6f2b\u6e38\u65e0\u6cd5\u4ece\u672c\u5730\u9a71\u52a8\u5668\u4e0a\u64ad\u653e\u3002 \u8bf7\u5c06\u5176\u4e0a\u4f20\u5230\u4e92\u8054\u7f51\u670d\u52a1\u5668\uff0c\u7136\u540e\u91cd\u8bd5\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9884\u89c8\uff0c\u53ef\u4ee5\u5c06htm\u6587\u4ef6\uff08\u6216\u5168\u666f\u6f2b\u6e38\u7684\u6574\u4e2a\u6587\u4ef6\u5939\uff09\u62d6\u5230TourViewer\u5e94\u7528\u7a0b\u5e8f\u7684\u56fe\u6807\u4e0a\u3002",
download:"\u4e0b\u8f7d","change-to-click-and-move":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u5355\u51fb\u5e76\u79fb\u52a8\u201d",yes:"\u662f","delete-downloaded":"\u5220\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u5c4f",no:"\u5426","download-failed":"\u4e0b\u8f7d\u5931\u8d25","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u8fc7http(\u672a\u52a0\u5bc6)\u8bbf\u95ee\u6b64\u7f51\u9875\uff0c\u56e0\u6b64\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8bf7\u901a\u8fc7https(\u52a0\u5bc6)\u5bf9\u5176\u8fdb\u884c\u542f\u7528\u3002",
"cookies-notice":"\u8be5\u7f51\u9875\u4f7f\u7528cookie\u6765\u6536\u96c6\u4f7f\u7528\u60c5\u51b5\u7edf\u8ba1\u4fe1\u606f\u3002 \u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95ee<a>Cookie\u653f\u7b56</a>\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8bf7\u4ece\u684c\u9762\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002",
"disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f7d","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u542f\u7528\u89c6\u9891\u548c\u97f3\u9891\uff1f",reject:"\u62d2\u7edd",downloaded:"\u6b64\u5168\u666f\u6f2b\u6e38\u5df2\u4e0b\u8f7d\uff0c\u53ef\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u542f\u7528\u89c6\u9891\uff1f","giroscope-disabled-safari-request-permission":["\u8be5\u7ad9\u70b9\u5df2\u7981\u7528\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002",
"\u8981\u6b63\u786e\u67e5\u770b\u6b64\u7f51\u9875\uff0c\u8bf7\u5355\u51fb\u7ee7\u7eed\uff0c\u5e76\u5728\u51fa\u73b0\u63d0\u793a\u65f6\u63a5\u53d7\u8bb8\u53ef\u8bf7\u6c42"],"storage-not-provided-launch-from-homescreen":"\u8bf7\u4ece\u4e3b\u5c4f\u5e55\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002","enter-fullscreen":"\u8fdb\u5165\u5168\u5c4f","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u9759\u97f3","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u5237\u65b0","use-default-cardboard":"Use Default","enable-audio-prompt":"\u542f\u7528\u97f3\u9891\uff1f"},"nl-nl":{mute:"Schakel audio uit","cardboard-v1":"Als u niet weet wat voor versie van Cardboard u gebruikt, selecteer dan de default hotspot control. Dan zult u moeten wachten op een hotspot tot er een bepaald actie is gestart.","download-tour":"Download Tour voor offline afspelen",
"change-to-drag-and-release":"Verander de besturingsmodus om te slepen en los te laten",accept:"Aanvaarden",download:"Download","storage-not-provided-bookmark":"Aanhoudende inhoud geweigerd. Probeer deze pagina als bookmark op te slaan en te verversen.","dont-display-again":"Niet meer laten zien","web-server-required":"Deze virtuele tour kan niet worden afgespeeld vanaf een lokale schijf. Upload dit alstublieft op het internet. Je kan ook de htm bestand slepen naar het icoon van de TourViewer app.",
cancel:"Annuleren","change-to-click-and-move":"Verander de bedieningsmodus om te klikken en te verplaatsen",yes:"Ja","delete-downloaded":"Verwijderen","use-safari-for-vr":"We raden aan om in Safari deze tour te bekijken in VR mode","exit-fullscreen":"Volledig scherm verlaten",no:"Nee","download-failed":"Download mislukt","giroscope-disabled-http":"Jij betreedt deze pagina door http, dus uw toestel's motion en orientation access en VR modus zijn uitgeschakeld. Betreed deze pagina door https om ze weer aan te schakelen.",
"cookies-notice":"Deze webpagina maakt gebruik van cookies om gebruiksstatistieken te verzamelen. Raadpleeg het <a>Cookiebeleid</a> voor meer informatie.","use-cardboard":"Gebruik Cardboard","launch-default-browser":"Start op in standaard browser","rotate-device":"Draai uw toestel om, alstublieft","exit-vr":"VR verlaten",reject:"Weigeren","disable-measure":"Stop meten",downloading:"Downloaden","cardboard-v2":"Als u een Cardboard v2 headset heeft, wat met een knop komt, kunt u wachten op een hotspot en een op een knop drukken om een actie te starten.",
"enable-video-audio-prompt":"Audio en video inschakelen?","storage-not-provided-launch-from-desktop":"Start de tour alstublieft opnieuw up vanaf het bureaublad om te kunnen downloaden.",downloaded:"Deze tour is gedownload voor offline afspelen.","samsung-internet-vr-app-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR. U moet alleen Samsung Internet instellen als uw standaard browser.","samsung-internet-vr-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR, u moet alleen uw mobiele toestel op uw headset zetten.",
"enable-video-prompt":"Video inschakelen?","giroscope-disabled-safari-request-permission":["Uw toestel's motion en orientation access en VR modus zijn uitgeschakeld voor deze site..","Om deze pagina goed te kunnen zien, druk op doorgaan en geef toestemming als dat gevraagd wordt."],"storage-not-provided-launch-from-homescreen":"Start de tour alstublieft opnieuw up vanaf het homescherm om te kunnen downloaden.","enter-fullscreen":"Volledig scherm inschakelen","use-cardboard-v2":"Gebruik Cardboard v2",
unmute:"Schakel audio in","enter-vr":"Voer VR inhoud in","enable-measure":"Begin meten","use-cardboard-info":"U kunt elk werkend Google Cardboard headset gebruiken om dit te bekijken.","refresh-downloaded":"Verversen","use-default-cardboard":"Standaard gebruiken","enable-audio-prompt":"Audio inschakelen?"},"hu-hu":{mute:"N\u00e9m\u00edt\u00e1s","cardboard-v1":"Ha nem vagy biztos benne, hogy milyen VR eszk\u00f6zt haszn\u00e1lsz, akkor v\u00e1laszd az alap\u00e9rtelmezettet \u00e9s az egyes hotspot-ok megtekint\u00e9s\u00e9hez csak tartsd ott a jel\u00f6l\u0151t.",
"download-tour":"T\u00fara let\u00f6lt\u00e9se offline megtekint\u00e9shez","change-to-drag-and-release":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa: megfog \u00e9s mozgat m\u00f3dra",accept:"Elfogad",cancel:"M\u00e9gsem","storage-not-provided-bookmark":"Pr\u00f3b\u00e1lja meg az oldalt megjel\u00f6lni \u00e9s \u00fajrat\u00f6lteni!","dont-display-again":"Ne mutasd \u00fajra","web-server-required":"Ez a t\u00fara nem j\u00e1tszat\u00f3 le helyi futtat\u00e1ssal, k\u00e9rlek t\u00f6lsd fel az internetre \u00e9s pr\u00f3b\u00e1ld meg \u00fajra\nM\u00e1sik megold\u00e1s, ha a Tourviewer applik\u00e1ci\u00f3ra h\u00fazod a t\u00fara f\u00e1jlt, vagy az azt tartalmaz\u00f3 t\u00fara mapp\u00e1t.",
download:"Let\u00f6lt\u00e9s","change-to-click-and-move":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa kattint \u00e9s k\u00f6rben\u00e9z m\u00f3dra",yes:"igen","delete-downloaded":"T\u00f6rl\u00e9s","use-safari-for-vr":"Azt javasoljuk, hogy haszn\u00e1lj Safari b\u00f6ng\u00e9sz\u0151t a VR n\u00e9zet megtekint\u00e9s\u00e9hez","exit-fullscreen":"Kil\u00e9p\u00e9s a teljesk\u00e9perny\u0151 m\u00f3db\u00f3l",no:"nem","download-failed":"Let\u00f6lt\u00e9s sikertelen","giroscope-disabled-http":"Az oldalt https el\u0151taggal sz\u00fcks\u00e9ges megnyitnod ahhoz, hogy a k\u00e9sz\u00fcl\u00e9ked mozg\u00e1s\u00e1t \u00e9rz\u00e9kelni tudja.",
"cookies-notice":"Ez a weboldal s\u00fctiket haszn\u00e1l a haszn\u00e1lati statisztik\u00e1k gy\u0171jt\u00e9s\u00e9hez. Tov\u00e1bbi inform\u00e1ci\u00f3\u00e9rt l\u00e1togasson el a <a>s\u00fctikre vonatkoz\u00f3 ir\u00e1nyelvekbe</a>.","use-cardboard":"Cardboard haszn\u00e1lata","launch-default-browser":"Futtat\u00e1s az alap\u00e9rtelmezett b\u00f6ng\u00e9sz\u0151ben","rotate-device":"Forgasd el a telefont!","exit-vr":"Kil\u00e9p\u00e9s a VR m\u00f3db\u00f3l","storage-not-provided-launch-from-desktop":"K\u00e9rlek ind\u00edtsd \u00fajra az oldalt az asztalon tal\u00e1lhat\u00f3 iconra kattintva.",
"disable-measure":"Stop measuring",downloading:"Let\u00f6lt\u00e9s","cardboard-v2":"Ha Cardboard 2.0 t\u00edpus\u00fa eszk\u00f6zt haszn\u00e1lsz, akkor a kapcsol\u00f3kkal ir\u00e1ny\u00edthatod a t\u00far\u00e1t, kattinthatsz az egyes hotspotokra","enable-video-audio-prompt":"Hang \u00e9s vide\u00f3 enged\u00e9lyez\u00e9se",reject:"Elutas\u00edt",downloaded:"Let\u00f6ltve offline megtekint\u00e9shez","samsung-internet-vr-app-info":"Ha Samsung Gear VR szem\u00fcveget szeretn\u00e9l haszn\u00e1lni, akkor nyisd meg a Samsung internetb\u00f6ng\u00e9sz\u0151ben a t\u00far\u00e1t.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Vide\u00f3 enged\u00e9lyez\u00e9se","giroscope-disabled-safari-request-permission":["A megjelen\u00edt\u0151 eszk\u00f6z\u00f6d nem adott hozz\u00e1f\u00e9r\u00e9st a mozg\u00e1s \u00e9rz\u00e9kel\u00e9s\u00e9hez ezen az oldalon.","Ahhoz hogy megfelel\u0151en l\u00e1sd az oldalt k\u00e9rlek enged\u00e9lyezd a hozz\u00e1f\u00e9r\u00e9st."],
"storage-not-provided-launch-from-homescreen":"Ind\u00edtsd \u00fajra a t\u00far\u00e1t a home ikonra kattintva.","enter-fullscreen":"Teljesk\u00e9perny\u0151","use-cardboard-v2":"Cardboard 2.0 haszn\u00e1lata",unmute:"N\u00e9m\u00edt\u00e1s kikapcsol\u00e1sa","enter-vr":"VR tartalom megtekint\u00e9se","enable-measure":"Start measuring","use-cardboard-info":"Haszn\u00e1lhatsz b\u00e1rmilyen google cardboard-ot ahhoz, hogy VR m\u00f3dban l\u00e1sd a t\u00far\u00e1t.","refresh-downloaded":"Friss\u00edt\u00e9s",
"use-default-cardboard":"Alap\u00e9rtelmezett haszn\u00e1lata","enable-audio-prompt":"Hang enged\u00e9lyez\u00e9se"},"ar-ar":{mute:"\u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0635\u0648\u062a","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0633\u062d\u0628 \u0648\u0627\u0644\u0625\u0641\u0631\u0627\u062c",
accept:"\u0642\u0628\u0648\u0644",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u062a\u062d\u0631\u0643",
yes:"\u0646\u0639\u0645 \u0641\u0639\u0644\u0627","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0627\u0644\u062e\u0631\u0648\u062c \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0626 \u0644\u0644\u0634\u0627\u0634\u0629",no:"\u0644\u0627","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"\u062a\u0633\u062a\u062e\u062f\u0645 \u0635\u0641\u062d\u0629 \u0627\u0644\u0648\u064a\u0628 \u0647\u0630\u0647 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0644\u062c\u0645\u0639 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u060c \u064a\u0631\u062c\u0649 \u0632\u064a\u0627\u0631\u0629 <a> \u0633\u064a\u0627\u0633\u0629 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 </a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u064a\u0631\u0641\u0636","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a \u0648\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f",
"storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0623\u062f\u062e\u0644 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
"use-cardboard-v2":"Use Cardboard v2",unmute:"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a\u061f"},"ca-es":{mute:"Silenciar","cardboard-v1":"Si no esteu segurs de quina versi\u00f3 de cartr\u00f3 utilitzeu, seleccioneu el control de punt d'acc\u00e9s per defecte. Despr\u00e9s, simplement veureu un punt d'acc\u00e9s i espereu fins que s'activi l'acci\u00f3.",
"download-tour":"Descarregueu la visita virtual per a jugar fora de l\u00ednia","change-to-drag-and-release":"Canvieu el mode de control a Arrossegar i deixeu anar",accept:"Accepta",cancel:"Cancel\u00b7lar","storage-not-provided-bookmark":"S'ha denegat l'emmagatzematge persistent. Proveu de marcar aquesta p\u00e0gina web i torneu-la a carregar.","dont-display-again":"No tornis a mostrar aquesta informaci\u00f3","web-server-required":"Aquesta visita virtual no es pot reproduir des d'una unitat local. Carregueu-lo a Internet i torneu-ho a provar.\nSi ho preferiu, arrossegueu el fitxer htm (o tota la carpeta de la visita virtual) a la icona de l'aplicaci\u00f3 TourViewer.",
download:"Descarregar","change-to-click-and-move":"Canvieu el mode de control a Fer clic i desplaceu",yes:"s\u00ed","delete-downloaded":"Suprimeix","use-safari-for-vr":"Recomanem Safari per a visualitzar aquesta visita virtual en mode VR","exit-fullscreen":"Surt de pantalla completa",no:"no","download-failed":"Error de desc\u00e0rrega","giroscope-disabled-http":"Accediu a aquesta p\u00e0gina web a trav\u00e9s de http de manera que el moviment i l\u2019orientaci\u00f3 del dispositiu i el mode VR estan desactivats, accediu-hi mitjan\u00e7ant https per habilitar-les.",
"cookies-notice":"Aquesta p\u00e0gina web utilitza cookies per recopilar estad\u00edstiques d\u2019\u00fas. Per obtenir m\u00e9s informaci\u00f3, visiteu la <a>Pol\u00edtica de cookies</a>.","use-cardboard":"Utilitzeu Cardboard","launch-default-browser":"Inicieu el navegador per defecte","rotate-device":"Gireu el dispositiu","exit-vr":"Surt de VR","storage-not-provided-launch-from-desktop":"Torneu a iniciar la visita virtual des de la icona de l'escriptori per a descarregar-la.","disable-measure":"Stop measuring",
downloading:"Baixant","cardboard-v2":"Si teniu unes Cardboard v2, que venen amb un bot\u00f3, podeu mirar cap a un punt de vista i pr\u00e9mer el bot\u00f3 per activar-lo.","enable-video-audio-prompt":"Habilitar v\u00eddeo i \u00e0udio?",reject:"Rebutjar",downloaded:"Aquesta visita virtual es descarrega per a reproduir-la fora de l\u00ednia.","samsung-internet-vr-app-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, heu de fer que Samsung Internet sigui el vostre navegador predeterminat.",
"samsung-internet-vr-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, nom\u00e9s heu de posar el tel\u00e8fon m\u00f2bil als auriculars.","enable-video-prompt":"Activar v\u00eddeo?","giroscope-disabled-safari-request-permission":["Aquest lloc web est\u00e0 desactivat en el moviment i en la direcci\u00f3 o en mode VR del dispositiu.","Per veure correctament aquesta p\u00e0gina web, feu clic a Continuar i accepteu la sol\u00b7licitud de perm\u00eds si se us demana."],
"storage-not-provided-launch-from-homescreen":"Torneu a iniciar la visita virtual des de la icona de la pantalla inicial.","enter-fullscreen":"Entra a pantalla completa","use-cardboard-v2":"Utilitzeu Cardboard v2",unmute:"No activa","enter-vr":"Introdu\u00efu contingut de VR","enable-measure":"Start measuring","use-cardboard-info":"Podeu utilitzar qualsevol auricular de Google Cardboard compatible per a visualitzar aquest contingut en VR.","refresh-downloaded":"Actualitzaci\u00f3","use-default-cardboard":"\u00das per defecte",
"enable-audio-prompt":"Activar \u00e0udio?"},"ru-ru":{mute:"\u0411\u0435\u0437 \u0437\u0432\u0443\u043a\u0430","cardboard-v1":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Cardboard \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.",
"download-tour":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0440  \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f","change-to-drag-and-release":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435",
accept:"\u041f\u0440\u0438\u043d\u044f\u0442\u044c",download:"\u0421\u043a\u0430\u0447\u0430\u0442\u044c","storage-not-provided-bookmark":"\u0412 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0435.",
"dont-display-again":"\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e","web-server-required":"\u042d\u0442\u043e\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0443\u0440 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 htm-\u0444\u0430\u0439\u043b (\u0438\u043b\u0438 \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0430) \u043d\u0430 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f TourViewer.",
cancel:"\u041e\u0442\u043c\u0435\u043d\u0430","change-to-click-and-move":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0430\u0436\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","use-safari-for-vr":"\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c Safari \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 VR.",
"exit-fullscreen":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430",no:"\u043d\u0435\u0442","download-failed":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438","giroscope-disabled-http":"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0447\u0435\u0440\u0435\u0437 http, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 https, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445.",
"cookies-notice":"\u042d\u0442\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b cookie \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c. <a>\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 cookie</a>.",
"use-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","rotate-device":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e",
"exit-vr":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 VR",reject:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c","disable-measure":"\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f",downloading:"\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435","cardboard-v2":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Cardboard v2 \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.",
"enable-video-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?","storage-not-provided-launch-from-desktop":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435..",
downloaded:"\u042d\u0442\u043e\u0442 \u0442\u0443\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.","samsung-internet-vr-app-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.",
"samsung-internet-vr-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 \u0441\u0435\u0439\u0447\u0430\u0441.",
"enable-video-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430.",
"\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\u00bb \u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e."],
"storage-not-provided-launch-from-homescreen":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","enter-fullscreen":"\u0412\u043e\u0439\u0442\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c",
"use-cardboard-v2":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard v2",unmute:"\u0421\u043e \u0437\u0432\u0443\u043a\u043e\u043c","enter-vr":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c VR \u043a\u043e\u043d\u0442\u0435\u043d\u0442","enable-measure":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f","use-cardboard-info":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR.",
"refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","use-default-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","enable-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e?"},"nn-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.",
"download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",
download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.",
"cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k <a>retningslinjer for informasjonskapsler</a>.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned",
"cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.",
"samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],
"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard",
"enable-audio-prompt":"Aktivere audio?"},"es-es":{mute:"Silenciar","cardboard-v1":"Si no esta seguro de que versi\u00f3n de Cardboard debe usar escoja la selecci\u00f3n de hotspot por defecto. Solo tendr\u00e1 que apuntar al hotspot y esperar para que se ejecute la acci\u00f3n.","download-tour":"Descargar el tour para reproducirlo sin conexi\u00f3n","change-to-drag-and-release":"Cambiar el modo de control a arrastrar y soltar",accept:"Aceptar","use-cardboard-v2":"Usar Cardboard v2","storage-not-provided-bookmark":"Almacenamiento persistente denagado. Intente a\u00f1adir la p\u00e1gina a los marcadores y recargarla.",
"dont-display-again":"No volver a mostrar esta informaci\u00f3n","web-server-required":"Este tour virtual no puede reproducirse desde una unidad local. Por favor s\u00fabalo a internet y pruebe de nuevo.\nSi lo prefiere puede arrastrar el archivo html o la carpeta con el tour sobre el icono de la aplicaci\u00f3n Tour Viewer de su escritorio.",download:"Descargar","change-to-click-and-move":"Cambiar el modo de control a pulsar y mover",yes:"si","delete-downloaded":"Borrar","use-safari-for-vr":"Recomendamos Safari para ver este tour en modo VR",
"exit-fullscreen":"Salir de pantalla completa",no:"no","download-failed":"La descarga ha fallado","giroscope-disabled-http":"Est\u00e1 accediendo a esta p\u00e1gina web por http por lo que el acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabilitado, por favor acceda por https.","cookies-notice":"Esta p\u00e1gina usa cookies para recolectar estad\u00edsticas de uso. Para m\u00e1s informaci\u00f3n, visite la <a>Pol\u00edtica de Cookies</a>.","use-cardboard":"Usar Cardboard",
"launch-default-browser":"Lanzar en el navegador por defecto","rotate-device":"Por favor, gire el dispositivo","exit-vr":"Salir de VR","storage-not-provided-launch-from-desktop":"Por favor lance el tour desde el escritorio para descargarlo.","disable-measure":"Stop measuring",cancel:"Cancel",downloading:"Descargando","cardboard-v2":"Si tiene unas gafas Cardboard v2, que vienen con un bot\u00f3n, puede apuntar al hotspot y pulsar el bot\u00f3n para que se ejecute su acci\u00f3n.","enable-video-audio-prompt":"\u00bfActivar v\u00eddeo y audio?",
reject:"Rechazar",downloaded:"Este tour esta descargado para reproducirlo sin conexi\u00f3n.","samsung-internet-vr-app-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, necesita hacer Samsung Internet su navegador por defecto.","samsung-internet-vr-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, solo tiene que poner ahora el dispositivo en las gafas.",
"enable-video-prompt":"\u00bfActivar v\u00eddeo?","giroscope-disabled-safari-request-permission":["El acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabiltado para este sitio.","Para ver correctamente la p\u00e1gina por favor pulse Continuar y acepte la petici\u00f3n de permiso si se muestra."],"storage-not-provided-launch-from-homescreen":"Por favor lance el tour desde el icono de la pantalla de inicio para descargarlo.","enter-fullscreen":"Mostrar en pantalla completa",
unmute:"Habilitar sonido","enter-vr":"Entrar al contenido VR","enable-measure":"Start measuring","use-cardboard-info":"Puede usar unas gafas compatibles con Google Cardboard para ver este contenido en VR.","refresh-downloaded":"Actualizar","use-default-cardboard":"Usar versi\u00f3n por defecto","enable-audio-prompt":"\u00bfActivar audio?"},"el-gr":{mute:"\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ae\u03c7\u03bf","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03cd\u03c1\u03b5\u03c4\u03b5 \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03c0\u03b5\u03bb\u03b5\u03c5\u03b8\u03b5\u03c1\u03ce\u03c3\u03b5\u03c4\u03b5",accept:"\u0391\u03c0\u03bf\u03b4\u03ad\u03c7\u03bf\u03bc\u03b1\u03b9",download:"Download",
"storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03ba\u03bb\u03b9\u03ba \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03b9\u03bd\u03b7\u03b8\u03b5\u03af\u03c4\u03b5",
yes:"\u039d\u03b1\u03af","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0388\u03be\u03bf\u03b4\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",no:"\u03cc\u03c7\u03b9","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"\u0391\u03c5\u03c4\u03ae \u03b7 \u03b9\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af cookie \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03c3\u03c5\u03bb\u03bb\u03bf\u03b3\u03ae \u03c3\u03c4\u03b1\u03c4\u03b9\u03c3\u03c4\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03c9\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2. \u0393\u03b9\u03b1 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2, \u03b5\u03c0\u03b9\u03c3\u03ba\u03b5\u03c6\u03b8\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd <a> \u03a0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae cookie </a>.",
"use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u0391\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03c9","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5 \u03ba\u03b1\u03b9 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;",
"storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",
"use-cardboard-v2":"Use Cardboard v2",unmute:"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5;"},
"da-dk":{mute:"Deaktiver lyd","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Skift kontroltilstand for at tr\u00e6kke og slippe",accept:"Acceptere",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again",
"web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Skift kontroltilstand for at klikke og flytte",yes:"Ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Afslut fuldsk\u00e6rm",no:"ingen","download-failed":"Download failed",
"giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denne webside bruger cookies til at indsamle brugsstatistikker. For mere information, se venligst <a> Cookiepolitik </a>.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Afvise","disable-measure":"Stop measuring",
downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktiv\u00e9r lyd og video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Aktiv\u00e9r video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],
"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Indtast fuldsk\u00e6rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktiv\u00e9r lyd","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktiv\u00e9r lyd?"},"pl-pl":{mute:"Wycisz",
"cardboard-v1":"Je\u015bli nie masz pewno\u015bci, kt\u00f3rej wersji Cardboard u\u017cywasz, wybierz domy\u015blne sterowanie hotspotem. Nast\u0119pnie skieruj wzrok na hotspot i poczekaj na uruchomienie ich dzia\u0142ania.","download-tour":"Pobierz spacer do odtwarzania w trybie offline","change-to-drag-and-release":"Zmie\u0144 tryb na Przeci\u0105gnij i Upu\u015b\u0107",accept:"Zaakceptowa\u0107",cancel:"Anuluj","storage-not-provided-bookmark":"Odmowa zapisu w pami\u0119ci sta\u0142ej. Spr\u00f3buj doda\u0107 stron\u0119 do zak\u0142adek i za\u0142aduj j\u0105 ponownie.",
"dont-display-again":"Nie wy\u015bwietlaj tego ponownie","web-server-required":"Nie mo\u017cna odtworzy\u0107 tego spaceru z dysku lokalnego. Prze\u015blij go do internetu i spr\u00f3buj ponownie.\nMo\u017cesz te\u017c przeci\u0105gn\u0105\u0107 plik htm (lub ca\u0142y folder spaceru) na ikon\u0119 aplikacji TourViewer.",download:"Pobierz","change-to-click-and-move":"Zmie\u0144 tryb na to Kliknij i Przenie\u015b",yes:"tak","delete-downloaded":"Usu\u0144","use-safari-for-vr":"Zalecamy Safari, jako przegl\u0105dark\u0119 spacer\u00f3w w trybie VR",
"exit-fullscreen":"Wyjd\u017a z trybu pe\u0142nego ekranu",no:"nie","download-failed":"Pobieranie nie powiod\u0142o si\u0119","giroscope-disabled-http":"To jest dost\u0119p za po\u015brednictwem protoko\u0142u http, wi\u0119c dost\u0119p do ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone. Prze\u0142\u0105cz si\u0119\u00a0na protok\u00f3\u0142 https, aby je w\u0142\u0105czy\u0107.","cookies-notice":"Ta strona u\u017cywa plik\u00f3w cookie do zbierania statystyk u\u017cytkowania. Aby uzyska\u0107 wi\u0119cej informacji, odwied\u017a <a>Zasady dotycz\u0105ce plik\u00f3w cookie</a>.",
"use-cardboard":"U\u017cyj Cardboard","launch-default-browser":"Uruchom w domy\u015blnej przegl\u0105darce","rotate-device":"Obr\u00f3\u0107 urz\u0105dzenie","exit-vr":"Wyjd\u017a z VR","storage-not-provided-launch-from-desktop":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 pulpitu.","disable-measure":"Stop measuring",downloading:"Pobieranie","cardboard-v2":"Je\u015bli masz okulary Cardboard v2, kt\u00f3re maj\u0105 przycisk, mo\u017cesz spojrze\u0107 na hotspot i nacisn\u0105\u0107 przycisk, aby uruchomi\u0107 ich dzia\u0142anie.",
"enable-video-audio-prompt":"W\u0142\u0105czy\u0107 video i d\u017awi\u0119k?",reject:"Odrzuca\u0107",downloaded:"Spacer jest pobierany do odtwarzania w trybie offline.","samsung-internet-vr-app-info":"Je\u015bli masz okulary zgodne z Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, mo\u017cesz je u\u017cy\u0107 do przegl\u0105dania zawarto\u015bci w VR. Musisz w tym przypadku ustawi\u0107 Samsung Internet jako domy\u015bln\u0105 przegl\u0105dark\u0119.","samsung-internet-vr-info":"Je\u015bli masz okulary Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, to mo\u017cesz u\u017cy\u0107 ich do przegl\u0105dania zawarto\u015bci w VR. Umie\u015b\u0107 teraz telefon w okularach Gear VR.",
"enable-video-prompt":"W\u0142\u0105czy\u0107 video?","giroscope-disabled-safari-request-permission":["Dost\u0119p do funkcji ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone dla tej strony.","Aby poprawnie wy\u015bwietli\u0107 stron\u0119, kliknij kontynuuj i zaakceptuj wszystkie zgody."],"storage-not-provided-launch-from-homescreen":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 strony g\u0142\u00f3wnej.","enter-fullscreen":"Uruchom pe\u0142ny ekran","use-cardboard-v2":"U\u017cyj Cardboard v2",
unmute:"Wy\u0142\u0105cz Wycisz","enter-vr":"Wejd\u017a do VR","enable-measure":"Start measuring","use-cardboard-info":"Do wy\u015bwietlania w VR mo\u017cesz u\u017cy\u0107 oklular\u00f3w zgodnych z Google Cardboard.","refresh-downloaded":"Od\u015bwie\u017c","use-default-cardboard":"U\u017cyj Domy\u015blnych","enable-audio-prompt":"W\u0142\u0105czy\u0107 d\u017awi\u0119k?"},"fr-fr":{mute:"Couper le son","cardboard-v1":"Si vous n'\u00eates pas s\u00fbr de la version de votre Cardboard, s\u00e9lectionnez le contr\u00f4le de hotspot par d\u00e9faut. Ensuite, vous n'aurez qu'\u00e0 fixer un hotspot du regard et attendre que l'action se d\u00e9clenche.",
"download-tour":"T\u00e9l\u00e9charger la visite pour jouer hors ligne","change-to-drag-and-release":"Changer le mode de contr\u00f4le en glisser-d\u00e9poser",accept:"Accepter",cancel:"Annuler","storage-not-provided-bookmark":"Stockage persistant refus\u00e9. Essayez de mettre cette page Web en signet et de la recharger.","dont-display-again":"Ne plus afficher ces informations","web-server-required":"Cette visite virtuelle ne peut pas \u00eatre lue \u00e0 partir d'un lecteur local. Veuillez la t\u00e9l\u00e9charger sur Internet et r\u00e9essayer.\nSi vous pr\u00e9f\u00e9rez, faites glisser le fichier htm (ou l'int\u00e9gralit\u00e9 du dossier de la visite) sur l'ic\u00f4ne de l'application TourViewer.",
download:"T\u00e9l\u00e9charger","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"Oui","delete-downloaded":"Supprimer","use-safari-for-vr":"Nous recommandons Safari pour visionner cette visite en mode VR","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"Non","download-failed":"\u00c9chec du t\u00e9l\u00e9chargement","giroscope-disabled-http":"Vous acc\u00e9dez \u00e0 cette page Web via http, donc l'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s, veuillez y acc\u00e9der via https pour les activer.",
"cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la <a>Politique en mati\u00e8re de cookies</a>.","use-cardboard":"Utiliser le Cardboard","launch-default-browser":"Lancer dans le navigateur par d\u00e9faut","rotate-device":"Veuillez faire pivoter votre appareil","exit-vr":"Quitter la r\u00e9alit\u00e9 virtuelle","storage-not-provided-launch-from-desktop":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne du bureau pour t\u00e9l\u00e9charger.",
"disable-measure":"Arr\u00eatez de mesurer",downloading:"T\u00e9l\u00e9chargement","cardboard-v2":"Si vous disposez d'un casque Cardboard v2, qui est \u00e9quip\u00e9 d'un bouton, vous pouvez fixer un hotspot du regard et appuyer sur le bouton pour d\u00e9clencher son action.","enable-video-audio-prompt":"Activer la vid\u00e9o et l'audio?",reject:"Rejeter",downloaded:"Cette visite est t\u00e9l\u00e9charg\u00e9e pour jouer hors ligne.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.",
"samsung-internet-vr-info":"Si vous disposez d'un casque Gear VR compatible avec cet appareil et que vous avez install\u00e9 Samsung Internet pour VR, vous pouvez \u00e9galement l'utiliser pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle. Il vous suffit de placer maintenant le t\u00e9l\u00e9phone mobile sur le casque.","enable-video-prompt":"Activer la vid\u00e9o?","giroscope-disabled-safari-request-permission":["L'acc\u00e8s au mouvement et \u00e0 l'orientation de votre appareil et le mode VR sont d\u00e9sactiv\u00e9s pour ce site.",
"Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si vous y \u00eates invit\u00e9."],"storage-not-provided-launch-from-homescreen":"Veuillez relancer la visite \u00e0 partir de l'ic\u00f4ne de l'\u00e9cran d'accueil pour t\u00e9l\u00e9charger.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Utiliser le Cardboard v2",unmute:"R\u00e9tablir le son","enter-vr":"Entrez le contenu VR","enable-measure":"Commencer \u00e0 mesurer",
"use-cardboard-info":"Vous pouvez utiliser n'importe quel casque Google Cardboard compatible pour visualiser ce contenu en r\u00e9alit\u00e9 virtuelle.","refresh-downloaded":"Rafra\u00eechir","use-default-cardboard":"Utiliser par d\u00e9faut","enable-audio-prompt":"Activer le son?"},"de-de":{mute:"Deaktiviere Audio","cardboard-v1":"Wenn Sie sich nicht sicher sind, welche Cardboard-Version Sie verwenden, w\u00e4hlen Sie die Standard-Hotspot-Steuerung. Sie schauen dann einfach auf einen Hotspot und warten, bis die jeweilige Aktion ausgel\u00f6st wird.",
"download-tour":"Tour zum Offline-Abspielen herunterladen","giroscope-disabled-safari-request-permission":["Der Bewegungs- und Orientierungszugriff, sowie VR Modus Ihres Ger\u00e4ts ist f\u00fcr diese Seite deaktiviert.","Um diese Webseite korrekt anzuzeigen, klicken Sie auf Weiter und akzeptieren Sie die Erlaubnisanfrage, wenn Sie dazu aufgefordert werden."],accept:"Akzeptieren",download:"Download",downloading:"Downloading","dont-display-again":"Diese Info nicht mehr anzeigen","web-server-required":"Diese Virtual Tour kann nicht von einem lokalen Laufwerk abgespielt werden. Laden Sie Ihre Tour ins Internet und versuchen Sie es erneut.\nAlternativ, ziehen Sie die htm Datei (oder den ganzen Tour Ordner) auf das Icon der Tour Viewer App, um die Tour direkt lokal abzuspielen.",
cancel:"Abbrechen","change-to-click-and-move":"\u00c4ndern Sie den Steuerungsmodus, um zu klicken und zu drehen",yes:"ja","delete-downloaded":"L\u00f6schen","use-safari-for-vr":"Wir empfehlen Safari, um diese Tour im VR-Modus zu sehen","exit-fullscreen":"Vollbild verlassen",no:"nein","storage-not-provided-bookmark":"Dauerhafte Speicherung verweigert. Versuchen Sie, diese Seite als Lesezeichen zu speichern und erneut zu laden.","download-failed":"Download fehlgeschlagen","giroscope-disabled-http":"Der Bewegungs- und Ausrichtungsszugriff Ihres Ger\u00e4ts ist f\u00fcr diese Webseite deaktiviert. Greifen Sie bitte \u00fcber https darauf zu.",
"cookies-notice":"Diese Webseite verwendet Cookies, um Nutzungsstatistiken zu sammeln. Weitere Informationen finden Sie in der <a>Cookie-Richtlinie</a>.","use-cardboard":"Cardboard verwenden","launch-default-browser":"Im Standardbrowser starten","rotate-device":"Bitte drehen Sie Ihr Ger\u00e4t","exit-vr":"VR verlassen",reject:"Ablehnen","disable-measure":"Messung beenden","change-to-drag-and-release":"\u00c4ndern Sie den Steuerungsmodus zu Ziehen und Loslassen","cardboard-v2":"Wenn Sie ein Cardboard v2-Headset haben, das mit einer Taste ausgestattet ist, k\u00f6nnen Sie auf einen Hotspot blicken und die Taste dr\u00fccken, um dessen Aktion auszul\u00f6sen.",
"enable-video-audio-prompt":"Video und Audio aktivieren?","storage-not-provided-launch-from-desktop":"Bitte starten Sie die Tour erneut \u00fcber das Desktop-Symbol, um sie herunterzuladen.",downloaded:"Diese Tour ist zum Offline-Abspielen heruntergeladen.","samsung-internet-vr-app-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR anzusehen. Machen Sie dazu Samsung Internet zu Ihrem Standardbrowser.",
"samsung-internet-vr-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR zu sehen. Setzen Sie dazu nun das Mobiltelefon auf das Headset.","enable-video-prompt":"Video aktivieren?","storage-not-provided-launch-from-homescreen":"Bitte starten Sie die Tour erneut \u00fcber das Symbol auf dem Startbildschirm, um sie herunterzuladen.","enter-fullscreen":"Vollbildmodus aktivieren",
"use-cardboard-v2":"Cardboard v2 verwenden",unmute:"Audio aktivieren","enter-vr":"VR Inhalt eingeben","enable-measure":"Messung beginnen","use-cardboard-info":"Sie k\u00f6nnen jedes kompatible Google Cardboard-Headset verwenden, um diese Inhalte in VR zu sehen.","refresh-downloaded":"Aktualisieren","use-default-cardboard":"Standard verwenden","enable-audio-prompt":"Audio aktivieren?"},"tr-tr":{mute:"Sesi devre d\u0131s\u0131 b\u0131rakmak","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.",
"download-tour":"Download Tour for offline playing","change-to-drag-and-release":"S\u00fcr\u00fckleyip b\u0131rakmak i\u00e7in kontrol modunu de\u011fi\u015ftirin",accept:"Kabul etmek",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",
cancel:"Cancel","change-to-click-and-move":"T\u0131klamak ve ta\u015f\u0131mak i\u00e7in kontrol modunu de\u011fi\u015ftirin",yes:"evet","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Tam ekrandan \u00e7\u0131k",no:"hay\u0131r","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.",
"cookies-notice":"Bu web sayfas\u0131, kullan\u0131m istatistiklerini toplamak i\u00e7in tan\u0131mlama bilgileri kullan\u0131r. Daha fazla bilgi i\u00e7in l\u00fctfen <a>\u00c7erez Politikas\u0131n\u0131</a> ziyaret edin.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Reddet","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.",
"enable-video-audio-prompt":"Ses ve video etkinle\u015ftirilsin mi?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.",
"enable-video-prompt":"Video aktif edilsin mi?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Tam ekran yap","use-cardboard-v2":"Use Cardboard v2",unmute:"Sesi etkinle\u015ftir","enter-vr":"Enter VR content",
"enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Ses aktif edilsin mi?"}}});
define("pd",["require","lE","iC","mB"],function(a){function e(d){return m[c][d]||m.en[d]||d}var l=a("lE"),m=a("iC"),k=a("mB"),b;for(b in m)m[b.substr(0,2)]=m[b];m.en["giroscope-disabled-safari-toggle-on"]='<div>Your device\'s motion and orientation access and VR mode are disabled for this site.</div>\n<div>To properly see this webpage, please enable it:</div>\n<ul style="display:inline-block; text-align:left;">\n<li>Access you device\'s settings: "Settings > Safari > Privacy & Security" and toggle on: "Motion & Orientation Access".</li>\n<li>Refresh the browser.</li>\n</ul>';m["zh-hk"]=
m["zh-mo"]=m["zh-tw"];m.no=m.nn;var h=function(){var d=window.navigator,f=["language","browserLanguage","systemLanguage","userLanguage"],p,q,n=[];(p=k.getQueryParameter("language"))&&n.push(p.toLowerCase());var r=d.languages;if(Array.isArray(r))for(p=0;p<r.length;p++)(q=r[p])&&q.length&&(q=q.toLowerCase(),-1==n.indexOf(q)&&n.push(q));for(p=0;p<f.length;p++)(q=d[f[p]])&&q.length&&(q=q.toLowerCase(),-1==n.indexOf(q)&&n.push(q));return n}(),g=Object.keys(m),c=function(){for(var d=0;d<h.length;d++){var f=
h[d];if(0<=g.indexOf(f))return f;f=f.substr(0,2);if(0<=g.indexOf(f))return f}return"en"}();e.log=function(){l.log("translation lang: "+c);l.log("browser lang: "+h.join(", "))};return e});
define("pu",["require"],function(){var a={};a.src=a.aab="data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=";return a});
define("eg",["require","pu","v"],function(a){function e(q){var n=document.createElement("video");n.setAttribute("webkit-playsinline","true");n.setAttribute("playsinline","true");n.src=h.src;var r=n.play();if(r){var t=!1;r.then(function(){t=!0;n.pause();q(!1)})["catch"](function(){t||q(!0)})}else n.pause(),q(!1)}function l(q){var n=!1,r=document.createElement("video");r.setAttribute("webkit-playsinline","true");r.setAttribute("playsinline","true");r.src="";(r=r.play())?r["catch"](function(t){n="NotAllowedError"!==
t.name}).then(function(){q(!n)}):q(!0)}function m(q){p=q;d=!0;k()}function k(){for(;f.length;)f.shift().call(window,p)}function b(){c||(c=!0,g.browser()==g.ml&&11<=g.dia()?m(!0):g.browser()==g.ni?e(m):l(function(q){q?e(m):m(!1)}))}var h=a("pu"),g=a("v"),c=!1,d=!1,f=[],p;return{test:function(q){d||c||b();f.push(q);d&&k()}}});
define("bF",["require","pd","ml","eg"],function(a){function e(h,g){this.xE=h;this.Xo=g;this.Oq=this.Oq.bind(this);this.Pq=!1}function l(){this.Oq=this.Oq.bind(this);this.sea=this.sea.bind(this);this.C="not tested";this.$la=[];this.Pu=[];this.vY=!1;k.wait(this.sea)}var m=a("pd"),k=a("ml"),b=a("eg");l.prototype.M8a=function(){"not tested"==this.C&&(this.C="testing",b.test(function(h){this.C=h?"requires action":"allowed";this.zSa()}.bind(this)))};l.prototype.zSa=function(){"allowed"==this.C?this.Oq(!0):
this.vY&&(this.vY=!1,this.Pu.forEach(function(h){h.request()}))};l.prototype.yja=function(h){"allowed"==this.C?h.call(this,!0):this.$la.push(h)};l.prototype.request=function(h){this.Vs(h)};l.prototype.cancel=function(h){this.fC(h)};l.prototype.active=function(){return"allowed"==this.C};l.prototype.q7a=function(){"allowed"==this.C&&(this.C="requires action")};l.prototype.sea=function(){setTimeout(this.VLa.bind(this),300);this.ns(!0)};l.prototype.VLa=function(){for(;this.Pu.length;)this.Pu.pop().cancel()};
l.prototype.Vs=function(h){"testing"==this.C||"not tested"==this.C?(this.R5(h),this.vY=!0):"requires action"==this.C&&this.R5(h).request()};l.prototype.fC=function(h){"testing"==this.C||"not tested"==this.C?this.vY=!1:"requires action"==this.C&&this.R5(h).cancel()};l.prototype.Oq=function(h){var g=this.Pu;this.Pu=[];g.forEach(function(c){h||c.xE.set("mute",!0);c.cancel()});this.ns(h)};l.prototype.ns=function(h){this.C="allowed";this.$la.forEach(function(g){g.call(window,h)})};l.prototype.R5=function(h){for(var g=
null,c=0;c<this.Pu.length&&!g;c++)this.Pu[c].xE==h&&(g=this.Pu[c]);g||(g=new e(h,this.Oq),this.Pu.push(g));return g};e.prototype.request=function(){this.Pq||(this.Pq=!0,"button"==this.xE.get("mediaActivationMode")?this.xE.lJ.E5a(this.Oq):this.xE.RH.show(m("enable-audio-prompt"),this.Oq))};e.prototype.cancel=function(){this.xE.lJ.Y_a(this.Oq);this.xE.RH.hide(this.Oq)};e.prototype.Oq=function(h){this.Xo(!1!==h);this.Pq=!1};return new l});
define("gf",["require","pf","mO","bF","hq"],function(a){var e=a("pf"),l=a("mO"),m=a("bF"),k=a("hq");if(!l.Aja||!1==="AudioContext"in window)return null;var b=new AudioContext;m.yja(function(){"running"!==b.state&&b.resume()});k.bind(e.ca,function(){k.visible&&"interrupted"==b.state&&b.resume()});return b});
define("em","require gf pf v mB mO hq".split(" "),function(a){function e(g){this.Ei=this.Ei.bind(this);this.Ls=this.Ls.bind(this);this.qf=!1;this.cr=this.XV=1;this.jW=!0;this.Uy=this.FG=null;this.V=g;this.V.addEventListener("play",this.Ei,!0);this.V.addEventListener("playing",this.Ls,!0);this.Vva();this.oE()}var l=a("gf");a("pf");var m=a("v"),k=a("mB"),b=a("mO");a("hq");var h;e.prototype.clear=function(){this.V&&(this.HXa(),this.V.removeEventListener("play",this.Ei,!0),this.V.removeEventListener("playing",
this.Ls,!0),this.V=null)};e.prototype.Vva=function(){b.Aja&&m.browser()==m.ni&&m.Vb()!=m.lL&&l&&!this.FG&&this.Yy()&&(h||(h=l.createDelay(),h.delayTime.value=.3,h.connect(l.destination)),this.FG=l.createMediaElementSource(this.V),this.Uy=l.createGain(),this.FG.connect(this.Uy),this.Uy.connect(h))};e.prototype.HXa=function(){this.FG&&(this.FG.disconnect(),this.FG=null);this.Uy&&(this.Uy.disconnect(),this.Uy=null)};e.prototype.x6a=function(g){this.jW!=g&&(this.V.log("AudioController","set hasAudio: "+
g),this.jW=g,this.oE())};e.prototype.Nf=function(g){this.qf!=g&&(this.V.log("AudioController","set muted: "+g),this.qf=g,this.oE())};e.prototype.Bx=function(g){this.cr!=g&&(this.V.log("AudioController","set volume: "+g),this.cr=g,this.oE())};e.prototype.SS=function(g){this.XV!=g&&(this.V.log("AudioController","set gain: "+g),this.XV=Math.max(0,Math.min(1,g)),this.oE())};e.prototype.Ei=function(){this.oE()};e.prototype.Ls=function(){this.oE()};e.prototype.oE=function(){this.V.log("AudioController",
"updateVolume paused: "+this.V.paused+" outputVolume: "+(!this.jW||this.qf?0:this.cr*this.XV));if(!this.V.paused){var g=!this.jW||this.qf?0:this.cr*this.XV;0<g&&1>g&&this.Vva();this.Uy?(this.Uy.gain.value=g,this.V.volume=1):this.V.volume=g;this.V.muted=0==g}};e.prototype.Yy=function(){var g=this.V.currentSrc||this.V.children.length&&this.V.children[0].src||"";k.yA(g)&&(g=void 0);return g};return e});define("id",["require"],function(){return{Wn:"video",GHa:"audio"}});
define("nw","require lE pf lg ik cC gv v mB bv hq".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("ik"),b=a("cC"),h=a("gv"),g=a("v"),c=a("mB"),d=a("bv"),f=a("hq"),p=e.extend(h,function(q){h.call(this);this.V=q;this.lD=this.lD.bind(this);this.Rv=this.Rv.bind(this);this.Sl=this.Sl.bind(this);this.pD=this.pD.bind(this);this.Rj=this.Rj.bind(this);this.Wl=this.Wl.bind(this);this.Ei=this.Ei.bind(this);this.Ls=this.Ls.bind(this);this.yQ=this.yQ.bind(this);this.V.addEventListener("ended",this.Sl,
!0);this.V.addEventListener("pause",this.Wl,!1);this.V.addEventListener("stalled",this.Wl,!1);this.V.addEventListener("waiting",this.Wl,!1);this.V.addEventListener("canplay",this.lD,!0);this.V.addEventListener("canplaythrough",this.Rv,!1);this.V.addEventListener("loadedmetadata",this.Rj,!0);this.V.addEventListener("play",this.Ei,!1);this.V.addEventListener("playing",this.Ls,!1);this.V.addEventListener("error",this.pD,!1);this.a8=!1;this.C=m.W;this.qI=this.gi=null;f.bind(l.ca,this.VZa,this)});p.prototype.clear=
function(){this.V&&(this.V.removeEventListener("ended",this.Sl,!0),this.V.removeEventListener("pause",this.Wl,!1),this.V.removeEventListener("stalled",this.Wl,!1),this.V.removeEventListener("waiting",this.Wl,!1),this.V.removeEventListener("canplay",this.lD,!0),this.V.removeEventListener("canplaythrough",this.Rv,!1),this.V.removeEventListener("loadedmetadata",this.Rj,!0),this.V.removeEventListener("play",this.Ei,!1),this.V.removeEventListener("error",this.pD,!1),this.V=null)};p.prototype.play=function(){this.V.log("PlaybackController",
"play");this.qI=m.Y;this.iP()};p.prototype.stop=function(){this.V.log("PlaybackController","stop");this.qI=m.W;this.iP()};p.prototype.getState=function(){return this.gi||this.C};p.prototype.UE=function(){return this.V.readyState==this.V.HAVE_NOTHING||this.V.readyState==this.V.HAVE_METADATA||0===this.V.currentTime?!1:!0};p.prototype.iP=function(){!this.gi&&this.qI&&(this.gi=this.qI,this.qI=null,this.gi==m.Y?this.Sca():this.Rca())};p.prototype.VZa=function(){if(f.visible)this.V.log("PlaybackController",
"visibile changed to true, setting state to "+this.C),this.gi=this.C,this.gi==m.Y?this.Sca():this.Rca();else if(!this.V.paused){this.V.log("PlaybackController","paused by visibile changed to false");var q=this.V.pause();q&&q["catch"](this.pD)}};p.prototype.Yy=function(){return this.V.currentSrc||this.V.children.length&&this.V.children[0].src||""};p.prototype.Sca=function(){var q=this.Yy();this.rZ(q&&!c.yA(q));this.zU=g.browser()==g.ni;this.V.paused?(this.V.log("PlaybackController","startPlaying calling play"),
this.V.muted=!0,this.V.log("PlaybackController","this._media.play()"),(q=this.V.play())&&q["catch"](this.pD)):(this.V.log("PlaybackController","startPlaying already playing"),this.Ei())};p.prototype.Ls=function(){this.V.log("PlaybackController","onPlaying event received. Visible: "+f.visible)};p.prototype.Ei=function(){this.gi==m.Y?(this.V.log("PlaybackController","onPlay event received when waiting to play"),this.gi=null,this.C=m.Y,this.trigger(new b(p.E4)),this.iP()):this.V.log("PlaybackController",
"onPlay event received. Visible: "+f.visible)};p.prototype.Rca=function(){this.rZ(!1);this.zU=!1;if(this.V.paused)this.V.log("PlaybackController","startPausing already paused"),this.Wl();else{this.V.log("PlaybackController","startPausing calling pause");var q=this.V.pause();q&&q["catch"](this.pD)}};p.prototype.Wl=function(){this.gi==m.W?(this.V.log("PlaybackController","onPause event received when waiting to stop"),this.gi=null,this.C=m.W,this.iP()):f.visible?(this.V.log("PlaybackController","onPause event received without calling to pause"),
(this.C==m.Y&&!this.gi||this.gi==m.Y)&&!this.V.hasAttribute("loop")&&!isNaN(this.V.duration)&&this.V.currentTime==this.V.duration&&0<this.V.duration&&this.Sl(),this.yQ()):this.V.log("PlaybackController","onPause event received when not visible")};p.prototype.lD=function(){this.V.log("PlaybackController","on can play");this.yQ()};p.prototype.Rv=function(){this.V.log("PlaybackController","can play through");this.yQ();this.rZ(!1)};p.prototype.yQ=function(){if(this.Yva()){if(this.zU&&0==this.V.currentTime){this.V.log("PlaybackController",
"updatePlaying applying ios hack");this.zU=!1;try{this.V.currentTime=.3}catch(q){}}g.browser()!=g.TF&&this.Vua()}};p.prototype.Yva=function(){return this.C==m.Y&&f.visible&&this.V.paused&&3<=this.V.readyState};p.prototype.Vua=function(q){this.Wua||(q?this.Yva()&&(this.V.log("PlaybackController","updatePlaying retrying play"),this.gi=m.Y,this.Sca()):this.Wua=setTimeout(function(){this.Wua=null;this.Vua(!0)}.bind(this),500))};p.prototype.pD=function(){this.gi==m.Y&&(this.V.log("PlaybackController",
"onError waiting to play"),this.gi=null,this.qI?this.iP():g.browser()==g.ni?this.trigger(new b(p.h4)):this.gi=m.Y)};p.prototype.Rj=function(){this.V.log("PlaybackController","on loaded metadata");!isNaN(this.V.duration)&&this.V.currentTime==this.V.duration&&0<this.V.duration&&this.Sl()};p.prototype.Sl=function(){this.V.log("PlaybackController","onEnded");this.zU=!1;if(this.C==m.Y&&!this.gi||this.gi==m.W)this.V.log("PlaybackController","onEnded finalizing video"),this.rZ(!1),this.gi=m.W,this.Rca(),
this.trigger(new b(p.ik))};p.prototype.rZ=function(q){this.a8!=q&&(this.V.log("PlaybackController","downloading changed to: "+q),(this.a8=q)?d.t8a(k.hka):d.s8a(k.hka))};p.h4="deactivated";p.ik="end";p.E4="play";return p});
define("B",["require","lE","pf","cC","gv"],function(a){var e=a("lE"),l=a("pf");a("cC");var m=a("gv");a=e.extend(m,function(k){m.call(this);this.Rj=this.Rj.bind(this);this.maa=this.maa.bind(this);this.Ci=this.Ci.bind(this);this.V=k;this.Rk=null;this.Ae=[];this.V.addEventListener("loadedmetadata",this.Rj,!0);this.V.textTracks.addEventListener("addtrack",this.maa,!1)});a.prototype.set=function(k){k&&this.uKa(k)};a.prototype.clear=function(){this.TUa()};a.prototype.vR=function(){var k=this.Rk&&this.Rk.track.activeCues;
k&&(k=Array.prototype.slice.call(k,0));return k||[]};a.prototype.Rj=function(){this.Rxa()};a.prototype.maa=function(){this.Rxa()};a.prototype.Ci=function(){this.nva(this.Rk.track.activeCues)};a.prototype.nva=function(k){k||(k=[]);if(0!=this.Ae.length||0!=k.length)this.Ae=Array.prototype.slice.call(k),this.trigger(l.hk,this.Ae)};a.prototype.uKa=function(k){this.V.log("TextTracksController","add text track src: "+k);this.Rk=document.createElement("track");this.Rk.kind="subtitles";this.Rk.src=k;this.V.appendChild(this.Rk)};
a.prototype.TUa=function(){this.Rk&&(this.V.log("TextTracksController","remove text track"),this.Rk.track.removeEventListener("cuechange",this.Ci),this.Rk.track.mode="disabled",this.Rk.src="",this.V.removeChild(this.Rk),this.Rk=null,this.nva([]))};a.prototype.Rxa=function(){for(var k=0;k<this.V.textTracks.length;k++){var b=this.V.textTracks[k];b.removeEventListener("cuechange",this.Ci);b.mode=this.Rk&&b==this.Rk.track?"hidden":"disabled";"hidden"==b.mode&&b.addEventListener("cuechange",this.Ci)}};
return a});
define("ir",["require","exports","mB"],function(a,e,l){return function(){function m(){}m.is=function(k,b){k=l.parse(k).b1a;return-1!=b.indexOf(k)};m.yA=function(k,b){return!!k&&b.some(function(h){return 0===k.indexOf(h)})};m.Gka=[".mp4",".m4v",".m4p"];m.tIa=[".hevc"];m.nka=[".mov"];m.BJa=[".webm"];m.NIa=[".ogv",".ogg"];m.HLS=[".m3u8"];m.EJa=[".json"];m.wIa=".jpg .jpeg .png .webp .gif .avif .apng .bmp".split(" ");m.Wn=".m3u8 .mpd .mp4 .m4v .m4p .webm .ogv .ogg .mpg .mpeg .m3u8 .mpd".split(" ");m.xIa=
["data:image/"];return m}()});
define("eD","require lE pf cC gv v ir".split(" "),function(a){var e=a("lE");a("pf");var l=a("cC"),m=a("gv"),k=a("v"),b=a("ir"),h=e.extend(m,function(g){m.call(this);this.V=g;this.Rv=this.Rv.bind(this);this.Wl=this.Wl.bind(this);this.Ei=this.Ei.bind(this);this.Rj=this.Rj.bind(this);this.Sl=this.Sl.bind(this);this.dY=this.dY.bind(this);this.ef=this.ef.bind(this);this.F$=this.XH=this.eE=void 0;this.lda=0;this.V.addEventListener("ended",this.Sl,!0);this.V.addEventListener("pause",this.Wl,!1);this.V.addEventListener("canplaythrough",
this.Rv,!1);this.V.addEventListener("timeupdate",this.dY,!1);this.V.addEventListener("play",this.Ei,!1);this.V.addEventListener("playing",this.Ls,!1)});h.prototype.clear=function(){this.V&&(this.V.removeEventListener("ended",this.Sl,!0),this.V.removeEventListener("pause",this.Wl,!1),this.V.removeEventListener("canplaythrough",this.Rv,!1),this.V.removeEventListener("timeupdate",this.dY,!1),this.V.removeEventListener("play",this.Ei,!1),this.V.removeEventListener("playing",this.Ls,!1),this.V=null,this.eE&&
clearInterval(this.eE))};h.prototype.setTime=function(g){if(!this.V.srcObject){this.lda=0;this.VW=void 0;this.V.log("TimeController","setTime: "+g);k.cza()&&!b.is(this.Yy(),b.HLS)?this.UL=g||0:this.UL=void 0;try{this.V.currentTime=g}catch(c){}k.browser()==k.Mx||k.browser()==k.TF||k.Vb()==k.VF&&0==g||(this.XH=g,this.pxa())}};h.prototype.getTime=function(){return this.XH||this.V.currentTime||0};h.prototype.ji=function(){return this.V.duration||0};h.prototype.Ei=function(){this.Aca(!0)};h.prototype.Wl=
function(){this.Aca(!1);this.VW=void 0};h.prototype.Rv=function(){this.V.log("TimeController","on can play through");this.pxa()};h.prototype.Sl=function(){this.UL=void 0;this.Aca(!1)};h.prototype.Rj=function(){this.trigger(new l(h.Ti))};h.prototype.pxa=function(){if(this.V.readyState>=this.V.HAVE_ENOUGH_DATA&&void 0!==this.XH){this.V.log("TimeController","updateCurrentTime when can play through set time to: "+this.XH);try{this.V.currentTime=this.XH}catch(g){}this.XH=void 0}};h.prototype.ef=function(){this.trigger(new l(h.Of))};
h.prototype.dY=function(){if(k.cza()&&!k.S2a()&&!this.V.paused&&this.V.readyState>=this.V.HAVE_ENOUGH_DATA){var g=(new Date).getTime();this.VW||(this.VW=g);this.F$&&500<g-this.F$&&(this.lda++,.4<this.lda/(.001*(g-this.VW))&&k.w7a());this.F$=g}if(void 0!==this.UL&&this.V.currentTime>this.UL){this.UL=void 0;try{this.V.currentTime-=.01}catch(c){}}this.ef()};h.prototype.Aca=function(g){!!this.eE!=g&&(this.eE?(clearInterval(this.eE),this.eE=null):this.eE=setInterval(this.ef,16))};h.prototype.Yy=function(){return this.V.currentSrc||
this.V.children.length&&this.V.children[0].src||""};h.Of="time update";h.Ti="duration update";return h});
define("lY","require jquery.mod lE gf v mO mB".split(" "),function(a){function e(){}a("jquery.mod");var l=a("lE"),m=a("gf"),k=a("v"),b=a("mO");a=a("mB");e.Hea=!1;e.R7a=function(){e.Hea=!0};e.OQa=function(){window.MediaSource=window.MediaSource||window.i$a;return window.MediaSource&&"function"===typeof window.MediaSource.isTypeSupported&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};e.YQa=function(){if(k.browser()==k.ni){var c=k.yga();if(10<=c&&11>c||11.3<=c)return!0}return!1};
e.PQa=function(){return k.browser()==k.ml||k.browser()==k.ni?!0:!1};var h;e.fza=function(c){try{return h||(h=document.createElement("audio")),!!h.canPlayType(c).replace(/^no$/,"")}catch(d){}return!1};var g;e.FJ=function(c){try{return g||(g=document.createElement("video"),g.setAttribute("webkit-playsinline","true"),g.setAttribute("playsinline","true")),!!g.canPlayType(c).replace(/^no$/,"")}catch(d){}return!1};e.P_a=function(){return k.browser()==k.ni?15<=k.yga()||m?!0:!1:!0};e.QQa=function(){try{if(document.createElement("canvas").getContext("webgl"))return!0}catch(c){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return!0}catch(c){}return!1};
e.AGa=function(c,d,f,p){if(b.vJa)return!0;if(k.td()==k.ri)if(!f||30<f){if(3168>=c&&1584>=d)return!0}else{if(4096>=c&&2048>=d)return!0}else if((k.qK()||k.ZE())&&!k.ur())if("h264"==p){if(4400>=c&&4400>=d||6200>=c&&3100>=d)return!0}else{if(5760>=c&&5760>=d||8192>=c&&4096>=d)return!0}else if(k.L3a()&&!k.ur())if(!f||30<f){if(2880>=c&&2880>=d||4096>=c&&2048>=d)return!0}else{if(4096>=c&&4096>=d||5760>=c&&2880>=d||2880>=c&&5760>=d)return!0}else if((k.qK()||k.ZE())&&k.Iga()){if("h264"==p&&(5760>=c&&5760>=
d||7680>=c&&3840>=d)||3840>=c&&2160>=d)return!0}else if(k.sK())if("h264"==p){if(5760>=c&&5760>=d||7680>=c&&3840>=d)return!0}else{if(4400>=c&&2200>=d)return!0}else if(k.lb()){if(3840>=c&&2160>=d)return!0}else if(4096>=c&&2048>=d)return!0;return!1};e.R_a=function(){return k.sK()||(k.qK()||k.ZE())&&k.Vb()==k.sp||!k.lb()&&e.Hea&&k.browser()==k.Hm?!0:!1};e.zGa=function(c){return e.AGa(c.get("width"),c.get("height"),c.get("framerate"),c.get("codec"))};e.Q_a=function(){return e.Hea?!0:!1};e.dEa=!b.oIa&&
b.nIa?1:2;e.S_a=function(){return void 0!==b.Xja?b.Xja:k.ZE()||k.sK()||k.F3a()||k.G3a()||k.QBa()||k.qK()&&!k.ur()||!k.yf()&&k.td()!=k.Kx&&k.td()!=k.ri?!0:!1};e.H8a=function(c,d){return e.AGa(c,d,30)};e.log=function(){l.log("webgl: "+e.Rr);l.log("html5 audio: "+e.xBa);l.log("html5 video: "+e.ABa)};e.BXa=function(){return["webgl:"+e.Rr,"html5audio:"+e.xBa,"html5video:"+e.ABa].join(" ")};e.zBa=e.fza('audio/ogg; codecs="vorbis"');e.yBa=e.fza("audio/mpeg");e.xBa=e.zBa||e.yBa;e.wga=e.FJ('video/ogg; codecs="theora"');
e.FJ('video/mp4; codecs="avc1.42E01E"');e.xga=e.FJ('video/webm; codecs="vp8, vorbis"');e.a3a=e.FJ('video/mp4; codecs="hev1"');e.e1=e.FJ("video/mp4");e.b3a=e.FJ("video/quicktime");e.c3a=e.YQa();e.kBa=e.PQa();e.K2a=e.kBa||e.e1&&e.OQa();e.ABa=e.wga||e.e1||e.xga;e.Rr=e.QQa();a.rj("debug")&&a.rj("capabilities")&&e.log();e.summary=e.BXa();return e});
define("cz",["require","exports","mB"],function(a,e,l){a=function(){function m(){this.G1=this.Uga=null;this.c0=[];this.bS=!1}m.prototype.initialize=function(k,b){this.Uga=l.Dx(k);this.G1=b;this.M_=this.M_.bind(this);this.ia()};m.prototype.load=function(k,b){this.c0.push({call:k,context:b||window});this.aF||(this.aF=this.Epa());this.ia()};m.prototype.ki=function(){return void 0!==this.aF};m.prototype.ia=function(){0<this.c0.length&&(void 0!==this.aF?this.NNa():this.Uga&&this.GN())};m.prototype.GN=
function(){if(!this.bS&&void 0===this.aF){this.bS=!0;var k=document.createElement("script");k.type="text/javascript";k.src=this.Uga;document.getElementsByTagName("head")[0].appendChild(k);this.M_()}};m.prototype.M_=function(){var k=this.Epa();void 0===k?setTimeout(this.M_,250):(this.aF=k,this.bS=!1,this.ia())};m.prototype.Epa=function(){if(this.G1){for(var k=window,b=0;b<this.G1.length&&void 0!==k;b++)k=k[this.G1[b]];return k}};m.prototype.NNa=function(){for(;0<this.c0.length;){var k=this.c0.pop();
k.call.call(k.context,this.aF)}};return m}();e={};e.CJa=new a;e.rla=new a;e.HLS=new a;e.initialize=function(m){this.HLS.initialize(m.get(TDV.PlayerSettings.HLS_URL),["Hls"]);this.CJa.initialize(m.get(TDV.PlayerSettings.WEBVR_POLYFILL_URL),["WebVRConfig","FORCE_ENABLE_VR"]);this.rla.initialize(m.get(TDV.PlayerSettings.sla),["WebXRPolyfill"])};return e});
define("fd",["require"],function(){var a={ECa:"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU2LjM2LjEwMAAAAAAAAAAAAAAA//OEAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAAEAAABIADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV6urq6urq6urq6urq6urq6urq6urq6urq6v////////////////////////////////8AAAAATGF2YzU2LjQxAAAAAAAAAAAAAAAAJAAAAAAAAAAAASDs90hvAAAAAAAAAAAAAAAAAAAA//MUZAAAAAGkAAAAAAAAA0gAAAAATEFN//MUZAMAAAGkAAAAAAAAA0gAAAAARTMu//MUZAYAAAGkAAAAAAAAA0gAAAAAOTku//MUZAkAAAGkAAAAAAAAA0gAAAAANVVV"};a.src=
a.ECa;return a});
define("dJ","require lE pf cC gv lY mB mO ir cz fd".split(" "),function(a){function e(q,n,r){this.src=q||"";this.jl=n||"";this.startTime=r||0}var l=a("lE"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("lY"),g=a("mB"),c=a("mO"),d=a("ir"),f=a("cz"),p=a("fd");a=l.extend(b,function(q,n){b.call(this);this.V=q;this.En=n;this.N$=!1;this.JZ=[];this.pf=this.ue=this.eH=null});a.prototype.set=function(q,n,r){this.V.log("SrcSetter","set: "+q+" subtitles: "+n+" startTime: "+r);q=new e(q,n,r);this.ue&&this.ue.isEqual(q)||(!this.ue&&
this.eH&&this.eH.isEqual(q)?this.l_():(this.ue=q,this.YRa()))};a.prototype.clear=function(){this.pf&&(this.pf.destroy(),this.pf=null);this.eH=null;this.SUa();this.En.clear()};a.prototype.P2a=function(){return!!this.ue};a.prototype.YRa=function(){this.N$=!0;this.Rua(this.ue.src)&&!f.HLS.ki()?(this.V.log("SrcSetter","hls lib required"),f.HLS.load(this.Qqa,this)):this.Qqa()};a.prototype.Qqa=function(){this.N$&&(this.N$=!1,this.$Ka())};a.prototype.$Ka=function(){this.clear();this.TVa(this.WUa(this.ue.src));
this.Rua(this.ue.src)?this.OKa():this.j$(this.ue.src)?this.aLa():this.bLa()};a.prototype.OKa=function(){var q=f.HLS.aF,n=1048576*(navigator.connection?Math.max(navigator.connection.downlink,2):2),r=.66*n;this.pf=new q({debug:c.rL,startPosition:0===this.ue.startTime?-1:this.ue.startTime,playlistLoadPolicy:{"default":{maxTimeToFirstByteMs:6E4,maxLoadTimeMs:6E4}},startLevel:-1,maxMaxBufferLength:12,autoStartLoad:!1,abrEwmaDefaultEstimate:n});this.pf.loadSource(this.ue.src);this.pf.attachMedia(this.V);
var t=function(){this.pf.off(q.Events.MANIFEST_PARSED,t);var u=this.pf.levels.filter(function(w){return w.bitrate<=n});if(u.length){u.sort(function(w,x){return x.width-w.width});var v=this.pf.levels.indexOf(u[0]);this.pf.startLevel=v}u=this.pf.levels.filter(function(w){return w.bitrate<=r});u.length&&(u.sort(function(w,x){return x.width-w.width}),this.pf.config.minAutoBitrate=u[0].bitrate-1);u=this.pf.levels.filter(function(w){return h.H8a(w.width,w.height)});c.vIa&&(u.sort(function(w,x){return x.width-
w.width}),v=this.pf.levels.indexOf(u[0]),this.pf.startLevel=v);u.length&&u.length<this.pf.levels.length&&(u.sort(function(w,x){return x.width-w.width}),this.pf.autoLevelCapping=this.pf.levels.indexOf(u[0]));this.V.log("SrcSetter","bandwidth: "+n+" lowBandwidth: "+r);this.V.log("SrcSetter","levels: "+this.pf.levels);this.V.log("SrcSetter","startLevel: "+this.pf.levels[this.pf.startLevel]);this.V.log("SrcSetter","minLevel: "+this.pf.levels[this.pf.minAutoLevel]);this.pf.startLoad(0===this.ue.startTime?
-1:this.ue.startTime);0!=this.ue.startTime&&this.bt(this.ue.startTime);this.ue.jl&&this.En.set(this.ue.jl);this.eH=this.ue;this.ue=null;this.l_()}.bind(this);this.pf.on(q.Events.MANIFEST_PARSED,t);this.pf.on(q.Events.K9a,function(u,v){v.fatal&&v.type==q.ErrorTypes.P9a&&this.pf.recoverMediaError()}.bind(this))};a.prototype.bLa=function(){this.ue.src?this.jma(this.ue.src):this.jma(p.ECa,"audio/mpeg");this.ue.jl&&this.En.set(this.ue.jl);this.V.load();0!=this.ue.startTime&&this.bt(this.ue.startTime);
this.eH=this.ue;this.ue=null;this.l_()};a.prototype.aLa=function(){this.V.srcObject=this.ue.src;this.eH=this.ue;this.ue=null;this.l_()};a.prototype.l_=function(){this.V.log("SrcSetter","src ready");this.trigger(new k(m.$c))};a.prototype.Rua=function(q){return!!q&&!this.j$(q)&&d.is(q,d.HLS)&&!h.kBa};a.prototype.WUa=function(q){return!!q&&!this.j$(q)&&g.Gga(q)};a.prototype.TVa=function(q){q&&!this.V.hasAttribute("crossorigin")?this.V.setAttribute("crossorigin","anonymous"):!q&&this.V.hasAttribute("crossorigin")&&
this.V.removeAttribute("crossorigin")};a.prototype.j$=function(q){return q instanceof MediaStream};a.prototype.bt=function(q){try{this.V.currentTime=q}catch(n){}};a.prototype.jma=function(q,n){var r=document.createElement("source");n||(n=this.KQa(q));n&&(r.type=n);g.yA(q)||(q=g.iA(q,"swbypass=true"));r.src=q;this.V.appendChild(r);this.JZ.push(r)};a.prototype.SUa=function(){for(;this.JZ&&this.JZ.length;){var q=this.JZ.shift();q.src="";this.V.removeChild(q)}this.V.srcObject=null};a.prototype.KQa=function(q){switch(g.getExtension(q).toLowerCase()){case ".mp3":return"audio/mpeg";
case ".ogg":return"audio/ogg";case ".m4v":case ".mp4":return"video/mp4";case ".webm":return"video/webm";case ".ogv":return"video/ogg";case ".m3u8":return"application/x-mpegURL";case ".mov":return"video/quicktime"}};e.prototype.isEqual=function(q){return this.src==q.src&&this.jl==q.jl};return a});
define("ow","require lE pf cC gv v mO e bF ml em id nw B eD dJ".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("v"),h=a("mO"),g=a("e"),c=a("bF"),d=a("ml"),f=a("em"),p=a("id"),q=a("nw"),n=a("B"),r=a("eD"),t=a("dJ"),u=0,v=e.extend(k,function(w,x){k.call(this);this.hf=w;this.YZa=x;this.Rj=this.Rj.bind(this);this.ns=this.ns.bind(this);this.Faa=this.Faa.bind(this);this.Hq=this.cH=null;this.wY=void 0;this.mc=this.gb=null;this.Mm="inactive";this.Qo=this.Ja=this.Rd=this.xw=this.En=
null;this.qf=!1;this.Wva(document.createElement(this.hf));x&&d.wait(this.ns)});v.prototype.Wva=function(w){this.Bwa();this.mc=w;for(this.mc.parentNode&&this.mc.parentNode.removeChild(this.mc);this.mc.children.length;)this.mc.removeChild(this.mc.children[0]);this.PWa();this.mc.autoplay=!1;this.mc.autobuffer="autobuffer";this.mc.preload=b.browser()==b.ni?"metadata":"none";this.mc.setAttribute("preload",b.browser()==b.ni?"metadata":"none");this.mc.setAttribute("webkit-playsinline","true");this.mc.setAttribute("playsinline",
"true");this.mc.addEventListener("loadedmetadata",this.Rj,!0);this.En=new n(this.mc);this.En.bind(l.hk,this.Ci,this,!0);this.xw=new t(this.mc,this.En);this.xw.bind(l.$c,this.Eta,this,!0);this.Rd=new f(this.mc);this.Ja=new q(this.mc);this.Ja.bind(q.h4,this.esa,this,!0);this.Ja.bind(q.ik,this.Sl,this,!0);this.Ja.bind(q.E4,this.Ei,this,!0);this.Qo=new r(this.mc);this.Qo.bind(r.Of,this.ef,this,!0);this.Qo.bind(r.Ti,this.qn,this,!0)};v.prototype.PWa=function(){if(h.rL){var w="["+this.hf+" "+u++ +"]";this.mc.log=
function(x,y){console.log(w+"["+(new Date).toISOString().split("T")[1]+"] "+x+" "+y)}}else this.mc.log=function(){}};v.prototype.Bwa=function(){this.mc&&(this.mc.removeEventListener("loadedmetadata",this.Rj,!0),this.xw&&(this.xw.unbind(l.$c,this.Eta,this,!0),this.xw.clear(),this.xw=null),this.En&&(this.En.unbind(l.hk,this.Ci,this,!0),this.En.clear(),this.En=null),this.Rd&&(this.Rd.clear(),this.Rd=null),this.Ja&&(this.Ja.unbind(q.h4,this.esa,this,!0),this.Ja.unbind(q.ik,this.Sl,this,!0),this.Ja.unbind(q.E4,
this.Ei,this,!0),this.Ja.clear(),this.Ja=null),this.Qo&&(this.Qo.unbind(r.Of,this.ef,this,!0),this.Qo.unbind(r.Ti,this.qn,this,!0),this.Qo.clear(),this.Qo=null),this.mc=null)};v.prototype.clear=function(){this.Bwa()};v.prototype.MJ=function(w,x,y){if(this.tm()&&this.UE())try{return w.drawImage(this.mc,0,0,x,y),!0}catch(z){}w.fillRect(0,0,x,y);return!1};v.prototype.play=function(w,x,y){this.mc.log("HTMLMediaPlayer","play src: "+x.src+" subtitlesSrc: "+x.jl+" hasAudio: "+x.xA+" gain: "+x.gain);this.gb=
w;this.cH=null;this.Hq=x.clone();this.wY=y||0;this.HKa()};v.prototype.p1=function(){return"activated"==this.Mm};v.prototype.G3=function(){return this.YZa};v.prototype.stop=function(){this.mc.log("HTMLMediaPlayer","stop");this.Ja.stop();this.Hq=null};v.prototype.getState=function(){return this.Ja.getState()};v.prototype.UE=function(){return this.xw.P2a()?!1:this.Ja.UE()};v.prototype.Nf=function(w){this.Rd.Nf(w);this.qf=w;this.gb&&"requested"==this.Mm&&(this.qf?c.cancel(this.gb):c.request(this.gb))};
v.prototype.Bx=function(w){this.Rd.Bx(w)};v.prototype.SS=function(w){this.Rd.SS(w)};v.prototype.setLoop=function(w){this.WKa(w)};v.prototype.getCurrentTime=function(){return this.Qo.getTime()};v.prototype.setCurrentTime=function(w){return this.Qo.setTime(w)};v.prototype.ji=function(){return this.Qo.ji()};v.prototype.tm=function(){return this.hf==p.Wn};v.prototype.getType=function(){return this.hf};v.prototype.He=function(){return this.mc&&this.tm()&&this.mc.videoWidth||0};v.prototype.Xe=function(){return this.mc&&
this.tm()&&this.mc.videoHeight||0};v.prototype.vR=function(){return this.En.vR()};v.prototype.HKa=function(){this.mc.log("HTMLMediaPlayer","assert can play");"activated"!=this.Mm&&this.Hq.xA?"inactive"==this.Mm&&(this.mc.log("HTMLMediaPlayer","needs activation"),this.gb&&this.hf==p.Wn&&this.NQa()?this.YJa():this.gb&&g.s1()?this.ns():this.gb&&this.GKa()):(this.mc.log("HTMLMediaPlayer","can play activationState: "+this.Mm+" pending media has audio: "+this.Hq.xA),this.lD())};v.prototype.NQa=function(){var w=
this.Yoa();return!w||w.currentSrc&&!w.paused||w.muted?!1:!0};v.prototype.Yoa=function(){return this.gb.get("settings").get(TDV.PlayerSettings.ACTIVE_VIDEO_ELEMENT)};v.prototype.YJa=function(){this.mc.log("HTMLMediaPlayer","activate with application parameter");this.Wva(this.Yoa());this.ns()};v.prototype.GKa=function(){this.mc.log("HTMLMediaPlayer","ask for activation");this.Mm="requested";c.yja(this.ns);this.gb&&!this.qf&&c.request(this.gb)};v.prototype.ns=function(){if("inactive"==this.Mm||"requested"==
this.Mm)this.mc.log("HTMLMediaPlayer","activate received when state: "+this.Mm+" and has media: "+!!this.cH),this.cH?setTimeout(function(){d.wait(this.ns)}.bind(this),0):(this.Mm="activating",this.xw.set("","",0))};v.prototype.lD=function(){this.mc.log("HTMLMediaPlayer","media can play. Has pending properties: "+!!this.Hq);this.Hq&&this.xw.set(this.Hq.src,this.Hq.jl,this.wY)};v.prototype.Eta=function(){"activating"==this.Mm?this.wTa():this.Hq&&this.gTa()};v.prototype.wTa=function(){this.mc.log("HTMLMediaPlayer",
"on src ready activating");this.Ja.play()};v.prototype.Ei=function(){"activating"==this.Mm&&(this.mc.log("HTMLMediaPlayer","on play activating"),this.Ja.stop(),this.Mm="activated",this.lD())};v.prototype.gTa=function(){this.mc.log("HTMLMediaPlayer","on pending src ready");this.cH=this.Hq;this.Hq=null;this.PKa(this.cH.xA);this.NKa(this.cH.gain);this.Qo.setTime(this.wY);this.wY=void 0;this.Ja.play()};v.prototype.PKa=function(w){this.Rd.x6a(w)};v.prototype.NKa=function(w){this.Rd.SS(w)};v.prototype.WKa=
function(w){w&&!this.mc.hasAttribute("loop")?this.mc.setAttribute("loop",""):!w&&this.mc.hasAttribute("loop")&&this.mc.removeAttribute("loop")};v.prototype.esa=function(){this.mc.log("HTMLMediaPlayer","on deactivated");c.q7a();d.wait(this.Faa);this.gb&&setTimeout(function(){c.request(this.gb)}.bind(this),0)};v.prototype.Faa=function(){this.mc.log("HTMLMediaPlayer","on reactivated");this.Ja.play()};v.prototype.Ci=function(){this.trigger(l.hk,this.En.vR())};v.prototype.Rj=function(){this.trigger(new m(v.fIa))};
v.prototype.ef=function(){this.trigger(new m(v.Of))};v.prototype.qn=function(){this.trigger(new m(v.Ti))};v.prototype.Sl=function(){this.trigger(new m(v.ik))};v.Of="time update";v.Ti="duration update";v.fIa="size update";v.ik="end";return v});define("dH",["require"],function(){return function(a){this.cue=a;this.text=a.text}});
define("nm",["require"],function(){function a(){this.jl=this.src=void 0;this.xA=!1;this.gain=1}a.prototype.clone=function(){var e=new a;e.src=this.src;e.jl=this.jl;e.xA=this.xA;e.gain=this.gain;return e};return a});
define("bW","require lE en pf lg cC gv lY v mB ow id".split(" "),function(a){function e(u){this.Su=u;this.ya=null;this.G$=(new Date).getTime()}var l=a("lE"),m=a("en"),k=a("pf"),b=a("lg"),h=a("cC"),g=a("gv"),c=a("lY"),d=a("v"),f=a("mB"),p=a("ow"),q=a("id");e.prototype.Jga=function(){return null==this.ya};e.prototype.p1=function(){return this.Su.p1()};e.prototype.G3=function(){return this.Su.G3()};e.prototype.item=function(){return this.ya};e.prototype.p1a=function(){this.ya.$Ba();this.ya=null};e.prototype.use=
function(u){this.ya=u;this.ya.Pza(this.Su);this.G$=(new Date).getTime()};var n=l.extend(g,function(){g.call(this);this.et=[];var u=f.BAa("avs",10);var v=d.Vb()==d.Ox?10:c.P_a()?4:1;v=f.BAa("avpas",v);for(var w=0;w<u;w++)this.et.push(new e(new p(q.Wn,w<v)));this.Ue=[];this.C=b.W});n.prototype.oK=function(){return 0<this.Spa().length};n.prototype.C2=function(u){this.Ue=[u].concat(m(this.Ue).without(u));this.hba();t()};n.prototype.appendItem=function(u){this.Ue.push(u);this.hba();t()};n.prototype.zS=
function(u){this.Ue=m(this.Ue).without(u);this.hba()};n.prototype.hba=function(){var u=this.kQa();if(n.sBa())for(;this.et.length<u.length;)this.et.push(new e(new p(q.Wn,!1)));this.Spa().forEach(function(v){0>u.indexOf(v.item())&&v.p1a()});this.qd(0<u.length?b.Y:b.W);u.forEach(function(v){if(!this.MPa(v)){var w=this.BPa(v.getType(),v.aia());w||v.aia()||this.et.push(w=new e(new p(q.Wn,!1)));w&&w.use(v)}}.bind(this));this.CPa().forEach(function(v){v.Su.stop()})};n.prototype.kQa=function(){return this.Ue.map(function(u,
v){var w={};w.index=v;w.priority=u.PAa();w.item=u;return w}).sort(function(u,v){return u.priority-v.priority||u.index-v.index}).map(function(u){return u.item})};n.prototype.qd=function(u){this.C!=u&&(this.C=u,this.trigger(new h(this.C==b.W?k.Qf:k.Un)))};n.prototype.BPa=function(u,v){u=this.et.filter(function(w){return w.Jga()});return u.length?(v?(v=u.filter(function(w){return w.p1()}),v.length||(v=u.filter(function(w){return w.G3()}))):(v=u.filter(function(w){return!w.G3()}),v.length||(v=u.filter(function(w){return!w.p1()}))),
v.length&&(u=v),d.browser()==d.ml?(u.sort(function(w,x){return x.G$-w.G$}),u[Math.min(2,u.length-1)]):u[0]):null};n.prototype.CPa=function(){return this.et.filter(function(u){return u.Jga()})};n.prototype.Spa=function(){return this.et.filter(function(u){return!u.Jga()})};n.prototype.MPa=function(u){for(var v=0;v<this.et.length;v++)if(this.et[v].item()==u)return this.et[v];return null};n.a$=null;n.bind=function(){var u=n.yi();u.bind.apply(u,arguments)};n.unbind=function(){var u=n.yi();u.unbind.apply(u,
arguments)};var r=0<=[d.Nx,d.Tr].indexOf(d.Vb());n.sBa=function(){return r};n.oK=function(){return n.yi().oK()};n.appendItem=function(u){n.yi().appendItem(u)};n.C2=function(u){n.yi().C2(u)};n.zS=function(u){n.yi().zS(u)};n.dv=function(){null===n.a$&&(n.a$=new n);return n.a$};n.yi=n.dv;n.dv();var t=function(){if(0<=[d.Nx,d.Tr].indexOf(d.Vb())){var u=document.createElement("video");u.muted=!1;u.setAttribute("loop","");u.src="data:video/mp4;base64, ";
return function(){try{u.pause(),setTimeout(function(){u.play()["catch"](function(){})},0)}catch(v){}}}return function(){}}();return n});
define("F","require lE cC gv pf lg ow dH nm id bW bi lY".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("pf"),b=a("lg"),h=a("ow"),g=a("dH"),c=a("nm"),d=a("id"),f=a("bW"),p=a("bi"),q=a("lY"),n=e.extend(m,function(r,t,u){m.call(this);this.gb=r;this.u=t;this.Ts=u;this.o=null;this.JP();this.DX=this.DX.bind(this);this.u.bind(k.D("gain"),this.$H,this,!0);this.u.bind(k.D("mp3Url"),this.Ak,this,!0);this.u.bind(k.D("oggUrl"),this.Ak,this,!0);this.u.bind(k.D("subtitlesURL"),this.Ak,this,!0);this.C=
b.W;this.xk=!1;this.Jy=this.Ob=0;this.qf=!1;this.cr=1;this.OM=!1;this.pH=1;this.zd=null;this.Yn=[]});n.prototype.ob=function(){return this.gb};n.prototype.Lc=function(r){this.C==r||r==b.Ib&&this.C!=b.Y||(this.C=r,this.C==b.Y?(this.TLa(),f.C2(this)):this.aXa(),this.Bda())};n.prototype.aXa=function(){this.OM||(this.OM=!0,this.Ioa=this.u.get("fadeOutTime"),0==this.Ioa?this.twa():this.DX(0))};n.prototype.DX=function(r){this.zd&&0!=this.pH&&this.OM&&!this.wRa()?(this.pH=Math.max(0,this.pH-r/this.Ioa),
this.AU(),p.requestFrame(this.DX)):this.twa()};n.prototype.TLa=function(){this.OM=!1;this.pH=1;this.AU()};n.prototype.twa=function(){this.OM=!1;this.pH=1;this.zd&&(f.zS(this),this.C==b.W&&this.zca())};n.prototype.getState=function(){return this.C};n.prototype.ji=function(){return this.Ob};n.prototype.setCurrentTime=function(r){this.Jy=r;this.zd&&this.zd.play(this.gb,this.o,this.Jy)};n.prototype.getCurrentTime=function(){return this.Jy};n.prototype.Bx=function(r){this.cr=r;this.AU()};n.prototype.AU=
function(){this.zd&&this.zd.Bx(this.cr*this.pH)};n.prototype.Nf=function(r){this.qf=r;this.zd&&this.zd.Nf(r)};n.prototype.setLoop=function(r){this.xk=r;this.zd&&this.zd.setLoop(r)};n.prototype.aia=function(){return!this.qf};n.prototype.getType=function(){return d.GHa};n.prototype.PAa=function(){return this.Ts};n.prototype.Pza=function(r){this.zd=r;setTimeout(function(){this.zd&&this.zd.bind(h.ik,this.jO,this,!0)}.bind(this),0);this.JP();this.zd.bind(h.Of,this.ef,this,!0);this.zd.bind(h.Ti,this.qn,
this,!0);this.zd.bind(k.hk,this.Ci,this,!0);this.zd.Nf(this.qf);this.AU();this.zd.setLoop(this.xk);this.zd.play(this.gb,this.o,this.Jy)};n.prototype.$Ba=function(){this.Jy=this.zd.getCurrentTime();this.zd.unbind(h.ik,this.jO,this,!0);this.zd.unbind(h.Of,this.ef,this,!0);this.zd.unbind(h.Ti,this.qn,this,!0);this.zd.unbind(k.hk,this.Ci,this,!0);this.zd=null};n.prototype.clear=function(){this.Lc(b.W);this.u&&(this.u.unbind(k.D("gain"),this.$H,this,!0),this.u.unbind(k.D("mp3Url"),this.Ak,this,!0),this.u.unbind(k.D("oggUrl"),
this.Ak,this,!0),this.u.unbind(k.D("subtitlesURL"),this.Ak,this,!0),this.u=null)};n.prototype.Ak=function(){this.HD&&clearTimeout(this.HD);this.HD=setTimeout(function(){this.HD=null;this.zd&&(this.o.src=this.Yy(this.u),this.o.jl=this.u.get("subtitlesURL"),this.zd.play(this.gb,this.o,this.Jy))}.bind(this),10)};n.prototype.$H=function(){if(this.zd){var r=this.u.get("gain");this.o.gain!=r&&(this.o.gain=r,this.zd.SS(this.o.gain))}};n.prototype.JP=function(){this.o=new c;this.o.src=this.Yy(this.u);this.o.jl=
this.u.get("subtitlesURL");this.o.xA=!0;this.o.gain=this.u.get("gain")};n.prototype.Yy=function(r){var t=r.get("mp3Url");return t&&q.yBa?t:(r=r.get("oggUrl"))&&q.zBa?r:t||r};n.prototype.qn=function(){this.Ob=this.zd.ji();this.xda()};n.prototype.ef=function(){this.Ob!=this.zd.ji()&&this.qn();this.Jy=this.zd.getCurrentTime();this.qQ()};n.prototype.Ci=function(){this.Yn=this.zd.vR().map(function(r){for(var t=null,u=0;u<this.Yn.length&&!t;u++)this.Yn[u].cue==r&&(t=this.Yn[u]);t||(t=new g(r));return t}.bind(this));
this.trigger(new l(k.hk))};n.prototype.jO=function(){this.Lc(b.W);this.yda()};n.prototype.wRa=function(){return this.zd&&this.zd.getCurrentTime()&&this.zd.getCurrentTime()==this.zd.ji()};n.prototype.zca=function(){this.Jy=0;this.qQ()};n.prototype.qQ=function(){this.trigger(new l(n.Of))};n.prototype.xda=function(){this.trigger(new l(n.Ti))};n.prototype.yda=function(){this.trigger(new l(k.Bb))};n.prototype.Bda=function(){this.trigger(new l(k.se))};n.Of="time update";n.Ti="duration update";return n});
define("hd",["require"],function(){function a(l,m,k){this.Od=l;this.Iwa=m;this.xs=k||e}var e=function(){var l=document.createElement("canvas");l.width=l.height=256;l.getContext("2d").clearRect(0,0,l.width,l.height);return l}();a.prototype.isEmpty=function(){return this.xs==e||"CANVAS"==this.xs.tagName&&(0==this.xs.width||0==this.xs.height)};a.prototype.isEqual=function(l,m){return this.Od==l.Od&&Math.abs(this.Iwa-l.Iwa)<(m||0)&&this.xs==l.xs};return a});
define("dk",["require","lY","v","ir"],function(a){function e(g){return k.zGa(g)}function l(g,c){if(!c)return!0;var d=g.get("url"),f=g.get("srcObject");g=g.get("type")||"";switch(c){case "srcObj":return!!f;case "webm":return b.is(d,b.BJa)||m(g,"webm");case "h265":return b.is(d,b.tIa)||(b.is(d,b.Gka)||b.is(d,b.nka)||!d)&&(m(g,"hev1")||m(g,"h265")||m(g,"heic"))?!0:!1;case "mp4":return b.is(d,b.Gka)||m(g,"mp4");case "hls":return b.is(d,b.HLS)||m(g,"x-mpegurl");case "ogv":return b.is(d,b.NIa)||m(g,"ogg");
case "mov":return b.is(d,b.nka)||m(g,"quicktime");default:return!1}}function m(g,c){return 0<=(g||"").toLowerCase().indexOf(c)}var k=a("lY");a("v");var b=a("ir"),h={y2a:function(g){return h.select(g.get("levels"))},w2a:function(g){return h.select(g.get("levels"))},select:function(g){g||(g=[]);g=g.slice();var c=[];c.push({type:"srcObj",Nr:!0});k.K2a&&c.push({type:"hls",Nr:!1});k.a3a&&c.push({type:"h265",Nr:!0});k.xga&&c.push({type:"webm",Nr:!0});k.e1&&c.push({type:"mp4",Nr:!0});k.b3a&&c.push({type:"mov",
Nr:!0});k.wga&&c.push({type:"ogv",Nr:!0});c.push({type:"mp4",Nr:!0});c.push({type:"webm",Nr:!0});c.push({type:"mp4",Nr:!1});c.push({type:"webm",Nr:!1});for(var d=0;d<c.length;d++){var f=g;c[d].Nr&&(f=f.filter(e));f=f.filter(function(p){if(l(p,c[d].type))return!0});"hls"!=c[d].type&&f.sort(function(p,q){return q.get("width")-p.get("width")});if(f.length)return f[0]}return null}};return h});
define("oB","require lE cC gv pf lg ik nU v mB ow dH hd nm id bW dk".split(" "),function(a){function e(x){d.browser()==d.ml&&(x=f.iA(x,"playbacksession="+(new Date).getTime()));return x}var l=a("lE"),m=a("cC"),k=a("gv"),b=a("pf"),h=a("lg"),g=a("ik"),c=a("nU"),d=a("v"),f=a("mB"),p=a("ow"),q=a("dH"),n=a("hd"),r=a("nm"),t=a("id"),u=a("bW"),v=a("dk"),w=l.extend(k,function(x,y){k.call(this);this.gb=x;this.u=y;this.ab=w.Zj(this.u);this.o=null;this.JP();this.u.bind(b.D("subtitlesURL"),this.Ak,this,!0);this.u.bind(b.D("gain"),
this.$H,this,!0);this.ab.bind(b.D("srcObject"),this.Ak,this,!0);this.ab.bind(b.D("subtitlesURL"),this.Ak,this,!0);this.ab.bind(b.D("url"),this.Ak,this,!0);this.ab.bind(b.D("gain"),this.$H,this,!0);this.C=h.W;this.Ef=this.Ob=0;this.qf=!1;this.cr=1;this.xk=!1;this.R=this.Ub=null;this.OG=!1;this.ZU=void 0;this.nna=!1;this.Yn=[]});w.prototype.ob=function(){return this.gb};w.prototype.Lc=function(x){this.C==x||x==h.Ib&&this.C!=h.Y||(this.nna&&x==h.Y&&this.C==h.W&&this.N6(),this.C=x,this.C==h.Y?(this.Ub&&
this.Ub.play(this.gb,this.o,this.Ef),u.C2(this)):(u.sBa()?this.Ub&&this.Ub.stop():u.zS(this),this.C==h.W&&this.zca()),this.Bda())};w.prototype.getState=function(){return this.C};w.prototype.ji=function(){return this.Ob};w.prototype.setCurrentTime=function(x){this.Ef=x;this.Ub&&(this.Ub.UE()&&this.IM(),this.Ub.play(this.gb,this.o,this.Ef))};w.prototype.getCurrentTime=function(){return this.Ef};w.prototype.Bx=function(x){this.cr=x;this.Ub&&this.Ub.Bx(x)};w.prototype.Nf=function(x){this.qf=x;this.Ub&&
this.Ub.Nf(x)};w.prototype.setLoop=function(x){this.xk=x;this.Ub&&this.Ub.setLoop(x)};w.prototype.d6a=function(){this.nna=!0};w.prototype.MJ=function(x,y,z){this.Ub&&this.Ub.UE()?this.Ub.MJ(x,y,z):this.OG?x.drawImage(this.R,0,0,y,z):x.fillRect(0,0,y,z)};w.prototype.N0=function(){if(this.Ub&&this.Ub.UE()){var x=this.Ub.getCurrentTime(),y=this.Ub.mc;if(this.nN())return new n(this.o.src,this.ZU,this.R);this.N6();return new n(this.o.src,x,y)}return this.OG?new n(this.o.src,this.Ef,this.R):new n(this.o.src,
this.Ef,null)};w.prototype.aia=function(){return!this.qf&&this.u.get("hasAudio")};w.prototype.getType=function(){return t.Wn};w.prototype.PAa=function(){return g.Wn};w.prototype.Pza=function(x){this.Ub=x;setTimeout(function(){this.Ub&&this.Ub.bind(p.ik,this.jO,this,!0)}.bind(this),0);this.JP();this.Ub.bind(p.Of,this.ef,this,!0);this.Ub.bind(p.Ti,this.qn,this,!0);this.Ub.bind(b.hk,this.Ci,this,!0);this.Ub.Nf(this.qf);this.Ub.Bx(this.cr);this.Ub.setLoop(this.xk);this.Ub.play(this.gb,this.o,this.Ef)};
w.prototype.$Ba=function(){this.Ub.UE()&&this.IM();this.Ef=this.Ub.getCurrentTime();this.Ub.unbind(p.ik,this.jO,this,!0);this.Ub.unbind(p.Of,this.ef,this,!0);this.Ub.unbind(p.Ti,this.qn,this,!0);this.Ub.unbind(b.hk,this.Ci,this,!0);this.C==h.W&&(this.Ub.stop(),this.Ub.setCurrentTime(0),this.oMa());this.Ub=null};w.prototype.clear=function(){u.zS(this);this.N6();this.u&&(this.u.unbind(b.D("subtitlesURL"),this.Ak,this,!0),this.u.unbind(b.D("gain"),this.$H,this,!0),this.u=null);this.ab&&(this.ab.unbind(b.D("subtitlesURL"),
this.Ak,this,!0),this.ab.unbind(b.D("url"),this.Ak,this,!0),this.ab.unbind(b.D("srcObject"),this.Ak,this,!0),this.ab=null)};w.prototype.Ak=function(){this.HD&&clearTimeout(this.HD);this.HD=setTimeout(function(){this.HD=null;this.Ub&&(this.o.jl=this.u.get("subtitlesURL")||this.ab.get("subtitlesURL"),this.o.src=this.ab.get("srcObject")||e(this.ab.get("url")),this.Ub.play(this.gb,this.o,this.Ef))}.bind(this),10)};w.prototype.$H=function(){this.Ub&&(this.o.gain=this.u.get("gain",1)*this.ab.get("gain",
1),this.Ub.SS(this.o.gain))};w.prototype.JP=function(){this.o=new r;this.o.src=this.ab.get("srcObject")||e(this.ab.get("url"));this.o.jl=this.u.get("subtitlesURL")||this.ab.get("subtitlesURL");this.o.xA=this.u.get("hasAudio",!0)&&this.ab.get("hasAudio",!0);this.o.gain=this.u.get("gain",1)*this.ab.get("gain",1)};w.prototype.IM=function(){this.R||(this.R=document.createElement("canvas"));if(!this.nN()){this.R.width=this.Ub.He();this.R.height=this.Ub.Xe();this.ZU=this.Ub.getCurrentTime();var x=this.R.getContext("2d");
x.clearRect(0,0,this.R.width,this.R.height);this.OG=this.Ub.MJ(x,this.R.width,this.R.height)}};w.prototype.nN=function(){var x=this.Ub.getCurrentTime();this.Ob&&(x=Math.min(x,this.Ob));return this.OG&&.15>=Math.abs(x-this.ZU)};w.prototype.N6=function(){this.OG&&(this.ZU=void 0,this.OG=!1,d.browser()!=d.ml&&(this.R.width=0,this.R.height=0,this.R=null))};w.prototype.qn=function(){this.Ob=this.Ub.ji();this.xda()};w.prototype.ef=function(){var x=this.Ub.ji();0!==x&&(this.Ob!=x&&this.qn(),this.Ef=this.Ub.getCurrentTime(),
d.td()==d.ri&&0<this.Ef&&this.Ef>this.Ob-.15&&!this.nN()&&!this.xk?this.IM():d.browser()==d.ml&&0<this.Ef&&this.Ef>this.Ob-.05&&!this.nN()&&!this.xk?this.IM():d.browser()==d.Hm&&0<this.Ef&&this.Ef>this.Ob-.05&&!this.nN()&&this.xk&&this.IM(),this.qQ())};w.prototype.Ci=function(){this.Yn=this.Ub.vR().map(function(x){for(var y=null,z=0;z<this.Yn.length&&!y;z++)this.Yn[z].cue==x&&(y=this.Yn[z]);y||(y=new q(x));return y}.bind(this));this.trigger(new m(b.hk))};w.prototype.oMa=function(){0!=this.Yn.length&&
(this.Yn=[],this.trigger(new m(b.hk)))};w.prototype.jO=function(){this.Lc(h.W);this.yda()};w.prototype.zca=function(){this.Ef=0;this.qQ()};w.prototype.qQ=function(){this.trigger(new m(w.Of))};w.prototype.xda=function(){this.trigger(new m(w.Ti))};w.prototype.yda=function(){this.trigger(new m(b.Bb))};w.prototype.Bda=function(){this.trigger(new m(b.se))};w.Of="time update";w.Ti="duration update";w.Zj=function(x){if(c.Ia("Video360Resource",x))return v.w2a(x);if(c.Ia("VideoResource",x))return v.y2a(x);
throw"invalid video resource object: "+x;};return w});
define("kB",["require","oB","pf"],function(a){function e(m,k){this.BU=m;this.Su=k;this.P5=[];this.iLa();this.Ci()}a("oB");var l=a("pf");e.prototype.clear=function(){this.iMa();this.uYa();this.Su=this.BU=null};e.prototype.iLa=function(){this.Su.bind(l.hk,this.Ci,this,!0)};e.prototype.uYa=function(){this.Su.unbind(l.hk,this.Ci,this,!0)};e.prototype.Ci=function(){this.BU.set("activeSubtitles",this.P5=this.Su.Yn)};e.prototype.iMa=function(){this.BU.get("activeSubtitles")==this.P5&&this.BU.set("activeSubtitles",
this.P5=[])};return e});
define("hh","require pf ik lg mh cC nU F kB".split(" "),function(a){var e=a("pf"),l=a("ik"),m=a("lg"),k=a("mh"),b=a("cC"),h=a("nU"),g=a("F"),c=a("kB");a=h.define("Audio",k,function(d){k.call(this);this.Ts=d||l.oJa;this.bo=void 0;this.gm=null});a.prototype.ME=function(){if(void 0==this.bo){this.gm&&(this.gm.clear(),this.gm=null);var d=this.get("audio");d?(this.bo=new g(this.get("application"),d,this.Ts),d=function(){this.bo.setLoop(this.get("loop",!1))},d.call(this),this.bind(e.D("loop"),d,this),d=
function(){this.bo.Nf(this.get("application").get("mute",!1))},d.call(this),this.get("application").bind(e.D("mute"),d,this,!0),d=function(){this.set("state",this.bo.getState())},d.call(this),this.bo.bind(e.se,d,this,!0),this.bo.bind(e.Bb,this.ySa,this,!0),this.gm=new c(this,this.bo)):this.bo=null}return this.bo};a.prototype.set=function(d,f){switch(d){case "state":var p=this.get("state")||m.W,q=this.bo&&this.bo.getState()||m.W;q!=p&&(p==m.W&&q==m.Y&&this.trigger(e.Un),this.trigger(new b(e.se,{oldState:p,
state:q})));break;case "subtitlesViewerArea":(p=k.prototype.get.call(this,d))&&p.YZ.remove(this),f&&f.YZ.add(this)}k.prototype.set.call(this,d,f)};a.prototype.Mt=function(){return[]};a.prototype.ySa=function(){this.trigger(new b(e.Bb))};a.prototype.play=a.prototype.Gk=function(){var d=this.ME();d&&d.Lc(m.Y)};a.prototype.stop=a.prototype.Lo=function(){var d=this.ME();d&&d.Lc(m.W)};a.prototype.pause=a.prototype.Fq=function(){var d=this.ME();d&&d.Lc(m.Ib)};return a});
define("ji",["require","nU","hh"],function(a){var e=a("nU"),l=a("hh");return e.define("MediaAudio",l,function(m){l.call(this,m)})});define("pH",["require","ik","nU","ji"],function(a){var e=a("ik"),l=a("nU"),m=a("ji");return l.define("PanoramaAudio",m,function(){m.call(this,e.SIa)})});define("hv",["require","nU","pH"],function(a){var e=a("nU"),l=a("pH");return e.define("DirectionalPanoramaAudio",l,function(){l.call(this)})});
define("fs",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("Model3DCameraMovement",e,function(){e.call(this)})});define("iv",["require","nU","fs"],function(a){var e=a("nU"),l=a("fs");return e.define("DistanceModel3DCameraMovement",l,function(){l.call(this)})});define("ll",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("DistancePanoramaCameraMovement",e,function(){e.call(this)})});
define("gZ",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("DistanceRotationalCameraMovement",e,function(){e.call(this)})});
define("y",["require","exports","pf","lE"],function(a,e,l,m){return function(){function k(b,h,g,c,d){this.jq=null;this.jaa=b;this.nf=l.D(this.jaa);this.o9=h;this.za=g||window;this.R9=c;this.Ara=d;this.f$=!1}k.prototype.$A=function(){this.cca(null)};k.prototype.cca=function(b){var h=this;m.toArray(this.jq).forEach(function(g){g&&g.unbind(this.nf,h.dna,h)}.bind(this));this.jq=b;m.toArray(this.jq).forEach(function(g){g&&g.bind(this.nf,this.dna,h,h.R9)}.bind(this));this.Sua()};k.prototype.Sua=function(){this.Ara&&
this.Ara.cca(this.HPa())};k.prototype.HPa=function(){return null==this.jq?null:Array.isArray(this.jq)?this.jq.map(function(b){return b?b.get(this.jaa):null}.bind(this)):this.jq.get(this.jaa)};k.prototype.dna=function(b){if(!this.f$){try{this.f$=!0,this.Sua(),this.o9.call(this.za,b)}catch(h){m.dS("ChangeWatcher._changeHandler",h)}this.f$=!1}};k.bu=function(b,h,g,c,d){void 0===d&&(d=!1);m.isString(h)&&(h=h.split("."));return 0<h.length?(h=new k(h[0],g,c,d,k.bu(null,h.slice(1),g,c,d)),h.cca(b),h):null};
return k}()});
define("pA",["require","jquery.mod","lE","pf","e"],function(a){var e=a("jquery.mod"),l=a("lE"),m=a("pf"),k=a("e"),b=l.extend(k,function(){k.call(this);this.Fe("DropDownArrow");this.R=null;this.cv=!0;this.bind(m.oc,this.gOa,this)});b.prototype.vb=function(){k.prototype.vb.call(this);this.h("color","#000000");this.h("direction",b.Y3)};b.prototype.gOa=function(){this.cv=!0;this.pe()};b.prototype.Db=function(){k.prototype.Db.call(this);this.R||(this.R=e("<canvas/>"),this.R.css({position:"absolute",left:0,
top:0}),this.Pb().append(this.R))};b.prototype.Za=function(){var h=!1;this.K("color")&&(h=!0,this.S("color"));this.K("direction")&&(h=!0,this.S("direction"));this.cv&&(h=!0,this.cv=!1);if(h){h=this.uf();var g=this.tf(),c=this.B("color"),d=this.B("direction"),f=[.5*h,0,h];d=d==b.Y3?[g,0,0]:[0,g,g];var p=this.R.get(0);p.width=h;p.height=g;p=p.getContext("2d");p.clearRect(0,0,h,g);p.beginPath();p.moveTo(f[0],d[0]);p.lineTo(f[1],d[1]);p.lineTo(f[2],d[2]);p.fillStyle=c;p.fill()}k.prototype.Za.call(this)};
b.Y3="down";b.I9a="up";return b});
define("hR","require lE cC nk bd pf d gW oz pA dz".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nk"),k=a("bd"),b=a("pf"),h=a("d"),g=a("gW"),c=a("oz"),d=a("pA"),f=a("dz");a=e.extend(c,function(){c.call(this);this.Fe("DropDownButton");this.oy=this.Ma=null;this.A$=!0;this.set("ariaRole","dropdown");this.set("autoRolledOver",!0);this.set("autoPressed",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("cursor",k.ye);this.bind(b.qa,this.f8,this)});a.prototype.vb=
function(){c.prototype.vb.call(this);this.h("arrowColor","#000000");this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);this.h("arrowGap",5);this.h("shadow",!1);this.h("layout",h.Ag);this.h("verticalAlign",m.le);this.h("borderRadius",5);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("backgroundColorDirection","vertical");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",
5);this.h("paddingBottom",5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.v("rollOverBorderColor",g.X,"borderColor");this.v("rollOverArrowColor",g.X,"arrowColor");this.v("rollOverBackgroundColor",g.X,"backgroundColor");this.v("rollOverBackgroundColorRatios",
g.X,"backgroundColorRatios");this.v("rollOverShadow",g.X,"shadow");this.v("pressedBorderColor",g.xb,"borderColor");this.v("pressedArrowColor",g.xb,"arrowColor");this.v("pressedBackgroundColor",g.xb,"backgroundColor");this.v("pressedBackgroundColorRatios",g.xb,"backgroundColorRatios");this.v("pressedShadow",g.xb,"shadow");this.v("pressedRollOverBorderColor",g.cc,"borderColor");this.v("pressedRollOverArrowColor",g.cc,"arrowColor");this.v("pressedRollOverBackgroundColor",g.cc,"backgroundColor");this.v("pressedRollOverBackgroundColorRatios",
g.cc,"backgroundColorRatios");this.v("pressedRollOverShadow",g.cc,"shadow");this.v("pressedBorderColor",g.ea,"borderColor");this.v("pressedArrowColor",g.ea,"arrowColor");this.v("pressedBackgroundColor",g.ea,"backgroundColor");this.v("pressedBackgroundColorRatios",g.ea,"backgroundColorRatios");this.v("pressedShadow",g.ea,"shadow")};a.prototype.set=function(p,q){"label"==p&&this.get("label")!=q&&(this.A$=!0,this.pe());c.prototype.set.call(this,p,q)};a.prototype.Db=function(){c.prototype.Db.call(this);
this.Ma||(this.Ma=new f,this.Ma.set("width","100%"),this.Wa(this.Ma));this.oy||(this.oy=new d,this.oy.set("direction",d.Y3),this.Wa(this.oy))};a.prototype.f8=function(){this.open();this.trigger(new l(b.OPEN))};a.prototype.open=function(){this.unbind(b.qa,this.f8,this);this.FP(!0)};a.prototype.close=function(){this.bind(b.qa,this.f8,this);this.FP(!1)};a.prototype.Ru=function(){return this.Ma&&this.Ma.get("text")||c.prototype.Ru.call(this)};a.prototype.Za=function(){if(this.A$){var p=this.get("label");
this.Ma.set("text",p);this.A$=!1}this.pc("horizontalAlign fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),{},[this.Ma],!0,!0);this.K("arrowGap")&&(this.set("gap",this.B("arrowGap")),this.S("arrowGap"));this.K("arrowColor")&&(this.oy.set("color",this.B("arrowColor")),this.S("arrowColor"));this.K("arrowBeforeLabel")&&(1==this.B("arrowBeforeLabel")?this.On(this.oy,
0):this.On(this.Ma,0),this.S("arrowBeforeLabel"));this.K("arrowWidth")&&(this.oy.set("width",this.B("arrowWidth")),this.S("arrowWidth"));this.K("arrowHeight")&&(this.oy.set("height",this.B("arrowHeight")),this.S("arrowHeight"));c.prototype.Za.call(this)};return a});define("hC",["require","en","lE","oz","d"],function(a){var e=a("en"),l=a("lE"),m=a("oz");a=a("d");var k=l.extend(m,function(){m.call(this)});k.zc={layout:a.Mh};e.defaults(k.zc,m.zc);k.prototype.vb=function(){this.io(k.zc)};return k});
define("lL","require lE cC nk bd hY pf oz hC dz".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nk"),k=a("bd"),b=a("hY"),h=a("pf"),g=a("oz"),c=a("hC"),d=a("dz");a=e.extend(g,function(){g.call(this);this.Fe("DropDownPopup");this.set("ariaRole","listbox");this.vd=null;this.HU=!1;this.Ab=null;this.BN=[];this.$z=!0});a.prototype.EAa=function(){return this.Ab.jb().map(function(f){return f.ce()})};a.prototype.open=function(f){this.vd=f;this.HU=!0;this.ob().On(this,this.ob().jb().length-1);this.set("overIndex",
-1);this.set("visible",!0);this.bind(h.kb,this.Vd,this);this.ob().bind(h.Hb,this.Is,this);this.ob().bind(h.oc,this.Bc,this)};a.prototype.close=function(){this.vd=null;this.HU=!0;this.set("visible",!1);this.Ab.set("overflow",b.nG);this.Ab.set("contentOpaque",!0);this.unbind(h.kb,this.Vd,this);this.ob().unbind(h.Hb,this.Is,this);this.ob().bind(h.oc,this.Bc,this)};a.prototype.Db=function(){g.prototype.Db.call(this);this.Ab||(this.Ab=new c,this.Ab.set("overflow",b.nG),this.Ab.bind(h.oc,this.Bc,this),
this.Ab.bind(h.Jp,this.Rz,this),this.Wa(this.Ab))};a.prototype.Bc=function(){this.Fxa()};a.prototype.Vd=function(){this.kca=!1};a.prototype.Rz=function(){this.kca=!0};a.prototype.Is=function(){-1!=this.get("overIndex")||this.kca&&this.po||this.trigger(new l(h.WF));this.kca=!1};a.prototype.QSa=function(f){this.set("overIndex",this.b9(f.source))};a.prototype.RSa=function(f){f=this.b9(f.source);this.get("overIndex")==f&&this.set("overIndex",-1)};a.prototype.PSa=function(f){f=this.b9(f.source);this.set("overIndex",
f);this.set("selectedIndex",f);this.trigger(new l(h.Kp))};a.prototype.b9=function(f){for(var p=0;p<this.BN.length;p++)if(this.BN[p]==f)return p;return-1};a.prototype.vb=function(){g.prototype.vb.call(this);this.h("visible",!1);this.h("width","100%");this.h("height","100%");this.h("includeInLayout",!1);this.h("items",[]);this.h("selectedIndex",-1);this.h("overIndex",-1);this.h("popUpGap",0);this.h("popUpBackgroundColor");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");this.h("selectedPopUpBackgroundColor");
this.h("popUpFontColor");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("popUpShadow",!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("fontFamily");this.h("fontSize");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");
this.h("textShadowBlurRadius");this.h("textShadowOpacity");this.h("buttonWidth")};a.prototype.Za=function(){var f=!1,p=!1;if(this.K("items")){f=this.B("items")||[];for(var q=this.BN.length;q<f.length;q++){var n=new d;n.ma({width:"100%",paddingLeft:5,paddingRight:5,paddingBottom:2,paddingTop:2,cursor:k.ye});n.bind(h.CB,this.QSa,this);n.bind(h.Fp,this.RSa,this);n.bind(h.qa,this.PSa,this);this.BN.push(n)}n=this.Ab.jb();for(q=f.length;q<n.length;q++)this.Ab.removeChild(n[q]);for(q=n.length;q<f.length;q++)this.Ab.Wa(this.BN[q]);
for(q=0;q<f.length;q++)n[q].ma({text:f[q],ariaLabel:f[q],ariaRole:"option"});this.S("items");p=f=!0}this.K("selectedIndex")&&(this.S("selectedIndex"),f=!0);var r="horizontalAlign popUpBackgroundOpacity popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop fontFamily fontSize fontWeight fontStyle tabIndex textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");for(q=0;q<r.length;q++)n=r[q],this.K(n)&&(this.S(n),
p=!0);if(p)for(r={fontFamily:this.B("fontFamily"),fontSize:this.B("fontSize"),fontWeight:this.B("fontWeight"),fontStyle:this.B("fontStyle"),horizontalAlign:this.B("horizontalAlign"),tabIndex:this.B("tabIndex"),textDecoration:this.B("textDecoration"),textShadowColor:this.B("textShadowColor"),textShadowHorizontalLength:this.B("textShadowHorizontalLength"),textShadowVerticalLength:this.B("textShadowVerticalLength"),textShadowBlurRadius:this.B("textShadowBlurRadius"),textShadowOpacity:this.B("textShadowOpacity"),
paddingBottom:this.B("popUpPaddingBottom"),paddingLeft:this.B("popUpPaddingLeft"),paddingRight:this.B("popUpPaddingRight"),paddingTop:this.B("popUpPaddingTop"),backgroundOpacity:this.B("popUpBackgroundOpacity")},n=this.Ab.jb(),q=0;q<n.length;q++)n[q].ma(r);r="selectedIndex overIndex popUpBackgroundColor rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor".split(" ");for(q=0;q<r.length;q++)n=r[q],this.K(n)&&(this.S(n),f=!0);if(f){f=
this.B("popUpBackgroundColor");r=this.B("rollOverPopUpBackgroundColor")||f;p=this.B("selectedPopUpBackgroundColor")||f;var t=this.B("popUpFontColor"),u=this.B("rollOverPopUpFontColor")||t,v=this.B("selectedPopUpFontColor")||t,w=this.B("selectedIndex"),x=this.B("overIndex");n=this.Ab.jb();for(q=0;q<n.length;q++)q==w?n[q].ma({fontColor:v,backgroundColor:p}):q==x?n[q].ma({fontColor:u,backgroundColor:r}):n[q].ma({fontColor:t,backgroundColor:f})}if(this.HU||this.K("popUpGap")||this.K("buttonWidth"))this.vd&&
this.Ab.set("minWidth",this.vd.Xa()),this.S("popUpGap"),this.Fxa(),this.HU=!1;this.pc("popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),{popUpShadow:"shadow",popUpShadowBlurRadius:"shadowBlurRadius",popUpShadowColor:"shadowColor",popUpShadowHorizontalLength:"shadowHorizontalLength",popUpShadowOpacity:"shadowOpacity",popUpShadowSpread:"shadowSpread",popUpShadowVerticalLength:"shadowVerticalLength"},
[this.Ab],!0,!0);this.lxa();g.prototype.Za.call(this)};a.prototype.Fxa=function(){if(this.vd){var f=this.ob(),p=this.vd.o2a(f),q=this.vd.Xa(),n=this.vd.yb(),r=this.B("popUpGap"),t=this.Ab.Jb,u=this.Ab.Yb,v=f.yb()-(p.top+n+r)-5,w=p.top-5-r,x=this.B("horizontalAlign");u<=v?(this.$z=!0,this.Ab.set("top",p.top+n+r),this.Ab.set("maxHeight",void 0),this.Ab.set("overflow",b.nG)):u<=w?(this.$z=!1,this.Ab.set("top",p.top-u-r),this.Ab.set("maxHeight",void 0),this.Ab.set("overflow",b.nG)):(v>=w?(this.$z=!0,
this.Ab.set("top",p.top+n+r),this.Ab.set("maxHeight",v)):(this.$z=!1,this.Ab.set("top",p.top-w+r),this.Ab.set("maxHeight",w)),this.Ab.set("overflow",b.Jp));n=x==m.Oe?p.left+Math.round(.5*(q-t)):x==m.qb?p.left+q-t:p.left;0>n?n=p.left:p.left+t>f.Xa()&&(n=p.left+q-t);this.Ab.set("left",n);this.lxa()}};a.prototype.lxa=function(){var f=this.B("popUpBorderRadius");this.Ab.ma({borderTopRadius:this.$z?0:f,borderBottomRadius:this.$z?f:0});for(var p=this.Ab.jb(),q=0;q<p.length;q++){var n=0==q,r=q==p.length-
1;p[q].ma({borderTopRadius:!this.$z&&n?f:0,borderBottomRadius:this.$z&&r?f:0})}};return a});
define("ps","require lE cC pf oz hR lL jg".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("pf"),k=a("oz"),b=a("hR"),h=a("lL"),g=a("jg");a=e.extend(k,function(){k.call(this);this.Sv=this.Sv.bind(this);this.Fe("DropDown");this.pN=!1;this.vd=this.Ii=null;this.bwa=!0;this.Te=-1;this.So=!1});a.prototype.vb=function(){k.prototype.vb.call(this);this.h("prompt","");this.h("label","");this.h("items",[]);this.h("selectedIndex",-1);this.h("arrowBeforeLabel");this.h("arrowWidth",9);this.h("arrowHeight",5);
this.h("arrowGap",5);this.h("borderRadius",5);this.h("borderSize",1);this.h("backgroundColorDirection","vertical");this.h("horizontalAlign","left");this.h("paddingLeft",5);this.h("paddingTop",5);this.h("paddingRight",5);this.h("paddingBottom",5);this.h("fontFamily");this.h("fontSize");this.h("fontColor","#555555");this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowVerticalLength");this.h("textShadowBlurRadius");
this.h("textShadowOpacity");this.h("popUpGap",0);this.h("popUpBorderRadius");this.h("popUpPaddingBottom",2);this.h("popUpPaddingLeft",5);this.h("popUpPaddingRight",5);this.h("popUpPaddingTop",2);this.h("popUpShadow",!0);this.h("popUpShadowBlurRadius");this.h("popUpShadowColor");this.h("popUpShadowHorizontalLength");this.h("popUpShadowOpacity");this.h("popUpShadowSpread");this.h("popUpShadowVerticalLength");this.h("popUpBackgroundColor","#FFFFFF");this.h("popUpBackgroundOpacity");this.h("rollOverPopUpBackgroundColor");
this.h("selectedPopUpBackgroundColor");this.h("popUpFontColor","#555555");this.h("rollOverPopUpFontColor");this.h("selectedPopUpFontColor");this.h("borderColor","#AAAAAA");this.h("arrowColor","#000000");this.h("backgroundColor",["#FAFAFA","#E5E5E5"]);this.h("backgroundColorRatios",[0,1]);this.h("shadow",!1);this.h("rollOverBorderColor");this.h("rollOverArrowColor");this.h("rollOverBackgroundColor");this.h("rollOverBackgroundColorRatios");this.h("rollOverShadow");this.h("pressedBorderColor");this.h("pressedArrowColor");
this.h("pressedBackgroundColor");this.h("pressedBackgroundColorRatios");this.h("pressedShadow");this.h("pressedRollOverBorderColor");this.h("pressedRollOverArrowColor");this.h("pressedRollOverBackgroundColor");this.h("pressedRollOverBackgroundColorRatios");this.h("pressedRollOverShadow")};a.prototype.Db=function(){k.prototype.Db.call(this);this.vd||(this.vd=new b,this.vd.bind(m.oc,this.DSa,this),this.vd.bind(m.OPEN,this.eTa,this),this.vd.bind(m.WF,this.AX,this),this.vd.bind(m.Tc,this.CSa,this),this.vd.set("width",
"100%"),this.vd.set("height","100%"),this.vd.set("toolTipDisabled",!0),this.Wa(this.vd));this.Ii||(this.Ii=new h,this.Ii.bind(m.WF,this.AX,this),this.Ii.bind(m.Kp,this.sTa,this),this.ob().Wa(this.Ii))};a.prototype.DSa=function(){this.bwa=!0;this.pe()};a.prototype.eTa=function(){this.vd.open();this.Ii.set("selectedIndex",this.get("selectedIndex"));this.Ii.open(this.vd);g.Cya(this,[this.vd.ce()].concat(this.Ii.EAa()));g.Tea(this.Sv)};a.prototype.Sv=function(){this.AX()};a.prototype.AX=function(){g.t3a([this.vd.ce()].concat(this.Ii.EAa()))&&
this.vd.ce().focus();g.o5a(this);g.Tha(this.Sv);this.vd.close();this.Ii.close()};a.prototype.CSa=function(){this.vd.close();this.Ii.close()};a.prototype.sTa=function(){this.set("selectedIndex",this.Ii.get("selectedIndex"));this.AX();this.So=!0};a.prototype.Za=function(){var c=!1;if(this.K("prompt")||this.K("label"))c=!0,this.S("label"),this.S("prompt");if(this.K("selectedIndex")||this.K("items")){c=!0;var d=this.B("selectedIndex"),f=this.B("items");0<=d&&d>=f.length&&(d=-1);this.set("selectedIndex",
d);this.Ii.set("items",this.B("items"));this.Ii.set("selectedIndex",this.B("selectedIndex"));this.S("items");this.S("selectedIndex");this.So&&(this.So=!1,this.trigger(new l(m.ca)))}c&&(c=this.B("label"),c||(d=this.B("selectedIndex"),c=0>d?this.B("prompt"):this.B("items")[d]),this.vd.set("label",c));this.bwa&&(this.Ii.set("minWidth",this.vd.Xa()),this.Ii.set("buttonWidth",this.vd.Xa()));this.pc("fontFamily fontSize fontColor fontWeight fontStyle tabIndex textDecoration horizontalAlign textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" "),
{},[this.vd,this.Ii],!0,!0);this.pc("popUpBorderRadius popUpGap popUpPaddingBottom popUpPaddingLeft popUpPaddingRight popUpPaddingTop popUpBackgroundColor popUpBackgroundOpacity rollOverPopUpBackgroundColor selectedPopUpBackgroundColor popUpFontColor rollOverPopUpFontColor selectedPopUpFontColor popUpShadow popUpShadowBlurRadius popUpShadowColor popUpShadowHorizontalLength popUpShadowOpacity popUpShadowSpread popUpShadowVerticalLength".split(" "),{},[this.Ii],!0,!0);this.pc("arrowBeforeLabel arrowWidth arrowHeight arrowColor rollOverArrowColor pressedArrowColor pressedRollOverArrowColor arrowGap shadow shadowBlurRadius shadowColor shadowHorizontalLength shadowOpacity shadowSpread shadowVerticalLength borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize borderColor borderLeftColor borderTopColor borderRightColor borderBottomColor rollOverBorderColor pressedBorderColor pressedRollOverBorderColor backgroundColor backgroundColorRatios backgroundColorDirection backgroundOpacity rollOverBackgroundColor rollOverBackgroundColorRatios rollOverShadow pressedBackgroundColor pressedBackgroundColorRatios pressedShadow pressedRollOverBackgroundColor pressedRollOverBackgroundColorRatios pressedRollOverShadow paddingLeft paddingTop paddingRight paddingBottom".split(" "),
{},[this.vd],!0,!0);k.prototype.Za.call(this)};return a});
define("fR",["require","y","pf","nU","ps"],function(a){var e=a("y"),l=a("pf"),m=a("nU"),k=a("ps");a=m.define("DropDown",k,function(){k.call(this);this.yd=null;this.Kqa=[];this.bind(l.ca,this.GSa,this)});a.prototype.set=function(b,h){if("playList"==b){if(this.yd)for(this.yd.unbind("change",this.Zv,this);this.Kqa.length;)this.Kqa.shift().$A();(this.yd=h)?(e.bu(this.yd,"items.label",this.p_,this),e.bu(this.yd,"items.media.label",this.p_,this),this.p_(),this.yd.bind("change",this.Zv,this),this.Zv()):
this.p_()}k.prototype.set.call(this,b,h)};a.prototype.p_=function(){this.yd?this.set("items",this.yd.get("items").map(function(b){return b.get("label")||b.get("media")&&b.get("media").get("label")})):this.set("items",[])};a.prototype.Zv=function(){this.set("selectedIndex",this.yd.get("selectedIndex"))};a.prototype.GSa=function(){this.yd&&this.yd.set("selectedIndex",this.get("selectedIndex"))};return a});
define("dv",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("DustPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(l,m){"startState"==l&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,l,m)};return a});
define("bB",["require","nU","ez"],function(a){var e=a("nU"),l=a("ez");a=e.define("Effect",l,function(){l.call(this)});a.prototype.cancel=function(){return l.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return l.prototype.$k.apply(this,arguments)};a.prototype.play=function(){return l.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return l.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return l.prototype.stop.apply(this,arguments)};
return a});define("ke",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("ExternalModel3DObject",l,function(){l.call(this)})});
define("bo",["require","lE","ez"],function(a){var e=a("lE"),l=a("ez");a=e.extend(l,function(){l.call(this);this.W5=this.U5=null});a.prototype.TI=function(){l.prototype.TI.call(this);this.U5=[];this.W5=[];this.Ry(function(m){this.U5.push(this.get("alphaFrom",m.Zk()));this.W5.push(this.get("alphaTo",m.Zk()))});this.XY()};a.prototype.vw=function(){l.prototype.vw.call(this);this.XY()};a.prototype.XY=function(){this.Ry(function(m,k){var b=this.U5[k];k=b+(this.W5[k]-b)*this.$k();!(0<m.Zk()&&m.Mb)&&0<k?
(m.vj(0),m.Bf(!0),m.vj(k)):0==k?(m.Bf(!1),m.vj(1)):m.vj(k)})};a.prototype.RI=function(){this.XY();l.prototype.RI.call(this)};a.prototype.SI=function(){this.XY();l.prototype.SI.call(this)};return a});define("nM",["require","lE","bo"],function(a){var e=a("lE"),l=a("bo");return e.extend(l,function(){l.call(this);this.set("alphaFrom",0);this.set("alphaTo",1)})});define("nY",["require","nU","nM"],function(a){var e=a("nU"),l=a("nM");return e.define("FadeInEffect",l,function(){l.call(this)})});
define("oh",["require","lE","bo"],function(a){var e=a("lE"),l=a("bo");return e.extend(l,function(){l.call(this);this.set("alphaFrom",1);this.set("alphaTo",0)})});define("jY",["require","nU","oh"],function(a){var e=a("nU"),l=a("oh");return e.define("FadeOutEffect",l,function(){l.call(this)})});
define("gi","require mh pf lg nU lH".split(" "),function(a){var e=a("mh"),l=a("pf"),m=a("lg"),k=a("nU"),b=a("lH");a=k.define("Model3DCamera",e,function(){e.call(this);this.set("userInteracting",!1);this.set("moving",!1);this.set("mouseDisabled",!1);this.set("clickTranslationDisabled",!1);this.set("doubleClickDisabled",!1);this.X7=this.T6=!1;"distance fov yaw pitch x y z".split(" ").forEach(function(h){this.bind(l.D(h),this.mTa,this,!0)}.bind(this))});a.prototype.r8a=function(){this.ZI={x:this.get("x"),
y:this.get("y"),z:this.get("z"),yaw:this.get("yaw"),pitch:this.get("pitch"),distance:this.get("distance"),fov:this.get("fov")}};a.prototype.setPosition=function(h){void 0!==h.x&&this.set("x",h.x);void 0!==h.y&&this.set("y",h.y);void 0!==h.z&&this.set("z",h.z);void 0!==h.distance&&this.set("distance",h.distance);void 0!==h.Qa&&this.set("yaw",h.Qa);void 0!==h.pitch&&this.set("pitch",h.pitch);void 0!==h.fov&&this.set("fov",h.fov);this.set("easing",0)};a.prototype.FWa=function(h){this.ZI||(this.ZI={});
for(var g in h)this.ZI[g]=h[g]};a.prototype.K5a=function(){this.ZI&&this.setPosition(this.ZI)};a.prototype.e6a=function(h){this.T6!==h&&(this.T6=h,this.MYa())};a.prototype.MYa=function(){this.set("clickTranslationDisabled",this.T6)};a.prototype.m6a=function(h){this.X7!==h&&(this.X7=h,this.TYa())};a.prototype.TYa=function(){this.set("doubleClickDisabled",this.X7)};a.prototype.mTa=function(){this.bua||(this.bua=!0,b.OA(function(){this.bua=!1;this.mYa()}.bind(this)))};a.prototype.mYa=function(){this.trigger(l.wu)};
a.S9a=100;a.prototype.setStoredPosition=function(h){this.FWa(h)};a.prototype.play=function(){this.set("state",m.Y)};a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=function(){this.set("state",m.W)};return a});define("kY",["require","nU","gi"],function(a){var e=a("nU"),l=a("gi");return e.define("FirstPersonModel3DCamera",l,function(){l.call(this);this.set("distance",0)})});
define("cR",["require","mh","pf","nU","ez"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("ez");a=m.define("HotspotPanoramaOverlay",e,function(){e.call(this);this.bind(l.bd,this.ij,this,!0);this.bind(l.Tc,this.hj,this,!0);this.ui=[];this.Mb=!1});a.prototype.set=function(b,h){switch(b){case "enabledInCardboard":this.set("enabledInVR",h);break;case "effect":case "rollOverEffect":case "areas":this.DUa(),this.ui=[]}e.prototype.set.call(this,b,h);switch(b){case "enabledInCardboard":this.set("enabledInVR",
h);break;case "effect":case "rollOverEffect":case "areas":this.dKa()}};a.prototype.dKa=function(){this.get("effect")&&this.get("effect").bind(k.lu,this.gsa,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").bind(k.lu,this.sta,this,!0);this.get("areas",[]).forEach(function(b){b.bind(l.ad,this.Wra,this,!0);b.bind(l.Xb,this.Vra,this,!0)}.bind(this))};a.prototype.DUa=function(){this.get("effect")&&this.get("effect").unbind(k.lu,this.gsa,this,!0);this.get("rollOverEffect")&&this.get("rollOverEffect").unbind(k.lu,
this.sta,this,!0);this.get("areas",[]).forEach(function(b){b.unbind(l.ad,this.Wra,this,!0);b.unbind(l.Xb,this.Vra,this,!0)}.bind(this))};a.prototype.Wra=function(b){0>this.ui.indexOf(b.source)&&(this.ui.push(b.source),1==this.ui.length&&this.hI())};a.prototype.Vra=function(b){b=this.ui.indexOf(b.source);0<=b&&(this.ui.splice(b,1),0==this.ui.length&&this.sn())};a.prototype.hI=function(){var b=this.get("effect"),h=this.get("rollOverEffect");h&&(b&&0<b.$k()?b.reverse():h.play())};a.prototype.sn=function(){var b=
this.get("rollOverEffect");if(b){var h=this.get("effect");0<b.$k()?b.reverse():h&&h.get("loop")&&h.play()}};a.prototype.gsa=function(){if(0<this.ui.length){var b=this.get("rollOverEffect");b&&(this.get("effect").stop(),b.play())}};a.prototype.sta=function(){if(0==this.ui.length){this.get("rollOverEffect").stop();var b=this.get("effect");b&&b.get("loop")&&b.play()}};a.prototype.ij=function(){var b=this.get("effect");b&&b.play()};a.prototype.hj=function(){var b=this.get("effect");b&&b.stop();(b=this.get("rollOverEffect"))&&
b.stop()};return a});define("mS",["require","nU","cR"],function(a){var e=a("nU"),l=a("cR");return e.define("FlatHotspotPanoramaOverlay",l,function(){l.call(this)})});define("u",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("HotspotPanoramaOverlayArea",e,function(){e.call(this);this.set("displayTooltipInTouchScreens",!0)})});define("fJ",["require","nU","u"],function(a){var e=a("nU"),l=a("u");return e.define("FlatHotspotPanoramaOverlayArea",l,function(){l.call(this)})});
define("ii",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("QuadPanoramaOverlayPlaybackPosition",e,function(l,m,k){e.call(this);void 0!==l&&this.set("vertices",l);this.set("opacity",void 0!==m?m:1);void 0!==k&&this.set("timestamp",k)})});
define("ei",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("FlatPanoramaOverlayPlaybackPosition",e,function(l,m,k,b,h){e.call(this);void 0!==l&&this.set("yaw",l);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("roll",k);this.set("opacity",void 0!==b?b:1);void 0!==h&&this.set("timestamp",h)})});
define("gu",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaOverlayPlaybackPosition",e,function(l,m,k,b,h,g,c,d,f){e.call(this);void 0!==l&&this.set("yaw",l);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==h&&this.set("roll",h);void 0!==g&&this.set("hfov",g);void 0!==c&&this.set("vfov",c);this.set("opacity",void 0!==d?d:1);void 0!==f&&this.set("timestamp",f)})});
define("cG",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaPoint",e,function(l,m){e.call(this);this.set("yaw",l);this.set("pitch",m)})});
define("T",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PopupPanoramaOverlayPlaybackPosition",e,function(l,m,k,b,h,g,c){e.call(this);void 0!==l&&this.set("yaw",l);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("rotationX",k);void 0!==b&&this.set("rotationY",b);void 0!==h&&this.set("rotationZ",h);void 0!==g&&this.set("hfov",g);void 0!==c&&this.set("timestamp",c)})});
define("kE","require mh ii ei gu cG T".split(" "),function(a){var e=a("mh"),l=a("ii"),m=a("ei"),k=a("gu"),b=a("cG"),h=a("T");return{Q1a:function(g){return this.fW(g,this.EOa)},oga:function(g){return this.fW(g,this.$Ta)},l2a:function(g){return this.fW(g,this.gUa)},pga:function(g){return this.fW(g,this.qUa)},EOa:function(g){return new m(e.prototype.get.call(g,"yaw",0),e.prototype.get.call(g,"pitch",0),e.prototype.get.call(g,"roll",0),e.prototype.get.call(g,"opacity",1),0)},qUa:function(g){var c=e.prototype.get.call(g,
"vertices",[null,null,null,null]);return new l([c[0]||new b(0,0),c[1]||new b(0,0),c[2]||new b(0,0),c[3]||new b(0,0)],e.prototype.get.call(g,"opacity",1),0)},$Ta:function(g){function c(d,f){return e.prototype.get.call(g,d,f)}return new k(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",0),c("roll",0),c("hfov",void 0===c("vfov")?45:void 0),c("vfov"),c("opacity",1),0)},gUa:function(g){function c(d,f){return e.prototype.get.call(g,d,f)}return new h(c("yaw",0),c("pitch",0),c("rotationX",0),c("rotationY",
0),c("rotationZ",0),c("hfov",45),0)},fW:function(g,c){var d=e.prototype.get.call(g,"playbackPositions")||[];return 0<d.length?d.slice().sort(function(f,p){return f.get("timestamp")-p.get("timestamp")||d.indexOf(f)-d.indexOf(p)}):[c(g)]}}});
define("jA",["require","mh","pf","nU","kE"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("kE");a=m.define("FlatHotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.jd=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.jd&&(this.jd=k.Q1a(this)),this.jd}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var g=!1;switch(b){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.jd=void 0,
g=!0}e.prototype.set.call(this,b,h);g&&"playbackPositions"!=b&&this.trigger(l.D("playbackPositions"))};return a});define("q",["require","nU","jA"],function(a){var e=a("nU"),l=a("jA");return e.define("FlatHotspotPanoramaOverlayImage",l,function(){l.call(this)})});define("ed",["require","nU","jA"],function(a){var e=a("nU"),l=a("jA");return e.define("FlatHotspotPanoramaOverlayMap",l,function(){l.call(this)})});
define("oU",["require","nU","gi"],function(a){var e=a("nU"),l=a("gi");return e.define("FlyOverModel3DCamera",l,function(){l.call(this)})});
define("ng",["require","mh","pf","nU","kE"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("kE");a=m.define("FramePanoramaOverlay",e,function(){e.call(this);this.jd=void 0});a.prototype.set=function(b,h){var g=!1;switch(b){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.jd=void 0,g=!0}e.prototype.set.call(this,b,h);g&&"playbackPositions"!=b&&this.trigger(l.D("playbackPositions"))};a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===
this.jd&&(this.jd=k.oga(this)),this.jd}return e.prototype.get.call(this,b,h)};return a});define("kg",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("Model3DResource",e,function(){e.call(this)});a.prototype.get=function(l,m){switch(l){case "levels":m=[this];break;case "url":for(var k=e.prototype.get.call(this,l),b=this.get("levels"),h=0;b&&h<b.length&&void 0===k;h++){var g=b[h];g!=this&&(k=g.get(l))}return void 0!==k?k:m}return e.prototype.get.call(this,l,m)};return a});
define("cs",["require","kg","nU"],function(a){var e=a("kg");return a("nU").define("TDTilesModel3DResource",e,function(){e.call(this)})});
define("mD",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("Model3DResourceLevel",e,function(){e.call(this)});a.fU="mobile";a.prototype.get=function(l,m){switch(l){case "levels":m=[this];break;case "url":for(var k=e.prototype.get.call(this,l),b=this.get("levels"),h=0;b&&h<b.length&&void 0===k;h++){var g=b[h];g!=this&&(k=g.get(l))}return void 0!==k?k:m}return e.prototype.get.call(this,l,m)};return a});
define("cZ",["require","cs","mD","nU"],function(a){var e=a("cs"),l=a("mD");a=a("nU").define("GoogleMaps3DTilesModel3DResource",e,function(){e.call(this)});a.prototype.set=function(b,h){e.prototype.set.call(this,b,h);switch(b){case "latitude":case "longitude":this.sf();break;case "apiKey":this.eZa()}};a.prototype.sf=function(){var b=this.get("latitude"),h=this.get("longitude");if(void 0!==b&&void 0!==h){b=this.lpa(b,h);h=(new THREE.Vector3).crossVectors(b,(new THREE.Vector3).crossVectors(this.lpa(90,
0),b));var g=new THREE.Vector3(0,0,0);h=(new THREE.Matrix4).lookAt(b,g,h).invert();h=(new THREE.Matrix4).makeRotationX(-Math.PI/2).multiply(h);h=(new THREE.Euler).setFromRotationMatrix(h,"XYZ");this.set("rotationOrder",h.order);this.set("rotationX",h.x*k);this.set("rotationY",h.y*k);this.set("rotationZ",h.z*k);this.set("positionX",-b.x);this.set("positionY",-b.y);this.set("positionZ",-b.z)}};a.prototype.lpa=function(b,h){b*=m;h*=m;var g=1/298.257223563;const c=Math.sin(b);b=Math.cos(b);g=2*g-g*g;
const d=6378137/Math.sqrt(1-g*c*c);return new THREE.Vector3((d+0)*b*Math.cos(h),(d+0)*b*Math.sin(h),d*(1-g)*c)};a.prototype.eZa=function(){var b=this.get("apiKey");if(void 0!==b){var h=new l;h.set("url","https://tile.googleapis.com/v1/3dtiles/root.json?key="+b);this.set("levels",[h])}};var m=Math.PI/180,k=180/Math.PI;return a});
define("dr",["require","en","lE","oz","d"],function(a){var e=a("en"),l=a("lE"),m=a("oz");a=a("d");var k=l.extend(m,function(){m.call(this)});k.zc={layout:a.Zx};e.defaults(k.zc,m.zc);k.prototype.vb=function(){this.io(k.zc)};return k});define("kd",["require","nU","dr"],function(a){var e=a("nU"),l=a("dr");return e.define("GridContainer",l,function(){l.call(this)})});
define("jI","require en jquery.mod cC gv pf ik mB gY bv lE".split(" "),function(a){function e(){}function l(q){this.g5a=q;this.items=[];this.priority=0}var m=a("en");a("jquery.mod");var k=a("cC"),b=a("gv"),h=a("pf"),g=a("ik"),c=a("mB"),d=a("gY"),f=a("bv"),p=a("lE").extend(b,function(q){b.call(this);this.url=q;this.Sha=this.priority=0;this.status=p.l5;this.Ix=null});p.prototype.hha=function(q){this.Sha+=q};p.prototype.wK=function(q){this.priority+=q};p.prototype.start=function(){this.status=p.eU;d.p3(this.url)?
this.mz():this.ro=f.add(this.url,g.L3,this.nVa.bind(this),this.Wma.bind(this))};p.prototype.nVa=function(){this.Ix=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.Ix.open("GET",this.url);this.Ix.onreadystatechange=function(){3<this.Ix.readyState&&this.mz()}.bind(this);this.Ix.send()};p.prototype.Wma=function(){this.Ix&&(this.Ix.abort(),this.Ix=null)};p.prototype.stop=function(){this.status==p.eU&&(this.status=p.l5,this.Wma(),this.ro&&this.ro.cancel())};p.prototype.mz=
function(){this.Ix=null;this.ro&&(this.ro.loaded(),this.ro=null);this.status=p.hJa;this.trigger(new k(h.Z))};p.l5="not loaded";p.eU="loading";p.hJa="loaded";l.prototype.v_a=function(q){q.forEach(function(n){0>this.items.indexOf(n)&&(this.items.push(n),n.wK(this.priority),n.hha(1))}.bind(this))};l.prototype.t5a=function(q){var n=this.items;this.items=[];n.forEach(function(r){0>q.indexOf(r)?this.items.push(r):(r.wK(-this.priority),r.hha(-1))}.bind(this))};l.prototype.i5a=function(){this.items.forEach(function(q){q.wK(-this.priority);
q.hha(-1)}.bind(this));this.items=[];this.priority=0};l.prototype.wK=function(q){this.priority+=q;this.items.forEach(function(n){n.wK(q)})};e.ge=[];e.Fua=[];e.NOa=0;e.Bya=function(q,n){this.SY(q).v_a(n.map(function(r){return this.ya(r)}.bind(this)));this.IZ();this.ia()};e.C5a=function(q,n){this.SY(q).t5a(n.map(function(r){return this.ya(r)}.bind(this)));this.IZ();this.ia()};e.j5a=function(q){this.SY(q).i5a();this.IZ();this.ia()};e.N1=function(q,n){this.SY(q).wK(n);this.IZ();this.ia()};e.IZ=function(){this.ge.sort(function(q,
n){return n.priority-q.priority})};e.ia=function(q){if(this.enabled()&&(q||!this.pt))if(q){this.pt&&clearTimeout(this.pt);this.pt=null;q=this.OPa();var n=this.PPa();m(q).difference(n).forEach(function(r){r.stop()});m(n).difference(q).forEach(function(r){r.start()})}else this.pt=setTimeout(function(){this.pt=null;this.ia(!0)}.bind(this),1E3)};e.pt=null;e.OPa=function(){return this.ge.filter(function(q){return q.status==p.eU})};e.PPa=function(){for(var q=this.QPa(),n=[],r=0;r<this.ge.length&&n.length<
q;r++){var t=this.ge[r];0<t.Sha&&(t.status==p.l5||t.status==p.eU)&&n.push(t)}return n};e.QPa=function(){return 0<this.NOa?0:5};e.SY=function(q){var n=m(this.Fua).find(function(r){return r.g5a==q});n||(n=new l(q),this.Fua.push(n));return n};e.ya=function(q){var n=m(this.ge).find(function(r){return r.url==q});n||(n=new p(q),n.bind(h.Z,this.ia,this),this.ge.push(n));return n};e.enabled=function(q){if(void 0===q)return e.LNa||e.MNa?!1:void 0!==e.k8?e.k8:e.T;e.T=q};e.T=!0;e.Mia=function(q){e.k8=q.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)};
e.k8=void 0;e.MNa=c.gg("disable-background-preload",!1);e.LNa=!1;return e});define("eu",["require","lE","mh","nU","jI"],function(a){var e=a("lE"),l=a("mh"),m=a("nU"),k=a("jI");a=m.define("Media",l,function(){l.call(this);this.bea=e.ip(this.bea,this)});a.prototype.bea=function(){k.Bya(this,this.Mt())};a.prototype.Mt=function(){return[]};a.prototype.y5a=function(){k.j5a(this)};a.prototype.set=function(b,h){l.prototype.set.call(this,b,h);this.bea()};return a});
define("fh",["require","nU","eu"],function(a){var e=a("nU"),l=a("eu");a=e.define("Panorama",l,function(){l.call(this);this.UW=this.UI=void 0;this.set("minFaceSize",void 0)});a.prototype.get=function(m,k){switch(m){case "overlays":return this.e9();case "frames":return this.zpa();case "partial":if(359.9>this.get("hfov"))return!0}return l.prototype.get.call(this,m,k)};a.prototype.set=function(m,k){switch(m){case "cardboardMenu":this.set("vrMenu",k)}l.prototype.set.call(this,m,k)};a.prototype.e9=function(){var m=
l.prototype.get.call(this,"overlays");m||(m=[]);return this.Lca(m)};a.prototype.Lca=function(m){if(void 0===this.UI||this.UW!=m){var k=function(h){return e.Ia("PopupPanoramaOverlay",h)},b=function(h){return e.Ia("LensFlarePanoramaOverlay",h)};this.UW=m;this.UI=[].concat(m.filter(function(h){return!(k(h)||b(h))}),m.filter(b),m.filter(k))}return this.UI};a.prototype.rBa=function(){return 0<this.get("overlays").filter(function(m){return e.Ia("TripodCapPanoramaOverlay",m)}).length};a.prototype.hBa=function(){return 0<
this.get("overlays").filter(function(m){return e.Ia("CeilingCapPanoramaOverlay",m)}).length};a.prototype.HBa=function(){if(!this.Fga())return!1;var m=this.get("pitch",0),k=this.get("vfov",180);if(179.9<=k)return!0;var b=this.hBa()?90:m+.5*k;m=this.rBa()?-90:m-.5*k;return 179.9<=b-m?!0:!1};a.prototype.Fga=function(){return 359.9<=this.get("hfov")&&!this.get("partial")};a.prototype.tm=function(){var m=this.zpa();return 0<m.length&&m[0].tm()};a.prototype.AR=function(){return 0};a.prototype.zpa=function(){var m=
l.prototype.get.call(this,"frames",[]);m.forEach(function(k){k.J_a(this)}.bind(this));return m};return a});define("nC",["require","nU","fh"],function(a){var e=a("nU"),l=a("fh");a=e.define("HDRPanorama",l,function(){l.call(this)});a.prototype.AR=function(){var m=this.get("frames")||[];return Math.floor((m.length-1)/2)};return a});define("mm",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("HotspotMapOverlayArea",e,function(){e.call(this)})});
define("mq",["require","mh","nU"],function(a){var e=a("mh"),l=a("nU").define("ImageResourceLevel",e,function(){e.call(this)});l.prototype.get=function(m,k){switch(m){case "tags":return(m=e.prototype.get.call(this,m))||(m=[]),Array.isArray(m)||(m=[m]),0>m.indexOf(l.js)&&e.prototype.get.call(this,"grayscale")&&(m=m.concat([l.js])),m}return e.prototype.get.call(this,m,k)};l.prototype.qBa=function(m){return 0<=this.get("tags").indexOf(m)};l.js="preload";l.fU="mobile";l.bla="ipadpro";l.gU="mobilevr";l.q5=
"mobilevr2gen";l.r5="ondemand";return l});
define("gn",["require","mq","v","mB"],function(a){var e=a("mq"),l=a("v"),m=a("mB");return{qr:function(k){return this.Zj(k,"load")},PE:function(k){return this.Zj(k,"preload")},iK:function(k){return this.qr(k)!=this.PE(k)},Zj:function(k,b){k=k.get("levels")||[];var h=this.YOa(k);h=this.iQa(b,h);k=this.AOa(k,b);(b=this.Jpa(k,h[0],h[1],this.hQa(b)))||(b=this.Jpa(k,h[0],h[1],void 0));return b},AOa:function(k,b){"preload"==b?k=this.PM(k,e.js):"load"==b&&(k=this.zOa(k,e.js));l.ax()&&(k=this.PM(k,e.bla));
if(l.u1()||l.v1())k=this.PM(k,e.q5);l.yf()&&(k=this.PM(k,e.gU));l.lb()&&(k=this.PM(k,e.fU));return k},YOa:function(k){if(0==k.length)return 1;k.sort(function(b,h){return h.get("width")-b.get("width")});return k[0].get("width")/k[0].get("height")},iQa:function(k,b){if("preload"==k)return[0,0];k=1E4;this.GOa()||(l.yf()?k=2048:l.ax()?k=2048:l.lb()&&(k=1024));return 1>b?[k*b,k]:[k,k/b]},hQa:function(k){if("load"==k)return!1},GOa:function(){return l.ax()&&m.gg("recent_ipad_use_max_res",!1)},PM:function(k,
b){var h=k.filter(function(g){return g.qBa(b)});0==h.length&&(h=k);return h},zOa:function(k,b){var h=k.filter(function(g){return!g.qBa(b)});0==h.length&&(h=k);return h},Jpa:function(k,b,h,g){function c(d){return Math.abs(d.get("width")*d.get("height")-b*h)}k=k.filter(function(d){return void 0!==g&&g!=d.get("grayscale",!1)?!1:!0});if(0==k.length)return null;k.sort(function(d,f){return c(d)-c(f)});return k[0]}}});
define("K",["require","mh","nU","gn"],function(a){var e=a("mh"),l=a("nU"),m=a("gn");a=l.define("HotspotMapOverlayImageBase",e,function(){e.call(this)});a.prototype.qr=function(){return this.get("image")?m.qr(this.get("image")):null};a.prototype.PE=function(){return this.get("image")?m.PE(this.get("image")):null};return a});define("lF",["require","lE","cC"],function(a){var e=a("lE"),l=a("cC");return e.extend(l,function(m,k){l.call(this,m);this.Mg=k})});
define("cu",["require","lE","mh","pf","lF"],function(a){var e=a("lE"),l=a("mh"),m=a("pf"),k=a("lF");a=e.extend(l,function(){l.call(this);this.CQ=[];this.eg=void 0;this.C="initial"});a.prototype.Nt=function(){return this.CQ};a.prototype.VK=function(b){this.CQ!=b&&(this.CQ=b,this.mz=this.eg=void 0)};a.prototype.T6a=function(b){this.eg!==b&&(this.C="loading",this.eg=b,this.trigger(new k(m.lc,this.eg)))};a.prototype.$S=function(){"loaded"!==this.C&&(this.C="loaded",this.trigger(m.Z))};a.prototype.p6a=
function(){"loaded"!==this.C&&(this.C="error",this.trigger(m.xc))};return a});define("dB",["require","lE","cu"],function(a){var e=a("lE"),l=a("cu");a=e.extend(l,function(m){l.call(this);this.hf=m;this.u=void 0});a.prototype.getType=function(){return this.hf};a.prototype.R2a=function(m){return void 0!==this.u&&this.u===m.u};a.lla="map";a.mla="overlay";return a});
define("kj",["require","lE","dB"],function(a){var e=a("lE"),l=a("dB");a=e.extend(l,function(m,k,b){l.call(this,l.mla);this.PTa=m;this.Ka=k;this.Na=b});a.prototype.getX=function(){return this.Ka};a.prototype.getY=function(){return this.Na};a.jla="image";a.ila="fov";return a});
define("mk",["require","lE","kj"],function(a){var e=a("lE"),l=a("kj");a=e.extend(l,function(m,k,b,h,g,c,d,f,p,q,n,r){l.call(this,l.jla,b,h);this.u=m;this.Od=k;this.cva=g;this.Pv=c;this.Qv=d;this.na=f;this.wa=p;this.Jf=q;this.Gl=n;this.mm=r;this.CQ=[k]});a.prototype.Pi=function(){return this.Od};a.prototype.He=function(){return this.na};a.prototype.Xe=function(){return this.wa};return a});
define("hr",["require","nU","K","gn","mk"],function(a){var e=a("nU"),l=a("K"),m=a("gn"),k=a("mk");a=e.define("HotspotMapOverlayImage",l,function(){l.call(this);this.Lv=void 0});a.prototype.getItem=function(){return this.$j()};a.prototype.$j=function(){void 0===this.Lv&&(this.Lv=this.k0());return this.Lv};a.prototype.k0=function(b){var h=this.get("image");return h?(h=m.qr(h),new k(this,h.get("url"),this.get("x"),this.get("y"),b,this.get("offsetX"),this.get("offsetY"),this.get("width"),this.get("height"),
this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))):null};return a});define("N",["require","nU","K"],function(a){var e=a("nU"),l=a("K");return e.define("HotspotMapOverlayMap",l,function(){l.call(this)})});
define("gt",["require","mh","pf","nU","kE"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("kE");a=m.define("HotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.jd=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.jd&&(this.jd=k.oga(this)),this.jd}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var g=!1;switch(b){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.jd=
void 0,g=!0}e.prototype.set.call(this,b,h);g&&"playbackPositions"!=b&&this.trigger(l.D("playbackPositions"))};return a});define("lT",["require","nU","gt"],function(a){var e=a("nU"),l=a("gt");return e.define("HotspotPanoramaOverlayImage",l,function(){l.call(this)})});define("X",["require","nU","gt"],function(a){var e=a("nU"),l=a("gt");return e.define("HotspotPanoramaOverlayMap",l,function(){l.call(this)})});
define("lG",["require"],function(){function a(f){var p={};f=f.split(",");for(var q=0;q<f.length;q++)p[f[q]]=!0;return p}var e=/^<([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,l=/^<\/([-A-Za-z0-9_]+:?[-A-Za-z0-9_]*)[^>]*>/,m=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,k=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),b=a("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),
h=a("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),g=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),c=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),d=a("script,style");return function(f,p){function q(w,x,y,z){x=x.toLowerCase();if(b[x])for(;r.last()&&h[r.last()];)n("",r.last());g[x]&&
r.last()==x&&n("",x);(z=k[x]||!!z)||r.push(x);if(p.start){var E=[];y.replace(m,function(B,A,D,C,J){B=D?D:C?C:J?J:c[A]?A:"";E.push({name:A,value:B,Pfa:B.replace(/(^|[^\\])"/g,'$1\\"')})});p.start&&p.start(x,E,z)}}function n(w,x){if(x)for(x=x.toLowerCase(),w=r.length-1;0<=w&&r[w]!=x;w--);else w=0;if(0<=w){for(x=r.length-1;x>=w;x--)p.end&&p.end(r[x]);r.length=w}}var r=[],t=f;for(r.last=function(){return this[this.length-1]};f;){var u=!0;if(r.last()&&d[r.last()])f=f.replace(new RegExp("(.*?)</"+r.last()+
"[^>]*>"),function(w,x){x=x.replace(/\x3c!--(.*?)--\x3e/g,"$1").replace(/<!\[CDATA\[(.*?)]]\x3e/g,"$1");p.bR&&p.bR(x);return""}),n("",r.last());else{if(0==f.indexOf("\x3c!--")){var v=f.indexOf("--\x3e");0<=v&&(p.p0a&&p.p0a(f.substring(4,v)),f=f.substring(v+3),u=!1)}else if(0==f.indexOf("</")){if(v=f.match(l))f=f.substring(v[0].length),v[0].replace(l,n),u=!1}else 0==f.indexOf("<")&&(v=f.match(e))&&(f=f.substring(v[0].length),v[0].replace(e,q),u=!1);u&&(v=f.indexOf("<"),u=0>v?f:f.substring(0,v),f=0>
v?"":f.substring(v),p.bR&&p.bR(u))}if(f==t)throw"Parse Error: "+f;t=f}n()}});
define("fC","require jquery.mod en lE pf cC gv v lG".split(" "),function(a){var e=a("jquery.mod");a("en");var l=a("lE"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("v"),g=a("lG"),c=l.extend(b,function(d){b.call(this);this.Df=e(d);this.tP=[];this.Ly=null});c.prototype.l3a=function(d){d&&0<=d.toLowerCase().indexOf("<script")?h.BJ()==h.oL?this.hRa(d):this.gRa(d):this.fRa(d)};c.prototype.fRa=function(d){this.Df.empty();d&&this.Df.append(d);this.Uwa()};c.prototype.hRa=function(d){this.Df.empty();var f=this.Df,p=
null,q=[],n=null;new g(d,{start:function(r,t,u){if("script"==r){u=void 0;for(var v=0;v<t.length&&void 0===u;v++){var w=t[v];"src"==w.name&&(u=w.value)}n={parent:f,previousSibling:p,src:u,content:""}}else{var x={};for(v=0;v<t.length;v++)w=t[v],x[w.name]=w.value;t=e("<"+r+"/>");t.attr(x);f.append(t);u?p=t:(f=t,p=null)}},bR:function(r){n?n.content+=r:f.append(r)},end:function(r){"script"==r?(q.push(n),n=null):(p=f,f=f.parent())}});this.tP=q;this.$W()};c.prototype.gRa=function(d){function f(){q++;return p+
q}this.Df.empty();var p="fragment_"+l.e5a(6)+"_",q=0,n=f(),r=[n],t=void 0,u=[],v=null,w="";new g(d,{start:function(z,E,B){if("script"==z){B=void 0;for(z=0;z<E.length&&void 0===B;z++){var A=E[z];"src"==A.name&&(B=A.value)}v={parentClsName:r[r.length-1],previousSiblingClsName:t,src:B,content:""}}else{w+="<"+z;var D=f(),C=!1;for(z=0;z<E.length;z++)A=E[z],"class"==A.name&&(A.Pfa+=" "+D,C=!0),w+=" "+A.name+'="'+A.Pfa+'"';C||(w+=' class="'+D+'"');B?(w+="/>",t=D):(w+=">",r.push(D),t=void 0)}},bR:function(z){v?
v.content+=z:w+=z},end:function(z){"script"==z?(u.push(v),v=null):(t=r[r.length-1],r.pop())}});this.Df.get(0).innerHTML=w;this.Df.addClass(n);for(d=0;d<u.length;d++){var x=u[d],y=x.parentClsName;delete x.parentClsName;t=x.previousSiblingClsName;delete x.previousSiblingClsName;x.parent=e("."+y);x.previousSibling=t?e("."+t):null}this.Df.removeClass(n);this.tP=u;this.$W()};c.prototype.$W=function(){if(!this.Ly)if(0<this.tP.length){this.Ly=this.tP[0];this.tP.splice(0,1);var d=this.Ly.src;if(d){var f=
this;c.VRa(d,function(){f.Vqa()},function(){f.bSa()})}else{var p=this.Ly.parent;d=this.Ly.previousSibling;var q=d?d.next():p.children(":first");d=document.write;document.write=q.length?function(n){q.before(n)}:function(n){p.append(n)};e.globalEval(this.Ly.content);document.write=d;this.Vqa()}}else this.Uwa()};c.prototype.bSa=function(){this.Ly=null;this.$W()};c.prototype.Vqa=function(){this.Ly=null;this.$W()};c.prototype.Uwa=function(){this.trigger(new k(m.Bb))};c.Tqa={};c.VRa=function(d,f,p){c.Tqa[d]?
f.call(window):e.ajax({url:d,async:!1,dataType:"script",error:p,success:function(){c.Tqa[d]=!0;f.call(window)}})};return c});
define("mY",["require","lE","pf","cC","gv"],function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv");a=e.extend(k,function(b,h){k.call(this);this.qRa=b;this.T=h;this.nj=null});a.prototype.bind=function(){var b=k.prototype.bind.apply(this,arguments);this.zQ();return b};a.prototype.unbind=function(){var b=k.prototype.unbind.apply(this,arguments);this.zQ();return b};a.prototype.start=function(){this.T=!0;this.zQ()};a.prototype.stop=function(){this.T=!1;this.zQ()};a.prototype.JO=function(){this.trigger(new m(l.xe))};
a.prototype.zQ=function(){if(this.T&&this.b1(l.xe)){if(null==this.nj){var b=this;this.nj=setTimeout(function(){b.nj=null;b.JO();b.zQ()},this.qRa)}}else null!=this.nj&&(clearTimeout(this.nj),this.nj=null)};return a});
define("lD","require jquery.mod en lE pf iz nk e fC hG mY".split(" "),function(a){var e=a("jquery.mod"),l=a("en"),m=a("lE"),k=a("pf"),b=a("iz"),h=a("nk"),g=a("e"),c=a("fC"),d=a("hG");a=a("mY");var f=m.extend(g,function(){g.call(this);this.Fe("HTML");this.iC=f.lU;this.oua=this.pua=0;this.cwa=(new Date).getTime();this.yV=this.Fj=null;this.AG=this.AG.bind(this);this.c6=[]});f.prototype.vb=function(){g.prototype.vb.call(this);this.h("content");this.h("horizontalAlign",h.Ya);this.h("verticalAlign",h.le);
this.h("fontFamily");this.h("fontSize");this.h("fontColor");this.h("fontWeight");this.h("fontStyle");this.h("textAlign");this.h("textDecoration");this.h("textShadowBlurRadius",3);this.h("textShadowColor","#000000");this.h("textShadowHorizontalLength",0);this.h("textShadowOpacity",0);this.h("textShadowVerticalLength",0)};f.prototype.$s=function(q){this.gb&&b.get(this.gb).l5a(this.AG);g.prototype.$s.call(this,q);this.gb&&(b.get(this.gb).k_a(this.AG),b.get(this.gb).EJ(this.AG))};f.prototype.Db=function(){g.prototype.Db.call(this);
if(!this.yV){this.Fj=document.createElement("div");this.yV=e(this.Fj);this.S7({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var q=this.Pb();q.QK(!1);q.append(this.yV);this.fqa=new c(this.yV);this.fqa.bind(k.Bb,this.VQa,this,!0);this.bind(k.oc,this.gqa,this)}};f.prototype.Za=function(){var q={},n=!1;this.K("visible")&&(n=!0);this.K("content")&&(n=this.B("content"),this.fqa.l3a(n),this.S("content"),n=!0);if(this.K("width")||this.K("height"))n=!0;this.K("fontFamily")&&
(n=this.B("fontFamily"),l(n).isString()||(n=""),q.fontFamily=d.Vw(n),this.S("fontFamily"),n=!0);this.K("fontSize")&&(n=this.B("fontSize"),l(n).isNumber()?n+="px":l(n).isString()||(n=""),q.fontSize=n,this.S("fontSize"),n=!0);this.K("fontColor")&&(n=this.B("fontColor"),l(n).isString()||(n=""),q.color=n,this.S("fontColor"),n=!0);if(this.K("fontWeight")){n=this.B("fontWeight");switch(n){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;
default:n="normal"}q.fontWeight=n;this.S("fontWeight");n=!0}if(this.K("fontStyle")){n=this.B("fontStyle");switch(n){case "italic":case "normal":break;default:n="normal"}q.fontStyle=n;this.S("fontStyle");n=!0}if(this.K("textDecoration")){n=this.B("textDecoration");switch(n){case "underline":case "overline":case "line-through":case "none":break;default:n="none"}q.textDecoration=n;this.S("textDecoration");n=!0}if(this.K("textAlign")){n=this.B("textAlign");switch(n){case "left":case "right":case "center":case "justify":break;
default:n=""}q["text-align"]=n;this.S("textAlign");n=!0}var r=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(l(r).any(function(u){return this.K(u)},this)){var t={};l(r).each(function(u){t[u]=this.B(u);this.S(u)},this);q["-moz-text-shadow"]=q["-webkit-text-shadow"]=q["text-shadow"]=[t.textShadowHorizontalLength+"px",t.textShadowVerticalLength+"px",t.textShadowBlurRadius+"px","rgba("+parseInt("0x"+t.textShadowColor.substr(1,
2))+", "+parseInt("0x"+t.textShadowColor.substr(3,2))+", "+parseInt("0x"+t.textShadowColor.substr(5,2))+", "+t.textShadowOpacity+")"].join(" ");r=0==t.textShadowVerticalLength&&0==this.B("textShadowHorizontalLength")?135:45*Math.round(4*Math.atan2(t.textShadowHorizontalLength,-t.textShadowVerticalLength)/Math.PI);q.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*t.textShadowOpacity).toString(16)).slice(-2)+t.textShadowColor.substr(1,6)+",direction="+r+")"}l(["paddingTop","paddingRight",
"paddingBottom","paddingLeft"]).any(function(u){return this.K(u)},this)&&(n=!0);this.S7(q);g.prototype.Za.call(this);n&&this.zra()};f.prototype.zra=function(){this.gqa();this.$b();this.B("visible")&&this.B("content")?this.xP(f.xla):this.xP(f.lU)};f.prototype.aA=function(q,n){for(n=q.target;n&&"A"!=n.tagName&&"BUTTON"!=n.tagName;)n=n.parentElement;n=!n;g.prototype.aA.call(this,q,n)};f.prototype.Ov=function(){g.prototype.Ov.call(this);var q=this.Pb();this.Ol=this.Fj.clientWidth+q.cK()+q.eK();this.Nl=
this.Fj.clientHeight+q.fK()+q.ZJ()};f.prototype.Iva=function(q){this.g9()!=q&&(this.Fj.style.paddingLeft=q+"px",this.$b())};f.prototype.g9=function(){return parseInt(this.Fj.style.paddingLeft)||0};f.prototype.Kva=function(q){this.i9()!=q&&(this.Fj.style.paddingTop=q+"px",this.$b())};f.prototype.i9=function(){return parseInt(this.Fj.style.paddingTop)||0};f.prototype.Jva=function(q){this.h9!=q&&(this.Fj.style.paddingRight=q+"px",this.$b())};f.prototype.h9=function(){return parseInt(this.Fj.style.paddingRight)||
0};f.prototype.Hva=function(q){this.f9()!=q&&(this.Fj.style.paddingBottom=q+"px",this.$b())};f.prototype.f9=function(){return parseInt(this.Fj.style.paddingBottom)||0};f.prototype.VQa=function(){this.c6=Array.prototype.slice.call(this.Fj.querySelectorAll("*[style]")).map(function(q){var n={};n.Z0a=q;n.style=q.getAttribute("style");return n}).filter(function(q){return p.test(q.style)}).map(function(q){for(var n=q.style,r=[];;){var t=p.exec(n);if(t)r.push(function(u){return function(){return u}}(n.substr(0,
t.index+1))),r.push(function(u,v){switch(v){case "vw":return function(w){return Math.round(w*u)+"px"};case "vh":return function(w,x){return Math.round(x*u)+"px"};case "vmin":return function(w,x,y){return Math.round(y*u)+"px"};case "vmax":return function(w,x,y){return Math.round(y*u)+"px"}}}(parseFloat(t[1]),t[3].toLowerCase())),n=n.substr(t.index+t[0].length);else return r.push(function(u){return function(){return u}}(n)),q.functions=r,q}});this.gb&&b.get(this.gb).EJ(this.AG)};f.prototype.AG=function(q,
n,r,t){0!=this.c6.length&&(this.c6.forEach(function(u){var v=u.functions.map(function(w){return w(q,n,r,t)}).join("");u.Z0a.setAttribute("style",v)}),this.zra())};f.prototype.gqa=function(){var q={width:"auto",height:"auto"},n=this.Pb();if(!this.t9()){this.Ol!=this.na&&this.$b();var r=this.na-(n.cK()+n.eK());0<r&&(q.width=r+"px")}this.aqa()||(this.Nl!=this.wa&&this.$b(),n=this.wa-(n.fK()+n.ZJ()),0<n&&(q.height=n+"px"));this.S7(q)};f.prototype.asa=function(){var q=this.Fj.clientWidth,n=this.Fj.clientHeight;
this.pua!=q||this.oua!=n?(this.pua=q,this.oua=n,this.$b(),this.xP(f.xla)):(q=(new Date).getTime()-this.cwa,q>f.UJa?this.xP(f.HJa):q>f.TJa&&this.xP(f.GJa))};f.prototype.$Ua=function(){this.cwa=(new Date).getTime()};f.prototype.xP=function(q){this.iC==f.F9a&&this.$Ua();this.iC!=q&&(this.iC!=f.lU&&f.gna[this.iC].unbind(k.xe,this.asa,this),this.iC=q,this.iC!=f.lU&&f.gna[this.iC].bind(k.xe,this.asa,this,!0))};f.prototype.S7=function(q){var n=this.Fj.style,r;for(r in q)n[r]=q[r]};var p=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i;
f.lU="stopped";f.HJa="slow";f.GJa="normal";f.xla="fast";f.UJa=3E4;f.TJa=5E3;f.gna={slow:new a(2E3,!0),normal:new a(500,!0),fast:new a(100,!0)};return f});define("ky",["require","lD","nU"],function(a){var e=a("lD");return a("nU").define("HTML",e,function(){e.call(this)})});define("b",["require","en","lE","oz","d"],function(a){var e=a("en"),l=a("lE"),m=a("oz");a=a("d");var k=l.extend(m,function(){m.call(this)});k.zc={layout:a.DT};e.defaults(k.zc,m.zc);k.prototype.vb=function(){this.io(k.zc)};return k});
define("jc",["require","lE","hY","b","lD"],function(a){var e=a("lE"),l=a("hY"),m=a("b"),k=a("lD");a=e.extend(m,function(){m.call(this);this.cz=null;this.set("contentOpaque",!0)});a.prototype.vb=function(){m.prototype.vb.call(this);this.h("overflow",l.Jp);this.h("html")};a.prototype.Db=function(){m.prototype.Db.call(this);null==this.cz&&(this.cz=new k,this.cz.ma({left:0,toolTipDisabled:!0}),this.Wa(this.cz))};a.prototype.Za=function(){this.K("html")&&(this.cz.set("content",this.B("html")),this.S("html"));
this.pc(["paddingLeft","paddingTop","paddingRight","paddingBottom"],{},[this.cz],!0,!0);this.pc(["cursor"],{},[this.cz],!0,!1);m.prototype.Za.call(this);this.cz.set("width",this.t9()?void 0:"100%")};return a});define("bx",["require","jc","nU"],function(a){var e=a("jc");return a("nU").define("HTMLText",e,function(){e.call(this)})});
define("mg","require jquery.mod lE pf cC mB hA bd mu gW ek mQ".split(" "),function(a){function e(r,t,u){return function(v){var w="mouse"==t?this.Xy(v):this.LC(v);this.Bqa(w)?r.call(this,v):"release"==u?r.call(this,v):this.OOa(w,v)}}var l=a("jquery.mod"),m=a("lE"),k=a("pf"),b=a("cC"),h=a("mB"),g=a("hA"),c=a("bd"),d=a("mu"),f=a("gW"),p=a("ek"),q=a("mQ"),n=h.rj("debug");a=m.extend(q,function(){this.Fe("Button");q.call(this,3);this.set("ariaRole","button");this.set("autoRolledOver",!0);this.set("autoPressed",
!0);this.set("cursor",c.ye);this.set("scaleMode",d.Kh);this.V6=document.createElement("canvas");this.V6.width=1;this.V6.height=1;this.W6=this.V6.getContext("2d");this.W6.globalCompositeOperation="copy";this.z8=!1;this.bind(k.Xb,this.ZQa,this)});a.prototype.vb=function(){q.prototype.vb.call(this);this.h("buttonGroup");this.h("mode",p.ze);this.h("pressed");this.h("iconURL");this.h("transparencyActive");this.v("rollOverOpacity",f.X,"opacity");this.v("rollOverIconURL",f.X,"iconURL");this.v("pressedOpacity",
f.xb,"opacity");this.v("pressedIconURL",f.xb,"iconURL");this.v("pressedRollOverOpacity",f.cc,"opacity");this.v("pressedRollOverIconURL",f.cc,"iconURL")};a.prototype.H8=e(q.prototype.H8,"touch","capture");a.prototype.Toa=e(q.prototype.TOa,"touch");a.prototype.Voa=e(q.prototype.TOa,"touch","release");a.prototype.qda=e(q.prototype.qda,"touch","capture");a.prototype.pda=e(q.prototype.pda,"touch");a.prototype.aA=e(q.prototype.aA,"touch","release");a.prototype.$$=e(q.prototype.$$,"mouse","capture");a.prototype.daa=
function(r){var t=this.Xy(r);if(this.Bqa(t)||this.z8)q.prototype.daa.call(this,r),q.prototype.set.call(this,"cursor",this.Wna);else{this.z8=!0;if(t=this.ypa(t))l(t).trigger(this.rna(r)),r.preventDefault(),r.stopImmediatePropagation();"pointer"==this.rpa(t)?q.prototype.set.call(this,"cursor",c.ye):q.prototype.set.call(this,"cursor",c.xe);this.z8=!1}};a.prototype.ZQa=function(){q.prototype.set.call(this,"cursor",this.Wna)};a.prototype.pX=e(q.prototype.pX,"mouse","release");a.prototype.Bqa=function(r){if(!this.ac)return!1;
if(this.get("transparencyActive"))return!0;var t=this.gb?this.gb.Dz:1,u=this.ac.offset(),v=(r.GA-u.left)/t,w=this.ac.width();r=(r.HA-u.top)/t;t=this.ac.height();if(0<=v&&0<=r&&v<w&&r<t){if(n)return!0;v=v*this.kI/w;w=r*this.jI/t;this.W6.drawImage(this.ac.get(0),v,w,1,1,0,0,1,1);if(0<this.W6.getImageData(0,0,1,1).data[3])return!0}return!1};a.prototype.OOa=function(r,t){if(r=this.ypa(r))l(r).trigger(this.rna(t)),t.preventDefault(),t.stopImmediatePropagation()};a.prototype.ypa=function(r){this.ce().style.pointerEvents=
"none";r=document.elementFromPoint(r.GA,r.HA);setTimeout(function(){this.ce().style.pointerEvents=this.Ppa()}.bind(this),0);return r};a.prototype.rna=function(r){return l.extend(l.Event(r.type),{originalEvent:r.originalEvent,wheelDelta:r.wheelDelta,detail:r.detail,which:1,clientX:r.clientX,clientY:r.clientY,pageX:r.pageX,pageY:r.pageY,screenX:r.screenX,screenY:r.screenY})};a.prototype.rpa=function(r){if(r){var t=r.style.cursor;"inherit"==t&&(t=this.rpa(r.parentElement))}else t="default";return t};
a.prototype.dM=function(){this.get("pressed")?(this.set("pressed",!1),this.trigger(new b(k.sl))):(this.set("pressed",!0),this.trigger(new b(k.yj)))};a.prototype.set=function(r,t){"cursor"===r&&(this.Wna=t);return q.prototype.set.call(this,r,t)};a.prototype.Za=function(){var r=!1;if(this.K("backgroundOpacityy")||this.K("backgroundColor"))r=!0;if(this.K("iconURL")){var t=this.B("iconURL");this.set("url",t);this.S("iconURL")}t=!1;this.K("mode")&&(this.B("mode")==p.ze?(this.unbind(k.qa,this.dM,this,!0),
this.set("autoPressed",!0)):(this.bind(k.qa,this.dM,this,!0),this.set("autoPressed",!1)),this.S("mode"),t=!0);if(t||this.K("pressed"))this.B("mode")==p.Bj?this.OI(1==this.B("pressed")):t&&this.OI(!1);this.K("buttonGroup")&&((t=this.B("buttonGroup"))?g.register(this,t):g.unregister(this),this.S("buttonGroup"));q.prototype.Za.call(this);r&&(r=this.Uc(),0==r.Zk()||0==r.oC.length)&&(r.vj(.001),r.cFa(["#000000"]))};return a});
define("bm",["require","mg","nU"],function(a){var e=a("mg");return a("nU").define("IconButton",e,function(){e.call(this)})});define("nB",["require","nU","iA"],function(a){var e=a("nU"),l=a("iA");return e.define("IconHotspotMapOverlay",l,function(){l.call(this,!1)})});define("ox",["require","mQ","nU"],function(a){var e=a("mQ");a=a("nU").define("Image",e,function(){e.call(this)});a.prototype.set=function(l,m){e.prototype.set.call(this,l,m)};return a});
define("pz",["require","nU","ke"],function(a){var e=a("nU"),l=a("ke");return e.define("PlaneModel3DObject",l,function(){l.call(this)})});define("jr",["require","nU","pz"],function(a){var e=a("nU"),l=a("pz");return e.define("ImagePlaneModel3DObject",l,function(){l.call(this)})});define("lQ",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("InnerModel3DObject",l,function(){l.call(this)})});
define("jw",["require","dz","nU"],function(a){var e=a("dz");return a("nU").define("Label",e,function(){e.call(this)})});define("bM",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("LensFlarePanoramaOverlay",e,function(){e.call(this)})});define("cL",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("LineModel3DObject",l,function(){l.call(this)})});
define("oF",["require","nU","fh"],function(a){var e=a("nU"),l=a("fh");a=e.define("LivePanorama",l,function(){l.call(this)});a.prototype.AR=function(){return this.get("initialFrameIndex",0)};return a});define("jK",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("Light",e,function(){e.call(this)})});
define("db",["require","lE","dB"],function(a){var e=a("lE"),l=a("dB");a=e.extend(l,function(m,k,b,h,g,c,d){l.call(this,l.lla);this.u=m;this.Od=k;this.na=b;this.wa=h;this.Jf=g;this.u8=c;this.xo=d.slice()});a.prototype.Nt=function(){for(var m=[this.Od],k=0;k<this.xo.length;k++)m=m.concat(this.xo[k].Nt());return m};a.prototype.Pi=function(){return this.Od};a.prototype.He=function(){return this.na};a.prototype.Xe=function(){return this.wa};return a});
define("nx","require nU mu eu gn db".split(" "),function(a){var e=a("nU"),l=a("mu"),m=a("eu"),k=a("gn"),b=a("db");a=e.define("Map",m,function(){m.call(this);this.Lv=this.eP=void 0});a.prototype.H5a=function(){this.Lv=this.eP=void 0};a.prototype.iK=function(){return!(!this.get("image")||!k.iK(this.get("image")))};a.prototype.PE=function(){return this.get("image")&&k.PE(this.get("image"))};a.prototype.qr=function(){return this.get("image")&&k.qr(this.get("image"))};a.prototype.OAa=function(){void 0==
this.eP&&(this.iK()?this.eP=new b(this,this.PE().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",l.iB),this.get("flipImageHorizontally",!1),[]):this.eP=null);return this.eP};a.prototype.$j=function(){if(void 0==this.Lv)if(this.get("image")){var h=Array.prototype.concat.apply([],this.get("overlays",[]).map(function(g){return g.$1a()}));this.Lv=new b(this,this.qr().get("url"),this.get("width"),this.get("height"),this.get("scaleMode",l.iB),this.get("flipImageHorizontally",!1),h)}else this.Lv=
null;return this.Lv};a.prototype.Mt=function(){return[].concat(this.dW(this.OAa()),this.dW(this.$j()))};a.prototype.dW=function(h){return h?h.Nt():[]};return a});define("lo",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("MapOverlay",e,function(){e.call(this)})});
define("jX","require lE en pf cC gv ek gW".split(" "),function(a){var e=a("lE"),l=a("en"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("ek"),g=a("gW");a=e.extend(b,function(c,d,f){b.call(this);this.vna=c;this.oUa=d;this.Lma=f||h.ze;this.Zi=[];this.eC=[];this.yy={};this.yy.mode=this.Lma;this.Lma==h.Bj&&(this.yy.pressed=!1);this.vna.bind(m.D(d),this.Aua,this);this.Aua()});a.prototype.Aua=function(){var c=this.vna.get(this.oUa);c||(c=[]);l.isArray(c)||(c=[c]);this.MVa(c)};a.prototype.MVa=function(c){var d=l.difference(this.Zi,
c);l(d).each(function(f){f.unbind(m.yj,this.Oma,this,!0);f.unbind(m.sl,this.Pma,this,!0);f.unbind(m.qa,this.Kma,this,!0);f.unbind(m.kb,this.Mma,this,!0);f.unbind(m.Hb,this.Nma,this,!0);f.unbind(m.ad,this.Rma,this,!0);f.unbind(m.Xb,this.Qma,this,!0)},this);d=l.difference(c,this.Zi);l(d).each(function(f){f.ma(this.yy);f.bind(m.yj,this.Oma,this,!0);f.bind(m.sl,this.Pma,this,!0);f.bind(m.qa,this.Kma,this,!0);f.bind(m.kb,this.Mma,this,!0);f.bind(m.Hb,this.Nma,this,!0);f.bind(m.ad,this.Rma,this,!0);f.bind(m.Xb,
this.Qma,this,!0)},this);this.Zi=c;this.eC=this.eC.filter(function(f){return 0<=this.Zi.indexOf(f)}.bind(this))};a.prototype.Oma=function(){this.trigger(new k(m.yj))};a.prototype.Pma=function(){this.trigger(new k(m.sl))};a.prototype.Kma=function(){this.trigger(new k(m.qa))};a.prototype.Mma=function(){this.trigger(new k(m.kb))};a.prototype.Nma=function(){this.trigger(new k(m.Hb))};a.prototype.Rma=function(c){this.eC.push(c.source);this.Tk()};a.prototype.Qma=function(c){this.eC=this.eC.filter(function(d){return d!=
c.source});this.Tk()};a.prototype.set=function(c,d){this.yy[c]=d;this.Zi.forEach(function(f){f.ma(this.yy)}.bind(this));this.Tk()};a.prototype.Tk=function(){this.Zi.forEach(function(c){c.get("state")==g.xb&&0<=this.eC.indexOf(c)?c.set("state",g.cc):c.get("state")==g.cc&&0>this.eC.indexOf(c)&&c.set("state",g.xb)}.bind(this))};return a});
define("kS",["require","exports","lE","y"],function(a,e,l,m){var k=function(){return function(){}}();return function(){function b(){}b.ha=function(h,g,c,d){this.cma(h,g,c,d,!1)};b.vt=function(h,g,c,d){this.cma(h,g,c,d,!0)};b.cma=function(h,g,c,d,f){function p(){for(var r=[],t=0;t<g.length;t++)try{r.push(h.get(g[t]))}catch(u){r.push(void 0),l.dS("BindingsHandler._addBinding",u)}c.apply(this,r)}g=l.toArray(g);f&&(p=l.ip(p));var q=[];g.forEach(function(r){(r=m.bu(h,r,p,this,!f))&&q.push(r)},this);var n=
new k;n.y9a=q;n.host=h;n.properties=g;n.RR=c;this.dfa.push(n);d&&p()};b.ba=function(h,g,c){var d=[];this.dfa.forEach(function(f){f.RR==c&&f.host==h&&l.X2a(f.properties,l.toArray(g))?f.y9a.forEach(function(p){p.$A()}):d.push(f)});this.dfa=d};b.dfa=[];return b}()});
define("gA","require en lE pf cC gW bd b e nM oh".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("gW"),h=a("bd"),g=a("b"),c=a("e");a("nM");a("oh");var d=l.extend(g,function(){g.call(this);this.Fe("PlaybackBar");this.am=this.eg=null;this.Yg=[];this.GY=!1;this.pba=this.CD=void 0;this.Vca=!1});d.zc={cursor:h.ye,overflow:"visible",height:20,position:0,duration:100,steps:void 0,selectedStep:void 0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,
barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0,liveDragging:void 0,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:void 0,playheadBackgroundColorRatios:void 0,playheadBorderColor:void 0,playheadBorderRadius:void 0,playheadBorderSize:void 0,playheadOpacity:void 0,playheadWidth:5,playheadHeight:30,playheadShadow:!0,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:void 0,
playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF",stepBackgroundColorDirection:void 0,stepBackgroundColorRatios:void 0,stepBorderColor:void 0,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:!0,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:void 0,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:void 0,selectedStepBackgroundColorRatios:void 0,
selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2,selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:!0,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:void 0,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};e.defaults(d.zc,g.zc);d.prototype.vb=function(){this.io(d.zc)};d.prototype.Db=function(){g.prototype.Db.call(this);this.eg&&this.am||
this.bind(m.oc,this.aUa,this,!0);null==this.eg&&(this.eg=new c,this.eg.ma({left:"0",height:"100%",cursor:h.ye}),this.Wa(this.eg));null==this.am&&(this.am=new c,this.am.ma({left:"0",cursor:h.ye}),this.am.bind(m.oc,this.dUa,this,!0),this.am.bind(m.kb,this.bUa,this,!0),this.ob().bind(m.kc,this.hua,this,!0),this.bind(m.qa,this.ZTa,this,!0),this.am.bind(m.Hb,this.cUa,this,!0),this.Wa(this.am));var p=this.get("steps")||0;if(this.Yg.length!=p){for(;this.Yg.length>p;)this.JNa(this.Yg.pop());for(;this.Yg.length<
p;)this.Yg.push(this.ANa());this.pc(d.Ula,d.I5,this.Yg,!1,!0);this.Nxa();this.gea();this.On(this.am,this.jb().length-1)}};d.prototype.ANa=function(){var p=new f;p.ma({cursor:h.ye});p.bind(m.qa,this.mwa,this,!0);p.bind(m.oc,this.nwa,this,!0);this.Wa(p);return p};d.prototype.JNa=function(p){p.unbind(m.qa,this.mwa,this,!0);p.unbind(m.oc,this.nwa,this,!0);this.removeChild(p)};d.prototype.Za=function(){var p=!1;if(this.K("position")||this.K("duration"))this.S("position"),this.S("duration"),p=!0;this.K("selectedStep")&&
(this.S("selectedStep"),this.Nxa());this.K("steps")&&(this.S("steps"),this.WR());this.pc(d.B5,d.KL,[this.eg],!0,!0);this.pc(d.QJa,d.Qla,[this.am],!0,!0);this.pc(d.Ula,d.I5,this.Yg,!0,!0);g.prototype.Za.call(this);p&&this.w_()};d.prototype.Nxa=function(){var p=this.get("selectedStep");this.Yg.forEach(function(q,n){q.gT(n===p)});this.am.set("visible",void 0===p)};d.prototype.w_=function(){var p=this.Xa(),q=this.am.Xa(),n=this.am.yb(),r=this.TM(),t=this.hq(),u=t*p/r;p=Math.round((this.GY?this.CD:t)*
p/r-.5*q);p=Math.max(0,Math.min(p,this.uf()-q));q=Math.round(.5*this.tf()-.5*n);this.am.ma({left:p,top:q});this.eg.set("width",Math.round(u))};d.prototype.dUa=function(){this.w_()};d.prototype.bUa=function(p){this.GY=!0;this.pba=p.pageX;this.CD=this.B("position")};d.prototype.hua=function(p){if(this.GY){var q=p.pageX-this.pba;this.pba=p.pageX;p=this.Xa();var n=this.TM();this.CD=Math.max(0,Math.min(n,this.CD+n*q/p));this.w_();this.get("liveDragging")&&(this.set("position",this.CD),this.trigger(new k(m.ca)))}};
d.prototype.cUa=function(p){this.hua(p);this.GY=!1;this.get("liveDragging")||(this.set("position",this.CD),this.trigger(new k(m.ca)));this.CD=void 0};d.prototype.ZTa=function(p){if(!this.Vca){var q=this.Xa(),n=this.TM();this.set("position",n*p.x/q);this.trigger(new k(m.ca))}};d.prototype.nwa=function(){this.gea()};d.prototype.aUa=function(){this.gea();this.w_()};d.prototype.gea=function(){for(var p=this.Xa(),q=this.yb(),n=this.Ka,r=this.getParent().Xa()-(n+p),t=0,u=this.Yg.length;t<u;t++){var v=this.Yg[t],
w=v.Xa();v.ma({left:0==t&&0==n?0:t==u-1&&0==r?p-w:Math.round(p*t/(u-1)-.5*w),top:Math.round(.5*q-.5*v.yb())})}};d.prototype.mwa=function(p){p=this.Yg.indexOf(p.source);var q=this.TM();this.set("position",q*p/(this.Yg.length-1));this.Vca=!0;this.trigger(new k(m.ca));setTimeout(function(){this.Vca=!1}.bind(this),0)};d.prototype.TM=function(){var p=this.B("duration");return p?p:1};d.prototype.hq=function(){return Math.max(0,Math.min(this.TM(),this.B("position")))};d.KL={barBackgroundColor:"backgroundColor",
barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",barOpacity:"opacity"};d.B5=e(d.KL).keys();d.Qla={playheadBackgroundColor:"backgroundColor",playheadBackgroundColorDirection:"backgroundColorDirection",playheadBackgroundColorRatios:"backgroundColorRatios",playheadBorderColor:"borderColor",playheadBorderRadius:"borderRadius",playheadBorderSize:"borderSize",playheadOpacity:"opacity",
playheadWidth:"width",playheadHeight:"height",playheadShadow:"shadow",playheadShadowBlurRadius:"shadowBlurRadius",playheadShadowColor:"shadowColor",playheadShadowHorizontalLength:"shadowHorizontalLength",playheadShadowOpacity:"shadowOpacity",playheadShadowSpread:"shadowSpread",playheadShadowVerticalLength:"shadowVerticalLength"};d.QJa=e(d.Qla).keys();d.I5={stepBackgroundColor:"backgroundColor",stepBackgroundColorDirection:"backgroundColorDirection",stepBackgroundColorRatios:"backgroundColorRatios",
stepBorderColor:"borderColor",stepBorderRadius:"borderRadius",stepBorderSize:"borderSize",stepOpacity:"opacity",stepWidth:"width",stepHeight:"height",stepShadow:"shadow",stepShadowBlurRadius:"shadowBlurRadius",stepShadowColor:"shadowColor",stepShadowHorizontalLength:"shadowHorizontalLength",stepShadowOpacity:"shadowOpacity",stepShadowSpread:"shadowSpread",stepShadowVerticalLength:"shadowVerticalLength",selectedStepBackgroundColor:"selectedBackgroundColor",selectedStepBackgroundColorDirection:"selectedBackgroundColorDirection",
selectedStepBackgroundColorRatios:"selectedBackgroundColorRatios",selectedStepBorderColor:"selectedBorderColor",selectedStepBorderRadius:"selectedBorderRadius",selectedStepBorderSize:"selectedBorderSize",selectedStepOpacity:"selectedOpacity",selectedStepWidth:"selectedWidth",selectedStepHeight:"selectedHeight",selectedStepShadow:"selectedShadow",selectedStepShadowBlurRadius:"selectedShadowBlurRadius",selectedStepShadowColor:"selectedShadowColor",selectedStepShadowHorizontalLength:"selectedShadowHorizontalLength",
selectedStepShadowOpacity:"selectedShadowOpacity",selectedStepShadowSpread:"selectedShadowSpread",selectedStepShadowVerticalLength:"selectedShadowVerticalLength"};d.Ula=e(d.I5).keys();var f=l.extend(c,function(){c.call(this)});f.prototype.gT=function(p){this.FP(p)};f.prototype.vb=function(){c.prototype.vb.call(this);this.h("backgroundColor");this.h("backgroundColorDirection");this.h("backgroundColorRatios");this.h("borderColor");this.h("borderRadius");this.h("borderSize");this.h("opacity");this.h("width");
this.h("height");this.h("shadow");this.h("shadowBlurRadius");this.h("shadowColor");this.h("shadowHorizontalLength");this.h("shadowOpacity");this.h("shadowSpread");this.h("shadowVerticalLength");this.v("selectedBackgroundColor",b.ea,"backgroundColor");this.v("selectedBackgroundColorDirection",b.ea,"backgroundColorDirection");this.v("selectedBackgroundColorRatios",b.ea,"backgroundColorRatios");this.v("selectedBorderColor",b.ea,"borderColor");this.v("selectedBorderRadius",b.ea,"borderRadius");this.v("selectedBorderSize",
b.ea,"borderSize");this.v("selectedOpacity",b.ea,"opacity");this.v("selectedWidth",b.ea,"width");this.v("selectedHeight",b.ea,"height");this.v("selectedShadow",b.ea,"shadow");this.v("selectedShadowBlurRadius",b.ea,"shadowBlurRadius");this.v("selectedShadowColor",b.ea,"shadowColor");this.v("selectedShadowHorizontalLength",b.ea,"shadowHorizontalLength");this.v("selectedShadowOpacity",b.ea,"shadowOpacity");this.v("selectedShadowSpread",b.ea,"shadowSpread");this.v("selectedShadowVerticalLength",b.ea,
"shadowVerticalLength")};f.prototype.Za=function(){c.prototype.Za.call(this)};return d});
define("A",["require","en","lE","b","e"],function(a){var e=a("en"),l=a("lE"),m=a("b"),k=a("e"),b=l.extend(m,function(){m.call(this);this.Fe("ProgressBar")});b.zc={percent:0,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:void 0,barBackgroundColorRatios:void 0,barBorderColor:void 0,barBorderRadius:void 0,barBorderSize:void 0,barOpacity:void 0};e.defaults(b.zc,m.zc);b.prototype.vb=function(){this.io(b.zc)};b.prototype.Db=function(){m.prototype.Db.call(this);null==
this.eg&&(this.eg=new k,this.eg.ma({left:"0",width:"0%",height:"100%"}),this.Wa(this.eg))};b.prototype.Za=function(){this.K("percent")&&(this.eg.set("width",Math.round(this.B("percent"))+"%"),this.S("percent"));this.pc(b.B5,b.KL,[this.eg],!0,!0);m.prototype.Za.call(this)};b.KL={barBackgroundColor:"backgroundColor",barBackgroundColorDirection:"backgroundColorDirection",barBackgroundColorRatios:"backgroundColorRatios",barBorderColor:"borderColor",barBorderRadius:"borderRadius",barBorderSize:"borderSize",
barOpacity:"opacity"};b.B5=e(b.KL).keys();return b});
define("gp","require lY v ir mO mB bi".split(" "),function(a){var e=a("lY"),l=a("v"),m=a("ir");a("mO");var k=a("mB");a("bi");var b={U$a:function(f){return this.rK(f)||this.TBa(f)?!0:!1},Du:function(){var f=l.a5a();b.Du=function(){return f};return f},TBa:function(f){return"string"==typeof f&&m.is(f,m.Wn)?!0:!1},P$a:function(f){return this.Lga(f)||this.Mga(f)?!0:!1},Mga:function(f){return"string"==typeof f&&(m.is(f,m.wIa)||m.yA(f,m.xIa))?!0:!1},rK:function(f){return!!f&&!!f.tagName&&"VIDEO"==f.tagName},
mK:function(f){return"string"==typeof f&&m.is(f,m.HLS)||this.rK(f)&&m.is(f.currentSrc,m.HLS)?!0:!1},tm:function(f){return"string"==typeof f&&m.is(f,m.Wn)||this.rK(f)&&m.is(f.currentSrc,m.Wn)?!0:!1},Lga:function(f){return!!f&&!!f.tagName&&"IMG"==f.tagName},o3a:function(f){return!!f&&!!f.tagName&&"CANVAS"==f.tagName},J$a:function(f){return Math.pow(2,Math.round(Math.log(f)/Math.LN2))},R$a:function(f){return 0!==f&&0===(f&f-1)},JBa:function(){return l.browser()==l.ml},Q$a:function(){return l.browser()==
l.Mx},$o:function(){return l.td()==l.ri}},h=l.td()==l.Kx&&!l.yf()&&11>l.E_a();b.pHa=function(f){return c||h&&f&&.2>f.currentTime?!0:!1};b.uBa=function(){return b.JBa()||b.$o()};b.tBa=function(){return b.$o()&&e.c3a&&11>l.yga()};var g=!1;b.GBa=function(){g=!1};b.p3a=function(){return g};b.c6a=function(){g=!0};var c=k.rj("vic");b.U4a=function(){b.$o()&&(c=!0)};b.QAa=function(){return{alpha:!0,depth:!0,stencil:!0,antialias:e.S_a()?!0:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default",
failIfMajorPerformanceCaveat:!1,xrCompatible:!b.JBa()}};b.M0a=function(f){if(2==e.dEa){var p=b.QAa();p=f.getContext("webgl2",p)}p||(p=b.QAa(),p=f.getContext("webgl",p)||f.getContext("experimental-webgl",p));return p};b.xfa=function(f,p){p||(p=f.getSize(new THREE.Vector2));f=new THREE.WebGLRenderTarget(p.width,p.height,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:f.capabilities.isWebGL2?l.lb()?2:8:0});f.depthTexture=new THREE.DepthTexture;
return f};b.L0a=function(f){return new THREE.WebGLCubeRenderTarget(f,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType})};b.getPixelRatio=function(){if(l.lb()){var f=0,p=0;try{f=window.top.innerWidth,p=window.top.innerHeight}catch(q){if(l.td()==l.Kx&&1<window.devicePixelRatio)return window.devicePixelRatio}f=[Math.max(document.documentElement.clientWidth,f),Math.max(document.documentElement.clientHeight,p)].sort(function(q,n){return n-q});
f=[d[0]/f[0],d[1]/f[1]].sort()[0];if(Infinity!==f)return f}else if(l.td()==l.dka&&l.browser()==l.Hm)return 1;return window.devicePixelRatio};b.u1a=function(f){if(!l.lb()||l.td()!=l.Kx)return b.getPixelRatio();f=[f.clientWidth,f.clientHeight].sort(function(p,q){return q-p});return[d[0]/f[0],d[1]/f[1]].sort()[0]};var d=[screen.width*window.devicePixelRatio,screen.height*window.devicePixelRatio].sort(function(f,p){return p-f});return b});define("hJ",["require","gp"],function(a){return a("gp")});
define("nQ",["require"],function(){var a=Math.PI/180,e=180/Math.PI,l=new THREE.Euler(0,0,0,"YXZ"),m=new THREE.Quaternion;return{create:function(){return{x:0,y:0,z:0,w:0}},kAa:function(k,b,h){m.setFromEuler(l.set(b*a,-k*a,h*a,"YXZ"));k={};k.x=m.x;k.y=m.y;k.z=m.z;k.w=m.w;return k},t3:function(k,b){l.setFromQuaternion(m.set(k.x,k.y,k.z,k.w),"YXZ");k={};k.Qa=-l.y*e;k.pitch=l.x*e;k.xg=l.z*e;b||(k.pitch=Math.min(90,Math.max(-90,k.pitch)));return k},Qa:function(k){l.setFromQuaternion(m.set(k.x,k.y,k.z,k.w),
"YXZ");return-l.y*e}}});
define("od",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(e,l){this.x=e||0;this.y=l||0};a.Vector2.prototype={constructor:a.Vector2,set:function(e,l){this.x=e;this.y=l;return this},copy:function(e){this.x=e.x;this.y=e.y;return this},subVectors:function(e,l){this.x=e.x-l.x;this.y=e.y-l.y;return this}};a.Vector3=function(e,l,m){this.x=e||0;this.y=l||0;this.z=m||0};a.Vector3.prototype={constructor:a.Vector3,set:function(e,l,m){this.x=e;this.y=l;this.z=
m;return this},copy:function(e){this.x=e.x;this.y=e.y;this.z=e.z;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var e=this.length();0!==e?this.multiplyScalar(1/e):this.z=this.y=this.x=0;return this},multiplyScalar:function(e){this.x*=e;this.y*=e;this.z*=e},applyQuaternion:function(e){var l=this.x,m=this.y,k=this.z,b=e.x,h=e.y,g=e.z;e=e.w;var c=e*l+h*k-g*m,d=e*m+g*l-b*k,f=e*k+b*m-h*l;l=-b*l-h*m-g*k;this.x=c*e+l*-b+d*-g-f*-h;this.y=d*
e+l*-h+f*-b-c*-g;this.z=f*e+l*-g+c*-h-d*-b;return this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},crossVectors:function(e,l){var m=e.x,k=e.y;e=e.z;var b=l.x,h=l.y;l=l.z;this.x=k*l-e*h;this.y=e*b-m*l;this.z=m*h-k*b;return this}};a.Quaternion=function(e,l,m,k){this.x=e||0;this.y=l||0;this.z=m||0;this.w=void 0!==k?k:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(e,l,m,k){this.x=e;this.y=l;this.z=m;this.w=k;return this},copy:function(e){this.x=e.x;this.y=e.y;this.z=e.z;
this.w=e.w;return this},mFa:function(e,l,m){var k=Math.cos(e/2),b=Math.cos(l/2),h=Math.cos(m/2);e=Math.sin(e/2);l=Math.sin(l/2);m=Math.sin(m/2);this.x=e*b*h+k*l*m;this.y=k*l*h-e*b*m;this.z=k*b*m-e*l*h;this.w=k*b*h+e*l*m;return this},setFromAxisAngle:function(e,l){l/=2;var m=Math.sin(l);this.x=e.x*m;this.y=e.y*m;this.z=e.z*m;this.w=Math.cos(l);return this},multiply:function(e){return this.multiplyQuaternions(this,e)},multiplyQuaternions:function(e,l){var m=e.x,k=e.y,b=e.z;e=e.w;var h=l.x,g=l.y,c=l.z;
l=l.w;this.x=m*l+e*h+k*c-b*g;this.y=k*l+e*g+b*h-m*c;this.z=b*l+e*c+m*g-k*h;this.w=e*l-m*h-k*g-b*c;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;this.normalize();return this},normalize:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===e?(this.z=this.y=this.x=0,this.w=1):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e);return this},slerp:function(e,l){if(0===l)return this;if(1===l)return this.copy(e);var m=this.x,k=this.y,b=this.z,h=this.w,g=h*
e.w+m*e.x+k*e.y+b*e.z;0>g?(this.w=-e.w,this.x=-e.x,this.y=-e.y,this.z=-e.z,g=-g):this.copy(e);if(1<=g)return this.w=h,this.x=m,this.y=k,this.z=b,this;e=Math.acos(g);var c=Math.sqrt(1-g*g);if(.001>Math.abs(c))return this.w=.5*(h+this.w),this.x=.5*(m+this.x),this.y=.5*(k+this.y),this.z=.5*(b+this.z),this;g=Math.sin((1-l)*e)/c;l=Math.sin(l*e)/c;this.w=h*g+this.w*l;this.x=m*g+this.x*l;this.y=k*g+this.y*l;this.z=b*g+this.z*l;return this},setFromUnitVectors:function(){var e,l;return function(m,k){void 0===
e&&(e=new a.Vector3);l=m.dot(k)+1;1E-6>l?(l=0,Math.abs(m.x)>Math.abs(m.z)?e.set(-m.y,m.x,0):e.set(0,-m.z,m.y)):e.crossVectors(m,k);this.x=e.x;this.y=e.y;this.z=e.z;this.w=l;this.normalize();return this}}()};return a});
define("fx",["require","pf","cC","gv","od"],function(a){function e(){d||(d=!0,n=new c.Vector3(0,0,1),r=new c.Quaternion,t=new c.Quaternion(-Math.sqrt(.5),0,0,Math.sqrt(.5)),u=new c.Quaternion,m(),window.addEventListener("orientationchange",m,!1),window.addEventListener("deviceorientation",k,!1),l())}function l(){if(v&&void 0!==p&&void 0!==q){v=!1;var y=c.degToRad*q;u.mFa(c.degToRad*p.beta,c.degToRad*p.alpha,-(c.degToRad*p.gamma));u.multiply(t);u.multiply(r.setFromAxisAngle(n,-y));w||(x++,5<=x&&(w=
!0,f.trigger(new h(b.$c))));f.trigger(new h(b.ca))}}function m(){q=window.orientation||0;v=!0;l()}function k(y){p=y;v=!0;l()}var b=a("pf"),h=a("cC"),g=a("gv"),c=a("od"),d=!1,f=new g,p,q,n,r,t,u,v,w=!1,x=0;e.prototype.rr=function(){l();return u};e.prototype.bind=function(){f.bind.apply(f,arguments)};e.prototype.unbind=function(){f.unbind.apply(f,arguments)};e.prototype.stop=function(){window.removeEventListener("orientationchange",m,!1);window.removeEventListener("deviceorientation",k,!1)};return e});
define("jj","require pf cC gv v od".split(" "),function(a){function e(q){this.N3a=q;this.yfa=new k;this.m0=new k;this.Pha=new k;this.LE=new d.Quaternion;this.Oha=new d.Quaternion;this.sya=new d.Quaternion;this.OBa=!1;this.u0=new d.Vector3;this.cha=new d.Vector3;this.A2a=new d.Quaternion}function l(){this.deviceId="webvr-polyfill:fused";this.BCa=!1;this.ACa=0;this.PQ=new d.Vector3;this.a1=new d.Vector3;this.filter=new e(.98);this.Z4a=new m(.04);this.lK=p.lK();this.$o=p.$o();p.$fa();this.Rga=p.r3a();
this.A0=new d.Quaternion;p.$o()?this.A0.setFromAxisAngle(new d.Vector3(1,0,0),Math.PI/2):this.A0.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2);this.m1=new d.Quaternion;this.jL=new d.Quaternion;this.CDa=new d.Quaternion;this.CDa.setFromAxisAngle(new d.Vector3(0,0,1),-window.orientation*Math.PI/180);this.LFa();p.LBa()&&this.A0.multiply(this.m1);this.Yt=new d.Quaternion;this.lK=p.lK();this.$o=p.$o();this.q3a=66<=p.$fa();this.iF=this.iF.bind(this);this.qS=this.qS.bind(this);this.pS=this.pS.bind(this);
screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change",this.iF):window.addEventListener("orientationchange",this.iF);this.Rga?window.addEventListener("deviceorientation",this.qS):window.addEventListener("devicemotion",this.pS)}function m(q){this.$4a=q;this.w2=new d.Quaternion;this.HK=null;this.Aza=new d.Quaternion;this.tS=new d.Quaternion}function k(q,n){this.set(q,n)}var b=a("pf"),h=a("cC"),g=a("gv"),c=a("v"),d=a("od"),f=new g;e.prototype.j_a=
function(q,n){this.yfa.set(q,n)};e.prototype.q_a=function(q,n){this.m0.set(q,n);p.M3a(n-this.Pha.s3)&&this.N5a();this.Pha.copy(this.m0)};e.prototype.N5a=function(){if(this.OBa){var q=this.B2a(this.m0.sample,this.m0.s3-this.Pha.s3);this.A2a.multiply(q);this.LE.copy(this.Oha);this.LE.multiply(q);q=new d.Quaternion;q.copy(this.LE);q.inverse();this.u0.set(0,0,-1);this.u0.applyQuaternion(q);this.u0.normalize();this.cha.copy(this.yfa.sample);this.cha.normalize();q=new d.Quaternion;q.setFromUnitVectors(this.u0,
this.cha);q.inverse();var n=new d.Quaternion;n.copy(this.LE);n.multiply(q);this.LE.slerp(n,1-this.N3a);this.Oha.copy(this.LE)}else this.sya=this.i_a(this.yfa.sample),this.Oha.copy(this.sya),this.OBa=!0};e.prototype.rr=function(){return this.LE};e.prototype.i_a=function(q){var n=new d.Vector3;n.copy(q);n.normalize();q=new d.Quaternion;q.setFromUnitVectors(new d.Vector3(0,0,-1),n);q.inverse();return q};e.prototype.B2a=function(q,n){var r=new d.Quaternion,t=new d.Vector3;t.copy(q);t.normalize();r.setFromAxisAngle(t,
q.length()*n);return r};l.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&screen.orientation.removeEventListener("change",this.iF);window.removeEventListener("orientationchange",this.iF);window.removeEventListener("deviceorientation",this.qS);window.removeEventListener("devicemotion",this.pS)};l.prototype.$k=function(){return null};l.prototype.rr=function(){var q=void 0;if(this.Rga&&this.uV){this.Cza=this.Cza||function(){var r=(new d.Quaternion).setFromAxisAngle(new d.Vector3(0,
0,-1),0),t=new d.Quaternion;"landscape-secondary"==this.nZ?t.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/-2):t.setFromAxisAngle(new d.Vector3(0,1,0),Math.PI/2);return r.multiply(t)}();this.Bza=this.Bza||function(){var r=new d.Quaternion;r.setFromAxisAngle(new d.Vector3(1,0,0),-Math.PI/2);return r}();q=this.uV;var n=new d.Quaternion;n.copy(q);n.multiply(this.Bza);n.multiply(this.Yt);n.multiply(this.jL);n.multiplyQuaternions(this.Cza,n);this.iab&&(n.x=0,n.z=0,n.normalize());this.m2[0]=n.x;this.m2[1]=
n.y;this.m2[2]=n.z;this.m2[3]=n.w;return this.m2}q=this.filter.rr();q=this.Z4a.m2a(q,this.a1,this.HK);n=new d.Quaternion;n.copy(this.A0);n.multiply(this.Yt);n.multiply(q);n.multiply(this.jL);return n};l.prototype.resetPose=function(){this.Yt.copy(this.filter.rr());this.Yt.x=0;this.Yt.y=0;this.Yt.z*=-1;this.Yt.normalize();p.LBa()&&this.Yt.multiply(this.m1);this.Yt.multiply(this.CDa)};l.prototype.qS=function(q){this.uV=this.uV||new d.Quaternion;var n=q.alpha,r=q.beta;q=q.gamma;n=(n||0)*Math.PI/180;
r=(r||0)*Math.PI/180;q=(q||0)*Math.PI/180;this.uV.mFa(r,n,-q)};l.prototype.pS=function(q){var n=q.rotationRate;if(n){var r=q.accelerationIncludingGravity;q=q.timeStamp/1E3;this.lK&&(q/=1E3);var t=q-this.HK;t<=p.jka||t>p.gka?this.HK=q:(this.PQ.set(-r.x,-r.y,-r.z),this.a1.set(n.alpha,n.beta,n.gamma),(this.$o||this.lK||this.q3a)&&this.a1.multiplyScalar(Math.PI/180),this.filter.j_a(this.PQ,q),this.filter.q_a(this.a1,q),this.HK=q,this.BCa||(this.ACa++,5<=this.ACa&&(this.BCa=!0,f.trigger(new h(b.$c)))),
this.nZ!=this.oAa()&&this.iF(),f.trigger(new h(b.ca)))}else this.Rga=!0,window.addEventListener("deviceorientation",this.qS),window.removeEventListener("devicemotion",this.pS)};l.prototype.bind=function(){f.bind.apply(f,arguments)};l.prototype.unbind=function(){f.unbind.apply(f,arguments)};l.prototype.iF=function(){this.LFa();f.trigger(new h(b.ca))};l.prototype.LFa=function(){this.jL.set(0,0,0,1);this.nZ=this.oAa();switch(this.nZ){case "landscape-primary":this.jL.setFromAxisAngle(new d.Vector3(0,
0,1),-Math.PI/2);break;case "landscape-secondary":this.jL.setFromAxisAngle(new d.Vector3(0,0,1),Math.PI/2)}this.m1.copy(this.jL);this.m1.inverse()};l.prototype.oAa=function(){var q=screen.orientation&&screen.orientation.type;if(!q)switch(window.orientation){case 0:q="portrait-primary";break;case 90:q="landscape-primary";break;case -90:q="landscape-secondary";break;case 180:q="portrait-secondary"}"landscape-primary"==q&&(4.9<this.PQ.z||-4.9>this.PQ.z?q=this.nZ||q:0<this.PQ.x&&(q="landscape-secondary"));
return q};m.prototype.m2a=function(q,n,r){if(!this.HK)return this.w2.copy(q),this.HK=r,q;r=new d.Vector3;r.copy(n);r.normalize();n=n.length();if(n<20*d.degToRad)return this.tS.copy(q),this.w2.copy(q),this.tS;this.Aza.setFromAxisAngle(r,n*this.$4a);this.tS.copy(this.w2);this.tS.multiply(this.Aza);this.w2.copy(q);return this.tS};k.prototype.set=function(q,n){this.sample=q;this.s3=n};k.prototype.copy=function(q){this.set(q.sample,q.s3)};var p={jka:.001,gka:1,M3a:function(q){return isNaN(q)||q<=p.jka||
q>p.gka?!1:!0}};p.$o=function(){var q=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return q}}();p.T$a=function(){var q=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return q}}();p.lK=function(){var q=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return q}}();p.$fa=function(){var q=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),n=q?parseInt(q[1],10):null;return function(){return n}}();p.r3a=
function(){var q=!1;if(65===p.$fa()){var n=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(n){n=n[1].split(".");var r=n[3];q=3325===parseInt(n[2],10)&&148>parseInt(r,10)}}else"getVRDisplays"in navigator&&c.browser()==c.Hm&&c.uR()&&c.Vb()==c.HT&&(q=!0);return function(){return q}}();p.LBa=function(){return 90==window.orientation||-90==window.orientation};return l});
define("hW","require lE pf cC gv nQ v fx jj mB".split(" "),function(a){function e(){function w(){q=!0;f.trigger(new m(l.ca))}function x(){var D;!A||!y&&E?E&&(D=z):D=B;n!=D&&(n&&(n.unbind(l.ca,w),n.stop()),n=D)&&(n.bind(l.ca,w,this,!0),w())}var y=h.td()==h.ri||d.rj("debug")&&"deviceorientation"==d.getQueryParameter("sensor"),z=new c,E=!1;z.bind(l.$c,function(){E=!0;x()},this,!0);var B=new g,A=!1;B.bind(l.$c,function(){A=!0;x()},this,!0)}a("lE");var l=a("pf"),m=a("cC"),k=a("gv"),b=a("nQ"),h=a("v"),
g=a("fx"),c=a("jj"),d=a("mB"),f=new k,p={},q=!1,n,r=[],t=!1,u=!1;p.Zha=function(w){w&&r.push(w);if(!p.disabled)for(;r.length;)r.pop()();else if(h.td()==h.ri&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(y){"granted"===y&&(u=!0,x())})["catch"](function(){});DeviceMotionEvent.requestPermission().then(function(y){"granted"===y&&(t=!0,x())})["catch"](function(){});var x=function(){if(p.disabled&&t&&u)for(p.disabled=!1,e();r.length;)r.pop()()};
x()}};p.bind=function(w,x){f.bind(l.ca,w,x)};p.unbind=function(w,x){f.unbind(l.ca,w,x)};p.J4a=function(){return q};p.rr=function(){q=!1;if(n){var w=n.rr();w=b.t3(w);return{yaw:w.Qa,pitch:w.pitch,roll:w.xg}}return{yaw:0,pitch:0,roll:0}};if(h.td()==h.y5||h.td()==h.T4||h.td()==h.dka)p.Xj=!1,p.disabled=!1;else if(h.td()==h.Kx&&h.browser()==h.Hm&&"https:"!=window.location.protocol&&"localhost"!=window.location.hostname)p.Xj=!0,p.disabled=!0;else if(h.td()==h.ri)if(p.Xj=!0,p.disabled=!0,window.DeviceMotionEvent&&
DeviceMotionEvent.requestPermission)p.Zha();else{var v=function(){window.removeEventListener("deviceorientation",v,!1);p.disabled=!1;e()};window.addEventListener("deviceorientation",v,!1)}else p.Xj=void 0!=window.DeviceMotionEvent,p.disabled=!1;p.Xj&&!p.disabled&&e();return p});
define("bc","require exports v lY hW cz mB".split(" "),function(a,e,l,m,k,b,h){return function(){function g(){}g.initialize=function(c){this.Dga||(this.Dga=this.G8a().then(function(d){this.XR.PF=d;this.XR.qHa=d&&(l.yf()||!l.lb());d&&m.R7a();return d}.bind(this)).catch(function(){this.XR.PF=!1;return this.XR.qHa=!1}.bind(this)));this.Dga.then(function(){c()})};g.G8a=function(){return this.I8a().then(function(c){return c?Promise.resolve(!0):this.J8a()}.bind(this))};g.I8a=function(){return navigator.xr&&
"cardboard"!=h.getQueryParameter("vr_mode")?this.K8a():Promise.resolve(!1)};g.J8a=function(){return this.O_a()?this.G_a():Promise.resolve(!1)};g.K8a=function(){return navigator.xr&&navigator.xr.isSessionSupported?navigator.xr.isSessionSupported("immersive-vr"):navigator.xr&&navigator.xr.supportsSession?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};g.O_a=function(){return k.Xj&&l.lb()&&l.FE()!=l.sL};g.G_a=function(){var c=this;return new Promise(function(d){b.rla.load(function(){var f;
c.X4a=new window.WebXRPolyfill({overwriteNativeXR:!0,cardboardConfig:{DPDB_URL:"https://raw.githubusercontent.com/immersive-web/webvr-polyfill-dpdb/refs/heads/main/dpdb.json",BUFFER_SCALE:null===(f=c.XR)||void 0===f?void 0:f.v2,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!0,MOBILE_WAKE_LOCK:!1}});c.XR.pK=!0;d(!0)})})};g.Dga=null;g.X4a=null;return g}()});define("three.mod",["require","exports"],function(){return window.THREE});
define("pF",["require","exports","pf","three.mod"],function(a,e,l,m){var k=function(){function r(){}r.initialize=function(){this.XR.pj=new m.Group;this.XR.pj.matrixAutoUpdate=!1;this.XR.In=new m.Group;this.XR.In.matrixAutoUpdate=!1;this.XR.pj.add(this.XR.In);this.XR.P.bind(l.Cja,this.d4a,this,!0);this.XR.P.bind(l.ca,this.Je,this,!0)};r.setScale=function(t){this.ag!==t&&(this.ag=t,this.XR.Yo=1/t,this.setPosition({x:this.XR.Xc.x,y:this.XR.Xc.y,z:this.XR.Xc.z,Qa:-c.setFromQuaternion(this.XR.ug,"YXZ").y*
n}))};r.MK=function(t){var u,v;this.K1(this.cB,h);this.K1(p.copy(this.cB).premultiply(this.XR.pj.matrixWorld),b);var w=this.XR.pj.matrix;w.identity();w.multiply(p.makeRotationY(void 0===t?b.yaw:-t*q));w.multiply(p.makeRotationY(-h.yaw));w.multiply(p.makeScale(this.XR.Yo,this.XR.Yo,this.XR.Yo));w.multiply(p.makeTranslation(-h.x,-h.y,-h.z));void 0!==t&&(w=this.XR.In.matrix,w.identity(),w.multiply(p.makeTranslation(h.x,h.y,h.z)),w.multiply(p.makeRotationY(-h.yaw*q)));this.XR.pj.updateMatrixWorld(!0);
null===(u=this.camera)||void 0===u?void 0:u.updateMatrixWorld(!0);null===(v=this.gk)||void 0===v?void 0:v.updateMatrixWorld(!0);this.vja()};r.setPosition=function(t){var u,v;this.K1(this.cB,h);this.K1(p.copy(this.cB).premultiply(this.XR.pj.matrixWorld),b);var w=this.XR.pj.matrix;w.identity();w.multiply(p.makeTranslation(void 0===t.x?b.x:t.x,void 0===t.y?b.y:t.y,void 0===t.z?b.z:t.z));w.multiply(p.makeRotationY(void 0===t.yaw?b.yaw:-t.yaw*q));w.multiply(p.makeRotationX(void 0===t.pitch?b.pitch:t.pitch*
q));w.multiply(p.makeRotationZ(void 0===t.roll?b.roll:t.roll*q));w.multiply(p.makeRotationZ(-h.roll));w.multiply(p.makeRotationX(-h.pitch));w.multiply(p.makeRotationY(-h.yaw));w.multiply(p.makeScale(this.XR.Yo,this.XR.Yo,this.XR.Yo));w.multiply(p.makeTranslation(-h.x,-h.y,-h.z));if(void 0!==t.yaw||void 0!==t.pitch||void 0!==t.roll)w=this.XR.In.matrix,w.identity(),w.multiply(p.makeTranslation(h.x,h.y,h.z)),w.multiply(p.makeRotationY(-h.yaw*q)),w.multiply(p.makeRotationX(h.pitch*q)),w.multiply(p.makeRotationX(h.roll*
q));this.XR.pj.updateMatrixWorld(!0);null===(u=this.camera)||void 0===u?void 0:u.updateMatrixWorld(!0);null===(v=this.gk)||void 0===v?void 0:v.updateMatrixWorld(!0);this.vja()};r.d4a=function(){var t,u,v,w;this.au(this.XR.GK);this.XFa((null===(t=this.XR.dh)||void 0===t?void 0:t.xr.getCamera())||null);this.setCamera(this.XR.mx);if(u=(u=(t=null===(u=this.XR.dh)||void 0===u?void 0:u.xr.getFrame())&&this.XR.referenceSpace&&t.getViewerPose(this.XR.referenceSpace))&&u.transform)this.XR.$ya=u.position.y,
this.cB.fromArray(u.matrix),this.cB.decompose(this.XR.s9a,this.XR.D3,f),null===(v=this.camera)||void 0===v?void 0:v.updateMatrixWorld(!0),null===(w=this.gk)||void 0===w?void 0:w.updateMatrixWorld(!0),this.vja()};r.Je=function(){this.XR.isPresenting?this.scene&&this.camera&&(this.XR.GK!=this.scene||this.XR.mx!=this.camera)&&(this.au(this.XR.GK),this.setCamera(this.XR.mx),this.XR.dh.xr.updateCamera(this.XR.mx),this.setPosition({x:this.XR.Xc.x,y:this.XR.Xc.y,z:this.XR.Xc.z,Qa:-c.setFromQuaternion(this.XR.ug,
"YXZ").y*n})):(this.au(null),this.XFa(null),this.setCamera(null))};r.vja=function(){p.copy(this.cB).premultiply(this.XR.pj.matrixWorld).decompose(this.XR.Xc,this.XR.ug,f);c.setFromRotationMatrix(this.XR.In.matrix,"YXZ");d.setFromMatrixPosition(this.cB);this.XR.In.matrix.identity();this.XR.In.matrix.multiply(p.makeTranslation(d.x,d.y,d.z));this.XR.In.matrix.multiply(p.makeRotationFromEuler(c));this.XR.In.updateMatrixWorld(!0)};r.au=function(t){this.scene!==t&&(this.scene&&this.scene.remove(this.XR.pj),
null==t&&(this.BEa(),this.DEa()),(this.scene=t)&&this.scene.add(this.XR.pj))};r.setCamera=function(t){this.camera!==t&&(this.BEa(),(this.camera=t)&&this.XR.pj.add(this.camera))};r.XFa=function(t){this.gk!==t&&(this.DEa(),(this.gk=t)&&this.XR.pj.add(this.gk))};r.BEa=function(){this.scene&&this.camera&&this.camera.parent===this.XR.pj&&(this.scene.add(this.camera),this.camera=null)};r.DEa=function(){this.gk&&this.gk.parent===this.XR.pj&&(this.gk.parent.remove(this.gk),this.gk=null)};r.K1=function(t,
u){t.decompose(d,g,f);c.setFromQuaternion(g,"YXZ");u.yaw=c.y;u.pitch=c.x;u.roll=c.z;u.x=d.x;u.y=d.y;u.z=d.z};r.cB=new m.Matrix4;r.ag=1;r.scene=null;r.camera=null;r.gk=null;return r}(),b={x:void 0,y:void 0,z:void 0,Qa:void 0},h={x:void 0,y:void 0,z:void 0,Qa:void 0},g=new m.Quaternion,c=new m.Euler,d=new m.Vector3,f=new m.Vector3,p=new m.Matrix4,q=Math.PI/180,n=180/Math.PI;window.Dm=function(r){k.setPosition({x:void 0,y:void 0,z:void 0,Qa:r})};return k});
define("bO",["require","exports"],function(){return{ZF:"gaze",xL:"laser"}});
define("iZ",["require","exports","pf"],function(a,e,l){return function(){function m(){}m.F6a=function(k,b,h){var g=this.XR.Am.indexOf(k);-1<g&&g!==this.XR.Am.length-1&&(this.XR.Am.splice(g,1),this.XR.Am.splice(this.XR.Am.length,0,k));this.XR.Xha.set(k,b);this.XR.Wha.set(k,h);k!==this.XR.dh||this.XR.GK===b&&this.XR.mx===h||(this.XR.GK=b,this.XR.mx=h,this.XR.P.trigger(l.ca))};m.add=function(k){this.remove(k);this.XR.Am.push(k)};m.remove=function(k){var b=this.XR.Am.indexOf(k);-1!=b&&(this.XR.Am.splice(b,
1),this.XR.Xha.delete(k),this.XR.Wha.delete(k))};return m}()});define("iD",["require","exports"],function(){return{Mka:"Panorama",kka:"Model3D"}});define("js",["require","exports"],function(){return{ZF:"gaze",qIa:"gaze_click"}});define("E",["require","exports"],function(){return{nl:"Cardboard",g$a:"WebVR",DJa:"WebXR"}});
define("ns",["require","exports","pf","mO","hq"],function(a,e,l,m,k){return function(){function b(){}b.initialize=function(){this.Je=this.Je.bind(this);this.l2=this.l2.bind(this);this.XR.P.bind(l.ca,this.Je,this,!0);window.addEventListener("vrdisplayblur",function(){k.Uia(!0)},!0);window.addEventListener("vrdisplayfocus",function(){k.Uia(!1)},!0)};b.Je=function(){this.XR.session?(this.eB=this.XR.session,this.eB.addEventListener("visibilitychange",this.l2)):(this.eB&&this.eB.removeEventListener("visibilitychange",
this.l2),this.eB=null);k.vx(this.XR.isPresenting)};b.l2=function(){k.Uia(!this.eB||"visible"!=this.eB.visibilityState);m.iIa&&"visible"!=this.eB.visibilityState&&this.XR.Qfa()};b.eB=null;return b}()});
define("dx",["require","exports","v","mB"],function(a,e,l,m){return function(){function k(){}k.initialize=function(){this.ur=-1<[l.Tr,l.fu].indexOf(l.Vb());this.lHa=m.rj("vr");if(this.ur||this.lHa)this.TGa(),document.addEventListener("visibilitychange",function(){document.hidden||this.TGa()}.bind(this),!1)};k.TGa=function(){this.i0a();this.$ea=0;this.nGa()};k.nGa=function(){this.$ea++;this.r3=setTimeout(this.G4a.bind(this),this.lHa?500:1E3*this.$ea)};k.i0a=function(){this.r3&&(clearTimeout(this.r3),
this.r3=null)};k.G4a=function(){this.r3=null;this.ur&&5<this.$ea?window.location.reload():document.hidden||k.XR.isPresenting||(!this.t0()||this.ur)&&this.nGa()};k.t0=function(){for(var b=this.XR.VDa.Oi("PanoramaPlayer"),h=0;h<b.length;h++){var g=b[h];if(g.get("panorama"))return g.get("viewerArea").set("viewMode","vr"),!0}b=this.XR.VDa.Oi("Model3DPlayer");for(h=0;h<b.length;h++)if(g=b[h],g.get("model")&&g.get("model").get("isLoaded"))return g.get("viewerArea").set("viewMode","vr"),!0;return!1};return k}()});
define("nW",["require","exports"],function(){return function(){function a(){}a.P5a=function(e,l){if(a.SBa(e)){var m=a.Ar(e),k,b=256;l.forEach(function(h){if(a.SBa(h)){var g=a.EEa(m,a.Ar(h));g<b&&(k=h,b=g)}});if(k&&5>=b)return k}return e};a.O0=function(e,l){return a.EEa(a.Ar(e),a.Ar(l))};a.SBa=function(e){return!!e&&0===e.indexOf("#")};a.Ar=function(e){return[parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16)]};a.EEa=function(e,l){return Math.max(Math.abs(e[0]-l[0]),Math.abs(e[1]-
l[1]),Math.abs(e[2]-l[2]))};a.YA=function(e){e=a.Ar(e);return e[0]<<16|e[1]<<8|e[2]<<0};return a}()});
define("fQ",["require","exports","nW","three.mod"],function(a,e,l,m){a=function(){function g(c,d){this.dot=this.ray=this.sa=null;this.sa=new m.Group;this.ray=new k(c,d);this.sa.add(this.ray.sa);this.dot=new b(c,d);this.sa.add(this.dot.sa)}g.prototype.update=function(){this.ray.update();this.dot.update()};g.prototype.dispose=function(){var c;this.sa&&(this.ray.dispose(),this.ray=null,this.dot.dispose(),this.dot=null,null===(c=this.sa.parent)||void 0===c?void 0:c.remove(this.sa),this.sa=null)};return g}();
var k=function(){function g(c,d){this.fp=this.material=this.sa=null;this.color="#ffffff";this.ic=c;this.ll=d;this.Pia();this.sa=new m.Mesh(new m.CylinderGeometry(5E-4,5E-4,.35,8),this.material);this.sa.renderOrder=999;this.sa.position.z=-.175;this.sa.position.y=-.001;this.sa.rotation.copy(new m.Euler(-Math.PI/2,0,0,"YXZ"));this.sa.updateMatrix()}g.prototype.update=function(){this.uT();this.uja()};g.prototype.dispose=function(){var c;this.sa&&(this.sa.geometry.dispose(),this.aja(),null===(c=this.sa.parent)||
void 0===c?void 0:c.remove(this.sa),this.sa=null)};g.prototype.Pia=function(){if(!this.material){var c=document.createElement("canvas");c.width=c.height=256;this.fp=c.getContext("2d");this.material=new m.MeshBasicMaterial;this.material.map=new m.Texture(c);this.material.map.encoding=m.sRGBEncoding;this.material.transparent=!0;this.uT()}};g.prototype.aja=function(){var c,d;if(this.material){var f=null===(c=this.material.map)||void 0===c?void 0:c.image;f.width=f.height=1;null===(d=this.material.map)||
void 0===d?void 0:d.dispose();this.material.map=null;this.material.dispose();this.fp=this.material=null}};g.prototype.uT=function(){var c=this.$J();if(this.color!==c){this.color=c;c=l.Ar(this.color).join(", ");var d=this.material.map.image,f=this.fp.createLinearGradient(0,0,0,d.height);f.addColorStop(0,"rgba("+c+", 0)");f.addColorStop(.5,"rgba("+c+", 1)");f.addColorStop(1,"rgba("+c+", 1)");this.fp.fillStyle=f;this.fp.clearRect(0,0,d.width,d.height);this.fp.fillRect(0,0,d.width,d.height);this.material.map.needsUpdate=
!0;this.material.needsUpdate=!0}};g.prototype.uja=function(){this.sa.visible=!this.ic.disabled&&!this.ic.hidden};g.prototype.$J=function(){return this.ic.pressed?this.ll.Kha:this.ic.xK?this.ll.WDa:this.ll.Iha};return g}(),b=function(){function g(c,d){this.fp=this.wt=this.material=this.border=this.dot=this.sa=null;this.color="#ffffff";this.ic=c;this.ll=d;this.F7a();this.Pia();this.sa=new m.Group;this.sa.renderOrder=999;this.border=new m.Mesh(new m.SphereGeometry(.0046,32,32),this.wt);this.dot=new m.Mesh(new m.SphereGeometry(.004,
32,32),this.material);this.sa.add(this.dot);this.sa.add(this.border);this.$Ga()}g.prototype.update=function(){this.uT();this.$Ga();this.uja()};g.prototype.dispose=function(){var c;this.sa&&(this.sa.remove(this.dot),this.dot.geometry.dispose(),this.aja(),this.sa.remove(this.border),this.border.geometry.dispose(),this.A8a(),null===(c=this.sa.parent)||void 0===c?void 0:c.remove(this.sa),this.sa=null)};g.prototype.F7a=function(){if(!this.wt){var c=document.createElement("canvas");c.width=c.height=256;
var d=c.getContext("2d");d.fillStyle="rgba(0, 0, 0, 0.75)";d.clearRect(0,0,c.width,c.height);d.fillRect(0,0,c.width,c.height);d=new m.MeshBasicMaterial;d.map=new m.Texture(c);d.map.encoding=m.sRGBEncoding;d.map.needsUpdate=!0;d.transparent=!0;d.depthTest=!1;d.side=m.BackSide;this.wt=d;this.wt.needsUpdate=!0}};g.prototype.A8a=function(){var c,d;if(this.wt){var f=null===(c=this.wt.map)||void 0===c?void 0:c.image;f.width=f.height=1;null===(d=this.wt.map)||void 0===d?void 0:d.dispose();this.wt.map=null;
this.wt.dispose();this.wt=null}};g.prototype.Pia=function(){if(!this.material){var c=document.createElement("canvas");c.width=c.height=256;this.fp=c.getContext("2d");var d=new m.MeshBasicMaterial;d.map=new m.Texture(c);d.map.encoding=m.sRGBEncoding;d.transparent=!0;d.depthTest=!1;this.material=d;this.uT()}};g.prototype.aja=function(){var c,d;if(this.material){var f=null===(c=this.material.map)||void 0===c?void 0:c.image;f.width=f.height=1;null===(d=this.material.map)||void 0===d?void 0:d.dispose();
this.material.map=null;this.material.dispose();this.fp=this.material=null}};g.prototype.uja=function(){this.sa.visible=!this.ic.hidden&&!this.ic.disabled&&void 0!==this.ic.Qt};g.prototype.$Ga=function(){var c,d=this.sa.parent?h.setFromMatrixScale(null===(c=this.sa)||void 0===c?void 0:c.parent.matrixWorld).x:1;c=(this.ic.Qt||500)/d;this.sa.position.z=-c;this.sa.scale.set(c,c,c);this.sa.updateMatrix()};g.prototype.uT=function(){var c=this.$J();this.color!==c&&(this.color=c,c=this.material.map.image,
this.fp.fillStyle=this.color,this.fp.clearRect(0,0,c.width,c.height),this.fp.fillRect(0,0,c.width,c.height),this.material.map.needsUpdate=!0,this.material.needsUpdate=!0)};g.prototype.$J=function(){return this.ic.pressed?this.ll.Kha:this.ic.xK?this.ll.WDa:this.ll.Iha};return g}();new m.Matrix4;var h=new m.Vector3;return a});
define("jk",["require","exports","three.mod"],function(a,e,l){return function(){function m(){this.id=0;this.ray=new l.Ray;this.matrixWorld=new l.Matrix4;this.disabled=!1;this.handedness="";this.Mn=this.xK=!1;this.KDa=0;this.Qt=void 0;this.hidden=this.fr=this.pressed=!1;this.Nb=new l.Vector2;this.NF=!1;this.id=m.qha++}m.qha=0;return m}()});
define("hD","require exports pf v fQ jk three.mod".split(" "),function(a,e,l,m,k,b,h){var g=[0,1];a=function(){function c(){}c.initialize=function(){this.XR.P.bind(l.ca,this.Je.bind(this),this,!0);this.XR.P.bind(l.Jm,this.EA.bind(this),this,!0);this.kx=this.kx.bind(this);this.jx=this.jx.bind(this);this.V1=this.V1.bind(this);this.Y1=this.Y1.bind(this);this.W1=this.W1.bind(this)};c.mb=function(d){this.enabled=d};c.isConnected=function(){return this.GJ.some(function(d){return d})};c.BFa=function(d){var f;
if(0<this.St.length!==d)if(d){var p=new h.DirectionalLight(16777215,1);p.position.set(10,20,0);null===(f=this.zm)||void 0===f?void 0:f.add(p);this.St.push(p)}else for(;this.St.length;)f=this.St.pop(),null===(p=this.zm)||void 0===p?void 0:p.remove(f)};c.QFa=function(d){this.v3!==d&&((this.v3=d)?this.Rw.forEach(this.zCa.bind(this)):this.Rw.forEach(this.CEa.bind(this)))};c.T5a=function(d,f){d=this.j2a(d);-1!=d&&(d=this.sfa[d])&&d.hapticActuators&&d.hapticActuators.length&&(d=d.hapticActuators[0],d.pulse&&
d.pulse(.6,f))};c.Je=function(){this.XR.isPresenting?g.forEach(function(d){this.H7a(d);this.I7a(d)}.bind(this)):g.forEach(function(d){this.E8a(d);this.D8a(d);this.C8a(d)}.bind(this))};c.EA=function(){this.g7a(this.enabled&&this.XR.pj||null);this.rja();this.X8a()};c.rja=function(){if(this.enabled){for(;this.XR.jg.length;)this.XR.jg.pop();g.forEach(function(d){var f=this.controllers[d];if(f&&this.GJ[d]){var p=this.BE[d];this.YGa(d);p.matrixWorld.copy(f.matrixWorld);p.ray.origin.set(0,0,0);p.ray.direction.set(0,
0,-1);d=(d=(d=this.Rw[d].motionController)&&d.components["xr-standard-thumbstick"])&&d.values;p.NF=d&&"pressed"==d.state||!1;p.Nb.set(d&&d.xAxis||0,d&&d.yAxis||0);this.XR.jg.push(p)}}.bind(this))}};c.X8a=function(){this.enabled&&g.forEach(function(d){d=this.hR[d];null===d||void 0===d?void 0:d.update()}.bind(this))};c.N7a=function(){if(!this.Ofa){var d=this.XR.dh;d.xt=!0;var f=new h.RoomEnvironment(d);this.Ofa=(new h.PMREMGenerator(d)).fromScene(f).texture;d.xt=!1}};c.H7a=function(d){var f=this.XR.dh.xr.getController(d);
this.controllers[d]!=f&&(f.addEventListener("selectstart",this.kx),f.addEventListener("selectend",this.jx),f.addEventListener("connected",this.V1),f.addEventListener("disconnected",this.Y1),f.userData.S1=!0,this.controllers[d]=f,this.BE[d]=new b,this.tfa[d]=0)};c.C8a=function(d){var f=this.controllers[d];f&&(f.removeEventListener("selectstart",this.kx),f.removeEventListener("selectend",this.jx),f.removeEventListener("connected",this.V1),f.removeEventListener("disconnected",this.Y1),this.controllers[d]=
null)};c.I7a=function(d){if(!this.AE[d]){var f=this.XR.dh.xr.getControllerGrip(d);f.userData.S1=!0;this.i0||(this.i0=new h.XRControllerModelFactory);this.i0.path=h.pG.endsWith("/")?h.pG.slice(0,-1):h.pG;var p=this.i0.createControllerModel(f,this.z9a);p.addEventListener("loaded",this.W1);this.Rw[d]=p;f.add(p);this.AE[d]=f}};c.z9a=function(d){d=Array.from(d.profiles);if(m.ZE())d=["meta-quest-touch-plus"].concat(d);else if(m.qK())d=["oculus-touch-v3"].concat(d);else if(m.QBa())d=["generic-trigger"].concat(d);
else if(m.RBa()||0<=d.indexOf("pico-phoenix")||0<=d.indexOf("pico-4"))d=["pico-4"].concat(d);else if(m.UBa()||0<=d.indexOf("htc-vive-focus-3")||0<=d.indexOf("htc-vive-focus-3-plus"))d=["htc-vive-focus-3"].concat(d);else if(m.H3a()||m.A3a()||m.MBa()||0<=d.indexOf("pico-g2")||0<=d.indexOf("pico-neo2")||0<=d.indexOf("pico-neo3"))d=["generic-trigger"].concat(d);return d};c.D8a=function(d){var f,p=this.AE[d];if(p){var q=this.Rw[d];this.Rw[d]=null;q.removeEventListener("loaded",this.W1);p.remove(q);this.AE[d]=
null;null===(f=p.parent)||void 0===f?void 0:f.remove(p)}};c.J7a=function(d){if(!this.hR[d]){var f=new k(this.BE[d],this.XR.ll);this.hR[d]=f;this.controllers[d].add(f.sa)}};c.E8a=function(d){var f=this.hR[d];f&&(f.dispose(),this.hR[d]=null)};c.g7a=function(d){this.zm!==d&&(this.zm=d,this.e9a())};c.e9a=function(){this.controllers.forEach(function(d){var f,p;d&&d.parent!=this.zm&&(null===(f=d.parent)||void 0===f?void 0:f.remove(d),null===(p=this.zm)||void 0===p?void 0:p.add(d))}.bind(this));this.AE.forEach(function(d){var f,
p;d&&d.parent!=this.zm&&(null===(f=d.parent)||void 0===f?void 0:f.remove(d),null===(p=this.zm)||void 0===p?void 0:p.add(d))}.bind(this));this.St.forEach(function(d){var f,p;d.parent!==this.zm&&(null===(f=d.parent)||void 0===f?void 0:f.remove(d),null===(p=this.zm)||void 0===p?void 0:p.add(d))}.bind(this))};c.kx=function(d){d=this.M0(d.target);if(this.GJ[d]){var f=this.BE[d];f.pressed=!0;this.XR.P.trigger(l.jy,{pointerState:f});this.tfa[d]=Date.now()}};c.jx=function(d){d=this.M0(d.target);if(this.GJ[d]){var f=
this.BE[d];f.pressed=!1;this.XR.P.trigger(l.kG,{pointerState:f});this.tfa[d]+300>Date.now()&&this.XR.P.trigger(l.Pf,{pointerState:f})}};c.V1=function(d){var f,p;if("gaze"!=d.data.targetRayMode){var q=this.M0(d.target);this.J7a(q);null===(f=this.zm)||void 0===f?void 0:f.add(this.controllers[q]);null===(p=this.zm)||void 0===p?void 0:p.add(this.AE[q]);this.GJ[q]=!0;this.sfa[q]=d.data.gamepad;this.BE[q].handedness=d.data.handedness;this.XR.P.trigger(l.Gja)}};c.Kga=function(d){return d.profiles.some(function(f){return 0<=
f.indexOf("hand")})};c.Y1=function(d){var f,p;d=this.M0(d.target);null===(f=this.zm)||void 0===f?void 0:f.remove(this.controllers[d]);null===(p=this.zm)||void 0===p?void 0:p.remove(this.AE[d]);this.GJ[d]=!1;this.sfa[d]=null;this.XR.P.trigger(l.Hja)};c.W1=function(d){var f=this.F1a(d.target),p=this.Rw[f];this.N7a();p.setEnvironmentMap(this.Ofa);this.v3?this.zCa(p):this.CEa(p);p.userData.Kga=this.Kga(d.target.motionController.xrInputSource);p.userData.ki=!0;this.YGa(f)};c.YGa=function(d){var f=this.Rw[d];
f.userData.ki&&(d=this.BE[d],f.visible=f.userData.Kga||d.hidden?!1:!0)};c.zCa=function(d){d&&d.traverse(function(f){if("isMesh"in f&&f.material){var p=f.material;if(!p.userData.zr){var q=p.userData.Y3a;q||(q=p.clone(),p.userData.Y3a=q,q.userData.zr=p,q.transparent||(q.transparent=!0,q.opacity=1,"map"in q&&q.map&&(q.map=this.s0a(q.map)),q.needsUpdate=!0));f.material=q}void 0===f.userData.Dha&&(f.userData.Dha=f.renderOrder);f.renderOrder=1E3}}.bind(this))};c.CEa=function(d){d&&d.traverse(function(f){if("isMesh"in
f&&f.material){var p=f.material;p.userData.zr&&(f.material=p.userData.zr);void 0==f.userData.Dha&&(f.renderOrder=f.userData.Dha)}}.bind(this))};c.s0a=function(d){if(!d)return null;var f=document.createElement("canvas");f.width=d.image.width;f.height=d.image.height;var p=f.getContext("2d");p.drawImage(d.image,0,0);for(var q=p.getImageData(0,0,f.width,f.height),n=q.data,r=0;r<n.length;r+=4)n[r+3]=255;p.putImageData(q,0,0);d=(new h.Texture).copy(d);d.image=f;d.needsUpdate=!0;return d};c.M0=function(d){return this.controllers.indexOf(d)};
c.F1a=function(d){return this.Rw.indexOf(d)};c.j2a=function(d){return this.XR.jg.indexOf(d)};c.enabled=!0;c.controllers=[null,null];c.GJ=[!1,!1];c.AE=[null,null];c.Rw=[null,null];c.i0=null;c.hR=[null,null];c.sfa=[null,null];c.St=[];c.v3=!1;c.BE=[];c.tfa=[];c.zm=null;c.Ofa=null;return c}();new h.Matrix4;return a});
define("mb",["require","exports"],function(){return function(){function a(e){this.Mc=this.Cs(e.Iha);this.rw=this.Cs(e.Kha);this.Cw=this.Mk([0,0,0],0);this.CZ=this.Mk([0,0,0],.125);this.WNa=this.Mk(this.Mc,1);this.XNa=this.Mk(this.rw,1);this.eMa=this.Mk(this.rw,1);this.dMa=this.Mk(this.Mc,.5);this.bMa=this.Mk(this.Mc,1);this.cMa=this.Mk(this.rw,1);this.Ph=this.mf=128;this.b6=4E3;this.koa=.1;this.wl=.16;this.Io=.04;this.hna=this.bV=.68-this.Io;this.aV=1-this.Io;this.R=document.createElement("canvas");
this.R.width=this.mf;this.R.height=this.Ph;this.za=this.R.getContext("2d");this.fd=this.bv=!1;this.MH=this.iY=void 0;this.VB=0}a.prototype.Cs=function(e){return(e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]};a.prototype.Mk=function(e,l){return"rgba("+e.join(",")+", "+l+")"};a.prototype.BF=function(e,l){this.fd=e;this.iY=l};a.prototype.ux=function(e){this.bv=e};a.prototype.He=function(){return this.mf};a.prototype.Xe=function(){return this.Ph};
a.prototype.hg=function(){return this.R};a.prototype.update=function(e){return this.bv?this.$Na(e):this.fd?this.eOa():this.dOa()};a.prototype.dispose=function(){this.za=null;this.R.width=this.R.height=1};a.prototype.QG=function(){var e;null===(e=this.za)||void 0===e?void 0:e.clearRect(0,0,this.mf,this.Ph)};a.prototype.dOa=function(){if(this.MH==a.cka)return!1;this.QG();this.qoa(this.WNa,1);this.MH=a.cka;return!0};a.prototype.eOa=function(){if(void 0===this.iY){if(this.MH==a.X)return!1;this.QG();this.qoa(this.XNa,
2)}else this.OTa(this.iY);this.MH=a.X;return!0};a.prototype.$Na=function(e){for(this.VB+=e;this.VB>this.b6;)this.VB-=this.b6;this.ZLa(this.VB/this.b6);this.MH=a.JT;return!0};a.prototype.qoa=function(e,l){this.Gj(this.koa*l+this.Io,0,this.Cw,this.CZ,0,2*Math.PI);this.Gj(this.koa*l,0,this.Cw,e,0,2*Math.PI)};a.prototype.fOa=function(e){this.Gj(this.bV-.5*(this.wl+this.Io),this.wl+this.Io,this.CZ,this.Cw,0,2*Math.PI);this.Gj(this.bV-.5*this.wl,this.wl,this.dMa,this.Cw,0,2*Math.PI);this.Gj(this.bV-.5*
this.wl,this.wl,this.eMa,this.Cw,.5*Math.PI,(.5+2*e)*Math.PI)};a.prototype.aOa=function(e,l){this.Gj(this.hna-.5*(this.wl+this.Io),this.wl+this.Io,this.CZ,this.Cw,0,2*Math.PI);this.Gj(this.hna-.5*this.wl,this.wl,this.bMa,this.Cw,0,2*Math.PI);e=(.5+2*e)*Math.PI;for(l=(.5+2*l)*Math.PI;l<e;)l+=2*Math.PI;var m=e-this.Io/(2*this.aV*Math.PI),k=l+this.Io/(2*this.aV*Math.PI);Math.abs(k-m+2*Math.PI)<2*this.Io&&(m=0,k=l);this.Gj(this.aV-.5*(this.wl+this.Io),this.wl+this.Io,this.CZ,this.Cw,m,k);this.Gj(this.aV-
.5*this.wl,this.wl,this.cMa,this.Cw,e,l)};a.prototype.Gj=function(e,l,m,k,b,h){var g=Math.round(.5*this.mf),c=Math.round(.5*this.Ph),d=Math.min(g,c);e=Math.round(e*d);var f=this.za;f&&(f.imageSmoothingEnabled=!0,f.lineWidth=l*d,f.strokeStyle=m,f.fillStyle=k,f.beginPath(),f.arc(g,c,e,b,h,!1),f.stroke(),f.fill())};a.prototype.ZLa=function(e){this.QG();if(.25>e){var l=e/.25;e=.5*l}else.5>e?(l=(e-.25)/.25,e=.5+l,l=1+.5*l):.75>e?(l=(e-.5)/.25,e=.5+.5*l,l=.5+l):(e=l=(e-.75)/.25,l=.5+.5*l);this.aOa(e,l)};
a.prototype.OTa=function(e){this.QG();this.fOa(e)};a.cka="initial";a.JT="changing";a.X="over";return a}()});define("mX",["require"],function(){return{$9a:"single",FRONT:"front",Ya:"left",BACK:"back",qb:"right",yc:"top",rc:"bottom"}});
define("jv",["require","mX"],function(a){a=a("mX");var e={},l=Math.PI/180,m=new THREE.Matrix4;new THREE.Matrix4;var k=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];e.zg=500;e.U3=.5*e.zg;e.gJa=e.zg;e.cla=[a.FRONT,a.qb,a.BACK,a.Ya,a.yc,a.rc];e.wza=function(b,h){for(var g=e.zg,c=e.U3,d=b*h,f=this.dv(),p=[],q=0,n=6*d;q<n;q++)p.push(q);q=[];var r=d;q.push(this.yG(f,b,h,-c,+c,-c,+g,0,-g,0,p.slice(0,r)));n=r;r+=d;q.push(this.yG(f,b,h,+c,+c,
-c,0,+g,-g,0,p.slice(n,r)));n=r;r+=d;q.push(this.yG(f,b,h,+c,+c,+c,-g,0,-g,0,p.slice(n,r)));n=r;r+=d;q.push(this.yG(f,b,h,-c,+c,+c,0,-g,-g,0,p.slice(n,r)));n=r;r+=d;q.push(this.yG(f,b,h,-c,+c,+c,+g,0,0,-g,p.slice(n,r)));q.push(this.yG(f,b,h,-c,-c,-c,+g,0,0,+g,p.slice(r,r+d)));f.mergeVertices();f.computeFaceNormals();f.userData.type="cube";f.userData.wBa=b;f.userData.oHa=h;f.userData.S4a=q;return e.hQ(f)};e.HJ=function(){var b=this.dv();this.ima(b,-.5,.5,0,1,0,0,0,-1,0,0);b.mergeVertices();b.computeFaceNormals();
b.userData.type="plane";return e.hQ(b)};e.vza=function(b,h,g,c,d,f,p,q,n,r,t,u){var v=this.dv();v.vertices.push(new THREE.Vector3(b,h,g));v.vertices.push(new THREE.Vector3(c,d,f));v.vertices.push(new THREE.Vector3(p,q,n));v.vertices.push(new THREE.Vector3(r,t,u));v.faces.push(new THREE.Face3(0,2,1,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,0),new THREE.Vector2(1,1)]);v.faces.push(new THREE.Face3(0,3,2,null,null,0));v.faceVertexUvs[0].push([new THREE.Vector2(0,
1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);v.mergeVertices();v.computeFaceNormals();v.userData.type="quad";return e.hQ(v)};e.EFa=function(b,h,g,c,d){b=e.oda(b);var f=b.faceVertexUvs[0][0];f[0].x=h;f[0].y=g+d;f[1].x=h;f[1].y=g;f[2].x=h+c;f[2].y=g;f=b.faceVertexUvs[0][1];f[0].x=h;f[0].y=g+d;f[1].x=h+c;f[1].y=g;f[2].x=h+c;f[2].y=g+d;b.uvsNeedUpdate=!0;return e.hQ(b,!0)};e.pr=function(){return e.U3};e.mga=function(b,h){return 2*b*Math.tan(.5*h*l)};e.nga=function(b,h){return 2*b*Math.tan(.5*h*
l)};e.Jt=function(b){return Math.max(Math.min(3.539647*b-6.669366*b*b+4.7454*b*b*b,e.U3),.1)};e.dv=function(){var b=new THREE.Geometry;b.userData={};return b};e.dispose=function(b){b&&(b.isBufferGeometry&&b.userData&&b.userData.geometry&&b.userData.geometry.dispose(),b.isGeometry&&b.userData&&b.userData.CJ&&b.userData.CJ.dispose(),b.dispose())};e.hQ=function(b,h){if(b.isBufferGeometry)return b;if(b.isGeometry){if(!b.userData.CJ||h)b.userData.CJ&&b.userData.CJ.dispose(),h=b.toBufferGeometry(),(h.userData=
{}).geometry=b,b.userData.CJ=h;return b.userData.CJ}return null};e.oda=function(b){return b.isGeometry?b:b.isBufferGeometry&&b.userData&&b.userData.geometry?b.userData.geometry:null};e.yG=function(b,h,g,c,d,f,p,q,n,r,t){for(var u={},v=0,w=0;w<g;w++){u[w]={};for(var x=0;x<h;x++)this.ima(b,c+p*x/h+0*w/g,d+0*x/h+n*w/g,f+q*x/h+r*w/g,p/h,0/h,q/h,0/g,n/g,r/g,t[v]),u[w][x]=b.faces.slice(b.faces.length-2,b.faces.length),v+=1}return u};e.K$a=function(b,h,g){h=.5*h/Math.tan(.5*g);m.copy(b);b=k[0];b.x=0;b.y=
0;b.z=0;b.applyMatrix4(m);g=Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z);var c=h/b.z,d=k[1];d.x=b.x*c;d.y=b.y*c;d.z=h;return g/Math.sqrt(d.x*d.x+d.y*d.y+d.z*d.z)};e.a2a=function(b,h,g){b=e.oda(b);m.copy(h.matrixWorldInverse).multiply(g);switch(b.userData.type){case "cube":return e.xQa(b,m,h.projectionMatrix);default:return e.yQa(b)}};e.X1a=function(b,h,g){b=e.oda(b);switch(b.userData.type){case "plane":return e.cQa(b,h,g);case "quad":return e.vpa(b,1,h,g)||e.vpa(b,0,h,g);default:return null}};e.ima=function(b,
h,g,c,d,f,p,q,n,r,t){var u=b.vertices.length;b.vertices.push(new THREE.Vector3(h,g,c));b.vertices.push(new THREE.Vector3(h+q,g+n,c+r));b.vertices.push(new THREE.Vector3(h+d+q,g+f+n,c+p+r));b.vertices.push(new THREE.Vector3(h+d,g+f,c+p));b.faces.push(new THREE.Face3(u,u+1,u+2,null,null,t));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(0,0),new THREE.Vector2(1,0)]);b.faces.push(new THREE.Face3(u,u+2,u+3,null,null,t));b.faceVertexUvs[0].push([new THREE.Vector2(0,1),new THREE.Vector2(1,
0),new THREE.Vector2(1,1)])};e.cQa=function(b,h,g){var c=b.faces[0],d=b.faces[1],f=k[0],p=k[1],q=k[2];f.copy(b.vertices[c.a]).applyMatrix4(h);p.copy(b.vertices[d.c]).applyMatrix4(h);q.copy(b.vertices[c.b]).applyMatrix4(h);h=p.x-f.x;d=p.y-f.y;var n=p.z-f.z;p=q.x-f.x;var r=q.y-f.y;q=q.z-f.z;var t=d*q-n*r,u=n*p-h*q,v=h*r-d*p,w=g.direction.x*t+g.direction.y*u+g.direction.z*v;if(0!=w&&(v=-(t*(g.origin.x-f.x)+u*(g.origin.y-f.y)+v*(g.origin.z-f.z))/w,!(0>=v||(t=g.origin.x+g.direction.x*v-f.x,u=g.origin.y+
g.direction.y*v-f.y,f=g.origin.z+g.direction.z*v-f.z,g=(h*t+d*u+n*f)/(h*h+d*d+n*n),f=(p*t+r*u+q*f)/(p*p+r*r+q*q),h=b.faceVertexUvs[0][0][0],d=b.faceVertexUvs[0][1][2],b=b.faceVertexUvs[0][0][1],0>g||1<g||0>f||1<f))))return{UGa:h.x+(d.x-h.x)*g+(b.x-h.x)*f,mHa:h.y+(d.y-h.y)*g+(b.y-h.y)*f,materialIndex:c.materialIndex}};e.vpa=function(b,h,g,c){var d=b.faces[h],f=k[0],p=k[1],q=k[2];f.copy(b.vertices[d.a]).applyMatrix4(g);p.copy(b.vertices[d.b]).applyMatrix4(g);q.copy(b.vertices[d.c]).applyMatrix4(g);
g=p.x-f.x;var n=p.y-f.y,r=p.z-f.z;p=q.x-f.x;var t=q.y-f.y;q=q.z-f.z;var u=n*q-r*t,v=r*p-g*q,w=g*t-n*p,x=c.direction.x*u+c.direction.y*v+c.direction.z*w;if(0!=x&&(w=-(u*(c.origin.x-f.x)+v*(c.origin.y-f.y)+w*(c.origin.z-f.z))/x,!(0>=w))){u=c.origin.x+c.direction.x*w-f.x;v=c.origin.y+c.direction.y*w-f.y;c=c.origin.z+c.direction.z*w-f.z;if(0!=(f=t*g-p*n))g=(v*g-u*n)/f,n=(v*p-u*t)/-f;else if(0!=(f=q*g-p*r))g=(v*g-u*n)/f,n=(v*p-u*t)/-f;else if(0!=(f=q*n-t*r))g=(c*n-v*r)/f,n=(c*t-v*q)/-f;else return;if(!(0>
n||1<n||0>g||1<g||1<n+g))return p=b.faceVertexUvs[0][h][0],t=b.faceVertexUvs[0][h][1],b=b.faceVertexUvs[0][h][2],{UGa:p.x+(t.x-p.x)*n+(b.x-p.x)*g,mHa:p.y+(t.y-p.y)*n+(b.y-p.y)*g,materialIndex:d.materialIndex}}};e.xQa=function(b,h,g){var c=Array.prototype.concat.apply([],b.userData.S4a.map(function(d){return e.Npa(h,g,d,b.vertices,0,0,b.userData.wBa,b.userData.oHa).map(function(f){return f.materialIndex})}));return e.Xpa(c)};e.yQa=function(b){b=b.faces.map(function(h){return h.materialIndex});return e.Xpa(b)};
e.Xpa=function(b){var h={};b.forEach(function(c){h[c]=!0});b=[];for(var g in h)b.push(g);return b};e.Npa=function(b,h,g,c,d,f,p,q){var n=[];if(e.MXa(b,h,c[g[f][d][0].a],c[g[f+q-1][d][0].b],c[g[f+q-1][d+p-1][0].c],c[g[f][d+p-1][1].c]))if(1==p&&1==q)n.push(g[f][d][0]);else for(f=1<q?[f,f+Math.ceil(.5*q),f+q]:[f,f+q],d=1<p?[d,d+Math.ceil(.5*p),d+p]:[d,d+p],p=1;p<f.length;p++){q=f[p-1];for(var r=f[p]-q,t=1;t<d.length;t++){var u=d[t-1];n=n.concat(e.Npa(b,h,g,c,u,q,d[t]-u,r))}}return n};e.MXa=function(b,
h,g,c,d,f){var p=[null,null,null,null,null];k[0].copy(g).applyMatrix4(b);k[1].copy(c).applyMatrix4(b);k[2].copy(d).applyMatrix4(b);k[3].copy(f).applyMatrix4(b);g=0;c=4;for(b=0;4>b;b++){d=k[(b+3)%4];f=k[b];var q=k[(b+1)%4];if(0>=f.z)p[g++]=f;else{if(0>=d.z){var n=k[c++],r=d.z/(d.z-f.z);n.x=d.x+(f.x-d.x)*r;n.y=d.y+(f.y-d.y)*r;n.z=-1E-5;p[g++]=n}0>=q.z&&(n=k[c++],r=f.z/(f.z-q.z),n.x=f.x+(q.x-f.x)*r,n.y=f.y+(q.y-f.y)*r,n.z=-1E-5,p[g++]=n)}}if(2<g){for(b=0;b<g;b++)p[b].applyMatrix4(h);b=0;for(h=g-2;b<
h;b++)if(g=p[b],c=p[b+1],d=p[b+2],!(1<g.x&&1<c.x&&1<d.x||-1>g.x&&-1>c.x&&-1>d.x||1<g.y&&1<c.y&&1<d.y||-1>g.y&&-1>c.y&&-1>d.y))return!0}return!1};e.xza=function(b,h,g,c,d,f,p,q,n){var r=b*l,t=.5*-r+.5*Math.PI,u=h*l,v=.5*(Math.PI-u)-g*l,w=.5*e.gJa,x=64/Math.PI,y=Math.max(2,Math.ceil(r/c*x));x=Math.max(2,Math.ceil(u/d*x));for(var z=c*y,E=d*x,B=this.dv(),A=0,D=[],C=0;C<=E;C++){for(var J=[],H=v+C*u/E,P=0;P<=z;P++){var W=-(t+P*r/z);B.vertices.push(new THREE.Vector3(-w*Math.cos(W)*Math.sin(H),+w*Math.cos(H),
+w*Math.sin(W)*Math.sin(H)));J.push(A++)}D.push(J)}for(t=r=0;t<d;t++)for(u=t*x,v=0;v<c;v++){w=v*y;for(C=0;C<x;C++)for(z=p+(1-C/x)*n,E=p+(1-(C+1)/x)*n,P=0;P<y;P++){A=f+P/y*q;J=f+(P+1)/y*q;H=D[u+C][w+P];W=D[u+C+1][w+P+1];var U=D[u+C][w+P+1];B.faces.push(new THREE.Face3(H,D[u+C+1][w+P],W,null,null,r));B.faceVertexUvs[0].push([new THREE.Vector2(A,z),new THREE.Vector2(A,E),new THREE.Vector2(J,E)]);B.faces.push(new THREE.Face3(H,W,U,null,null,r));B.faceVertexUvs[0].push([new THREE.Vector2(A,z),new THREE.Vector2(J,
E),new THREE.Vector2(J,z)])}r++}B.mergeVertices();B.computeFaceNormals();B.userData.type="sphere";B.userData.Ie=b;B.userData.Pr=h;B.userData.pitch=g;B.userData.wBa=c;B.userData.oHa=d;return e.hQ(B)};return e});
define("cF","require exports mb bi three.mod jv".split(" "),function(a,e,l,m,k,b){a=function(){function g(c,d){this.Uw=this.lp=null;this.ic=c;this.ll=d;this.canvas=new l(d);this.A0a();this.w0a();this.sa=new k.Group;this.sa.add(this.lp);this.sa.add(this.Uw)}g.prototype.update=function(){this.canvas.update(m.iAa)&&(this.lp.material.map.needsUpdate=!0);var c=b.Jt(this.ll.V4a||2),d=2*c*Math.tan(g.uIa/2);this.sa.matrixAutoUpdate=!1;this.sa.matrixWorldNeedsUpdate=!1;this.sa.matrix.identity();this.sa.matrix.multiply(h.makeTranslation(0,
0,-c));this.sa.matrix.multiply(h.makeScale(d,d,d));this.sa.updateMatrixWorld(!0)};g.prototype.Ze=function(c){this.lp.material.opacity=c};g.prototype.BF=function(c,d){void 0===d&&(d=void 0);this.canvas.BF(c,d)};g.prototype.ux=function(c){this.canvas.ux(c)};g.prototype.dispose=function(){var c;this.V0a();this.S0a();this.canvas.dispose();null===(c=this.sa.parent)||void 0===c?void 0:c.remove(this.sa);this.sa=null};g.prototype.S0a=function(){var c;if(this.Uw){this.Uw.geometry.dispose();var d=this.Uw.material.map.source;
d.width=d.height=1;this.Uw.material.map.dispose();null===(c=this.Uw.parent)||void 0===c?void 0:c.remove(this.Uw);this.Uw=null}};g.prototype.w0a=function(){var c=document.createElement("canvas");c.width=c.height=256;var d=c.getContext("2d");d.fillStyle="rgba(0, 0, 0, 0)";d.fillRect(0,0,256,256);d=new k.Texture;d.image=c;d.generateMipmaps=!0;d.minFilter=k.LinearMipMapLinearFilter;d.needsUpdate=!0;c=new k.MeshBasicMaterial({map:d,transparent:!0});c.map.needsUpdate=!0;c.needsUpdate=!0;c=new k.Mesh(new k.PlaneGeometry,
c);c.renderOrder=1E4;this.Uw=c};g.prototype.V0a=function(){var c;this.lp&&(this.lp.geometry.dispose(),this.lp.material.map.dispose(),this.lp.material.dispose(),null===(c=this.lp.parent)||void 0===c?void 0:c.remove(this.lp),this.lp=null)};g.prototype.A0a=function(){var c=new k.PlaneGeometry,d=new k.Texture;this.canvas.update(10);d.encoding=k.sRGBEncoding;d.image=this.canvas.hg();d.generateMipmaps=!0;d.minFilter=k.LinearMipMapLinearFilter;d.needsUpdate=!0;d=new k.MeshBasicMaterial({map:d,transparent:!0});
this.lp=new k.Mesh(c,d);this.lp.renderOrder=1E4};g.uIa=6*Math.PI/180;return g}();var h=new k.Matrix4;return a});
define("jn","require exports pf jk cF js three.mod".split(" "),function(a,e,l,m,k,b,h){a=function(){function d(){}d.initialize=function(){this.kx=this.kx.bind(this);this.jx=this.jx.bind(this);this.XR.P.bind(l.ca,this.Je.bind(this),this,!0);this.XR.P.bind(l.Jm,this.EA.bind(this),this,!0);this.XR.P.bind(l.Kp,this.x4a.bind(this),this,!0)};d.mb=function(f){this.enabled=f;this.bHa()};d.Je=function(){this.bHa()};d.EA=function(){this.setCamera(this.enabled&&this.XR.mx||null);this.rja();this.j9a()};d.x4a=
function(){this.XR.hia==b.hU&&this.XR.P.trigger(l.Pf,{pointerState:this.ic})};d.bHa=function(){this.XR.isPresenting&&this.enabled?this.Tia():this.eja()};d.setCamera=function(f){this.camera!==f&&(this.camera=f,this.l9a())};d.rja=function(){this.XR.UJ.origin.copy(this.XR.Xc);this.XR.UJ.direction.set(0,0,-1).applyQuaternion(this.XR.ug);if(this.enabled){if(1!=this.XR.jg.length&&this.XR.jg[0]!==this.ic){for(;this.XR.jg.length;)this.XR.jg.pop();this.XR.jg.push(this.ic)}this.ic.matrixWorld.copy(g.compose(this.XR.Xc,
this.XR.ug,c));this.ic.ray.origin.set(0,0,0);this.ic.ray.direction.set(0,0,-1)}};d.l9a=function(){this.Ke&&this.Ke.sa.parent!==this.camera&&(this.Ke.sa.parent&&this.Ke.sa.parent.remove(this.Ke.sa),this.camera.add(this.Ke.sa))};d.Tia=function(){var f;this.Ke||(this.Ke=new k(this.ic,this.XR.ll),null===(f=this.camera)||void 0===f?void 0:f.add(this.Ke.sa),this.controller=this.XR.dh.xr.getController(0),this.controller.addEventListener("selectstart",this.kx),this.controller.addEventListener("selectend",
this.jx))};d.eja=function(){this.Ke&&(this.Ke.dispose(),this.Ke=null,this.controller.removeEventListener("selectstart",this.kx),this.controller.removeEventListener("selectend",this.jx),this.controller=null)};d.j9a=function(){var f,p,q,n;if(this.enabled){if(this.Mn=this.ic.Mn)this.mGa=this.ic.KDa;var r=Date.now();if(this.XR.hia==b.ZF){var t=this.Mn?r-this.mGa:0;var u=this.XR.ll.W4a;this.JDa<u&&t>=u&&this.XR.P.trigger(l.Pf,{pointerState:this.ic});this.JDa=t;null===(f=this.Ke)||void 0===f?void 0:f.BF(this.Mn&&
this.ic.xK,Math.min(1,t/u))}else null===(t=this.Ke)||void 0===t?void 0:t.BF(this.ic.xK);this.ic.Mn||this.ic.fr?this.TR=void 0:void 0==this.TR&&(f=this.XR.ll.s1a,void 0!==f&&(this.TR=r+f));r=(void 0!==this.TR?this.TR:Infinity)-r;null===(p=this.Ke)||void 0===p?void 0:p.Ze(this.ic.hidden?0:Math.max(.01,Math.min(1,r/500)));null===(q=this.Ke)||void 0===q?void 0:q.ux(this.ic.fr);null===(n=this.Ke)||void 0===n?void 0:n.update()}};d.kx=function(){this.ic.pressed=!0;this.XR.P.trigger(l.jy,{pointerState:this.ic})};
d.jx=function(){this.ic.pressed=!1;this.XR.P.trigger(l.jy,{pointerState:this.ic});this.XR.P.trigger(l.Pf,{pointerState:this.ic})};d.ic=new m;d.enabled=!1;d.camera=null;d.Ke=null;d.Mn=!1;d.mGa=0;d.JDa=0;d.TR=void 0;d.controller=null;return d}();var g=new h.Matrix4,c=new h.Vector3(1,1,1);return a});
define("ku","require exports pf bO hD jn".split(" "),function(a,e,l,m,k,b){return function(){function h(){}h.p7a=function(g){this.cEa=g};h.initialize=function(){this.XR.P.bind(l.ca,this.Je.bind(this),this,!0);this.XR.P.bind(l.Jm,this.EA.bind(this),this,!0);this.XR.P.bind(l.Gja,this.j4a.bind(this),this,!0);this.XR.P.bind(l.Hja,this.k4a.bind(this),this,!0)};h.Je=function(){this.sja()};h.EA=function(){};h.j4a=function(){this.sja()};h.k4a=function(){this.sja()};h.sja=function(){var g=this.XR.isPresenting?
this.cEa===m.xL&&k.isConnected()?m.xL:m.ZF:null;this.pointerType!==g&&(this.pointerType=g,k.mb(g===m.xL),b.mb(g===m.ZF))};h.cEa=m.xL;h.pointerType=null;return h}()});define("cH",["require","exports"],function(){return function(){return function(){}}()});
define("cf",["require"],function(){return{nl:"data:image/png;base64, ",rIa:"data:image/png;base64, ",
cJa:"data:image/png;base64, ",
CL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAE4CAMAAADW5D7KAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQIC/758wECDPYK/fcFCPt8VnWAAABehJREFUeNrt3N2WmzAMRWHABmx+/f5P20672kwSIBYI8MA+110T+sUWQnGSZeQyqZu2C1+xxpiiaPIak7kUNrzFjH2FzPuy8mEupsjxibT6szHbhj35PyZ8jMfrb/oQlXaAKstsiExX3H55DUGQ0t0bqwwBLsXyDpe4ZH3jqsGKj+3ZhoL4ezb2bViX8Y57sVmJFbobLq7artUKxQ3HM6uxgr9dF1F367Xs7bZitX4jhtCjJelQb7cT2w1a/nY9RFV2lHnJ8sq/MhRFa4Tb0t77g406L1qLlmRr9i1akhXWtGhJvPoOLUEGQwchSG7Q0uVqUXpsxo+1awTpUeo/DnMakL51Xp5boiAjRV5S6C0Dm/i45a3IWZvnOr94OsKyEQWFi27rJQ0bUUmrYyMKtGjkJVoOnpcsPPsYdF6z0EHwRYO3eJaWoDu1jB8EQ4j59gGct/R0poIYqpZgBGG5ISpsRAZbkv6BNv49OadzFRp5uoepGk+JV3iipsQLnnosNIKqRRcvqFrsw6m03A+391qcfJhKx1dVNncPjB4kJV7vBZrSh6Pj236XB1y/axPfHA+154/wFDsWraYLZ8aqTwSq3Q6JVD6cHfUvg08/8vjtyyqkEOXF1e5T4cuQRnQfRvpdKnwqVsqnzvI9PmwdQzpRXVs7bPYmpBTNuuXVV6+zSWFpTn5L9Qcek5aV5hCl0H6BIaQWvbnAoN07dMlh2b1vh+ozsjOjdpDKKX8uXSaI5XfuHVbfQmyCWHpHEnSxUtyFivtQF6tIEmt1G18Vz5n588//qI8dpbVJYplj33obue1NklhBddepreQOrPiVHC6Ftfat709pRGZuufPpVbFW/vRdmSWEddwDySqtMrsn1hqtMrsrllyrzO6LJdWS9L/Xw5JpiZ4VLogl0ZI9V10RK15L+Ax6SaxYLenz+jWx4rTEs42LYsVoyedAV8X6rLViZnZZrE9aa+aL18Va1lo1i70w1pLWurn1lbHmtVbO+C+NNae19vOQa2NNa63+7OjiWFNa64/LXR3rXWvD0cLLY71qbTmGeX2sZ61NR1ZvgPVda9vx3jtgPbQ2HoW+BdY/ra3Hxu+B9Vdr8xH7m2BlrjTbz/XeBUslYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIEFFlhgCbAqc1DGYnA/HevQ367vRgeWICYHS8LlwIqPbcBa+auvYAm0wBJogfU5I1iCDGAJ7ok1WOKNCFZUHFjSOyJYgqoFVlwasIT7EKzI8RZYgtRgxScHS/bIA1Zkih+G5YpD0l0C66AYsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssJIIWGCBBRZYYIEFFlhggbUnli/yOqvz3oP1kerxLJkbsBYzPr1WD9ZCmpcXa8CKXFdKa+uiWD765cCanBM6sCbTTb5eC9bc33hPA1b8tN6BNRU3/YJgCf5XYE2lPhArP/PR/gvL/qCadSpWr9A/Hnk3HM7EyhWw/C59lpn8q8WZWJXGBezSwZfpYaksbbNHA9/v81ywdQfVQf8/tn1G4wT39GMyKr1dr/Osyqq8jfr9yNaSpXKLeV5bjQ377MLq7F34O932P2Ue28YpFBZb79OPKOwelWtom6916hqVGjzdu2XleVaPQZQPaWVmYWlsgbUZkqgFy1eWSslqU2n2IhvSLBsTWeplQlZ+bnJy2i601fOFpFO2fC071nxCWajb1K1OW/12SKkiPNWrWSt30hV11eSwyJ5OZZv5We9JN6F25t2ri2SX1e+LO+Wt9AvfNKmL8/o+O7qlDxHOqBLtpy/l5OMZcxA/DsuXdXjF6trGRX0U5PJj45K7pMmi/gv70+gtsjuKIwAAAABJRU5ErkJggg==",
lJa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAADcCAMAAADA8VqlAAAAM1BMVEUAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBprCkqAAAAEHRSTlMAQL8QgO/fn89gMHAgUI+vkrzZGQAAB8pJREFUeNrtXduW2yAM5H63zf9/bdukjdYBjI0t4KHz1Obsnp0INJKQjMl//MeM4I7MDaM4mRk6xo1MDB9/Q5BpYeMLlEwKJ98E5aTbMMj4F4bMCG7iByuZEFv8gYVMBx1/Qk6n1zbuYSZzFBq/oclMcDIm8GQecBUzmGgbmpjDPGmDjnkwMgdElt08aYPNcpsnbXDxADKQ0Qgyy2yatIHnHXietIHFGixpALLAzJM2OPZBBMyZNnzb7SUw9IUpCa5kNsybKGQJSjIb6JxpAoDOmCUcEKT5sLgIT8kApASzP8Le23OMdWktReB6rHLTSkXHzeDYQisF3fZmtrJRMk6PfWT5hL/wMmUgvRF2BJMlVFDkcTmmqt/VmxkDglkt/ERPHMYR/dNoHGzcE4epjNodyJkh5d6RE/O9dushsVAdODHda7cY4CVQPYGIFBnRIekOO4jEsKYgSaQ39IHKsK9lH+LGoqQy4LZD3RgIQrOuaDE24vyVHqTT33tONOhMV4J2hBtzIGiPCIIu9gYQpDWCfIjOmDJBCZV88kE/MCBY00HCRnTzBASSKsF1hBv7CwQ9qGU/0DLB7du16YikmmcJgjCPd+M6QYAaEY3ZBYLbCC9ZswQhtA33Ep8czJRTaNr/kBPcmJUJAj6VgVvZq1clmUCPLUWCLlUV9laeRe0KfkvwAIWdylNPN6zmW9JTQbQiDM4cE4TDEGU6d878IcFQkHVmX1ZznqF3WCgQrARjyM7Uj48Dw55nuUJwzZ21euR5FlYiuKWba8mWLxZ38EskBMtlHIcKNWEoN+EpRqhe4Hy1SpCYUlgEmKfFmycp/0HoXWE1088Bag2Pb0JajXVgbn1ijEnz5zbhBYK8FHZCOlVgn1VCm/+beUu5oq/JQP329KyfLLQ6cwRFSfS4gpNkLuSjzSl9QDBkzc3Kw1bqTXd9kqEFcTsOJRB4eCEvgr1C5XOrzMEodYKsGDbsPrMM5rkmOUs8s9x5EOXsRe5HM7iE/92Er8Y6gIOdlucOy+rk26CO0ps0Q5mgLtgpHPQmA3xxgNKUtMNUlDpNwe1Bdi4KU2ys3Y6+SNAUUnB9kHfI4qC2vbPGPu/dheFNVpL8PQ/21PAVOw4lqd7Jo9xSJSYU3N4rDSwQ/KLiCu0pkoWQ0WhP03alg73RBC6PQ0kqyPRa0cg+v+hb4zHLe6UvqMly+pvDvqSy3VMoEKw2l9SVbM/+HK2zN8ZPFasoNcCLJVyoef6YzXgOdNseFxDgek83sSkNez/f2qQQ/o15bL41O0ruayEcm3PVOoyfc0uMgSgKi3wfDONcXzz2xAUI4fOLbEgz8Lvsy63Epkfjgd1UB/RpHnrThPjTPOzeF8ef5qE3HRl/msc8VdQzpB6DfS3NtDrzt3oR8+oMIeKG0mBP84A+2Hl1hhDdrDT4+QwoTZg0n3lB3anjewz/+nv9e/zhXy4fcZNlt5cndBOHN0jhXm4ya7rwLyCv06YLjW5C/eKQyxIAvxxN3PvoTwcCEMk6POsm20XHf4OFshsPjCY+AgSyG0M08dfCmmHQqiy58ZCkC+IutwoY4rkxJEvuemLgX5vRF914gBQCQWhiSY7pxlCbyIsEIQwJVDcGKVxacj/xMiGmG8MG0i1hF5Kh1I0HrDEQ3Km8QnVjqD+XiwRBASimG4Mh9PnAo/Y7csN0YwilsumsbXntPVQ3hjVuKD8gUKZuPGiNoYCDgTGTbUaMWGPw1r2bBPwZ/rpWp08QA2OPcQaXavV60tQqyQ8Z4hlc/eHvdIo7rQs5+kMGvJpzgdPazEf4T+6aeiQAc6W1P7bOwFaqq6DJkbbIOgO2qedaPveh5LgE4XH/uhq5bF1ocBMuCCZ1V8q7dtQIp5ipwrWdlnODfKUeWCe0tQ2dxCUIQmPbCBKHQLAeJK4MeNjqLbf4m/A4p/K4V0rBJmzWIo1KEDZhe4FqotSOYGKtp1z24M7s4AgylnpPkN9skOL3BPW4a8fPlRWhcWSp3wjR2i53fVpuXLUOH/bqnNPO95Ndf4BeD7wJWJ7501y2jTr0G4BZWoJa10E71vUSuobrbILsc+1N+0CvH3ZV8dm1M2MiHmRc04rhenZz6QY/6TrCwEf5iTp7FuwHxRN/ever7hdYwdL59iFdfKynDcPG5F3htHvSQa8qMadXTo9Z5PW0XbhsYdhzko02HHfgF5/pkRHr7ClA8CxDeahLQwkSK6s3Bo0lSJyJL5hi2BtKEO4iwLdi++VtjjVQ7Dv3Tj8UBbJHg1C3UpQ6EERAqGunGNlCMphgLNjp5KobBOg7eWhY4dWFNtmNUzzBwb2Ci4P3HKd52o7q+AHzgbww1/OK3BvgqPTynCHDYydrblURoLR1jwQRA7XkUxwBRt/ek/rpAw0nTNxhs/f4IZS6fFl3JNVygx/WkRVfBJNgRX6HnyNYCFarGy9Z4Qz44WFhrQydAX6ooKrpXU9eAj9k8IZ7rALDvIc0ZXjVF4XsW92GayZcVPc3bK0X4illsX158Z8PsSo2mw9/VhGyXxZIX4i60nALJQ4lveEqSRO3WxxBD6AOVNd5Fj/QjgzBkv/rYZdUROU5GQX9bwGZ+AvN9qmjXMcYDxgeQenxL4u3ssSO+TlevAmuCmDaz/DeZoCji/gLP8t7Xv/jP87hF6zG3Qlg7TIVAAAAAElFTkSuQmCC",
T3:"data:image/png;base64, ",
iy:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAmVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZHz8/M8PDzLy8ufn5/u7u4UFBT8/PxmZmbz8/NNTU07Ozuvr6/i4uJwcHDm5uZfX1/o6Oi8vLy9vb2AgIAoKCj29vbT09OsrKzZ2dkoKCiGhoagoKDb29vJycnQ0NDHx8f4+Pj///9ot3XMAAAAMnRSTlOyALYLBLrAvRUiGsMxKS004vxC8WfNyPNP2tLP6rXa+NbBgu3eyeibdvTMWuWojp2P5xSTSb8AAAbBSURBVGje5NfrUuJAEAVg1l0SNTEJAUK4KRdRvLu8/8NtTyeHw5CKEwzln21rt7RK+ep09wyh8+vn62TzT7Ucf9HKpPIb5YBbmrAqRfu85oF3ab5Q+sOhex6TILDr60v5ksL/aoNtZ1IEqMTVcRFG2HZmCZqA4G6OC7CyTdSOSwRYcFEUSr0MUHloKipgYRH22yZEyaCe0d7fhqPdYf0dvq3yWN2mascRsoxowPx9Sc6u0XyVxsJqWHT4dJOigun7GECvv05Q/f7eXZYs1cYmSYrxYF5y62SSBYHHCoLNIukjbV6oQJubDFmK26G+5N3rdM/5RcENFrNeEXYgKqICdZkkNaTJqGJvZkBqfrfbxbclu1Z1KFkdUWHaJEKGca7i3W1mQLUqtWefEw37lsbRjUQF6jRJasiPkYoaEeCFVXvXqJmqoy2iAnWZIG+iOB+briYiAqRlu1RfdaxpGBF1mhil9HVlQq4ziAA7VlmsUadmix9epL9Aa02mBDk3IRcmJEVaVXev3puoqzgk+oVJMgpTszz9IiTB2rLU6ZP87ZzoVybJODWj1ElqRogutkSzmUHTGrRTT/ZkXRESYkM1CBJBx4rqkak3i40FOUVfm4ryj+gtUY6Upr2ysj4kbbF5VM9TdBlHV0Atk51tR1IlOheUI62aIOPlEXnRAn3kSGmSxP58yK9OQLoAJ7qtjBQmOxsP5BdvSX5LBSpHZpRLdxWtmvthyoU3I/ktkahcDsOYQWlax0SG+RQErVIyabDpcaQVE53d6v4wZZukvqALmVSuuytBaZK8CtOH3e5eSL9NSiySdnct3WXQqqk7+6TDxLlsjWbS3a1ZIwbtYGk1Zq7HpG1n7ZHey7spgtJkzLns7JlIjvRO3kytiXYQU0yNufE8DvMs3Z3IBwwEhcmlrYnZtrt9K6hlRumIMVntg8p5GTOoMbFBN+GnienY2Qutk4LqRAeRbWKDxrK0jpjFA15ztQgqqzuXoDguNMMXeXrGNOtfYuHz2cEplkEzuepjBu2wtW9yBTlj+rv+ptmaMaheRtuwakbxg2yQ49XkBeQ4vWZUnUGxRWyumBhnrtceYtaZnn5Iuw+wa46ymlsxw5U8z3ou01dTBj/Brdy4uS8YqJgY59Jsrd91mMGurPUzGtxwcz/DqinjdLZWTVSSuVVculN57sRAxcQlJJ9OvJNMedDHWN3NxZuLZQ5kHz2/kcnqO8aKzdU7N42OzXc5nWiV02TNMFbHQGe8/tTU97FHs0KI6TbZ4CRjg+vNpHxvoSkrNNQbobnJultwrLUndGKe/2BibcX0TjQ5Vjwp1qE0Lw/NcQtTxlo2uNbcFI9/tomjcqLJsQKtGaiYOCznMHEdej9ncqyb7n9g/uvVDloTBoIwDBcPkWI0l0K1pZdSELzU///rOpnk6+u6LmucmL0UCuVh1nTdzHzRvZ3/Gdok5lL/K5iLnglm8v8ZPfua+84+PxM4b597xq/9jG+vv1eW/C7TFezR72zEsqnvbEzuJpvJd5Nmwt2ky+4m3YN3sLLII5Tewbj3dc+/a9pjm5rtedqdGvHeO7Ue24t7/BLvDph8oKcJ70iI9TL7dyQ9Qm7qA+3fBTfPexf0jxPTTyJ/58UMv/NCJlu70Lv95kdbK5PNpYfxMlMPg67UW7sdmzWYhnrr9kSh8cUTdGBrzcxab5jzkENPSoeQTG2u994oNE4OZX7YWasyE3PuHiNleo9RT1DS16RQHt0ZyLGX2tHuw0x7xmvQ8M56z5gyZVKoeuPsbsCkN86niUmhwwwg3hxPZwA3+/EMAYZZB2iwdXuynf1VmZl5NdNZx1D7W2Y6hfkKu6vZVQB1ktmVyKL52vqM7jOEOrkeZ3TpzsoEZRYZQP/H2j6L7MmSCeqTZdBVhPzKB725aegO9MmzZQrt0fdk1LuaXuQ4Q4fMzAzdH3RNp9SpWQHIsglKJkIo6pRMREqWTaF59uMe0YtU9iMjMQuoMi6ViIvALOOSk5gllCwPKm7iIZLlKZOYoASIlFlqXIVlAY4BLTJLkLlZRq3U45DNyqNZrFI2C7Jsgt7MoDVpBs2xYgatnZRBA1WpZO0auYJLWTuyYEbWTVAyhd9kCuVq3cwUWpGQBbOe1kyzk8092UnIukmpqMYGMqKBLGy3P1eysCYGsrCgZH53xna3Mr9Hz/w6iAgZyjb7Hveru8g2d87ttg66SJE1s64qUm2yLddNM848gYjBrDqsu/mqZNWjmXxl5N3uf+IhhkxUZwUny34BiBgwYXF9YeEBxk1YX0BwgLOauKyqFzdZWA+sP5AziIxB81g8AAAAAElFTkSuQmCC",
f5:115,YIa:115,jG:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB0CAMAAACBmP1sAAAAllBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRkZEAAAAAAAAAAAAAAAAAAAAAAABOTk48PDzz8/Pu7u78/PygoKBmZmbLy8soKCjz8/M7OzsUFBSvr69wcHDo6Oi8vLz4+Pi9vb1fX1/h4eHm5uasrKzZ2dnT09OGhobi4uKAgICBgYHb29vQ0NDKysqampqgoKDIyMj///9mvEG6AAAAMXRSTlO0AMC6Bw4XI+EpHjIsLzTRQvvO82ZP8Mjaz8fp2sGC5+3Wtfh29Jtatd7dqJ2NauWP5Mh4/QAABn9JREFUaN681ulW4zAMBWBPU5hQN2na0J2u7Dt6/5cb20py6+iQnOAp4g+Y5eNKilv15/frR2b/5KOhAk1gsmAHmO3eRVkeHGpKENjlBeqSvwIbagKE52pQfbi6EGygiYBOGwz++mVOSpfVEBMRC4+5K1tDLvc5yydsmNmHaD1rJYnWj9dlTbXWSWJwsO2qasvIoPOs9v46yem0dpPX7TTV7A5YRYc75zwRLTh93zAnK3/aZqku1EtWu5v9SmQwe1+UwHi2j8uazSp3s810YtgBo6a6mkwWYnr9VHD7eLTq+TU/xAWcH02TobaYMiWLAyPq9G5Ctm4/l73v6rAec9gPo5oOM9rF5N2xczTihxPH6xoYRVGN3Tt1Mk2TKmqTKUfJIZN06sTbmxWseqHLsQv7mnGDEbXdLEgX8i13ogC/cVdOze+KqECbTIzShVzYrsY1UEWqqkjV1U831sxOFWiL6Uju69aG3BddhSfLY5d2i3ePNiqG2mT2K1KnRxvyANHjJAv12Ubdcn8FKs2SHOrMLs9s1SqioC7vieiYaofK9io/JUg7yliI7SpPdW3RTLv2SrO+sSDHvK4Qu6ixQRdAhYmYHrkE2aFK9MahZqZypMqP6R4SkN1EPD0lukkT7BHM2v4EkGCBHvVQ7pESZJJuAkiOCvTBoBipMHmYSfpGRCMmIXYMCvROjlTVhjnUH0R0I1L+rL1ronxqRypMr7NZTrRGykD0nmgiuqv8zrph3oemxEznYzNSdBcmYg71XbE/EMOCHohoyrsL04+Z7Yie0dmgYnRvu+sHVd4CpW9FZyGGoqux3V0vqPJiTovHBCnD2/tCtEPQU5OneeSdFWRQd2+Jtl5QVY85/5+msugIQWGeJya6O0PQ0sTS5iJmeFB+XhYICtO+nnxxTCGGBeWJXp9cRgqtTRdtSxvZajqVVa7uk7mMKhOtfSS69Un56/L78lQGXRHlelg1V6G1r0QvTb89H3HNo6j5VP6ne+9eUNjandmgBjKKiSuOouZTaR5Mc+0WwbT3nns475ti9qq/3osaTkWVzU2r5qpqnFt+PwuywYzKQ3kqyaK5j4nZXJhunBu7tTJm81//3kQVm/vFA/VMM86mmD/JiYEuiTbVQFW5QhnRrOlJ+VFOoO7OhckvnddEn2fJqco7NxvC5BV6J3rhmGfJuXbXHy+uKtf2oVghdZac9se2bnFhXiUT3AjhOSU6InowiyvM3ply+mafTfteegHzHDnnRJPkqmYSzc6QEwPtZIbvrarMv7+eU9dM/a94M+hpGIbB6GFFYyvNhQPiAEhIoCEQ4v//Ouic7C39WrI2LviCVAk9HKVpbD/Wz1OZ/5Bn96d58q6smeedMjkTNmvkaWdCy7vC2bf2OTRg2hm/znnLGc95K98y1zz5lsXvCt9PvtmOeeo325jxqhnvJv55cjfhnpCqlSc2rlOebCG9gzVHJndN/3uf3TV3+8ikEuRO7Zsnd2rutxT2LzCraweQWjtQfq5TI6VK+5kaiVowvFs7aoo5WvVtLq8F08kHc79rnWte0rSltRMhr+07avspZozCU/1D3/rJh72dkz0Mfl+xvz7VSF2pT5Z2olfj1zdJvRp2bd6TCs9+zRrStJ4Uu/bIZHHpvXkhU+8t0MGAabtotR6j9PtIlF6qH/KNNJXZJ+rRMyZOPeNTmjBJ1HrjrK5Pb5w0hdlvXWYA1UhmAGzabG1HZh21yDTr+Aj0NEdnOi0znVpomukEjqDB2p5Wl9lVDfRsdhU7mk1pRndfCT2b0TG6Eiarez6LXEpkFhkYgAqTvZvNXCuRh58sWVmYMkEP2aC3BvkAUpgkGqG3Al02Qxek5GnQ7dZME1yBBcjriJxyBQigOBFzoJkTcUjI35i8pf3ymvsxh5q7H4dWkMIUdwjH5aKh79BxUSTMUei+h+LylKUTdXkEKUwiumDiLG2msPXOEpbdTtysTQraExNulukXZTdL1b6bhQ5a6IoOmgZ2X6euHeAJ187WFaQwyxZj+zjTKRS9r8hE8YM6y50kyQJTYokjGokgS0xNFaq5sF8FF7aDCLLAVO7AwG3DmPP72ju/BhTibGaTqFemNpvZ3JNxm8Oo3FzpjedG9Tbq212Ko8i9HdrUTQWTXFHHNXJZ3cfJz5V8Q8dQKb/OjwcJ9sg1cqLBg1bJJOQfLMBFYOPNbBJXA5YjE679SGweEJ5MwlDQ5sY3+a5XYx8CGgsAAAAASUVORK5CYII=",
UIa:115,TIa:115,wJa:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAAB1CAMAAABKxC7JAAAAh1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJBMTEwAAADz8/M8PDzLy8ugoKDu7u5wcHA6Ojr8/PxmZmYUFBTz8/Pi4uKvr6+AgIAnJyfo6Oi8vLzm5ua9vb1fX1/S0tL4+PjZ2dmPj4/JycmsrKyGhoafn58UFBTb29v///9i05URAAAALHRSTlO0AL0KwyYRGDMuHuPUyfxC8WbN29DzT8jaterfzMGC+e3XnOf15Y52W+fOqAzih28AAAcuSURBVGje1JWJcqpAEEUJkrxBZHHfUNEY1/n/73s9wzQ31ACiUq/qXVKpklKPp7uncT7+ff4TZs/6s9IJEzT9j5O/ArlrZk9ddQG1OybkvnT+mEsHzt0xWTCn2dFoYN9lAmhw/X7/sxy6Y7igvsYEEUDg7PQZi86+xASx4Pm+L4S4DDkzQfH9HEtcyD7JBJEV+zmPaKf7aCp/53t03yqy5oL6KlMhWZF4s9MGuHKmy21MWFCh+gyTq9rPDePTggFRkgWcJJGcDWF9H9QXmKaPueJwaXBZMJh75aT7IGFbKrKhQrUlE2XVxPNIquyuE0K4VhR4v4py2aGhKtXWnqirIQ41MVoBWIPNNHVErlBtwcS8fhnkTBN343kJ6HBK2DTQsvfYqPYorT11XbXkYaqJUDSo4lIBda6p07MQqG8rJuo6W6iqBgWxoHH4JbDzq26rVtX1bcEEUoitksx0VQGsir7L1EmiNsWlqG8DE71k5FJJ7kGs5sHX4QqvJWUrBKDNTIOkJaCGJzGSUGwIqJMjfXYJaDOzVyBVKwOWBK8Nlbq6UtC4BurUI6MxSyKtqQFBFwqKc1rDLCEnjHyOaqBjQGuY0KTxARLEZwLoRvhcXZuJkS0jQXyuvgxdAlrJZKTYAPlaXEAPQu2Gcksdu5kHeusAli8F0LPdUsdq5pDeOIblW6YrWr4zVNdicjNp4a3etIQpLYeROqVVTFSWmnmE5bumaWRaylAwoXlW8wPLt0331ClTXTBLmiL+lnJtbZ93WppRdSFqMfOZPaKZXYjOI5pdFgUTmjN9TGDZhelaym8WBROaS5rZjiwxuzsptyzKTAyt0kyh2ZHoAKLMxNB2qwnTBKIlptKMp9DsiMjnZcGizOx95Jqnek233VUjSh0dKtGCiQla8NBavLaxqa4Z3aUWNUyU9iLljjXtz7WIxlaJzmnVC78oroMJupsVZFuug7YZu5U/ODN7wTC5nb6gtZdWaLpuItsncCu3LooLz/xwHqu66U7kE4lct7a4YHI7t1IGlcyBfCae1RtT3IvPj1GnaOeGplYj3S6YCC/dk+CGOnw6VTsrJ8h7mQlRj/qzMQ2Fpx9LmVSclPeYEOWdCya1cyjl1SNk9568c2OfmTxCJzqd0Ozcc0Xrj7cCMfPn2IFHqEtPNDTIny1l5ggbodbzOE5v+0SWkw1uk3VUzYQofcmBN5HTA9N74JmFYeiF4aqEHIcqt2OjJ5hf7KmOysIw6z2jW+hRwnD32zLMb04eeKZSjgomH08pkwee19DTCztcS2SgbxI0afb0iCkKzx6YzZ57Zg4kEvLNn3pPMD9RWzCdBs8f/vq9RNK/tJnbTsMwDEDFijTESlXYG1TqyxBi4v+/D9eLdZTaklct9QtlgbnHcRxf7MPPlBOdNSeYnnOUnVvMWDnRV7HtddjA2eWcuKi6i/yODNPtw9+/LZxP+X4CJXJWosv01uvD3C9HRVRu5eSshJxQjeOsD/NVNJXzcRlH0Z5wTtF+fiTn0wQzq68ieRzSs0LsU51TwonMonJpd8GXcMY6LcbnnFa7aeS+i5MYfyTG212WcXJq5C9LcZnfn9xl3CvdkTs74QTTXj/nrO/sjjyB3MS9ZO8xy7sBmnL63ERT6tBx0ekwAU046xyMvI9ccy0upyZeybetQYcovyXXhNMqwdNzwOlqh76adaxAT+6tXU5NHv9C7VCL1Ujfi8hPM4YxnFkMayT1b6sd0EmNBGj9T8jqrXQRoQ6IayTqsrgWRHxhy5JfjMuVH9tOOMW4Yc3rxzcbFzFt2U5q+1dq+/greUgWHSa1faXT9TDaSelKvWNa+iZiXO3VANq0V4PXis69Wm9gak8Kr1WdeO6OvTc6GHCKF+3ZY3T9PryofS9VpoSKiQehU+MfPeMWoAd6xmC6PjW98Rag9MbZTXQSFxrNALCszgDCfjwB8NFZB8Ksg7DndDaZ6UDJTEdDkNdJd7PMrh4edxxEdHaFZcN5GTO6/1btXbVhIIqiKKhNm5RJ4f//yIixLgtxjY9Ho3GVNMtHeWCY/f1Et5WV23FH5xco3EWuociHC9DXd66ueQu9PnKrO1dPltmvs6HXpiJ/kWcTCf1xh35hpDt0pMOEjtJEKzA3tcgvpHypm/5KWxMxM1ITUWRoIqDaD1Mn2w9kaFwKbY1LUHvj4sEG0/+G1vLsryxqeazMXY2AqJolkVS57aNtb5asjCb03GZt2PPrXZuVezBqBWH71FODBg4NGhLazY5eb+20YMRger5HxfinKeTyFptCaGgnab2dHCOFuNHs6shgP2pEpanK1GB21NaPWtgsMnNlXEHs6+b38Wx+d5CIzGafSj3c1jaLm2fa5qxih+wM7gBLRE6aVGNbOn5ww8tgNqkS+R0esqPJJ66bxpZb9NDK20HiomlssWxf1hu70bS2Bjve0v2mn234zs0miTV//gHyyprZmiIc9wAAAABJRU5ErkJggg==",
yJa:115,e$a:117,AJa:"data:image/png;base64, ",
JB:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}});
define("nu","require jquery.mod lE pf cC gv v".split(" "),function(a){var e=a("jquery.mod"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("gv");a=a("v");if(a.Vb()!=a.nL){var h=function(r){return r.requestFullscreen||r.msRequestFullscreen||r.mozRequestFullScreen||r.webkitRequestFullscreen},g=function(){return document.exitFullscreen||document.msExitFullscreen||document.mozCancelFullScreen||document.webkitExitFullscreen},c=document.createElement("div");if(!(a=!(!h(c)&&!g())))try{a=window.self===window.top}catch(r){a=
!1}if(a){var d=l.extend(b,function(r){b.call(this);this.ta=r;this.Vs=h(r);this.fC=g(r);this.T=this.O8();var t=this;e(document).bind("msfullscreenchange webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){t.fda()});e(window).bind("resize",function(){t.fda()})});d.uia=function(){};d.prototype.Xj=function(){return!(!h(this.ta||c)&&!g())};d.prototype.s0=function(){this.enabled()||this.toggle()};d.prototype.jr=function(){this.enabled()&&this.toggle()};d.prototype.toggle=function(){this.enabled()?
this.fC.call(document):this.Vs.call(this.ta);this.fda()};d.prototype.enabled=function(){return this.T&&this.O8()};d.prototype.O8=function(){return this.ta===d.fullscreenElement()};d.prototype.fda=function(){var r=this.O8();this.T!=r&&(this.T=r,this.trigger(new k(m.ca)))};d.enabled=function(){return!!d.fullscreenElement()};d.fullscreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement};d.jr=function(){d.enabled()&&
g().call(document)}}else{d=l.extend(b,function(r){b.call(this);this.ta=r});var f=!0;d.uia=function(r){f="out_of_frame"==r};d.prototype.Xj=function(){return f};d.prototype.s0=function(){this.toggle()};d.prototype.jr=function(){};d.prototype.toggle=function(){f&&window.open(window.self.location.href,"_blank")};d.prototype.enabled=function(){return d.enabled()};d.enabled=function(){return!1};d.fullscreenElement=function(){return null};d.jr=function(){}}}else{d=l.extend(b,function(r){b.call(this);this.ta=
r});d.prototype.Xj=function(){return!0};d.prototype.s0=function(){this.enabled()||this.toggle()};d.prototype.jr=function(){this.enabled()&&this.toggle()};d.prototype.toggle=function(){if(this.enabled())p("fullscreen"),d.Ty=null;else{d.Ty&&d.Ty.jr();p("fullscreen");var r=q();r.push("fullscreen");n(r);d.Ty=this}this.trigger(new k(m.ca))};d.prototype.enabled=function(){return this==d.Ty};d.enabled=function(){return!!d.fullscreenElement()};d.fullscreenElement=function(){return d.Ty&&d.Ty.ta};d.jr=function(){d.enabled()&&
d.Ty.jr()};d.uia=function(){};d.Ty=null;var p=function(r){for(var t=q(),u=[],v=0;v<t.length;v++)t[v]!=r&&u.push(t[v]);n(u)},q=function(){var r=window.location.hash.substring(1);return r.length?r.split("&"):[]},n=function(r){window.location.hash="#"+(r.length?r.join("&"):"")}}return d});
define("dA",["require"],function(){var a={};a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){window.localStorage.removeItem("test");var e=!0;break a}}catch(m){}e=!1}if(e)a.setItem=function(m,k){window.localStorage.setItem(m,k)},a.getItem=function(m){return window.localStorage.getItem(m)},a.removeItem=function(m){return window.localStorage.removeItem(m)},a.clear=function(){try{window.localStorage.clear()}catch(m){}};else{var l=
{};a.setItem=function(m,k){l[m]=k};a.getItem=function(m){return l[m]};a.removeItem=function(m){delete l[m]};a.clear=function(){l={}}}return a});
define("je","require jquery.mod lE pd v mB pE cf nu dA".split(" "),function(a){function e(S,X){this.a_a=S;this.GMa=X;this.$ca=[];this.Cj=null;this.LP=!1}var l=a("jquery.mod"),m=a("lE"),k=a("pd"),b=a("v"),h=a("mB"),g=a("pE"),c=a("cf"),d=a("nu"),f=a("dA"),p="color:#000; font-family:Arial, Helvetica, sans-serif;",q="",n="border-color:#b2b2b2;",r=n,t="background-color:#009adb; border:none; box-sizing:border-box; color:#fff; cursor:pointer; font-family:Arial, Helvetica, sans-serif; text-align:center;",u=
"vertical-align:middle; padding:0;",v='<img style="width:33vmin;" src="'+c.nl+'"/>',w='<img style="width:24vmin;" src="'+c.nl+'"/>',x='<img style="width:34vmin;" src="'+c.T3+'"/>',y='<img style="width:34vmin;" src="'+c.rIa+'"/>',z='<img style="width:24vmin;" src="'+c.cJa+'"/>';b.lb()?(t+=" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;",p+=" font-size:3.6vmin; line-height:4.3vmin;",q+=" margin:5vmin 0;",n+="  margin:5vmin 0;",r+="  margin:3vmin 0;",
u+=" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"):t+=" font-size:19px; padding:17px 34px;";q+=p;e.prototype.o7=function(){this.Cj||(this.Cj=l("<div/>"),this.Cj.css({position:"fixed","z-index":g.yIa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.Cj.html(this.GMa),l(this.Cj).find("button").on("click",function(S){this.BSa(l(S.currentTarget).attr("id"))}.bind(this)))};e.prototype.qca=function(S,X){var F={},M;for(M in X)F[M]=S.css(M);
this.$ca.push({$el:S,css:F});S.css(X)};e.prototype.aVa=function(){for(;this.$ca.length;){var S=this.$ca.pop();S.$el.css(S.css)}};e.prototype.show=function(S,X,F){S||(S=function(){});X||(X=function(){});if(this.LP){var M=this.iV;this.iV=function(){M();S()};var T=this.XU;this.XU=function(){T();X()}}else{this.o7();this.iV=S;this.XU=X;var Y=this.xPa();if(void 0===Y){this.LP=!0;var ca=this;Y=d.fullscreenElement()||document.body;Y=l(Y);!0!==F?Y.children().each(function(){ca.qca(l(this),{visibility:"hidden"})}):
(this.qca(Y,{overflow:"hidden"}),Y.children().each(function(){ca.qca(l(this),{position:"absolute","z-index":0})}));Y.append(this.Cj)}else this.LP=!1,Y?this.iV():this.XU()}};e.prototype.hide=function(){this.LP&&(this.LP=!1,this.Cj.detach(),this.aVa())};e.prototype.xPa=function(){var S=f.getItem(this.ppa());if("true"==S)return!0;if("false"==S)return!1};e.prototype.uva=function(S){f.setItem(this.ppa(),S?"true":"false")};e.prototype.ppa=function(){return this.a_a+"DontDisplay:"+window.location.pathname};
e.prototype.BSa=function(S){var X=l("#tdvvriw_dontdisplay").is(":checked");this.hide();"tdvvriw_continue"==S?(this.iV(),X&&this.uva(!0)):"tdvvriw_cancel"==S&&(this.XU(),X&&this.uva(!1))};a=m.extend(e,function(){var S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+q+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">'+
k("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">','<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-app-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+k("launch-default-browser")+"</button></div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+
k("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"ChromeAppInfoWindow",S)});var E=m.extend(e,function(){var S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+q+'">'+k("use-cardboard-info")+"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div>",'<hr style="'+n+'">',"<div>",'<div style="'+q+'">',
'<div style="margin-bottom:2vmin;">'+k("samsung-internet-vr-info")+"</div>","</div>",y,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"SamsungInternetInfoWindow",S)}),B=m.extend(e,function(){e.call(this,"SamsungInternetForGearVRInfoWindow",
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',y,'<div style="'+q+'">This content requires access to the WebVR API.<br>To enable WebVR open the "More" menu you\'ll find above this window and then click on the "Labs" item.</div>','<div><button style="'+t+'" id="tdvvriw_cancel">OK</button></div>',"</div>\n</div></div>"].join("\n"))}),A=m.extend(e,function(){var S=
['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+q+'"></div>','<div style="text-align:center;"><button style="'+t+' box-shadow:0 0 4px rgba(0, 0, 0, 0.5);" id="tdvvriw_continue">'+k("exit-vr")+"</button></div>","</div></div>"].join("\n");e.call(this,"ExternalVRDisplayVRInfoWindow",S)});A.prototype.o7=function(){e.prototype.o7.call(this);!0===h.gg("vrv")&&
this.Cj.css({background:"none"})};var D=m.extend(e,function(){var S=b.browser()==b.ni?"https:"!=window.location.protocol&&"localhost"!=window.location.hostname?"<div>"+k("giroscope-disabled-http")+"</div>":k("giroscope-disabled-safari-request-permission").map(function(X){return"<div>"+X+"</div>"}).join("\n"):"<div>"+k("giroscope-disabled-http")+"</div>";S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
'<div style="'+q+'">',S,"</div>",'<div><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"GiroscopeDisabledInfoWindow",S)}),C=m.extend(e,function(){var S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',
v,'<div style="'+q+'">'+k("use-cardboard-info")+'</div><div><button style="'+t+'" id="tdvvriw_continue">'+k("use-cardboard")+"</button></div>","</div>",'<hr style="'+n+'">',"<div>",y,'<div style="'+q+'">It looks like this device is compatible with Gear VR. If you have a Gear VR headset you can view this content using the Carmel Web Browser (by Oculus).</div>','<div><button style="'+t+'" id="tdvvriw_cancel">Use Carmel web browser</button></div>',"</div>\n</div></div>"].join("\n");e.call(this,"CarmelInstallationPromptVRInfoWindow",
S)}),J=m.extend(e,function(){var S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">\n<div>',v,'<div style="'+p+' margin:2vmin 0;">'+k("cardboard-v1")+"</div>",'<div><button style="'+t+'" id="tdvvriw_cancel">'+k("use-default-cardboard")+"</button></div>","</div>",'<hr style="'+r+'">',"<div>",'<div style="'+p+' margin-bottom:2vmin;">'+k("cardboard-v2")+"</div>",'<div><button style="'+
t+'" id="tdvvriw_continue">'+k("use-cardboard-v2")+"</button></div>",x,"</div>\n</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"CardboardV2InfoWindow",S)}),H=m.extend(e,function(){var S=['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<div style="'+q+'"></div>','<div style="text-align:center;"><button style="'+t+'" id="tdvvriw_continue">'+k("enter-vr")+"</button></div>","</div></div>"].join("\n");e.call(this,"EnterVRInfoWindow",S)}),P=m.extend(e,function(){e.call(this,"PreparingVRInfoWindow",['<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">','<div style="'+q+'">Preparing VR...</div>',"</div></div>"].join("\n"))}),
W=m.extend(e,function(){var S=['<div style="position: absolute; top: 7vmin; right:5vmin; ">',w,'</div>\n<div style="box-sizing:border-box; margin:0; padding:0 12vmin; display:table; height:100%; width:100%;"><div style="vertical-align:middle; text-align:center; display:table-cell;">',z,'<div style="'+q+'">'+k("use-safari-for-vr")+"</div>",'<div style="text-align:center;"><button style="'+t+'" id="tdvvriw_continue">OK</button></div>',"</div></div>",'<div style="position:absolute; left:12vmin; right:12vmin; bottom:6vmin; '+
q+'">','<input type="checkbox" id="tdvvriw_dontdisplay" name="tdvvriw_dontdisplay" value="true" style="'+u+'"><label for="tdvvriw_dontdisplay">'+k("dont-display-again")+"</label>","</div>"].join("\n");e.call(this,"UseSafariVRInfoWindow",S)});m=m.extend(e,function(){var S=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+c.nl+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">',
'<img style="width:22vmin" src="'+c.CL+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+k("rotate-device")+"</div>","</div>\n</div>"].join("\n");e.call(this,"RotateVRInfoWindow",S)});var U={};U.dJa=new E;U.Z9a=new B;U.Uja=new A;U.E9a=new C;U.J9a=new H;U.T9a=new P;U.pla=new W;U.CL=new m;U.Yja=new D;U.JHa=new a;U.T3=new J;return U});
define("dY","require lE jquery.mod en pd cf pf v e nM oh".split(" "),function(a){function e(){this.Mb=!1;this.eQ=null;this.wa=this.na=100;this.L9=this.zi=void 0;this.M9=100;this.ta=document.createElement("div");this.ta.style.opacity=0;this.ta.style.display="none";this.ta.style.transition="opacity 0.3s";this.ta.addEventListener("transitionend",this.uda.bind(this));this.me=document.createElement("div");this.ZEa(!0);this.me.style.position="absolute";this.me.style.left=0;this.me.style.top=0;this.me.style.right=
0;this.me.style.bottom=0;this.ta.appendChild(this.me);this.ac=document.createElement("img");this.ac.style.cursor="pointer";this.ac.style.position="absolute";this.ac.style.left="50%";this.ac.style.top="50%";this.ac.style.transform="translate(-50%, -50%)";this.ta.appendChild(this.ac);this.z5=k(this.ta)}function l(t,u){this.reason=t;this.Xo=u}var m=a("lE"),k=a("jquery.mod");a("en");a("pd");var b=a("cf"),h=a("pf"),g=a("v"),c=a("e"),d=a("nM"),f=a("oh"),p=m.extend(c,function(){c.call(this);this.Fe("UserInteractionWindow");
this.hc=null;this.Ws=[];var t=new d;t.set("duration",500);t.set("easing","cubic_in");var u=new f;u.set("duration",500);u.set("easing","cubic_out");this.ma({contentOpaque:!0,left:0,top:0,right:0,bottom:0,hideEffect:u,showEffect:t,visible:!1});this.bind(h.oc,this.uea,this,!0);this.bind(h.qa,this.PZa,this,!0)});p.prototype.uea=function(){this.hc&&this.hc.setSize(this.uf(),this.tf())};p.prototype.PZa=function(){var t=this.Ws.slice();this.Ws=[];this.x_();t.forEach(function(u){u.Xo.call(u.context)})};p.prototype.Db=
function(){c.prototype.Db.call(this);this.hc||(this.hc=new e,this.hc.setSize(this.uf(),this.tf()),this.hc.Bf(!0),this.Pb().append(this.hc.Yc().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"})),this.x_())};p.prototype.Qp=function(){c.prototype.Qp.call(this);this.getParent().bind(h.oc,this.uea,this,!0);p.hKa(this)};p.prototype.zn=function(){this.getParent().unbind(h.oc,this.uea,this,!0);c.prototype.zn.call(this);p.GUa(this)};p.prototype.E5a=function(t){this.Vs(n,t)};p.prototype.IS=
function(t){this.Vs(q,t)};p.prototype.Vs=function(t,u){this.Ws.push(new l(t,u));this.Ws.sort(function(v,w){return r[v.reason]-r[w.reason]});this.x_()};p.prototype.Y_a=function(t){this.cancel(n,t)};p.prototype.V_a=function(){this.cancel(q,void 0)};p.prototype.cancel=function(t,u){t=this.oQa(t,u);0<=t&&this.RUa(t)};p.prototype.IG=function(){this.yU(!0)};p.prototype.xy=function(){this.yU(!1)};p.prototype.oQa=function(t,u){for(var v=0;v<this.Ws.length;v++){var w=this.Ws[v];if(w.reason==t&&w.Xo==u)return v}return-1};
p.prototype.x_=function(){if(this.hc){var t=this.zQa();if(t){switch(t.reason){case q:this.hc.zia(e.$ja);break;case n:this.hc.zia(e.Q4)}this.set("visible",!0)}else this.set("visible",!1)}};p.prototype.RUa=function(t){this.Ws.splice(t,1);t==this.Ws.length&&this.x_()};p.prototype.zQa=function(){return 0<this.Ws.length?this.Ws[0]:null};var q="vr",n="play",r={};r[q]=0;r[n]=1;e.prototype.Yc=function(){return this.z5};e.prototype.setSize=function(t,u){if(this.na!==t||this.wa!==u)this.na=t,this.wa=u,this.y_()};
e.prototype.ZEa=function(t){this.me.style.backdropFilter=t?"blur(8px)":"none"};e.prototype.Bf=function(t){this.Mb!=t&&(this.Mb=t,this.eQ&&(clearTimeout(this.eQ),this.eQ=null),this.Mb?(this.ta.style.display="block",this.ta.style.opacity=0,this.eQ=setTimeout(function(){this.eQ=null;this.ta.style.opacity=1}.bind(this),30)):this.ta.style.opacity=0)};e.prototype.zia=function(t){this.zi!=t&&(this.zi=t,this.aZa())};e.prototype.uda=function(){this.Mb||(this.ta.style.display="none")};e.prototype.aZa=function(){switch(this.zi){case e.Q4:this.L9=
b.iy;this.M9=b.f5;break;case e.$ja:this.L9=b.wJa,this.M9=b.yJa}this.ac.src=this.L9;this.y_()};e.prototype.y_=function(){g.lb()?(this.ac.style.maxWidth=Math.round(.5*this.na)+"px",this.ac.style.width="20vmin"):(this.ac.style.maxWidth=Math.round(.33*this.na)+"px",this.ac.style.width=this.M9+"px")};e.Q4="play";e.$ja="vr";p.Jka=e;p.cd=[];p.dba=[];p.hKa=function(t){p.cd.push(t);p.dba.forEach(function(u){p.rqa(t,u)});p.dba=[]};p.GUa=function(t){p.cd.splice(p.cd.indexOf(t),1)};p.ready=function(){return 0<
p.cd.length};p.IS=function(t){p.cd.length?p.cd.forEach(function(u){p.rqa(u,t)}):p.dba.push(t)};p.rqa=function(t,u){t.IS(function(){p.cd.forEach(function(v){v!=t&&v.V_a()});u()})};return p});
define("dd",["require","exports"],function(){return function(){function a(){}a.addParameter=function(e){this.removeParameter(e);var l=this.toArray();l.push(e);this.JGa(l)};a.removeParameter=function(e){var l=this.toArray().filter(function(m){return m!=e});this.JGa(l)};a.toArray=function(){var e=window.location.hash.substring(1);return e.length?e.split("&"):[]};a.JGa=function(e){window.location.hash="#"+(e.length?e.join("&"):"")};return a}()});
define("gH","require exports v hW je e nu ml dY dd js mB".split(" "),function(a,e,l,m,k,b,h,g,c,d,f,p){var q=!1;g.wait(function(){setTimeout(function(){q=!0},10)});return function(){function n(){}n.GF=function(r){this.Nza(r)};n.Nza=function(r){function t(){v.Nza(r)}function u(){v.Y7a(r)}var v=this;this.XR.pK?m.disabled?k.Yja.show(function(){m.Zha(t)}):h.enabled()||!b.s1()?(h.jr(),c.IS(t)):u():l.ur()?u():l.Vb()==l.sp||l.Vb()==l.eu?q?u():b.s1()?setTimeout(u,10):c.IS(function(){setTimeout(u,10)}):b.s1()?
u():c.IS(u)};n.Y7a=function(r){function t(){u.Q5a(r)}var u=this;l.Vb()==l.UF?(d.removeParameter("vr"),k.JHa.show(t,function(){d.addParameter("vr")}.bind(this))):l.uR()&&l.Vb()==l.VF?k.dJa.show(t):l.Vb()==l.lL?k.pla.show(t):l.Vb()==l.GT?k.pla.show():t()};n.Q5a=function(r){function t(){v.XR.hia=f.qIa;r()}function u(){v.XR.hia=f.ZF;r()}var v=this;!l.lb()||l.yf()?u():"1"==p.getQueryParameter("cardboard_version")?u():"2"==p.getQueryParameter("cardboard_version")?t():k.T3.show(t,u)};return n}()});
define("t",["require","jquery.mod","nu"],function(a){function e(){f.get(0)==document.body&&h.height(window.innerHeight)}function l(n,r){var t={},u;for(u in r)t[u]=n.css(u);p.push({$el:n,css:t});n.css(r)}function m(n){this.ta=n}var k=a("jquery.mod"),b=a("nu");m.prototype.s0=function(){this.enabled()||this.toggle()};m.prototype.jr=function(){this.enabled()&&this.toggle()};m.prototype.toggle=function(){this.enabled()?m.cancel():m.request(this.ta)};m.prototype.enabled=function(){return m.enabled(this.ta)};
var h=k("<div/>").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),g=k("<div/>"),c=null,d=null,f=null,p=[],q=null;m.request=function(n){if(n!==c){m.cancel();c=n;var r=b.fullscreenElement()||document.body;d=k(n);f=k(r);g.insertAfter(d);d.appendTo(h);f.children().each(function(){l(k(this),{visibility:"hidden"})});l(d,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});r==document.body?l(h,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,
padding:0}):l(h,{position:"absolute",left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});h.appendTo(f);e();q=setInterval(e,300)}};m.cancel=function(){if(c){h.detach();d.insertBefore(g);for(g.detach();p.length;){var n=p.pop();n.$el.css(n.css)}f=d=c=null;p=[];clearInterval(q)}};m.enabled=function(n){return c==n};return m});
define("lx","require lE pf cC gv pd cf".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("pd");a=a("cf");var h=['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+a.nl+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">'].join("\n"),g=h+['<img style="width:22vmin" src="'+a.CL+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+
b("rotate-device")+"</div>"].join("\n")+"</div>\n</div>",c=h+['<img style="width:13vmin; vertical-align:middle;" src="'+a.lJa+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; text-align:left; display:inline-block; vertical-align:middle; margin:5vmin 0 0 2vmin;">Please, swipe up to<br>enter Fullscreen Mode</div>'].join("\n")+"</div>\n</div>";e=e.extend(k,function(){k.call(this);this.Xl=this.oh=this.ho=this.CN=this.DN=this.C$=this.D$=void 0;
this.yW=!1;this.Rz=this.qba=this.B$=this.Df=null;this.Soa=[];this.Z9=this.Pq=!1;this.Bc=this.Bc.bind(this)});e.prototype.request=function(){this.Pq||(this.Pq=!0,this.n7(),window.addEventListener("resize",this.Bc),document.body.appendChild(this.Df),document.body.appendChild(this.Rz),this.zXa=document.documentElement.style.overflow,this.yXa=document.body.style.overflow,document.documentElement.style.overflow="auto",document.body.style.overflow="auto",this.IO())};e.prototype.cancel=function(){this.Pq&&
(this.Pq=!1,window.removeEventListener("resize",this.Bc),document.body.style.overflow=this.yXa,document.documentElement.style.overflow=this.zXa,document.body.removeChild(this.Df),document.body.removeChild(this.Rz),this.yva(!1))};e.prototype.enabled=function(){return this.yW};e.prototype.n7=function(){this.Df||(this.Df=this.mV({position:"fixed",top:0,left:0,zIndex:9999998},!0),this.Df.id="tdvminuictr",this.qba=this.mV({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,g),
this.Df.appendChild(this.qba),this.B$=this.mV({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},!0,c),this.Df.appendChild(this.B$),this.Rz=this.mV({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},!1),this.Rz.id="tdvminuiscrl",this.Rz.addEventListener("touchend",this.Bc))};e.prototype.mV=function(d,f,p){var q=document.createElement("div");this.yP(q,d);void 0!==p&&this.eWa(q,p);f&&this.Soa.push(q);return q};e.prototype.Bc=function(){[0,250,1E3,
2E3].forEach(function(d){setTimeout(this.Gaa.bind(this),d)}.bind(this))};e.prototype.Gaa=function(){this.ho==window.innerWidth&&this.oh==window.innerHeight||this.IO()};e.prototype.IO=function(){this.ho=window.innerWidth;this.oh=window.innerHeight;this.Xl=this.ho>this.oh?"landscape":"portrait";if("landscape"==this.Xl){this.D$&&this.C$&&this.MRa(this.D$,this.C$)&&(!this.DN&&!this.CN||this.NRa(this.DN,this.CN))&&(this.DN=this.ho,this.CN=this.oh);this.HRa()&&(this.DN=this.ho,this.CN=this.oh);this.D$=
this.ho;this.C$=this.oh;var d=this.DN==this.ho&&this.CN==this.oh}else d=!1;this.Soa.forEach(function(n){n.style.height=this.oh+"px";n.style.width=this.ho+"px"}.bind(this));var f=this.Pq&&"portrait"==this.Xl,p=this.Pq&&"landscape"==this.Xl&&!d,q=this.Pq&&"landscape"==this.Xl;this.yP(this.Df,{display:f||p?"block":"none"});this.yP(this.qba,{display:f?"block":"none"});this.yP(this.B$,{display:p?"block":"none"});this.yP(this.Rz,{display:q?"block":"none",right:p?0:"99.9%"});this.yva(d)};e.prototype.yva=
function(d){null!=this.sZ&&(clearTimeout(this.sZ),this.sZ=null);this.yW!=d&&(this.sZ=setTimeout(function(){this.sZ=null;(this.yW=d)?this.trigger(new m(l.rp)):this.trigger(new m(l.Bb));this.trigger(new m(l.ca))}.bind(this),d?1E3:0))};e.prototype.HRa=function(){var d=window.innerWidth,f=window.innerHeight,p=Infinity;[[480,320],[960,640],[1136,640],[1334,750],[1920,1080],[2001,1125],[2048,1536],[2172,1125],[2208,1242],[2732,2048],[2436,1125]].forEach(function(q){p=Math.min(p,Math.abs(100-100*d*q[1]/
(f*q[0])))});return 1>=p?!0:!1};e.prototype.MRa=function(d,f){return d*window.innerHeight>f*window.innerWidth};e.prototype.NRa=function(d,f){return d*window.innerHeight>=f*window.innerWidth};e.prototype.yP=function(d,f){for(var p in f)d.style[p]=f[p]};e.prototype.eWa=function(d,f){d.innerHTML=f};return new e});
define("pk",["require","exports"],function(){return function(){function a(){}a.enable=function(){null===this.wakeLock&&navigator.wakeLock&&navigator.wakeLock.request("screen").then(function(e){this.wakeLock=e}.bind(this))};a.disable=function(){null!==this.wakeLock&&(this.wakeLock.release(),this.wakeLock=null)};a.wakeLock=null;return a}()});
define("kL",["require","jquery.mod","pd","cf"],function(a){function e(){this.Cj=null;this.T=!1;this.Bc=this.Bc.bind(this);this.oh=this.ho=this.Xl=void 0}var l=a("jquery.mod"),m=a("pd"),k=a("cf");e.prototype.dv=function(){this.Cj||(this.Cj=l("<div/>"),this.Cj.css({position:"fixed","z-index":1E6,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.Cj.html(['<div style="position: absolute; top: 5vmin; right:5vmin;">','<img style="width:24vmin" src="'+
k.nl+'"/>','</div>\n<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">','<img style="width:22vmin" src="'+k.CL+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+m("rotate-device")+"</div>","</div>\n</div>"].join("\n")))};e.prototype.show=function(b){this.T||(this.T=!0,this.dv(),
l(b).append(this.Cj),l(window).on("resize",this.Bc),this.IO())};e.prototype.hide=function(){this.T&&(this.T=!1,l(window).off("resize",this.Bc),this.Cj.detach())};e.prototype.Bc=function(){[0,250,1E3,2E3].forEach(function(b){setTimeout(this.Gaa.bind(this),b)}.bind(this))};e.prototype.Gaa=function(){this.ho==window.innerWidth&&this.oh==window.innerHeight||this.IO()};e.prototype.IO=function(){this.ho=window.innerWidth;this.oh=window.innerHeight;this.Xl=this.ho>this.oh?"landscape":"portrait";this.Cj.toggle("landscape"!=
this.Xl)};return new e});
define("hH","require exports pf v je dd nu t lx pk kL bi".split(" "),function(a,e,l,m,k,b,h,g,c,d,f,p){function q(n,r){n?setTimeout(r,200):r()}return function(){function n(){}n.request=function(r,t){this.XR.isPresenting||this.XR.aS||(this.hl=r,this.$ha=t,this.hl&&(this.XR.aS=!0,this.e4a(),this.requestSession().then(function(u){this.B4a(u);this.hl.xr.setReferenceSpaceType("local-floor");this.hl.xr.setFoveation(this.$ha.n1a);return this.hl.xr.setSession(u)}.bind(this)).then(function(){this.XR.referenceSpace=this.hl.xr.getReferenceSpace();
this.XR.aS=!1;this.C4a()}.bind(this)).catch(function(u){console.error(u);this.XR.aS=!1;this.A4a()}.bind(this))))};n.end=function(){this.XR.session&&this.XR.session.end()};n.requestSession=function(){var r,t=["local-floor","bounded-floor","hand-tracking"];(null===(r=this.hl)||void 0===r?0:r.capabilities.isWebGL2)&&t.push("layers");return navigator.xr.requestSession("immersive-vr",{optionalFeatures:t})};n.e4a=function(){p.RK(!0);this.v6a(this.hl);this.X7a()};n.B4a=function(r){this.Bha||(this.Bha=this.z4a.bind(this));
this.Cha||(this.Cha=this.D4a.bind(this));r.addEventListener("end",n.Bha);r.addEventListener("select",n.Cha)};n.A4a=function(){p.RK(!1);this.wGa()};n.C4a=function(){var r;null===(r=this.hl)||void 0===r?void 0:r.xr.setAnimationLoop(this.c4a.bind(this));p.KFa(this.requestFrame.bind(this),this.Z_a.bind(this));p.RK(!1);this.HFa(this.hl,this.$ha);this.hl=null;m.Vb()!=m.mL&&f.show(h.fullscreenElement());m.lb()||k.Uja.show(this.XR.Qfa.bind(this.XR))};n.z4a=function(){var r;this.XR.session&&(this.XR.session.removeEventListener("end",
n.Bha),this.XR.session.removeEventListener("select",n.Cha),null===(r=this.hl)||void 0===r?void 0:r.xr.setAnimationLoop(null),p.I5a(),this.wGa(),this.HFa(null,null))};n.D4a=function(){this.XR.P.trigger(l.Kp)};n.HFa=function(r,t){this.XR.dh!==r&&(this.XR.dh=r,this.XR.ll=t,this.XR.session=r?r.xr.getSession():null,this.XR.isPresenting=!!r,this.XR.GK=r?this.XR.Xha.get(r)||null:null,this.XR.mx=r?this.XR.Wha.get(r)||null:null,this.cHa(),q(!this.XR.isPresenting,function(){this.XR.P.trigger(l.ca)}.bind(this)))};
n.v6a=function(r){var t=void 0;m.v3a()?t=1:m.ZE()?t=1.2545454545454546:m.yf()?t=1.4222222222:m.lb()&&this.XR.pK&&(t=this.XR.v2);t&&r.xr.setFramebufferScaleFactor(t)};n.X7a=function(){var r;g.request(null===(r=this.hl)||void 0===r?void 0:r.domElement);this.XR.pK&&(this.hl.domElement.width=this.hl.domElement.height=100,m.Vb()==m.nL?b.addParameter("vr"):d.enable(),m.Vb()==m.mL&&c.request())};n.wGa=function(){g.cancel();f.hide();m.lb()||k.Uja.hide();this.XR.pK&&(b.removeParameter("vr"),c.cancel(),d.disable())};
n.c4a=function(r){var t;null!==(t=this.XR.dh)&&void 0!==t&&t.xr.getFrame()&&(this.cHa(),t=this.I0,this.I0=null,this.XR.P.trigger(l.Cja),t&&t(r),this.XR.P.trigger(l.Jm))};n.cHa=function(){if(this.XR.session&&this.XR.session.renderState)if(this.XR.session.renderState.baseLayer)this.XR.framebufferWidth=this.XR.session.renderState.baseLayer.framebufferWidth,this.XR.framebufferHeight=this.XR.session.renderState.baseLayer.framebufferHeight;else{var r=this.XR.session.renderState.layers;r&&0<r.length&&r[0].textureWidth&&
(this.XR.framebufferWidth=r[0].textureWidth,this.XR.framebufferHeight=r[0].textureHeight)}};n.requestFrame=function(r){this.I0=r;return 0};n.Z_a=function(){this.I0=null};n.hl=null;n.$ha=null;n.I0=null;return n}()});
define("oA","require exports lE gv bc pF bO iZ iD js E ns dx hD jn ku cH gH hH three.mod".split(" "),function(a,e,l,m,k,b,h,g,c,d,f,p,q,n,r,t,u,v,w,x){a=function(){function y(){}y.initialize=function(z){k.initialize(function(){this.Am.forEach(function(E){E.xr.enabled=this.PF}.bind(this));p.initialize();q.initialize();n.initialize();r.initialize();t.initialize();b.initialize();this.CBa=!0;z()}.bind(this))};y.getType=function(){return this.pK?this.Fu.nl:this.Fu.DJa};y.t0=function(z,E){this.CBa?!this.PF||
this.isPresenting||this.aS||this.GF(function(){w.request(z,E)}.bind(w)):this.initialize(function(){y.t0(z,E)}.bind(y))};y.Qfa=function(){w.end()};y.VFa=function(z){t.p7a(z)};y.setScale=function(z){b.setScale(z)};y.setPosition=function(z){b.setPosition(z)};y.MK=function(z){b.MK(z)};y.IFa=function(z,E,B,A){g.F6a(z,E,B);switch(A){case c.Mka:n.QFa(!0);n.BFa(!0);break;default:n.QFa(!1),n.BFa(!1)}};y.A_a=function(z){z.xr.enabled=this.PF;g.add(z)};y.z5a=function(z){g.remove(z)};y.Fia=function(z,E,B,A){void 0===
A&&(A=void 0);z.Mn=E;z.xK=B;z.Qt=A;E&&(z.KDa=Date.now())};y.FFa=function(z,E){E!=z.disabled&&(z.disabled=E)};y.WEa=function(z,E){n.T5a(z,E)};y.l7a=function(z,E){z.fr=E};y.Eia=function(z,E){z.hidden=E};y.log=function(){l.log("VR: "+(this.PF?"available":"not available"))};y.GF=function(z){v.GF(z)};y.Rka=h;y.Fu=f;y.i5=c;y.xJa=u;y.PF=!0;y.pK=!1;y.dh=null;y.GK=null;y.mx=null;y.isPresenting=!1;y.aS=!1;y.session=null;y.framebufferWidth=void 0;y.framebufferHeight=void 0;y.ug=new x.Quaternion;y.$ya=1.7;y.Xc=
new x.Vector3;y.Yo=1;y.D3=new x.Quaternion;y.s9a=new x.Vector3;y.v2=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));y.Am=[];y.ll=null;y.Xha=new Map;y.Wha=new Map;y.P=new m;y.referenceSpace=null;y.CBa=!1;y.jg=[];y.UJ=new x.Ray;return y}();k.XR=a;b.XR=a;g.XR=a;p.XR=a;q.XR=a;n.XR=a;r.XR=a;t.XR=a;v.XR=a;return w.XR=a});define("mH",["require","exports"],function(){return function(){return function(){this.pA=this.RJ=void 0}}()});
define("eM",["require","exports","hJ","three.mod"],function(a,e,l,m){a=function(){function b(h,g,c,d){this.state=h;this.renderer=g;this.scene=c;this.camera=d;this.vfa()}b.prototype.dispose=function(){this.ofa()};b.prototype.update=function(h,g){if(void 0!==this.state.pA)if(this.Bh.material.opacity=1-this.state.pA,h=null!=g.parent?g:h,this.Bh.parent!==h&&h.add(this.Bh),g.isPerspectiveCamera){this.Bh.position.z=1.01*-g.near;var c=this.renderer.getSize(new m.Vector2),d=c.height;h=this.x0.width;var f=
this.x0.height;g=d/(2*Math.tan(g.fov*k/2));g=Math.max(d/g,c.width/(g*h/f));this.Bh.scale.y=g;this.Bh.scale.x=g*h/f}else g.isOrthographicCamera&&(this.Bh.position.z=-(g.near+.1),this.renderer.getSize(new m.Vector2),this.Bh.scale.y=g.top-g.bottom,this.Bh.scale.x=g.right-g.left)};b.prototype.Ch=function(){return this.scene};b.prototype.vfa=function(){this.x0=this.$_a();this.Bh=this.E0a(this.x0)};b.prototype.$_a=function(){this.renderer.xt=!0;var h=l.xfa(this.renderer),g=this.renderer.getRenderTarget();
this.renderer.setRenderTarget(h);this.renderer.render(this.scene,this.camera);this.renderer.setRenderTarget(g);this.renderer.xt=!1;return h};b.prototype.E0a=function(h){h=new m.SpriteMaterial({map:h.texture});h.sizeAttenuation=!1;h.transparent=!0;h.visible=!0;h.opacity=1;h.depthTest=!1;h.needsUpdate=!0;h=new m.Sprite(h);h.renderOrder=1E3;return h};b.prototype.ofa=function(){var h,g,c,d=this.Bh.material;null===(h=d.map)||void 0===h?void 0:h.dispose();null===(g=d.envMap)||void 0===g?void 0:g.dispose();
d.dispose();this.Bh.geometry.dispose();this.x0.dispose();null===(c=this.Bh.parent)||void 0===c?void 0:c.remove(this.Bh)};return b}();var k=Math.PI/180;return a});
define("lV",["require","exports","hJ","oA","three.mod"],function(a,e,l,m,k){a=function(){function g(c,d,f,p){this.state=c;this.renderer=d;this.scene=f;this.camera=p;this.vfa();this.I0a()}g.prototype.dispose=function(){this.ofa();this.k0a()};g.prototype.update=function(){var c=void 0===this.state.pA?0:1-this.state.pA,d=void 0===this.state.RJ?1:1-this.state.RJ;c*=d;this.SJ.material.opacity=1*d;this.Bh.children.forEach(function(f){f.material.opacity=c})};g.prototype.Ch=function(){return this.scene};
g.prototype.vfa=function(){this.Bh||(this.Vza=this.a0a(),this.Bh=this.v0a(this.Vza),m.In.add(this.Bh))};g.prototype.a0a=function(){var c=new k.Vector2(1024,1024),d=this.camera,f=this.renderer,p=this.scene,q=f.getRenderTarget(),n=f.getActiveCubeFace(),r=f.getActiveMipmapLevel(),t=f.xr.enabled,u=new k.PerspectiveCamera(90,1,d.near,d.far);u.matrixAutoUpdate=!1;u.layers=d.layers;this.renderer.xt=!0;f.xr.enabled=!1;m.In.add(u);d=b.map(function(v){var w=l.xfa(f,c);u.matrix.identity();u.matrix.multiply(h.makeRotationFromEuler(v));
u.updateMatrixWorld();f.setRenderTarget(w,0,0);f.render(p,u);return w});f.setRenderTarget(q,n,r);f.xr.enabled=t;this.renderer.xt=!1;m.In.remove(u);return d};g.prototype.v0a=function(c){var d=new k.Group;b.forEach(function(f,p){var q=new k.PlaneGeometry(2,2);p=new k.MeshBasicMaterial({side:k.DoubleSide,depthTest:!1,transparent:!0,map:c[p].texture});q=new k.Mesh(q,p);q.matrixAutoUpdate=!1;q.renderOrder=1001;q.userData.S1=!0;q.matrix.identity();q.matrix.multiply(h.makeRotationFromEuler(f));q.matrix.multiply(h.makeTranslation(0,
0,-1));d.add(q)});return d};g.prototype.ofa=function(){var c;this.Bh.children.forEach(function(d){var f,p;d.material.dispose();null===(f=d.geometry)||void 0===f?void 0:f.dispose();null===(p=d.parent)||void 0===p?void 0:p.remove(d)});this.Vza.forEach(function(d){d.texture.dispose();d.dispose()});null===(c=this.Bh.parent)||void 0===c?void 0:c.remove(this.Bh)};g.prototype.I0a=function(){var c=new k.SphereGeometry(1,32,16,0,2*Math.PI,0,Math.PI),d=new k.MeshBasicMaterial({color:0,side:k.DoubleSide,depthTest:!1,
transparent:!0});c=new k.Mesh(c,d);c.renderOrder=1E3;c.userData.S1=!0;this.SJ=c;m.In.add(this.SJ)};g.prototype.k0a=function(){var c;this.SJ.material.dispose();this.SJ.geometry.dispose();null===(c=this.SJ.parent)||void 0===c?void 0:c.remove(this.SJ)};return g}();var b=[new k.Euler(0,0,0,"YXZ"),new k.Euler(0,-.5*Math.PI,0,"YXZ"),new k.Euler(0,-Math.PI,0,"YXZ"),new k.Euler(0,.5*Math.PI,0,"YXZ"),new k.Euler(.5*Math.PI,0,0,"YXZ"),new k.Euler(-.5*Math.PI,0,0,"YXZ")],h=new k.Matrix4;new k.Euler;return a});
define("jb","require exports pf mH eM lV oA v mO".split(" "),function(a,e,l,m,k,b,h,g,c){return function(){function d(f){this.f3=this.e3=this.h3=this.i3=this.g3=this.j3=void 0;this.Hr=null;this.Pga=!1;this.pR=void 0;this.renderer=f;this.Zt=new m;this.DDa=this.renderer.render.bind(f);this.renderer.render=this.render.bind(this);this.FDa=this.renderer.setSize.bind(f);this.renderer.setSize=this.setSize.bind(this);this.K4a=this.renderer.clear.bind(f);this.renderer.clear=this.clear.bind(this);this.EDa=
this.renderer.setRenderTarget.bind(f);this.renderer.setRenderTarget=this.setRenderTarget.bind(this);h.P.bind(l.ca,this.Je,this,!0);window.startFadeOut=this.HF.bind(this);window.setFadeOutPosition=this.yF.bind(this);window.endFadeOut=this.IE.bind(this)}d.prototype.dispose=function(){var f;h.P.unbind(l.ca,this.Je,this);null===(f=this.Hr)||void 0===f?void 0:f.dispose()};d.prototype.setSize=function(f,p,q){void 0===q&&(q=!0);!this.renderer.xt&&this.sm()?(this.j3=f,this.g3=p,this.i3=q):this.FDa(f,p,q)};
d.prototype.setRenderTarget=function(f,p,q){void 0===p&&(p=0);void 0===q&&(q=0);this.Pga||this.renderer.xt||!this.sm()||f.isXRRenderTarget?this.EDa(f,p,q):(this.h3=f,this.e3=p,this.f3=q)};d.prototype.render=function(f,p){if(!this.renderer.xt){if(this.Hr&&this.Hr.Ch()===f&&f!==this.E1)return;h.IFa(this.renderer,f,p,this.AHa);if(this.sm()||null===this.renderer.getRenderTarget())this.E1=f,this.WBa=p,this.Hr&&this.Hr.update(f,p)}if(!this.h1a(f,p)){this.Pga=!0;try{this.DDa(f,p)}catch(q){c.rL&&console.error("render error:",
q)}this.Pga=!1}};d.prototype.clear=function(f,p,q){this.K4a(f,p,q)};d.prototype.Je=function(){this.sm()||(void 0!==this.j3&&void 0!==this.g3&&void 0!==this.i3&&(this.FDa(this.j3,this.g3,this.i3),this.i3=this.g3=this.j3=void 0),void 0!==this.h3&&void 0!==this.e3&&void 0!==this.f3&&(this.EDa(this.h3,this.e3,this.f3),this.f3=this.e3=this.h3=void 0))};d.prototype.sm=function(){return h.isPresenting&&h.dh===this.renderer};d.prototype.HF=function(){this.Zt.pA=0;this.wT()};d.prototype.yF=function(f){this.Zt.pA=
f};d.prototype.IE=function(){this.Zt.pA=void 0;this.wT()};d.prototype.bL=function(){this.Zt.RJ=0;this.wT()};d.prototype.NK=function(f){this.Zt.RJ=f;this.wT()};d.prototype.OJ=function(){this.Zt.RJ=void 0;this.wT()};d.prototype.h1a=function(f,p){if(!h.isPresenting||0===this.pR)return!1;if(void 0===this.pR){if(g.Vb()!=g.Tr&&g.Vb()!=g.Nx)return this.pR=0,!1;this.pR=20}this.pR--;var q=p.near,n=p.far;p.near=Math.min(q,.1);p.far=Math.max(n,1E3);this.DDa(f,p);p.near=q;p.far=n;return!0};d.prototype.wT=function(){var f=
this.E1&&(h.isPresenting&&void 0!==this.Zt.RJ||void 0!==this.Zt.pA);f!==!!this.Hr&&(f?this.sm()?this.Hr=new b(this.Zt,this.renderer,this.E1,this.WBa):this.Hr=new k(this.Zt,this.renderer,this.E1,this.WBa):this.Hr&&(this.Hr.dispose(),this.Hr=null))};return d}()});
define("fM","require exports pf hJ mO oA jb three.mod".split(" "),function(a,e,l,m,k,b,h,g){return function(){function c(d){this.Gr=this.renderer=null;this.HS=void 0;this.uj=0;this.Wb=d;this.container=document.createElement("div")}c.prototype.dispose=function(){this.Ba()};c.prototype.T_=function(){this.uj++};c.prototype.Q2a=function(){return 0<this.uj};c.prototype.D2=function(){this.uj--;0===this.uj&&this.Ba()};c.prototype.Yc=function(){return this.container};c.prototype.wA=function(){this.TFa();
return this.renderer};c.prototype.y1a=function(){this.K7a();return this.oA};c.prototype.z1a=function(){this.L7a();return this.ir};c.prototype.j8a=function(){this.Gia(c.Uka)};c.prototype.i8a=function(){this.Gia(c.Tka)};c.prototype.n8a=function(){this.Gia(c.Vka)};c.prototype.HF=function(){var d;null===(d=this.Gr)||void 0===d?void 0:d.HF()};c.prototype.yF=function(d){var f;null===(f=this.Gr)||void 0===f?void 0:f.yF(d)};c.prototype.IE=function(){var d;null===(d=this.Gr)||void 0===d?void 0:d.IE()};c.prototype.bL=
function(){this.TFa();this.Gr.bL()};c.prototype.NK=function(d){this.Gr.NK(d)};c.prototype.OJ=function(){this.Gr.OJ()};c.prototype.K7a=function(){this.oA||(this.oA=new g.CSS3DRenderer,this.oA.domElement.style.position="absolute",this.oA.domElement.style.zIndex="0",this.container.prepend(this.oA.domElement))};c.prototype.TFa=function(){var d,f;if(!this.renderer){var p={alpha:!0};k.lIa&&(p.precision="lowp");0<c.rfa.length?(p.context=c.rfa.pop(),p.canvas=p.context.canvas):(p.canvas=document.createElement("canvas"),
p.context=m.M0a(p.canvas));this.renderer=new g.WebGLRenderer(p);this.Gr=new h(this.renderer);this.renderer.setAnimationLoop(null);this.renderer.setPixelRatio(m.getPixelRatio());this.renderer.debug.checkShaderErrors=k.rL;this.renderer.domElement.style.position="absolute";this.renderer.domElement.style.zIndex="1";this.renderer.domElement.style.pointerEvents="none";this.renderer.outputEncoding=g.sRGBEncoding;this.renderer.shadowMap.type=g.PCFShadowMap;this.ir?this.container.insertBefore(this.renderer.domElement,
this.ir.domElement):this.container.appendChild(this.renderer.domElement);this.jHa();b.A_a(this.renderer);null===(f=null===(d=this.Wb.ob())||void 0===d?void 0:d.th)||void 0===f?void 0:f.bind(l.ca,this.VCa,this,!0)}};c.prototype.VCa=function(){setTimeout(function(){var d,f;if(this.renderer&&this.Wb){var p=(null===(f=null===(d=this.Wb.ob())||void 0===d?void 0:d.th)||void 0===f?void 0:f.enabled())||!1;this.renderer.setPixelRatio(p?m.u1a(this.renderer.domElement):m.getPixelRatio())}}.bind(this),100)};
c.prototype.Gia=function(d){this.HS!==d&&(this.HS=d,this.jHa())};c.prototype.jHa=function(){this.renderer&&(this.HS===c.Uka?(this.renderer.setClearColor(0,1),this.renderer.autoClear=!0,this.renderer.shadowMap.enabled=!1,this.Gr.AHa=b.i5.Mka):this.HS===c.Tka?(this.renderer.setClearColor(0,0),this.renderer.autoClear=!1,this.renderer.shadowMap.enabled=!0,this.Gr.AHa=b.i5.kka):this.HS===c.Vka&&(this.renderer.setClearColor(0,0),this.renderer.autoClear=!1,this.renderer.shadowMap.enabled=!1))};c.prototype.L7a=
function(){this.ir||(this.ir=new g.CSS3DRenderer,this.ir.domElement.style.position="absolute",this.ir.domElement.style.zIndex="2",this.ir.domElement.style.pointerEvents="none",this.container.appendChild(this.ir.domElement))};c.prototype.Ba=function(){var d,f,p;this.ir&&(this.container.removeChild(this.ir.domElement),this.ir=null);this.renderer&&(null===(f=null===(d=this.Wb.ob())||void 0===d?void 0:d.th)||void 0===f?void 0:f.unbind(l.ca,this.VCa,this),b.z5a(this.renderer),this.container.removeChild(this.renderer.domElement),
c.rfa.push(this.renderer.getContext()),this.renderer.dispose(),this.renderer=null,null===(p=this.Gr)||void 0===p?void 0:p.dispose(),this.Gr=null);this.oA&&(this.container.removeChild(this.oA.domElement),this.oA=null)};c.Uka=0;c.Tka=1;c.Vka=2;c.rfa=[];return c}()});
define("gc",["require","exports","pf","gv","v"],function(a,e,l,m,k){return function(b){function h(g,c){var d=b.call(this)||this;d.enabled=!1;d.Q1=0;d.R1=0;d.parentElement=null;d.Ni=null;d.gl=null;d.cL=null;d.uj=0;d.Wb=g;d.parentElement=c;return d}Z(h,b);h.prototype.dispose=function(){this.mb(!1);this.parentElement=this.Wb=null};h.prototype.T_=function(){this.uj++;1<=this.uj&&this.mb(!0)};h.prototype.D2=function(){this.uj--;0>=this.uj&&this.mb(!1)};h.prototype.mb=function(g){this.enabled!=g&&((this.enabled=
g)?(this.Wb.MFa("Button"),this.D_a()):(this.Wb.J5a(),this.pfa(),this.stop(),this.D5a()))};h.prototype.getX=function(){return this.Q1};h.prototype.getY=function(){return this.R1};h.prototype.yr=function(g){this.bh(g);this.enabled&&(this.mha=this.kha=g.x,this.nha=this.lha=g.y,this.y7a())};h.prototype.rS=function(g){this.mha=g.x;this.nha=g.y;this.cL?this.L8a():this.Ni&&this.iHa()};h.prototype.bh=function(){this.pfa();this.stop()};h.prototype.WCa=function(){this.bh()};h.prototype.hF=function(){this.E3=
Math.min(this.Wb.Xa(),this.Wb.yb())/100};h.prototype.start=function(){this.x0a();this.trigger(l.Un);this.iHa()};h.prototype.stop=function(){this.Ni&&(this.T0a(),this.trigger(l.Qf))};h.prototype.L8a=function(){var g=this.mha-this.kha,c=this.nha-this.lha;Math.sqrt(g*g+c*c)>this.E3*h.SHa&&this.pfa()};h.prototype.y7a=function(){this.cL=window.setTimeout(this.m8a.bind(this),h.THa)};h.prototype.pfa=function(){this.cL&&(clearTimeout(this.cL),this.cL=null)};h.prototype.x0a=function(){this.Ni=document.createElement("div");
this.Ni.setAttribute("tdvclass","Button");this.Ni.style.position="absolute";this.Ni.style.width=this.Ni.style.height=Math.round(2*h.Fja*this.E3)+"px";this.Ni.style.borderRadius="50%";this.Ni.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.Ni.style.transform="translate(-50%, -50%)";this.Ni.style.zIndex="1000";this.Ni.style.left=this.kha+"px";this.Ni.style.top=this.lha+"px";this.parentElement.appendChild(this.Ni);this.gl=document.createElement("div");this.gl.setAttribute("tdvclass","Button");
this.gl.style.position="absolute";this.gl.style.width=this.gl.style.height=Math.round(2*h.$Ia*this.E3)+"px";this.gl.style.borderRadius="50%";this.gl.style.backgroundColor="rgba(255, 255, 255, 0.5)";this.gl.style.transform="translate(-50%, -50%)";this.gl.style.zIndex="1000";this.Ni.appendChild(this.gl)};h.prototype.iHa=function(){var g=this.mha-this.kha,c=this.nha-this.lha;if(0==g&&0==c)this.R1=this.Q1=0;else{var d=Math.atan2(-c,g);g=Math.min(Math.sqrt(g*g+c*c)/(this.E3*h.Fja),h.CIa);this.Q1=Math.cos(d)*
g;this.R1=Math.sin(d)*g}this.gl.style.left=(50+50*this.Q1).toFixed(2)+"%";this.gl.style.top=(50-50*this.R1).toFixed(2)+"%";this.trigger(l.ca)};h.prototype.T0a=function(){var g,c;null===(g=this.gl.parentNode)||void 0===g?void 0:g.removeChild(this.gl);this.gl=null;null===(c=this.Ni.parentNode)||void 0===c?void 0:c.removeChild(this.Ni);this.Ni=null};h.prototype.m8a=function(){this.cL=null;this.start()};h.prototype.D_a=function(){this.Wb.bind(l.kb,this.yr,this,!0);this.Wb.bind(l.kc,this.rS,this,!0);this.Wb.bind(l.Hb,
this.bh,this,!0);this.Wb.bind(l.oc,this.hF,this,!0);this.Wb.bind(l.Xx,this.WCa,this,!0);this.hF()};h.prototype.D5a=function(){this.Wb.unbind(l.kb,this.yr,this);this.Wb.unbind(l.kc,this.rS,this);this.Wb.unbind(l.Hb,this.bh,this);this.Wb.unbind(l.oc,this.hF,this);this.Wb.unbind(l.Xx,this.WCa,this)};h.SHa=k.lb()?5:.5;h.THa=k.lb()?300:600;h.Fja=k.lb()?10:6.6;h.$Ia=k.lb()?5:3.3;h.CIa=6;return h}(m)});
define("dI","require jquery.mod en pf nk bi hG".split(" "),function(a){function e(p){this.Yia=p;this.element=document.createElement("div");this.fja=document.createElement("span");this.element.appendChild(this.fja);this.fja.innerHTML=p.text.split("<br>").join("\n").split("\n").map(m).join("<br>");this.h0=!1}function l(p){this.L=p;this.uQ=b.throttle(this.uQ.bind(this),100);this.vQ=b.throttle(this.vQ.bind(this),100);this.ta=document.createElement("div");this.ta.style.position="absolute";this.ta.style.left=
0;this.ta.style.top=0;this.ta.style.right=0;this.ta.style.bottom=0;this.ta.style.zIndex=1;this.ta.style.cursor="inherit";this.ta.style.display="none";this.z5=k(this.ta);this.Yl=document.createElement("div");this.Yl.style.position="absolute";this.Yl.style.left=0;this.Yl.style.right=0;this.Yl.style.zIndex=1;this.Yl.style.cursor="inherit";this.ta.appendChild(this.Yl);this.NP=[];this.ZP=[];this.Zh=[];this.Zaa={};this.nJ=g.rc;this.L.bind(h.D("subtitlesEnabled"),this.Fw,this);l.Kka.forEach(function(q){this.L.bind(h.D(q),
this.uQ,this)}.bind(this));l.Lka.forEach(function(q){this.L.bind(h.D(q),this.vQ,this)}.bind(this));this.Fw();this.uQ();this.vQ()}function m(p){f.innerHTML=p;return f.innerText}var k=a("jquery.mod"),b=a("en"),h=a("pf"),g=a("nk"),c=a("bi"),d=a("hG");l.prototype.clear=function(){this.dab(null);this.L&&(this.L.unbind(h.D("subtitlesEnabled"),this.Fw,this),l.Kka.forEach(function(p){this.L.unbind(h.D(p),this.uQ,this)}.bind(this)),l.Lka.forEach(function(p){this.L.unbind(h.D(p),this.vQ,this)}.bind(this)),
this.L=null)};l.prototype.Yc=function(){return this.z5};l.prototype.ce=function(){return this.ta};l.prototype.Vea=function(p){0>this.NP.indexOf(p)&&(this.NP.push(p),p.bind(h.D("activeSubtitles"),this.yX,this,!0),this.yX())};l.prototype.Vha=function(p){var q=this.NP.indexOf(p);0<=q&&(this.NP.splice(q,1),p.unbind(h.D("activeSubtitles"),this.yX,this,!0),this.yX())};l.prototype.yX=function(){var p=[];this.NP.forEach(function(q){p=p.concat(q.get("activeSubtitles")||[])});this.GWa(p)};l.prototype.Fw=function(){this.T=
this.L.get("subtitlesEnabled");this.hea()};l.prototype.uQ=function(){this.nJ=this.VM("subtitlesVerticalAlign",[g.yc,g.le,g.rc],g.rc);this.Yl.style["text-align"]=this.VM("subtitlesHorizontalAlign",[g.Ya,g.qb,g.Oe],g.Oe);this.Yl.style.bottom=this.nJ==g.rc?this.uk("subtitlesBottom",0):"";this.Yl.style.top=this.nJ==g.yc?this.uk("subtitlesTop",0):this.nJ==g.le?"50%":"";this.Yl.style.transform=this.nJ==g.le?"translate(0, -50%)":"";this.hea()};l.prototype.vQ=function(){var p={};p["background-color"]=this.l9("subtitlesBackgroundColor",
"subtitlesBackgroundOpacity");p.border=[this.uk("subtitlesBorderSize"),"solid",this.yi("subtitlesBorderColor")].join(" ");p["box-shadow"]=this.yi("subtitlesShadow",!1)?[this.uk("subtitlesShadowHorizontalLength"),this.uk("subtitlesShadowVerticalLength"),this.uk("subtitlesShadowBlurRadius"),this.l9("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";p.display="inline-block";p["font-family"]=d.Vw(this.yi("subtitlesFontFamily"));p["font-size"]=this.uk("subtitlesFontSize");p.color=
this.yi("subtitlesFontColor");p["font-weight"]=this.VM("subtitlesFontWeight","bold bolder lighter 100 200 300 400 500 600 700 800 900 normal".split(" "),"normal");p["font-style"]=this.VM("subtitlesFontStyle",["italic","normal"],"normal");p["margin-bottom"]=this.uk("subtitlesGap");p.opacity=this.yi("subtitlesOpacity");p["padding-top"]=this.uk("subtitlesPaddingTop");p["padding-bottom"]=this.uk("subtitlesPaddingBottom");p["padding-left"]=this.uk("subtitlesPaddingLeft");p["padding-right"]=this.uk("subtitlesPaddingRight");
p.position="relative";p["text-align"]=this.VM("subtitlesHorizontalAlign",["left","right","center"],"center");p["text-decoration"]=this.yi("subtitlesTextDecoration",["underline","overline","line-through","none"],"none");p["text-shadow"]=[this.uk("subtitlesTextShadowHorizontalLength"),this.uk("subtitlesTextShadowVerticalLength"),this.uk("subtitlesTextShadowBlurRadius"),this.l9("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.Zaa=p;this.YKa()};l.prototype.GWa=function(p){this.ZP=
p;this.hea()};l.prototype.hea=function(){for(var p=this.T?this.ZP:[],q=this.Zh.length-1;0<=q;q--){var n=this.Zh[q];if(0<=p.indexOf(n.Yia))break;this.Yl.removeChild(n.element)}for(var r=[],t=!1;0<=q;q--)n=this.Zh[q],!n.h0&&0>p.indexOf(n.Yia)&&(n.h0=!0,n.element.style.visibility="hidden",t=!0),r.splice(0,0,n);t&&c.requestFrame(this.una,this);this.Zh=r;var u=this.Zh.filter(function(v){return!v.h0}).map(function(v){return v.Yia});p.filter(function(v){return 0>u.indexOf(v)}).forEach(function(v){v=new e(v);
this.wma(v);this.nJ==g.rc&&0<this.Zh.length?this.Yl.insertBefore(v.element,this.Zh[this.Zh.length-1].element):this.Yl.appendChild(v.element);this.Zh.push(v)}.bind(this));this.ta.style.display=0<this.Zh.length?"block":"none"};l.prototype.una=function(p){var q=!1;p=Math.round(200*p/1E3);for(var n=0;n<this.Zh.length;n++){var r=this.Zh[n];if(r.h0)if(q=!0,p>=r.element.clientHeight)p-=r.element.clientHeight,this.Yl.removeChild(r.element),this.Zh.splice(n,1),n--;else{r.element.style.height=r.element.clientHeight-
p+"px";break}}q&&c.requestFrame(this.una,this)};l.prototype.YKa=function(){this.Zh.forEach(this.wma.bind(this))};l.prototype.wma=function(p){for(var q in this.Zaa)p.fja.style[q]=this.Zaa[q]};l.prototype.yi=function(p,q){return this.L.get(p,q)};l.prototype.uk=function(p,q){p=this.L.get(p,q);isNaN(p)||(p=Math.round(p)+"px");return p};l.prototype.VM=function(p,q,n){p=this.L.get(p);return 0>q.indexOf(p)?n:p};l.prototype.l9=function(p,q,n,r){p=this.L.get(p,n);q=this.L.get(q,r);return"rgba("+parseInt("0x"+
p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+q+")"};l.Kka=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];l.Lka="subtitlesBackgroundColor subtitlesBackgroundOpacity subtitlesBorderColor subtitlesBorderSize subtitlesFontFamily subtitlesFontColor subtitlesFontSize subtitlesFontStyle subtitlesFontWeight subtitlesGap subtitlesOpacity subtitlesPaddingTop subtitlesPaddingBottom subtitlesPaddingLeft subtitlesPaddingRight subtitlesShadow subtitlesShadowBlurRadius subtitlesShadowHorizontalLength subtitlesShadowVerticalLength subtitlesShadowColor subtitlesTextDecoration subtitlesTextShadowBlurRadius subtitlesTextShadowColor subtitlesTextShadowHorizontalLength subtitlesTextShadowOpacity subtitlesTextShadowVerticalLength".split(" ");
var f=document.createElement("div");return l});
define("lU","require exports kS pf lg nU".split(" "),function(a,e,l,m,k,b){a=function(){function p(q){this.aL=new Map;this.il=q}p.prototype.add=function(q){b.Ia("PanoramaPlayer",q)?this.aL.set(q,new h(this.il,q)):b.Ia("VideoPlayer",q)?this.aL.set(q,new g(this.il,q)):b.Ia("PhotoAlbumPlayer",q)?this.aL.set(q,new c(this.il,q)):b.Ia("Audio",q)&&this.aL.set(q,new f(this.il,q))};p.prototype.remove=function(q){var n=this.aL.get(q);n&&(n.clear(),this.aL.delete(q))};return p}();e=function(){function p(q,n){this.il=
q;this.source=n}p.prototype.clear=function(){};return p}();var h=function(p){function q(n,r){n=p.call(this,n,r)||this;n.zE=new d(n.il);n.zf=null;n.source.bind(m.D("panorama"),n.yha,n,!0);n.yha();return n}Z(q,p);q.prototype.clear=function(){this.source&&(this.source.unbind(m.D("panorama"),this.yha,this),this.source=null,this.kf(null),this.zE.clear(),this.zE=null)};q.prototype.yha=function(){this.kf(this.source.get("panorama"))};q.prototype.kf=function(n){if(this.zf!=n){this.zf&&(this.zf.unbind(m.D("audios"),
this.eF,this),this.il.Vha(this.zf));if(this.zf=n)this.il.Vea(this.zf),this.zf.bind(m.D("audios"),this.eF,this,!0);this.eF()}};q.prototype.eF=function(){this.zE.kia(this.zf&&this.zf.get("audios")||[])};return q}(e),g=function(p){function q(n,r){n=p.call(this,n,r)||this;n.video=null;n.source.bind(m.D("video"),n.kF,n,!0);n.source.bind(m.se,n.kF,n,!0);n.kF();return n}Z(q,p);q.prototype.clear=function(){this.source&&(this.source.unbind(m.D("video"),this.kF,this),this.source.unbind(m.se,this.kF,this),this.source=
null,this.V2(null))};q.prototype.kF=function(){var n;this.V2((null===(n=this.source)||void 0===n?void 0:n.get("state"))!=k.W?this.source.get("video"):null)};q.prototype.V2=function(n){this.video!=n&&(this.video&&this.il.Vha(this.video),(this.video=n)&&this.il.Vea(this.video))};return q}(e),c=function(p){function q(n,r){n=p.call(this,n,r)||this;n.gF=n.gF.bind(n);n.zE=new d(n.il);n.KA=null;l.vt(n.source,"photoAlbum.playList.items",n.gF,!1);l.vt(n.source,"photoAlbum.playList.selectedIndex",n.gF,!1);
n.gF();return n}Z(q,p);q.prototype.clear=function(){this.source&&(l.ba(this.source,"photoAlbum.playList.items",this.gF),l.ba(this.source,"photoAlbum.playList.selectedIndex",this.gF),this.source=null,this.DFa(null),this.zE.clear(),this.zE=null)};q.prototype.gF=function(){var n=this.source.get("photoAlbum");n=(n=n?n.get("playList"):null)&&0<=n.get("selectedIndex")?n.get("items")[n.get("selectedIndex")]:null;this.DFa(n?n.get("media"):null)};q.prototype.DFa=function(n){this.KA!=n&&(this.KA&&this.KA.unbind(m.D("audios"),
this.eF,this),(this.KA=n)&&this.KA.bind(m.D("audios"),this.eF,this,!0),this.eF())};q.prototype.eF=function(){this.zE.kia(this.KA&&this.KA.get("audios")||[])};return q}(e),d=function(){function p(q){this.a0=[];this.$_=new Map;this.il=q}p.prototype.clear=function(){this.kia([])};p.prototype.kia=function(q){this.a0!=q&&(this.a0.forEach(function(n){0<=q.indexOf(n)||(this.$_.get(n).clear(),this.$_.delete(n))}.bind(this)),this.a0=q,this.a0.forEach(function(n){this.$_.has(n)||this.$_.set(n,new f(this.il,
n))}.bind(this)))};return p}(),f=function(p){function q(n,r){n=p.call(this,n,r)||this;n.MA=!1;n.source.bind(m.D("state"),n.tha,n,!0);n.tha();return n}Z(q,p);q.prototype.clear=function(){this.source&&(this.YEa(!1),this.source.unbind(m.D("state"),this.tha,this),this.source=null)};q.prototype.tha=function(){this.YEa(this.source.get("state")!=k.W)};q.prototype.YEa=function(n){this.MA!=n&&(this.MA&&this.il.Vha(this.source),(this.MA=n)&&this.il.Vea(this.source))};return q}(e);return a});
define("bz","require en lE kS pf lg cC nU jX gA A fM gc dI lU v oA ek bd cT gW oz e".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("kS"),k=a("pf"),b=a("lg"),h=a("cC"),g=a("nU"),c=a("jX"),d=a("gA"),f=a("A"),p=a("fM"),q=a("gc"),n=a("dI"),r=a("lU"),t=a("v"),u=a("oA"),v=a("ek"),w=a("bd"),x=a("cT"),y=a("gW"),z=a("oz"),E=a("e"),B=g.define("ViewerArea",z,function(){z.call(this);this.set("childrenInteractionEnabled",!0);this.set("contentOpaque",!0);this.set("creationPolicy",x.AB);this.set("subtitlesEnabled",
!0);this.set("checkToolTipOcclusion",!0);this.set("isKeyboardTarget",!1);this.Pz=this.zs=this.Xd=this.KV=this.bi=null;this.bc=new p(this);this.jt=this.yN=this.mq=null;this.ZP=new n(this);this.YZ=new r(this.ZP);this.mba=this.Qs=!1;this.Hi=b.W;this.Nm=this.nk=null;this.oo=!1;this.nP=[];this.bind(B.Oka,this.lTa,this,!0);this.bind(B.Nka,this.kTa,this,!0);this.bind(k.kb,this.cta,this);this.bind(k.kb,this.cta,this);this.bind(k.ad,this.FTa,this);this.bind(k.Xb,this.ETa,this);this.bind(k.bd,this.gY,this,
!0);this.bind(k.Tc,this.CTa,this,!0);this.JG=new c(this,"buttonPause",v.Bj);this.JG.bind(k.qa,this.vD,this);this.JG.set("state",y.xe);this.KG=new c(this,"buttonPlay",v.Bj);this.KG.bind(k.qa,this.wD,this);this.KG.set("state",y.xe);this.cC=new c(this,"buttonPlayPause",v.Bj);this.cC.bind(k.qa,this.hTa,this);this.cC.set("state",y.xe);this.MG=new c(this,"buttonStop",v.Bj);this.MG.bind(k.qa,this.Az,this);this.MG.set("state",y.xb);this.KLa=new c(this,"buttonRestart",v.ze);this.KLa.bind(k.qa,this.zz,this);
this.NU=new c(this,"buttonToggleSubtitles",v.Bj);this.NU.bind(k.yj,function(){this.set("subtitlesEnabled",!0)},this,!0);this.NU.bind(k.sl,function(){this.set("subtitlesEnabled",!1)},this,!0);this.bind(k.D("subtitlesEnabled"),function(){this.NU.set("pressed",this.get("subtitlesEnabled"))},this);this.NU.set("pressed",this.get("subtitlesEnabled"));(new c(this,"buttonVRView",v.ze)).bind(k.qa,function(){this.set("viewMode","vr")},this,!0);this.tRa=l.ip(this.NZa,this);this.bind(k.ql,this.BTa,this,!0);this.bind(B.cU,
this.DTa,this,!0);u.P.bind(k.ca,function(){this.set("viewMode",u.isPresenting?"vr":"standard");this.trigger(B.M4)},this,!0)});B.prototype.play=function(){this.wD()};B.prototype.pause=function(){this.vD()};B.prototype.stop=function(){this.Az()};B.prototype.restart=function(){this.zz()};B.zc={progressBackgroundColor:void 0,progressBackgroundColorDirection:void 0,progressBackgroundColorRatios:void 0,progressBackgroundOpacity:void 0,progressBarBackgroundColor:void 0,progressBarBackgroundColorDirection:void 0,
progressBarBackgroundColorRatios:void 0,progressBarBorderColor:void 0,progressBarBorderRadius:void 0,progressBarBorderSize:void 0,progressBarOpacity:void 0,progressBorderColor:void 0,progressBorderRadius:void 0,progressBorderSize:void 0,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:void 0,progressPercent:0,progressRight:0,progressVisible:!1,externalPlaybackBar:void 0,externalProgressBar:void 0,playbackBarBackgroundColor:void 0,playbackBarBackgroundColorDirection:void 0,playbackBarBackgroundOpacity:void 0,
playbackBarBorderColor:void 0,playbackBarBorderRadius:void 0,playbackBarBorderSize:void 0,playbackBarBottom:10,playbackBarHeight:void 0,playbackBarWidth:void 0,playbackBarLeft:void 0,playbackBarOpacity:void 0,playbackBarRight:void 0,playbackBarLiveDragging:void 0,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:!1,plabackBarSteps:void 0,plabackBarSelectedStep:void 0,playbackBarVisible:!1,playbackBarProgressBackgroundColor:void 0,playbackBarProgressBackgroundColorDirection:void 0,
playbackBarProgressBackgroundColorRatios:void 0,playbackBarProgressBorderColor:void 0,playbackBarProgressBorderRadius:void 0,playbackBarProgressBorderSize:void 0,playbackBarProgressOpacity:void 0,playbackBarHeadBackgroundColor:void 0,playbackBarHeadBackgroundColorDirection:void 0,playbackBarHeadBackgroundColorRatios:void 0,playbackBarHeadBorderColor:void 0,playbackBarHeadBorderRadius:void 0,playbackBarHeadBorderSize:void 0,playbackBarHeadOpacity:void 0,playbackBarHeadWidth:void 0,playbackBarHeadHeight:void 0,
playbackBarHeadShadow:void 0,playbackBarHeadShadowBlurRadius:void 0,playbackBarHeadShadowColor:void 0,playbackBarHeadShadowHorizontalLength:void 0,playbackBarHeadShadowOpacity:void 0,playbackBarHeadShadowSpread:void 0,playbackBarHeadShadowVerticalLength:void 0,playbackBarStepBackgroundColor:void 0,playbackBarStepBackgroundColorDirection:void 0,playbackBarStepBackgroundColorRatios:void 0,playbackBarStepBorderColor:void 0,playbackBarStepBorderRadius:void 0,playbackBarStepBorderSize:void 0,playbackBarStepOpacity:void 0,
playbackBarStepWidth:void 0,playbackBarStepHeight:void 0,playbackBarStepShadow:void 0,playbackBarStepShadowBlurRadius:void 0,playbackBarStepShadowColor:void 0,playbackBarStepShadowHorizontalLength:void 0,playbackBarStepShadowOpacity:void 0,playbackBarStepShadowSpread:void 0,playbackBarStepShadowVerticalLength:void 0,playbackBarStepSelectedBackgroundColor:void 0,playbackBarStepSelectedBackgroundColorDirection:void 0,playbackBarStepSelectedBackgroundColorRatios:void 0,playbackBarStepSelectedBorderColor:void 0,
playbackBarStepSelectedBorderRadius:void 0,playbackBarStepSelectedBorderSize:void 0,playbackBarStepSelectedOpacity:void 0,playbackBarStepSelectedWidth:void 0,playbackBarStepSelectedHeight:void 0,playbackBarStepSelectedShadow:void 0,playbackBarStepSelectedShadowBlurRadius:void 0,playbackBarStepSelectedShadowColor:void 0,playbackBarStepSelectedShadowHorizontalLength:void 0,playbackBarStepSelectedShadowOpacity:void 0,playbackBarStepSelectedShadowSpread:void 0,playbackBarStepSelectedShadowVerticalLength:void 0,
subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:void 0,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:void 0,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:void 0,subtitlesFontWeight:void 0,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:!1,subtitlesShadowBlurRadius:void 0,subtitlesShadowHorizontalLength:0,
subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:void 0,subtitlesTextShadowBlurRadius:void 0,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0,subtitlesTextShadowVerticalLength:0,subtitlesTop:void 0,subtitlesVerticalAlign:"bottom",transitionDuration:500,blendingTransitionDuration:void 0,disolveTransitionDuration:void 0,translationTransitionDuration:void 0,translationTransitionEnabled:!0,
toolTipEnabled:!0};e.defaults(B.zc,z.zc);B.prototype.get=function(A,D){switch(A){case "viewMode":return u.isPresenting?"vr":"standard"}return z.prototype.get.call(this,A,D)};B.prototype.set=function(A,D){"playbackState"==A&&(D=this.Hi,this.get(A)!=D&&(this.mba=!0,this.tRa()));switch(A){case "toolTipEnabled":this.set("toolTipDisabled",!1===D);break;case "cardboardPointerDistance":this.set("vrPointerDistance",D);break;case "cardboardPointerColor":this.set("vrPointerColor",D);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",
D);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",D);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.xQ();break;case "viewMode":this.bc.Q2a()&&("vr"!=D||u.isPresenting?"vr"!=D&&u.isPresenting&&u.Qfa():u.t0(this.bc.wA(),this.rga())),D=u.isPresenting?"vr":"standard"}z.prototype.set.call(this,A,D)};B.prototype.vb=function(){this.io(B.zc)};B.prototype.Db=function(){z.prototype.Db.call(this);null==this.Pz&&(this.Pz=new E,this.Pz.set("width","100%"),
this.Pz.set("height","100%"),this.Pz.set("interactionEnabled",!1),this.Pz.set("toolTipDisabled",!0),this.Wa(this.Pz),this.Pz.Pb().ce().appendChild(this.bc.Yc()));null==this.mq&&(this.mq=new E,this.mq.set("width","100%"),this.mq.set("height","100%"),this.mq.set("toolTipDisabled",!0),this.mq.set("interactionEnabled",!1),this.Wa(this.mq),l.defer(function(){this.mq.set("cursor",w.pu)}.bind(this)),this.yN=new q(this,this.mq.Pb().ce()),this.yN.mb(!1));null==this.jt&&(this.jt=new E,this.jt.set("width","100%"),
this.jt.set("height","100%"),this.jt.set("toolTipDisabled",!0),this.jt.set("interactionEnabled",!1),this.Wa(this.jt),this.jt.Pb().ce().appendChild(this.ZP.ce()));null==this.bi&&(this.bi=new f,this.Wa(this.bi));null==this.Xd&&(this.Xd=new d,this.Xd.bind(k.ca,this.jba,this,!0),this.Wa(this.Xd),this.xQ())};B.prototype.rga=function(){if(this.lya)return this.lya;var A=new u.xJa;m.ha(this,"vrGazePointerHideTime vrFoveation vrPointerColor vrPointerDistance vrPointerOverColor vrPointerSelectionColor vrPointerSelectionTime".split(" "),
function(){A.s1a=this.get("vrGazePointerHideTime");A.n1a=this.get("vrFoveation");A.Iha=this.get("vrPointerColor");A.V4a=this.get("vrPointerDistance");A.WDa=this.get("vrPointerOverColor");A.Kha=this.get("vrPointerSelectionColor");A.W4a=this.get("vrPointerSelectionTime")}.bind(this),!0);return this.lya=A};B.prototype.W1a=function(){return this.Xd};B.prototype.fk=function(){z.prototype.fk.call(this);for(var A=[],D=this.nP.length-1;0<=D;D--)A.push(this.nP[D].j);this.jt&&A.push(this.jt);this.mq&&A.push(this.mq);
this.Xd&&A.push(this.Xd);this.bi&&A.push(this.bi);var C=this.jb();A=A.filter(function(J){return 0<=C.indexOf(J)});C=C.filter(function(J){return-1==A.indexOf(J)}).concat(A);C.forEach(function(J,H){J&&this.Zfa(J)!=H&&this.On(J,H)}.bind(this))};B.prototype.Za=function(){this.K("externalProgressBar")&&((this.KV=this.B("externalProgressBar"))?this.removeChild(this.bi):this.Wa(this.bi),this.S("externalProgressBar"),e(B.Sla).each(function(D){this.YD(D)},this));this.pc(B.LJa,B.Hla,[this.bi],!0,!0);var A=
[this.bi];this.KV&&A.push(this.KV);this.pc(B.Sla,B.Tla,A,!0,!0);this.K("externalPlaybackBar")&&(this.zs&&this.zs.unbind(k.ca,this.jba,this,!0),(this.zs=this.B("externalPlaybackBar"))?this.removeChild(this.Xd):this.Wa(this.Xd),this.xQ(),this.zs&&this.zs.bind(k.ca,this.jba,this,!0),this.S("externalPlaybackBar"),e(B.Ola).each(function(D){this.YD(D)},this));this.pc(B.KJa,B.Gla,[this.Xd],!0,!0);A=[this.Xd];this.zs&&A.push(this.zs);this.pc(B.Ola,B.Pla,A,!0,!0);z.prototype.Za.call(this)};B.prototype.NZa=
function(){this.mba&&(this.mba=!1,this.JG.set("state",this.Hi==b.Ib?y.xb:y.xe),this.KG.set("state",this.Hi==b.Y||this.Hi==b.Ib?y.xb:y.xe),this.cC.set("state",this.Hi==b.Y?y.xb:y.xe),this.MG.set("state",this.Hi==b.W?y.xb:y.xe))};B.prototype.qd=function(A){this.Hi=A;this.set("playbackState",A)};B.prototype.gY=function(){B.ij(this)};B.prototype.CTa=function(){B.hj(this)};B.prototype.vD=function(){this.Hi==b.Ib?this.Gk():this.Fq()};B.prototype.wD=function(){this.Gk()};B.prototype.hTa=function(){this.Hi==
b.Y?this.Fq():this.Gk()};B.prototype.Az=function(){this.Lo()};B.prototype.zz=function(){this.Lo();this.Gk()};B.prototype.BTa=function(){if(!this.nk||!this.nk.nfa())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var A=this.ob().th;A&&A.Xj()&&A.toggle()}};B.prototype.DTa=function(A){this.nP.forEach(function(D){this.YZ.remove(D)}.bind(this));this.nP=A.data.players;this.nP.forEach(function(D){this.YZ.add(D)}.bind(this));this.Qd()};B.prototype.Gk=function(){this.Nm&&this.Nm.play()};B.prototype.Fq=
function(){this.Nm&&this.Nm.pause()};B.prototype.Lo=function(){this.Nm&&this.Nm.stop()};B.prototype.lTa=function(A){this.ova(A.data.player)};B.prototype.kTa=function(A){this.nk==A.data.player&&this.ova(null)};B.prototype.cta=function(){B.np(this)};B.prototype.FTa=function(){this.oo=!0;this.xQ()};B.prototype.ETa=function(){this.oo=!1;this.xQ()};B.prototype.xQ=function(){this.Xd&&this.Xd.set("visible",this.get("playbackBarVisible")&&(this.oo||!this.get("playbackBarRollOverDisplay")||t.u3()))};B.prototype.ova=
function(A){this.nk!=A&&(this.set("playbackBarVisible",!1),this.nk&&this.nk.np(!1),this.Nm&&this.Nm.unbind(k.D("state"),this.O5,this),this.kUa=this.nk,(this.nk=A)&&this.nk.np(!!this.dn),(this.Nm=this.nk&&this.nk.SLa?this.nk:null)&&this.Nm.bind(k.D("state"),this.O5,this,!0),this.O5())};B.prototype.np=function(A){this.dn=A;this.set("isKeyboardTarget",A);this.nk&&this.nk.np(!!this.dn)};B.prototype.w9a=function(){return!this.kUa};B.prototype.O5=function(){this.Nm?this.qd(this.Nm.get("state")):this.qd(b.W)};
B.prototype.jba=function(){var A=(this.zs?this.zs:this.Xd).get("position");this.trigger(new h(B.F4,{position:A}))};B.Hla={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",progressBackgroundColorRatios:"backgroundColorRatios",progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroundColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios",progressBarBorderColor:"barBorderColor",
progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",progressHeight:"height",progressOpacity:"opacity",progressBottom:"bottom",progressLeft:"left",progressRight:"right"};B.LJa=e(B.Hla).keys();B.Tla={progressPercent:"percent",progressVisible:"visible"};B.Sla=e(B.Tla).keys();B.Gla={playbackBarBackgroundColor:"backgroundColor",playbackBarBackgroundColorDirection:"backgroundColorDirection",
playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",playbackBarHeight:"height",playbackBarWidth:"width",playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection",playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",
playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor",playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor",playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",
playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius",playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread",playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",
playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor",playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow",playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",
playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength",playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios",
playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth",playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor",
playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};B.KJa=e(B.Gla).keys();B.Pla={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};B.Ola=e(B.Pla).keys();B.cU=
"requestByPlayer";B.Oka="playerShow";B.Nka="playerHide";B.F4="playbackBarPositionChange";B.M4="viewModeChange";B.cD=null;B.np=function(A){B.cD!=A&&(B.cD&&B.cD.np(!1),B.cD=A,B.cD&&B.cD.np(!0))};B.gA=[];B.ij=function(A){var D=B.gA.indexOf(A);-1<D&&B.gA.splice(D,1);B.gA.push(A);this.np(A)};B.hj=function(A){var D=B.gA.indexOf(A);-1<D&&B.gA.splice(D,1);B.cD==A&&B.np(B.gA.length?B.gA[B.gA.length-1]:null)};return B});
define("dh",["require","lE","mh","cC","bz"],function(a){var e=a("lE"),l=a("mh"),m=a("cC"),k=a("bz"),b=e.extend(l,function(h){l.call(this);this.SLa=h;this.MP=this.pz=null});b.hh="mediaShow";b.Im="mediaHide";b.prototype.np=function(){};b.prototype.nfa=function(){return!1};b.prototype.IP=function(h){this.pz!=h&&(this.pz&&this.Fda(this.pz),(this.pz=h)&&this.x6(this.pz))};b.prototype.x6=function(h){h.bind(k.cU,this.hya,this,!0);h.bind(k.F4,this.YO,this)};b.prototype.Fda=function(h){h.unbind(k.cU,this.hya,
this);h.unbind(k.F4,this.YO,this)};b.prototype.sF=function(h){this.pz.trigger(new m(k.cU,{players:h||[this]}))};b.prototype.hya=function(h){0>h.data.players.indexOf(this)&&this.YI()};b.prototype.YO=function(){};b.prototype.YI=function(){};b.prototype.RN=function(h){this.trigger(new m(b.hh,{media:h}));this.MP=this.pz;this.MP.trigger(new m(k.Oka,{player:this}))};b.prototype.QN=function(h){this.trigger(new m(b.Im,{media:h}));this.MP&&(this.MP.trigger(new m(k.Nka,{player:this})),this.MP=null)};return b});
define("ko",["require"],function(){return{iB:"constrained",pIa:"free_drag",M9a:"free_drag_and_rotation",n5:"sync_with_field_of_view"}});
define("kT",["require","lE","ko","mu"],function(a){function e(){this.xa=!0;this.Na=this.Ka=.5;this.hd=0;this.ib=1;this.Jf=m.Kh;this.pn=l.iB;this.T$=this.W$=1;this.De=this.Ee=this.Om=this.Pm=100;this.An=e.NB}a("lE");var l=a("ko"),m=a("mu");e.prototype.nBa=function(){return this.An!==e.NB};e.prototype.mBa=function(){return this.An&e.tG?!0:!1};e.prototype.oBa=function(){return this.An&e.uG?!0:!1};e.prototype.pBa=function(){return this.An&e.QB?!0:!1};e.prototype.lBa=function(){return this.An&e.MB?!0:
!1};e.prototype.getX=function(){this.Gn();return this.Ka};e.prototype.getY=function(){this.Gn();return this.Na};e.prototype.sr=function(){this.Gn();return this.ib};e.prototype.XJ=function(){this.Gn();return this.hd};e.prototype.setConfiguration=function(k,b,h,g,c){this.Ee=k;this.De=b;this.Jf=h;this.W$=g;this.T$=c;this.Na=this.Ka=.5;this.hd=0;this.ib=g;this.xa=!0};e.prototype.setPosition=function(k,b,h,g){this.Ka=k;this.Na=b;this.hd=h;this.ib=g;this.xa=!0};e.prototype.Lr=function(k){this.pn=k;this.xa=
!0};e.prototype.setSize=function(k,b){this.Pm=k;this.Om=b;this.xa=!0};e.prototype.Gn=function(){if(this.xa){this.xa=!1;var k=e.NB;this.ib>this.T$?(this.ib=this.T$,k|=e.MJa):this.ib<this.W$&&(this.ib=this.W$,k|=e.NJa);if(this.pn==l.iB){switch(this.Jf){case m.NONE:var b=this.Ee;var h=this.De;break;case m.Cp:b=this.Pm;h=this.De*this.Pm/this.Ee;break;case m.kk:b=this.Ee*this.Om/this.De;h=this.Om;break;case m.Ur:this.Ee*this.Om>this.De*this.Pm?(b=this.Ee*this.Om/this.De,h=this.Om):(b=this.Pm,h=this.De*
this.Pm/this.Ee);break;default:case m.Kh:this.Ee*this.Om>this.De*this.Pm?(b=this.Pm,h=this.De*this.Pm/this.Ee):(b=this.Ee*this.Om/this.De,h=this.Om)}b*=this.ib;h*=this.ib;var g=Math.min(.5*this.Pm/b,.5);b=Math.max(1-.5*this.Pm/b,.5);var c=Math.min(.5*this.Om/h,.5);h=Math.max(1-.5*this.Om/h,.5)}else g=0,b=1,c=0,h=1;this.Ka<g?(this.Ka=g,k|=e.tG):this.Ka>b&&(this.Ka=b,k|=e.uG);this.Na<c?(this.Na=c,k|=e.QB):this.Na>h&&(this.Na=h,k|=e.MB);this.pn!=l.iB&&this.pn!=l.pIa||0==this.hd||(this.hd=0,k|=e.SJa);
this.An=k}};e.NB=0;e.tG=1;e.uG=2;e.QB=4;e.MB=8;e.NJa=16;e.MJa=32;e.SJa=64;return e});
define("gz",["require"],function(){function a(){this.JM=.1;this.rV=this.u7=this.x7=this.w7=this.E7=this.t7=this.C7=this.B7=this.OQ=this.Rea=this.TB=this.Z5=this.MQ=this.Oea=this.LQ=this.Nea=0}a.prototype.J2=function(e){this.JM=e};a.prototype.zFa=function(e,l,m,k,b,h,g,c){this.Nea=e;this.Oea=l;this.Z5=m;this.Rea=k;this.LQ+=b;this.MQ+=h;this.TB+=g;this.OQ+=c};a.prototype.jf=function(){return 0!=this.B7||0!=this.C7||0!=this.t7||0!=this.E7||0!=this.Nea||0!=this.Oea||0!=this.Z5||0!=this.Rea||0!=this.LQ||
0!=this.MQ||0!=this.TB||0!=this.OQ};a.prototype.Cb=function(e){e=1E3/e;this.w7=this.EV(this.B7/e,this.Nea/e+this.LQ,this.JM);this.x7=this.EV(this.C7/e,this.Oea/e+this.MQ,this.JM);this.u7=this.EV(this.t7/e,this.Z5/e+this.TB,this.JM);this.rV=this.EV(this.E7/e,this.Rea/e+this.OQ,this.JM);this.B7=this.w7*e;this.C7=this.x7*e;this.t7=this.u7*e;this.E7=this.rV*e;this.OQ=this.TB=this.MQ=this.LQ=0};a.prototype.EV=function(e,l,m){return 0==l?this.ng(e,l,m):l};a.prototype.ng=function(e,l,m){e=(l-e)*(1-m);.01>
Math.abs(e)&&(e=0);return l-e};return a});
define("gE","require lE pf cC gv mu".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv");a("mu");var b=e.extend(k,function(){k.call(this);this.HM=7;this.sX=this.l$=!1;this.uX=void 0;this.hd=0;this.ib=1;this.De=this.Ee=100;this.SW=1;this.rba=!0;this.sba=!1;this.h_a=!0;this.Qea=!1;this.cb=null});b.prototype.RS=function(h){this.HM=h};b.prototype.Lc=function(h,g,c,d){this.hd=h;this.ib=g;this.Ee=c;this.De=d};b.prototype.o7a=function(h){this.rba=h;this.wZ(this.rba&&!!this.cb)};b.prototype.Ir=
function(h){this.cb!=h&&(this.wZ(!1),this.Dca(!1),this.om(),this.cb=h,this.wZ(this.rba&&!!this.cb),this.Dca(this.h_a&&!!this.cb))};b.prototype.om=function(){this.wZ(!1);this.Dca(!1);this.cb=null};b.prototype.wZ=function(h){this.sba!=h&&((this.sba=h)?this.qLa():this.xYa())};b.prototype.Dca=function(h){this.Qea!=h&&((this.Qea=h)?this.tLa():this.zYa())};b.prototype.qLa=function(){this.cb.bind(l.kb,this.Vd,this,!0);this.cb.bind(l.kc,this.Mj,this,!0);this.cb.bind(l.Hb,this.Nj,this,!0)};b.prototype.xYa=
function(){this.cb.unbind(l.kb,this.Vd,this);this.cb.unbind(l.kc,this.Mj,this);this.cb.unbind(l.Hb,this.Nj,this)};b.prototype.tLa=function(){this.cb.bind(l.Zr,this.jD,this,!0);this.cb.bind(l.aG,this.HC,this,!0)};b.prototype.zYa=function(){this.cb.unbind(l.Zr,this.jD,this);this.cb.unbind(l.aG,this.HC,this)};b.prototype.Vd=function(h){this.fXa(h)};b.prototype.Mj=function(h){this.Exa(h)};b.prototype.Nj=function(){this.m8()};b.prototype.jD=function(h){this.oea(h)};b.prototype.HC=function(h){this.pea(h)};
b.prototype.fXa=function(h){this.l$=!0;this.sX=!1;this.uX=h;this.Exa(h)};b.prototype.Exa=function(h){if(this.l$){var g=h.pageX-this.uX.pageX,c=h.pageY-this.uX.pageY;this.sX||(Math.sqrt(g*g+c*c)>this.HM?this.sX=!0:g=c=0);this.sX&&(this.uX=h);h=this.hd*Math.PI/180;this.trigger(new m(b.xp,{xDelta:-((g*Math.cos(h)+c*Math.sin(h))/this.Ee),yDelta:-((c*Math.cos(h)-g*Math.sin(h))/this.De)}))}};b.prototype.m8=function(){this.l$=!1};b.prototype.pea=function(h){if(this.SW!=h.scale){this.m8();var g=this.SW;this.SW=
h.scale;this.trigger(new m(b.Bp,{zoomDelta:this.ib*this.SW/g-this.ib}))}};b.prototype.oea=function(h){0!=h.delta&&(this.m8(),this.trigger(new m(b.Bp,{zoomDelta:this.ib*h.kR*.1})))};b.xp="position change";b.Bp="zoom change";b.Y9a="vieport navigation";b.X9a="relative navigation";b.W9a="relative exponential navigation";b.V9a="dragging";return b});define("jW",["require"],function(){return{g5:"rotateClockwise",h5:"rotateCounterClockwise",Iu:"zoomIn",Ju:"zoomOut",Qf:"stop"}});
define("nR","require lE cC gv mu gz gE jW pf".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("mu"),b=a("gz"),h=a("gE"),g=a("jW");a("pf");var c=e.extend(m,function(d,f){m.call(this);this.j=d;this.ka=f;this.Es=this.RY=this.T=!1;this.Na=this.Ka=.5;this.hd=0;this.ib=1;this.De=this.Ee=100;this.Jf=k.iB;this.fc=new b;this.rb=new h;this.j.po?(this.rb.RS(c.J5),this.fc.J2(c.K5)):(this.rb.RS(0),this.fc.J2(1));this.rb.bind(h.xp,this.YSa,this,!0);this.rb.bind(h.Bp,this.vz,this,!0)});c.prototype.clear=
function(){this.rb.unbind(h.xp,this.bab,this,!0);this.rb.unbind(h.Bp,this.vz,this,!0);this.rb.om();this.j=this.ka=this.fc=this.rb=null};c.prototype.dk=function(d){switch(d){case g.g5:this.Oc(0,0,+c.E5,0,0,0,0,0);break;case g.h5:this.Oc(0,0,-c.E5,0,0,0,0,0);break;case g.Iu:this.Oc(0,0,0,+c.LL,0,0,0,0);break;case g.Ju:this.Oc(0,0,0,-c.LL,0,0,0,0);break;case g.Qf:this.Oc(0,0,0,0,0,0,0,0)}};c.prototype.setPosition=function(d,f,p,q,n,r){this.Ka=d;this.Na=f;this.hd=p;this.ib=q;this.Ee=n;this.De=r;this.rb.Lc(this.hd,
this.ib,this.Ee,this.De)};c.prototype.jf=function(){return this.T&&this.fc.jf()};c.prototype.Cb=function(d){this.fc.Cb(d);this.ka.setPosition(this.Ka+this.fc.w7,this.Na+this.fc.x7,this.hd+this.fc.u7,this.ib+this.fc.rV);this.Ka=this.ka.getX();this.Na=this.ka.getY();this.hd=this.ka.XJ();this.ib=this.ka.sr()};c.prototype.VS=function(d){this.Es=d;this.rb.o7a(!this.Es)};c.prototype.mb=function(d){(this.T=d)?this.rb.Ir(this.j.getParent()):this.rb.om()};c.prototype.YSa=function(d){this.Oc(0,0,0,0,d.data.xDelta,
d.data.yDelta,0,0)};c.prototype.vz=function(d){this.Oc(0,0,0,0,0,0,0,d.data.zoomDelta)};c.prototype.Oc=function(d,f,p,q,n,r,t,u){this.fc.zFa(d,f,p,q,n,r,t,u);this.ei()};c.prototype.ei=function(){this.trigger(new l(c.Jh))};c.Jh="position change request";c.J5=7;c.K5=.2;c.LL=.5;c.E5=30;return c});
define("nd","require lE cC gv oH bG gz gE jW pf".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("oH"),b=a("bG"),h=a("gz"),g=a("gE"),c=a("jW");a("pf");var d=e.extend(m,function(f,p){m.call(this);this.j=f;this.ka=p;this.T=!1;this.Na=this.Ka=.5;this.hd=0;this.ib=1;this.De=this.Ee=100;this.aa=null;this.h8=!0;this.Wc=null;this.pY=0;this.lt=this.Qk=this.Aw=void 0;this.fc=new h;this.rb=new g;this.j.po?(this.rb.RS(d.J5),this.fc.J2(d.K5)):(this.rb.RS(0),this.fc.J2(1));this.rb.bind(g.Bp,this.vz,
this,!0)});d.prototype.V6a=function(f,p){this.Ee=f;this.De=p;this.jJ()};d.prototype.zx=function(f){this.Wc!=f&&(this.Wc=f,this.pY=void 0,this.jJ())};d.prototype.op=function(f,p){this.Wc==f&&(this.pY=p,this.jJ())};d.prototype.jJ=function(){if(this.Wc&&void 0!=this.pY){var f=this.Wc.get("x",0)/this.Ee;var p=this.Wc.get("y",0)/this.De;var q=-(this.pY+this.Wc.get("angle",0))}else q=p=f=void 0;this.lt!=q&&(this.lt=q,this.ei());if(this.Aw!=f||this.Qk!=p)this.Aw=f,this.Qk=p,this.sRa(),this.ei()};d.prototype.sRa=
function(){this.h8=!0;this.ei()};d.prototype.jE=function(){if(this.h8||this.aa&&this.aa.Ye())if(this.h8=!1,this.aa=null,void 0!=this.Aw&&void 0!=this.Qk&&void 0!=this.lt){for(var f=this.lt-this.hd;180<f;)f-=360;for(;-180>f;)f+=360;this.Ka!=this.Aw||this.Na!=this.Qk?this.aa=new k("quad_in_out",[new b("x",this.Ka,this.Aw,1),new b("y",this.Na,this.Qk,1),new b("angleDif",f,f,360)],500):this.lt!=this.hd&&(this.aa=new k("quad_in_out",[new b("x",this.Ka,this.Ka,1),new b("y",this.Na,this.Na,1),new b("angleDif",
f,0,360)],500))}};d.prototype.clear=function(){this.rb.unbind(g.Bp,this.vz,this,!0);this.rb.om();this.j=this.ka=this.aa=this.fc=this.rb=null};d.prototype.dk=function(f){switch(f){case c.Iu:this.Oc(+d.LL,0);break;case c.Ju:this.Oc(-d.LL,0);break;case c.Qf:this.Oc(0,0)}};d.prototype.setPosition=function(f,p,q,n,r,t){this.Ka=f;this.Na=p;this.hd=q;this.ib=n;this.rb.Lc(this.hd,this.ib,r,t)};d.prototype.jf=function(){return this.T&&(this.aa||this.fc.jf()||void 0!=this.Aw&&this.Ka!=this.Aw||void 0!=this.Qk&&
this.Na!=this.Qk||void 0!=this.lt&&this.hd!=this.lt)?!0:!1};d.prototype.Cb=function(f){this.jE();this.aa?(this.aa.Cb(f),this.Ka=this.aa.fb("x"),this.Na=this.aa.fb("y"),this.hd=this.lt-this.aa.fb("angleDif")):(void 0!=this.Aw&&(this.Ka=this.Aw),void 0!=this.Qk&&(this.Na=this.Qk),void 0!=this.lt&&(this.hd=this.lt));this.fc.Cb(f);this.ka.setPosition(this.Ka,this.Na,this.hd,this.ib+this.fc.rV);this.Ka=this.ka.getX();this.Na=this.ka.getY();this.hd=this.ka.XJ();this.ib=this.ka.sr()};d.prototype.mb=function(f){(this.T=
f)?(this.rb.Ir(this.j.getParent()),this.jJ()):this.rb.om()};d.prototype.vz=function(f){this.Oc(0,f.data.zoomDelta)};d.prototype.Oc=function(f,p){this.fc.zFa(0,0,0,f,0,0,0,p);this.ei()};d.prototype.ei=function(){this.trigger(new l(d.Jh))};d.Jh="position change request";d.J5=7;d.K5=.2;d.LL=.5;d.E5=30;return d});
define("oo","require lE cC gv ko mu kT nR nd pf".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("ko"),b=a("mu"),h=a("kT"),g=a("nR"),c=a("nd"),d=a("pf"),f=e.extend(m,function(p){m.call(this);this.j=p;this.j.bind(d.oc,this.Bc,this);this.pn=k.iB;this.Wc=null;this.Na=this.Ka=.5;this.hd=0;this.ib=1;this.Ra=null;this.gZ=this.fZ=this.ut=this.tt=!1;this.Cn=!0;this.T=!1;this.ka=new h;this.ka.Lr(this.pn);this.Zb=new g(this.j,this.ka);this.Zb.bind(g.Jh,this.zq,this,!0);this.Mi=new c(this.j,this.ka);
this.Mi.bind(c.Jh,this.zq,this,!0);this.TY()});f.prototype.clear=function(){this.Zb.unbind(g.Jh,this.zq,this);this.Zb.clear();this.Zb=null;this.Mi.unbind(c.Jh,this.zq,this);this.Mi.clear();this.Ra=this.ka=this.Mi=null;this.j.unbind(d.oc,this.Bc,this);this.j=null};f.prototype.stop=function(){this.ie=this.Ra=null;this.T=!1;this.Zb.mb(!1);this.Mi.mb(!1);this.sw(0,0,0)};f.prototype.start=function(p){var q=p.Ra,n=q.get("width",100),r=q.get("height",100),t=q.get("scaleMode",b.Kh),u=q.get("minimumZoomFactor",
1),v=q.get("maximumZoomFactor",1),w=q.get("initialZoomFactor",1);this.Ra=q;this.T=!0;this.ie=p.getItem();this.sw(0,0,0);this.Mi.V6a(n,r);this.ka.setConfiguration(n,r,t,u,v);this.ka.setPosition(.5,.5,0,w);this.j.XS(this.ie,this.ka.getX(),this.ka.getY(),this.ka.XJ(),this.ka.sr());this.TY()};f.prototype.dk=function(p){this.Zb.dk(p);this.Mi.dk(p)};f.prototype.Lr=function(p){this.pn!=p&&(this.pn=p,this.ka.Lr(p),this.TY())};f.prototype.zx=function(p){this.Wc!=p&&(this.Wc=p,this.Mi.zx(p),this.TY())};f.prototype.VS=
function(p){this.Zb&&this.Zb.VS(p)};f.prototype.op=function(p,q,n,r){this.Mi.op(p,q,n,r)};f.prototype.ox=function(p){this.T&&(this.Mi.jf()?(this.Mi.Cb(p),this.dm(this.Mi.Ka,this.Mi.Na,this.Mi.hd,this.Mi.ib),this.Oa()):this.Zb.jf()?(this.Zb.Cb(p),this.dm(this.Zb.Ka,this.Zb.Na,this.Zb.hd,this.Zb.ib),this.Oa()):this.sw(0,0,0))};f.prototype.Gd=function(){if(this.ie){var p=this.j.DR(this.ie),q=this.j.ER(this.ie),n=this.j.S0(this.ie),r=this.j.DAa(this.ie),t=this.j.CR(this.ie),u=this.j.BR(this.ie),v=p-this.Ka,
w=q-this.Na,x=r-this.ib;this.Ka=p;this.Na=q;this.hd=n;this.ib=r;this.sw(v,w,x);this.Mi.setPosition(p,q,n,r,t,u);this.Zb.setPosition(p,q,n,r,t,u)}};f.prototype.TY=function(){this.pn==k.n5&&null!=this.Wc&&this.Wc.get("map")==this.Ra?(this.Zb.mb(!1),this.Mi.mb(!0)):(this.Zb.mb(!0),this.Mi.mb(!1))};f.prototype.zq=function(){this.Oa()};f.prototype.Bc=function(){this.ka.setSize(this.j.Xa(),this.j.yb());this.Oa()};f.prototype.Oa=function(){this.trigger(new l(f.Gb))};f.prototype.dm=function(p,q,n,r){this.j.XS(this.ie,
p,q,n,r)};f.prototype.sw=function(p,q,n){p=!1;this.ut!=0>n&&(this.ut=!this.ut,p=!0);this.tt!=0<n&&(this.tt=!this.tt,p=!0);this.fZ!=0<this.TB&&(this.fZ=!this.fZ,p=!0);this.gZ!=0>this.TB&&(this.gZ=!this.gZ,p=!0);this.Cn!=(0==n)&&(this.Cn=!this.Cn,p=!0);p&&this.trigger(new l(f.jk,{rotatingClockwise:this.fZ,rotatingCounterClockwise:this.gZ,zoomingIn:this.tt,zoomingOut:this.ut,stopped:this.Cn}))};f.Gb="request frame";f.jk="movement change";return f});
define("ka","require lE cC gv mu kT".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("mu"),b=a("kT"),h=e.extend(m,function(g,c){m.call(this);this.L=g;this.j=c;this.ka=new b;this.Ig=[];this.ra=h.Nh;this.cq=this.Dj=this.yl=null;this.Zg=this.L.get("transitionDuration");this.jm=void 0});h.prototype.Lr=function(g){this.ka.Lr(g)};h.prototype.mR=function(g){g.ZR()&&this.Q6();this.Ig.push(g);this.VX()};h.prototype.hide=function(){this.Q6();this.Ig.push(null);this.VX()};h.prototype.clear=function(){this.ra=
h.Nh;this.Q6();this.AUa();this.Rba();this.j=null};h.prototype.Gd=function(g){this.ra==h.Nh||this.ra!=h.tl&&this.ra!=h.ls||(this.jm+=g,g=Math.min(1,this.jm/this.Zg),this.ra==h.tl?this.j.Kr(this.cq,g):this.j.Kr(this.vV,1-g),this.jm<this.Zg?this.Oa():this.ra==h.tl?this.kOa():this.mOa())};h.prototype.VX=function(){if(this.ra==h.Nh){for(;0<this.Ig.length&&this.FKa(this.Ig[0],this.Dj);)this.Ig.shift();0<this.Ig.length&&this.Sp()}};h.prototype.FKa=function(g,c){return g==c||!!g&&!!c&&g.isEqual(c)};h.prototype.Sp=
function(){!this.Dj||this.Ig[0]&&!this.Ig[0].ZR()||this.Dj.Ra==(this.Ig[0]&&this.Ig[0].Ra)||this.trigger(new l(h.lB,{map:this.Dj.Ra}));"fade_out_fade_in"!=this.L.get("transitionMode","blending")||!this.Dj||this.Ig[0]&&!this.Ig[0].ZR()?(this.cq=(this.yl=this.Ig.shift())&&this.yl.getItem(),this.yl?this.ZL():this.Dj&&this.uy()):this.uy()};h.prototype.ZL=function(){this.cKa();this.yl.ZR()&&this.yVa();this.jm=0;this.ra=h.tl;this.Oa()};h.prototype.kOa=function(){this.Rba();this.Dj=this.yl;this.vV=this.cq;
this.cq=this.yl=null;this.Sy()};h.prototype.uy=function(){this.jm=0;this.ra=h.ls;this.Oa()};h.prototype.mOa=function(){this.Rba();this.Dj=null;this.Sy()};h.prototype.Sy=function(){this.ra=h.Nh;this.Dj&&this.Dj.ZR()&&this.trigger(new l(h.mB,{map:this.Dj.Ra}));0==this.Ig.length?this.Dj?this.trigger(new l(h.s4,{level:this.Dj})):this.trigger(new l(h.c4)):this.Sp()};h.prototype.yVa=function(){var g=this.yl.Ra;this.yl.Zj();this.ka.setConfiguration(g.get("width",100),g.get("height",100),g.get("scaleMode",
k.Kh),g.get("minimumZoomFactor",1),g.get("maximumZoomFactor",1));this.ka.setPosition(.5,.5,0,g.get("initialZoomFactor",1));this.j.XS(this.cq,this.ka.getX(),this.ka.getY(),this.ka.XJ(),this.ka.sr())};h.prototype.Oa=function(){this.trigger(new l(h.Gb))};h.prototype.Q6=function(){for(;0<this.Ig.length;){var g=this.Ig.shift();g&&this.j.wj(g.getItem())}};h.prototype.cKa=function(){this.yl&&(this.j.Uea(this.cq),this.j.jfa(this.cq),this.j.Kr(this.cq,0),this.trigger(new l(h.r4,{level:this.yl})))};h.prototype.Rba=
function(){this.Dj&&(this.j.removeItem(this.vV),this.trigger(new l(h.OT,{level:this.Dj})),this.j.wj(this.vV),this.vV=this.Dj=null)};h.prototype.AUa=function(){this.yl&&(this.j.removeItem(this.cq),this.trigger(new l(h.OT,{level:this.yl})),this.j.wj(this.cq),this.cq=this.yl=null)};h.Nh="stopped";h.tl="blending";h.ls="disolving";h.Gb="request frame";h.r4="level added";h.OT="level removed";h.s4="level fully displayed";h.c4="all pending maps hidden";h.mB="map show";h.lB="map hide";return h});
define("lp",["require"],function(){function a(e,l){this.Ra=e;this.Ua=e.get("image");this.hf=l;this.g$=void 0}a.prototype.getItem=function(){switch(this.hf){case a.aU:return this.Ra.OAa();default:return this.Ra.$j()}};a.prototype.Zj=function(){switch(this.hf){case a.aU:return this.Ra.PE();default:return this.Ra.qr()}};a.prototype.ZR=function(){return void 0===this.g$?0==this.getIndex():this.g$};a.prototype.G6a=function(e){this.g$=e};a.prototype.$R=function(){return this.hf==a.eka};a.prototype.isEqual=
function(e){return e&&this.Ra==e.map&&this.hf==e.type};a.prototype.getIndex=function(){return this.hf==a.aU||this.Ra.iK()?0:1};a.prototype.pAa=function(){return this.Ra.iK()?2:1};a.aU="preload";a.eka="load";return a});
define("jh","require lE kS pf cC gv lp v".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("lp"),g=a("v"),c=e.extend(b,function(d){b.call(this);this.j=d;this.Ig=[];this.zM=this.eD=this.Qg=null;this.YC=!1;this.TW=null;this.LX=e.ip(this.LX,this)});c.prototype.clear=function(){this.stop();this.j=null};c.prototype.lCa=function(d,f){if(this.TW!=d||f)this.stop(),this.Ra=d,this.Ra.H5a(),l.vt(this.Ra,"image.levels.url",this.LX),f=[],d.iK()&&g.lb()&&f.push(new h(d,h.aU)),f.push(new h(d,
h.eka)),f=f.filter(function(p){return p.getItem().Pi()}),f.length&&(this.Ig=this.Ig.concat(f),this.VX())};c.prototype.LX=function(){this.reload()};c.prototype.reload=function(){this.lCa(this.Ra,!0)};c.prototype.stop=function(){l.ba(this.Ra,"image.levels.url",this.LX);this.TW=this.Ra=null;this.Ig=[];this.rwa();this.YC&&(this.YC=!1,this.Cda(),this.j.wj(this.Qg.getItem()),this.Qg=null,this.trigger(new k(c.PT)))};c.prototype.VX=function(){this.YC||this.M$()};c.prototype.M$=function(){0<this.Ig.length?
(this.Qg=this.Ig.shift(),this.YC||(this.YC=!0,this.trigger(new k(c.NT,{level:this.Qg,percent:0}))),this.kLa(),this.j.Ln(this.Qg.getItem()),this.j.q3(this.Qg.getItem())&&this.qaa()):this.YC&&(this.YC=!1,this.trigger(new k(c.PT)))};c.prototype.qaa=function(){this.Cda();this.XWa();this.Qg=null;this.M$()};c.prototype.XWa=function(){this.rwa();this.eD=this.Qg;var d=this;this.zM=setTimeout(function(){d.zM=null;d.FSa()},500)};c.prototype.FSa=function(){var d=this.eD.Ra;this.eD.G6a(d!=this.TW);this.TW=d;
this.trigger(new k(c.t4,{level:this.eD}));this.eD=null};c.prototype.rwa=function(){null!=this.zM&&(clearTimeout(this.zM),this.zM=null,this.j.wj(this.eD.getItem()),this.eD=null)};c.prototype.csa=function(){this.Cda();this.Qg=null;this.M$()};c.prototype.dsa=function(d){this.trigger(new k(c.NT,{level:this.Qg,percent:d.Mg}))};c.prototype.kLa=function(){var d=this.Qg.getItem();d.bind(m.Z,this.qaa,this);d.bind(m.xc,this.csa,this);d.bind(m.lc,this.dsa,this)};c.prototype.Cda=function(){var d=this.Qg.getItem();
d.unbind(m.Z,this.qaa,this);d.unbind(m.xc,this.csa,this);d.unbind(m.lc,this.dsa,this)};c.NT="level loading progress";c.t4="level loaded";c.PT="load stopped";return c});
define("cO",["require"],function(){function a(e,l){this.x=e;this.y=l}a.prototype.rotate=function(e){var l=Math.cos(e);e=Math.sin(e);var m=this.x*e+this.y*l;this.x=this.x*l-this.y*e;this.y=m;return this};a.prototype.translate=function(e,l){this.x+=e;this.y+=l;return this};a.prototype.scale=function(e,l){this.x*=e;this.y*=l;return this};return a});
define("mV",["require","mu","nk"],function(a){function e(k,b,h){this.ci=k;this.fwa=b;this.dwa=h;this.Jf=l.Vx;this.Gl=m.Oe;this.mm=m.le}var l=a("mu"),m=a("nk");e.prototype.VA=function(k){this.Jf=k};e.prototype.OK=function(k){this.Gl=k};e.prototype.XK=function(k){this.mm=k};e.prototype.MJ=function(k,b,h){var g=this.fwa,c=this.dwa,d;switch(this.Jf){case l.NONE:var f=d=1;break;case l.Kh:d=f=Math.min(b/g,h/c);break;case l.Ur:d=f=Math.max(b/g,h/c);break;case l.Cp:d=f=b/g;break;case l.kk:d=f=h/c;break;default:d=
b/g,f=h/c}var p=Math.min(this.fwa*d,b);d=Math.min(b/d,g);switch(this.Gl){case m.Ya:g=b=0;break;case m.qb:b-=p;g-=d;break;default:b=.5*(b-p),g=.5*(g-d)}var q=Math.min(this.dwa*f,h);f=Math.min(h/f,c);switch(this.mm){case m.yc:c=h=0;break;case m.rc:h-=q;c-=f;break;default:h=.5*(h-q),c=.5*(c-f)}k.drawImage(this.ci,Math.round(g),Math.round(c),Math.round(d+g-Math.round(g)),Math.round(f+c-Math.round(c)),Math.round(b),Math.round(h),Math.round(p+b-Math.round(b)),Math.round(q+h-Math.round(h)))};return e});
define("mC","require pf ik cO gY mV".split(" "),function(a){function e(g,c,d,f){this.j=g;this.Ra=c;this.Ee=this.Ra.get("width");this.De=this.Ra.get("height");this.ie=this.Ra.$j();this.dqa=d;this.mo=f;this.NC=null;if(this.mo){if(this.HI=this.dqa.HI,this.na=this.mo.get("width"),this.wa=this.mo.get("height"),this.Ka=this.mo.get("x",0),this.Na=this.mo.get("y",0),this.Pv=this.mo.get("offsetX",0),this.Qv=this.mo.get("offsetY",0),this.ab=this.mo.qr())this.Wh=new b(m.ol),this.Wh.load(this.ab.get("url")),
this.Wh.bind(l.Z,this.Jsa,this)}else this.Wh=null}var l=a("pf"),m=a("ik"),k=a("cO"),b=a("gY"),h=a("mV");e.prototype.clear=function(){this.mo=this.dqa=this.ie=this.Ra=this.j=null;this.Wh&&(this.Wh.unbind(l.Z,this.Jsa,this),this.Wh.cancel(),this.Wh=null);this.NC=null};e.prototype.GAa=function(g,c){this.eqa=void 0;if(this.NC&&void 0!=g&&void 0!=c){var d=.5*this.j.Xa(),f=.5*this.j.yb(),p=this.j.S0(this.ie)*Math.PI/180,q=this.j.CR(this.ie),n=this.j.BR(this.ie),r=this.j.DR(this.ie),t=this.j.ER(this.ie);
g=new k(g,c);g.translate(-d,-f);g.rotate(-p);g.scale(1/q,1/n);g.translate(r,t);g.scale(this.Ee,this.De);g.translate(-this.Ka,-this.Na);this.HI||(g.rotate(p),g.scale(q/this.Ee,n/this.De));g.translate(this.Pv,this.Qv);d=Math.round(g.x);f=Math.round(g.y);0<=d&&d<this.NC.width&&0<=f&&f<this.NC.height&&(d=4*(this.NC.width*f+d),f=this.NC.data,this.eqa=0<f[d+3]?"#"+this.E6(f[d+0])+this.E6(f[d+1])+this.E6(f[d+2]):"transparent")}return this.eqa};e.prototype.Jsa=function(){var g=new h(this.Wh.wf(),this.ab.get("width"),
this.ab.get("height"));g.VA(this.mo.get("scaleMode"));g.OK(this.mo.get("horizontalAlign"));g.XK(this.mo.get("verticalAlign"));var c=document.createElement("canvas");c.width=Math.round(this.na);c.height=Math.round(this.wa);var d=c.getContext("2d");g.MJ(d,c.width,c.height);this.NC=d.getImageData(0,0,c.width,c.height);c.width=c.height=0};e.prototype.E6=function(g){for(g=g.toString(16);2>g.length;)g="0"+g;return g};return e});
define("lk","require en lE pf cC gv nW mC bd oH bG".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("nW"),g=a("mC"),c=a("bd"),d=a("oH"),f=a("bG"),p=l.extend(b,function(q,n,r){b.call(this);this.j=q;this.Ra=n;this.hc=r;this.ya=this.hc.getItem();this.Qq=this.hc.RAa();this.Rq=this.hc.TAa();this.Gv=this.oo=void 0;this.L=this.j.getParent();this.L.bind(m.kc,this.Hf,this);this.L.bind(m.Xb,this.vO,this);this.L.bind(m.kb,this.Ul,this);this.L.bind(m.Hb,this.wq,this);this.L.bind(m.qa,
this.Wv,this);r.bind(m.D("selected"),this.xta,this);r.bind(m.D("enabled"),this.vq,this);this.cX=new g(this.j,this.Ra,this.hc,this.hc.get("map",null));this.eX=new g(this.j,this.Ra,this.hc,this.hc.get("rollOverMap",this.hc.get("map",null)));this.fX=new g(this.j,this.Ra,this.hc,this.hc.get("selectedMap",this.hc.get("rollOverMap",this.hc.get("map",null))));this.pW=new g(this.j,this.Ra,this.hc,this.hc.get("image",null));this.qW=new g(this.j,this.Ra,this.hc,this.hc.get("rollOverImage",this.hc.get("image",
null)));this.rW=new g(this.j,this.Ra,this.hc,this.hc.get("selectedImage",this.hc.get("rollOverImage",this.hc.get("image",null))));this.ed=this.dd=void 0;this.eJ=null;this.Qu=[];this.ps=[];this.jM=[];this.Oh={};this.Zqa=[];this.Av=!1;this.rea=this.hc.get("useHandCursor");this.aa=null;this.XI=void 0;this.pZ=this.dZ=this.KW=0;q=this.hc.get("areas",[]);for(n=0;n<q.length;n++){r=q[n];var t=r.get("mapColor");t&&(t=t.toLowerCase(),void 0===this.Oh[t]&&(this.Oh[t]=[],this.Zqa.push(t)),this.Oh[t].push(r))}this.ya&&
(this.j.S_(this.Ra.$j(),this.ya),this.j.Kr(this.ya,this.KW));this.Qq&&(this.j.S_(this.Ra.$j(),this.Qq),this.j.Kr(this.Qq,this.dZ));this.Rq&&(this.j.S_(this.Ra.$j(),this.Rq),this.j.Kr(this.Rq,this.pZ));this.HP("none");this.Oda();this.zva(!1);this.Ava(this.hc.get("selected"))});p.prototype.clear=function(){this.L.unbind(m.kc,this.Hf,this);this.L.unbind(m.Xb,this.vO,this);this.L.unbind(m.kb,this.Ul,this);this.L.unbind(m.Hb,this.wq,this);this.L.unbind(m.qa,this.Wv,this);this.L=null;this.cX&&this.cX.clear();
this.cX=null;this.eX&&this.eX.clear();this.eX=null;this.fX&&this.fX.clear();this.fX=null;this.pW&&this.pW.clear();this.pW=null;this.qW&&this.qW.clear();this.qW=null;this.rW&&this.rW.clear();this.rW=null;this.Qu=[];this.oo=!1;this.Oda();this.ps=[];this.jM=[];this.Oh={};this.wwa();this.AQ();this.Ra=this.j=null;this.hc.unbind(m.D("selected"),this.xta,this);this.Rq=this.Qq=this.ya=this.hc=null};p.prototype.match=function(q){return this.hc==q};p.prototype.Gd=function(q){this.EH(!1);this.aa&&(this.aa.Cb(q),
this.KW=this.aa.fb("itemAlpha"),this.dZ=this.aa.fb("rollOverItemAlpha"),this.pZ=this.aa.fb("selectedItemAlpha"),this.ya&&this.j.Kr(this.ya,this.KW),this.Qq&&this.j.Kr(this.Qq,this.dZ),this.Rq&&this.j.Kr(this.Rq,this.pZ),this.aa.Ye()?this.aa=null:this.Oa())};p.prototype.Ul=function(q){this.dd=q.x-this.L.qm();this.ed=q.y-this.L.Gt();this.EH(!0);this.ps=this.Qu.slice()};p.prototype.Hf=function(q){this.dd=q.x-this.L.qm();this.ed=q.y-this.L.Gt();this.EH(!0)};p.prototype.wq=function(q){this.dd=q.x-this.L.qm();
this.ed=q.y-this.L.Gt();this.EH(!0);this.jM=e.intersection(this.ps,this.Qu);this.ps=[]};p.prototype.Wv=function(){this.jM&&(this.wda(this.jM,"click"),this.jM=[])};p.prototype.vO=function(){this.ed=this.dd=void 0;this.EH(!0);this.ps=this.Qu.slice()};p.prototype.xta=function(){this.Ava(this.hc.get("selected"))};p.prototype.vq=function(){this.EH(!0);this.sg();this.Oa()};p.prototype.EH=function(q){this.tqa=!0;q?this.dJ():this.JRa()||this.sXa()};p.prototype.sXa=function(){this.wwa();var q=this;this.eJ=
setTimeout(function(){q.eJ=null;q.dJ()},200)};p.prototype.JRa=function(){return this.eJ?!0:!1};p.prototype.wwa=function(){this.eJ&&(clearTimeout(this.eJ),this.eJ=null)};p.prototype.dJ=function(){if(this.tqa){this.tqa=!1;var q=this.Qu,n=this.XOa();this.Qu=n;this.L.po||(this.wda(e.difference(n,q),"rollOver"),this.zva(0<n.length),this.wda(e.difference(q,n),"rollOut"),this.AQ())}};p.prototype.AQ=function(){for(var q="",n=0;n<this.Qu.length&&!q;n++){var r=this.Qu[n];r.get("toolTip")&&(q=r.get("toolTip"))}this.Sb!=
q&&(this.Sb&&this.j.Y4a(this.Sb),(this.Sb=q)&&this.j.d5a(this.Sb))};p.prototype.Oda=function(){var q=this.oo&&(!1!==this.rea||e(this.Qu).any(function(n){return!0===n.get("useHandCursor")}));this.Av!=q&&((this.Av=q)?this.j.B2(c.ye):this.j.EK(c.ye))};p.prototype.XOa=function(){if(!1===this.hc.get("enabled"))return[];var q=[],n=this.Gv?this.fX:this.oo?this.eX:this.cX;n&&(n=n.GAa(this.dd,this.ed))&&(this.Oh.any&&(q=q.concat(this.Oh.any)),"transparent"==n&&this.Oh.transparent&&(q=q.concat(this.Oh.transparent)),
"transparent"!=n&&(q=this.Oh[n]?q.concat(this.Oh[n]):q.concat(this.Oh[h.P5a(n,this.Zqa)]||[]),this.Oh.image&&(q=q.concat(this.Oh.image))));if(n=this.Gv?this.rW:this.oo?this.qW:this.pW)if(n=n.GAa(this.dd,this.ed))this.Oh.any&&(q=q.concat(this.Oh.any)),"transparent"==n&&this.Oh.transparent&&(q=q.concat(this.Oh.transparent)),"transparent"!=n&&this.Oh.image&&(q=q.concat(this.Oh.image));n=[];for(var r=0;r<q.length;r++){var t=q[r];0>n.indexOf(t)&&n.push(t)}return n};p.prototype.wda=function(q,n){if(q)for(var r=
0;r<q.length;r++)q[r].trigger(new k(n))};p.prototype.zva=function(q){this.oo!=q&&(this.oo=q,this.trigger(new k(p.n4)),this.sg(),this.Oda(),this.Oa())};p.prototype.Ava=function(q){this.Gv!=q&&(this.Gv=q,this.sg(),this.Oa())};p.prototype.sg=function(){!this.oo&&1==this.hc.get("rollOverDisplay")||!1===this.hc.get("enabled")?this.HP("none"):this.Gv?this.HP("selected"):this.oo?this.HP("roll over"):this.HP("visible")};p.prototype.HP=function(q){if(this.XI!=q){this.XI=q;var n;if(e(["selected"]).contains(this.XI)&&
this.Rq){var r=1;q=n=0}else e(["selected","roll over"]).contains(this.XI)&&this.Qq?(n=1,q=r=0):e(["selected","roll over","visible"]).contains(this.XI)?(q=1,r=n=0):q=r=n=0;var t=this.KW,u=this.dZ,v=this.pZ,w=Math.max(200*Math.abs(q-t),200*Math.abs(n-u),200*Math.abs(r-v));this.aa=new d("none"==this.XI?"quad_out":"quad_in",[new f("itemAlpha",t,q),new f("rollOverItemAlpha",u,n),new f("selectedItemAlpha",v,r)],w)}};p.prototype.Oa=function(){this.trigger(new k(p.Gb))};p.Gb="request frame";p.n4="is over update";
return p});define("nj",["require","lE","kj"],function(a){var e=a("lE"),l=a("kj");a=e.extend(l,function(m,k,b,h,g,c,d){l.call(this,l.ila,m,k);this.iRa=b;this.jRa=h;this.MTa=g;this.NTa=c;this.Fc=d;this.CQ=[]});a.prototype.QE=function(){return this.Fc};return a});
define("fO","require lE pf cC gv cO nj".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("cO"),h=a("nj"),g=e.extend(k,function(c,d,f){k.call(this);this.j=c;this.L=this.j.getParent();this.L.bind(l.kb,this.Ul,this,!0);this.L.bind(l.kc,this.Hf,this,!0);this.L.bind(l.Fp,this.vO,this,!0);this.Ra=d;this.Ee=this.Ra.get("width");this.De=this.Ra.get("height");this.rUa=Math.sqrt(this.Ee*this.Ee+this.De*this.De)*this.Ra.get("fieldOfViewOverlayRadiusScale",1);this.ie=this.Ra.$j();this.Wc=
f;this.mI=this.Wc.get("x",0);this.nI=this.Wc.get("y",0);this.oY=this.Wc.get("angle",0);this.ya=this.kNa();this.Es=!1;this.Ga=0;this.Ta=.5*Math.PI;this.Vd=!1;this.ed=this.dd=void 0;this.j.S_(this.Ra.$j(),this.ya)});g.prototype.CFa=function(c,d){this.Ga=c+this.oY-90;this.Ta=d;this.Oa()};g.prototype.clear=function(){this.L.unbind(l.kb,this.Ul,this);this.L.unbind(l.kc,this.Hf,this);this.L.unbind(l.Fp,this.vO,this);this.L=null;this.j.n5a(this.Ra.$j(),this.ya);this.ya=this.Wc=this.ie=this.Ra=this.j=null};
g.prototype.Gd=function(){this.j.J6a(this.ya,this.Ga,this.Ta)};g.prototype.kNa=function(){return new h(this.mI,this.nI,this.Ra.get("fieldOfViewOverlayInsideColor","#FFFFFF"),this.Ra.get("fieldOfViewOverlayInsideOpacity",0),this.Ra.get("fieldOfViewOverlayOutsideColor","#000000"),this.Ra.get("fieldOfViewOverlayOutsideOpacity",0),this.Ra.get("fieldOfViewOverlayRadiusScale",1))};g.prototype.Oa=function(){this.trigger(new m(g.Gb))};g.prototype.Sda=function(){var c=!1;if(void 0!=this.dd&&void 0!=this.ed){var d=
.5*this.j.Xa(),f=.5*this.j.yb(),p=this.j.S0(this.ie)*Math.PI/180,q=this.j.CR(this.ie),n=this.j.BR(this.ie),r=this.j.DR(this.ie),t=this.j.ER(this.ie);c=new b(this.dd,this.ed);c.translate(-d,-f);c.rotate(-p);c.scale(1/q,1/n);c.translate(r,t);c.scale(this.Ee,this.De);c.translate(-this.mI,-this.nI);c.rotate(-this.Ga*Math.PI/180);d=Math.round(180*Math.atan2(c.y,c.x)/Math.PI);c=Math.round(Math.sqrt(c.x*c.x+c.y*c.y))<=this.rUa&&Math.abs(d)<.5*this.Ta}this.Es!=c&&(this.Es=c,this.trigger(new m(g.W4,{inFOV:this.Es})))};
g.prototype.e3a=function(){return this.Es};g.prototype.Ul=function(c){this.dd=c.x;this.ed=c.y;this.Vd=!0;this.Sda()};g.prototype.Hf=function(c){this.Vd||(this.dd=c.x,this.ed=c.y,this.Sda())};g.prototype.vO=function(){this.ed=this.dd=void 0;this.Vd=!1;this.Sda()};g.Gb="request frame";g.W4="mouse in fov change";return g});
define("oR","require en lE cC gv iA lk fO".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("cC"),k=a("gv"),b=a("iA"),h=a("lk"),g=a("fO"),c=l.extend(k,function(d){k.call(this);this.j=d;this.LN=[];this.Dv=[];this.an=[];this.un=this.Wc=null});c.prototype.clear=function(){for(var d=0;d<this.Dv.length;d++)this.Dv[d].clear();for(d=0;d<this.an.length;d++)this.an[d].clear();this.j=this.LN=this.Wc=this.an=this.Dv=null};c.prototype.mR=function(d){d.$R()&&this.nKa(d.Ra)};c.prototype.vga=function(d){d.$R()&&
this.KUa(d.Ra)};c.prototype.zx=function(d){this.Wc!=d&&(this.Wc&&this.Uba(this.Wc.get("map")),this.Wc=d,this.un=null,this.Wc&&(d=this.Wc.get("map"),this.i$(d)&&this.fma(d)))};c.prototype.op=function(d,f,p,q){this.un={yaw:f,pitch:p,hfov:q};for(p=0;p<this.an.length;p++){var n=this.an[p];if(n.Wc==d){n.CFa(f,q);break}}};c.prototype.nKa=function(d){this.i$(d)&&(this.Jua(d),this.Uba(d));this.LN.push(d);this.fKa(d);this.fma(d)};c.prototype.KUa=function(d){var f=this.LN.indexOf(d);0<=f&&this.LN.splice(f,
1);this.i$(d)||(this.Jua(d),this.Uba(d))};c.prototype.i$=function(d){return 0<=e(this.LN).indexOf(d)};c.prototype.Gd=function(d){for(var f=0;f<this.Dv.length;f++)this.Dv[f].Gd(d);for(f=0;f<this.an.length;f++)this.an[f].Gd(d)};c.prototype.fKa=function(d){for(var f=d.get("overlays",[]),p=0;p<f.length;p++){var q=f[p];q instanceof b&&(q=new h(this.j,d,q),q.bind(h.Gb,this.Oa,this,!0),q.bind(h.n4,this.Fqa,this,!0),this.Dv.push(q))}};c.prototype.fma=function(d){this.Wc&&this.Wc.get("map")==d&&!1!==this.Wc.get("visible")&&
(d=new g(this.j,d,this.Wc),d.bind(g.Gb,this.Oa,this,!0),d.bind(g.W4,this.GX,this,!0),this.an.push(d),this.un&&d.CFa(this.un.yaw,this.un.hfov));this.GX()};c.prototype.Jua=function(d){d=d.get("overlays",[]);for(var f=0;f<d.length;f++)for(var p=d[f],q=0;q<this.Dv.length;q++){var n=this.Dv[q];if(n.match(p)){n.unbind(h.Gb,this.Oa,this);n.unbind(h.n4,this.Fqa,this);n.clear();this.Dv.splice(q,1);break}}};c.prototype.Uba=function(d){for(var f=0;f<this.an.length;f++){var p=this.an[f];if(p.Ra==d){p.unbind(g.Gb,
this.Oa,this);p.unbind(g.W4,this.GX,this);p.clear();this.an.splice(f,1);break}}this.GX()};c.prototype.Fqa=function(){};c.prototype.Oa=function(){this.trigger(new m(c.Gb))};c.prototype.GX=function(){for(var d=!1,f=0;f<this.an.length;f++)this.an[f].e3a()&&(d=!0);this.trigger(new m(c.m4,{inFOV:d}))};c.Gb="request frame";c.m4="in fov change";return c});
define("kO","require lE pf cC gv ko cO".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("ko"),h=a("cO"),g=e.extend(k,function(c){k.call(this);this.j=c;this.L=this.j.getParent();this.L.bind(l.kc,this.Hf,this,!0);this.L.bind(l.kb,this.Ul,this,!0);this.L.bind(l.Hb,this.wq,this,!0);this.Ra=null;this.ie=this.De=this.Ee=void 0;this.Wc=null;this.oY=this.nI=this.mI=void 0;this.Es=!1;this.ed=this.dd=this.pn=void 0;this.Vd=!1;this.Ga=0});g.prototype.clear=function(){this.L.unbind(l.kc,
this.Hf,this);this.L.unbind(l.kb,this.Ul,this);this.L.unbind(l.Hb,this.wq,this);this.j=this.Wc=this.ie=this.Ra=this.L=null};g.prototype.VS=function(c){this.Es=c;this.Kda()};g.prototype.mR=function(c){c.$R()&&this.Dva(c.Ra)};g.prototype.vga=function(c){c.$R()&&this.Ra==c.Ra&&this.Dva(null)};g.prototype.Dva=function(c){this.Ra!=c&&((this.Ra=c)?(this.Ee=this.Ra.get("width"),this.De=this.Ra.get("height"),this.ie=this.Ra.$j()):(this.De=this.Ee=void 0,this.ie=null))};g.prototype.zx=function(c){this.Wc!=
c&&((this.Wc=c)?(this.mI=this.Wc.get("x",0),this.nI=this.Wc.get("y",0),this.oY=this.Wc.get("angle",0)):this.oY=this.nI=this.mI=void 0)};g.prototype.op=function(c,d){this.Wc==c&&(this.Ga=d)};g.prototype.Lr=function(c){this.pn=c};g.prototype.Ul=function(c){this.dd=c.x;this.ed=c.y;this.Vd=!0;this.Kda()};g.prototype.Hf=function(c){this.dd=c.x;this.ed=c.y;this.xi&&(c=this.Ipa(),this.trigger(new m(g.pi,{yawDelta:c-this.hd})),this.hd=c)};g.prototype.wq=function(c){this.dd=c.x;this.ed=c.y;this.Vd=!1;this.Kda()};
g.prototype.Kda=function(){var c=this.Vd&&this.Wc&&this.Ra&&(this.pn==b.n5||this.Es);this.xi!=c&&(this.xi=c)&&(this.hd=this.Ipa())};g.prototype.Ipa=function(){var c=.5*this.j.Xa(),d=.5*this.j.yb(),f=new h(this.dd,this.ed);f.translate(-c,-d);if(this.pn==b.n5)return 180*-Math.atan2(f.y,f.x)/Math.PI;c=this.j.S0(this.ie)*Math.PI/180;d=this.j.CR(this.ie);var p=this.j.BR(this.ie),q=this.j.DR(this.ie),n=this.j.ER(this.ie);f.rotate(-c);f.scale(1/d,1/p);f.translate(q,n);f.scale(this.Ee,this.De);f.translate(-this.mI,
-this.nI);return 180*Math.atan2(f.y,f.x)/Math.PI};g.pi="request yaw change";return g});
define("nc",["require","lE","cC","gv","bi"],function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("bi"),b=e.extend(m,function(h){m.call(this);this.T=!0;this.EC=!1;this.j=h});b.prototype.clear=function(){this.T=!1;this.j=null};b.prototype.requestFrame=function(){this.EC||(this.EC=!0,k.requestFrame(this.Qj,this))};b.prototype.Qj=function(h){this.T&&(this.EC=!1,this.trigger(new l(b.yp,{frameTime:h})),this.trigger(new l(b.zp,{frameTime:h})),this.j.render())};b.yp="frameStart";b.zp="positionSet";return b});
define("dD","require lE pf cC gv oo ka jh oR kO nc".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("oo"),h=a("ka"),g=a("jh"),c=a("oR"),d=a("kO"),f=a("nc"),p=e.extend(k,function(q,n){k.call(this);this.L=q;this.j=n;this.j.set("visible",!1);this.uY=null;this.qg=new f(this.j);this.he=new g(this.j);this.La=new h(this.L,this.j);this.eb=new b(this.j);this.Eq=new c(this.j);this.Os=new d(this.j);this.L.bind(l.bd,this.gY,this,!0);this.qg.bind(f.yp,this.xz,this,!0);this.qg.bind(f.zp,
this.yz,this,!0);this.he.bind(g.PT,this.rO,this);this.he.bind(g.t4,this.ysa,this);this.he.bind(g.NT,this.zsa,this);this.La.bind(h.Gb,this.Se,this,!0);this.La.bind(h.r4,this.wsa,this,!0);this.La.bind(h.OT,this.Asa,this,!0);this.La.bind(h.s4,this.xsa,this,!0);this.La.bind(h.lB,this.Tv,this,!0);this.La.bind(h.mB,this.sz,this,!0);this.La.bind(h.c4,this.Kra,this,!0);this.eb.bind(b.Gb,this.Se,this,!0);this.eb.bind(b.jk,this.xq,this);this.Eq.bind(c.Gb,this.Se,this,!0);this.Eq.bind(c.m4,this.msa,this,!0);
this.Os.bind(d.pi,this.HO,this,!0);this.Coa=!1});p.prototype.Lr=function(q){this.eb.Lr(q);this.La.Lr(q);this.Os.Lr(q)};p.prototype.clear=function(){this.Coa=!0;this.he.clear();this.qg.clear();this.eb.clear();this.La.clear();this.Eq.clear();this.Os.clear();this.L.unbind(l.bd,this.gY,this);this.he.unbind(g.PT,this.rO,this);this.he.unbind(g.t4,this.ysa,this);this.he.unbind(g.NT,this.zsa,this);this.qg.unbind(f.yp,this.xz,this);this.qg.unbind(f.zp,this.yz,this);this.La.unbind(h.Gb,this.Se,this);this.La.unbind(h.r4,
this.wsa,this);this.La.unbind(h.OT,this.Asa,this);this.La.unbind(h.s4,this.xsa,this);this.La.unbind(h.lB,this.Tv,this);this.La.unbind(h.mB,this.sz,this);this.La.unbind(h.c4,this.Kra,this);this.eb.unbind(b.hIa,this.Se,this);this.eb.unbind(b.jk,this.xq,this);this.Eq.unbind(c.Gb,this.Se,this);this.Eq.unbind(c.m4,this.msa,this);this.Os.unbind(d.pi,this.HO,this);this.L=this.j=this.Os=this.Eq=this.La=this.eb=this.qg=this.he=null};p.prototype.gY=function(){this.uY&&(this.vFa(this.uY),this.uY=null)};p.prototype.vFa=
function(q){this.j.set("visible",!0);this.L.fz?this.he.lCa(q):(this.he.stop(),this.eb.stop(),this.La.hide(),this.uY=q)};p.prototype.tx=function(){this.he.stop();this.eb.stop();this.La.hide()};p.prototype.dk=function(q){this.eb.dk(q)};p.prototype.zx=function(q){this.Coa||(this.eb.zx(q),this.Eq.zx(q),this.Os.zx(q))};p.prototype.op=function(q,n,r,t){this.eb.op(q,n,r,t);this.Eq.op(q,n,r,t);this.Os.op(q,n,r,t)};p.prototype.zsa=function(q){var n=q.data.level;q=(q.data.percent+100*n.getIndex())/n.pAa();
this.trigger(new m(p.ku,{percent:q}))};p.prototype.ysa=function(q){this.j.set("visible",!0);q=q.data.level;this.eb.stop();this.La.mR(q)};p.prototype.rO=function(){this.trigger(new m(p.kB))};p.prototype.Se=function(){this.qg.requestFrame()};p.prototype.xz=function(q){this.eb.ox(q.data.frameTime)};p.prototype.yz=function(q){q=q.data.frameTime;this.La.Gd(q);this.eb.Gd(q);this.Eq.Gd(q)};p.prototype.wsa=function(q){q=q.data.level;this.Eq.mR(q);this.Os.mR(q)};p.prototype.Asa=function(q){q=q.data.level;
this.Eq.vga(q);this.Os.vga(q)};p.prototype.xsa=function(q){q=q.data.level;q.$R()&&this.eb.start(q)};p.prototype.Kra=function(){this.j.set("visible",!1)};p.prototype.msa=function(q){q=q.data.inFOV;this.eb.VS(q);this.Os.VS(q)};p.prototype.sz=function(q){this.trigger(new m(p.mB,{map:q.data.map}))};p.prototype.Tv=function(q){this.trigger(new m(p.lB,{map:q.data.map}))};p.prototype.xq=function(q){this.trigger(new m(p.jk,q.data))};p.prototype.HO=function(q){this.trigger(new m(p.pi,{yawDelta:q.data.yawDelta}))};
p.jk="movementChange";p.kB="loadingEnd";p.ku="loadingProgress";p.mB="mapShow";p.lB="mapHide";p.pi="requestYawChange";return p});define("la",["require","ik"],function(a){function e(){this.status=e.YT;this.progress=this.uj=0;this.Qha=[]}a("ik");e.LOADING="loading";e.Z="loaded";e.YT="not loaded";return e});
define("lB","require en lE cC pf gY la".split(" "),function(a){function e(){this.Eoa={};this.ge=[];this.oz=[];this.wd={}}var l=a("en"),m=a("lE");a("cC");var k=a("pf"),b=a("gY"),h=a("la");e.prototype.q3=function(g){g=g.Nt();for(var c=0,d=g.length;c<d;c++)if(this.UM(g[c]).status!=h.Z)return!1;return!0};e.prototype.Ln=function(g,c){this.ge.push(g);this.iKa(g,c)};e.prototype.wj=function(g,c){var d=l(this.ge).indexOf(g);0>d&&m.log("Unloading item not loaded");this.ge.splice(d,1);this.HUa(g,c)};e.prototype.wf=
function(g,c){return this.wd[g].wf(c)};e.prototype.iKa=function(g,c){this.oz.push(g);g=g.Nt();for(var d=0,f=g.length;d<f;d++){var p=g[d],q=this.UM(p);q.uj++;q.Qha.push(c);q.status==h.YT&&(q.status=h.LOADING,this.$Ra(p,Math.min.apply(Math,q.Qha)))}this.zxa()};e.prototype.HUa=function(g,c){this.oz=l(this.oz).without(g);g=g.Nt();for(var d=0,f=g.length;d<f;d++){var p=g[d],q=this.UM(p);q.uj--;var n=q.Qha,r=n.indexOf(c);0<=r&&n.splice(r,1);0==q.uj&&q.status!=h.YT&&(q.status=h.YT,q.progress=0,this.DYa(p))}};
e.prototype.zxa=function(g){g=(void 0==g?this.oz:this.Gpa(g)).slice();for(var c=0;c<g.length;c++){for(var d=g[c],f=d.Nt(),p=0,q=0,n=f.length,r=0;r<f.length;r++){var t=this.UM(f[r]);p+=t.progress;t.status==h.Z&&q++}d.T6a(p/n);q==n&&(d.$S(),this.oz=l(this.oz).without(d))}};e.prototype.UM=function(g){var c=this.Eoa[g];c||(this.Eoa[g]=c=new h);return c};e.prototype.Gpa=function(g){for(var c=[],d=0;d<this.oz.length;d++){var f=this.oz[d];l(f.Nt()).contains(g)&&c.push(f)}return c};e.prototype.$Ra=function(g,
c){c=new b(c);this.wd[g]=c;c.bind(k.Z,this.sO,this,!0);c.bind(k.xc,this.tO,this,!0);c.load(g)};e.prototype.DYa=function(g){var c=this.wd[g];delete this.wd[g];c.unbind(k.Z,this.sO,this);c.unbind(k.xc,this.tO,this);c.cancel()};e.prototype.sO=function(g){g=g.source.Pi();var c=this.UM(g);c.progress=100;c.status=h.Z;this.zxa(g)};e.prototype.tO=function(g){g=g.source.Pi();for(var c=this.Gpa(g),d=0;d<c.length;d++){var f=c[d];this.wj(f);f.p6a()}m.log("Error loading: "+g)};return e.instance=new e});
define("hM",["require","jquery.mod","v"],function(a){function e(m,k){this.ya=m;this.oa=k;this.FN=0;this.Zs=this.Ys=.5;this.Nk=0;this.Rb=1;this.Uq=this.Kv=this.wa=this.na=0;this.Fc=1;this.DW=this.FW=!0;this.ta=l("<canvas/>");this.R=this.ta.get(0);this.za=this.R.getContext("2d")}var l=a("jquery.mod");a=a("v");e.prototype.getItem=function(){return this.ya};e.prototype.qR=function(m){return this.ya==m?this:null};e.prototype.B0=function(m){return this.ya==m?[this]:[]};e.prototype.Ah=function(){this.oa&&
this.oa.ifa(this)};e.prototype.Ze=function(m){this.lWa(m)};e.prototype.Bva=function(m){this.FN!=m&&(this.FN=m,this.oa&&this.oa.l1())};e.prototype.lWa=function(m){this.Rb!=m&&(this.Rb=m,this.j1())};e.prototype.xZ=function(m){this.Nk!=m&&(this.Nk=m,this.j1())};e.prototype.GP=function(m,k){if(this.na!=m||this.wa!=k)this.na=m,this.wa=k,this.g1()};e.prototype.dm=function(m,k){if(this.Kv!=m||this.Uq!=k)this.Kv=m,this.Uq=k,this.j1()};e.prototype.j1=function(){this.oa&&this.oa.h1()};e.prototype.pe=function(){this.FW=
!0};e.prototype.Za=function(){this.FW&&(this.FW=!1,this.$g())};e.prototype.$g=function(){};e.prototype.g1=function(){this.DW=!0;this.j1()};e.prototype.x3=function(){if(this.DW){this.DW=!1;if(this.R.width!=this.na||this.R.height!=this.wa)this.R.width=Math.round(this.na),this.R.height=Math.round(this.wa);this.za.clearRect(0,0,this.R.width,this.R.height);this.rg()}};e.prototype.rg=function(){};e.prototype.Y0a=function(m){if(0<this.Rb&&1<=this.na&&1<=this.wa){m.save();var k=Math.round(this.Kv),b=Math.round(this.Uq),
h=Math.round(this.na*this.Ys),g=Math.round(this.wa*this.Zs);m.scale(this.Fc,this.Fc);m.translate(k+h,b+g);m.rotate(this.Nk*Math.PI/180);m.globalAlpha=this.Rb;m.drawImage(this.R,-h,-g);m.restore()}};e.prototype.J0=function(){this.R.width=this.R.height=1;this.FW=this.DW=!0};e.fka=window.devicePixelRatio||1;e.ck=e.fka;e.BIa=a.td()==a.ri?16E6:256E6;return e});
define("nb",["require","en","lE","hM"],function(a){var e=a("en"),l=a("lE"),m=a("hM");a=l.extend(m,function(k,b){m.call(this,k,b);this.sc=[];this.Q_=null;this.Lw=!0});a.prototype.wya=function(k){k=this.k7(k);if(!k)throw"Container renderer can't create child renderer for an item";this.sc.push(k);this.l1();this.h1()};a.prototype.k7=function(){};a.prototype.tEa=function(k){if(k=this.Ct(k))this.sc=e.without(this.sc,k),this.l1(),this.h1()};a.prototype.qR=function(k){for(var b=m.prototype.qR.call(this,k),
h=0;h<this.sc.length&&!b;h++)b=this.sc[h].qR(k);return b};a.prototype.B0=function(k){for(var b=m.prototype.B0.call(this,k),h=0;h<this.sc.length;h++)b=b.concat(this.sc[h].B0(k));return b};a.prototype.Ct=function(k){for(var b=null,h=0;h<this.sc.length&&!b;h++)this.sc[h].getItem()==k&&(b=this.sc[h]);for(h=0;h<this.sc.length&&!b;h++)this.sc[h].getItem().R2a(k)&&(b=this.sc[h]);return b};a.prototype.ifa=function(k){this.sc=e.without(this.sc,k);this.sc.push(k);this.l1();this.h1()};a.prototype.l1=function(){this.Lw=
!0;this.pe()};a.prototype.h1=function(){this.g1()};a.prototype.Za=function(){m.prototype.Za.call(this);for(var k=0;k<this.sc.length;k++)this.sc[k].Za()};a.prototype.$g=function(){if(this.Lw){this.Lw=!1;for(var k=[],b=0;b<this.sc.length;b++){var h=this.sc[b];k.push({l:h.FN,z:b,r:h})}k.sort(function(g,c){return g.l==c.l?g.z-c.z:g.l-c.l});this.Q_=[];for(b=0;b<k.length;b++)this.Q_.push(k[b].r);this.g1()}m.prototype.$g.call(this)};a.prototype.x3=function(){for(var k=0;k<this.sc.length;k++)this.sc[k].x3();
m.prototype.x3.call(this)};a.prototype.rg=function(){for(var k=0;k<this.Q_.length;k++)this.Q_[k].Y0a(this.za);m.prototype.rg.call(this)};a.prototype.J0=function(){for(var k=0;k<this.sc.length;k++)this.sc[k].J0();m.prototype.J0.call(this)};return a});define("P",["require","lE","hM"],function(a){var e=a("lE"),l=a("hM");a=e.extend(l,function(m,k){l.call(this,m,k)});a.prototype.M2=function(){};return a});
define("iS",["require","lE","P","v"],function(a){var e=a("lE"),l=a("P"),m=a("v");a=e.extend(l,function(k,b){l.call(this,k,b);this.tY=this.oa.getItem().He();this.sY=this.oa.getItem().Xe();this.Fc=2;this.gH=0;this.Ta=.5*Math.PI;this.c$=this.d$=!0;this.Ml=1;this.EW=!0;this.Bva(1)});a.prototype.M2=function(k,b){this.Ml!=b&&(this.Ml=b,this.EW=!0,this.pe())};a.prototype.kFa=function(k,b){this.Ta!=b&&(this.Ta=b,this.d$=!0,this.pe());this.gH!=k&&(this.gH=k,this.c$=!0,this.pe())};a.prototype.$g=function(){this.d$&&
(this.d$=!1,this.g1());if(this.EW||this.c$){this.c$=this.EW=!1;this.Fc=Math.max(1,Math.ceil(Math.sqrt(this.tY*this.tY+this.sY*this.sY))/(m.td()==m.ri?1024:4096));var k=this.Ml/this.Fc,b=this.ya.getX()*k,h=this.ya.getY()*k,g=Math.max(b,k*this.tY-b);k=Math.max(h,k*this.sY-h);g=2*Math.ceil(Math.sqrt(g*g+k*k));var c=this.gH*Math.PI/180;k=Math.cos(c);c=Math.sin(c);b=b-this.Ys*g-(.5-this.Ys)*g*k+(.5-this.Zs)*g*c;h=h-this.Zs*g-(.5-this.Zs)*g*k-(.5-this.Ys)*g*c;this.EW=!1;this.dm(b,h);this.GP(g,g);this.xZ(this.gH)}l.prototype.$g.call(this)};
a.prototype.rg=function(){var k=this.ya.jRa,b=this.ya.NTa;if(0<b||0<k){var h=this.Ml*this.tY,g=this.Ml*this.sY;h=Math.ceil(Math.sqrt(h*h+g*g))*this.ya.QE()/this.Fc;g=Math.round(.5*this.na);var c=Math.round(.5*this.wa),d=this.Ta*Math.PI/180,f=.5*-d;d=f+d;0<b&&(this.za.fillStyle=this.ya.MTa,this.za.globalAlpha=b,this.za.rect(0,0,this.na,this.wa),this.za.fill(),this.za.globalCompositeOperation="destination-out",this.za.fillStyle="#FFFFFF",this.za.globalAlpha=1,this.za.beginPath(),this.za.moveTo(g,c),
this.za.arc(g,c,h,f,d,!1),this.za.lineTo(g,c),this.za.closePath(),this.za.fill(),this.za.globalCompositeOperation="source-over");0<k&&(this.za.fillStyle=this.ya.iRa,this.za.globalAlpha=k,this.za.beginPath(),this.za.moveTo(g,c),this.za.arc(g,c,h,f,d,!1),this.za.lineTo(g,c),this.za.closePath(),this.za.fill())}l.prototype.rg.call(this)};return a});
define("j","require lE hM P lB mV".split(" "),function(a){var e=a("lE"),l=a("hM"),m=a("P"),k=a("lB"),b=a("mV");a=e.extend(m,function(h,g){m.call(this,h,g);this.Bva(this.ya.cva?0:2);this.ac=k.wf(this.ya.Pi());this.jZ=new b(this.ac,this.ac.width,this.ac.height);this.jZ.VA(this.ya.Jf);this.jZ.XK(this.ya.mm);this.jZ.OK(this.ya.Gl);this.JN=0;this.Ml=1;this.Q$=!0});a.prototype.M2=function(h,g){if(this.JN!=h||this.Ml!=g)this.JN=h,this.Ml=g,this.Q$=!0,this.pe()};a.prototype.$g=function(){if(this.Q$){this.Q$=
!1;var h=this.ya.getX(),g=this.ya.getY(),c=this.ya.He(),d=this.ya.Xe(),f=this.ya.Pv,p=this.ya.Qv;if(this.ya.cva)this.xZ(0),this.dm((h-f)*this.Ml,(g-p)*this.Ml),this.GP(c*this.Ml,d*this.Ml);else{c*=l.ck;d*=l.ck;f*=l.ck;p*=l.ck;var q=Math.cos(-this.JN*Math.PI/180),n=Math.sin(-this.JN*Math.PI/180);h=h*this.Ml-this.Ys*c-(f-this.Ys*c)*q+(p-this.Zs*d)*n;g=g*this.Ml-this.Zs*d-(p-this.Zs*d)*q-(f-this.Ys*c)*n;this.xZ(-this.JN);this.dm(h,g);this.GP(c,d)}}m.prototype.$g.call(this)};a.prototype.rg=function(){this.jZ.MJ(this.za,
this.R.width,this.R.height);m.prototype.rg.call(this)};return a});
define("ix","require lE mu lB dB kj iS j nb".split(" "),function(a){var e=a("lE"),l=a("mu"),m=a("lB"),k=a("dB"),b=a("kj"),h=a("iS"),g=a("j"),c=a("nb");a=e.extend(c,function(d,f){c.call(this,d,f,d.xo);this.Jb=this.ya.He();this.Yb=this.ya.Xe();this.Jf=this.ya.Jf;this.MV=this.ya.u8;this.Kd=this.Cd=100;this.Z6=!0;this.Na=this.Ka=.5;this.hd=0;this.ib=1;this.cP=!0;this.rf=1;this.ac=m.wf(this.ya.Pi())});a.prototype.k7=function(d){if(d.getType()!=k.mla)throw"Invalid item type";switch(d.PTa){case b.ila:d=
new h(d,this);break;case b.jla:d=new g(d,this);break;default:d=null}d&&d.M2(this.hd,this.rf*this.ib);return d};a.prototype.getX=function(){return this.Ka};a.prototype.getY=function(){return this.Na};a.prototype.XJ=function(){return this.hd};a.prototype.sr=function(){return this.ib};a.prototype.Xa=function(){return Math.round(this.Jb*this.ib*this.rf)};a.prototype.yb=function(){return Math.round(this.Yb*this.ib*this.rf)};a.prototype.wF=function(d,f){if(this.Cd!=d||this.Kd!=f)this.Cd=d,this.Kd=f,this.Z6=
!0,this.pe()};a.prototype.setPosition=function(d,f,p,q){if(this.Ka!=d||this.Na!=f||this.hd!=p||this.ib!=q)this.Ka=d,this.Na=f,this.hd=p,this.ib=q,this.cP=!0,this.pe()};a.prototype.$g=function(){if(this.Z6){this.Z6=!1;switch(this.Jf){case l.NONE:this.rf=1;break;case l.Cp:this.rf=this.Cd/this.Jb;break;case l.kk:this.rf=this.Kd/this.Yb;break;case l.Ur:this.rf=this.Jb*this.Kd>this.Yb*this.Cd?this.Kd/this.Yb:this.Cd/this.Jb;break;default:this.rf=this.Jb*this.Kd>this.Yb*this.Cd?this.Cd/this.Jb:this.Kd/
this.Yb}this.cP=!0}if(this.cP){this.cP=!1;var d=this.Xa(),f=this.yb(),p=Math.cos(this.hd*Math.PI/180),q=Math.sin(this.hd*Math.PI/180);this.dm(.5*this.Cd-this.Ys*d+(this.Ys-this.Ka)*p*d-(this.Zs-this.Na)*q*f,.5*this.Kd-this.Zs*f+(this.Zs-this.Na)*p*f+(this.Ys-this.Ka)*q*d);this.xZ(this.hd);this.GP(d,f);for(d=0;d<this.sc.length;d++)this.sc[d].M2(this.hd,this.rf*this.ib)}c.prototype.$g.call(this)};a.prototype.rg=function(){var d=Math.round(this.na),f=Math.round(this.wa);this.MV?(this.za.save(),this.za.translate(d,
0),this.za.scale(-1,1),this.za.drawImage(this.ac,0,0,d,f),this.za.restore()):this.za.drawImage(this.ac,0,0,d,f);c.prototype.rg.call(this)};return a});
define("hf","require en lE dB nb ix".split(" "),function(a){a("en");var e=a("lE"),l=a("dB"),m=a("nb"),k=a("ix");a=e.extend(m,function(){m.call(this,null,null);this.L6=!0});a.prototype.Yc=function(){return this.ta};a.prototype.render=function(){this.Za();this.x3()};a.prototype.d2a=function(){for(var b=1,h=0;h<this.sc.length;h++){var g=this.sc[h];g=g.Xa()*g.yb();b<g&&(b=g)}return b};a.prototype.k7=function(b){if(b.getType()!=l.lla)throw"Invalid item type";b=new k(b,this);b.wF(this.na,this.wa);b.setPosition(.5,
.5,0,1);return b};a.prototype.setSize=function(b,h){this.GP(b,h);this.L6=!0;this.pe()};a.prototype.$g=function(){if(this.L6){this.L6=!1;for(var b=0;b<this.sc.length;b++)this.sc[b].wF(this.na,this.wa)}m.prototype.$g.call(this)};return a});
define("kM","require en lE pf ik lB hM hf oA bd e".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("ik"),b=a("lB"),h=a("hM"),g=a("hf"),c=a("oA"),d=a("bd"),f=a("e");a=l.extend(f,function(){f.call(this);this.Fe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",d.pu);this.Ny=[];this.fE=[];this.Sb="";this.uh=new g;this.Pb().append(this.uh.Yc());this.bind(m.oc,this.Bc,this,!0);this.bind(m.bd,this.ij,this,!0);this.bind(m.Tc,this.hj,this,!0);c.P.bind(m.ca,this.cea,this,!0);this.OD=
this.$ba=!1});a.prototype.Ln=function(p){b.Ln(p,k.ol)};a.prototype.q3=function(p){return b.q3(p)};a.prototype.wj=function(p){b.wj(p,k.ol)};a.prototype.Uea=function(p){this.uh.wya(p)};a.prototype.removeItem=function(p){this.uh.tEa(p)};a.prototype.S_=function(p,q){this.uh.Ct(p).wya(q);this.$da()};a.prototype.n5a=function(p,q){(p=this.uh.Ct(p))&&p.tEa(q)};a.prototype.jfa=function(p){this.uh.qR(p).Ah()};a.prototype.Kr=function(p,q){this.uh.B0(p).forEach(function(n){n.Ze(q)})};a.prototype.XS=function(p,
q,n,r,t){this.uh.Ct(p).setPosition(q,n,r,t);this.$da()};a.prototype.$da=function(){var p=this.uh.d2a();p&&(h.ck=Math.min(h.fka,h.ck*Math.sqrt(h.BIa/p)),this.Axa())};a.prototype.J6a=function(p,q,n){this.uh.qR(p).kFa(q,n)};a.prototype.DR=function(p){return this.uh.Ct(p).getX()};a.prototype.ER=function(p){return this.uh.Ct(p).getY()};a.prototype.S0=function(p){return this.uh.Ct(p).XJ()};a.prototype.DAa=function(p){return this.uh.Ct(p).sr()};a.prototype.CR=function(p){return this.uh.Ct(p).Xa()/h.ck};
a.prototype.BR=function(p){return this.uh.Ct(p).yb()/h.ck};a.prototype.render=function(){this.OD&&this.uh.render()};a.prototype.B2=function(p){this.Ny.push(p);this.qxa()};a.prototype.EK=function(p){p=e(this.Ny).lastIndexOf(p);0<=p&&this.Ny.splice(p,1);this.qxa()};a.prototype.qxa=function(){var p=0<this.Ny.length?this.Ny[this.Ny.length-1]:d.xe;this.getParent().set("cursor",p)};a.prototype.dV=function(){0<this.Ny.length&&(this.getParent().set("cursor",d.xe),this.Ny=[])};a.prototype.d5a=function(p){this.fE.push(p);
this.AQ()};a.prototype.Y4a=function(p){p=e(this.fE).lastIndexOf(p);0<=p&&this.fE.splice(p,1);this.AQ()};a.prototype.AQ=function(){var p=0==this.fE.length?"":this.fE[this.fE.length-1]||"";this.Sb!=p&&(this.Sb=p,this.getParent().set("toolTip",this.Sb))};a.prototype.pMa=function(){this.Sb&&this.getParent().set("toolTip","");this.Sb="";this.fE=[]};a.prototype.zn=function(){this.pMa();this.dV();f.prototype.zn.call(this)};a.prototype.Bc=function(){this.Axa();this.$da()};a.prototype.Axa=function(){this.uh.Yc().css({transform:1!=
h.ck?"scale("+(1/h.ck).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.uh.setSize(this.Xa()*h.ck,this.yb()*h.ck);this.render()};a.prototype.ij=function(){this.$ba=!0;this.cea()};a.prototype.hj=function(){this.$ba=!1;this.cea()};a.prototype.cea=function(){var p=this.$ba&&!c.isPresenting;this.OD!=p&&((this.OD=p)?(this.Bc(),this.render()):this.uh.J0())};return a});
define("Q","require lE cC nU jX dh dD jW kM pf ek gW".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nU"),k=a("jX"),b=a("dh"),h=a("dD"),g=a("jW"),c=a("kM"),d=a("pf"),f=a("ek"),p=a("gW"),q=m.define("MapPlayer",b,function(){b.call(this,"map");this.tX=this.P$=this.fi=!1;this.un=this.Wc=this.M=this.j=null;this.yy={};for(var n in q.Ku)this.yy[n]=this.PMa(n);this.Dd=e.ip(this.$g,this)});q.prototype.stop=function(){this.Oc(g.Qf)};q.prototype.rotateClockwise=function(){this.Oc(g.g5)};q.prototype.rotateCounterClockwise=
function(){this.Oc(g.h5)};q.prototype.zoomIn=function(){this.Oc(g.Iu)};q.prototype.zoomOut=function(){this.Oc(g.Ju)};q.prototype.set=function(n,r){if(this.get(n)!=r){switch(n){case "map":this.P$=!0;this.Dd();break;case "viewerArea":this.fi=!0;this.Dd();break;case "panoramaMapLocation":this.cba=!0;this.Dd();break;case "movementMode":this.tX=!0,this.Dd()}b.prototype.set.call(this,n,r)}};q.prototype.PMa=function(n){var r=q.Ku[n];n=new k(this,n,f.ze);n.bind(d.kb,function(){this.Oc(r.movement)},this);
r.stopOnRelease&&n.bind(d.Hb,function(){this.Oc(g.Qf)},this);return n};q.prototype.z_a=function(n){this.un=null;this.set("map",n.get("map"));this.set("panoramaMapLocation",n)};q.prototype.w5a=function(n){this.get("panoramaMapLocation")==n&&(this.set("panoramaMapLocation",null),this.un=null)};q.prototype.op=function(n,r,t,u){this.M&&this.M.op(n,r,t,u);this.un={yaw:r,pitch:t,hfov:u}};q.prototype.$g=function(){this.fi&&(this.fi=!1,this.jv(),this.get("viewerArea")&&this.gv(),this.IP(this.get("viewerArea")));
if(this.M){if(this.P$){this.P$=!1;var n=this.get("map");n?(this.sF(),this.M.vFa(n)):this.M.tx();this.cba=this.tX=!0}this.cba&&(this.cba=!1,n=this.get("panoramaMapLocation"),this.M.zx(n),n&&this.un&&this.M.op(n,this.un.yaw,this.un.pitch,this.un.hfov));this.tX&&(this.tX=!1,this.M.Lr(this.get("movementMode")))}};q.prototype.YI=function(){this.set("map",null)};q.prototype.gv=function(){var n=this.get("viewerArea");this.j=new c;this.j.ma({left:0,top:0,bottom:0,right:0});n.Wa(this.j);this.M=new h(n,this.j);
this.M.bind(h.jk,this.xq,this);this.M.bind(h.ku,this.Di,this);this.M.bind(h.kB,this.cI,this);this.M.bind(h.mB,this.sz,this);this.M.bind(h.lB,this.Tv,this);this.M.bind(h.pi,this.HO,this,!0)};q.prototype.jv=function(){this.j&&(this.M.unbind(h.jk,this.xq,this),this.M.unbind(h.ku,this.Di,this),this.M.unbind(h.kB,this.cI,this),this.M.unbind(h.mB,this.sz,this),this.M.unbind(h.lB,this.Tv,this),this.M.unbind(h.pi,this.HO,this),this.M.clear(),this.j.getParent().removeChild(this.j),this.j=null)};q.prototype.sz=
function(n){this.RN(n.data.map)};q.prototype.Tv=function(n){this.QN(n.data.map)};q.prototype.xq=function(n){for(var r in q.Ku)this.yy[r].set("state",n.data[q.Ku[r].pressedOn]?p.xb:p.xe);this.trigger(new l(d.oka,n.data))};q.prototype.HO=function(n){this.trigger(new l(q.pi,{yawDelta:n.data.yawDelta}))};q.prototype.Di=function(n){this.j.getParent().ma({progressPercent:n.data.percent,progressVisible:!0})};q.prototype.cI=function(){this.j.getParent().set("progressVisible",!1)};q.prototype.Oc=function(n){this.M&&
this.M.dk(n)};q.Ku={buttonRotateClockwise:{movement:g.g5,pressedOn:"rotatingClockwise",stopOnRelease:!0},buttonRotateCounterClockwise:{movement:g.h5,pressedOn:"rotatingCounterClockwise",stopOnRelease:!0},buttonZoomIn:{movement:g.Iu,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:g.Ju,pressedOn:"zoomingOut",stopOnRelease:!0}};q.pi="requestYawChange";return q});
define("iy",["require","mh","pf","cC","nU"],function(a){var e=a("mh"),l=a("pf"),m=a("cC");a=a("nU").define("PlayListItem",e,function(){e.call(this);this.C="stopped"});a.prototype.get=function(k,b){return"state"==k?this.C:e.prototype.get.call(this,k,b)};a.prototype.start=function(){this.Q8a()};a.prototype.Q8a=function(){if("stopped"==this.C||"stopping"==this.C)this.C="starting",this.trigger(new m(l.Un))};a.prototype.kA=function(){this.PGa()};a.prototype.PGa=function(){if("starting"==this.C||"stopping"==
this.C)this.C="playing",this.trigger(new m(l.rp))};a.prototype.stop=function(){this.fL()};a.prototype.fL=function(){if("playing"==this.C||"starting"==this.C)this.C="stopping",this.trigger(new m(l.Qf))};a.prototype.end=function(){this.QGa()};a.prototype.QGa=function(){if("stopping"==this.C||"starting"==this.C)this.C="stopped",this.trigger(new m(l.Bb))};return a});
define("pL",["require","nU","dh","iy"],function(a){var e=a("nU"),l=a("dh"),m=a("iy");a=e.define("MapPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(l.hh,this.sz,this),k.set("map",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&k.get("map")==this.get("media")&&k.set("map",null);m.prototype.stop.call(this)};a.prototype.sz=function(){this.get("player").unbind(l.hh,this.sz,this);this.get("player").bind(l.Im,
this.Tv,this);this.kA();this.get("player").get("map")!=this.get("media")&&this.Tv()};a.prototype.Tv=function(){this.get("player").unbind(l.Im,this.Tv,this);this.stop();this.end()};return a});
define("gl",["require","pf","nU","ke"],function(a){var e=a("pf"),l=a("nU"),m=a("ke"),k=l.define("MeasureModel3DObject",m,function(){m.call(this);this.bind(e.D("mode"),function(){this.trigger(k.bIa)},this,!0);this.bind(e.D("distance"),function(){this.trigger(k.YHa)},this,!0)});k.bIa="modeChange";k.YHa="distanceChange";return k});define("dq",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("MeasureModel3DObjectPoint",e,function(){e.call(this)})});
define("el",["require","nU","gi"],function(a){var e=a("nU"),l=a("gi");return e.define("OrbitModel3DCamera",l,function(){l.call(this)})});
define("pB",["require","exports","pf","gv"],function(a,e,l,m){var k=function(){return function(b){this.pza=b;this.Mg=0;this.finished=!1}}();return function(b){function h(g){var c=b.call(this)||this;c.gn=new Map;c.kH=g||c;return c}Z(h,b);h.prototype.q6a=function(g){if(this.kH=g)this.oj(),this.r_()};h.prototype.update=function(){this.oj();this.r_()};h.prototype.kza=function(){this.gn.forEach(function(g,c){this.UY(c)}.bind(this));this.gn=new Map};h.prototype.ki=function(){var g=0;this.gn.forEach(function(c){c.finished&&
g++});return g==this.gn.size};h.prototype.dispose=function(){this.kza();this.gn.clear();this.kH=void 0};h.prototype.wJ=function(g,c){void 0===c&&(c=1);if(this.gn.has(g))return g;this.gn.set(g,new k(c));this.kKa(g);return g};h.prototype.IK=function(g){this.gn.has(g)&&(this.gn["delete"](g),this.UY(g))};h.prototype.Bt=function(g){void 0===g&&(g=1);var c=new m;return this.wJ(c,g)};h.prototype.xd=function(g){g=g.source;var c=this.gn.get(g);c&&(this.UY(g),c.Mg=100,c.finished=!0,this.oj(),this.r_())};h.prototype.Di=
function(g){this.gn.get(g.source).Mg=g.data.percent;this.oj()};h.prototype.Wf=function(g){g=g.source;this.UY(g);g=this.gn.get(g);g.finished=!0;g.Mg=100;this.kH.trigger(l.xc);this.oj();this.r_()};h.prototype.oj=function(){var g=0,c=0;this.gn.forEach(function(d){c+=d.pza;g+=d.Mg*d.pza});this.kH.trigger(l.lc,{percent:c?g/c:100})};h.prototype.r_=function(){this.ki()&&this.kH.trigger(l.Z)};h.prototype.kKa=function(g){g.bind(l.Z,this.xd,this,!0);g.bind(l.lc,this.Di,this,!0);g.bind(l.xc,this.Wf,this,!0)};
h.prototype.UY=function(g){g.unbind(l.Z,this.xd,this);g.unbind(l.lc,this.Di,this);g.unbind(l.xc,this.Wf,this)};return h}(m)});
define("bX","require pf lg nU eu el pB".split(" "),function(a){function e(r,t){Array.isArray(t)?r.fromArray(t):r.copy(t);return r}function l(r,t){Array.isArray(t)?r.fromArray(t):r.copy(t);return r}function m(r,t){if(Array.isArray(t))return r.toArray(t);t.x=r.x;t.y=r.y;t.z=r.z;return t}var k=a("pf"),b=a("lg"),h=a("nU"),g=a("eu"),c=a("el"),d=a("pB");a=h.define("Model3D",g,function(){g.call(this);this.set("camera",new c);this.set("geometryQuery",void 0);this.set("objectQuery",void 0);this.set("preload",
!0)});a.prototype.bia=function(){this.Ki&&(this.Ki.unbind(k.Z,this.gI,this),this.Ki.dispose());this.Ki=new d;this.Ki.bind(k.Z,this.gI,this,!0);this.Ce&&this.Ce.dispose();this.Ce=new d(this)};a.prototype.gI=function(){this.trigger(k.FB)};a.prototype.T0=function(){this.Ce||this.bia();return this.Ce};a.prototype.W0=function(){this.Ki||this.bia();return this.Ki};a.prototype.pause=function(){this.get("state")==b.Y&&this.set("state",b.Ib)};a.prototype.play=function(){this.set("state",b.Y)};a.prototype.stop=
function(){this.set("state",b.W)};a.prototype.worldPositionToLocal=function(r,t){l(f,r);e(q,t);q.invert();f.applyMatrix4(q);return m(f,r)};a.prototype.getMatrixWorld=function(r){var t=this.get("objectQuery");return t&&t.IAa(r)};a.prototype.worldDirectionToLocal=function(r,t){l(f,r);e(n,t);q.extractRotation(n);q.invert();f.applyMatrix4(q);return m(f,r)};a.prototype.testIntersection=function(r,t){var u=this.get("geometryQuery");if(u)return l(f,r),l(p,t),u.KF(f,p)};a.prototype.getDistanceToFloor=function(r){var t=
this.get("geometryQuery");if(t)return l(f,r),t.J1a(f)};a.prototype.pick=function(r,t){var u=this.get("picker");if(u)return u.s2(r,t)};a.prototype.getScreenPosition=function(r,t){var u=this.get("projectionQuery");if(u)return u.qga(l(f,r),t)};var f=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Matrix4,n=new THREE.Matrix4;a.prototype.Mt=function(){return[]};return a});
define("bf",["require","mh","lg","pf","nU"],function(a){var e=a("mh"),l=a("lg"),m=a("pf");a=a("nU").define("Model3DAnimation",e,function(){e.call(this);this.bind(m.D("state"),function(){this.trigger(m.se)},this,!0)});a.prototype.pause=function(){this.get("state")==l.Y&&this.set("state",l.Ib)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",l.Y)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",l.Y)};a.prototype.stop=function(){this.set("currentTime",
0);this.set("state",l.W)};return a});
define("hb",["require","mh","lg","nU","pf"],function(a){var e=a("mh"),l=a("lg"),m=a("nU"),k=a("pf");a=m.define("Model3DCameraSequence",e,function(){e.call(this);this.set("state",l.W);this.bind(k.D("state"),function(){this.trigger(k.se)},this,!0)});a.prototype.play=a.prototype.play=function(){this.set("state",l.Y)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==l.Y&&this.set("state",l.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",l.W)};return a});
define("iL","require lE pf cC jX dh lg ek gW".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("jX"),b=a("dh"),h=a("lg"),g=a("ek"),c=a("gW");a=e.extend(b,function(){b.call(this,!0);this.Qs=!1;this.WI=!0;this.C=h.W;this.cC=new k(this,"buttonPlayPause",g.Bj);this.cC.bind(l.yj,this.iTa,this,!0);this.cC.bind(l.sl,this.jTa,this,!0);this.JG=new k(this,"buttonPause",g.ze);this.JG.bind(l.qa,this.vD,this,!0);this.KG=new k(this,"buttonPlay",g.ze);this.KG.bind(l.qa,this.wD,this,!0);this.MG=new k(this,
"buttonStop",g.ze);this.MG.bind(l.qa,this.Az,this,!0);this.LLa=new k(this,"buttonRestart",g.ze);this.LLa.bind(l.qa,this.zz,this,!0);this.uqa=e.ip(this.qZa,this);this.uqa()});a.prototype.set=function(d,f){"state"!=d&&b.prototype.set.call(this,d,f)};a.prototype.get=function(d,f){switch(d){case "state":return this.C}return b.prototype.get.call(this,d,f)};a.prototype.qZa=function(){this.WI&&(this.WI=!1,this.JG.set("state",this.C==h.Ib?c.xb:c.xe),this.KG.set("state",this.C==h.Y||this.C==h.Ib?c.xb:c.xe),
this.cC.set("pressed",this.C==h.Y),this.MG.set("state",this.C==h.W?c.xb:c.xe))};a.prototype.Wz=function(d){this.Qs!=d&&((this.Qs=d)||this.qd(h.W))};a.prototype.qd=function(d){var f=this.C;this.C=d;b.prototype.set.call(this,"state",d);f!=this.C&&(this.WI=!0,this.uqa(),this.trigger(new m(l.se,{oldState:f,state:this.C})))};a.prototype.vD=function(){this.Qs&&(this.C==h.Ib?this.Gk():this.Fq())};a.prototype.wD=function(){this.Qs&&this.Gk()};a.prototype.iTa=function(){this.Qs&&this.Gk()};a.prototype.jTa=
function(){this.Qs&&this.Fq()};a.prototype.Az=function(){this.Qs&&this.Lo()};a.prototype.zz=function(){this.Qs&&(this.Lo(),this.Gk())};a.prototype.Gk=function(){};a.prototype.Fq=function(){};a.prototype.Lo=function(){};return a});
define("eQ",["require","lE","bi","cC","gv"],function(a){var e=a("lE"),l=a("bi"),m=a("cC"),k=a("gv"),b=e.extend(k,function(h,g){k.call(this);this.L=h;this.j=g;this.Gq=null;this.ra=b.Nh;this.bj=this.vi=null;this.Fn=this.Zg=void 0;this.vaa=[]});b.prototype.display=function(h){this.Gq=null;if(this.bj!=h||this.ra!=b.Nh)this.Gq=h,this.Xsa()};b.prototype.hide=function(){this.Gq="none";this.Xsa()};b.prototype.clear=function(){this.ra=b.Nh;this.Gq=null;this.BUa();this.Sba();this.j=null};b.prototype.Ng=function(h){for(;this.vaa.length;)this.vaa.shift()();
this.ra==b.Nh||this.ra!=b.tl&&this.ra!=b.ls&&this.ra!=b.Lu||(this.Fn+=h,h=Math.min(1,this.Fn/this.Zg),this.ra==b.tl?(this.vi.set("opacity",h),this.L.bc.NK(h)):this.ra==b.Lu?(this.L.bc.NK(h),this.L.bc.yF(h)):(this.L.bc.yF(h),this.bj.set("opacity",1-h)),this.j.Pa(),this.Fn<this.Zg?this.Oa():this.Sy())};b.prototype.FR=function(){return this.bj&&this.j.FR(this.bj)||void 0};b.prototype.Xsa=function(){this.Gq&&this.ra==b.Nh&&this.Sp()};b.prototype.Sp=function(){this.bj&&this.trigger(new m(b.nB,{model:this.bj}));
"fade_out_fade_in"==this.L.get("transitionMode","blending")&&this.bj?this.uy():(this.vi="none"==this.Gq?null:this.Gq,this.Gq=null,this.vi?this.bj?this.v6():this.ZL():this.bj&&this.uy())};b.prototype.ZL=function(){this.ra=b.tl;this.dma();this.j.xFa(this.vi);this.L.bc.bL();this.Fn=0;this.Zg=this.L.get("transitionDuration");this.Oa()};b.prototype.v6=function(){this.ra=b.Lu;this.L.bc.HF();this.Sba();this.dma();this.j.xFa(this.vi);this.L.bc.bL();this.Fn=0;this.Zg=2*this.L.get("transitionDuration");this.Oa()};
b.prototype.uy=function(){this.ra=b.ls;this.vi=null;this.Fn=0;this.Zg=this.L.get("transitionDuration");this.L.bc.HF();this.Oa()};b.prototype.Sy=function(){this.Gq!=this.bj&&this.Sba();this.bj=this.vi;this.vi=null;this.ra==b.ls?this.L.bc.IE():this.ra==b.tl?this.L.bc.OJ():this.ra==b.Lu&&(this.L.bc.OJ(),this.L.bc.IE());this.ra=b.Nh;this.bj?this.trigger(new m(b.oB,{model:this.bj})):this.Gq||this.trigger(new m(b.d4));this.Gq&&this.Sp()};b.prototype.Oa=function(){l.requestFrame(this.Ng,this)};b.prototype.dma=
function(){if(this.vi){this.vi.set("opacity",this.ra==b.Lu?1:.01);this.vi.set("currentTime",0);this.j.yya(this.vi);this.trigger(new m(b.u4,{model:this.vi}));var h=this.vi;this.vaa.push(function(){this.trigger(new m(b.pB,{model:h}))}.bind(this))}};b.prototype.Sba=function(){this.bj&&(this.j.Uha(this.bj),this.trigger(new m(b.QT,{model:this.bj})),this.bj=null)};b.prototype.BUa=function(){this.vi&&(this.j.Uha(this.vi),this.trigger(new m(b.QT,{model:this.vi})),this.vi=null)};b.Nh="stopped";b.tl="blending";
b.Lu="double blending";b.ls="disolving";b.Gb="request frame";b.u4="model added";b.QT="model removed";b.pB="model start";b.oB="model show";b.nB="model hide";b.d4="all pending models hidden";return b});
define("cU",["require","lE","gv","pf"],function(a){var e=a("lE"),l=a("gv"),m=a("pf");a=e.extend(l,function(k,b){l.call(this);this.L=k;this.j=b;this.Eg=null});a.prototype.clear=function(){this.stop();this.j=null};a.prototype.load=function(k){k!=this.Eg&&(this.stop(),this.j.N2a(k)?(this.$wa(k),this.k_(k)):(this.Eg=k,this.Eg.set("opacity",0),this.oLa(),this.j.yya(this.Eg)))};a.prototype.stop=function(){this.Eg&&(this.Eda(),this.j.Uha(this.Eg),this.Eg=null)};a.prototype.gI=function(){this.exa();this.$wa(this.Eg)};
a.prototype.xd=function(){this.Eg.b1(m.FB)&&this.gI();this.Eda();var k=this.Eg;this.Eg=null;this.L.set("progressVisible",!1);this.k_(k)};a.prototype.Wf=function(){this.Eda();this.Eg=null;this.L.set("progressVisible",!1)};a.prototype.Di=function(k){this.L.ma({progressPercent:k.data.percent,progressVisible:!0})};a.prototype.rLa=function(){this.Eg.bind(m.FB,this.gI,this,!0)};a.prototype.exa=function(){this.Eg.unbind(m.FB,this.gI,this,!0)};a.prototype.oLa=function(){this.rLa();this.Eg.bind(m.Z,this.xd,
this,!0);this.Eg.bind(m.lc,this.Di,this,!0);this.Eg.bind(m.xc,this.Wf,this,!0)};a.prototype.Eda=function(){this.exa();this.Eg.unbind(m.Z,this.xd,this,!0);this.Eg.unbind(m.lc,this.Di,this,!0);this.Eg.unbind(m.xc,this.Wf,this,!0)};a.prototype.$wa=function(k){this.trigger(m.FB,{model:k})};a.prototype.k_=function(k){this.trigger(m.Z,{model:k})};a.prototype.J3a=function(){return this.Eg&&this.Eg.b1(m.FB)};a.Tja=m.FB;a.Qja=m.Z;return a});
define("hm","require lE pf cC gv lg".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("lg"),h=e.extend(k,function(){k.call(this);this.ga=null;this.C=b.W});h.prototype.start=function(g){this.ga=g;this.ga.bind(l.D("camera"),this.oaa,this,!0);this.ga.bind(l.D("state"),this.Laa,this,!0);this.ga.bind(l.D("currentTime"),this.cY,this,!0);this.ga.bind(l.D("duration"),this.cY,this,!0);this.Laa();this.oaa()};h.prototype.end=function(){this.stop();this.Eb&&(this.Eb.unbind(l.D("state"),
this.hO,this,!0),this.Eb=null);this.ga&&(this.ga.unbind(l.D("camera"),this.oaa,this,!0),this.ga.unbind(l.D("state"),this.Laa,this,!0),this.ga.unbind(l.D("currentTime"),this.cY,this,!0),this.ga.unbind(l.D("duration"),this.cY,this,!0),this.ga=null)};h.prototype.clear=function(){this.end()};h.prototype.play=function(){this.ga&&this.ga.set("state",b.Y)};h.prototype.pause=function(){this.ga&&this.ga.set("state",b.Ib)};h.prototype.stop=function(){this.ga&&this.ga.set("state",b.W)};h.prototype.setTime=function(g){this.ga&&
this.ga.set("currentTime",g)};h.prototype.getTime=function(){return this.ga&&this.ga.get("currentTime")||void 0};h.prototype.Laa=function(){var g=this.ga.get("state");this.C!=g&&(this.C=g,this.Eb&&this.Eb.set("state",g),this.trigger(new m(h.Gc,{state:this.C})))};h.prototype.cY=function(){this.trigger(new m(h.xj,{model:this.ga,time:this.ga.get("currentTime"),duration:this.ga.get("duration")}));this.hO()};h.prototype.oaa=function(){this.Eb&&this.Eb.unbind(l.D("state"),this.hO,this,!0);(this.Eb=this.ga.get("camera"))&&
this.Eb.bind(l.D("state"),this.hO,this,!0);this.hO()};h.prototype.hO=function(){0===this.ga.get("duration")&&this.ga.set("state",this.Eb?this.Eb.get("state"):b.W)};h.Gc="playback state change";h.xj="time change";return h});
define("ec","require lE lg cC gv eQ cU hm".split(" "),function(a){var e=a("lE"),l=a("lg"),m=a("cC"),k=a("gv"),b=a("eQ"),h=a("cU"),g=a("hm"),c=e.extend(k,function(d,f){k.call(this);this.L=d;this.j=f;this.j.set("visible",!1);this.he=new h(this.L,this.j);this.La=new b(this.L,this.j);this.Ja=new g(this.j);this.he.bind(h.Tja,this.Osa,this,!0);this.he.bind(h.Qja,this.Vv,this,!0);this.La.bind(b.nB,this.uz,this,!0);this.La.bind(b.oB,this.Tl,this,!0);this.La.bind(b.pB,this.uO,this,!0);this.La.bind(b.u4,this.Lsa,
this,!0);this.La.bind(b.QT,this.Psa,this,!0);this.La.bind(b.d4,this.Lra,this,!0);this.Ja.bind(g.Gc,this.df,this,!0);this.Ja.bind(g.xj,this.Aq,this,!0)});c.prototype.clear=function(){this.he.clear();this.La.clear();this.Ja.clear();this.he.unbind(h.Tja,this.Osa,this);this.he.unbind(h.Qja,this.Vv,this);this.La.unbind(b.nB,this.uz,this);this.La.unbind(b.oB,this.Tl,this);this.La.unbind(b.pB,this.uO,this);this.La.unbind(b.u4,this.Lsa,this);this.La.unbind(b.QT,this.Psa,this);this.La.unbind(b.d4,this.Lra,
this);this.Ja.unbind(g.Gc,this.df,this);this.Ja.unbind(g.xj,this.Aq,this);this.L=this.j=this.Ja=this.La=this.he=null};c.prototype.Y6a=function(d){this.j.set("visible",!0);this.he.load(d)};c.prototype.tx=function(){this.he.J3a()&&this.he.stop();this.La.hide();this.Ja.end()};c.prototype.play=function(){this.Ja.play()};c.prototype.stop=function(){this.Ja.stop()};c.prototype.pause=function(){this.Ja.pause()};c.prototype.setTime=function(d){this.Ja.setTime(d)};c.prototype.getTime=function(){return this.Ja.getTime()};
c.prototype.FR=function(){return this.La.FR()};c.prototype.Osa=function(d){this.La.display(d.data.model)};c.prototype.Vv=function(){};c.prototype.Lsa=function(d){this.Ja.start(d.data.model)};c.prototype.uO=function(d){d=d.data.model;this.j.set("visible",!0);this.trigger(new m(c.pB,{model:d}))};c.prototype.Psa=function(){};c.prototype.Tl=function(d){d=d.data.model;d.get("autoplay")&&d.get("state")!=l.Y&&d.set("state",l.Y);this.trigger(new m(c.oB,{model:d}))};c.prototype.uz=function(d){this.trigger(new m(c.nB,
{model:d.data.model}))};c.prototype.Lra=function(){this.j.set("visible",!1)};c.prototype.Aq=function(d){this.trigger(new m(c.v4,d.data))};c.prototype.df=function(d){this.trigger(new m(c.Gc,{state:d.data.state}))};c.oB="modelShow";c.nB="modelHide";c.L9a="modelEnd";c.pB="modelStart";c.v4="videoTimeChange";c.Gc="playbackStateChange";return c});
define("et",["require","exports"],function(){return function(){function a(){}a.prototype.clear=function(){};a.Fb=function(e){this.id=e+"Component";this.not="!"+this.id};a.jc=function(e){this.Fb(e+"SystemState");this.w1=!0};a.w1=!1;return a}()});
define("fK",["require","exports","et","three.mod"],function(a,e,l,m){var k;(function(b){var h=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.bias=0;I.Lza=500;I.intensity=1;I.scale=100;I.VBa=25;I.vCa=0;I.gfa=4;I.output=null;return I}Z(O,K);return O}(l);b.RF=h;h.Fb("AmbientOcclusionEffect");var g=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.properties=null;return I}Z(O,K);return O}(l);b.Animation=g;g.Fb("Animation");var c=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.cu=c;c.jc("Animation");var d=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.lAa=!1;I.lGa=!1;I.lT=2;return I}Z(O,K);return O}(l);b.gB=d;d.Fb("AntialiasEffect");var f=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.A=[];I.renderOrder=null;I.P=null;return I}Z(O,K);return O}(l);b.Gm=f;f.Fb("Area");var p=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||
this;I.A=[];return I}Z(O,K);return O}(l);b.Lx=p;p.jc("Area");var q=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Z_=[];return I}Z(O,K);return O}(l);b.hB=q;q.jc("AreaPoint");var n=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.Px=n;n.Fb("Beacon");var r=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.position=null;return I}Z(O,K);return O}(l);b.Qx=r;r.jc("Beacon");var t=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.P=null;return I}Z(O,K);return O}(l);b.Sn=t;t.Fb("BeaconTracker");var u=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.position=null;return I}Z(O,K);return O}(l);b.gu=u;u.jc("BeaconTracker");var v=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.tg=null;I.LEa=null;I.zA=!0;I.enabled=!0;I.locked=!1;I.IJ=!0;I.ag=void 0;I.ek=0;return I}Z(O,K);return O}(l);b.H9a=v;var w=function(K){function O(){var I=null!==K&&K.apply(this,
arguments)||this;I.properties=null;return I}Z(O,K);return O}(l);b.XF=w;w.Fb("CameraSequence");var x=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.hu=x;x.jc("CameraSequence");var y=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.source=null;I.kT=null;I.opacity=1;I.isSprite=!1;I.hidden=!1;I.depthTest=!0;return I}Z(O,K);return O}(l);b.oi=y;y.Fb("CanvasMaterial");var z=function(K){function O(){var I=null!==
K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Rx=z;z.jc("CanvasMaterial");var E=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.uL=E;E.Fb("Data");var B=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.P=null;I.direction=null;I.min=null;return I}Z(O,K);return O}(l);b.tp=B;B.Fb("Draggable");var A=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Ifa=null;return I}Z(O,K);return O}(l);
b.Sx=A;A.jc("Draggable");var D=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.Tx=D;D.Fb("Dragging");var C=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(v);b.Wx=C;C.Fb("FirstPersonControls");var J=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Vr=J;J.jc("FirstPersonControls");var H=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||
this;I.distance=0;I.UR=!1;I.x=0;I.y=0;I.z=0;return I}Z(O,K);return O}(l);b.nu=H;H.Fb("FloorTransform");var P=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Wr=P;P.jc("FloorTransform");var W=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(v);b.zB=W;W.Fb("FlyOverControls");var U=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);
b.ou=U;U.jc("FlyOverControls");var S=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.geometry=null;return I}Z(O,K);return O}(l);b.Geometry=S;S.Fb("Geometry");var X=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.group=null;return I}Z(O,K);return O}(l);b.Group=X;X.Fb("Group");var F=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.group=null;return I}Z(O,K);return O}(l);b.bG=F;F.jc("Group");var M=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.properties=null;I.zga=null;I.P=null;I.ep=null;I.priority=void 0;I.isSprite=!1;return I}Z(O,K);return O}(l);b.Km=M;M.Fb("ImageMaterial");var T=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.$x=T;T.jc("ImageMaterial");var Y=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.HEa=7;I.intensity=1;return I}Z(O,K);return O}(l);b.zL=Y;Y.Fb("MotionBlurEffect");var ca=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.properties=null;I.target=null;I.de=null;return I}Z(O,K);return O}(l);b.Light=ca;ca.Fb("Light");var da=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Y$a=null;return I}Z(O,K);return O}(l);b.qu=da;da.jc("Light");var ha=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.line=null;I.renderOrder=0;return I}Z(O,K);return O}(l);b.Line=ha;ha.Fb("Line");var G=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||
this;I.line=null;return I}Z(O,K);return O}(l);b.ey=G;G.jc("Line");var N=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.color="#ffffff";I.opacity=1;I.width=1;I.depthTest=!0;return I}Z(O,K);return O}(l);b.ih=N;N.Fb("LineMaterial");var R=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.by=R;R.jc("LineMaterial");var L=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.N=null;I.position=
null;return I}Z(O,K);return O}(l);b.Xr=L;L.Fb("LineToTransform");var Q=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.gy=Q;Q.jc("LineToTransform");var V=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.material=null;return I}Z(O,K);return O}(l);b.Material=V;V.Fb("Material");var aa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.name=null;return I}Z(O,K);return O}(l);b.su=aa;aa.Fb("MaterialVariant");var ba=
function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Gp=ba;ba.jc("MaterialVariant");var ea=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.gp=null;I.renderOrder=0;return I}Z(O,K);return O}(l);b.Mesh=ea;ea.Fb("Mesh");var fa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.gp=null;return I}Z(O,K);return O}(l);b.$r=fa;fa.jc("Mesh");var ia=function(K){function O(){var I=null!==K&&K.apply(this,
arguments)||this;I.properties=null;I.gha=null;I.eEa=null;I.ep=null;I.P=null;I.sga=null;I.Wb=null;return I}Z(O,K);return O}(l);b.jh=ia;ia.Fb("Model");var ja=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.tu=ja;ja.jc("Model");var ka=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.hG=ka;ka.Fb("NotCollidable");var la=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}
Z(O,K);return O}(l);b.MIa=la;la.jc("NotCollidable");var ma=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.lja=!0;I.mja=!0;return I}Z(O,K);return O}(l);b.Hp=ma;ma.Fb("NotSelectable");var na=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.DB=na;na.jc("NotSelectable");var oa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.sa=null;return I}Z(O,K);return O}(l);b.Object3D=oa;oa.Fb("Object3D");var pa=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.id=null;I.container=null;return I}Z(O,K);return O}(l);b.iG=pa;pa.Fb("Object3DId");var qa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.uu=qa;qa.jc("Object3DId");var ra=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.RQ=void 0;I.castShadow=void 0;I.receiveShadow=void 0;I.envMapIntensity=1;I.opacity=1;I.YQ=void 0;I.P=null;return I}Z(O,K);return O}(l);b.si=ra;ra.Fb("ObjectTransform");
var sa=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.hy=sa;sa.jc("ObjectTransform");var ta=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(v);b.EB=ta;ta.Fb("OrbitControls");var ua=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.vu=ua;ua.jc("OrbitControls");var va=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.width=
100;I.height=100;return I}Z(O,K);return O}(l);b.OrthographicCamera=va;va.Fb("OrthographicCamera");var wa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.camera=null;I.width=void 0;I.height=void 0;return I}Z(O,K);return O}(l);b.bs=wa;wa.jc("OrthographicCamera");var xa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.N=null;I.attach=!1;I.id=null;return I}Z(O,K);return O}(l);b.nb=xa;xa.Fb("Parent");var ya=function(K){function O(){var I=null!==K&&K.apply(this,
arguments)||this;I.parent=null;I.Hd=null;I.id=void 0;I.attach=!1;return I}Z(O,K);return O}(l);b.cs=ya;ya.jc("Parent");var za=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.width=100;I.height=100;I.fov=75;I.near=.01;I.far=100;I.Nya=!1;I.Oya=0;I.sm=!1;return I}Z(O,K);return O}(l);b.PerspectiveCamera=za;za.Fb("PerspectiveCamera");var Aa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.camera=null;I.gk=null;I.scene=null;I.boundingBox=null;I.hfa=null;I.p2=
!1;I.width=void 0;I.height=void 0;I.fov=void 0;I.near=void 0;I.far=void 0;return I}Z(O,K);return O}(l);b.zj=Aa;Aa.jc("PerspectiveCamera");var Ba=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Mf=1;I.$f=1;I.Eh=1;I.scale=1;I.AA=void 0;I.BA=void 0;return I}Z(O,K);return O}(l);b.Aj=Ba;Ba.Fb("PixelScaleTransform");var Ca=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.GB=Ca;Ca.jc("PixelScaleTransform");var Da=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.renderOrder=null;return I}Z(O,K);return O}(l);b.Plane=Da;Da.Fb("Plane");var Ea=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.xu=Ea;Ea.jc("Plane");var Fa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.hb=null;I.P=null;I.matrixWorld=null;I.origin=new m.Vector3;I.direction=new m.Vector3;I.Nb=new m.Vector2;I.NF=!1;I.qza=!1;I.bk=!1;I.enabled=!0;return I}Z(O,K);return O}(l);
b.nd=Fa;Fa.Fb("Pointer");var Ga=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.N=null;I.rotate=!0;I.P=null;return I}Z(O,K);return O}(l);b.lk=Ga;Ga.Fb("PointerOverTransform");var Ha=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.ds=Ha;Ha.jc("PointerOverTransform");var Ia=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.yu=Ia;Ia.jc("PointerDragging");
var Ja=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.zu=Ja;Ja.jc("PointerSelection");var Ka=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.ZK=null;I.X2=null;I.l3=null;return I}Z(O,K);return O}(l);b.es=Ka;Ka.Fb("ProjectedMaterial");var La=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.ZK=null;I.sa=null;I.YK=null;I.material=null;I.vK=null;return I}Z(O,K);return O}(l);b.Au=La;La.jc("ProjectedMaterial");
var Ma=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Wb=null;I.renderer=null;I.OS=[];return I}Z(O,K);return O}(l);b.ti=Ma;Ma.Fb("Renderer");var Na=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.fs=Na;Na.jc("Renderer");var Oa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.opacity=1;I.locked=!1;I.enabled=!0;I.scene=null;I.hb=null;I.backgroundColor=null;I.afa=null;I.Pya=null;I.Sza=
null;I.Nfa=null;I.fAa=null;I.gAa=0;I.oR=0;I.outputEncoding=null;I.P=null;return I}Z(O,K);return O}(l);b.Scene=Oa;Oa.Fb("Scene");var Pa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.scene=null;I.manager=null;return I}Z(O,K);return O}(l);b.Vn=Pa;Pa.jc("Scene");var Qa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.P=null;I.rT=!1;I.Pw=!0;I.sx=!1;I.hL=!1;return I}Z(O,K);return O}(l);b.ud=Qa;Qa.Fb("Selectable");var Ra=function(K){function O(){return null!==
K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.HB=Ra;Ra.jc("Selectable");var Sa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.color="#ffffff";I.opacity=1;I.depthTest=!0;I.doubleSided=!1;return I}Z(O,K);return O}(l);b.Hc=Sa;Sa.Fb("SolidMaterial");var Ta=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Cu=Ta;Ta.jc("SolidMaterial");var Ua=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||
this;I.radius=1;I.widthSegments=32;I.heightSegments=16;I.renderOrder=0;return I}Z(O,K);return O}(l);b.Sphere=Ua;Ua.Fb("Sphere");var Va=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.IB=Va;Va.jc("Sphere");var Wa=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.xJ=.5;I.yJ=.5;I.height=100;I.width=100;I.scale=1;I.sizeAttenuation=!1;I.Fh=null;I.renderOrder=0;return I}Z(O,K);return O}(l);b.Sprite=Wa;Wa.Fb("Sprite");var Xa=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.hs=Xa;Xa.jc("Sprite");var Ya=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Mw=!1;I.positionX=0;I.positionY=0;I.positionZ=0;I.Le=0;I.re=0;I.Me=0;I.Zf="XYZ";I.scale=1;I.Mf=1;I.$f=1;I.Eh=1;I.translationX=0;I.translationY=0;I.$e=0;I.easing=0;I.P=null;return I}Z(O,K);return O}(l);b.Aa=Ya;Ya.Fb("Transform");var Za=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.Mw=!1;
I.positionX=0;I.positionY=0;I.positionZ=0;I.Le=0;I.re=0;I.Me=0;I.Zf="XYZ";I.scale=1;I.Mf=1;I.$f=1;I.Eh=1;I.translationX=0;I.translationY=0;I.$e=0;return I}Z(O,K);return O}(l);b.Rf=Za;Za.jc("Transform");var $a=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.KB=$a;$a.jc("TransformEasing");var ab=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.ag=void 0;return I}Z(O,K);return O}(v);b.Eu=ab;ab.Fb("TransitionControls");var bb=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.ks=bb;bb.jc("TransitionControlsSystemState");var cb=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.properties=null;I.wja=null;I.P=null;return I}Z(O,K);return O}(l);b.Xn=cb;cb.Fb("VideoMaterial");var db=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.ly=db;db.jc("VideoMaterial");var eb=function(K){function O(){var I=null!==
K&&K.apply(this,arguments)||this;I.hb=null;I.width=null;I.height=null;return I}Z(O,K);return O}(l);b.Lm=eb;eb.Fb("Viewport");var fb=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.hb=null;I.properties=null;return I}Z(O,K);return O}(l);b.my=fb;fb.Fb("ViewportPlaneGeometry");var gb=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.geometry=null;I.bGa=void 0;I.$Fa=void 0;I.vBa=void 0;I.verticalAlign=void 0;I.IEa=void 0;I.zIndex=void 0;return I}Z(O,K);return O}(l);
b.Gu=gb;gb.jc("ViewportPlaneGeometry");var hb=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.IDa=1;I.DBa=.5;I.color="#000000";I.opacity=.5;return I}Z(O,K);return O}(l);b.oG=hb;hb.Fb("VignetteEffect");var ib=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(l);b.mk=ib;ib.jc("XRPerspectiveCamera");var jb=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(v);b.qG=jb;jb.Fb("XRDragControls");var kb=function(K){function O(){var I=
null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Mp=kb;kb.jc("XRDragControlsSystemState");var lb=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,K);return O}(v);b.rG=lb;lb.Fb("XRFlyControls");var mb=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Np=mb;mb.jc("XRFlyControlsSystemState");var nb=function(K){function O(){return null!==K&&K.apply(this,arguments)||this}Z(O,
K);return O}(v);b.sG=nb;nb.Fb("XRTeleportControls");var ob=function(K){function O(){var I=null!==K&&K.apply(this,arguments)||this;I.manager=null;return I}Z(O,K);return O}(l);b.Op=ob;ob.jc("XRTeleportControlsSystemState")})(k||(k={}));return k});
define("kv",["require","jquery.mod","v"],function(a){function e(){this.ta=l("<div/>");this.ta.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ta.hide()}var l=a("jquery.mod"),m=a("v");e.prototype.Yc=function(){return this.ta};e.prototype.trigger=function(){m.browser()!=m.ni&&this.ta.fadeIn(100).fadeOut(100)};return e});
define("mn",["require","exports"],function(){return function(){function a(e,l){this.U=e;this.tag=l||"Entity";this.id=this.tag+"_"+a.qha++;this.components={};this.GS={};this.Zia=0}a.prototype.getComponent=function(e){return this.components[e.id]};a.prototype.I=function(e,l){void 0===l&&(l=!1);var m=this.components[e.id];m?this.U.c0a(this,e):l&&(m=this.J(e));return m};a.prototype.J=function(e){if(e.id in this.components)return this.components[e.id];e.w1&&this.Zia++;var l=this.components[e.id]=new e;
this.U.n_a(this,e);return l};a.prototype.la=function(e){var l;void 0===l&&(l=!1);e.id in this.components&&(e.w1&&this.Zia--,l?this.components[e.id].clear():this.GS[e.id]=this.components[e.id],delete this.components[e.id],this.U.vEa(this,e,l))};a.prototype.g0a=function(){for(var e in this.GS)this.GS[e].clear(),delete this.GS[e]};a.prototype.k5a=function(){for(var e in this.components){var l=this.components[e].constructor;l.w1||(this.GS[e]=this.components[e],delete this.components[e],this.U.vEa(this,
l,!1))}};a.qha=0;return a}()});define("cd",["require"],function(){function a(){this.id=a.kaa++;this.A=[]}a.kaa=0;return a});define("lb",["require"],function(){function a(e,l){this.id=a.kaa++;this.name=l;this.A=e.A;this.Pd=e.A.slice();this.Ha=[];this.wg=[]}a.prototype.d0a=function(){!this.Pd.length||(this.Pd=[]);!this.Ha.length||(this.Ha=[]);!this.wg.length||(this.wg=[])};a.kaa=0;return a});
define("bq",["require","cd","lb"],function(a){function e(){this.W2a={};this.H={};this.rF={};this.PJ={};this.Ww={};this.qF={};this.fR={};this.pF={}}function l(g){return"string"==typeof g?g:g.id}function m(g,c){0>g.indexOf(c)&&g.push(c);return g}function k(g,c){c=g.indexOf(c);0<=c&&g.splice(c,1);return g}var b=a("cd"),h=a("lb");e.prototype.pa=function(g){this.fR[g.id]={};this.fR[g.not]={}};e.prototype.F0a=function(g,c){g=this.mQa(g);c=new h(g,c);this.rF[g.id].push(c);return c};e.prototype.mQa=function(g){var c=
this.nQa(g);if(c=this.W2a[c])return c;c=new b;this.H[c.id]=c;g=g.map(l);this.pF[c.id]={};for(var d=0;d<g.length;d++){var f=g[d];this.pF[c.id][f]=!0;this.fR[f][c.id]=!0}this.qF[c.id]={};this.rF[c.id]=[];return c};e.prototype.nQa=function(g){g=g.map(l);g.sort();return g.join("-")};e.prototype.l4a=function(g){this.PJ[g.id]={};this.Ww[g.id]={}};e.prototype.m4a=function(g){delete this.PJ[g.id];delete this.Ww[g.id]};e.prototype.g4a=function(g,c){var d=c.id,f=c.not;c=g.id;this.PJ[c][d]=!0;for(var p in this.Ww[c])if(f in
this.pF[p]){delete this.qF[p][c];delete this.Ww[c][p];k(this.H[p].A,g);for(var q=this.rF[p],n=0,r=q.length;n<r;n++){var t=q[n];m(t.wg,g);k(t.Pd,g);k(t.Ha,g)}}for(p in this.fR[d])if(!(c in this.qF[p])){d=!0;for(var u in this.pF[p])if(f="!"!=u[0],(f?u:u.slice(1))in this.PJ[c]!=f){d=!1;break}if(d)for(this.qF[p][c]=!0,this.Ww[c][p]=!0,m(this.H[p].A,g),q=this.rF[p],n=0,r=q.length;n<r;n++)t=q[n],m(t.Pd,g),k(t.wg,g),k(t.Ha,g)}};e.prototype.i4a=function(g,c){var d=c.id,f="!"+d;c=g.id;delete this.PJ[c][d];
for(var p in this.Ww[c])if(d in this.pF[p]){delete this.qF[p][c];delete this.Ww[c][p];k(this.H[p].A,g);for(var q=this.rF[p],n=0,r=q.length;n<r;n++){var t=q[n];m(t.wg,g);k(t.Pd,g);k(t.Ha,g)}}for(p in this.fR[f])if(!(c in this.qF[p])){d=!0;for(var u in this.pF[p])if(f="!"!=u[0],(f?u:u.slice(1))in this.PJ[c]!=f){d=!1;break}if(d)for(this.qF[p][c]=!0,this.Ww[c][p]=!0,this.H[p].A.push(g),q=this.rF[p],n=0,r=q.length;n<r;n++)t=q[n],m(t.Pd,g),k(t.wg,g),k(t.Ha,g)}};e.prototype.h4a=function(g,c){c=c.id;var d=
g.id,f;for(f in this.Ww[d])if(c in this.pF[f]){d=this.rF[f];for(var p=0,q=d.length;p<q;p++)m(d[p].Ha,g)}};return e});
define("lw",["require","bi","mn","bq"],function(a){function e(b){this.uc=b;this.T=!0;this.rh={};this.AM=[];this.AMa={};this.$P=[];this.KD=new k;this.JV=[];this.Iz=!1;this.Qoa=void 0}var l=a("bi"),m=a("mn"),k=a("bq");e.prototype.K2=function(b){this.Qoa=b};e.prototype.pa=function(b){this.AMa[b.id]=b;this.KD.pa(b);return this};e.prototype.Id=function(b,h){var g=new b(this,h);g.order=this.$P.length;this.$P.push(g);for(var c in b.H)g[c]=this.KD.F0a(b.H[c],h+"."+c);this.$P.sort(function(d,f){return d.priority-
f.priority||d.order-f.order});return this};e.prototype.gd=function(b){b=new m(this,b);this.rh[b.id]=b;this.KD.l4a(b);this.Pa();return b};e.prototype.We=function(b){b.id in this.rh&&(delete this.rh[b.id],this.AM.push(b),b.k5a(),this.Pa())};e.prototype.n_a=function(b,h){this.KD.g4a(b,h);this.Pa()};e.prototype.vEa=function(b,h,g){this.KD.i4a(b,h);g||this.JV.push(b);this.Pa()};e.prototype.c0a=function(b,h){this.KD.h4a(b,h);this.Pa()};e.prototype.mb=function(b){this.T=b;this.Pa()};e.prototype.Pa=function(){this.T&&
!this.Iz&&(this.Iz=!0,l.requestFrame(this.update,this,this.Qoa))};e.prototype.update=function(b){b=b||0;this.Iz=!1;if(this.T){for(var h=(new Date).getTime(),g=0;g<this.$P.length;g++){var c=this.$P[g];c.Bd(b,h);for(var d in c.constructor.H)c[d].d0a()}for(g=0;g<this.JV.length;g++)this.JV[g].g0a();this.JV.length=0;for(g=this.AM.length-1;0<=g;g--)0==this.AM[g].Zia&&(this.KD.m4a(this.AM[g]),this.AM.splice(g,1))}};return e});
define("lO",["require"],function(){function a(e,l){this.U=e;this.name=l;this.priority=0}a.prototype.Bd=function(){};return a});
define("cg",["require","pf","lg"],function(a){function e(k,b,h,g,c){this.o=k;this.je=b;this.kg=h;this.pk=g;this.Da=c;this.AZ()}var l=a("pf"),m=a("lg");e.prototype.getAnimations=function(){return this.kg};e.prototype.wR=function(){return this.pk};e.prototype.frame=function(k){this.C==m.Y&&(this.bt(this.lh.time+k/1E3),this.Da())};e.prototype.dispose=function(){this.b_();this.ny=this.UB=this.lh=this.Da=this.pk=this.kg=this.je=this.o=null};e.prototype.AZ=function(){this.lh=new THREE.AnimationMixer(this.je);
this.Ob=0;this.zb=!1;this.UB=[];this.ny=[];for(var k=0;k<this.kg.length;k++){var b=this.kg[k],h="alternate"==b.get("animationDirection"),g=this.Ob;this.Ob+=this.pk[k].duration*(h?2:1);this.ny.push({start:g,end:this.Ob});g=this.lh.clipAction(this.pk[k]);h?g.setLoop(THREE.LoopPingPong,2):g.setLoop(THREE.LoopOnce,1);this.UB.push(g);b.set("state",m.W);b.set("currentTime",0);b.set("duration",this.pk[k].duration)}this.C=m.W;this.ul=void 0;this.o.bind(l.D("state"),this.Fi,this,!0);this.o.bind(l.D("currentTime"),
this.mD,this,!0);this.o.bind(l.D("animationDirection"),this.fsa,this,!0);this.o.set("duration",this.Ob);this.bt(0);this.o.get("autoplay")&&this.o.set("state",m.Y)};e.prototype.b_=function(){this.o.unbind(l.D("state"),this.Fi,this,!0);this.o.unbind(l.D("currentTime"),this.mD,this,!0);this.o.unbind(l.D("animationDirection"),this.fsa,this,!0);this.o.set("state",m.W);for(var k=0;k<this.kg.length;k++)this.UB[k].stop(),this.lh.uncacheClip(this.pk[k]),this.kg[k].set("state",m.W),this.kg[k].set("currentTime",
0);this.o.set("duration",void 0);this.o.set("currentTime",void 0)};e.prototype.fsa=function(){this.b_();this.AZ()};e.prototype.Fi=function(){var k=this.o.get("state");this.C!=k&&(this.C==m.W?k==m.Ib?this.o.set("state",m.W):k==m.Y&&(this.C=m.Y,this.zb=!1,this.bt(0),this.Da()):this.C==m.Y?k==m.W?(this.C=m.W,this.zb&&"last"==this.o.get("finalFrame")?this.bt(this.Ob):this.bt(0)):k==m.Ib&&(this.C=m.Ib):this.C==m.Ib&&(k==m.Y?(this.C=m.Y,this.Da()):k==m.W&&(this.C=m.W,this.bt(0))),void 0!==this.ul&&this.kg[this.ul].set("state",
this.C),this.o.set("state",this.C))};e.prototype.mD=function(){var k=this.o.get("currentTime");this.lh.time!=k&&(this.C!=m.W&&this.bt(k),this.o.set("currentTime",this.lh.time))};e.prototype.bt=function(k){if(this.lh.time!=k||void 0===this.ul)if(k>this.Ob)this.o.get("loop")?this.o.set("currentTime",k%this.Ob):(this.zb=!0,this.o.trigger(l.Bb),this.o.set("state",m.W));else{for(var b=this.ul||0;k>this.ny[b].end;)b++;for(;k<this.ny[b].start;)b--;if(this.ul!==b){for(var h=this.ul||0;h<b;h++){var g=this.kg[h],
c=this.UB[h],d=this.ny[h];"last"==g.get("finalFrame")&&"normal"==g.get("animationDirection")?(c.reset(),c.startAt(d.start),g.set("currentTime",g.get("duration")),c.clampWhenFinished=!0,c.play()):(g.set("currentTime",0),c.stop(),c.clampWhenFinished=!1);g.set("state",m.W)}g=this.kg[b];c=this.UB[b];d=this.ny[b];c.reset();c.startAt(d.start);c.clampWhenFinished="last"==g.get("finalFrame")&&"normal"==g.get("animationDirection");c.play();for(h=this.ul||0;h>b;h--)g=this.kg[h],c=this.UB[h],g.set("currentTime",
0),c.stop();this.ul=b}else c=this.UB[this.ul],k<this.lh.time&&(c.reset(),c.startAt(this.ny[this.ul].start)),c.paused=!1;this.lh.update(k-this.lh.time);g=this.kg[this.ul];g.set("state",this.C);k=this.lh.time-this.ny[this.ul].start;g=g.get("duration");b=k>g;this.kg[this.ul].set("currentTime",b?2*g-k:k);this.kg[this.ul].set("currentDirection",b?"backward":"forward");this.o.set("currentTime",this.lh.time);this.Da()}};return e});
define("jP",["require","pf","lg"],function(a){function e(k,b,h,g,c){this.o=k;this.je=b;this.kg=h;this.pk=g;this.Da=c;this.Aaa=this.Aaa.bind(this);this.uaa=this.uaa.bind(this);this.AZ()}var l=a("pf"),m=a("lg");e.prototype.dispose=function(){this.b_();this.Da=this.pk=this.kg=this.je=this.o=null};e.prototype.getAnimations=function(){return this.kg};e.prototype.wR=function(){return this.pk};e.prototype.frame=function(k){0<this.Ou.length&&(this.lh.update(k/1E3),this.Ou.forEach(function(b){this.rma(b)}.bind(this)),
this.Da())};e.prototype.AZ=function(){this.lh=new THREE.AnimationMixer(this.je);this.lh.addEventListener("loop",this.Aaa);this.lh.addEventListener("finished",this.uaa);this.Nu=new Map;this.wU=new Map;this.Ou=[];for(var k=0;k<this.kg.length;k++){var b=this.kg[k],h=this.pk[k];this.wU.set(b,h);var g=this.lh.clipAction(h);this.Nu.set(b,g);b.set("duration",h.duration);b.set("currentTime",b.get("currentTime")||0);b.set("currentDirection","forward");b.bind(l.D("state"),this.Ura,this,!0);b.bind(l.D("animationDirection"),
this.Rra,this,!0);b.bind(l.D("currentTime"),this.Qra,this,!0);b.bind(l.D("currentDirection"),this.Pra,this,!0);b.bind(l.D("loop"),this.Tra,this,!0);b.bind(l.D("finalFrame"),this.Sra,this,!0);this.cJ(b);this.hxa(b)}this.Da()};e.prototype.b_=function(){for(var k=0;k<this.kg.length;k++){var b=this.kg[k];b.unbind(l.D("state"),this.Ura,this,!0);b.unbind(l.D("animationDirection"),this.Rra,this,!0);b.unbind(l.D("currentTime"),this.Qra,this,!0);b.unbind(l.D("currentDirection"),this.Pra,this,!0);b.unbind(l.D("loop"),
this.Tra,this,!0);b.unbind(l.D("finalFrame"),this.Sra,this,!0);this.Nu.get(b).stop();this.Nu["delete"](b);this.lh.uncacheClip(this.wU.get(b));this.wU["delete"](b);this.kg[k].set("state",m.W);this.kg[k].set("currentTime",0)}this.lh=this.wU=this.Nu=null};e.prototype.Aaa=function(k){this.Nu.forEach(function(b,h){k.action==b&&h.get("loop")&&h.trigger(l.Ip)})};e.prototype.uaa=function(k){this.Nu.forEach(function(b,h){k.action==b&&(this.rma(h),h.set("state",m.W),"alternate"==h.get("animationDirection")&&
h.set("currentDirection","forward"==h.get("currentDirection")?"backward":"forward"),h.trigger(l.Bb))}.bind(this))};e.prototype.Rra=function(k){this.cJ(k.source)};e.prototype.Tra=function(k){this.cJ(k.source)};e.prototype.Sra=function(k){this.cJ(k.source)};e.prototype.Pra=function(k){this.cJ(k.source)};e.prototype.Qra=function(k){this.cJ(k.source)};e.prototype.rma=function(k){this.pma=!0;var b=this.Nu.get(k),h="alternate"==k.get("animationDirection");h=0<b._loopCount&&1==b._loopCount%2&&h;k.set("currentDirection",
h?"backward":"forward");b=b.time;var g=k.get("duration");h?k.set("currentTime",g-b):k.set("currentTime",b);this.pma=!1};e.prototype.cJ=function(k){if(!this.pma){var b=this.Nu.get(k),h="alternate"==k.get("animationDirection"),g="backward"==k.get("currentDirection")&&h,c=k.get("loop"),d="last"==k.get("finalFrame"),f=k.get("currentTime");k=k.get("duration");c?(b.loop=h?THREE.LoopPingPong:THREE.LoopRepeat,b.repetitions=Infinity,b.clampWhenFinished=!1):g?(b.loop=THREE.LoopPingPong,b.repetitions=2,b.clampWhenFinished=
!1):(b.loop=THREE.LoopOnce,b.repetitions=1,b.clampWhenFinished=d||h);h=!h||-1!=b._loopCount&&0!=b._loopCount%2?h&&1==b._loopCount%2?k-f:f:g?k+k-f:f;b.time!=h&&(b.time=h,b.paused&&b.enabled&&0==h&&b.stop());this.Da()}};e.prototype.Ura=function(k){this.hxa(k.source)};e.prototype.hxa=function(k){var b=this.Nu.get(k),h=k.get("state");var g=0<=this.Ou.indexOf(k)?m.Y:b.paused&&b.enabled&&b.time<k.get("duration")?m.Ib:m.W;g!=h&&(g==m.Y?h==m.Ib?(this.Ou.splice(this.Ou.indexOf(k),1),b.paused=!0):h==m.W&&(this.Ou.splice(this.Ou.indexOf(k),
1),!b.paused&&b.enabled&&b.stop()):g==m.Ib?h==m.Y?(this.Ou.push(k),b.paused=!1):h==m.W&&b.stop():g==m.W&&(h==m.Y?(this.Ou.push(k),b.paused&&b.enabled&&"alternate"==k.get("animationDirection")&&"backward"==k.get("currentDirection")?b.paused=!1:(b.reset(),b.play(),b.fadeIn(.1))):h==m.Ib&&(b.play(),b.paused=!0,this.lh.update(0))),k.set("state",h),this.Da())};return e});
define("cp",["require","exports","fK","three.mod"],function(a,e,l,m){return function(){function k(){}k.wc=function(b){return b?b.isObject3D?b:(b=b.getComponent(l.Object3D))?b.sa:null:null};k.getWorldPosition=function(b,h){h=h||new m.Vector3;b=this.wc(b);if(!b)return null;h.setFromMatrixPosition(b.matrixWorld);return h};k.aT=function(b,h){(b=b.getComponent(l.Object3D))&&null!==b.sa&&(b=b.sa,b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!1,h.Mw&&b.parent?(b.parent.updateWorldMatrix(!0,!1),b.matrix.copy(b.parent.matrixWorld).invert()):
b.matrix.identity(),b.matrix.multiply(this.J1.makeTranslation(h.translationX,h.translationY,h.$e)),b.matrix.multiply(this.J1.makeRotationFromEuler(this.a1a.set(h.Le*this.mG,h.re*this.mG,h.Me*this.mG,h.Zf))),b.matrix.multiply(this.J1.makeTranslation(h.positionX,h.positionY,h.positionZ)),b.matrix.multiply(this.J1.makeScale(h.scale*h.Mf,h.scale*h.$f,h.scale*h.Eh)),b.updateMatrixWorld(!0))};k.wR=function(b){if(!b)return[];b=b.getComponent(l.jh);return(b=null===b||void 0===b?void 0:b.sga)?b.animations||
[]:[]};k.yR=function(b){return b.getComponent(l.bs)||b.getComponent(l.zj)};k.lr=function(b){var h=b.getComponent(l.bs);return h?h.camera:(b=b.getComponent(l.zj))?b.gk||b.camera:null};k.Ch=function(b){return this.GR(this.wc(b))};k.GR=function(b){for(;b&&!b.isScene;)b=b.parent;return b};k.s7a=function(b,h){b.userData.camera=h};k.v7a=function(b,h,g){b.userData.width=h;b.userData.height=g};k.t7a=function(b,h){b.userData.encoding!==h&&(b.userData.encoding=h,this.tja(b))};k.u7a=function(b,h){b.userData.mAa!==
h&&(b.userData.mAa=h,this.tja(b))};k.vA=function(b){return b.userData.camera};k.IR=function(b){return b.userData.width};k.RE=function(b){return b.userData.height};k.Z0=function(b){return b.userData.encoding};k.S2=function(b,h){b.userData.background!==h&&(b.userData.background=h,this.tja(b))};k.tja=function(b){if(b&&b.userData){var h=b.userData.background,g=b.userData.encoding,c=b.userData.mAa;h&&h.isColor?b.background=g==m.sRGBEncoding&&c?h.clone().convertSRGBToLinear():h:(h&&h.isTexture&&(h.encoding=
g==m.sRGBEncoding?m.sRGBEncoding:m.LinearEncoding),b.background=h)}};k.l_a=function(b,h){var g=b.userData.Wia||(b.userData.Wia=[]);0<=g.indexOf(h)||(g.push(h),b.add(h),this.w3(b))};k.sEa=function(b,h){var g=b.userData.Wia;if(g){var c=g.indexOf(h);0>c||(g.splice(c,1),b.remove(h))}};k.w3=function(b){var h=b.userData.Wia;if(h){var g=.99*-b.far;h.forEach(function(c){c.position.z=g})}};k.m_a=function(b,h){var g=b.userData.Via||(b.userData.Via=[]);0<=g.indexOf(h)||(g.push(h),b.add(h),this.XGa(b))};k.m5a=
function(b,h){var g=b.userData.Via;if(g){var c=g.indexOf(h);0>c||(g.splice(c,1),b.remove(h))}};k.XGa=function(b){var h=b.userData.Via;if(h){var g=.99*b.far;h.forEach(function(c){c.scale.x=c.scale.y=c.scale.z=g})}};k.dK=function(b){if((b=this.wc(b))&&b.parent){var h=this.aBa(b);if(h)return this.mS.setFromMatrixScale(b.parent.matrixWorld),h/Math.max(this.mS.x,this.mS.y,this.mS.z)}};k.aBa=function(b){if((b=this.wc(b))&&b.parent){var h=this.GR(b);if(h){var g=this.vA(h);if(g)return b.matrixWorld.decompose(this.objectPosition,
this.a4a,this.mS),this.objectPosition.applyMatrix4(g.matrixWorldInverse),this.Yo.setFromMatrixScale(g.matrixWorld),2*Math.abs(this.objectPosition.z)*Math.tan(g.fov*this.mG/2)*Math.max(this.Yo.x,this.Yo.y,this.Yo.z)/this.RE(h)}}};k.rA=function(b,h){if(b.userData.id===h)return b;var g=null;if(b.children)for(var c=0;c<b.children.length&&!g;c++)g=this.rA(b.children[c],h);if(!g&&b.skeleton)for(c=0;c<b.skeleton.bones.length&&!g;c++)g=this.rA(b.skeleton.bones[c],h);return g};k.tAa=function(){this.Lfa||(this.Lfa=
new m.WebGLRenderer);return this.Lfa};k.SFa=function(b){this.Hfa||(this.Hfa=new m.DRACOLoader,this.Hfa.setDecoderPath(m.VHa));this.C1||(this.C1=new m.KTX2Loader,this.C1.setTranscoderPath(m.HHa),this.C1.detectSupport(this.tAa()));b.setKTX2Loader(this.C1);b.setMeshoptDecoder(m.MeshoptDecoder);b.setDRACOLoader(this.Hfa);return b};k.J1=new m.Matrix4;k.a1a=new m.Euler;k.objectPosition=new m.Vector3;k.a4a=new m.Quaternion;k.mS=new m.Vector3;k.Yo=new m.Vector3;k.mG=Math.PI/180;k.Lfa=null;return k}()});
define("C","require kS lg fK bf cg jP cp".split(" "),function(a){function e(f){this.m=f;this.pk=this.je=null;this.xU={};this.DV=new Map;this.Js=this.vl=this.o=null;this.fg=!1;this.fO=this.fO.bind(this);this.update()}function l(f,p){if(f==p||!(null!=f&&0!=f.length||null!=p&&0!=p.length))return!0;if(null==f||null==p||f.length!=p.length)return!1;for(var q=0;q<f.length;q++)if(f[q]!=p[q])return!1;return!0}var m=a("kS"),k=a("lg"),b=a("fK"),h=a("bf"),g=a("cg"),c=a("jP"),d=a("cp");e.prototype.update=function(){var f=
this.m.getComponent(b.Animation);this.em(f&&f.properties)};e.prototype.frame=function(f,p){this.jJ();this.fg&&(this.fg=!1,this.vl&&this.vl.frame(f,p),this.Js&&this.Js.frame(f,p))};e.prototype.dispose=function(){this.em(null)};e.prototype.em=function(f){this.o!=f&&(this.o&&(m.ba(this.o,["animations.autoplay"],this.fO),this.YUa()),(this.o=f)&&m.vt(this.o,["animations.autoplay"],this.fO),this.fO())};e.prototype.fO=function(){this.oxa()};e.prototype.jJ=function(){if(!this.je){var f=d.wc(this.m),p=d.wR(this.m);
if(this.je!=f||this.pk!=p)this.je=f,this.pk=p,this.xU={},this.pk.forEach(function(q){q.name&&(this.xU[q.name]=q)}.bind(this)),this.oxa()}};e.prototype.oxa=function(){var f=this.o&&this.o.get("animations")||[],p=this.pk||[],q=p.slice(),n=[],r=[],t=[],u=[];f.length&&p.length&&f.forEach(function(v){var w=v.get("index"),x=v.get("name"),y;void 0!==w&&w<p.length?y=p[w]:void 0!==x&&x in this.xU&&(y=this.xU[x]);0<=q.indexOf(y)&&(q.splice(q.indexOf(y),1),v.get("autoplay")?(n.push(y),r.push(v)):(t.push(y),
u.push(v)))}.bind(this));this.o&&0==r.length&&0<q.length&&(r=q.map(function(v){if(this.DV.has(v))return this.DV.get(v);var w=new h;this.DV.set(v,w);return w}.bind(this)),n=q);l(this.vl&&this.vl.getAnimations()||[],r)&&l(this.vl&&this.vl.wR()||[],n)||(this.vl&&(this.vl.dispose(),this.vl=null),0<r.length&&(this.vl=new g(this.o,this.je,r,n,this.Da.bind(this))));l(this.Js&&this.Js.getAnimations()||[],u)&&l(this.Js&&this.Js.wR()||[],t)||(this.Js&&(this.Js.dispose(),this.Js=null),0<u.length&&(this.Js=new c(this.o,
this.je,u,t,this.Da.bind(this))))};e.prototype.YUa=function(){(this.o&&this.o.get("animations")||[]).forEach(function(f){f.set("state",k.W);f.set("currentTime",0)});this.DV.clear()};e.prototype.Da=function(){this.fg||(this.fg=!0,this.m.U.Pa())};e.$a=function(f){f.J(b.cu).manager=new e(f)};e.Ba=function(f){var p=f.getComponent(b.cu);p.manager.dispose();p.manager=null;f.la(b.cu)};e.update=function(f){f.getComponent(b.cu).manager.update()};e.frame=function(f,p,q){f.getComponent(b.cu).manager.frame(p,
q)};return e});
define("nr",["require","lE","lO","fK","C"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("C");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(b,h){this.Fya.A.length&&this.Fya.A.slice().forEach(k.$a);this.animations.Ha.length&&this.animations.Ha.slice().forEach(function(g){k.update(g,b,h)});this.animations.A.length&&this.animations.A.slice().forEach(function(g){k.frame(g,b,h)});this.Gya.A.length&&this.Gya.A.slice().forEach(k.Ba)};a.H={};a.H.Fya=[m.Animation,m.cu.not];
a.H.Gya=[m.Animation.not,m.cu];a.H.animations=[m.Animation,m.cu];return a});
define("fi",["require"],function(){function a(v,w,x,y,z){for(var E,B=0,A=w,D=x-y;A<x;A+=y)B+=(v[D]-v[A])*(v[A+1]+v[D+1]),D=A;if(z===0<B)for(z=w;z<x;z+=y)E=r(z,v[z],v[z+1],E);else for(z=x-y;z>=w;z-=y)E=r(z,v[z],v[z+1],E);E&&c(E,E.next)&&(t(E),E=E.next);return E}function e(v,w){if(!v)return v;w||(w=v);do{var x=!1;if(v.oGa||!c(v,v.next)&&0!==g(v.prev,v,v.next))v=v.next;else{t(v);v=w=v.prev;if(v===v.next)break;x=!0}}while(x||v!==w);return w}function l(v,w,x,y,z,E,B){if(v){if(!B&&E){var A=v,D=A;do 0===
D.z&&(D.z=b(D.x,D.y,y,z,E)),D.Er=D.prev,D=D.ym=D.next;while(D!==A);D.Er.ym=null;D.Er=null;A=D;var C,J,H,P,W=1;do{D=A;var U=A=null;for(J=0;D;){J++;var S=D;for(C=H=0;C<W&&(H++,S=S.ym,S);C++);for(P=W;0<H||0<P&&S;)0!==H&&(0===P||!S||D.z<=S.z)?(C=D,D=D.ym,H--):(C=S,S=S.ym,P--),U?U.ym=C:A=C,C.Er=U,U=C;D=S}U.ym=null;W*=2}while(1<J)}for(A=v;v.prev!==v.next;){D=v.prev;S=v.next;if(E)U=m(v,y,z,E);else a:{var X=v;U=X.prev;P=X.next;if(0<=g(U,X,P))U=!1;else{J=U.x;H=X.x;W=P.x;C=U.y;X=X.y;var F=P.y,M=J<H?J<W?J:W:
H<W?H:W,T=C<X?C<F?C:F:X<F?X:F,Y=J>H?J>W?J:W:H>W?H:W,ca=C>X?C>F?C:F:X>F?X:F;for(P=P.next;P!==U;){if(P.x>=M&&P.x<=Y&&P.y>=T&&P.y<=ca&&h(J,C,H,X,W,F,P.x,P.y)&&0<=g(P.prev,P,P.next)){U=!1;break a}P=P.next}U=!0}}if(U)w.push(D.Jg/x|0),w.push(v.Jg/x|0),w.push(S.Jg/x|0),t(v),A=v=S.next;else if(v=S,v===A){if(B)if(1===B){v=e(v);B=w;A=x;D=v;do S=D.prev,U=D.next.next,!c(S,U)&&d(S,D,D.next,U)&&q(S,U)&&q(U,S)&&(B.push(S.Jg/A|0),B.push(D.Jg/A|0),B.push(U.Jg/A|0),t(D),t(D.next),D=v=U),D=D.next;while(D!==v);v=e(D);
l(v,w,x,y,z,E,2)}else{if(2===B)a:{B=v;do{for(A=B.next.next;A!==B.prev;){if(D=B.Jg!==A.Jg){D=B;S=A;if(U=D.next.Jg!==S.Jg&&D.prev.Jg!==S.Jg){b:{U=D;do{if(U.Jg!==D.Jg&&U.next.Jg!==D.Jg&&U.Jg!==S.Jg&&U.next.Jg!==S.Jg&&d(U,U.next,D,S)){U=!0;break b}U=U.next}while(U!==D);U=!1}U=!U}if(U){if(U=q(D,S)&&q(S,D)){U=D;J=!1;H=(D.x+S.x)/2;W=(D.y+S.y)/2;do U.y>W!==U.next.y>W&&U.next.y!==U.y&&H<(U.next.x-U.x)*(W-U.y)/(U.next.y-U.y)+U.x&&(J=!J),U=U.next;while(U!==D);U=J}U=U&&(g(D.prev,D,S.prev)||g(D,S.prev,S))||c(D,
S)&&0<g(D.prev,D,D.next)&&0<g(S.prev,S,S.next)}D=U}if(D){v=n(B,A);B=e(B,B.next);v=e(v,v.next);l(B,w,x,y,z,E,0);l(v,w,x,y,z,E,0);break a}A=A.next}B=B.next}while(B!==v)}}else l(e(v),w,x,y,z,E,1);break}}}}function m(v,w,x,y){var z=v.prev,E=v.next;if(0<=g(z,v,E))return!1;var B=z.x,A=v.x,D=E.x,C=z.y,J=v.y,H=E.y,P=B<A?B<D?B:D:A<D?A:D,W=C<J?C<H?C:H:J<H?J:H,U=B>A?B>D?B:D:A>D?A:D,S=C>J?C>H?C:H:J>H?J:H,X=b(P,W,w,x,y);w=b(U,S,w,x,y);x=v.Er;for(v=v.ym;x&&x.z>=X&&v&&v.z<=w;){if(x.x>=P&&x.x<=U&&x.y>=W&&x.y<=S&&
x!==z&&x!==E&&h(B,C,A,J,D,H,x.x,x.y)&&0<=g(x.prev,x,x.next))return!1;x=x.Er;if(v.x>=P&&v.x<=U&&v.y>=W&&v.y<=S&&v!==z&&v!==E&&h(B,C,A,J,D,H,v.x,v.y)&&0<=g(v.prev,v,v.next))return!1;v=v.ym}for(;x&&x.z>=X;){if(x.x>=P&&x.x<=U&&x.y>=W&&x.y<=S&&x!==z&&x!==E&&h(B,C,A,J,D,H,x.x,x.y)&&0<=g(x.prev,x,x.next))return!1;x=x.Er}for(;v&&v.z<=w;){if(v.x>=P&&v.x<=U&&v.y>=W&&v.y<=S&&v!==z&&v!==E&&h(B,C,A,J,D,H,v.x,v.y)&&0<=g(v.prev,v,v.next))return!1;v=v.ym}return!0}function k(v,w){return v.x-w.x}function b(v,w,x,y,
z){v=(v-x)*z|0;w=(w-y)*z|0;v=(v|v<<8)&16711935;v=(v|v<<4)&252645135;v=(v|v<<2)&858993459;w=(w|w<<8)&16711935;w=(w|w<<4)&252645135;w=(w|w<<2)&858993459;return(v|v<<1)&1431655765|((w|w<<1)&1431655765)<<1}function h(v,w,x,y,z,E,B,A){return(z-B)*(w-A)>=(v-B)*(E-A)&&(v-B)*(y-A)>=(x-B)*(w-A)&&(x-B)*(E-A)>=(z-B)*(y-A)}function g(v,w,x){return(w.y-v.y)*(x.x-w.x)-(w.x-v.x)*(x.y-w.y)}function c(v,w){return v.x===w.x&&v.y===w.y}function d(v,w,x,y){var z=p(g(v,w,x)),E=p(g(v,w,y)),B=p(g(x,y,v)),A=p(g(x,y,w));
return z!==E&&B!==A||0===z&&f(v,x,w)||0===E&&f(v,y,w)||0===B&&f(x,v,y)||0===A&&f(x,w,y)?!0:!1}function f(v,w,x){return w.x<=Math.max(v.x,x.x)&&w.x>=Math.min(v.x,x.x)&&w.y<=Math.max(v.y,x.y)&&w.y>=Math.min(v.y,x.y)}function p(v){return 0<v?1:0>v?-1:0}function q(v,w){return 0>g(v.prev,v,v.next)?0<=g(v,w,v.next)&&0<=g(v,v.prev,w):0>g(v,w,v.prev)||0>g(v,v.next,w)}function n(v,w){var x=new u(v.Jg,v.x,v.y),y=new u(w.Jg,w.x,w.y),z=v.next,E=w.prev;v.next=w;w.prev=v;x.next=z;z.prev=x;y.next=x;x.prev=y;E.next=
y;y.prev=E;return y}function r(v,w,x,y){v=new u(v,w,x);y?(v.next=y.next,v.prev=y,y.next.prev=v,y.next=v):(v.prev=v,v.next=v);return v}function t(v){v.next.prev=v.prev;v.prev.next=v.next;v.Er&&(v.Er.ym=v.ym);v.ym&&(v.ym.Er=v.Er)}function u(v,w,x){this.Jg=v;this.x=w;this.y=x;this.next=this.prev=null;this.z=0;this.ym=this.Er=null;this.oGa=!1}return function(v,w,x){x=x||2;var y=w&&w.length,z=y?w[0]*x:v.length,E=a(v,0,z,x,!0),B=[];if(!E||E.next===E.prev)return B;var A;if(y){var D=E;var C=x;E=[];var J;
y=0;for(J=w.length;y<J;y++){var H=w[y]*C;var P=y<J-1?w[y+1]*C:v.length;H=a(v,H,P,C,!1);H===H.next&&(H.oGa=!0);P=E;var W=P.push,U=H,S=H;do{if(U.x<S.x||U.x===S.x&&U.y<S.y)S=U;U=U.next}while(U!==H);W.call(P,S)}E.sort(k);for(y=0;y<E.length;y++){C=void 0;w=E[y];b:{J=D;H=w.x;P=w.y;W=-Infinity;do{if(P<=J.y&&P>=J.next.y&&J.next.y!==J.y&&(U=J.x+(P-J.y)*(J.next.x-J.x)/(J.next.y-J.y),U<=H&&U>W&&(W=U,C=J.x<J.next.x?J:J.next,U===H)))break b;J=J.next}while(J!==D);if(C){S=C;var X=C.x,F=C.y,M=Infinity;J=C;do{if(H>=
J.x&&J.x>=X&&H!==J.x&&h(P<F?H:W,P,X,F,P<F?W:H,P,J.x,J.y)){U=Math.abs(P-J.y)/(H-J.x);var T;if((T=q(J,w))&&!(T=U<M)&&(T=U===M)&&!(T=J.x>C.x)&&(T=J.x===C.x)){T=C;var Y=J;T=0>g(T.prev,T,Y.prev)&&0>g(Y.next,T,T.next)}T&&(C=J,M=U)}J=J.next}while(J!==S)}else C=null}C&&(w=n(C,w),e(w,w.next),D=e(C,C.next))}E=D}if(v.length>80*x){var ca=A=v[0];var da=y=v[1];for(D=x;D<z;D+=x)w=v[D],C=v[D+1],w<ca&&(ca=w),C<da&&(da=C),w>A&&(A=w),C>y&&(y=C);A=Math.max(A-ca,y-da);A=0!==A?32767/A:0}l(E,B,x,ca,da,A,0);return B}});
define("ob",["require","exports","three.mod"],function(a,e,l){return function(){function m(){}m.e2a=function(k){return k.userData.zr||k.material};m.jA=function(k,b){if(k.material!=b&&k.userData.zr!=b){var h=k.userData.hS,g=k.userData.$ga;this.LS(k);k.material=b;g?this.rza(k):h&&this.r0(k);k.needsUpdate=!0}};m.r0=function(k,b){void 0===b&&(b=null);k.userData.hS||(k.userData.hS=!0,k.userData.zr=k.material,k.material=b||this.n0a(k.material))};m.LS=function(k){k.userData.hS&&(this.U0a(k.material),k.material=
k.userData.zr,delete k.userData.zr,delete k.userData.hS,delete k.userData.$ga)};m.W8a=function(k){if(k.userData.hS){var b=k.userData.zr;k=k.material;k.side=b.side;k.depthTest=b.depthTest;k.map&&b.map&&(k.map.encoding=b.map.encoding);k.emissiveMap&&b.emissiveMap&&(k.emissiveMap.encoding=b.emissiveMap.encoding)}};m.rza=function(k){this.E2a(k)||(this.LS(k),this.r0(k,this.m0a(k.material)),k.userData.$ga=!0)};m.E2a=function(k){return!(!k.userData.$ga&&k.material&&!this.q1(k.material))};m.q1=function(k){return Array.isArray(k)?
!!k.every(function(b){return m.q1(b)}):k?!(k.isMeshPhysicalMaterial||k.isMeshStandardMaterial):!1};m.m0a=function(k){return Array.isArray(k)?k.map(function(b){return m.oza(b)}):k?this.oza(k):k};m.oza=function(k){return(new l.MeshBasicMaterial).copy(k)};m.n0a=function(k){return Array.isArray(k)?k.map(function(b){return b.clone()}):k?k.clone():k};m.U0a=function(k){Array.isArray(k)?k.forEach(function(b){b.dispose()}):k&&k.dispose()};return m}()});
define("o","require lE pf fi lO fK cp ob".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("fi"),k=a("lO"),b=a("fK"),h=a("cp"),g=a("ob");a=e.extend(k,function(){k.apply(this,arguments);this.we=this.we.bind(this);this.Ne=this.Ne.bind(this);this.Zc=this.Zc.bind(this);this.y3=this.y3.bind(this)});a.prototype.Bd=function(){this.Jya.A.length&&this.Jya.A.slice().forEach(this.we);this.Iya.Ha.length&&this.V8a(this.Iya.Ha.slice());this.areas.Ha.length&&this.areas.Ha.slice().forEach(this.Ne);this.Kya.A.length&&
this.Kya.A.slice().forEach(this.Zc);this.Lya.A.length&&this.Lya.A.slice().forEach(this.Zc)};a.prototype.we=function(H){H.J(b.Lx);this.Ne(H)};a.prototype.Ne=function(H){this.a9a(H);this.fHa(H)};a.prototype.V8a=function(H){var P=[];H.forEach(function(W){W.getComponent(b.hB).Z_.forEach(function(U){-1===P.indexOf(U)&&P.push(U)})});P.forEach(this.y3)};a.prototype.a9a=function(H){this.f9a(H);this.y3(H)};a.prototype.f9a=function(H){var P=H.getComponent(b.Gm),W=P&&P.A||[],U=(P=H.getComponent(b.Lx))&&P.A||
[];U.forEach(function(S){if(-1===W.indexOf(S)){var X=S.getComponent(b.hB).Z_.filter(function(F){return F!==F});0==X.length?S.la(b.hB):S.I(b.hB).Z_=X}});W.forEach(function(S){-1===U.indexOf(S)&&S.I(b.hB,!0).Z_.push(H)})};var c=new THREE.Matrix4,d=[];a.prototype.y3=function(H){var P=H.getComponent(b.Gm);for(P=P&&P.A||[];d.length<P.length;)d.push(new THREE.Vector3);var W=P.map(function(M,T){return M.getComponent(b.Object3D).sa.getWorldPosition(d[T])});W=W.filter(function(M,T){return 1E-4<M.distanceTo(W[(T+
1)%W.length])});P=this.t2a(W);if(0===P.length)this.foa(H),this.Rwa(H);else{this.dWa(H,3*P.length);this.h9a(H,d,P);c.copy(H.getComponent(b.Object3D).sa.matrixWorld).invert();d.forEach(function(M){M.applyMatrix4(c)});H=H.getComponent(b.Geometry);for(var U=H.geometry.attributes.position.array,S=0,X=0;S<P.length;){var F=d[P[S++]];U[X++]=F.x;U[X++]=F.y;U[X++]=F.z;F=d[P[S++]];U[X++]=F.x;U[X++]=F.y;U[X++]=F.z;F=d[P[S++]];U[X++]=F.x;U[X++]=F.y;U[X++]=F.z}H.geometry.attributes.position.needsUpdate=!0}};var f=
new THREE.Plane,p=new THREE.Vector3,q=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Line3,t=new THREE.Vector3,u=new THREE.Vector3,v=new THREE.Vector3,w=new THREE.Vector3,x=new THREE.Vector3,y=5*Math.PI/180;a.prototype.t2a=function(H){if(3>H.length)return[];var P=H[0];for(var W=Number.NEGATIVE_INFINITY,U=1;U<H.length;++U){var S=P.distanceToSquared(H[U]);if(!(S<=W)){W=S;var X=H[U]}}if(0>=W)return[];r.set(P,X);W=Number.NEGATIVE_INFINITY;for(U=0;U<H.length;++U)if(S=r.closestPointToPoint(H[U],!0,t).distanceToSquared(H[U]),
!(S<=W)){W=S;var F=H[U]}if(0>=W)return[];f.setFromCoplanarPoints(P,X,F);for(U=0;U<H.length;++U)if(W=H[U],W!==P&&W!==X&&W!==F){u.copy(P).sub(W).normalize();v.copy(X).sub(W).normalize();w.copy(F).sub(W).normalize();W=u.dot(v);S=u.dot(w);var M=v.dot(w);W<S&&W<M?x.copy(u).cross(v):S<M?x.copy(u).cross(w):x.copy(v).cross(w);x.normalize();W=Math.abs(Math.acos(x.dot(f.normal)));W>.5*Math.PI&&(W=Math.PI-W);if(W>y)return[]}q.copy(H[1]).sub(H[0]).normalize();n.copy(f.normal).cross(q).normalize();P=[];for(U=
0;U<H.length;++U)f.projectPoint(H[U],p),P.push(p.dot(q),p.dot(n));return m(P,null,2)};var z=new THREE.Vector3,E=new THREE.Vector3,B=new THREE.Vector3,A=new THREE.Vector3,D=new THREE.Vector3,C=new THREE.Vector3,J=new THREE.Vector3;a.prototype.h9a=function(H,P,W){var U=0;z.set(0,0,0);for(var S=0;S<W.length;){B.copy(P[W[S++]]);A.copy(P[W[S++]]);D.copy(P[W[S++]]);E.copy(B).add(A).add(D).divideScalar(3);var X=.5*J.subVectors(D,B).cross(C.subVectors(A,B)).length();E.multiplyScalar(X);z.add(E);U+=X}z.divideScalar(U);
P=H.I(b.Aa,!0);P.positionX=z.x;P.positionY=z.y;P.positionZ=z.z;h.aT(H,P);this.Rwa(H,U)};a.prototype.Rwa=function(H,P){(H=(H=H.I(b.Gm))&&H.P)&&H.trigger(l.ca,{area:P})};a.prototype.fHa=function(H){var P=H.getComponent(b.Object3D);if(P=P&&P.sa){var W=H.getComponent(b.Material).material;W&&g.jA(P,W);P.renderOrder=H.getComponent(b.Gm).renderOrder}};a.prototype.foa=function(H){var P=H.getComponent(b.Geometry);P&&(P.geometry&&P.geometry.dispose(),H.la(b.Geometry),H.getComponent(b.Object3D).sa.geometry=
null);if(P=H.getComponent(b.Object3D))P.sa&&P.sa.parent&&P.sa.parent.remove(P.sa),H.la(b.Object3D)};a.prototype.dWa=function(H,P){var W=H.getComponent(b.Geometry);W&&W.geometry&&W.geometry.attributes.position.array.length===3*P||(W=H.I(b.Geometry,!0),W.geometry&&W.geometry.dispose(),W.geometry=this.OMa(P),P=H.getComponent(b.Object3D),P||(P=H.J(b.Object3D),P.sa=new THREE.Mesh,this.fHa(H)),P.sa.geometry=W.geometry)};a.prototype.OMa=function(H){var P=new THREE.BufferGeometry,W=P.setAttribute,U=THREE.Float32BufferAttribute;
H*=3;for(var S=[],X=0;X<H;X++)S.push(0);W.call(P,"position",new U(S,3));return P};a.prototype.Zc=function(H){this.foa(H);H.la(b.Lx);H.la(b.Object3D)};a.H={};a.H.Jya=[b.Material,b.Gm,b.Lx.not];a.H.Iya=[b.Object3D,b.Aa,b.hB];a.H.areas=[b.Gm,b.Material,b.Lx];a.H.Kya=[b.Gm.not,b.Lx];a.H.Lya=[b.Material.not,b.Lx];return a});
define("nl","require lE pf lO fK cp".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lO"),k=a("fK"),b=a("cp");a=e.extend(m,function(){m.apply(this,arguments);this.Oia=this.Oia.bind(this);this.o3=this.o3.bind(this);this.Nia=this.Nia.bind(this);this.n3=this.n3.bind(this);this.ZQ=new Map;this.JCa=new Map;this.b0=new Map;this.KCa=new Map});a.prototype.Bd=function(){this.Qya.A.length&&this.Qya.A.slice().forEach(this.Oia);this.Rya.A.length&&this.Rya.A.slice().forEach(this.o3);this.Sya.A.length&&this.Sya.A.slice().forEach(this.o3);
this.Tya.A.length&&this.Tya.A.slice().forEach(this.Nia);this.Uya.A.length&&this.Uya.A.slice().forEach(this.n3);this.Vya.A.length&&this.Vya.A.slice().forEach(this.n3);this.frame()};a.H={};a.H.Qya=[k.Object3D,k.Sn,k.gu.not];a.H.M_a=[k.Object3D,k.Sn,k.gu];a.H.Rya=[k.Object3D.not,k.gu];a.H.Sya=[k.Sn.not,k.gu];a.H.Tya=[k.Object3D,k.Px,k.Qx.not];a.H.Uya=[k.Object3D.not,k.Qx];a.H.Vya=[k.Px.not,k.Qx];a.prototype.frame=function(){0!=this.M_a.A.length&&this.b0.forEach(function(h,g){var c=this.ZQ.get(g)||[];
c.forEach(function(d){var f=d.getComponent(k.Object3D).sa;d.getComponent(k.Qx).position.set(0,0,0).applyMatrix4(f.matrixWorld)});h.forEach(function(d){var f=d.getComponent(k.Object3D).sa;d.getComponent(k.gu).position.set(0,0,0).applyMatrix4(f.matrixWorld)});h.forEach(function(d){var f=d.getComponent(k.Sn).P;d=this.xR(c,d.getComponent(k.gu).position);f.trigger(l.ca,{beacons:d})}.bind(this))}.bind(this))};a.prototype.w1a=function(h){return function(g){var c=this.ZQ.get(h.U)||[];return this.xR(c,g)}.bind(this)};
a.prototype.xR=function(h,g){h=h.map(function(c){return{entity:c,distance:g.distanceTo(c.getComponent(k.Qx).position)}});h.sort(function(c,d){return c.distance-d.distance});return h};a.prototype.Oia=function(h){h.J(k.gu).position=new THREE.Vector3;this.KCa.set(h,b.wc(h));var g=this.b0.get(h.U);g||this.b0.set(h.U,g=[]);0>g.indexOf(h)&&g.push(h);h.getComponent(k.Sn).xR=this.w1a(h)};a.prototype.o3=function(h){var g=this.b0.get(h.U),c=g.indexOf(h);0<=c&&g.splice(c,1);this.KCa["delete"](h);h.la(k.gu)};
a.prototype.Nia=function(h){h.J(k.Qx).position=new THREE.Vector3;this.JCa.set(h,b.wc(h));var g=this.ZQ.get(h.U);g||this.ZQ.set(h.U,g=[]);0>g.indexOf(h)&&g.push(h)};a.prototype.n3=function(h){var g=this.ZQ.get(h.U),c=g.indexOf(h);0<=c&&g.splice(c,1);this.JCa["delete"](h);h.la(k.Qx)};return a});
define("lh",["require","exports"],function(){return function(){function a(){}a.rm=function(e,l,m){return this.CE(e,l,m)};a.Or=function(e,l,m){return this.CE(e,m,l)};a.CE=function(e,l,m){return 2*Math.atan(m*Math.tan(e*this.mG*.5)/l)*this.pJa};a.pJa=180/Math.PI;a.mG=Math.PI/180;return a}()});
define("ij","require lE pf lO fK lh oA cp".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lO"),k=a("fK"),b=a("lh"),h=a("oA"),g=a("cp");a=e.extend(m,function(){m.apply(this,arguments);this.Qia=this.Qia.bind(this);this.Ria=this.Ria.bind(this);this.z3=this.z3.bind(this);this.A3=this.A3.bind(this);this.bja=this.bja.bind(this);this.cja=this.cja.bind(this);h.P.bind(l.ca,this.Je,this,!0)});a.prototype.Bd=function(){this.GDa.A.length&&this.GDa.A.slice().forEach(this.Qia);this.LDa.A.length&&this.LDa.A.slice().forEach(this.Ria);
this.lF.Ha.length&&this.lF.Ha.slice().forEach(this.z3);this.Dr.Ha.length&&this.Dr.Ha.slice().forEach(this.A3);this.HDa.A.length&&this.HDa.A.slice().forEach(this.bja);this.MDa.A.length&&this.MDa.A.slice().forEach(this.cja)};a.prototype.Je=function(){this.Dr.A.forEach(function(n){n.I(k.PerspectiveCamera)})};a.prototype.Qia=function(n){var r=n.I(k.OrthographicCamera),t=n.J(k.bs);n.J(k.Object3D).sa=t.camera=r.camera=new THREE.OrthographicCamera;this.z3(n)};a.prototype.Ria=function(n){var r=n.I(k.PerspectiveCamera),
t=n.J(k.zj);t.boundingBox=new THREE.Box3;t.p2=!0;n.J(k.Object3D).sa=t.camera=r.camera=new THREE.PerspectiveCamera;this.A3(n)};a.prototype.z3=function(n){var r=n.getComponent(k.OrthographicCamera);n=n.getComponent(k.bs);n.width=r.width;n.height=r.height;n=n.camera;n.left=-.5*r.width;n.right=.5*r.width;n.top=.5*r.height;n.bottom=-.5*r.height;n.updateProjectionMatrix()};a.prototype.A3=function(n){var r=n.getComponent(k.PerspectiveCamera),t=n.getComponent(k.zj);r.sm?(n.J(k.mk),t.width=h.framebufferWidth?
.5*h.framebufferWidth:r.width,t.height=h.framebufferHeight||r.height,n=t.gk=h.dh.xr.getCamera(),n.aspect=t.width/t.height,n.fov=t.fov=n&&n.cameras.length?2*Math.atan2(1,n.cameras[0].projectionMatrix.elements[5])*f:r.fov,n.near=t.near=.1,n.far=t.far=1E3,g.w3(n)):(n.la(k.mk),t.fov=r.fov,t.width=r.width,t.height=r.height,t.gk=null,n=t.camera,n.aspect=t.width/t.height,n.fov=t.width>t.height?b.rm(t.fov,t.width,t.height):t.fov,n.near=t.near=r.near,n.far=t.far=r.far,g.w3(n),t.camera.updateProjectionMatrix())};
a.prototype.bja=function(n){var r=n.getComponent(k.bs);r.camera.parent&&r.camera.parent.remove(r.camera);r.camera=null;n.la(k.bs);n.la(k.Object3D)};a.prototype.cja=function(n){var r=n.getComponent(k.zj),t=r.camera;h.S$a&&t.parent&&t.parent.remove(t);r.camera=null;n.la(k.zj);n.la(k.Object3D)};a.H={};a.H.GDa=[k.OrthographicCamera,k.bs.not];a.H.HDa=[k.OrthographicCamera.not,k.bs];a.H.LDa=[k.PerspectiveCamera,k.zj.not];a.H.MDa=[k.PerspectiveCamera.not,k.zj];a.H.lF=[k.OrthographicCamera,k.bs];a.H.Dr=[k.PerspectiveCamera,
k.zj];a.SF=e.extend(m,function(){m.apply(this,arguments);this.Hha=this.Hha.bind(this)});a.SF.prototype.Bd=function(){this.Dr.A.length&&this.Dr.A.slice().forEach(this.Hha)};a.SF.prototype.Hha=function(n){var r=n.getComponent(k.PerspectiveCamera);if(r.Nya){var t=n.getComponent(k.zj),u=t.scene||g.Ch(n),v=t.camera;if(u&&v&&g.GR(v)===u){var w=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(r.sm)w=.1,x=1E3;else{var y=!1;t.p2&&(t.boundingBox=this.Y6(u,t.boundingBox),t.p2=!1,y=!0);u=t.boundingBox;
u=[[u.min.x,u.max.x],[u.min.y,u.max.y],[u.min.z,u.max.z]];for(var z=0;2>z;z++)for(var E=0;2>E;E++)for(var B=0;2>B;B++)q.set(u[0][z],u[1][E],u[2][B]).applyMatrix4(v.matrixWorldInverse),-q.z>x&&(x=-q.z),-q.z<w&&(w=-q.z);u=Math.max(r.Oya||0,0);z=.5*(w+x);w+=(w-z)*u;x+=(x-z)*u;x=Infinity==x||isNaN(x)?2E3:x;w=0<w?w:20<x?.1:.01}if(Math.abs(r.near-w)>d||Math.abs(r.far-x)>d)v.far=t.far=r.far=x,v.near=t.near=r.near=w,g.w3(v),g.XGa(v),v.updateProjectionMatrix();y||t.hfa||(t.hfa=setTimeout(function(){t.hfa=
null;t.p2=!0;n.U&&n.U.Pa()},c))}}};a.SF.prototype.Y6=function(n,r){r||(r=new THREE.Box3);r.makeEmpty();n.traverse(function(t){if(t.boundingBox)var u=t.boundingBox;else{if(!t.geometry||t.isSprite||t.N$a||t.material&&!t.material.visible)return;t.updateWorldMatrix(!1,!1);u=t.geometry;null===u.boundingBox&&u.computeBoundingBox();u=u.boundingBox}p.copy(u);p.applyMatrix4(t.matrixWorld);r.union(p)});return r};var c=500,d=1E-4,f=180/Math.PI,p=new THREE.Box3,q=new THREE.Vector3;a.SF.H={};a.SF.H.Dr=[k.PerspectiveCamera,
k.zj];return a});
define("he",["require","exports","three.mod"],function(a,e,l){a=function(){function g(){}g.intersect=function(c,d){m.length=0;d.forEach(function(f){this.fEa(f);f.isSkinnedMesh&&!f.userData.cfa&&(f.userData.cfa=f.geometry.boundingBox,f.geometry.boundingBox=b,f.userData.Yya=f.geometry.boundingSphere,f.geometry.boundingSphere=h,m.push(f))}.bind(this));c.firstHitOnly=!0;d=d.filter(function(f){return(f.isScene||f.parent)&&(!f.isMesh||f.geometry)});k.length=0;k=c.intersectObjects(d,!1,k);m.forEach(function(f){f.geometry.boundingBox=
f.userData.cfa;delete f.userData.cfa;f.geometry.boundingSphere=f.userData.Yya;delete f.userData.Yya});k=k.filter(function(f){return f.object.isLine?!1:!0});k.sort(function(f,p){var q=-f.object.renderOrder,n=-p.object.renderOrder;q==n&&(q=f.object.material&&!f.object.material.depthTest?0:1,n=p.object.material&&!p.object.material.depthTest?0:1);q==n&&(q=f.distance,n=p.distance);return q-n});return k};g.fEa=function(c){if(c.isMesh&&c.geometry&&!c.geometry.userData.Wya&&!c.isSkinnedMesh){try{c.geometry.computeBoundsTree()}catch(d){}c.geometry.userData.Wya=
!0}};return g}();var m=[],k=[],b=new l.Box3;b.min.x=b.min.y=b.min.z=-Infinity;b.max.x=b.max.y=b.max.z=Infinity;var h=new l.Sphere;h.center.x=h.center.y=h.center.z=0;h.radius=Infinity;return a});
define("mp",["require","exports","cp","he","three.mod"],function(a,e,l,m,k){a=function(){function g(c){this.uF=null;this.Fza=new k.Vector3;this.Ffa=void 0;this.hb=c}g.prototype.refresh=function(){this.uF=null};g.prototype.KF=function(c,d){return 0<this.intersect(c,d).length};g.prototype.n3a=function(c){var d=l.lr(this.hb);if(!d)return[];b.far=d.far;b.setFromCamera(c,d);return m.intersect(b,this.Y0())};g.prototype.VR=function(c){var d=l.lr(c.hb||this.hb);if(!d)return[];b.far=Infinity;b.camera=d;b.ray.origin.copy(c.origin);
b.ray.direction.copy(c.direction);c.matrixWorld&&b.ray.applyMatrix4(c.matrixWorld);return m.intersect(b,this.Y0())};g.prototype.intersect=function(c,d){b.far=c.distanceTo(d);b.ray.origin.copy(c);b.ray.direction.copy(d).sub(c).normalize();return m.intersect(b,this.Y0())};g.prototype.LJ=function(c){if(this.Fza.equals(c)&&void 0!==this.Ffa)return this.Ffa;b.far=Infinity;b.ray.origin.copy(c);b.ray.direction.copy(h);var d=m.intersect(b,this.Y0());if(0===d.length)return Infinity;this.Fza.copy(c);return this.Ffa=
d[0].distance};g.prototype.Y0=function(){if(this.uF)return this.uF;var c=l.Ch(this.hb);if(!c)return this.uF=[];var d=[];(g.lS.get(this.hb.U)||[]).forEach(function(p){(p=l.wc(p))&&d.push(p)});this.uF=[];for(c=[c];0<c.length;){var f=c.pop();f.userData.S1||f.isSprite||f.isLine||f.isSkinnedMesh||f.material&&!f.material.visible||-1!==d.indexOf(f)||(f.children&&c.push.apply(c,f.children),this.uF.push(f))}return this.uF};g.$6a=function(c){this.lS.clear();c.forEach(function(d){this.lS.has(d.U)||this.lS.set(d.U,
[]);this.lS.get(d.U).push(d)}.bind(this))};g.lS=new Map;return g}();var b=new k.Raycaster,h=new k.Vector3(0,-1,0);return a});
define("dU","require exports pf lg nU fK oH bG".split(" "),function(a,e,l,m,k,b,h,g){return function(){function c(d,f,p){this.N=d;this.properties=f;this.eh=p;this.Yha=0;this.mF=this.ix=void 0;this.n2=!1;this.O2(0);this.Tfa=this.y0=this.Sfa=this.w0=this.state=void 0;this.Lc(m.W);this.eh.bind(l.D("state"),this.jF,this,!0);this.eh.bind(l.D("movementIndex"),this.gDa,this,!0)}c.prototype.iL=function(){this.eh.get("mandatory")||(this.g0(),this.eh.get("restartMovementOnUserInteraction")?this.state==m.Y&&
(this.qGa(),this.Lc(m.Ib,!0)):this.state==m.Y&&this.Lc(m.W))};c.prototype.q9a=function(){this.state==m.Ib&&this.n2&&this.eh.get("restartMovementOnUserInteraction")&&this.l8a()};c.prototype.frame=function(d){this.state==m.Y&&null!==this.ii&&(this.ii.Qga()||0!=this.ix||this.eh.trigger(l.rp),this.ii.Cb(d),this.$8a(),this.properties.set("x",this.ii.fb("x")),this.properties.set("y",this.ii.fb("y")),this.properties.set("z",this.ii.fb("z")),this.properties.set("yaw",this.NA(this.ii.fb("yaw"),-180,180)),
this.properties.set("pitch",this.ii.fb("pitch")),this.properties.set("distance",this.ii.fb("distance")),this.properties.set("fov",this.ii.fb("fov")),this.properties.set("easing",0),d=this.eh.get("movements")[this.ix],d.set("position",this.ii.$k()),d.trigger(l.Jm),this.ii.Ye()&&(d.trigger(l.Bb),this.O2((this.ix+1)%this.eh.get("movements").length,!0),0==this.ix&&(this.Yha++,this.eh.trigger(l.Ip),this.Yha==this.eh.get("repeat")&&(this.wEa(),this.Lc(m.W),this.eh.trigger(l.Bb)))))};c.prototype.$8a=function(){var d=
void 0!==this.w0&&void 0!==this.Sfa,f=void 0!==this.y0&&void 0!==this.Tfa;if(d||f){var p=this.N.getComponent(b.nb).N;if(p){var q=this.ii.getTime(),n=this.ii.ji();p=p.I(b.Scene,!0);d=d&&q<this.w0?1-q/this.w0:0;f=f&&n-q<this.y0?1-(n-q)/this.y0:0;0<f||0<d?f>d?(p.QJ=this.Tfa,p.oR=f):(p.QJ=this.Sfa,p.oR=d):(p.QJ="#000000",p.oR=0)}}};c.prototype.wEa=function(){var d=this.N.getComponent(b.nb);if(d=d&&d.N)d.I(b.Scene).oR=0};c.prototype.dispose=function(){this.g0();this.eh.unbind(l.D("state"),this.jF,this);
this.eh.unbind(l.D("movementIndex"),this.gDa,this);this.Lc(m.W)};c.prototype.jF=function(){var d=this.eh.get("state");this.state!=d&&(d==m.Ib&&this.state==m.W?this.eh.set("state",m.W):this.Lc(d))};c.prototype.Lc=function(d,f){void 0===f&&(f=void 0);this.state!=d&&(this.state=d,this.state==m.Y?(this.g0(),this.n2=!1,this.tza(),this.e0a()):this.state==m.Ib?(this.n2=!!f,this.qGa()):this.state==m.W&&(this.n2=!1,this.g0(),this.Yha=0,d=this.ii.getTime(),f=this.ii.ji(),0<d&&d<f&&this.wEa(),this.O2(0)));this.eh.set("state",
this.state)};c.prototype.gDa=function(){this.O2(this.eh.get("movementIndex"))};c.prototype.O2=function(d,f){void 0===f&&(f=void 0);if(this.ix!==d||f)this.ix=d,this.tza(),this.eh.set("movementIndex",this.ix),this.eh.get("movements")[this.ix].set("position",0)};c.prototype.l8a=function(){this.E2=setTimeout(function(){this.E2=null;this.Lc(m.Y)}.bind(this),this.eh.get("restartMovementDelay"))};c.prototype.g0=function(){this.E2&&(clearTimeout(this.E2),this.E2=null)};c.prototype.tza=function(){var d=this.eh.get("movements")[this.ix],
f=this.properties.get("x",this.properties.get("initialX",0)),p=this.properties.get("y",this.properties.get("initialY",0)),q=this.properties.get("z",this.properties.get("initialZ",0)),n=this.NA(this.properties.get("yaw",this.properties.get("initialYaw",0)),-180,180),r=this.properties.get("pitch",this.properties.get("initialPitch",0)),t=this.properties.get("distance",0),u=this.properties.get("fov",this.properties.get("initialFov"));if(k.Ia("TargetModel3DCameraMovement",d)){var v=d.get("targetX",f);
var w=d.get("targetY",p);var x=d.get("targetZ",q);var y=d.get("targetYaw",n);var z=d.get("targetPitch",r);var E=d.get("targetFov",u);var B=d.get("targetDistance",t);switch(this.e1a(d)){case "left":y=this.NA(y,n-360,n);break;case "right":y=this.NA(y,n,n+360);break;case "longest":y=this.NA(y,n-180,n+180);y=y==n?n+360:y>=n?this.NA(y,n-360,n):this.NA(y,n,n+360);break;default:y=this.NA(y,n-180,n+180)}}else k.Ia("DistanceModel3DCameraMovement",d)&&(v=f+d.get("xDelta",0),w=p+d.get("yDelta",0),x=q+d.get("zDelta",
0),y=n+d.get("yawDelta",0),z=r+d.get("pitchDelta",0),E=u+d.get("fovDelta",0),B=t+d.get("distanceDelta",0));this.ii=new h(d.get("easing"),[new g("x",f,v,d.get("xSpeed")),new g("y",p,w,d.get("ySpeed")),new g("z",q,x,d.get("zSpeed")),new g("yaw",n,y,d.get("yawSpeed")),new g("pitch",r,z,d.get("pitchSpeed")),new g("fov",u,E,d.get("fovSpeed")),new g("distance",t,B,d.get("distanceSpeed"))],d.get("duration"));this.w0=d.get("fadeFromDuration");this.Sfa=d.get("fadeFromColor");this.y0=d.get("fadeToDuration");
this.Tfa=d.get("fadeToColor")};c.prototype.e0a=function(){this.mF=void 0};c.prototype.qGa=function(){if(this.ii){this.mF=void 0;var d=this.ii&&this.ii.bga("yaw");d&&(d.to>d.from?this.mF="right":d.to<d.from&&(this.mF="left"))}};c.prototype.e1a=function(d){d=d.get("yawPath");"longest"==d&&this.mF&&(d=this.mF);this.mF=void 0;return d};c.prototype.NA=function(d,f,p){for(;d<f;)d+=p-f;for(;d>p;)d-=p-f;return d};return c}()});
define("kA","require exports kS pf lg dU cp".split(" "),function(a,e,l,m,k,b,h){return function(){function g(c,d){this.N=c;this.properties=d;this.i2=this.i2.bind(this);this.f2=this.f2.bind(this);this.jF=this.jF.bind(this);this.al=this.Pt=null;this.LK=[];this.vg=null;this.aB=!1;this.Qw=new Map;l.ha(this.properties,["userInteracting"],this.i2,!0);l.ha(this.properties,["initialSequence","idleSequence","sequences.movements"],this.f2,!0);l.ha(this.properties,["state"],this.jF,!0);this.ready=!1}g.prototype.frame=
function(c){if(!this.ready){var d=h.Ch(this.N),f=0;d&&d.traverse(function(p){(p.isMesh||p.isSprite)&&f++});if(0<f)this.ready=!0,this.w4a();else return!1}this.vg&&this.Qw.get(this.vg).frame(c);(c=this.vg&&this.vg.get("state")==k.Y)&&this.N.U.Pa();this.properties.set("controllingPosition",c)};g.prototype.dispose=function(){this.vg&&this.vg.get("mandatory")&&this.properties.set("inMandatorySequence",!1);this.vg&&this.properties.set("controllingPosition",!1);l.ba(this.properties,["userInteracting"],this.i2);
l.ba(this.properties,["initialSequence","idleSequence","sequences.movements"],this.f2);l.ba(this.properties,["state"],this.jF);this.c3();this.al&&this.KJ(this.al);this.Pt&&this.KJ(this.Pt);this.LK.forEach(this.KJ.bind(this));this.LK=[]};g.prototype.mT=function(){this.aB||this.WE||!this.al||this.vg||!this.properties.get("timeToIdle")||(this.WE=setTimeout(function(){this.WE=null;this.o4a()}.bind(this),this.properties.get("timeToIdle")))};g.prototype.c3=function(){this.WE&&(clearTimeout(this.WE),this.WE=
null)};g.prototype.o4a=function(){this.al&&this.al.set("state",k.Y)};g.prototype.w4a=function(){this.Pt?this.Pt.set("state",k.Y):this.mT()};g.prototype.jF=function(){this.vg?this.vg.set("state",this.properties.get("state")):this.properties.get("state")==k.Y?(this.mT(),this.WE||this.properties.set("state",k.W)):this.c3()};g.prototype.i2=function(){var c=this.properties.get("userInteracting");this.aB!=c&&(this.aB&&(this.vg&&this.Qw.get(this.vg).q9a(),!this.al||this.vg&&this.vg!=this.al||this.mT()),
this.aB=c)&&(this.c3(),this.vg&&this.Qw.get(this.vg).iL())};g.prototype.f2=function(){var c=this.fia(this.properties.get("initialSequence"));this.Pt!=c&&(this.Pt&&this.KJ(this.Pt),(this.Pt=c)&&this.wfa(this.Pt));c=this.fia(this.properties.get("idleSequence"));this.al!=c&&(this.al&&this.KJ(this.al),(this.al=c)&&this.wfa(this.al));var d=(this.properties.get("sequences")||[]).filter(this.fia.bind(this));this.LK.forEach(function(p){0>d.indexOf(p)&&this.KJ(p)}.bind(this));var f=this.LK;this.LK=d;this.LK.forEach(function(p){0>
f.indexOf(p)&&this.wfa(p)}.bind(this));this.vg||!this.al||this.WE||this.mT()};g.prototype.fia=function(c){var d=c&&c.get("movements");return d&&0!=d.length?c:null};g.prototype.tDa=function(c){c=c.source;var d=c.get("state");d==k.Y?(this.c3(),d=this.vg,this.vg=c,d&&d!=this.vg&&d.set("state",k.W),this.properties.set("state",k.Y),this.properties.set("inMandatorySequence",c.get("mandatory")),this.N.U.Pa()):d==k.Ib?c==this.vg&&this.properties.set("state",k.Ib):d==k.W&&c==this.vg&&(this.properties.set("state",
k.W),this.properties.set("inMandatorySequence",!1),this.vg=null,c!=this.al&&this.mT())};g.prototype.wfa=function(c){if(this.Qw.has(c))this.Qw.get(c);else{c.set("state",k.W);c.bind(m.D("state"),this.tDa,this,!0);var d=new b(this.N,this.properties,c);this.Qw.set(c,d)}};g.prototype.KJ=function(c){this.Qw.has(c)&&(c.set("state",k.W),c.unbind(m.D("state"),this.tDa,this),this.Qw.get(c).dispose(),this.Qw["delete"](c))};return g}()});
define("fb",["require","exports","kA","fK"],function(a,e,l,m){return function(){function k(b){this.QS=this.properties=null;this.N=b;this.update()}k.prototype.update=function(){var b=this.N.getComponent(m.XF);this.SK(b&&b.properties)};k.prototype.SK=function(b){var h;this.properties&&(null===(h=this.QS)||void 0===h?void 0:h.dispose(),this.QS=null);if(this.properties=b)this.QS=new l(this.N,this.properties)};k.prototype.frame=function(b){this.QS&&this.QS.frame(b)};k.prototype.dispose=function(){this.SK(null)};
k.$a=function(b){b.J(m.hu).manager=new k(b)};k.update=function(b){b.getComponent(m.hu).manager.update()};k.frame=function(b,h,g){b.getComponent(m.hu).manager.frame(h,g)};k.Ba=function(b){b.getComponent(m.hu).manager.dispose();b.la(m.hu)};return k}()});define("oQ",["require","exports"],function(){return function(){function a(){}a.Hga=function(e){return 0<=this.H3.indexOf(e)};a.n6a=function(e){this.H3=[];e.forEach(function(l){l=l.U;0>this.H3.indexOf(l)&&this.H3.push(l)}.bind(this))};a.H3=[];return a}()});
define("ls",["require"],function(){return{o$a:function(){},p$a:function(){},GW:function(){return this.o&&this.o.get("inMandatorySequence")||this.o&&!this.o.get("keyboardEnabled")?!0:!1},Il:function(){return this.o&&this.o.get("inMandatorySequence")||this.o&&(!this.o.get("mouseEnabled")||this.o.get("mouseDisabled"))?!0:!1},wqa:function(){return this.o&&this.o.get("doubleClickDisabled")?!0:!1},ssa:function(){this.HH()||this.vv||this.aya()},rsa:function(){this.HH()||this.vv||this.$xa()},fI:function(){this.yqa()||
this.aya()},eI:function(){this.yqa()||this.$xa()},aya:function(){this.o&&this.o.set("userInteracting",!0)},$xa:function(){this.o&&this.o.set("userInteracting",!1)}}});
define("fz",["require","exports","cp","three.mod"],function(a,e,l,m){return function(){function k(b){this.matrixWorld=new m.Matrix4;this.oha=!1;this.timeout=null;this.N=b}k.prototype.SK=function(b,h){if(this.JF!=b||this.propertyName!=h)this.JF&&this.JF.set(this.propertyName,!1),this.JF=b,this.propertyName=h,this.JF&&this.JF.set(this.propertyName,this.oha)};k.prototype.pja=function(){var b=l.wc(this.N),h=!!b&&!b.matrixWorld.equals(this.matrixWorld);h&&this.matrixWorld.copy(b.matrixWorld);this.yx(h);
this.timeout&&(clearTimeout(this.timeout),this.timeout=null);h&&(this.timeout=setTimeout(function(){this.timeout=null;this.yx(!1)}.bind(this),k.KIa))};k.prototype.Ba=function(){this.yx(!1);this.timeout&&clearTimeout(this.timeout)};k.prototype.yx=function(b){this.oha!=b&&(this.oha=b,this.JF&&this.JF.set(this.propertyName,b))};k.KIa=100;return k}()});
define("ot",["require","exports"],function(){return function(){function a(e){this.properties=e}a.prototype.kFa=function(e){this.properties.set("fov",this.uK(e,this.properties.get("minFov",.1),this.properties.get("maxFov",180)))};a.prototype.Dm=function(e){this.properties.set("yaw",this.H2(this.Q3a(e,this.properties.get("minYaw"),this.properties.get("maxYaw"),this.properties.get("yaw"))))};a.prototype.Ax=function(e){this.properties.set("pitch",this.uK(e,this.properties.get("minPitch",-90),this.properties.get("maxPitch",
90)))};a.prototype.setX=function(e){this.properties.set("x",this.uK(e,this.properties.get("minX"),this.properties.get("maxX")))};a.prototype.setY=function(e){this.properties.set("y",this.uK(e,this.properties.get("minY"),this.properties.get("maxY")))};a.prototype.setZ=function(e){this.properties.set("z",this.uK(e,this.properties.get("minZ"),this.properties.get("maxZ")))};a.prototype.xF=function(e){this.properties.set("distance",this.uK(e,this.properties.get("minDistance"),this.properties.get("maxDistance")))};
a.prototype.Si=function(e){this.properties.set("easing",e)};a.prototype.Q3a=function(e,l,m,k){if(void 0!==l||void 0!==m){var b=this.H2(e-k);if(void 0!==l&&0>b){if(this.H2(k)+b<l)return l}else if(void 0!==m&&0<b&&this.H2(k)+b>m)return m}return e};a.prototype.uK=function(e,l,m){if(isNaN(e))throw"invalid value";void 0!==l&&e<l&&(e=l);void 0!==m&&e>m&&(e=m);return e};a.prototype.H2=function(e){for(;-180>e;)e+=360;for(;180<e;)e-=360;return e};return a}()});
define("pt",["require","jg"],function(a){var e=a("jg");return{x$:function(l){this.OW=this.OW.bind(this);this.PW=this.PW.bind(this);this.pM=this.mj=!1;this.Vf={};for(var m=0;m<l.length;m++)this.Vf[l[m]]=!1;this.zN=0;this.QW=!1;this.AN(!0)},y$:function(){this.AN(!1)},AN:function(l){this.QW!=l&&(this.QW&&(document.removeEventListener("keyup",this.PW),document.removeEventListener("keydown",this.OW)),this.QW=l)&&(document.addEventListener("keyup",this.PW),document.addEventListener("keydown",this.OW))},
yqa:function(){return 0<this.zN},PW:function(l){if(!(e.bp()||this.GW&&this.GW())){var m=!1;this.mj!=l.shiftKey&&(this.mj=l.shiftKey,m=!0);this.pM!=l.ctrlKey&&(this.pM=l.ctrlKey,m=!0);!0===this.Vf[l.code]&&(this.Vf[l.code]=!1,m=!0,this.uo&&this.uo(l.code),this.zN--,0==this.zN&&this.rsa&&this.rsa());m&&this.qO&&this.qO()}},OW:function(l){if(!(e.bp()||this.GW&&this.GW())){var m=!1;this.mj!=l.shiftKey&&(this.mj=l.shiftKey,m=!0);this.pM!=l.ctrlKey&&(this.pM=l.ctrlKey,m=!0);!1===this.Vf[l.code]&&(m=this.Vf[l.code]=
!0,this.rD&&this.rD(l.code),this.zN++,1==this.zN&&this.ssa&&this.ssa());m&&this.qO&&this.qO()}},x$a:function(){return this.mj},s$a:function(){return this.pM}}});
define("jZ",["require","exports","bd"],function(a,e,l){a=function(){function k(){this.Ue=[]}k.prototype.Ir=function(b){this.eFa(b);this.cb=b;this.F7=null};k.prototype.fFa=function(b){this.eFa(b?b.VAa():null);this.cb=null;this.F7=b};k.prototype.A7a=function(b,h){this.cb&&this.cb.set("cursor",b);this.F7&&this.F7.I2(b,h)};k.prototype.eFa=function(b){this.ne&&(this.ne.s5a(this),this.ne=void 0);b&&(this.ne=m.get(b),this.ne.u_a(this))};k.prototype.dispose=function(){this.Ir(null);this.Ue=[]};k.prototype.push=
function(b){this.Ue.push(b);this.ne&&this.ne.update()};k.prototype.pop=function(b){for(var h=this.Ue.length-1;0<=h;h--)if(this.Ue[h]==b){this.Ue.splice(h,1);this.ne&&this.ne.update();break}};k.prototype.has=function(b){return 0<=this.Ue.indexOf(b)};k.prototype.top=function(){if(this.Ue.length)return this.Ue[this.Ue.length-1]};k.prototype.all=function(){return this.Ue};return k}();var m=function(){function k(b){this.Qc=b;this.cd=[]}k.prototype.u_a=function(b){this.cd.push(b);this.update()};k.prototype.s5a=
function(b){this.cd.splice(this.cd.indexOf(b),1);this.update();0==this.cd.length&&k.clear(this.Qc)};k.prototype.update=function(){var b=this.zKa();var h=this.p9(l.JB)?l.JB:this.p9(l.Lh)?l.Lh:this.p9(l.ye)?l.ye:this.Uq()||l.xe;this.cd.forEach(function(g){g.A7a(h,b)})};k.prototype.p9=function(b){for(var h=this.cd.length-1;0<=h;h--)if(this.cd[h].has(b))return!0;return!1};k.prototype.zKa=function(){var b=[];this.cd.forEach(function(h){h.all().forEach(function(g){0>b.indexOf(g)&&b.push(g)})});return b};
k.prototype.Uq=function(){for(var b,h=this.cd.length-1;0<=h&&void 0===b;h--)b=this.cd[h].top();return b};k.get=function(b){var h=this.Ra.get(b);h||this.Ra.set(b,h=new k(b));return h};k.clear=function(b){this.Ra["delete"](b)};k.Ra=new Map;return k}();return a});
define("jJ",["require","exports","pf","gv"],function(a,e,l,m){return function(k){function b(h){var g=k.call(this)||this;if(h instanceof HTMLElement)g.O1=h;else if("function"===typeof h.Yc)g.O1=h.Yc().get(0);else if(h.length&&h.get)g.O1=h.get(0);else throw Error("invalid element");g.c2=g.c2.bind(g);document.addEventListener("pointerlockchange",g.c2.bind(g),!1);return g}Z(b,k);b.prototype.dispose=function(){document.removeEventListener("pointerlockchange",this.c2)};b.prototype.lock=function(){if(!this.ap())return this.O1.requestPointerLock()};
b.prototype.unlock=function(){this.ap()&&document.exitPointerLock()};b.prototype.ap=function(){return document.pointerLockElement===this.O1};b.prototype.c2=function(){this.trigger(l.ca)};b.ap=function(){return null!==document.pointerLockElement};return b}(m)});
define("il",["require","pf","jZ","jJ"],function(a){function e(h,g){var c=g.x-h.x;h=g.y-h.y;return Math.sqrt(c*c+h*h)}var l=a("pf"),m=a("jZ"),k=a("jJ"),b=180/Math.PI;return{baa:function(){this.qX=this.VN=this.vv=this.Is=!1;this.LY=this.te=null;this.AW=new m;this.YN=null;this.$Sa=this.jSa.bind(this)},caa:function(){this.tZ(null);this.AW.dispose()},mra:function(h){this.Mo(h);if(!this.Il||!this.Il()){var g=this.GH();this.Is||(this.Is=!0,g||this.fI&&this.fI());this.VN=!h.originalEvent||!h.originalEvent.buttons||
0===(h.originalEvent.buttons&2);this.LY=h;this.Ul&&this.Ul(h.x,h.y);this.PX&&this.PX(h.x,h.y)}},GH:function(){return this.Is||this.vv||this.qX},HH:function(){return this.Is},t$a:function(){return this.vv},u$a:function(){return this.VN},v$a:function(){return this.qX},ora:function(h){this.Mo(h);if(this.Il&&this.Il())this.WN(h);else if(this.Hf&&this.Hf(h.x,h.y),this.Is||this.SH.ap()){var g=void 0!==h.movementX?h.movementX:h.x-this.LY.x,c=void 0!==h.movementY?h.movementY:h.y-this.LY.y;this.SH.ap()&&(g*=
-1,c*=-1);this.LY=h;this.OX&&this.OX(g,c,h.x,h.y)}},WN:function(h){this.Is&&(h&&this.Mo(h),this.VN=this.Is=!1,this.wq&&this.wq(this.dd,this.ed),this.sD&&this.sD(),this.GH()||this.eI&&this.eI())},ira:function(h){this.Il&&this.Il()||(this.Mo(h),this.Wv&&this.Wv(h.x,h.y))},jra:function(h){this.Il&&this.Il()||this.wqa&&this.wqa()||(this.Mo(h),this.dI&&this.dI(h.x,h.y))},pra:function(h){this.Mo(h);if(!this.Il||!this.Il()){h=h.kR/10;var g=this.GH();this.YN||(this.qX=!0,this.aTa&&this.aTa(),g||this.fI&&
this.fI());this.QX&&this.QX(h);this.YN&&clearTimeout(this.YN);this.YN=setTimeout(this.$Sa,100)}},jSa:function(){this.YN=null;this.ZSa&&this.ZSa();this.qX=!1;this.GH()||this.eI&&this.eI()},lra:function(h){if(!(this.Il&&this.Il()||2>h.touches.length)){var g=this.GH();this.vv||(this.vv=!0,this.kSa(h.touches),g||this.fI&&this.fI());this.ksa&&this.ksa();this.WN()}},kra:function(h){this.Il&&this.Il()||2>h.touches.length||!this.vv||(this.qra(h.touches),this.waa&&this.waa(this.ZXa,this.$Xa,this.sda,this.aYa),
this.jsa&&this.jsa(this.W9,this.X9,this.lQ,this.mQ,1,this.sda,this.lN,this.rda,this.V9,this.kQ))},aaa:function(){this.vv&&(this.vv=!1,this.xaa&&this.xaa());this.GH()||this.eI&&this.eI()},kSa:function(h){this.V9=this.X9=this.W9=this.lN=this.sda=this.mQ=this.lQ=this.rda=this.kQ=void 0;this.jQ=h;this.qra(h)},qra:function(h){e(h[0],this.jQ[0])+e(h[1],this.jQ[1])>e(h[0],this.jQ[1])+e(h[1],this.jQ[0])&&(h=[h[1],h[0]]);var g=h[0];var c=h[1];g=Math.atan2(-(c.y-g.y),c.x-g.x)*b;c=e(h[0],h[1]);var d=(h[0].x+
h[1].x)/2,f=(h[0].y+h[1].y)/2;this.sda=void 0!==this.lN?c/this.lN:1;this.aYa=void 0!==this.kQ?g-this.kQ:0;this.kQ=g;this.rda=c;this.ZXa=void 0!==this.lQ?d-this.lQ:0;this.$Xa=void 0!==this.mQ?f-this.mQ:0;this.lQ=d;this.mQ=f;void 0!==this.W9||(this.W9=this.lQ);void 0!==this.X9||(this.X9=this.mQ);void 0!==this.V9||(this.V9=this.kQ);void 0!==this.lN||(this.lN=this.rda);this.jQ=h},nra:function(){},oOa:function(){this.WN();this.aaa()},XM:function(){return this.te?this.te.Xa():100},JC:function(){return this.te?
this.te.yb():100},xv:function(){return this.te?Math.max(this.te.Xa(),this.te.yb()):100},tZ:function(h){this.te!=h&&(this.te&&(this.te.unbind(l.kb,this.mra,this,!0),this.te.unbind(l.kc,this.ora,this,!0),this.te.unbind(l.Hb,this.WN,this,!0),this.te.unbind(l.qa,this.ira,this,!0),this.te.unbind(l.ql,this.jra,this,!0),this.te.unbind(l.Zr,this.pra,this,!0),this.te.unbind(l.P4,this.kra,this,!0),this.te.unbind(l.Xx,this.lra,this,!0),this.te.unbind(l.$F,this.aaa,this,!0),this.SH.unbind(l.ca,this.nra,this,
!0),this.SH.dispose(),this.SH=null),this.te=h,this.AW.Ir(this.te),this.te&&(this.te.bind(l.kb,this.mra,this,!0),this.te.bind(l.kc,this.ora,this,!0),this.te.bind(l.Hb,this.WN,this,!0),this.te.bind(l.qa,this.ira,this,!0),this.te.bind(l.ql,this.jra,this,!0),this.te.bind(l.Zr,this.pra,this,!0),this.te.bind(l.P4,this.kra,this,!0),this.te.bind(l.Xx,this.lra,this,!0),this.te.bind(l.$F,this.aaa,this,!0),this.SH=new k(this.te),this.SH.bind(l.ca,this.nra,this,!0)))},XN:function(h){h.x=-1+2*h.x/this.XM();h.y=
1-2*h.y/this.JC();return h},Mo:function(h){this.dd=h.x;this.ed=h.y;this.TH=h.pageX;this.UH=h.pageY},ID:function(h){this.AW.push(h)},IY:function(h){this.AW.pop(h)}}});
define("kI",["require","pf"],function(a){var e=a("pf");return{gVa:function(){this.mZ=!1;this.Go=null;this.bD=this.KH=0;this.RD=!1;this.gva(!0)},hVa:function(){this.gva(!1);this.Pva(null)},gva:function(l){this.mZ!=l&&((this.mZ=l)||this.lZ())},Pva:function(l){this.Go!=l&&(this.lZ(),this.Go&&(this.Go.unbind(e.Un,this.hva,this,!0),this.Go.unbind(e.Qf,this.lZ,this,!0),this.Go.unbind(e.ca,this.fva,this,!0),this.bD=this.KH=0),this.Go=l)&&(this.Go.bind(e.Un,this.hva,this,!0),this.Go.bind(e.Qf,this.lZ,this,
!0),this.Go.bind(e.ca,this.fva,this,!0))},hva:function(){!this.RD&&this.mZ&&(this.RD=!0,this.wta&&this.wta())},fva:function(){this.RD&&(this.KH=this.Go.getX(),this.bD=this.Go.getY(),this.uta&&this.uta())},lZ:function(){this.RD&&(this.RD=!1,this.bD=this.KH=0,this.vta&&this.vta())},w$a:function(){return this.RD}}});
define("dT","require lE pf bn fK ls mp oQ fz ot pt il kI bd oH bG".split(" "),function(a){function e(F){this.EM=!1;this.Y7=0;this.loa=!1;this.moa=F}function l(F){this.m=F;this.rq=new f(F);this.x$(y);this.baa();this.gVa();this.aE=.025;this.Pl=.25;this.mX=this.nX=this.oX=this.$V=0;this.Ca=null;this.SU=this.h_=!1;this.WW=1;this.us=new c(this.m);this.ID(t.Yx);this.LH={};[b.ja.Wi,b.ja.Ih,b.ja.Ya,b.ja.qb].forEach(function(M){this.LH[M]=new e(300)}.bind(this));[b.ja.Qn,b.ja.Bu,b.ja.iu,b.ja.Hu,b.ja.Q,b.ja.E].forEach(function(M){this.LH[M]=
new e(300)}.bind(this));this.update()}var m=a("lE"),k=a("pf"),b=a("bn"),h=a("fK"),g=a("ls"),c=a("mp"),d=a("oQ"),f=a("fz"),p=a("ot"),q=a("pt"),n=a("il"),r=a("kI"),t=a("bd"),u=a("oH"),v=a("bG");m.Y_(l,[g,q,n,r,Screen]);l.prototype.update=function(){var F=this.m.getComponent(h.Wx);this.em(F&&F.properties);this.rq.SK(F&&F.properties,"moving");var M=(!F.IJ||!d.Hga(this.m.U))&&F.enabled;this.tZ(F&&(M?F.tg:null));this.AN(!!F&&M&&F.zA);this.Pva(!!F&&M&&F.LEa);M||this.sD();M&&F.zA||(this.kn=this.jn=this.vk=
this.Jj=this.wk=0)};l.prototype.frame=function(F){var M=!1;this.properties&&this.properties.get("playingSequence")&&(M=!0);!M&&this.Th&&(M=this.DKa(F));M||this.ZYa(F);this.JZa();this.KYa();this.rq.pja();this.RD&&this.m.U.Pa();this.us.refresh()};var w=1E3/3600*8/1.7;l.prototype.Je=function(){this.m.I(h.Wx)};l.prototype.ZYa=function(F){F/=1E3;var M=this.mj?.2:1,T=this.WW*w;T*=this.o.get("translationSpeed")*M;var Y=this.o.get("rotationSpeed")*M;M=this.mX;var ca=this.nX,da=this.oX,ha=this.$V;this.mX=
this.nX=this.oX=this.$V=0;var G=(M*M+ca*ca)/x;G=1<G?1/Math.sqrt(G):1;M*=G;ca*=G;var N=A*Math.atan2(this.KH,Math.abs(this.bD));G=Math.sqrt(this.KH*this.KH+this.bD*this.bD);var R=Math.max(this.JC(),this.XM()),L=this.o.get("fov")/R*2;M=-M*L*Y;ca=ca*L*Y;da=25*-da*T;L=this.WM(b.ja.Qn,b.ja.iu)*T;var Q=this.WM(b.ja.Hu,b.ja.Bu)*T,V=this.WM(b.ja.Q,b.ja.E)*T,aa=this.WM(b.ja.Ih,b.ja.Wi)*Y*30,ba=this.WM(b.ja.Ya,b.ja.qb)*Y*30;ha=2*ha*this.WW/R;Y*=N*G*.125;T*=.5*-G*this.bD;(G=this.m.getComponent(h.Aa))&&(M||ca||
da||L||V||Q||aa||ba||Y||T||ha)&&(D.makeRotationFromEuler(C.set(0,G.re*B,0,G.Zf)),W.set(L*F,V*F+ha,(Q+T+da)*F).applyMatrix4(D),J.set(this.o.get("x"),this.o.get("y"),this.o.get("z")),this.ZPa(J,W,H),this.Ca.setX(H.x),this.Ca.setY(H.y),this.Ca.setZ(H.z),this.Ca.Dm(this.o.get("yaw")+M+(ba+Y)*F),this.Ca.Ax(this.o.get("pitch")+ca+aa*F),this.Ca.Si(this.Pl),this.m.U.Pa())};l.prototype.WM=function(F,M){F=this.LH[F].getState();if(F===e.a4)return-3;if(F===e.Ih)return-1.5;M=this.LH[M].getState();return M===e.a4?
3:M===e.Ih?1.5:0};l.prototype.ZPa=function(F,M,T){T.copy(F).add(M);if(!T.equals(F)){this.oh=this.us.LJ(F);var Y=this.us.LJ(T);if(this.o.get("keepHeight"))if(Infinity==Y)var ca=Infinity;else if(Infinity==this.oh)ca=Y;else{ca=this.oh+M.y;var da=this.o.get("maxStepHeight");void 0===da&&(da=Infinity!==this.oh?.25*this.oh:0);if(Y<ca-da){T.copy(F);return}T.y+=ca-Y}else ca=Y;U.copy(M).normalize().multiplyScalar(.1*this.WW);T.add(U);this.o.get("collisionDetection")&&this.us.KF(F,T)?T.copy(F):(this.oh=ca,
Infinity!==this.oh&&(this.WW=this.oh),T.sub(U))}};l.prototype.rD=function(F){this.m.U.Pa();this.LH[F].wha()};l.prototype.uo=function(F){this.LH[F].xha()};l.prototype.PX=function(){this.xi=!0;this.ID(t.Lh)};l.prototype.dI=function(F,M){if("translate"==this.o.get("doubleClickAction")&&(this.XN(X.set(F,M)),F=this.us.n3a(X),0!=F.length)){var T=F[0];if(T.face&&T.face.normal){var Y=J.set(this.o.get("x"),this.o.get("y"),this.o.get("z"));F=H.copy(T.point);M=this.us.LJ(J);T=P.copy(T.face.normal).transformDirection(T.object.matrixWorld);
if(Math.abs(Math.acos(T.dot(S)))<.25*Math.PI)F.y+=M;else{W.copy(F).sub(Y);Y=W.length();T=2*M;if(Y<T)return;F.sub(W.multiplyScalar(T/Y));H.y+=M-this.us.LJ(H)}this.us.KF(J,H)||Math.abs(M-this.us.LJ(H))>.05*M||(this.Th=new u("cubic_in_out",[new v("x",J.x,H.x),new v("y",J.y,H.y),new v("z",J.z,H.z)],1500),this.m.U.Pa())}}};l.prototype.DKa=function(F){if(!this.Th)return!1;this.Th.Cb(F);this.Ca.setX(this.Th.fb("x"));this.Ca.setY(this.Th.fb("y"));this.Ca.setZ(this.Th.fb("z"));this.Ca.Si(0);this.Th.Ye()&&
(this.Th=null);this.m.U.Pa();return!0};var x=2500;l.prototype.OX=function(F,M){this.xi&&(this.mX+=F,this.nX+=M,this.m.U.Pa())};l.prototype.sD=function(){this.xi=!1;this.IY(t.Lh);this.m.U.Pa()};l.prototype.QX=function(F){this.oX+=F;this.m.U.Pa()};l.prototype.waa=function(F,M){this.$V+=M;this.m.U.Pa()};l.prototype.wta=function(){this.oOa();this.ID(t.Lh)};l.prototype.uta=function(){this.m.U.Pa()};l.prototype.vta=function(){this.IY(t.Lh)};l.prototype.em=function(F){this.o!=F&&(this.o&&(this.Ca=null,z.forEach(function(M){this.o.unbind(k.D(M),
this.Naa,this,!0)}.bind(this)),E.forEach(function(M){this.o.unbind(k.D(M),this.paa,this,!0)}.bind(this)),this.o.set("userInteracting",!1)),this.o=F)&&(this.Ca=new p(this.o),z.forEach(function(M){this.o.bind(k.D(M),this.Naa,this,!0)}.bind(this)),this.Naa(),E.forEach(function(M){this.o.bind(k.D(M),this.paa,this,!0)}.bind(this)),this.paa(),this.o.set("userInteracting",!1))};l.prototype.Naa=function(){this.h_||(this.h_=!0,this.m.U.Pa())};l.prototype.JZa=function(){if(this.h_&&this.m&&this.o){this.h_=
!1;var F=this.m.I(h.Aa,!0);F.translationX=this.o.get("x");F.translationY=this.o.get("y");F.$e=this.o.get("z");F.re=-this.o.get("yaw");F.Le=this.o.get("pitch");F.Me=0;F.Zf="YXZ";F.positionX=0;F.positionY=0;F.positionZ=0;F.easing=this.o.get("easing")}};l.prototype.paa=function(){this.SU||(this.SU=!0,this.m.U.Pa())};l.prototype.KYa=function(){this.SU&&this.m&&this.o&&(this.SU=!1,this.m.I(h.PerspectiveCamera,!0).fov=this.o.get("fov"))};var y=[b.ja.Wi,b.ja.Ih,b.ja.Ya,b.ja.qb,b.ja.Qn,b.ja.Bu,b.ja.iu,b.ja.Hu,
b.ja.Q,b.ja.E],z="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),E=["minFov","maxFov","fov"],B=Math.PI/180,A=180/Math.PI,D=new THREE.Matrix4,C=new THREE.Euler,J=new THREE.Vector3,H=new THREE.Vector3,P=new THREE.Vector3,W=new THREE.Vector3,U=new THREE.Vector3,S=new THREE.Vector3(0,1,0),X=new THREE.Vector2;l.prototype.dispose=function(){this.em(null);this.y$();this.caa();this.hVa();this.rq.Ba();this.us=null};l.$a=function(F){F.J(h.Vr).manager=
new l(F)};l.Ba=function(F){var M=F.getComponent(h.Vr);M.manager.dispose();M.manager=null;F.la(h.Vr)};l.update=function(F){F.getComponent(h.Vr).manager.update()};l.frame=function(F,M,T){F.getComponent(h.Vr).manager.frame(M,T)};e.prototype.wha=function(){this.EM||(this.EM=!0,this.loa=Date.now()-this.Y7<this.moa,this.Y7=Date.now())};e.prototype.xha=function(){this.EM&&(this.EM=!1)};e.prototype.getState=function(){return this.EM||Date.now()-this.Y7<this.moa?this.loa?e.a4:e.Ih:e.Wi};e.Wi=0;e.Ih=1;e.a4=
2;return l});
define("ca","require lE pf bn lh cp fK ls oQ fz ot kA pt il bd oH bG".split(" "),function(a){function e(L){this.m=L;this.x$(U);this.baa();this.rq=new p(L);this.Vc=w;this.Jq=this.ej=null;this.aE=.025;this.Pl=.25;this.di=void 0;this.bE=1;this.wk=this.Jj=this.vk=this.kn=this.jn=0;this.Jk=[];this.VC=this.WC=this.XC=this.TC=this.SC=this.Qy=this.dj=this.ov=this.pv=this.rv=this.qv=this.nv=void 0;this.T9=1E3;this.dN=void 0;this.yH=0;this.Ca=null;this.ID(t.Yx);this.update()}function l(L,Q){L=Q-L;180<L?L-=
360:-180>L&&(L+=360);return L}function m(){return(new Date).getTime()}var k=a("lE"),b=a("pf"),h=a("bn");a("lh");var g=a("cp"),c=a("fK"),d=a("ls"),f=a("oQ"),p=a("fz"),q=a("ot");a("kA");var n=a("pt"),r=a("il"),t=a("bd"),u=a("oH"),v=a("bG");k.Y_(e,[d,n,r]);e.prototype.update=function(){var L=this.m.getComponent(c.zB);this.em(L&&L.properties);this.rq.SK(L&&L.properties,"moving");var Q=(!L.IJ||!f.Hga(this.m.U))&&L.enabled;this.tZ(L&&(Q?L.tg:null));this.AN(!!L&&Q&&L.zA);Q||this.sD();Q&&L.zA||(this.kn=this.jn=
this.vk=this.Jj=this.wk=0)};e.prototype.frame=function(L){this.Th&&(this.Th.Cb(L),this.Ca.setX(this.Th.fb("x")),this.Ca.setY(this.Th.fb("y")),this.Ca.setZ(this.Th.fb("z")),this.Ca.xF(this.Th.fb("distance")),this.Ca.Si(0),this.Th.Ye()&&(this.Th=null));this.Bg&&(this.Bg=Math.max(0,this.Bg-L/this.T9),this.Ca.setX(this.o.get("x")+this.VC*this.Bg),this.Ca.setY(this.o.get("y")+this.WC*this.Bg),this.Ca.setZ(this.o.get("z")+this.XC*this.Bg),this.Ca.Dm(this.o.get("yaw")+this.TC*this.Bg),this.Ca.Ax(this.o.get("pitch")+
this.SC*this.Bg),this.Ca.Si(0),this.m.U.Pa(),0==this.Bg&&this.kP());if(this.kn||this.jn||this.vk||this.Jj||this.wk){var Q=L/1E3;this.gaa(this.vk*Q,this.Jj*Q,this.wk*Q,this.kn*Q,this.jn*Q)}if(this.Vc==w&&void 0!==this.Qk&&!this.Jj&&this.o.get("keepHeight")&&void 0!==this.dN&&Math.abs(this.Qk-this.o.get("y"))>Y){this.yH=Math.max(this.yH-L,0);Q=this.o.get("y");var V=this.Qk-Q;this.Ca.setY(Q+Math.min(L*this.dN,Math.abs(V))*(0<V?1:-1));this.m.U.Pa()}this.Vc!=w||!this.Jq||this.Bg||this.Th||(this.lC(),this.m.U.Pa());
this.rq.pja()};e.prototype.qO=function(){this.Tda()};e.prototype.Tda=function(){var L=0!=this.wk||0!=this.Jj||0!=this.vk;this.kn=this.jn=this.wk=this.Jj=this.vk=0;var Q=this.Vf[h.ja.Qn]?1:this.Vf[h.ja.iu]?-1:0,V=this.Vf[h.ja.Hu]?1:this.Vf[h.ja.Bu]?-1:0,aa=this.Vf[h.ja.Q]?1:this.Vf[h.ja.E]?-1:0,ba=this.Vf[h.ja.Wi]?1:this.Vf[h.ja.Ih]?-1:0,ea=this.Vf[h.ja.Ya]?1:this.Vf[h.ja.qb]?-1:0;if(ba||ea||Q||V||aa){var fa=this.mj?.2:1;Q&&(this.vk=-Q*fa*this.o.get("translationSpeed"));aa&&(this.Jj=-aa*fa*this.o.get("translationSpeed"));
V&&(this.wk=-V*fa*this.o.get("translationSpeed"));ea&&(this.kn=-ea*fa*100*this.o.get("rotationSpeed"));ba&&(this.jn=ba*fa*100*this.o.get("rotationSpeed"));this.lC();this.m.U.Pa();this.Oba();this.nOa();Q=0!=this.wk||0!=this.Jj||0!=this.vk;!L&&Q&&this.kP()}};e.prototype.PX=function(){this.xi=!0;this.Vc==A||this.Vc==D||m()<this.Woa+500||(this.ID(t.Lh),this.Vc=w)};e.prototype.OX=function(L,Q,V,aa){if(this.xi&&!(this.Vc==A||this.Vc==D||m()<this.Woa+500)){var ba=(L*L+Q*Q)/2500;ba=1<ba?1/Math.sqrt(ba):1;
L*=ba;Q*=ba;ba=this.VPa();this.Vc!=ba?(this.Vc=ba,this.Vc==x?this.ZWa(V,aa):this.Vc==y?this.iwa():this.Vc==z?this.mXa():this.Vc==B&&this.kXa()):this.Vc!=w&&(this.Vc==x?this.UYa(L,Q,V,aa):this.Vc==y?this.xZa(L,Q):this.Vc==z?this.zZa(L,Q):this.Vc==B&&this.wZa(L,Q))}};e.prototype.sD=function(){this.IY(t.Lh);this.xi=!1;this.Vc!=w&&(this.Vc=w,this.ej=null,this.gwa(),this.Oba(),this.nqa(),this.m.U.Pa())};e.prototype.QX=function(L){this.Vc!=E?(this.Vc=E,this.gXa()):this.jZa(L);this.faa&&clearTimeout(this.faa);
this.faa=setTimeout(function(){this.faa=null;this.Vc==E&&(this.Vc=w,this.Xs())}.bind(this),1E3)};e.prototype.jsa=function(L,Q,V,aa,ba,ea,fa,ia,ja,ka){this.Vc!=A&&this.Vc!=D?(L=.05<Math.abs(ea-ba),V=5<l(ja,ka),Q=Math.abs(aa-Q)>.02*this.JC(),ja=10>Math.min(Math.abs(ja),180-Math.abs(ja),Math.abs(ka),180-Math.abs(ka)),fa=.2>fa/this.xv(),(L||Q)&&(ja||fa)?(this.Vc=D,this.lXa()):!V&&!L||ja&&fa||(this.Vc=A,this.nXa())):this.Vc==A?this.AZa(ba,ea,ja,ka):this.Vc==D&&this.yZa(Q,aa,ba,ea)};e.prototype.xaa=function(){this.ej=
null;this.Vc==A&&this.gwa();this.Vc=w;this.Woa=m();this.Oba();this.nqa();this.m.U.Pa()};e.prototype.dI=function(L,Q){if("zoom"==this.o.get("doubleClickAction")){var V=g.Ch(this.m),aa=g.lr(this.m);aa&&V&&(G.set(L,Q),this.XN(G),L=this.mN(G,aa),0!=L.length&&(this.Xs(),this.lC(),L=L[0].point,C.setFromMatrixPosition(aa.matrixWorld),this.Th=new u("quad_in_out",[new v("x",C.x,.5*(L.x+C.x)),new v("y",C.y,.5*(L.y+C.y)),new v("z",C.z,.5*(L.z+C.z)),new v("distance",0,0)],500)))}};e.prototype.VPa=function(){return this.VN?
this.mj?y:x:this.HH()?this.mj?B:z:w};e.prototype.ZWa=function(L,Q){this.DI();this.lC();this.KKa(L,Q);this.o.get("keepHeight")&&this.WZ();this.m.U.Pa()};e.prototype.UYa=function(L,Q,V,aa){var ba=g.lr(this.m);ba&&(C.setFromMatrixPosition(ba.matrixWorld),this.ej?(J.set(V,aa,0),this.XN(J),J.unproject(ba),L=this.ej.x-C.x,Q=this.ej.z-C.z,-2<Math.atan2(this.ej.y-C.y,Math.sqrt(Q*Q+L*L))*T?(P.copy(this.ej).applyMatrix4(ba.matrixWorldInverse),W.copy(J).applyMatrix4(ba.matrixWorldInverse),L=P.z/W.z,H.copy(W).multiplyScalar(L).applyMatrix4(ba.matrixWorld).sub(this.ej),
0!=H.y&&this.Xs()):(L=(this.ej.y-C.y)/(J.y-C.y),H.copy(J).sub(C).multiplyScalar(L).add(C).sub(this.ej)),H.multiplyScalar(-1)):(ca.makeRotationFromEuler(N.set(0,-this.o.get("yaw")*M,0,"YXZ")),da.set(-L*this.o.get("translationSpeed")/this.xv(),0,-Q*this.o.get("translationSpeed")/this.xv()).applyMatrix4(ca),H.copy(da).multiplyScalar(10*this.bE)),this.Ca.setX(C.x+H.x),this.Ca.setY(C.y+H.y),this.Ca.setZ(C.z+H.z),this.gJ(H.x,H.y,H.z,0,0),this.Ca.Si(this.Pl))};e.prototype.iwa=function(){this.DI();this.ej=
null;this.o6();this.Xs();this.m.U.Pa()};e.prototype.xZa=function(L,Q){var V;V||(V=1);L=360*L/this.XM()*this.o.get("rotationSpeed");Q=180*-Q/this.JC()*this.o.get("rotationSpeed");this.Ca.Dm(this.o.get("yaw")+L);this.Ca.Ax(this.o.get("pitch")+Q);this.Ca.xF(this.gba/V);this.gJ(0,0,0,L,Q);this.Ca.Si(this.Pl);this.m.U.Pa()};e.prototype.mXa=function(){this.iwa()};e.prototype.zZa=function(L,Q){var V=g.lr(this.m),aa=this.o.get("distance")||this.di||1;Q=Q*aa*2*Math.tan(V.fov*M/2)/this.JC();0!=Q&&this.Xs();
this.Ca.setY(this.o.get("y")+Q);L=360*L/this.XM()*this.o.get("rotationSpeed");this.Ca.Dm(this.o.get("yaw")+L);this.gJ(0,Q,0,L,0);this.Ca.Si(this.Pl)};e.prototype.kXa=function(){this.DI();this.lC();this.Xs();this.m.U.Pa()};e.prototype.wZa=function(L,Q){L=360*-L/this.XM()*this.o.get("rotationSpeed");Q=180*Q/this.JC()*this.o.get("rotationSpeed");this.Ca.Dm(this.o.get("yaw")+L);this.Ca.Ax(this.o.get("pitch")+Q);this.gJ(0,0,0,L,Q);this.Ca.Si(this.Pl);this.m.U.Pa()};e.prototype.gXa=function(){this.Xs();
this.DI();this.ej=null;this.lC();this.o.get("keepHeight")&&this.WZ();this.m.U.Pa()};e.prototype.jZa=function(L){this.cWa(da);da.multiplyScalar(-L*this.o.get("translationSpeed")*(this.bE||1));this.di&&this.xma(this.di+da.y);this.Ca.setX(this.o.get("x")+da.x);this.Ca.setY(this.o.get("y")+da.y);this.Ca.setZ(this.o.get("z")+da.z);this.Ca.Si(this.aE)};e.prototype.nXa=function(){this.DI();this.ej=null;this.o6();this.Xs();this.m.U.Pa();this.Ss=void 0};e.prototype.AZa=function(L,Q,V,aa){void 0!==this.Ss||
(this.Ss=V);V=l(this.Ss,aa);this.Ss=aa;this.Ca.Dm(this.o.get("yaw")+V);this.Ca.xF(this.gba*L/Q);this.gJ(0,0,0,V,0);this.Ca.Si(this.Pl);this.m.U.Pa()};e.prototype.lXa=function(){this.DI();this.ej=null;this.o6();this.Xs();this.m.U.Pa();this.NY=void 0};e.prototype.yZa=function(L,Q,V,aa){void 0!==this.NY||(this.NY=L);L=180*-(Q-this.NY)/this.JC();this.NY=Q;this.Ca.Ax(this.o.get("pitch")+L);this.Ca.xF(this.gba*V/aa);this.gJ(0,0,0,0,L);this.Ca.Si(this.Pl);this.m.U.Pa()};e.prototype.KKa=function(L,Q){var V=
g.Ch(this.m),aa=g.lr(this.m);this.ej=null;aa&&V&&(G.set(L,Q),this.XN(G),L=this.mN(G,aa),L.length&&(this.ej=L[0].point))};e.prototype.o6=function(){this.Jq=null;var L=g.Ch(this.m),Q=g.lr(this.m);Q&&L&&(G.set(0,0),L=this.mN(G,Q),L.length&&(this.Jq=L[0].point),this.Jq||(this.Jq=(new THREE.Vector3).setFromMatrixPosition(Q.matrixWorld)),this.o.set("distance",C.setFromMatrixPosition(Q.matrixWorld).distanceTo(this.Jq)),this.gba=this.o.get("distance"),this.o.set("x",this.Jq.x),this.o.set("y",this.Jq.y),this.o.set("z",
this.Jq.z),this.o.set("easing",0))};e.prototype.lC=function(){this.Jq&&(this.Jq=null,C.setFromMatrixPosition(g.lr(this.m).matrixWorld),this.o.set("distance",0),this.o.set("x",C.x),this.o.set("y",C.y),this.o.set("z",C.z),this.o.set("easing",0))};var w="none",x="dragging",y="rotating",z="rotating yaw dragging y",E="moving front",B="rotating around camera",A="rotating yaw gesture",D="rotating pitch gesture",C=new THREE.Vector3,J=new THREE.Vector3,H=new THREE.Vector3,P=new THREE.Vector3,W=new THREE.Vector3;
e.prototype.em=function(L){this.o!=L&&(this.o&&(this.Ca=null,S.forEach(function(Q){this.o.unbind(b.D(Q),this.Cxa,this,!1)}.bind(this)),X.forEach(function(Q){this.o.unbind(b.D(Q),this.Jw,this,!1)}.bind(this)),F.forEach(function(Q){this.o.unbind(b.D(Q),this.Xq,this,!1)}.bind(this)),this.o.set("userInteracting",!1)),this.o=L)&&(this.Ca=new q(this.o),S.forEach(function(Q){this.o.bind(b.D(Q),this.Cxa,this,!1)}.bind(this)),X.forEach(function(Q){this.o.bind(b.D(Q),this.Jw,this,!1)}.bind(this)),F.forEach(function(Q){this.o.bind(b.D(Q),
this.Xq,this,!1)}.bind(this)),this.Jw(),this.Xq(),this.o.set("userInteracting",!1))};e.prototype.Jw=function(){if(this.m&&this.o){var L=this.m.I(c.Aa,!0);L.translationX=this.o.get("x");var Q=this.o.get("y")-L.translationY;Math.abs(Q)>Y&&(L.translationY=this.o.get("y"),this.Vc!=w||this.vk||this.Jj||this.wk||this.kn||this.jn||this.Th||this.Bg||this.Xs());L.$e=this.o.get("z");L.re=-this.o.get("yaw");L.Le=this.o.get("pitch");L.Me=0;L.Zf="YXZ";L.positionX=0;L.positionY=0;L.positionZ=this.o.get("distance");
L.easing=this.o.get("easing");(void 0!==this.o.get("minHeight")||this.o.get("keepHeight"))&&this.Pxa()}};e.prototype.Xq=function(){this.m&&this.o&&(this.m.I(c.PerspectiveCamera,!0).fov=this.o.get("fov"))};e.prototype.gaa=function(L,Q,V,aa,ba){var ea=this.m.getComponent(c.Aa);ea&&(ca.makeRotationFromEuler(N.set(0,ea.re*M,0,ea.Zf)),da.set(L,Q,V).applyMatrix4(ca).multiplyScalar(this.bE),void 0!==this.di&&(this.di+=da.y,this.kP()),this.Ca.setX(this.o.get("x")+da.x),this.Ca.setY(this.o.get("y")+da.y),
this.Ca.setZ(this.o.get("z")+da.z),this.Ca.Dm(this.o.get("yaw")+aa),this.Ca.Ax(this.o.get("pitch")+ba),this.Ca.Si(this.Pl))};e.prototype.cWa=function(L){var Q=this.m.getComponent(c.Aa);Q&&(ca.makeRotationFromEuler(N.set(Q.Le*M,Q.re*M,Q.Me*M,Q.Zf)),L.set(0,0,1).applyMatrix4(ca))};e.prototype.DI=function(){this.Qy=m();this.dj=1;this.ov=this.pv=this.rv=this.qv=this.nv=0;this.Bg=this.VC=this.WC=this.XC=this.TC=this.SC=void 0};e.prototype.gJ=function(L,Q,V,aa,ba){var ea=m();this.dj=ea-this.Qy;this.Qy=
ea;this.ov=L;this.pv=Q;this.rv=V;this.qv=aa;this.nv=ba};e.prototype.gwa=function(){this.dj&&(this.VC=this.ov/this.dj,this.WC=this.pv/this.dj,this.XC=this.rv/this.dj,this.TC=this.qv/this.dj,this.SC=this.nv/this.dj,this.Bg=1)};e.prototype.Cxa=function(){void 0!==this.o.get("minHeight")&&(void 0===this.di&&this.WZ(),void 0!==this.di&&this.di<this.o.get("minHeight")&&(this.di=this.o.get("minHeight")),this.Pxa())};e.prototype.Xs=function(){this.di=this.Qk=void 0;this.lP&&(clearTimeout(this.lP),this.lP=
null)};e.prototype.nqa=function(){this.yH=2E3;this.dN=void 0;this.m.U.Pa()};e.prototype.nOa=function(){this.yH=0;this.dN=Infinity;this.m.U.Pa()};e.prototype.Oba=function(){this.ej||void 0!==this.di||this.lP||(this.lP=setTimeout(function(){this.lP=null;this.WZ()}.bind(this),0))};e.prototype.WZ=function(){var L=this.Apa();void 0!==L?this.xma(L):this.kP()};e.prototype.xma=function(L){var Q=this.o.get("minHeight")||L;this.di=Math.max(L,Q);this.kP();this.Qk=this.o.get("y")+this.di-L};e.prototype.kP=function(){if(this.di)this.bE=
Math.min(10,Math.max(this.di||0,.1));else{this.hq(da);this.DPa(ha);var L=this.b$(da,ha);this.bE=L.length?da.distanceTo(L[0].point):da.y-(this.o.get("minY")||0)}this.bE=Math.max(Math.abs(this.bE||0),.1)};e.prototype.Pxa=function(){this.Qxa||void 0===this.di||(this.Qxa=setTimeout(function(){this.Qxa=null;var L=this.Apa();void 0!==L&&void 0!==this.di&&(L=this.di-L,this.dN=0==this.yH?Infinity:Math.abs(L/this.yH),this.Qk=this.o.get("y")+L,0!==L&&this.m.U.Pa())}.bind(this),0))};e.prototype.Apa=function(){if(this.o)return this.hq(da),
this.eQa(da.x,da.y,da.z)};e.prototype.eQa=function(L,Q,V){var aa=this.b$(da.set(L,Q,V),ha.set(0,-1,0));if(0<aa.length)return aa[0].distance;aa=this.b$(da.set(L,Q+1E3,V),ha.set(0,-1,0));if(0<aa.length)return aa[aa.length-1].distance-1E3};e.prototype.b$=function(L,Q){R.ray.origin.copy(L);R.ray.direction.copy(Q);return R.intersectObjects(this.KC(),!1)};e.prototype.mN=function(L,Q){R.setFromCamera(L,Q);return R.intersectObjects(this.KC(),!1)};e.prototype.KC=function(){var L=this.m&&g.Ch(this.m);if(!L)return[];
var Q=[];L.traverse(function(V){V.isSprite||V.isLine||Q.push(V)});return Q};e.prototype.hq=function(L){L.set(0,0,0);this.o&&(L.applyMatrix4(ca.makeTranslation(0,0,this.o.get("distance"))),L.applyMatrix4(ca.makeRotationFromEuler(N.set(this.o.get("pitch")*M,-this.o.get("yaw")*M,0*M,"YXZ"))),L.applyMatrix4(ca.makeTranslation(this.o.get("x"),this.o.get("y"),this.o.get("z"))))};e.prototype.DPa=function(L){this.o?(ca.makeRotationFromEuler(N.set(this.o.get("pitch")*M,-this.o.get("yaw")*M,0,"YXZ")),L.set(0,
0,-1).applyMatrix4(ca)):L.set(0,0,-1)};var U=[h.ja.Wi,h.ja.Ih,h.ja.Ya,h.ja.qb,h.ja.Qn,h.ja.Bu,h.ja.iu,h.ja.Hu,h.ja.Q,h.ja.E],S=["minHeight"],X="minYaw maxYaw yaw minPitch maxPitch pitch minX maxX x minY maxY y minZ maxZ z distance easingSpeed".split(" "),F=["minFov","maxFov","fov"],M=Math.PI/180,T=180/Math.PI,Y=1E-6,ca=new THREE.Matrix4,da=new THREE.Vector3(0,0,0),ha=new THREE.Vector3(0,0,0),G=new THREE.Vector2(0,0),N=new THREE.Euler,R=new THREE.Raycaster;e.prototype.dispose=function(){this.lC();
this.em(null);this.y$();this.caa();this.rq.Ba()};e.$a=function(L){L.J(c.ou).manager=new e(L)};e.Ba=function(L){var Q=L.getComponent(c.ou);Q.manager.dispose();Q.manager=null;L.la(c.ou)};e.update=function(L){L.getComponent(c.ou).manager.update()};e.frame=function(L,Q,V){L.getComponent(c.ou).manager.frame(Q,V)};return e});
define("oC","require lE pf bn fK cp ls oQ fz ot pt il bd".split(" "),function(a){function e(C){this.m=C;this.x$(B);this.baa();this.rq=new d(C);this.Nk=new THREE.Matrix4;this.aE=.05;this.Pl=.25;this.vk=this.Jj=this.wk=this.kn=this.jn=0;this.VC=this.WC=this.XC=this.TC=this.SC=this.Qy=this.dj=this.ov=this.pv=this.rv=this.qv=this.nv=void 0;this.T9=1E3;this.Yua=720;this.Pwa=4;this.Lqa=720;this.z$=2;this.Ca=null;this.ID(n.Yx);this.update()}var l=a("lE"),m=a("pf"),k=a("bn"),b=a("fK"),h=a("cp"),g=a("ls"),
c=a("oQ"),d=a("fz"),f=a("ot"),p=a("pt"),q=a("il"),n=a("bd");l.Y_(e,[g,p,q]);e.prototype.update=function(){var C=this.m.getComponent(b.EB);this.em(C&&C.properties);this.rq.SK(C&&C.properties,"moving");var J=(!C.IJ||!c.Hga(this.m.U))&&C.enabled;this.tZ(C&&(J?C.tg:null));this.AN(!!C&&J&&C.zA);J||this.sD();J&&C.zA||(this.kn=this.jn=this.vk=this.Jj=this.wk=0)};e.prototype.frame=function(C){this.Bg&&(this.Bg=Math.max(0,this.Bg-C/this.T9),this.Ca.setX(this.o.get("x")+this.VC*this.Bg),this.Ca.setY(this.o.get("y")+
this.WC*this.Bg),this.Ca.setZ(this.o.get("z")+this.XC*this.Bg),this.Ca.Dm(this.o.get("yaw")+this.TC*this.Bg),this.Ca.Ax(this.o.get("pitch")+this.SC*this.Bg),this.m.U.Pa());if(this.kn||this.jn||this.vk||this.Jj||this.wk)C/=1E3,this.gaa(this.vk*C,this.Jj*C,this.wk*C,this.kn*C,this.jn*C);this.rq.pja()};e.prototype.qO=function(){this.Tda()};e.prototype.Tda=function(){this.kn=this.jn=this.wk=this.Jj=this.vk=0;var C=this.Vf[k.ja.Qn]?1:this.Vf[k.ja.iu]?-1:0,J=this.Vf[k.ja.Hu]?1:this.Vf[k.ja.Bu]?-1:0,H=this.Vf[k.ja.Q]?
1:this.Vf[k.ja.E]?-1:0,P=this.Vf[k.ja.Wi]?1:this.Vf[k.ja.Ih]?-1:0,W=this.Vf[k.ja.Ya]?1:this.Vf[k.ja.qb]?-1:0;if(C||J||H||P||W){var U=this.mj?.2:1;C&&(this.vk=-C*U*this.z$*this.o.get("translationSpeed"));H&&(this.Jj=-H*U*this.z$*this.o.get("translationSpeed"));J&&(this.wk=-J*U*this.z$*this.o.get("translationSpeed"));W&&(this.kn=W*U*this.Lqa*this.o.get("rotationSpeed"));P&&(this.jn=-P*U*this.Lqa*this.o.get("rotationSpeed"));this.m.U.Pa()}};e.prototype.PX=function(){this.ID(n.Lh);this.xi=!0;this.Qy=
(new Date).getTime();this.dj=1;this.ov=this.pv=this.rv=this.qv=this.nv=0;this.Bg=this.VC=this.WC=this.XC=this.TC=this.SC=void 0;this.m.U.Pa()};e.prototype.OX=function(C,J){if(this.xi){var H=(C*C+J*J)/2500;H=1<H?1/Math.sqrt(H):1;C*=H;J*=H;H=(new Date).getTime();this.dj=H-this.Qy;this.Qy=H;this.ov=this.pv=this.rv=this.qv=this.nv=0;H=this.VN;this.mj&&(H=!H);H?(this.qv=+C*this.o.get("rotationSpeed")*this.Yua/this.xv(),this.nv=-J*this.o.get("rotationSpeed")*this.Yua/this.xv(),this.Xua(this.qv,this.nv)):
(this.qpa(C*this.Pwa/this.xv(),J*this.Pwa/this.xv(),u),this.ov=u.x,this.pv=u.y,this.rv=u.z,this.vda(this.ov,this.pv,this.rv));this.Ca.Si(this.Pl)}};e.prototype.qpa=function(C,J,H){var P=this.m.getComponent(b.Aa);H.set(-C*this.o.get("translationSpeed"),+J*this.o.get("translationSpeed"),0*this.o.get("translationSpeed"));H.applyMatrix4(z.makeRotationFromEuler(y.set(P.Le*r,P.re*r,P.Me*r,P.Zf)));H.multiplyScalar(this.o.get("distance"))};e.prototype.sD=function(){this.IY(n.Lh);this.xi&&(this.xi=!1,this.dj&&
(this.VC=this.ov/this.dj,this.WC=this.pv/this.dj,this.XC=this.rv/this.dj,this.TC=this.qv/this.dj,this.SC=this.nv/this.dj,this.Bg=1,this.Ca.Si(this.Pl)),this.Qy=void 0)};e.prototype.QX=function(C){this.Ca.xF(this.o.get("distance")-C*this.o.get("distance")*this.o.get("translationSpeed"));this.Ca.Si(this.aE)};e.prototype.dI=function(C,J){if("center"==this.o.get("doubleClickAction")){var H=h.Ch(this.m),P=h.lr(this.m);P&&H&&(w.set(C,J),this.XN(w),C=this.mN(w,P),0!=C.length&&(C=C[0].point,J=u.setFromMatrixPosition(P.matrixWorld).sub(C),
P=J.length(),x.setFromUnitVectors(v.set(0,0,1),J.normalize()),y.setFromQuaternion(x,"YXZ"),J=y.x*t,this.Ca.Dm(-y.y*t),this.Ca.Ax(J),this.Ca.xF(P),this.Ca.setX(C.x),this.Ca.setY(C.y),this.Ca.setZ(C.z),this.Ca.Si(this.aE)))}};e.prototype.ksa=function(){this.oqa=this.o.get("distance");this.xi=!1};e.prototype.waa=function(C,J,H){this.qpa(C/this.xv(),J/this.xv(),u);this.vda(u.x,u.y,u.z);this.Ca.xF(this.oqa/H);this.Ca.Si(this.Pl)};e.prototype.xaa=function(){this.oqa=this.o.get("distance")};e.prototype.gaa=
function(C,J,H,P,W){var U=this.m.getComponent(b.Aa);U&&(z.makeRotationFromEuler(y.set(0,U.re*r,0,U.Zf)),u.set(C,J,H).applyMatrix4(z).multiplyScalar(this.o.get("distance")),this.vda(u.x,u.y,u.z),this.Xua(P,W),this.Ca.Si(this.Pl))};e.prototype.vda=function(C,J,H){this.Ca.setX(this.o.get("x")+C);this.Ca.setY(this.o.get("y")+J);this.Ca.setZ(this.o.get("z")+H)};e.prototype.Xua=function(C,J){this.Ca.Dm(this.o.get("yaw")+C);this.Ca.Ax(this.o.get("pitch")+J)};e.prototype.em=function(C){this.o!=C&&(this.o&&
(this.Ca=null,A.forEach(function(J){this.o.unbind(m.D(J),this.Jw,this,!1)}.bind(this)),D.forEach(function(J){this.o.unbind(m.D(J),this.Xq,this,!1)}.bind(this)),this.o.set("userInteracting",!1)),this.o=C)&&(this.o.set("userInteracting",!1),this.Ca=new f(this.o),A.forEach(function(J){this.o.bind(m.D(J),this.Jw,this,!1)}.bind(this)),D.forEach(function(J){this.o.bind(m.D(J),this.Xq,this,!1)}.bind(this)),this.Jw(),this.Xq())};e.prototype.mN=function(C,J){E.setFromCamera(C,J);return E.intersectObjects(this.KC(),
!1)};e.prototype.KC=function(){var C=this.m&&h.Ch(this.m);if(!C)return[];var J=[];C.traverse(function(H){H.isSprite||H.isLine||J.push(H)});return J};e.prototype.Jw=function(){if(this.m&&this.o){var C=this.m.I(b.Aa,!0);C.translationX=this.o.get("x");C.translationY=this.o.get("y");C.$e=this.o.get("z");C.re=-this.o.get("yaw");C.Le=this.o.get("pitch");C.Me=0;C.Zf="YXZ";C.positionX=0;C.positionY=0;C.positionZ=this.o.get("distance");C.easing=this.o.get("easing")}};e.prototype.Xq=function(){this.m&&this.o&&
(this.m.I(b.PerspectiveCamera,!0).fov=this.o.get("fov"))};var r=Math.PI/180,t=180/Math.PI,u=new THREE.Vector3(0,1,0),v=new THREE.Vector3(0,1,0),w=new THREE.Vector2(0,0),x=new THREE.Quaternion,y=new THREE.Euler,z=new THREE.Matrix4,E=new THREE.Raycaster,B=[k.ja.Wi,k.ja.Ih,k.ja.Ya,k.ja.qb,k.ja.Qn,k.ja.Bu,k.ja.iu,k.ja.Hu,k.ja.Q,k.ja.E],A="easing minYaw maxYaw yaw minPitch maxPitch pitch minDistance maxDistance distance minX maxX x minY maxY y minZ maxZ z".split(" "),D=["minFov","maxFov","fov"];e.prototype.dispose=
function(){this.em(null);this.y$();this.caa();this.rq.Ba()};e.$a=function(C){C.J(b.vu).manager=new e(C)};e.Ba=function(C){var J=C.getComponent(b.vu);J.manager.dispose();J.manager=null;C.la(b.vu)};e.update=function(C){C.getComponent(b.vu).manager.update()};e.frame=function(C,J,H){C.getComponent(b.vu).manager.frame(J,H)};return e});
define("hQ","require exports oA cp fK three.mod".split(" "),function(a,e,l,m,k,b){a=function(){function c(d){this.N=d;this.properties=this.N.getComponent(k.Eu).properties;this.sm()&&this.L_a();this.update()}c.prototype.update=function(){this.properties=this.N.getComponent(k.Eu).properties;this.sm()||this.Mya()};c.prototype.frame=function(){this.sm()?this.K_a():this.Mya()};c.prototype.L_a=function(){var d=this.N.getComponent(k.Eu).ag||1;this.Oza();l.setPosition({x:this.properties.get("x"),y:this.properties.get("y"),
z:this.properties.get("z"),yaw:this.properties.get("yaw")});l.setScale(d)};c.prototype.K_a=function(){this.Oza();l.setPosition({x:this.properties.get("x"),y:this.properties.get("y"),z:this.properties.get("z"),yaw:void 0});this.properties.set("yaw",-h.setFromQuaternion(l.ug).y*g)};c.prototype.Mya=function(){var d=this.N.I(k.Aa,!0);d.translationX=this.properties.get("x");d.translationY=this.properties.get("y");d.$e=this.properties.get("z");d.re=-this.properties.get("yaw");d.Le=this.properties.get("pitch");
d.Me=0;d.Zf="YXZ";d.positionX=0;d.positionY=0;d.positionZ=this.properties.get("distance",0);d.easing=0;this.N.I(k.PerspectiveCamera,!0).fov=this.properties.get("fov")};c.prototype.Oza=function(){var d=m.Ch(this.N),f=this.N.getComponent(k.zj);f=f&&f.camera;l.mx!==f&&l.IFa(l.dh,d,f,l.i5.kka)};c.prototype.sm=function(){return this.N.getComponent(k.PerspectiveCamera).sm};c.$a=function(d){d.J(k.ks).manager=new c(d)};c.update=function(d){d.getComponent(k.ks).manager.update()};c.frame=function(d,f,p){d.getComponent(k.ks).manager.frame(f,
p)};c.Ba=function(d){d.getComponent(k.ks).manager=null;d.la(k.ks)};return c}();var h=new b.Euler,g=180/Math.PI;return a});
define("kG","require exports pf oA mp fK three.mod".split(" "),function(a,e,l,m,k,b,h){a=function(){function y(z){this.locked=!0;this.cp=!1;this.Kfa=this.Xk=this.qe=null;this.q0=new h.Matrix4;this.HE=new h.Vector3;this.AK=new Map;this.ag=1;this.XA=0;this.Qr=!1;this.ek=0;this.qj=null;this.LA=new h.Vector3;this.md=new h.Vector3;this.P1=new h.Quaternion;this.CS=this.DS=this.ES=0;this.Nw=new h.Box3(new h.Vector3(-Infinity,-Infinity,-Infinity),new h.Vector3(Infinity,Infinity,Infinity));this.N=z;this.sj=
this.sj.bind(this);this.gr=new k(this.N);m.P.bind(l.ca,this.Je,this,!0);this.update()}y.prototype.update=function(){var z=this.N.getComponent(b.qG),E=(null===z||void 0===z?void 0:z.locked)||!1;!E&&this.locked&&(this.cp=!0);this.locked=E;this.ag=(null===z||void 0===z?void 0:z.ag)||1;this.ek=null===z||void 0===z?void 0:z.ek;this.ZA();this.properties=z.properties;this.locked||(m.setScale(this.ag),this.$Q(),this.sj());this.cp&&(g.setFromQuaternion(m.D3),m.setPosition({pitch:g.x*w,roll:g.z*w}),this.yE())};
y.prototype.frame=function(z){if(!this.locked){this.Gx();this.yT();this.yE();if(!this.properties.get("controllingPosition")){this.md.copy(m.Xc);this.P1.copy(m.ug);var E;(E=this.SQ())||(E=this.Yea(z));E||(E=this.TQ(z));E&&(z={},m.Xc.equals(this.md)||(z.x=this.md.x,z.y=this.md.y,z.z=this.md.z),m.ug.equals(this.P1)||(g.setFromQuaternion(this.P1,"YXZ"),z.yaw=-g.y*w,z.pitch=g.x*w,z.roll=g.z*w),m.setPosition(z))}this.XQ();this.AJ();this.cp=!1}};y.prototype.dispose=function(){m.P.unbind(l.ca,this.Je,this);
this.properties.set("userInteracting",!1);this.ZA();this.bh();this.eT([])};y.prototype.ZA=function(){y.ay.forEach(function(z){var E;null===(E=this.properties)||void 0===E?void 0:E.unbind(l.D(z),this.sj,this)}.bind(this))};y.prototype.$Q=function(){y.ay.forEach(function(z){var E;null===(E=this.properties)||void 0===E?void 0:E.bind(l.D(z),this.sj,this,!0)}.bind(this))};y.prototype.sj=function(){this.Nw.min.set(this.properties.get("minX",-Infinity),this.properties.get("minY",-Infinity),this.properties.get("minZ",
-Infinity));this.Nw.max.set(this.properties.get("maxX",Infinity),this.properties.get("maxY",Infinity),this.properties.get("maxZ",Infinity))};y.prototype.yE=function(){var z=this.properties.get("x"),E=this.properties.get("y"),B=this.properties.get("z"),A=this.properties.get("yaw"),D=this.properties.get("pitch"),C=this.properties.get("distance");if(z!==this.LA.x||E!==this.LA.y||B!==this.LA.z||A!==this.ES||D!==this.DS||C!==this.CS)this.LA.set(z,E,B),p.identity(),p.multiply(q.makeTranslation(z,E,B)),
p.multiply(q.makeRotationFromEuler(g.set(D*x,-A*x,0,"YXZ"))),p.multiply(q.makeTranslation(0,0,C)),p.decompose(d,c,f),g.setFromQuaternion(c,"YXZ"),m.setPosition({x:d.x,y:d.y,z:d.z,yaw:-g.y*w})};y.prototype.XQ=function(){d.copy(m.Xc).sub(this.LA);var z=d.length();g.setFromQuaternion(c.setFromUnitVectors(u,d.multiplyScalar(1/z)),"YXZ");this.properties.set("x",this.LA.x);this.properties.set("y",this.LA.y);this.properties.set("z",this.LA.z);this.properties.set("yaw",-g.y*w);this.properties.set("pitch",
g.x*w);this.properties.set("roll",g.z*w);this.properties.set("distance",z)};y.prototype.AJ=function(){this.ES=this.properties.get("yaw");this.DS=this.properties.get("pitch");this.CS=this.properties.get("distance")};y.prototype.Gx=function(){this.eT((y.dB.get(this.N.U)||[]).map(function(z){return z.getComponent(b.nd)}))};y.prototype.eT=function(z){var E=[],B=[];this.AK.forEach(function(A){-1===z.indexOf(A)&&E.push(A)}.bind(this));z.forEach(function(A){this.AK.has(A.P)||B.push(A)}.bind(this));this.Xk&&
-1===z.indexOf(this.Xk)&&this.bh();E.forEach(function(A){this.FS(A.P);this.AK.delete(A.P)}.bind(this));B.forEach(function(A){this.QQ(A.P);this.AK.set(A.P,A)}.bind(this));this.qe=z.find(function(A){return A.bk})||null};y.prototype.QQ=function(z){z.bind(l.qa,this.wr,this,!0);z.bind(l.kb,this.yr,this,!0)};y.prototype.FS=function(z){z.unbind(l.qa,this.wr,this);z.unbind(l.kb,this.yr,this)};y.prototype.Je=function(){this.N.I(b.Mp)};y.prototype.wr=function(z){this.properties.get("inMandatorySequence")||
z.data.SR||"other"==z.data.type||this.properties.get("clickTranslationDisabled")||(z=this.AK.get(z.source),z=this.gr.VR(z),0!=z.length&&(this.qj=z[0].point))};y.prototype.yr=function(z){if(!this.properties.get("inMandatorySequence")){this.bh();z=z.source;var E=this.AK.get(z),B=this.gr.VR(E);0!=B.length&&(this.Xk=E,this.Kfa=z,this.Kfa.bind(l.Hb,this.bh,this,!0),this.HE.copy(B[0].point),this.q0.copy(this.Xk.matrixWorld))}};y.prototype.bh=function(){this.Xk&&(this.Xk.P.unbind(l.Hb,this.bh,this),this.Xk=
this.Kfa=null)};y.prototype.SQ=function(){if(!this.qj)return!1;this.md.copy(this.qj).sub(m.Xc).multiplyScalar(.5).add(m.Xc);this.qj=null;return!0};y.prototype.TQ=function(z){return this.UQ()?!0:this.VQ(z)?!0:!1};y.prototype.UQ=function(){if(!this.qe)return!1;if(0===this.qe.Nb.y&&0===this.qe.Nb.x)return this.XA=Date.now(),this.Qr=!1;if(this.Qr)return!0;var z=Math.sqrt(this.qe.Nb.y*this.qe.Nb.y+this.qe.Nb.x*this.qe.Nb.x)*this.properties.get("rotationSpeed",1),E=Math.atan2(-this.qe.Nb.y,this.qe.Nb.x),
B=Math.abs(E)<.25*Math.PI;E=Math.abs(E)>.75*Math.PI;return 0!==this.ek&&.95<z&&(B||E)&&100>Date.now()-this.XA?(this.Qr=!0,z=this.ek*(E?-1:1),z=-g.setFromQuaternion(m.ug,"YXZ").y*w+z,m.setPosition({yaw:z}),!0):!1};y.prototype.VQ=function(z){if(!this.qe||0===this.qe.Nb.y&&0===this.qe.Nb.x)return!1;z=4E3/3600/this.ag*this.properties.get("translationSpeed",1)*(this.qe.NF?3:1)*z/1E3;var E=d.set(0,0,-1).applyQuaternion(m.ug),B=f.set(1,0,0).applyQuaternion(m.ug);E.normalize().multiplyScalar(-this.qe.Nb.y*
z);B.normalize().multiplyScalar(this.qe.Nb.x*z);this.md.set(m.Xc.x+E.x+B.x,m.Xc.y+E.y+B.y,m.Xc.z+E.z+B.z);return!0};y.prototype.Yea=function(z){if(!this.Xk)return!1;this.Zea(z);z=p.copy(this.q0);var E=q.copy(this.Xk.matrixWorld);E=r.copy(n.compose(m.Xc,m.ug,v)).invert().multiply(E);t.copy(z).multiply(E.invert()).decompose(this.md,this.P1,d);return!0};y.prototype.Zea=function(z){if(!this.Xk||0===this.Xk.Nb.y&&0===this.Xk.Nb.x)return!1;z=90*z/1E3*this.properties.get("rotationSpeed",1);var E=n.makeRotationFromQuaternion(c.setFromRotationMatrix(this.q0)),
B=r.copy(E).invert(),A=q.identity();A.multiply(p.makeTranslation(this.HE.x,this.HE.y,this.HE.z));A.multiply(E);A.multiply(p.makeRotationFromEuler(g.set(this.Xk.Nb.y*z*x,this.Xk.Nb.x*z*x,0,"YXZ")));A.multiply(B);A.multiply(p.makeTranslation(-this.HE.x,-this.HE.y,-this.HE.z));this.q0.premultiply(A);return!0};y.prototype.yT=function(){this.properties.get("inMandatorySequence")?this.properties.set("userInteracting",!1):this.Xk?this.properties.set("userInteracting",!0):this.qj?this.properties.set("userInteracting",
!0):!this.qe||0===this.qe.Nb.y&&0===this.qe.Nb.x?this.properties.set("userInteracting",!1):this.properties.set("userInteracting",!0)};y.DF=function(z,E){this.dB.set(z,E)};y.$a=function(z){z.J(b.Mp).manager=new y(z)};y.update=function(z){z.getComponent(b.Mp).manager.update()};y.frame=function(z,E,B){z.getComponent(b.Mp).manager.frame(E,B)};y.Ba=function(z){var E=z.getComponent(b.Mp);E.manager.dispose();E.manager=null;z.la(b.Mp)};y.dB=new Map;y.ay="minX maxX minY maxY minZ maxZ".split(" ");return y}();
var g=new h.Euler(0,0,0,"YXZ"),c=new h.Quaternion,d=new h.Vector3,f=new h.Vector3,p=new h.Matrix4,q=new h.Matrix4,n=new h.Matrix4,r=new h.Matrix4,t=new h.Matrix4,u=new h.Vector3(0,0,1),v=new h.Vector3(1,1,1),w=180/Math.PI,x=Math.PI/180;return a});
define("hk","require exports pf oA mp fK three.mod".split(" "),function(a,e,l,m,k,b,h){a=function(){function x(y){this.locked=!0;this.cp=!1;this.Ri=this.NS=this.qe=null;this.jha=new h.Matrix4;this.oF=[];this.ag=1;this.XA=0;this.Qr=!1;this.ek=0;this.qj=null;this.zja=!1;this.md=new h.Vector3;this.CS=this.DS=this.ES=this.jEa=this.iEa=this.hEa=0;this.Nw=new h.Box3(new h.Vector3(-Infinity,-Infinity,-Infinity),new h.Vector3(Infinity,Infinity,Infinity));this.N=y;this.sj=this.sj.bind(this);this.gr=new k(this.N);
m.P.bind(l.ca,this.Je,this,!0);this.update()}x.prototype.update=function(){var y=this.N.getComponent(b.rG),z=(null===y||void 0===y?void 0:y.locked)||!1;!z&&this.locked&&(this.cp=!0);this.locked=z;this.ag=(null===y||void 0===y?void 0:y.ag)||1;this.ek=null===y||void 0===y?void 0:y.ek;this.ZA();this.properties=y.properties;this.locked||(m.setScale(this.ag),this.$Q(),this.sj());this.cp&&(g.setFromQuaternion(m.D3),m.setPosition({pitch:g.x*v,roll:g.z*v}),this.yE(!0))};x.prototype.frame=function(y){if(!this.locked){this.Gx();
this.yT();this.yE(!1);if(!this.properties.get("controllingPosition")){this.md.copy(m.Xc);var z=this.DA=-g.setFromQuaternion(m.ug).y*v;var E=this.SQ();this.zja&&this.Ri&&this.jha.copy(this.Ri.matrixWorld);this.zja=!1;E||(E=this.zja=this.Zea(y));E||(E=this.Yea(y));E||(E=this.TQ(y));E&&(y={},m.Xc.equals(this.md)||(y.x=this.md.x,y.y=this.md.y,y.z=this.md.z),this.DA!=z&&(y.yaw=this.DA),m.setPosition(y))}this.XQ();this.AJ();this.cp=!1}};x.prototype.dispose=function(){m.P.unbind(l.ca,this.Je,this);this.properties.set("userInteracting",
!1);this.ZA();this.bh();this.eT([])};x.prototype.ZA=function(){x.ay.forEach(function(y){var z;null===(z=this.properties)||void 0===z?void 0:z.unbind(l.D(y),this.sj,this)}.bind(this))};x.prototype.$Q=function(){x.ay.forEach(function(y){var z;null===(z=this.properties)||void 0===z?void 0:z.bind(l.D(y),this.sj,this,!0)}.bind(this))};x.prototype.sj=function(){this.Nw.min.set(this.properties.get("minX",-Infinity),this.properties.get("minY",-Infinity),this.properties.get("minZ",-Infinity));this.Nw.max.set(this.properties.get("maxX",
Infinity),this.properties.get("maxY",Infinity),this.properties.get("maxZ",Infinity))};x.prototype.yE=function(y){var z=this.properties.get("x"),E=this.properties.get("y"),B=this.properties.get("z"),A=this.properties.get("controllingPosition"),D=this.properties.get("yaw"),C=this.properties.get("pitch"),J=this.properties.get("distance");if(z!==this.hEa||E!==this.iEa||B!==this.jEa||D!==this.ES||C!==this.DS||J!==this.CS)p.identity(),p.multiply(q.makeTranslation(z,E,B)),p.multiply(q.makeRotationFromEuler(g.set(C*
w,-D*w,0,"YXZ"))),p.multiply(q.makeTranslation(0,0,J)),p.decompose(d,c,f),g.setFromQuaternion(c,"YXZ"),m.setPosition({x:d.x,y:d.y,z:d.z,yaw:!y||A?void 0:-g.y*v})};x.prototype.XQ=function(){this.properties.set("x",m.Xc.x);this.properties.set("y",m.Xc.y);this.properties.set("z",m.Xc.z);g.setFromQuaternion(m.ug);this.properties.set("yaw",-g.y*v);this.properties.set("pitch",g.x*v);this.properties.set("roll",g.z*v);this.properties.set("distance",0)};x.prototype.AJ=function(){this.hEa=this.properties.get("x");
this.iEa=this.properties.get("y");this.jEa=this.properties.get("z");this.ES=this.properties.get("yaw");this.DS=this.properties.get("pitch");this.CS=this.properties.get("distance")};x.prototype.Gx=function(){this.eT((x.dB.get(this.N.U)||[]).map(function(y){return y.getComponent(b.nd)}))};x.prototype.eT=function(y){var z=[],E=[];this.oF.forEach(function(B){-1===y.indexOf(B)&&z.push(B)}.bind(this));y.forEach(function(B){-1===this.oF.indexOf(B)&&E.push(B)}.bind(this));this.Ri&&-1===y.indexOf(this.Ri)&&
this.bh();z.forEach(function(B){this.FS(B);this.oF.splice(this.oF.indexOf(B),1)}.bind(this));E.forEach(function(B){this.QQ(B);this.oF.push(B)}.bind(this));this.qe=y.find(function(B){return B.bk})||null;this.NS=y.find(function(B){return!B.bk})||this.qe};x.prototype.QQ=function(y){y.P.bind(l.kb,this.yr,this,!0);y.P.bind(l.qa,this.wr,this,!0)};x.prototype.FS=function(y){y.P.unbind(l.kb,this.yr,this);y.P.unbind(l.qa,this.wr,this)};x.prototype.Je=function(){this.N.I(b.Np)};x.prototype.wr=function(y){if(!(this.properties.get("inMandatorySequence")||
y.data.SR||"other"==y.data.type||this.properties.get("clickTranslationDisabled"))){var z=this.oF.find(function(E){return y.source===E.P});z&&(z=this.gr.VR(z),0!=z.length&&(this.qj=z[0].point))}};x.prototype.yr=function(y){if(!this.properties.get("inMandatorySequence")){this.bh();var z=this.oF.find(function(E){return y.source===E.P});z&&(this.Ri=z,this.Ri.P.bind(l.Hb,this.bh,this,!0),this.jha.copy(this.Ri.matrixWorld),z=this.gr.VR(z),0!=z.length&&(this.CA=(new h.Vector3).copy(z[0].point)))}};x.prototype.bh=
function(){this.Ri&&(this.Ri.P.unbind(l.Hb,this.bh,this),this.CA=this.Ri=null)};x.prototype.SQ=function(){if(!this.qj)return!1;this.md.copy(this.qj).sub(m.Xc).multiplyScalar(.5).add(m.Xc);this.qj=null;return!0};x.prototype.TQ=function(y){return this.UQ()?!0:this.VQ(y)?!0:!1};x.prototype.UQ=function(){var y=this.NS;if(!y)return!1;if(0===y.Nb.y&&0===y.Nb.x)return this.XA=Date.now(),this.Qr=!1;if(this.Qr)return!0;var z=Math.sqrt(y.Nb.y*y.Nb.y+y.Nb.x*y.Nb.x),E=Math.atan2(-y.Nb.y,y.Nb.x);y=Math.abs(E)<
.25*Math.PI;E=Math.abs(E)>.75*Math.PI;return 0!==this.ek&&.95<z&&(y||E)&&100>Date.now()-this.XA?(this.Qr=!0,this.DA+=this.ek*(E?-1:1),!0):!1};x.prototype.VQ=function(y){if(!this.qe||0===this.qe.Nb.y&&0===this.qe.Nb.x)return!1;y=1E4/3600/this.ag*this.properties.get("translationSpeed",1)*(this.qe.NF?3:1)*y/1E3;this.qe.matrixWorld.decompose(d,c,f);var z=d.set(0,0,-1).applyQuaternion(c),E=f.set(1,0,0).applyQuaternion(c);z.normalize().multiplyScalar(-this.qe.Nb.y*y);E.normalize().multiplyScalar(this.qe.Nb.x*
y);this.md.set(m.Xc.x+z.x+E.x,m.Xc.y+z.y+E.y,m.Xc.z+z.z+E.z);return!0};x.prototype.Yea=function(){if(!this.Ri)return!1;var y=this.mza(p.copy(this.jha)),z=this.mza(q.copy(this.Ri.matrixWorld));z=r.copy(n.compose(m.Xc,m.ug,u)).invert().multiply(z);t.copy(y).multiply(z.invert()).decompose(this.md,c,d);this.DA=-g.setFromQuaternion(c).y*v;return!0};x.prototype.mza=function(y){return y.decompose(d,c,f).compose(d,c.identity(),f)};x.prototype.Zea=function(y){if(!this.Ri||!this.CA||0===this.Ri.Nb.y&&0===this.Ri.Nb.x)return!1;
y=90*y/1E3;var z=p.compose(m.Xc,m.ug,u),E=q.identity();E.multiply(n.makeTranslation(this.CA.x,this.CA.y,this.CA.z));E.multiply(n.makeRotationY(-this.DA*w));E.multiply(n.makeRotationFromEuler(g.set(this.Ri.Nb.y*y*w,this.Ri.Nb.x*y*w,0,"YXZ")));E.multiply(n.makeRotationY(this.DA*w));E.multiply(n.makeTranslation(-this.CA.x,-this.CA.y,-this.CA.z));z.premultiply(E);z.decompose(this.md,c,d);this.DA=-g.setFromQuaternion(c).y*v;return!0};x.prototype.yT=function(){this.properties.get("inMandatorySequence")?
this.properties.set("userInteracting",!1):this.Ri?this.properties.set("userInteracting",!0):this.qj?this.properties.set("userInteracting",!0):!this.qe||0===this.qe.Nb.y&&0===this.qe.Nb.x?this.properties.set("userInteracting",!1):this.properties.set("userInteracting",!0)};x.DF=function(y,z){this.dB.set(y,z)};x.$a=function(y){y.J(b.Np).manager=new x(y)};x.update=function(y){y.getComponent(b.Np).manager.update()};x.frame=function(y,z,E){y.getComponent(b.Np).manager.frame(z,E)};x.Ba=function(y){var z=
y.getComponent(b.Np);z.manager.dispose();z.manager=null;y.la(b.Np)};x.dB=new Map;x.ay="minX maxX minY maxY minZ maxZ".split(" ");return x}();var g=new h.Euler(0,0,0,"YXZ");new h.Euler(0,0,0,"YXZ");var c=new h.Quaternion,d=new h.Vector3,f=new h.Vector3,p=new h.Matrix4,q=new h.Matrix4,n=new h.Matrix4,r=new h.Matrix4,t=new h.Matrix4,u=new h.Vector3(1,1,1),v=180/Math.PI,w=Math.PI/180;return a});
define("dL","require exports pf oA mp fK three.mod".split(" "),function(a,e,l,m,k,b,h){a=function(){function r(t){this.locked=!0;this.cp=!1;this.NS=this.CK=this.kp=null;this.ag=1;this.XA=0;this.Qr=!1;this.ek=0;this.qj=null;this.md=new h.Vector3;this.sR=[];this.Fr=new h.Vector3;this.Nw=new h.Box3(new h.Vector3(-Infinity,-Infinity,-Infinity),new h.Vector3(Infinity,Infinity,Infinity));this.N=t;this.sj=this.sj.bind(this);this.gr=new k(this.N);m.P.bind(l.ca,this.Je,this,!0);this.update()}r.prototype.update=
function(){var t=this.N.getComponent(b.sG),u=(null===t||void 0===t?void 0:t.locked)||!1;!u&&this.locked&&(this.cp=!0);this.locked=u;this.ag=(null===t||void 0===t?void 0:t.ag)||1;this.ek=null===t||void 0===t?void 0:t.ek;this.ZA();this.properties=t.properties;this.locked||(m.setScale(this.ag),this.$Q(),this.sj());this.cp&&(g.setFromQuaternion(m.D3),m.setPosition({x:this.properties.get("x"),y:this.properties.get("y"),z:this.properties.get("z"),yaw:this.properties.get("yaw"),pitch:g.x*n,roll:g.z*n}))};
r.prototype.ZA=function(){r.ay.forEach(function(t){var u;null===(u=this.properties)||void 0===u?void 0:u.unbind(l.D(t),this.sj,this)}.bind(this))};r.prototype.$Q=function(){r.ay.forEach(function(t){var u;null===(u=this.properties)||void 0===u?void 0:u.bind(l.D(t),this.sj,this,!0)}.bind(this))};r.prototype.sj=function(){this.Nw.min.set(this.properties.get("minX",-Infinity),this.properties.get("minY",-Infinity),this.properties.get("minZ",-Infinity));this.Nw.max.set(this.properties.get("maxX",Infinity),
this.properties.get("maxY",Infinity),this.properties.get("maxZ",Infinity))};r.prototype.frame=function(t){this.locked||(this.Gx(),this.yT(),this.yE(),this.properties.get("controllingPosition")||(this.md.copy(m.Xc),this.SQ()||this.TQ(t),this.md.y=this.Hya(this.Fr.y,this.X0(this.md.x,this.md.y,this.md.z),t),this.P0a()&&(this.md.copy(this.Fr),this.md.y=this.Hya(this.Fr.y,this.X0(this.md.x,this.md.y,this.md.z),t)),this.Nw.clampPoint(this.md,this.md),m.Xc.equals(this.md)||m.setPosition({x:this.md.x,y:this.md.y,
z:this.md.z,Qa:void 0})),this.XQ(),this.AJ(),this.G5a(),this.cp=!1)};r.prototype.G5a=function(){this.gr.refresh();this.sR.forEach(function(t){t.y=NaN})};r.prototype.dispose=function(){m.P.unbind(l.ca,this.Je,this);this.properties.set("userInteracting",!1);this.ZA()};r.prototype.yE=function(){var t=this.properties.get("x"),u=this.properties.get("y"),v=this.properties.get("z");if(this.Fr.x!==t||this.Fr.y!==u||this.Fr.z!==v)this.properties.get("controllingPosition")||(u=this.X0(t,u,v)),m.setPosition({x:t,
y:u,z:v,yaw:void 0}),this.AJ()};r.prototype.XQ=function(){this.properties.set("x",m.Xc.x);this.properties.set("y",m.Xc.y);this.properties.set("z",m.Xc.z);g.setFromQuaternion(m.ug);this.properties.set("yaw",-g.y*n);this.properties.set("pitch",g.x*n);this.properties.set("roll",g.z*n)};r.prototype.AJ=function(){this.Fr.copy(m.Xc);this.gEa=this.dga(this.Fr)};r.prototype.Gx=function(){var t=null,u=null;(r.dB.get(this.N.U)||[]).forEach(function(v){v=v.getComponent(b.nd);v.bk?t=v:u=v});this.m7a(t,u)};r.prototype.m7a=
function(t,u){this.kp=t;this.NS=u;t=t?t.P:null;this.CK!==t&&(this.CK&&this.FS(this.CK),(this.CK=t)&&this.QQ(this.CK))};r.prototype.QQ=function(t){t.bind(l.qa,this.wr,this,!0)};r.prototype.FS=function(t){t.unbind(l.qa,this.wr,this)};r.prototype.Je=function(){this.N.I(b.Op)};r.prototype.wr=function(t){if(this.kp&&this.properties&&!this.properties.get("inMandatorySequence")&&!t.data.SR&&"other"!=t.data.type&&!this.properties.get("clickTranslationDisabled")&&"translate"==this.properties.get("doubleClickAction")&&
(t=this.gr.VR(this.kp),0!=t.length)){var u=t[0];if(u.face&&u.face.normal){t=c.copy(m.Xc);var v=d.copy(u.point);u=f.copy(u.face.normal).transformDirection(u.object.matrixWorld);if(Math.abs(Math.acos(u.dot(q)))<.25*Math.PI)v.y+=this.P0();else{u=p.copy(v).sub(t);var w=u.length(),x=.5*this.P0();if(w<x)return;v.sub(u.multiplyScalar(x/w))}v.y=this.X0(v.x,v.y,v.z);this.gr.KF(t,v)||(this.qj=new h.Vector3(v.x,v.y,v.z))}}};r.prototype.SQ=function(){if(!this.qj)return!1;this.md.copy(this.qj);this.qj=null;return!0};
r.prototype.TQ=function(t){return this.UQ()?!0:this.VQ(t)?!0:!1};r.prototype.UQ=function(){var t=this.NS;if(!t)return!1;if(0===t.Nb.y&&0===t.Nb.x)return this.XA=Date.now(),this.Qr=!1;if(this.Qr)return!0;var u=Math.sqrt(t.Nb.y*t.Nb.y+t.Nb.x*t.Nb.x),v=Math.atan2(-t.Nb.y,t.Nb.x);t=Math.abs(v)<.25*Math.PI;v=Math.abs(v)>.75*Math.PI;return 0!==this.ek&&.95<u&&(t||v)&&100>Date.now()-this.XA?(this.Qr=!0,u=this.ek*(v?-1:1),u=-g.setFromQuaternion(m.ug,"YXZ").y*n+u,m.setPosition({x:void 0,y:void 0,z:void 0,
yaw:u}),!0):!1};r.prototype.VQ=function(t){if(!this.kp||0===this.kp.Nb.y&&0===this.kp.Nb.x)return!1;t=4E3/3600/this.ag*this.properties.get("translationSpeed",1)*(this.kp.NF?3:1)*t/1E3;var u=c.set(0,0,-1).applyQuaternion(m.ug),v=d.crossVectors(u,q);u.y=0;v.y=0;u.normalize().multiplyScalar(-this.kp.Nb.y*t);v.normalize().multiplyScalar(this.kp.Nb.x*t);this.md.set(m.Xc.x+u.x+v.x,m.Xc.y,m.Xc.z+u.z+v.z);return!0};r.prototype.yT=function(){this.properties.get("inMandatorySequence")?this.properties.set("userInteracting",
!1):this.qj?this.properties.set("userInteracting",!0):!this.kp||0===this.kp.Nb.y&&0===this.kp.Nb.x?this.properties.set("userInteracting",!1):this.properties.set("userInteracting",!0)};r.prototype.P0a=function(){if(!this.properties.get("collisionDetection"))return!1;var t=c,u=d;t.copy(this.md).sub(this.Fr);u.copy(this.Fr).add(t.setLength(t.length()+.2/this.ag));if(this.gr.KF(this.Fr,u))return!0;t=this.properties.get("maxStepHeight");void 0===t&&(t=.25*this.P0());u=this.dga(this.md);return-Infinity<
this.gEa&&-Infinity<u&&this.gEa+t<u?!0:!1};r.prototype.Hya=function(t,u,v){var w=u-t,x=Math.abs(w);v=2/this.ag*(v/1E3);return v>x?u:t+w*v/x};r.prototype.X0=function(t,u,v){t=this.cp?-Infinity:this.dga(c.set(t,u,v));return-Infinity===t?u:t+this.P0()};r.prototype.dga=function(t){var u=this.sR.findIndex(function(w){return w.x==t.x&&w.z==t.z&&!isNaN(w.y)});if(-1!==u)return this.sR[u].y;u=this.gr.LJ(t);var v=this.sR.find(function(w){return isNaN(w.y)});v||this.sR.push(v=new h.Vector3);v.set(t.x,t.y-u,
t.z);return v.y};r.prototype.P0=function(){return m.$ya/this.ag};r.DF=function(t,u){this.dB.set(t,u)};r.$a=function(t){t.J(b.Op).manager=new r(t)};r.update=function(t){t.getComponent(b.Op).manager.update()};r.frame=function(t,u,v){t.getComponent(b.Op).manager.frame(u,v)};r.Ba=function(t){var u=t.getComponent(b.Op);u.manager.dispose();u.manager=null;t.la(b.Op)};r.dB=new Map;r.ay="minX maxX minY maxY minZ maxZ".split(" ");return r}();var g=new h.Euler(0,0,0,"YXZ"),c=new h.Vector3,d=new h.Vector3,f=
new h.Vector3,p=new h.Vector3,q=new h.Vector3(0,1,0),n=180/Math.PI;return a});
define("hn","require lE lO fK mp fb oQ dT ca oC hQ kG hk dL".split(" "),function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("mp"),b=a("fb"),h=a("oQ"),g=a("dT"),c=a("ca"),d=a("oC"),f=a("hQ"),p=a("kG"),q=a("hk"),n=a("dL");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(r,t){(this.rha.Pd.length||this.rha.wg.length)&&k.$6a(this.rha.A);this.aza.A.length&&this.aza.A.slice().forEach(b.$a);this.e0.Ha.length&&this.e0.Ha.slice().forEach(b.update);this.e0.A.length&&this.e0.A.slice().forEach(function(u){b.frame(u,
r,t)});this.bza.A.length&&this.bza.A.slice().forEach(b.Ba);this.dAa.A.length&&this.dAa.A.slice().forEach(c.$a);this.tR.Ha.length&&this.tR.Ha.slice().forEach(c.update);this.tR.A.length&&this.tR.A.slice().forEach(function(u){c.frame(u,r,t)});this.eAa.A.length&&this.eAa.A.slice().forEach(c.Ba);this.Yza.A.length&&this.Yza.A.slice().forEach(g.$a);this.rR.Ha.length&&this.rR.Ha.slice().forEach(g.update);this.rR.A.length&&this.rR.A.slice().forEach(function(u){g.frame(u,r,t)});this.Zza.A.length&&this.Zza.A.slice().forEach(g.Ba);
this.$za.A.length&&this.$za.A.slice().forEach(g.Ba);this.zDa.A.length&&this.zDa.A.slice().forEach(d.$a);this.sS.Ha.length&&this.sS.Ha.slice().forEach(d.update);this.sS.A.length&&this.sS.A.slice().forEach(function(u){d.frame(u,r,t)});this.ADa.A.length&&this.ADa.A.slice().forEach(d.Ba);n.DF(this.U,this.fl.A.slice());this.BHa.A.length&&this.BHa.A.slice().forEach(n.$a);this.CT.Ha.length&&this.CT.Ha.slice().forEach(n.update);this.CT.A.length&&this.CT.A.slice().forEach(function(u){n.frame(u,r,t)});this.CHa.A.length&&
this.CHa.A.slice().forEach(n.Ba);this.DHa.A.length&&this.DHa.A.slice().forEach(n.Ba);p.DF(this.U,this.fl.A.slice());this.uHa.A.length&&this.uHa.A.slice().forEach(p.$a);this.AT.Ha.length&&this.AT.Ha.slice().forEach(p.update);this.AT.A.length&&this.AT.A.slice().forEach(function(u){p.frame(u,r,t)});this.vHa.A.length&&this.vHa.A.slice().forEach(p.Ba);this.wHa.A.length&&this.wHa.A.slice().forEach(p.Ba);q.DF(this.U,this.fl.A.slice());this.xHa.A.length&&this.xHa.A.slice().forEach(q.$a);this.BT.Ha.length&&
this.BT.Ha.slice().forEach(q.update);this.BT.A.length&&this.BT.A.slice().forEach(function(u){q.frame(u,r,t)});this.yHa.A.length&&this.yHa.A.slice().forEach(q.Ba);this.zHa.A.length&&this.zHa.A.slice().forEach(q.Ba);this.KGa.A.length&&this.KGa.A.slice().forEach(f.$a);this.dL.Ha.length&&this.dL.Ha.slice().forEach(f.update);this.dL.Pd.length&&this.dL.Pd.slice().forEach(f.update);this.dL.A.length&&this.dL.A.slice().forEach(function(u){f.frame(u,r,t)});this.LGa.A.length&&this.LGa.A.slice().forEach(f.Ba);
this.MGa.A.length&&this.MGa.A.slice().forEach(f.Ba);if(this.Jfa.Pd.length||this.Jfa.wg.length)h.n6a(this.Jfa.A),this.rR.A.slice().forEach(g.update),this.tR.A.slice().forEach(c.update),this.sS.A.slice().forEach(d.update),this.AT.A.slice().forEach(p.update),this.BT.A.slice().forEach(q.update),this.CT.A.slice().forEach(n.update)};a.H={};a.H.fl=[m.nd];a.H.Jfa=[m.Tx];a.H.rha=[m.hG];a.H.Yza=[m.Wx,m.mk.not,m.Vr.not];a.H.rR=[m.Wx,m.mk.not,m.Vr];a.H.Zza=[m.Wx.not,m.Vr];a.H.$za=[m.mk,m.Vr];a.H.KGa=[m.Eu,m.zj,
m.ks.not];a.H.dL=[m.Eu,m.zj,m.ks];a.H.LGa=[m.zj.not,m.ks];a.H.MGa=[m.Eu.not,m.ks];a.H.BHa=[m.mk,m.sG,m.Op.not];a.H.CT=[m.mk,m.sG,m.Op];a.H.CHa=[m.sG.not,m.Op];a.H.DHa=[m.mk.not,m.Op];a.H.uHa=[m.mk,m.qG,m.Mp.not];a.H.AT=[m.mk,m.qG,m.Mp];a.H.vHa=[m.qG.not,m.Mp];a.H.wHa=[m.mk.not,m.Mp];a.H.xHa=[m.mk,m.rG,m.Np.not];a.H.BT=[m.mk,m.rG,m.Np];a.H.yHa=[m.rG.not,m.Np];a.H.zHa=[m.mk.not,m.Np];a.H.dAa=[m.zB,m.ou.not];a.H.tR=[m.zB,m.ou];a.H.eAa=[m.zB.not,m.ou];a.H.zDa=[m.EB,m.vu.not];a.H.sS=[m.EB,m.vu];a.H.ADa=
[m.EB.not,m.vu];a.H.aza=[m.XF,m.hu.not];a.H.e0=[m.XF,m.hu];a.H.bza=[m.XF.not,m.hu];return a});
define("ja",["require","fK"],function(a){function e(m){this.m=m;this.ewa=this.va=null;this.wa=this.na=void 0;this.update()}var l=a("fK");e.prototype.update=function(){var m=this.m.getComponent(l.oi),k=m.source&&m.source.width||0,b=m.source&&m.source.height||0;!this.va||!!this.va.isSpriteMaterial==m.isSprite&&this.na==k&&this.wa==b||(this.va.map.dispose(),this.va.dispose(),this.va=null);this.na=k;this.wa=b;this.va||(m.isSprite?(this.va=new THREE.SpriteMaterial,this.va.sizeAttenuation=!1):this.va=new THREE.MeshBasicMaterial,
this.va.map=new THREE.Texture,this.va.transparent=!0,this.m.J(l.Material).material=this.va);this.va.map.image!=m.source&&(this.va.map.image=m.source,this.va.map.needsUpdate=!0);this.ewa!=m.kT&&(this.ewa=m.kT,this.va.map.needsUpdate=!0);this.va.opacity=m.opacity||0;this.va.depthTest=!!m.depthTest;this.va.visible=0<this.va.opacity&&!m.hidden;this.va.needsUpdate=!0;this.m.U.Pa()};e.prototype.dispose=function(){this.va&&(this.va.map.dispose(),this.va.map=null,this.va.dispose(),this.va=null,this.m.la(l.Material));
this.m=null};e.$a=function(m){m.J(l.Rx).manager=new e(m)};e.Ba=function(m){var k=m.getComponent(l.Rx);k.manager.dispose();k.manager=null;m.la(l.Rx)};e.update=function(m){m.getComponent(l.Rx).manager.update()};return e});
define("iB",["require","lE","lO","fK","ja"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ja");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.vm.A.length&&this.vm.A.slice().forEach(k.$a);this.materials.Ha.length&&this.materials.Ha.slice().forEach(k.update);this.wm.A.length&&this.wm.A.slice().forEach(k.Ba)};a.H={};a.H.vm=[m.oi,m.Rx.not];a.H.materials=[m.oi,m.Rx];a.H.wm=[m.oi.not,m.Rx];return a});
define("eh",["require","pf","fK","cp","bd"],function(a){function e(x){this.Wg=x;this.ne=this.Zm=null;this.GM=!1;this.update()}var l=a("pf"),m=a("fK"),k=a("cp"),b=a("bd");e.prototype.update=function(){var x=this.Wg.getComponent(m.nd);this.AP(x&&x.enabled?x.v0:null);this.zP(x&&x.enabled?x.n0:null)};e.prototype.frame=function(){this.sf()};e.prototype.AP=function(x){this.Zm!=x&&(this.Zm&&this.Zm.unbind(l.kc,this.Hf,this,!0),(this.Zm=x)&&this.Zm.bind(l.kc,this.Hf,this,!0))};e.prototype.zP=function(x){this.ne!=
x&&(this.ne&&this.GM&&this.ne.pop(b.Lh),(this.ne=x)&&this.GM&&this.ne.push(b.Lh))};e.prototype.Hf=function(){var x=v.get(this.Wg.U);x&&0!=x.length&&this.Wg.U.Pa()};e.prototype.sf=function(){var x=v.get(this.Wg.U),y=x&&x.length||0;this.vva(0<y);if(0!=y&&(y=this.Wg.getComponent(m.nd))){var z=k.wc(this.Wg);z?(h.copy(y.origin).applyMatrix4(z.matrixWorld),g.copy(y.origin).add(y.direction).applyMatrix4(z.matrixWorld).sub(h).normalize()):(h.copy(y.origin),g.copy(y.direction).normalize());for(y=0;y<x.length;y++){z=
x[y];var E=z.getComponent(m.tp),B=z.getComponent(m.Sx),A=w.get(z);A&&E&&B&&(B.Iza||(B.Iza=(new THREE.Vector3).setFromMatrixPosition(A.matrixWorld)),c.copy(B.Iza),d.copy(E.direction),this.XPa(c,d,h,g,f),B.Ifa||(B.Ifa=(new THREE.Vector3).copy(f).sub(c)),f.sub(B.Ifa),E.min&&0>p.copy(f).sub(E.min).dot(E.direction)&&f.copy(E.min),f.applyMatrix4(q.copy(A.parent.matrixWorld).invert()),z=z.I(m.Aa),n.multiply(q.makeTranslation(z.translationX,z.translationY,z.$e).invert()),n.multiply(q.makeRotationFromEuler(r.set(z.Le*
u,z.re*u,z.Me*u,z.Zf)).invert()),f.applyMatrix4(q),z.positionX=f.x,z.positionY=f.y,z.positionZ=f.z)}}};e.prototype.vva=function(x){this.GM!=x&&(this.GM=x,this.ne&&(this.GM?this.ne.push(b.Lh):this.ne.pop(b.Lh)))};e.prototype.XPa=function(x,y,z,E,B){t.copy(x).sub(z);z=y.dot(E);var A=E.dot(E),D=y.dot(y);E=t.dot(E);var C=t.dot(y);B.copy(x);x=z*z-A*D;0!=x&&B.addScaledVector(y,(A*C-E*z)/x)};var h=new THREE.Vector3,g=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Vector3,f=new THREE.Vector3,p=new THREE.Vector3,
q=new THREE.Matrix4,n=new THREE.Matrix4,r=new THREE.Euler,t=new THREE.Vector3,u=Math.PI/180;e.prototype.dispose=function(){this.vva(!1);this.AP(null);this.zP(null);this.m=null};e.Sia=function(x){x.J(m.yu).manager=new e(x)};e.dja=function(x){var y=x.getComponent(m.yu);y.manager.dispose();y.manager=null;x.la(m.yu)};e.Gx=function(x){x.getComponent(m.yu).manager.update()};e.frame=function(x){x.getComponent(m.yu).manager.frame()};var v=new Map,w=new Map;e.M7a=function(x){x.J(m.Sx);x.J(m.Tx);e.aHa(x)};
e.aHa=function(x){var y=k.wc(x);w.set(x,y);var z=v.get(x.U);z||v.set(x.U,z=[]);y&&(y=z,0>y.indexOf(x)&&y.push(x))};e.tGa=function(x){var y=v.get(x.U),z=y.indexOf(x);0<=z&&y.splice(z,1);w["delete"](x);x.la(m.Sx);x.la(m.Tx)};return e});
define("ln",["require","lE","lO","fK","eh"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("eh");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.wS.A.length&&this.wS.A.slice().forEach(k.Sia);this.fl.Ha.length&&this.fl.Ha.slice().forEach(k.Gx);this.fl.A.length&&this.fl.A.slice().forEach(k.frame);this.xS.A.length&&this.xS.A.slice().forEach(k.dja);this.Hza.A.length&&this.Hza.A.slice().forEach(k.M7a);this.Gza.A.length&&this.Gza.A.slice().forEach(k.aHa);this.Jza.A.length&&
this.Jza.A.slice().forEach(k.tGa);this.Kza.A.length&&this.Kza.A.slice().forEach(k.tGa)};a.H={};a.H.wS=[m.nd,m.yu.not];a.H.fl=[m.nd,m.yu];a.H.xS=[m.nd.not,m.yu];a.H.Hza=[m.Object3D,m.tp,m.Sx.not];a.H.Gza=[m.Object3D,m.tp,m.Sx];a.H.Jza=[m.Object3D.not,m.Sx];a.H.Kza=[m.tp.not,m.Sx];return a});
define("le",["require","fK","cp"],function(a){function e(w){this.m=w;this.vba=!1}var l=a("fK"),m=a("cp");e.prototype.update=function(){this.vba=!1};e.prototype.frame=function(){this.sf()};e.prototype.sf=function(){if(!this.vba&&(this.Va=this.Va||m.Ch(this.m))){var w=m.wc(this.m),x=w&&w.parent;if(x&&x.matrixWorld){var y=[];this.Va.traverse(function(A){A.isSprite||A.isLine||A==w||y.push(A)});var z=this.m.I(l.nu);f.set(z.x,z.y,z.z).applyMatrix4(x.matrixWorld);d.ray.origin.set(f.x,f.y,f.z);d.ray.direction.set(0,
-1,0);var E=d.intersectObjects(y,!1);if(0!=E.length){var B=E[0];h.copy(x.matrixWorld).invert();E=this.m.I(l.Aa,!0);g.setFromMatrixPosition(x.matrixWorld);k.copy(B.object.matrixWorld);c.setFromMatrixPosition(k);b.copy(k).invert();!z.UR&&B.face&&B.face.normal?n.copy(B.face.normal).applyMatrix4(k).sub(c).add(g):n.copy(g).add(r);n.applyMatrix4(h).normalize();u.setFromUnitVectors(q,n);t.setFromQuaternion(u,E.Zf);E.Le=t.x*v;E.re=t.y*v;E.Me=t.z*v;f.copy(B.point).applyMatrix4(h);E.translationX=f.x;E.translationY=
f.y;E.$e=f.z;p.setFromMatrixScale(h);x=Math.max(p.x,p.y,p.z);E.positionX=0;E.positionY=0;E.positionZ=x*z.distance;this.vba=!0}}}};e.prototype.dispose=function(){};var k=new THREE.Matrix4,b=new THREE.Matrix4,h=new THREE.Matrix4,g=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Raycaster,f=new THREE.Vector3,p=new THREE.Vector3;new THREE.Matrix4;new THREE.Matrix4;var q=new THREE.Vector3(0,0,1),n=new THREE.Vector3,r=new THREE.Vector3(0,1,0),t=new THREE.Euler,u=new THREE.Quaternion,v=180/Math.PI;e.$a=
function(w){w.J(l.Wr).manager=new e(w)};e.Ba=function(w){var x=w.getComponent(l.Wr);x.manager.dispose();x.manager=null;w.la(l.Wr)};e.frame=function(w){w.getComponent(l.Wr).manager.frame()};e.update=function(w){w.getComponent(l.Wr).manager.update()};return e});
define("hZ",["require","lE","lO","fK","le"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("le");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.aAa.A.length&&this.aAa.A.slice().forEach(k.$a);this.C0.Ha.length&&this.C0.A.slice().forEach(k.update);this.C0.A.length&&this.C0.A.slice().forEach(k.frame);this.bAa.A.length&&this.bAa.A.slice().forEach(k.Ba);this.cAa.A.length&&this.cAa.A.slice().forEach(k.Ba)};a.H={};a.H.aAa=[m.Object3D,m.nu,m.Wr.not];a.H.C0=[m.Object3D,
m.nu,m.Wr];a.H.bAa=[m.Object3D.not,m.Wr];a.H.cAa=[m.nu.not,m.Wr];return a});define("gx",["require","fK"],function(a){var e=a("fK");return{$a:function(l){var m=l.J(e.bG),k=l.J(e.Object3D);l.J(e.Aa);l=l.I(e.Group);k.sa=m.group=l.group=new THREE.Group},Ba:function(l){l.getComponent(e.bG).group=null;l.la(e.bG);l.la(e.Object3D)}}});
define("lJ",["require","lE","lO","fK","gx"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("gx");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.eBa.A.length&&this.eBa.A.slice().forEach(k.$a);this.fBa.A.length&&this.fBa.A.slice().forEach(k.Ba)};a.H={};a.H.eBa=[m.Group,m.bG.not];a.H.fBa=[m.Group.not,m.bG];return a});
define("bh","require lE pf lg cC gv bi".split(" "),function(a){function e(f,p,q,n){this.Aga=f;this.src=f.src;this.F2=p;this.eR=q;this.G0=n;this.frameWidth=this.Aga.width/this.eR;this.frameHeight=this.Aga.height/this.F2}var l=a("lE"),m=a("pf"),k=a("lg");a("cC");var b=a("gv"),h=a("bi");a=l.extend(b,function(f,p,q,n,r,t,u){b.call(this);this.zl=r;this.sh=new e(f,p,q,r);this.Oua=t;this.via(n);this.s8=u;this.R=document.createElement("canvas");this.R.width=this.sh.frameWidth;this.R.height=this.sh.frameHeight;
this.za=this.R.getContext("2d");this.za.globalCompositeOperation="copy";this.C=k.W;this.ZY=this.Vm=0;this.s7=void 0;this.Vh=g.request(this.sh);this.Vh.bind(m.ca,this.Gj,this,!0);this.Gj()});a.prototype.via=function(f){if(this.Re!==f){var p=this.iQ;this.Re=f;this.iQ=this.Re*this.sh.G0;this.t8=this.iQ-.1*this.Re;void 0!==p&&(this.Vm=this.Vm/p*this.iQ)}};a.prototype.jFa=function(f){this.s8!==f&&(this.s8=f,this.Gj())};a.prototype.Lc=function(f){if(this.C!=f){if(f==k.Ib){if(this.C!=k.Y)return}else f==
k.Y?this.C==k.W&&(this.Vm=this.ZY=0,this.Gj()):f!=k.W||0==this.Vm&&0!=this.ZY||(this.Vm=this.t8,this.Gj());this.C=f;h.requestFrame(this.Qj,this);this.trigger(m.se)}};a.prototype.getState=function(){return this.C};a.prototype.Qj=function(f){this.C==k.Y&&(this.Vm=Math.min(this.Vm+f,this.Vh.Vh.length*this.Re),this.Vm>=this.iQ&&(this.ZY++,this.Oua&&this.ZY==this.Oua?(this.Lc(k.W),this.Vm=this.t8,this.trigger(m.Bb)):(this.Vm%=this.iQ,this.trigger(m.Ip))),this.Gj(),this.C==k.Y&&h.requestFrame(this.Qj,this))};
a.prototype.clear=function(){this.Lc(k.W);this.R.width=this.R.height=0;this.R=null;g.release(this.sh);this.sh=null};a.prototype.hg=function(){return this.R};a.prototype.Gj=function(){var f=this.s8&&this.Vm>=this.t8?0:Math.floor(this.Vm/this.Re);this.s7!=f&&f<this.Vh.Vh.length&&(this.s7=f,this.za.drawImage(this.Vh.get(this.s7),0,0),this.trigger(m.ca))};e.prototype.isEqual=function(f){return this.src==f.src&&this.F2==f.F2&&(this.eR=f.eR)&&(this.frameWidth=f.frameWidth)&&(this.frameHeight=f.frameHeight)&&
(this.G0=f.G0)};var g={Lj:[],RJa:2E3,request:function(f){f=this.yi(f);f.uj++;this.swa(f);return f.frames},release:function(f){f=this.yi(f);f.uj--;0==f.uj&&this.YWa(f)},yi:function(f){for(var p=0;p<this.Lj.length;p++)if(this.Lj[p].o1a.isEqual(f))return this.Lj[p];p={};p.o1a=f;p.frames=new c(f);p.uj=0;this.Lj.push(p);return p},YWa:function(f){this.swa(f);f.Cfa=setTimeout(function(){g.INa(f)},g.RJa)},swa:function(f){f.Cfa&&(clearTimeout(f.Cfa),f.Cfa=null)},INa:function(f){this.Lj.splice(this.Lj.indexOf(f),
1);f.frames.clear()}},c=l.extend(b,function(f){b.call(this);this.sh=f;this.Vh=[];d.add(this)});c.prototype.clear=function(){d.remove(this);this.Vh.forEach(function(f){f.width=0;f.height=0});this.Vh=null};c.prototype.get=function(f){return this.Vh[f]};c.prototype.d1a=function(){var f=this.Vh.length%this.sh.eR,p=Math.floor(this.Vh.length/this.sh.eR)%this.sh.F2,q=document.createElement("canvas");q.width=this.sh.frameWidth;q.height=this.sh.frameHeight;var n=q.getContext("2d");n.globalCompositeOperation=
"copy";n.drawImage(this.sh.Aga,f*this.sh.frameWidth,p*this.sh.frameHeight,this.sh.frameWidth,this.sh.frameHeight,0,0,this.sh.frameWidth,this.sh.frameHeight);c.FOa(q);this.Vh.push(q);this.trigger(m.ca)};c.FOa=function(){var f=document.createElement("canvas");f.width=1;f.height=1;var p=f.getContext("2d");return function(q){p.drawImage(q,0,0,1,1,0,0,1,1)}}();var d={Lj:[],mda:null,add:function(f){this.Lj.push(f);this.eva()},remove:function(f){this.Lj=this.Lj.filter(function(p){return p!=f})},eva:function(){this.mda||
(this.mda=setTimeout(function(){this.mda=null;this.JO()}.bind(this),40))},JO:function(){if(0!=this.Lj.length){for(var f=(new Date).getTime()+10;(new Date).getTime()<f;){var p=this.Lj.filter(function(q){return 0==q.Vh.length});p=0<p.length?p[0]:this.Lj[0];p.d1a();if(p.Vh.length==p.sh.G0&&(this.Lj.splice(this.Lj.indexOf(p),1),0==this.Lj.length))return}this.eva()}}};return a});
define("pa",["require","pf","lg"],function(a){function e(k,b){this.Jd=k;this.tc=b;this.Mb=!1;this.Q5();this.T5();this.qD()}var l=a("pf"),m=a("lg");e.prototype.clear=function(){this.Pba();this.Vba();this.Jd.set("state",m.W);this.tc=this.Jd=null};e.prototype.Bf=function(k){this.Mb!=k&&(this.Mb=k,this.nt())};e.prototype.qD=function(){this.tc.Lc(this.Jd.get("state"))};e.prototype.nO=function(){this.nt()};e.prototype.pO=function(){this.tc.via(this.Jd.get("frameDuration"))};e.prototype.oO=function(){this.tc.jFa("first"==
this.Jd.get("finalFrame"))};e.prototype.lO=function(){this.Jd.trigger(l.Ip)};e.prototype.kO=function(){this.Jd.trigger(l.Bb)};e.prototype.mO=function(){this.Jd.set("state",this.tc.getState())};e.prototype.nt=function(){this.Jd.get("autoplay")&&this.tc.Lc(this.Mb?m.Y:m.W)};e.prototype.Q5=function(){this.Jd.bind(l.D("state"),this.qD,this,!0);this.Jd.bind(l.D("autoplay"),this.nO,this,!0);this.Jd.bind(l.D("frameDuration"),this.pO,this,!0);this.Jd.bind(l.D("finalFrame"),this.oO,this,!0)};e.prototype.Pba=
function(){this.Jd.unbind(l.D("state"),this.qD,this,!0);this.Jd.unbind(l.D("autoplay"),this.nO,this,!0);this.Jd.unbind(l.D("frameDuration"),this.pO,this,!0);this.Jd.unbind(l.D("finalFrame"),this.oO,this,!0)};e.prototype.T5=function(){this.tc.bind(l.Ip,this.lO,this,!0);this.tc.bind(l.Bb,this.kO,this,!0);this.tc.bind(l.se,this.mO,this,!0)};e.prototype.Vba=function(){this.tc.unbind(l.Ip,this.lO,this,!0);this.tc.unbind(l.Bb,this.kO,this,!0);this.tc.unbind(l.se,this.mO,this,!0)};return e});
define("eK",["require","pf","nU","bh","pa"],function(a){function e(h,g,c,d){this.Be=h;this.ac=g;this.Fa=c;this.Da=d.bind(this);m.Ia("AnimatedImageResource",this.Be)?(this.tc=new k(this.ac,this.Be.get("rowCount",1),this.Be.get("colCount",1),this.Be.get("frameDuration"),this.Be.get("frameCount",this.Be.get("rowCount",1)*this.Be.get("colCount",1)),this.Be.get("repeat"),"first"==this.Be.get("finalFrame")),this.Fa.image=this.tc.hg(),this.tc.bind(l.ca,this.iN,this,!0),this.ao=new b(this.Be,this.tc)):this.Fa.image=
this.ac;this.Fa.needsUpdate=!0;this.Da()}var l=a("pf"),m=a("nU"),k=a("bh"),b=a("pa");e.prototype.Bf=function(h){this.ao&&this.ao.Bf(h)};e.prototype.dispose=function(){this.ao&&(this.ao.clear(),this.ao=null);this.tc&&(this.tc.unbind(l.ca,this.iN,this,!0),this.tc.clear(),this.tc=null);this.Fa=this.ac=this.Be=null};e.prototype.iN=function(){this.Fa.needsUpdate=!0;this.Da()};return e});
define("eP",["require"],function(){var a={},e=null;a.rAa=function(){if(!e){var l=document.createElement("canvas");l.width=128;l.height=128;l.getContext("2d").clearRect(0,0,l.width,l.height);e=l}return e};return a});
define("kF",["require","lh","nk","mu"],function(a){var e=a("lh"),l=a("nk"),m=a("mu"),k=180/Math.PI,b=Math.PI/180;return{Q0:function(h,g,c,d,f,p,q){g||(g=h*d/c);f||(f=m.Vx);var n={};switch(f){case m.Vx:n.width=h;n.height=g;break;case m.NONE:n.width=c;n.height=d;break;case m.Kh:n.width=Math.min(g*c/d,h);n.height=Math.min(h*d/c,g);break;case m.Ur:n.width=Math.max(g*c/d,h);n.height=Math.max(h*d/c,g);break;case m.Cp:n.width=h;n.height=h*d/c;break;case m.kk:n.width=g*c/d,n.height=g}n.width>h?(n.Fx=h/n.width,
n.sT=p==l.Ya?0:p==l.qb?1-n.Fx:.5*(1-n.Fx),n.width=h):(n.sT=0,n.Fx=1);n.height>g?(n.Hx=g/n.height,n.zT=q==l.yc?1-n.Hx:q==l.rc?0:.5*(1-n.Hx),n.height=g):(n.zT=0,n.Hx=1);return n},lga:function(h,g,c,d,f,p,q,n){g||(g=e.rm(h,c,d));f||(f=m.Vx);p||(p=4096/360);var r={};switch(f){case m.Vx:r.Ie=h;r.Pr=g;break;case m.NONE:r.Ie=2*Math.atan2(.5*c,45*p)*k;r.Pr=e.rm(r.Ie,c,d);break;case m.Kh:r.Ie=Math.min(e.Or(g,c,d),h);r.Pr=Math.min(e.rm(h,c,d),g);break;case m.Ur:r.Ie=Math.max(e.Or(g,c,d),h);r.Pr=Math.max(e.rm(h,
c,d),g);break;case m.Cp:r.Ie=h;r.Pr=e.rm(h,c,d);break;case m.kk:r.Ie=e.Or(g,c,d),r.Pr=g}r.Ie>h?(r.Fx=Math.tan(.5*h*b)*c/Math.tan(.5*r.Ie*b)/c,r.sT=q==l.Ya?0:q==l.qb?1-r.Fx:.5*(1-r.Fx),r.Ie=h):(r.sT=0,r.Fx=1);r.Pr>g?(r.Hx=Math.tan(.5*g*b)*d/Math.tan(.5*r.Pr*b)/d,r.zT=n==l.yc?1-r.Hx:n==l.rc?0:.5*(1-r.Hx),r.Pr=g):(r.zT=0,r.Hx=1);return r}}});
define("kl","require kS pf cC nU cu lB eK eP fK oH bG kF".split(" "),function(a){function e(v){this.m=v;this.TD=this.TD.bind(this);this.Da=this.Da.bind(this);this.Vj=this.Vj.bind(this);v=v.getComponent(f.Km);this.Ug=v.ep;this.fe=v.P;this.o=v.properties;this.Be=v.zga;this.KRa=v.isSprite;this.fg=!1;this.Xm=this.ab=null;this.sv=0;this.Ica=this.L7=this.Rb=this.HV=this.T=void 0;l.ha(this.o,r,this.TD,!1);l.ha(this.Be,t,this.TD,!1);l.ha(this.o,u,this.Vj,!1);this.TD()}var l=a("kS"),m=a("pf"),k=a("cC"),b=
a("nU"),h=a("cu"),g=a("lB"),c=a("eK"),d=a("eP"),f=a("fK"),p=a("oH"),q=a("bG"),n=a("kF"),r=["height","scaleMode","width"],t=["levels.url","levels.width","levels.height"],u="depthTest enabled encoding hidden side opacity".split(" ");e.prototype.frame=function(v){this.Xm&&(this.Xm.Cb(v),this.sv=this.Xm.fb("alpha"),this.Yda(),this.Xm.Ye()&&(this.Xm=null),this.m.U.Pa());this.fg&&(this.fg=!1)};e.prototype.TD=function(){var v=this.Be&&this.Be.get("levels")||[];v=v.filter(function(C){return!!C.get("url")});
var w=1,x=1;b.Ia("AnimatedImageResource",this.Be)&&(w=this.Be.get("rowCount"),x=this.Be.get("colCount"));var y=null;if(0<v.length){v.sort(function(C,J){return J.get("width")-C.get("width")});y=this.o.get("width");var z=this.o.get("height"),E=this.o.get("scaleMode","fill"),B=v[0].get("width")/x,A=v[0].get("height")/w,D=n.Q0(y,z,B,A,E);y=v.reduce(function(C,J){return!C||C.get("width")>J.get("width")&&J.get("width")/x>=D.width&&J.get("height")/w>=D.height?J:C})}this.BP(y)};e.prototype.BP=function(v){this.ab!=
v&&(this.ab&&(this.TNa(),this.O7(),this.xV(),this.fq(),this.fg=!1),this.ab=v)&&(this.Yp(),this.fv(),this.vM(),this.fg=!1,this.Da())};e.prototype.vM=function(){this.Fd||(this.Fd=new h,this.Fd.VK([this.ab.get("url")]),this.Fd.bind(m.Z,this.xd,this,!0),this.Fd.bind(m.lc,this.Csa,this,!0),this.Fd.bind(m.xc,this.Wf,this,!0),this.Ts=this.m.getComponent(f.Km).priority,g.Ln(this.Fd,this.Ts))};e.prototype.fq=function(){this.Fd&&(this.Fd.unbind(m.Z,this.xd,this,!0),this.Fd.unbind(m.lc,this.Csa,this,!0),this.Fd.unbind(m.xc,
this.Wf,this,!0),g.wj(this.Fd,this.Ts),this.Fd=null)};e.prototype.xd=function(){this.BNa();this.zda(new k(m.Z))};e.prototype.Csa=function(v){this.zda(new k(m.lc,{percent:v.Mg}))};e.prototype.Wf=function(){this.zda(new k(m.xc))};e.prototype.zda=function(v){this.Ug&&this.Ug.trigger(v)};e.prototype.Da=function(){this.fg||(this.fg=!0,this.m.U.Pa())};e.prototype.Yp=function(){this.Fa=new THREE.Texture;this.Fa.image=d.rAa();this.Fa.generateMipmaps=!0;this.Fa.minFilter=THREE.LinearMipMapLinearFilter};e.prototype.xV=
function(){this.Fa&&(this.Fa.dispose(),this.Fa=null)};e.prototype.fv=function(){this.KRa?(this.va=new THREE.SpriteMaterial({map:this.Fa}),this.va.sizeAttenuation=!0):this.va=new THREE.MeshBasicMaterial({map:this.Fa});this.va.transparent=!0;this.va.needsUpdate=!0;this.m.J(f.Material).material=this.va;this.vma(0);this.m.I(f.si,!0);this.Vj(!0)};e.prototype.Vj=function(v){var w=this.o.get("enabled")&&!this.o.get("hidden")&&!!this.Po,x=this.T!==w;if(x||v){this.T=w;w=this.sv;var y=this.T?1:0,z=this.o.get("hidden")?
0:200;this.Xm=w!==y?new p("linear",[new q("alpha",w,y,void 0)],Math.abs(w-y)*z):null;this.Yda()}w=this.o.get("encoding");if(this.HV!==w||v)this.HV=w,this.GZa();w=this.o.get("depthTest");if(this.L7!==w||v)this.L7=w,this.gZa();w=this.o.get("opacity");if(this.Rb!==w||v)this.Rb=w,this.Yda();w=this.o.get("side");if(this.Ica!==w||v)this.Ica=w,this.hZa();x&&this.fe&&this.fe.trigger(this.T?m.bd:m.Tc)};e.prototype.GZa=function(){if(this.va&&(this.va.map||this.va.emissiveMap)){var v="srgb"==this.HV?THREE.sRGBEncoding:
THREE.LinearEncoding;this.va.map&&(this.va.map.encoding=v);this.va.emissiveMap&&(this.va.emissiveMap.encoding=v);this.va.needsUpdate=!0}this.m.I(f.si,!0);this.Da()};e.prototype.gZa=function(){this.va&&(this.va.depthTest=this.L7);this.m.I(f.si,!0);this.Da()};e.prototype.Yda=function(){this.va&&this.vma((this.Rb||0)*this.sv);this.Po&&this.Po.Bf(0<this.Rb);this.Da()};e.prototype.vma=function(v){this.va.opacity=v;this.va.visible=0<this.va.opacity;this.va.isShaderMaterial&&this.va.uniforms.opacity&&(this.va.uniforms.opacity.value=
v);this.m.I(f.si,!0)};e.prototype.hZa=function(){if(this.va)switch(this.Ica){case "back":this.va.side=THREE.BackSide;break;case "double":this.va.side=THREE.DoubleSide;break;default:this.va.side=THREE.FrontSide}this.m.I(f.si,!0);this.Da()};e.prototype.O7=function(){this.va&&(this.va.dispose(),this.va=null,this.m.la(f.Material))};e.prototype.BNa=function(){this.Po=new c(this.Be,g.wf(this.ab.get("url")),this.Fa,this.Da);this.Vj(!0)};e.prototype.TNa=function(){this.Po&&(this.Po.dispose(),this.Po=null)};
e.prototype.dispose=function(){this.BP(null);l.ba(this.o,r,this.TD);l.ba(this.Be,t,this.TD);l.ba(this.o,u,this.Vj);this.m=this.Ug=this.Be=this.o=null};e.$a=function(v){v.J(f.$x).manager=new e(v)};e.Ba=function(v){var w=v.getComponent(f.$x);w.manager.dispose();w.manager=null;v.la(f.$x)};e.frame=function(v,w){v.getComponent(f.$x).manager.frame(w)};return e});
define("mR",["require","lE","lO","fK","kl"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("kl");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(b,h){this.wm.A.length&&this.wm.A.slice().forEach(k.Ba);this.vm.A.length&&this.vm.A.slice().forEach(k.$a);this.materials.A.length&&this.materials.A.slice().forEach(function(g){k.frame(g,b,h)})};a.H={};a.H.vm=[m.Km,m.$x.not];a.H.materials=[m.Km,m.$x];a.H.wm=[m.Km.not,m.$x];return a});
define("J",["require","nW","fK"],function(a){function e(k){this.m=k;this.va=null;this.update()}var l=a("nW"),m=a("fK");e.prototype.update=function(){this.va||(this.va=new THREE.LineBasicMaterial,this.va.transparent=!0,this.m.J(m.Material).material=this.va);var k=this.m.getComponent(m.ih);this.va.color=new THREE.Color(l.YA(k.color||"#ffffff"));this.va.lineWidth=k.width||1;this.va.opacity=k.opacity||0;this.va.depthTest=!!k.depthTest;this.va.visible=0<this.va.opacity;this.va.needsUpdate=!0};e.prototype.dispose=
function(){this.va&&(this.va.dispose(),this.va=null,this.m.la(m.Material));this.m=null};e.$a=function(k){k.J(m.by).manager=new e(k)};e.Ba=function(k){var b=k.getComponent(m.by);b.manager.dispose();b.manager=null;k.la(m.by)};e.update=function(k){k.getComponent(m.by).manager.update()};return e});
define("jf",["require","lE","lO","fK","J"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("J");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.vm.A.length&&this.vm.A.slice().forEach(k.$a);this.materials.Ha.length&&this.materials.Ha.slice().forEach(k.update);this.wm.A.length&&this.wm.A.slice().forEach(k.Ba)};a.H={};a.H.vm=[m.ih,m.by.not];a.H.materials=[m.ih,m.by];a.H.wm=[m.ih.not,m.by];return a});
define("G","require pf fK cp nU nW a".split(" "),function(a){function e(q){this.m=q;this.fg=!1;this.o=this.m.getComponent(m.Light).properties;p.forEach(function(n){this.o.bind(l.D(n),this.BZ,this,!1)}.bind(this));this.BZ()}var l=a("pf"),m=a("fK"),k=a("cp"),b=a("nU"),h=a("nW"),g=a("a");e.prototype.update=function(){this.BZ()};var c=Math.PI/180;e.prototype.BZ=function(){var q=this.m.I(m.Light);if(b.Ia("AmbientLight",q.properties)){q.de&&q.de.isAmbientLight||(this.m.I(m.Object3D,!0).sa=q.de=new THREE.AmbientLight);
var n=q.target}else if(b.Ia("OrbitLight",q.properties)){q.de&&q.de.isDirectionalLight||(this.m.I(m.Object3D,!0).sa=q.de=new THREE.DirectionalLight);n=g.Et(q.properties.get("yaw")*c,q.properties.get("pitch")*c).PK(10);q.de.position.set(n.x,n.y,n.z);"fixed_to_target"==q.properties.get("mode","fixed_to_target")?(q.de.target=k.wc(q.target),n=q.target):(q.de.target=new THREE.Object3D,n=q.target.getComponent(m.nb).N.getComponent(m.Scene).hb);q.de.castShadow=0<q.properties.get("intensity")&&q.properties.get("castShadow");
var r=q.de.castShadow?q.properties.get("shadowMapSize"):16;r!=q.de.shadow.mapSize.width&&(q.de.shadow.dispose(),q.de.shadow=q.de.shadow.clone(),q.de.shadow.mapSize.width=q.de.shadow.mapSize.height=r);q.de.shadow.radius=q.properties.get("shadowRadius");q.de.shadow.bias=q.properties.get("shadowBias");this.Oxa()}q.de.color=new THREE.Color(h.YA(q.properties.get("color")));q.de.intensity=q.properties.get("intensity");q.de.visible=0<q.de.intensity;q=this.m.getComponent(m.nb);q&&q.N==n||(q=this.m.I(m.nb,
!0),q.N=n)};var d=new THREE.Box3,f=new THREE.Vector3;e.prototype.frame=function(){this.Oxa()};e.prototype.Oxa=function(){var q=this.m&&this.m.getComponent(m.Light);if(q&&q.de&&q.de.castShadow){for(var n=q.de.shadow.camera,r=this.Y6(k.wc(q.target),d),t=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,v=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,z=0;2>z;z++)for(var E=0;2>E;E++)for(var B=0;2>B;B++)f.set(0==z?r.min.x:r.max.x,0==E?r.min.y:
r.max.y,0==B?r.min.z:r.max.z).applyMatrix4(n.matrixWorldInverse),f.x<t&&(t=f.x),f.x>u&&(u=f.x),f.y>v&&(v=f.y),f.y<w&&(w=f.y),-f.z>y&&(y=-f.z),-f.z<x&&(x=-f.z);q=q.properties.get("shadowTolerance")||0;r=.5*(x+y);x+=(x-r)*q;y+=(y-r)*q;r=.5*(t+u);t+=(t-r)*q;u+=(u-r)*q;r=.5*(v+w);v+=(v-r)*q;w+=(w-r)*q;if(n.left!=t||n.right!=u||n.top!=v||n.bottom!=w||n.near!=x||n.far!=y)q=this.m.I(m.Light),q.de.shadow.camera.left=t,q.de.shadow.camera.top=v,q.de.shadow.camera.right=u,q.de.shadow.camera.bottom=w,q.de.shadow.camera.near=
x,q.de.shadow.camera.far=y,q.de.shadow.camera.updateProjectionMatrix(),q.de.shadow.needsUpdate=!0}};e.prototype.Y6=function(q,n){n.makeEmpty();var r=new THREE.Box3;q.traverse(function(t){if(t.geometry&&!t.isSprite){t.updateWorldMatrix(!1,!1);var u=t.geometry;null===u.boundingBox&&u.computeBoundingBox();r.copy(u.boundingBox);r.applyMatrix4(t.matrixWorld);n.union(r)}});return n};e.prototype.dispose=function(){this.o&&(p.forEach(function(q){this.o.unbind(l.D(q),this.BZ,this,!1)}.bind(this)),this.o=null);
this.m&&(this.m.la(m.nb),this.m.la(m.Object3D),this.m=null)};var p="castShadow color intensity mode pitch yaw shadowBias shadowRadius shadowMapSize shadowTolerance".split(" ");e.$a=function(q){k.wc(q.getComponent(m.Light).target)&&(q.J(m.qu).manager=new e(q))};e.Ba=function(q){var n=q.getComponent(m.qu);n.manager.dispose();n.manager=null;q.la(m.qu)};e.update=function(q){q.getComponent(m.qu).manager.update()};e.frame=function(q){q.getComponent(m.qu).manager.frame()};return e});
define("cP",["require","lE","lO","fK","G"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("G");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.aCa.A.length&&this.aCa.A.slice().forEach(k.$a);this.St.Ha.length&&this.St.Ha.slice().forEach(k.update);this.St.A.length&&this.St.A.slice().forEach(k.frame);this.bCa.A.length&&this.bCa.A.slice().forEach(k.Ba)};a.H={};a.H.aCa=[m.Light,m.qu.not];a.H.St=[m.Light,m.qu];a.H.bCa=[m.Light.not,m.qu];return a});
define("oO","require lE lO fK cp ob".split(" "),function(a){var e=a("lE"),l=a("lO"),m=a("fK");a("cp");var k=a("ob");a=e.extend(l,function(){l.apply(this,arguments);this.we=this.we.bind(this);this.Ne=this.Ne.bind(this);this.Zc=this.Zc.bind(this)});a.prototype.Bd=function(){this.hCa.A.length&&this.hCa.A.slice().forEach(this.we);this.lines.Ha.length&&this.lines.Ha.slice().forEach(this.Ne);this.iCa.A.length&&this.iCa.A.slice().forEach(this.Zc);this.jCa.A.length&&this.jCa.A.slice().forEach(this.Zc);this.kCa.A.length&&
this.kCa.A.slice().forEach(this.Zc)};a.prototype.we=function(b){b.J(m.Object3D).sa=new THREE.LineSegments;b.J(m.ey);b.J(m.Aa);if(!b.getComponent(m.Geometry)){var h=(new THREE.BufferGeometry).setFromPoints([new THREE.Vector3(0,0,0),new THREE.Vector3(0,0,1)]);h.userData.IBa=!0;b.J(m.Geometry).geometry=h}this.Ne(b)};a.prototype.Ne=function(b){var h=b.getComponent(m.Object3D).sa;k.jA(h,b.getComponent(m.Material).material);var g=b.getComponent(m.Geometry).geometry;h.geometry!=g&&(h.geometry&&g.userData.IBa&&
h.geometry.dispose(),h.geometry=g,h.needsUpdate=!0);b=b.getComponent(m.Line).renderOrder||0;h.renderOrder!=b&&(h.renderOrder=b,h.needsUpdate=!0)};a.prototype.Zc=function(b){b.la(m.ey);b.la(m.Geometry);var h=b.getComponent(m.Object3D);h&&(h=h.sa,h.geometry&&h.geometry.userData.IBa&&h.geometry.dispose(),h.geometry=null,k.jA(h,null),b.la(m.Object3D))};a.H={};a.H.hCa=[m.Line,m.Material,m.ey.not];a.H.lines=[m.Line,m.Geometry,m.Material,m.ey];a.H.iCa=[m.Line.not,m.ey];a.H.jCa=[m.Material.not,m.ey];a.H.kCa=
[m.Geometry.not,m.ey];return a});
define("fZ",["require","lE","lO","fK","cp"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("cp");a=e.extend(l,function(){l.apply(this,arguments);this.we=this.we.bind(this);this.Zc=this.Zc.bind(this);this.JE=this.JE.bind(this)});a.prototype.Bd=function(){this.dCa.A.length&&this.dCa.A.slice().forEach(this.we);this.cCa.A.length&&this.cCa.A.slice().forEach(this.JE);this.eCa.A.length&&this.eCa.A.slice().forEach(this.Zc);this.fCa.A.length&&this.fCa.A.slice().forEach(this.Zc);this.gCa.A.length&&this.gCa.A.slice().forEach(this.Zc)};
a.prototype.we=function(p){p.J(m.gy)};a.prototype.Zc=function(p){p.la(m.gy)};var b=new THREE.Matrix4,h=new THREE.Quaternion,g=new THREE.Vector3,c=new THREE.Vector3(0,0,1),d=new THREE.Euler,f=180/Math.PI;a.prototype.JE=function(p){var q=p.getComponent(m.Aa);if(q){var n=k.wc(p);if(n&&n.parent){var r=p.getComponent(m.Xr),t=r.N;if(t){r=k.wc(t);if(!r||!r.parent)return;g.setFromMatrixPosition(r.matrixWorld)}else if(r.position)g.copy(r.position);else return;b.copy(n.parent.matrixWorld).invert();g.applyMatrix4(b);
g.x-=q.translationX;g.y-=q.translationY;g.z-=q.$e;n=g.length();h.setFromUnitVectors(c,g.normalize());d.setFromQuaternion(h,q.Zf);d.x*=f;d.y*=f;d.z*=f;if(q.scale!=n||q.Le!=d.x||q.re!=d.y||q.Me!=d.z)q=p.I(m.Aa),q.scale=n,q.Le=d.x,q.re=d.y,q.Me=d.z,k.aT(p,q),p.U.Pa()}}};a.H={};a.H.dCa=[m.Object3D,m.Xr,m.gy.not];a.H.cCa=[m.Object3D,m.Xr,m.gy,m.Aa];a.H.eCa=[m.Object3D.not,m.gy];a.H.fCa=[m.Xr.not,m.gy];a.H.gCa=[m.Aa.not,m.gy];return a});
define("eZ","require lE pf oA lO fK cp ob".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("oA"),k=a("lO"),b=a("fK"),h=a("cp"),g=a("ob");a=e.extend(k,function(){k.apply(this,arguments);this.we=this.we.bind(this);this.Zc=this.Zc.bind(this);this.Ne=this.Ne.bind(this)});a.prototype.Bd=function(){this.OCa.A.length&&this.OCa.A.slice().forEach(this.we);this.sha.Ha.length&&this.sha.Ha.slice().forEach(this.Ne);this.PCa.A.length&&this.PCa.A.slice().forEach(this.Zc);this.QCa.A.length&&this.QCa.A.slice().forEach(this.Zc)};
a.prototype.we=function(c){c.J(b.hy);this.sha.A.forEach(function(d){this.uRa(d,c)&&this.OY(h.wc(d))}.bind(this));this.Ne(c)};a.prototype.Ne=function(c){var d=c.getComponent(b.si);c=h.wc(c);this.cLa(c,d);this.OY(c);this.ae(c,d)};a.prototype.Zc=function(c){c.la(b.hy);var d=h.wc(c);d&&(this.qMa(d),this.OY(d),c.la(b.hy))};a.prototype.cLa=function(c,d){c.userData.yDa=d.opacity;c.userData.envMapIntensity=d.envMapIntensity;c.userData.RQ=d.RQ;c.userData.castShadow=d.castShadow;c.userData.receiveShadow=d.receiveShadow;
c.userData.YQ=d.YQ};a.prototype.qMa=function(c){c.userData.yDa=void 0;c.userData.envMapIntensity=void 0;c.userData.RQ=void 0;c.userData.castShadow=void 0;c.userData.receiveShadow=void 0;c.userData.YQ=void 0};a.prototype.OY=function(c){if(m.pj!=c){var d=this.hpa(c),f=this.kPa(c),p=this.hPa(c),q=this.jPa(c),n=this.lPa(c),r=this.iPa(c);if(c.material){if(void 0===d&&void 0===f&&!0!==r)g.LS(c);else{var t=c.userData.zr||c.material,u=g.q1(t),v=g.q1(c.material),w=t.opacity,x=t.transparent;t=t.envMapIntensity;
!0!==r&&v&&!u?g.LS(c):!0!==r||v||g.rza(c);void 0!==w&&(u=w*(void 0===d?1:d),v=0<u,x=1>u?!0:x,c.material.opacity!==u||c.material.visible!==v||c.material.transparent!==x)&&(g.r0(c),c.material.opacity=u,c.material.transparent=x,c.material.visible=v,c.material.needsUpdate=!0);void 0!==t&&(x=t*(void 0===f?1:f),c.material.envMapIntensity!==x&&(g.r0(c),c.material.envMapIntensity=x,c.material.needsUpdate=!0));g.W8a(c)}var y=this.UOa(p);(null==c.material.map?[]:Array.isArray(c.material.map)?c.material.map:
[c.material.map]).forEach(function(z){z.anisotropy!==y&&(z.anisotropy=y,z.needsUpdate=!0)})}c.isMesh&&(void 0!==q&&c.castShadow!==q&&(c.castShadow=q),void 0!==n&&c.receiveShadow!==n&&(c.receiveShadow=n));c.children&&c.children.forEach(function(z){z.userData.j3a=d;z.userData.i3a=f;z.userData.f3a=p;z.userData.h3a=q;z.userData.k3a=n;z.userData.g3a=r;this.OY(z)}.bind(this))}};a.prototype.UOa=function(c){return 1+Math.round((c||0)*(h.tAa().capabilities.getMaxAnisotropy()-1))};a.prototype.hpa=function(c){var d=
c.userData.yDa;c=c.userData.j3a;if(void 0!==c||void 0!==d)if(d=(void 0!==c?c:1)*(void 0!==d?d:1),1!==d)return d};a.prototype.kPa=function(c){var d=c.userData.envMapIntensity;c=c.userData.i3a;if(void 0!==c||void 0!==d)if(d=(void 0!==c?c:1)*(void 0!==d?d:1),1!==d)return d};a.prototype.hPa=function(c){var d=c.userData.RQ;if(void 0!==d)return d;c=c.userData.f3a;if(void 0!==c)return c};a.prototype.jPa=function(c){var d=c.userData.castShadow;if(void 0!==d)return d;c=c.userData.h3a;if(void 0!==c)return c};
a.prototype.lPa=function(c){var d=c.userData.receiveShadow;if(void 0!==d)return d;c=c.userData.k3a;if(void 0!==c)return c};a.prototype.iPa=function(c){var d=c.userData.YQ;if(void 0!==d)return d;c=c.userData.g3a;if(void 0!==c)return c};a.prototype.ae=function(c,d){var f=this.hpa(c);void 0!==f&&(f=0<f,c.userData.u9a!==f&&(c.userData.u9a=f,d.P&&d.P.trigger(f?l.bd:l.Tc)))};a.prototype.uRa=function(c,d){c=h.wc(c);d=h.wc(d);if(!c||!d)return!1;for(d=d.parent;d;){if(d===c)return!0;d=d.parent}return!1};a.H=
{};a.H.OCa=[b.si,b.Object3D,b.hy.not];a.H.sha=[b.si,b.Object3D,b.hy];a.H.PCa=[b.si.not,b.hy];a.H.QCa=[b.Object3D.not,b.hy];return a});
define("oY",["require","fK","ob"],function(a){function e(k){this.m=k;this.xea=this.Dl=this.je=null;this.mJ=-1}var l=a("fK"),m=a("ob");e.prototype.frame=function(){if(!this.Dl&&(this.Dl=this.m.getComponent(l.jh).sga)){var k=this.Dl.userData&&this.Dl.userData.gltfExtensions&&this.Dl.userData.gltfExtensions.KHR_materials_variants;this.xea=k&&k.variants||[];this.update()}};e.prototype.update=function(){if(this.xea){var k=this.m.getComponent(l.su).name,b=this.xea.findIndex(function(g){return g.name==k}),
h=this.Dl.scene;this.je!=h?(this.je&&this.Tua(this.je),this.je=h,this.mJ=b,this.je&&this.Uva(this.je,this.mJ)):this.mJ!=b&&(this.mJ=b,this.je&&this.Uva(this.je,this.mJ));this.m.U.Pa()}};e.prototype.Tua=function(k){this.yma(k,-1)};e.prototype.Uva=function(k,b){this.aSa(k,b,function(){this.je==k&&this.mJ==b&&this.yma(k,b)}.bind(this))};e.prototype.aSa=function(k,b,h){var g=[];k.traverse(function(c){var d=c.isMesh&&c.userData.gltfExtensions&&c.userData.gltfExtensions.KHR_materials_variants;if(d=d&&d.mappings){c.userData.L4a||
(c.userData.L4a=m.e2a(c));c.userData.bB||(c.userData.bB={});for(var f=null,p=d.length-1;0<=p&&!f;--p)-1!=d[p].variants.indexOf(b)&&(f=d[p]);f&&g.push(this.Dl.parser.getDependency("material",f.material).then(function(q){c.userData.bB[b]||(c.userData.bB[b]=q)}))}}.bind(this));Promise.all(g).then(function(){h(k,b)})};e.prototype.yma=function(k,b){k.traverse(function(h){if(h.userData.bB){var g=h.userData.bB[b];g&&(m.jA(h,g),this.Dl.parser.assignFinalMaterial(h),this.m.I(l.si,!0))}}.bind(this));this.m.U.Pa()};
e.prototype.dispose=function(){this.je&&(this.Tua(this.je),this.m.I(l.si,!0),this.je=null)};e.$a=function(k){k.J(l.Gp).manager=new e(k)};e.Ba=function(k){var b=k.getComponent(l.Gp);b.manager.dispose();b.manager=null;k.la(l.Gp)};e.update=function(k){k.getComponent(l.Gp).manager.update()};e.frame=function(k){k.getComponent(l.Gp).manager.frame()};return e});
define("hN",["require","lE","lO","fK","oY"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("oY");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.oCa.A.length&&this.oCa.A.slice().forEach(k.$a);this.I1.A.length&&this.I1.A.slice().forEach(k.frame);this.I1.Ha.length&&this.I1.Ha.slice().forEach(k.update);this.pCa.A.length&&this.pCa.A.slice().forEach(k.Ba);this.qCa.A.length&&this.qCa.A.slice().forEach(k.Ba);this.rCa.A.length&&this.rCa.A.slice().forEach(k.Ba)};a.H={};
a.H.oCa=[m.su,m.jh,m.Object3D,m.Gp.not];a.H.I1=[m.su,m.jh,m.Object3D,m.Gp];a.H.pCa=[m.su.not,m.Gp];a.H.qCa=[m.Object3D.not,m.Gp];a.H.rCa=[m.jh.not,m.Gp];return a});
define("ic",["require","fK"],function(a){var e=a("fK");return{$a:function(l){var m=l.J(e.$r);l.J(e.Aa);var k=l.I(e.Mesh);l.J(e.Object3D).sa=m.gp=k.gp=new THREE.Mesh(l.getComponent(e.Geometry).geometry,l.getComponent(e.Material).material);k.gp.renderOrder=k.renderOrder},update:function(l){var m=l.I(e.$r);m.gp.geometry=l.getComponent(e.Geometry).geometry;m.gp.material=l.getComponent(e.Material).material;m.gp.renderOrder=l.getComponent(e.Mesh).renderOrder},Ba:function(l){l.getComponent(e.$r).gp=null;
l.la(e.$r);l.la(e.Object3D)}}});
define("f",["require","lE","lO","fK","ic"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ic");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.uCa.A.length&&this.uCa.A.slice().forEach(k.$a);this.tCa.Ha.length&&this.tCa.Ha.slice().forEach(k.update);this.L1.A.length&&this.L1.A.slice().forEach(k.Ba);this.V3a.A.length&&this.L1.A.slice().forEach(k.Ba);this.W3a.A.length&&this.L1.A.slice().forEach(k.Ba)};a.H={};a.H.uCa=[m.Mesh,m.Geometry,m.Material,m.$r.not];a.H.tCa=
[m.Mesh,m.Geometry,m.Material,m.$r];a.H.L1=[m.Mesh.not,m.$r];a.H.V3a=[m.Geometry.not,m.$r];a.H.W3a=[m.Material.not,m.$r];return a});
define("lt",["require","pf","nW","fK","cp"],function(a){function e(g){this.m=g;this.o=this.m.getComponent(k.jh).properties;this.Qe=null;this.NV=void 0;h.forEach(function(c){this.o.bind(l.D(c),this.Gg,this,!0)}.bind(this));this.update()}var l=a("pf"),m=a("nW"),k=a("fK"),b=a("cp"),h=["floorColor","floorHeight","floorOpacity","floorRadius"];e.prototype.update=function(){var g=this.o.get("floorColor");this.NV!=g&&(!g&&this.Qe&&(this.doa(this.Qe),this.Qe=null),this.NV=g)&&(this.Qe||(this.Qe=this.bNa()),
this.kWa(this.Qe,this.NV));g=this.o.get("floorOpacity");this.Qe&&this.Qe.material.opacity!=g&&(this.Qe.material.opacity=g);g=this.o.get("floorHeight");this.Qe&&this.Qe.position.y!=g&&(this.Qe.position.y=g);g=this.o.get("floorRadius");this.Qe&&this.Qe.scale.x!=g&&(this.Qe.scale.x=this.Qe.scale.y=this.Qe.scale.z=g)};e.prototype.frame=function(){if(this.Qe&&!this.Qe.parent){for(var g=b.wc(this.m);g&&!g.isScene;)g=g.parent;g&&g.add(this.Qe)}};e.prototype.dispose=function(){h.forEach(function(g){this.o.unbind(l.D(g),
this.Gg,this,!0)}.bind(this));this.Qe&&(this.doa(this.Qe),this.Qe=null)};e.prototype.Gg=function(){this.m.U.Pa();this.update()};e.prototype.bNa=function(){var g=new THREE.CircleGeometry(1,128);g=new THREE.Mesh(g);g.receiveShadow=!0;g.position.y=0;g.rotation.x=.5*-Math.PI;g.needsUpdate=!0;return g};e.prototype.kWa=function(g,c){var d=g.material;d&&(!d.isShadowMaterial&&"transparent"==c||!d.isMeshStandardMaterial&&"transparent"!=c)&&(d.dispose(),d=null);"transparent"==c?d||(d=new THREE.ShadowMaterial):
(d||(d=new THREE.MeshStandardMaterial,d.defines.USE_UV="",d.onBeforeCompile=function(f){var p=f.fragmentShader.lastIndexOf("}");f.fragmentShader=f.fragmentShader.substring(0,p)+"float uvCenterCoef = 2.0 * length(vUv - 0.5);\nfloat uvAlphaCoef = 1.0 - smoothstep(0.97, 1.0, uvCenterCoef);\ngl_FragColor.a = uvAlphaCoef * gl_FragColor.a;\n"+f.fragmentShader.substring(p,f.fragmentShader.length)},d.roughness=1,d.metalness=0,d.envMapIntensity=0,d.transparent=!0),d.color=new THREE.Color(m.YA(c)));d.needsUpdate=
!0;g.material=d;g.renderOrder=-1};e.prototype.doa=function(g){g.parent&&g.parent.remove(g);g.material&&g.material.dispose();g.material=null;g.geometry&&g.geometry.dispose();g.geometry=null};return e});
define("dQ",["require","exports","pf","gv","bv"],function(a,e,l,m,k){return function(b){function h(g,c){var d=b.call(this)||this;d.Co=null;d.Jma=null;d.By=!1;d.OH=null;d.Od=g;d.Ts=c;d.Vs=new Request(g);d.UP=d.UP.bind(d);d.fC=d.fC.bind(d);return d}Z(h,b);h.prototype.start=function(){this.OH||(this.By=!1,this.OH=k.add(this.Od,this.Ts,this.UP,this.fC))};h.prototype.UP=function(){0===this.Od.indexOf("filesystem:")?this.vOa():this.wOa()};h.prototype.vOa=function(){var g=this,c=new XMLHttpRequest;c.open("GET",
this.Od,!0);c.responseType="arraybuffer";c.onload=function(){g.Fsa(c.response);c.onload=c.onerror=null};c.onerror=function(){g.Bsa();c.onload=c.onerror=null};c.send()};h.prototype.wOa=function(){var g=this;fetch(this.Vs).then(function(c){function d(t){void 0===t&&(t=null);if(t=t||r)t.close(),r=null,g.Co=null}function f(t){var u;return null===(u=g.Co.read().then(function(v){var w=null===v||void 0===v?void 0:v.value;w&&(n+=w.byteLength,t.enqueue(w));v&&v.done&&(q&&n<q?t.error("connection closed prematurely"):
(q=n,d(t)));void 0!==q&&g.trigger(l.lc,{totalBytes:q,bytesLoaded:n,percent:n<q?100*n/q:100})}))||void 0===u?void 0:u.catch(function(v){console.log("Error reading response",v);t.error(v)})}if(g.By)return c.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!c.ok)return Promise.resolve(c);var p=c.headers.get("content-length")||c.headers.get("x-content-length"),q,n=0;null!==p&&(q=parseInt(p,10));g.Co=c.body.getReader();var r=null;return new Response(new ReadableStream({start:function(t){g.By?
t.close():r=t},pull:function(t){return f(t)},cancel:function(){return d()}}))}).then(function(c){return c.arrayBuffer()}).then(function(c){g.Fsa(c)}).catch(function(){g.Bsa()})};h.prototype.cancel=function(){this.OH&&(this.OH.cancel(),this.OH=null)};h.prototype.fC=function(){this.By=!0;this.Co&&(this.Co.cancel(),this.Co=null)};h.prototype.Fsa=function(g){var c;this.Jma=g;null===(c=this.OH)||void 0===c?void 0:c.loaded();this.trigger(l.Z,{buffer:g})};h.prototype.Bsa=function(){this.cancel();this.trigger(l.xc)};
h.prototype.getData=function(){return this.Jma};return h}(m)});
define("co","require exports three.mod pf ik gv cp he lY dQ mO mB fK".split(" "),function(a,e,l,m,k,b,h,g,c,d,f,p,q){return function(n){function r(t){var u=n.call(this)||this;u.type=r.TYPE;u.nF=[];u.JA=[];u.mCa=0;u.N=t;u.zha=u.zha.bind(u);u.Aha=u.Aha.bind(u);u.gK=h.SFa(new l.GLTFLoader);return u}Z(r,n);r.prototype.xAa=function(){return this.Dl?this.Dl.scene:null};r.prototype.start=function(t){this.url=t;this.RFa();this.kr.start()};r.prototype.update=function(){if(0!=this.nF.length||0!=this.JA.length){for(var t=
Date.now()+8,u=this.N.getComponent(q.jh).Wb.bc.wA();0<this.JA.length&&Date.now()<t;){var v=this.JA.shift();u&&u.initTexture(v)}for(;0<this.nF.length&&Date.now()<t;)g.fEa(this.nF.shift());0==this.nF.length&&0==this.JA.length?this.RGa():this.N.U.Pa()}};r.prototype.dispose=function(){this.uGa()};r.prototype.RFa=function(){this.kr=new d(this.url,k.BB);this.o_a()};r.prototype.uGa=function(){this.kr&&(this.r5a(),this.kr.cancel())};r.prototype.o_a=function(){this.kr.bind(m.Z,this.aDa,this,!0);this.kr.bind(m.lc,
this.cDa,this,!0);this.kr.bind(m.xc,this.bDa,this,!0)};r.prototype.r5a=function(){this.kr.unbind(m.Z,this.aDa,this);this.kr.unbind(m.lc,this.cDa,this);this.kr.unbind(m.xc,this.bDa,this)};r.prototype.aDa=function(){this.gK.parse(this.kr.getData(),p.getDirectory(this.url),this.zha,this.Aha)};r.prototype.cDa=function(t){this.trigger(m.lc,t.data)};r.prototype.bDa=function(){2>this.mCa?(this.mCa++,this.uGa(),this.RFa(),this.kr.start()):this.trigger(m.xc)};r.prototype.Aha=function(t){f.rL&&t&&t.message&&
console.error(t.message);this.trigger(m.xc)};r.prototype.zha=function(t){this.gK&&(this.nF=[],this.JA=[],t.scene.traverse(function(u){if(u.isMesh){var v=u.material;v&&(1==c.dEa&&v.isMeshPhysicalMaterial&&(u.material=v=(new l.MeshStandardMaterial).copy(v)),v.depthWrite=!v.transparent,v=this.b2a(v),this.JA=this.JA.concat(v))}this.nF.push(u)}.bind(this)),this.Dl=t,0==this.nF.length&&0==this.JA.length?this.RGa():this.N.U.Pa())};r.prototype.RGa=function(){this.trigger(m.INIT);this.trigger(m.Z)};r.prototype.b2a=
function(t){var u=[];t.isMeshStandardMaterial?(t.alphaMap&&u.push(t.alphaMap),t.aoMap&&u.push(t.aoMap),t.bumpMap&&u.push(t.bumpMap),t.displacementMap&&u.push(t.displacementMap),t.emissiveMap&&u.push(t.emissiveMap),t.envMap&&u.push(t.envMap),t.lightMap&&u.push(t.lightMap),t.map&&u.push(t.map),t.metalnessMap&&u.push(t.metalnessMap),t.normalMap&&u.push(t.normalMap),t.roughnessMap&&u.push(t.roughnessMap)):t.isMeshBasicMaterial&&(t.alphaMap&&u.push(t.alphaMap),t.envMap&&u.push(t.envMap),t.map&&u.push(t.map));
return u};r.TYPE="gltf";return r}(b)});
define("nZ","require exports three.mod pf gv cp ob mB".split(" "),function(a,e,l,m,k,b,h,g){a=function(n){function r(){var t=n.call(this)||this;t.type=r.TYPE;t.ke=null;t.gK=null;t.camera=null;t.Wo=null;t.width=void 0;t.height=void 0;t.ki=!1;t.X_=null;t.session=null;t.config=null;return t}Z(r,n);r.prototype.xAa=function(){return this.ke?this.ke.group:null};r.prototype.h6a=function(t){this.config=t};r.prototype.start=function(t){this.X_=this.t1a(t);this.ke=new l.TDTiles.TilesRenderer(t);this.gK=b.SFa(new l.GLTFLoader(this.ke.manager));
this.ke.manager.addHandler(/\.gltf$/,this.gK);this.config&&(this.ke.maxDepth=this.config.maxDepth,this.ke.loadSiblings=this.config.loadSiblings,this.ke.parseQueue.maxJobs=this.config.Fha,this.ke.downloadQueue.maxJobs=this.config.Gfa,this.ke.lruCache.minSize=this.config.Yga,this.ke.lruCache.maxSize=this.config.Xga,this.ke.errorTarget=this.config.errorTarget,this.ke.errorThreshold=this.config.errorThreshold);g.Gga(t)&&(this.ke.fetchOptions.mode="cors");this.ke.onLoadModel=this.onLoadModel.bind(this);
this.ke.onDisposeModel=this.onDisposeModel.bind(this);this.ke.onLoadTileSet=this.onLoadTileSet.bind(this);this.ke.onTileVisibilityChange=this.onTileVisibilityChange.bind(this);this.ke.preprocessURL=this.v4a.bind(this);this.trigger(m.INIT)};r.prototype.dispose=function(){this.ke&&(this.gK=null,this.ke.dispose(),this.ke=null,this.Wo&&this.Wo.removeFromParent(),this.session=this.X_=null)};r.prototype.setCamera=function(t){this.camera!==t&&(this.camera=t,this.WGa(),this.updateCamera())};r.prototype.setSize=
function(t,u){if(this.width!==t||this.height!==u)this.width=t,this.height=u,this.i9a()};r.prototype.update=function(){this.camera&&this.width&&this.height&&(this.WGa(),this.ke.update())};r.prototype.t1a=function(t){return(new window.URL(t)).searchParams.get("key")||null};r.prototype.r2a=function(t){return(new window.URL(t)).searchParams.get("session")||null};r.prototype.updateCamera=function(){this.ke&&this.camera&&(this.ke.setCamera(this.camera),this.ke.setCamera(this.Wo))};r.prototype.WGa=function(){this.camera&&
(this.Wo||(this.Wo=new l.OrthographicCamera(-1,1,-1,1),this.Wo.matrixAutoUpdate=!1),this.Wo.parent!==this.camera&&this.camera.add(this.Wo),this.camera.updateMatrixWorld(!0),q.setFromMatrixPosition(this.camera.matrixWorld),p.copy(q).y-=this.camera.far,p.applyMatrix4(c.copy(this.camera.matrixWorld).invert()),f.random().cross(p).normalize(),this.Wo.matrix.lookAt(d,p,f),this.Wo.near=this.camera.near,this.Wo.far=this.camera.far)};r.prototype.i9a=function(){this.ke&&this.camera&&this.width&&this.height&&
(this.ke.setResolution(this.camera,this.width,this.height),this.ke.setResolution(this.Wo,1,1))};r.prototype.v4a=function(t){t=new window.URL(t);/^http/.test(t.protocol)&&(this.X_&&t.searchParams.append("key",this.X_),this.session&&t.searchParams.append("session",this.session));return t.toString()};r.prototype.onLoadModel=function(){this.ki||(this.ki=!0,this.trigger(m.Z));this.trigger(m.ca)};r.prototype.onDisposeModel=function(t){t.traverse(function(u){u instanceof l.Mesh&&h.LS(u)})};r.prototype.onTileVisibilityChange=
function(t,u,v){v&&this.trigger(m.ca)};r.prototype.onLoadTileSet=function(){null==this.session&&this.ke.traverse(function(t){return t.content&&t.content.uri?(this.session=this.r2a(t.content.uri),!0):!1}.bind(this));this.trigger(m.ca)};r.TYPE="tiles";return r}(k);var c=new l.Matrix4,d=new l.Vector3,f=new l.Vector3,p=new l.Vector3,q=new l.Vector3;return a});
define("hB",["require","exports"],function(){return function(){function a(){this.errorTarget=6;this.maxDepth=this.errorThreshold=Infinity;this.loadSiblings=!0;this.Gfa=6;this.Fha=3;this.Yga=600;this.Xga=800}a.y0a=function(e){var l=new a;l.errorTarget=e.get("errorTarget",l.errorTarget);l.errorThreshold=e.get("errorThreshold",l.errorThreshold);l.maxDepth=e.get("maxDepth",l.maxDepth);l.loadSiblings=e.get("loadSiblings",l.loadSiblings);l.Gfa=e.get("downloadMaxJobs",l.Gfa);l.Fha=e.get("parseMaxJobs",l.Fha);
l.Yga=e.get("lruCacheMinSize",l.Yga);l.Xga=e.get("lruCacheMaxSize",l.Xga);return l};return a}()});
define("nt",["require","he"],function(a){function e(g){this.ga=g}var l=a("he"),m=new THREE.Raycaster,k=new THREE.Vector3,b=new THREE.Vector3(0,-1,0),h=new THREE.Vector3(0,1,0);e.prototype.KF=function(g,c){m.ray.origin.copy(g);k.copy(c).sub(g);var d=k.length();k.normalize();m.ray.direction.copy(k);g=this.KC();return 0<l.intersect(m,g).filter(function(f){if(f.distance>=.98*d||!f.object.visible)return!1;f=Array.isArray(f.object.material)&&f.face?f.object.material[f.face.materialIndex]:f.object.material;
return!f||f.visible}).length};e.prototype.J1a=function(g){m.ray.origin.copy(g);m.ray.direction.copy(b);g=this.KC();var c=l.intersect(m,g);if(0<c.length)return c[0].distance;m.ray.direction.copy(h);c=l.intersect(m,g);if(0<c.length)return-c[0].distance};e.prototype.KC=function(){var g=[];this.ga.traverse(function(c){c.isSprite||c.isLine||g.push(c)});return g};return e});
define("ba",["require","cp"],function(a){function e(m,k){this.Sa=m;this.JQa=k}var l=a("cp");e.prototype.IAa=function(m){return(m=this.wc(m))&&m.matrixWorld};e.prototype.wc=function(m){return m?l.rA(this.JQa,m):l.wc(this.Sa)};return e});
define("ep",["require","cp"],function(a){function e(c,d,f){this.Sa=c;this.oSa=d;this.SOa=f}var l=a("cp"),m=new THREE.Vector3,k=new THREE.Vector3,b=new THREE.Vector3,h=new THREE.Frustum,g=new THREE.Matrix4;e.prototype.qga=function(c,d){d=this.oSa.IAa(d);if(!d)return null;k.copy(c).applyMatrix4(d);var f=(c=l.wc(this.Sa))&&l.GR(c);c=f&&l.vA(f);if(!c)return null;g.identity().multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);h.setFromProjectionMatrix(g);if(!h.containsPoint(k))return null;d=(f&&
l.IR(f))/2;f=(f&&l.RE(f))/2;m.copy(k).project(c);d=m.x*d+d;f=-(m.y*f)+f;b.setFromMatrixPosition(c.matrixWorld);c=this.SOa.KF(b,k);return{x:Math.round(d),y:Math.round(f),visible:!c}};return e});
define("eI","require pf mD co nZ hB nt ba ep cp fK v ir mB".split(" "),function(a){function e(r,t,u,v){this.m=r;this.lo=t;r=this.m.getComponent(p.jh);this.o=r.properties;this.Ki=v;this.Ce=u;this.fe=this.Ki.Bt(1);this.Ce.wJ(this.fe,1);this.Ea=this.Dl=null;u=this.DQa(r.gha);this.Md=this.nNa(u);this.mKa();this.Md.type===b.TYPE&&this.Md.h6a(h.y0a(r.gha));this.Md.start(u)}var l=a("pf"),m=a("mD"),k=a("co"),b=a("nZ"),h=a("hB"),g=a("nt"),c=a("ba"),d=a("ep"),f=a("cp"),p=a("fK"),q=a("v"),n=a("ir");a("mB");
e.prototype.nNa=function(r){return n.is(r,n.EJa)?new b:new k(this.m)};e.prototype.DQa=function(r){var t=r.get("levels");if(!u&&q.lb())var u=(u=t.find(function(v){return-1<v.get("tags").indexOf(m.fU)}))&&u.get("url");u||t.length&&(u=t[0].get("url"));u||(u=r.get("url"));return u};e.prototype.update=function(){};e.prototype.frame=function(){this.Md.type===b.TYPE?this.IZa():this.Md.type===k.TYPE&&this.$Ya()};e.prototype.IZa=function(){var r=f.Ch(this.m),t=r&&f.vA(r);t&&(this.Md.setCamera(t),this.Md.setSize(f.IR(r),
f.RE(r)),this.Md.update())};e.prototype.$Ya=function(){this.Md.update()};e.prototype.mKa=function(){this.Md.bind(l.INIT,this.nsa,this,!0);this.Md.bind(l.Z,this.xd,this,!0);this.Md.bind(l.xc,this.Wf,this,!0);this.Md.bind(l.lc,this.Di,this,!0);this.Md.bind(l.ca,this.Gsa,this,!0)};e.prototype.JUa=function(){this.Md.unbind(l.INIT,this.nsa,this);this.Md.unbind(l.Z,this.xd,this);this.Md.unbind(l.xc,this.Wf,this);this.Md.unbind(l.lc,this.Di,this);this.Md.unbind(l.ca,this.Gsa,this)};e.prototype.nsa=function(){this.Ea=
this.Md.xAa();this.lo.J(p.Object3D).sa=this.Ea;var r=this.Md.type==k.TYPE;this.QKa(this.Ea,r);var t=this.m.I(p.jh,!0);t.sga=r?this.Md.Dl:null;this.m.I(p.Animation,!0).properties=t.properties};e.prototype.xd=function(){this.o.set("geometryQuery",new g(this.Ea));this.o.set("objectQuery",new c(this.m,this.Ea));this.o.set("projectionQuery",new d(this.m,this.o.get("objectQuery"),this.o.get("geometryQuery")));this.k_()};e.prototype.Di=function(r){this.fe.trigger(l.lc,r.data)};e.prototype.Wf=function(){this.fe.trigger(l.xc)};
e.prototype.Gsa=function(){this.m.I(p.Object3D,!0)};e.prototype.k_=function(){this.o.set("isLoaded",!0);this.fe.trigger(l.Z)};e.prototype.QKa=function(r,t){void 0===r.userData.id&&(r.userData.id="root");if(!1!==t)for(var u=[r];u.length;){var v=u.shift();r=[];v.children&&(r=r.concat(v.children));v.isSkinnedMesh&&(r=r.concat(v.skeleton.bones));r.forEach(function(w,x){void 0===w.userData.id&&(w.userData.id=v.userData.id+"/"+x);u.push(w)})}};e.prototype.dispose=function(){this.Ea&&(this.Ea.traverse(function(r){function t(w){w&&
0>u.indexOf(w)&&u.push(w)}var u=[];t(r.material);t(r.userData.zr);if(r.userData.bB)for(var v in r.userData.bB)t(r.userData.bB[v]);u.forEach(function(w){w.dispose();Object.keys(w).forEach(function(x){(x=w[x])&&"object"===typeof x&&"minFilter"in x&&x.dispose()})});r.geometry&&r.geometry.userData.Wya&&r.geometry.disposeBoundsTree();r.geometry&&r.geometry.dispose()}),this.Ea=null,this.lo.la(p.Object3D));this.Md&&(this.JUa(),this.Md.dispose(),this.Md=null);this.fe&&(this.Ce.IK(this.fe),this.Ki.IK(this.fe),
this.Ce=this.fe=null);this.o&&(this.o.set("geometryQuery",null),this.o.set("objectQuery",null),this.o.set("isLoaded",!1),this.o=null)};return e});
define("km","require kS mh pf gv fK cp".split(" "),function(a){function e(t,u,v){this.Sa=t;this.hH=u;this.G=v;this.cf=this.cf.bind(this);this.Vl=this.Vl.bind(this);this.bm=1;this.T=!1;this.oma=new Map;this.rh=[];this.nh=this.Sa.U.gd("DraggingPositionContainer");this.nh.J(b.Group);this.nh.J(b.Aa);this.rh.push(this.nh);this.Kc=null;this.WB=[this.oya=this.h7("x"),this.qya=this.h7("y"),this.rya=this.h7("z")];this.WB.forEach(function(w){this.Vz(w,function(x){x.opacity=.5;x.depthTest=!1});w.J(b.nb).N=this.nh}.bind(this));
l.ha(this.G,n,this.cf,!0);l.ha(this.G,r,this.Vl,!0)}var l=a("kS");a("mh");var m=a("pf"),k=a("gv"),b=a("fK"),h=a("cp");e.prototype.dispose=function(){l.ba(this.G,n,this.cf);l.ba(this.G,r,this.Vl);var t=this.Sa.U;this.rh.forEach(function(u){t.We(u)});this.G=this.Sa=this.WB=this.m=this.rh=null};e.prototype.frame=function(){if(this.T)if(this.CP(h.dK(this.nh)||1),this.Kc){var t=this.hH.getComponent(b.Aa);this.G.set("x",t.positionX);this.G.set("y",t.positionY);this.G.set("z",t.positionZ)}else this.OYa()};
var g=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Euler,f=new THREE.Quaternion,p=new THREE.Matrix4,q=180/Math.PI;e.prototype.h7=function(t){var u=this.Sa.U.gd("DraggingArrow");this.rh.push(u);u.J(b.Group);var v=u.I(b.Aa,!0);"x"===t?v.Me=-90:"z"==t&&(u.I(b.Aa,!0).Le=90);t=this.Sa.U.gd("DraggingArrowCylinder");this.rh.push(t);t.J(b.Mesh).renderOrder=1;t.J(b.Geometry).geometry=new THREE.CylinderGeometry(.05,.05,.85,16,1,!0);t.J(b.Hc);t.J(b.nb).N=u;t.I(b.Aa,!0).positionY=-.075;v=this.Sa.U.gd("DraggingArrowCone");
this.rh.push(v);v.J(b.Mesh).renderOrder=1;v.J(b.Geometry).geometry=new THREE.ConeGeometry(.05,.15,16,1,!0);v.J(b.Hc);v.J(b.nb).N=u;v.I(b.Aa,!0).positionY=.425;this.oma.set(u,[t,v]);return u};e.prototype.CP=function(t){this.bm!=t&&(this.bm=t,this.cf())};e.prototype.cf=function(){var t=this.G.get("draggableArrowLength")*this.bm;this.Vz(this.oya,function(v){v.color=this.G.get("draggableXControlsColor")}.bind(this));var u=this.oya.I(b.Aa,!0);u.scale=t;u.translationX=t/2;this.Vz(this.qya,function(v){v.color=
this.G.get("draggableYControlsColor")}.bind(this));u=this.qya.I(b.Aa,!0);u.scale=t;u.translationY=t/2;this.Vz(this.rya,function(v){v.color=this.G.get("draggableZControlsColor")}.bind(this));u=this.rya.I(b.Aa,!0);u.scale=t;u.$e=t/2};e.prototype.OYa=function(){var t=h.wc(this.hH);t&&(p.copy(t.matrixWorld).invert().decompose(g,f,c),t=this.nh.getComponent(b.Aa),d.setFromQuaternion(f,t.Zf),d.x*=q,d.y*=q,d.z*=q,t.Le!=d.x||t.re!=d.y||t.Me!=d.z)&&(t=this.nh.I(b.Aa),t.Le=d.x,t.re=d.y,t.Me=d.z)};e.prototype.Vl=
function(){var t=this.G.get("positionDraggable");this.T!=t&&((this.T=t)?(this.nh.J(b.nb).N=this.hH,this.WB.forEach(function(u){u=u.J(b.ud);u.sx=!0;u.Pw=!0;u.P=new k;u.P.bind(m.ad,this.hI,this,!0);u.P.bind(m.Xb,this.sn,this,!0);u.P.bind(m.kb,this.Ul,this,!0);u.P.bind(m.Hb,this.wq,this,!0)}.bind(this))):(this.nh.la(b.nb),this.WB.forEach(function(u){u.la(b.ud)})))};e.prototype.hI=function(t){(t=this.Bl(t))&&t!=this.Kc&&this.Vz(t,function(u){u.opacity=1})};e.prototype.sn=function(t){(t=this.Bl(t))&&t!=
this.Kc&&this.Vz(t,function(u){u.opacity=.5})};e.prototype.Ul=function(t){t=this.Bl(t);this.Xz(t)};e.prototype.wq=function(t){t=this.Bl(t);t==this.Kc&&(this.Xz(null),-1!=this.WB.indexOf(t)&&this.G.trigger(m.wu))};e.prototype.Vz=function(t,u){this.oma.get(t).forEach(function(v){u(v.I(b.Hc))}.bind(this))};e.prototype.Bl=function(t){t=this.WB.map(function(u){return u.getComponent(b.ud).P}).indexOf(t.source);return-1==t?null:this.WB[t]};e.prototype.Xz=function(t){this.Kc&&(this.Vz(this.Kc,function(v){v.opacity=
.5}),this.hH.la(b.tp));if(this.Kc=t){this.Vz(this.Kc,function(v){v.opacity=1});t=h.getWorldPosition(this.hH);var u=h.getWorldPosition(this.Kc);this.hH.J(b.tp).direction=u.sub(t)}};var n=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],r=["positionDraggable"];return e});
define("n","require kS pf gv fK cp".split(" "),function(a){function e(n,r,t){this.Sa=n;this.m=r;this.G=t;this.zk=this.zk.bind(this);this.cf=this.cf.bind(this);this.Vl=this.Vl.bind(this);this.Kc=null;this.T=!1;this.QY=[1,1,1,1,1,1];this.rh=[];this.mg=[this.rJ=this.Xp(),this.qJ=this.Xp(),this.tJ=this.Xp(),this.sJ=this.Xp(),this.vJ=this.Xp(),this.uJ=this.Xp()];this.mg.forEach(function(u){u=u.I(b.Hc);u.opacity=.5;u.depthTest=!1}.bind(this));l.ha(this.G,f,this.cf,!0);l.ha(this.G,p,this.zk,!0);l.ha(this.G,
q,this.Vl,!0)}var l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK"),h=a("cp");e.prototype.frame=function(){if(this.T&&(this.nWa(this.mg.map(function(D){return h.dK(D)||1})),this.Kc)){var n=h.wc(this.m),r=h.wc(this.uH(this.Kc));if(n&&r){c.copy(n.matrixWorld).invert();g.setFromMatrixPosition(r.matrixWorld).applyMatrix4(c);n=this.G.get("x");r=this.G.get("y");var t=this.G.get("z"),u=this.G.get("width"),v=this.G.get("height"),w=this.G.get("depth"),x=0,y=0,z=0,E=0,B=0,A=0;switch(this.Kc){case this.rJ:E=g.x-.5*u;
x=.5*E;break;case this.qJ:E=-g.x-.5*u;x=.5*-E;break;case this.tJ:B=g.y-.5*v;y=.5*B;break;case this.sJ:B=-g.y-.5*v;y=.5*-B;break;case this.vJ:A=g.z-.5*w;z=.5*A;break;case this.uJ:A=-g.z-.5*w,z=.5*-A}this.G.set("x",n+x);this.G.set("width",u+E);this.G.set("y",r+y);this.G.set("height",v+B);this.G.set("z",t+z);this.G.set("depth",w+A)}}};var g=new THREE.Vector3,c=new THREE.Matrix4;e.prototype.Xp=function(){var n=this.Sa.U.gd("DraggingSphere");this.rh.push(n);n.J(b.Mesh).renderOrder=2;n.J(b.Geometry).geometry=
new THREE.SphereGeometry;n.J(b.Hc);return n};e.prototype.cf=function(){this.rJ.I(b.Hc).color=this.G.get("draggableXControlsColor");this.qJ.I(b.Hc).color=this.G.get("draggableXControlsColor");this.tJ.I(b.Hc).color=this.G.get("draggableYControlsColor");this.sJ.I(b.Hc).color=this.G.get("draggableYControlsColor");this.vJ.I(b.Hc).color=this.G.get("draggableZControlsColor");this.uJ.I(b.Hc).color=this.G.get("draggableZControlsColor");var n=this.G.get("draggableSphereRadius");this.mg.forEach(function(r,t){r.I(b.Aa,
!0).scale=n*this.QY[t]}.bind(this))};e.prototype.zk=function(){this.rJ.I(b.Aa,!0).positionX=this.G.get("width")/2;this.qJ.I(b.Aa,!0).positionX=-this.G.get("width")/2;this.tJ.I(b.Aa,!0).positionY=this.G.get("height")/2;this.sJ.I(b.Aa,!0).positionY=-this.G.get("height")/2;this.vJ.I(b.Aa,!0).positionZ=this.G.get("depth")/2;this.uJ.I(b.Aa,!0).positionZ=-this.G.get("depth")/2};e.prototype.Vl=function(){var n=this.G.get("sizeDraggable");this.T!=n&&(this.T=n,this.mg.forEach(function(r){n?(r.J(b.nb).N=this.m,
this.mg.forEach(function(t){t=t.J(b.ud);t.sx=!0;t.Pw=!0;t.P=new k;t.P.bind(m.ad,this.YH,this,!0);t.P.bind(m.Xb,this.taa,this,!0);t.P.bind(m.kb,this.raa,this,!0);t.P.bind(m.Hb,this.saa,this,!0)}.bind(this))):(r.la(b.nb),this.mg.forEach(function(t){t.la(b.ud)}.bind(this)))}.bind(this)))};e.prototype.nWa=function(n){for(var r=!1,t=0;t<this.QY.length&&!r;t++)r=this.QY[t]!=n[t];r&&(this.QY=n,this.cf())};e.prototype.YH=function(n){(n=this.Bl(n))&&n!=this.Kc&&(n.I(b.Hc).opacity=1)};e.prototype.taa=function(n){(n=
this.Bl(n))&&n!=this.Kc&&(n.I(b.Hc).opacity=.5)};e.prototype.Bl=function(n){n=this.mg.map(function(r){return r.getComponent(b.ud).P}).indexOf(n.source);return-1==n?null:this.mg[n]};e.prototype.raa=function(n){n=this.Bl(n);this.Xz(n)};e.prototype.saa=function(n){n=this.Bl(n);n==this.Kc&&(this.Xz(null),this.zk(),(n=-1!=this.mg.indexOf(n))&&this.G.trigger(m.wu),n&&this.G.trigger(m.Yka))};e.prototype.Xz=function(n){this.Kc&&(this.Kc.I(b.Hc).opacity=.5,this.uH(this.Kc).la(b.tp));if(this.Kc=n)this.Kc.I(b.Hc).opacity=
1,n=this.uH(this.Kc).J(b.tp),n.direction=this.yPa(this.Kc),n.min=this.zPa(this.Kc)};e.prototype.yPa=function(n){var r=h.getWorldPosition(this.m);return h.getWorldPosition(n).sub(r)};e.prototype.uH=function(n){return-1!=this.mg.indexOf(n)?n:null};e.prototype.zPa=function(n){var r=this.$Pa(n);if(r){r=h.getWorldPosition(r);var t=h.getWorldPosition(n).sub(r);switch(n){case this.rJ:case this.qJ:var u=this.G.get("minWidth");break;case this.tJ:case this.sJ:u=this.G.get("minHeight");break;case this.vJ:case this.uJ:u=
this.G.get("minDepth")}return r.add(t.setLength(u||d))}};e.prototype.$Pa=function(n){switch(n){case this.rJ:return this.qJ;case this.qJ:return this.rJ;case this.tJ:return this.sJ;case this.sJ:return this.tJ;case this.vJ:return this.uJ;case this.uJ:return this.vJ}return null};e.prototype.dispose=function(){l.ba(this.G,f,this.cf);l.ba(this.G,p,this.zk);l.ba(this.G,q,this.Vl);var n=this.Sa.U;this.rh.forEach(function(r){n.We(r)});this.G=this.Sa=this.mg=this.m=this.rh=null};var d=1E-6,f=["draggableSphereRadius",
"draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],p="depth height x y z width".split(" "),q=["sizeDraggable"];return e});
define("cv","require kS mh pf fK km n".split(" "),function(a){function e(d,f,p){this.Sa=d;this.G=p;this.zk=this.zk.bind(this);this.cf=this.cf.bind(this);this.m=this.MMa();d=this.m.J(k.nb);d.N=this.Sa;d.id=this.G.get("parentId");this.ss=this.i7();this.ss.J(k.nb).N=this.m;this.NM=this.$Ma();this.NM.J(k.nb).N=this.m;this.rh=[this.m,this.ss,this.NM];this.vC=new b(this.Sa,this.m,this.G);this.d8=new h(this.Sa,this.m,this.G);d=this.m.J(k.ud);d.Pw=!0;d.sx=!0;d.P=this.G;l.ha(this.G,g,this.cf,!0);l.ha(this.G,
c,this.zk,!0);this.G.trigger(m.bd)}var l=a("kS");a("mh");var m=a("pf"),k=a("fK"),b=a("km"),h=a("n");e.prototype.frame=function(){this.vC.frame();this.d8.frame()};e.prototype.MMa=function(){var d=this.Sa.U.gd("Box");d.J(k.Group);return d};e.prototype.i7=function(){var d=this.Sa.U.gd("BoxBorder");d.J(k.Line);d.J(k.Geometry).geometry=this.NMa();d.J(k.ih);return d};e.prototype.$Ma=function(){var d=this.Sa.U.gd("BoxFace");d.J(k.Mesh);d.J(k.Geometry).geometry=new THREE.BoxGeometry(1,1,1);d.J(k.Hc);return d};
e.prototype.NMa=function(){var d=[new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(-.5,-.5,
-.5),new THREE.Vector3(-.5,-.5,.5),new THREE.Vector3(-.5,-.5,-.5),new THREE.Vector3(.5,-.5,.5),new THREE.Vector3(.5,-.5,-.5),new THREE.Vector3(-.5,.5,.5),new THREE.Vector3(-.5,.5,-.5),new THREE.Vector3(.5,.5,.5),new THREE.Vector3(.5,.5,-.5)];return(new THREE.BufferGeometry).setFromPoints(d)};e.prototype.cf=function(){var d=this.ss.I(k.ih);d.color=this.G.get("lineColor");d.opacity=this.G.get("lineOpacity");d.width=this.G.get("lineWidth");d.depthTest=this.G.get("depthTest");d=this.NM.I(k.Hc);d.color=
this.G.get("faceColor");d.opacity=this.G.get("faceOpacity");d.depthTest=this.G.get("depthTest");d=this.m.I(k.ud,!0);d.hL=this.G.get("useHandCursor");d.rT=this.G.get("transparentAreaActive")};e.prototype.zk=function(){var d=this.m.I(k.Aa,!0);d.positionX=this.G.get("x");d.positionY=this.G.get("y");d.positionZ=this.G.get("z");d=this.ss.I(k.Aa,!0);var f=this.NM.I(k.Aa,!0);f.Mf=d.Mf=this.G.get("width");f.$f=d.$f=this.G.get("height");f.Eh=d.Eh=this.G.get("depth")};e.prototype.dispose=function(){this.d8.dispose();
this.d8=null;this.vC.dispose();this.vC=null;l.ba(this.G,g,this.cf);l.ba(this.G,c,this.zk);var d=this.Sa.U;this.rh.forEach(function(f){d.We(f)});this.Sa=this.NM=this.ss=this.m=this.rh=null;this.G.trigger(m.Tc);this.G=null};var g=["transparentAreaActive","useHandCursor"],c="depth height x y z width".split(" ");return e});
define("cM","require kS pf gv fK cp".split(" "),function(a){function e(w,x,y){this.Sa=w;this.m=x;this.G=y;this.tD=this.tD.bind(this);this.cf=this.cf.bind(this);this.Vl=this.Vl.bind(this);this.Kc=null;this.T=!1;this.kU=this.bm=1;this.nh=this.Sa.U.gd("DraggingSize2DContainer");this.nh.J(b.Group);this.nh.J(b.Aa);this.mg=[this.O$=this.Xp(),this.I$=this.Xp(),this.gca=this.Xp(),this.Nba=this.Xp()];this.mg.forEach(function(z){z.J(b.Aa);z=z.I(b.Hc);z.color="#ffffff";z.opacity=.5;z.depthTest=!1}.bind(this));
this.ss=this.i7();this.rh=[this.nh,this.ss].concat(this.mg);[this.ss].concat(this.mg).forEach(function(z){z.J(b.nb).N=this.nh}.bind(this));l.ha(this.G,u,this.tD,!0);l.ha(this.G,t,this.cf,!0);l.ha(this.G,v,this.Vl,!0)}var l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK"),h=a("cp"),g=new THREE.Matrix4,c=new THREE.Vector3,d=new THREE.Vector3,f=new THREE.Quaternion,p=new THREE.Vector3,q=new THREE.Vector3,n=new THREE.Euler,r=180/Math.PI;e.prototype.frame=function(){if(this.T){var w=h.wc(this.nh),x=w&&h.GR(w),y=
x&&h.vA(x);if(y){if(this.Kc){var z=h.IR(x);x=h.RE(x);h.getWorldPosition(this.m,q).project(y);q.x=(q.x+1)*z*.5;q.y=(1-q.y)*x*.5;h.getWorldPosition(this.Kc,p).project(y);p.x=(p.x+1)*z*.5;p.y=(1-p.y)*x*.5;z=this.G.get("anchorX");x=this.G.get("anchorY");var E,B,A=q.x-p.x,D=p.y-q.y,C=-A,J=-D;this.I$===this.Kc&&(0<z||1>x)?A>D?E=A/z:B=D/(1-x):this.Nba===this.Kc&&(1>z||1>x)?C>D?E=C/(1-z):B=D/(1-x):this.O$===this.Kc&&(0<z||0<x)?A>J?E=A/z:B=J/x:this.gca===this.Kc&&(1>z||0<x)&&(C>J?E=C/(1-z):B=J/x);void 0!==
B&&void 0===E?E=B*this.qma:void 0!==E&&void 0===B&&(B=E/this.qma);void 0!==E&&void 0!==B&&(z=this.G.get("sizeAttenuation")?this.bm/this.kU:1,this.G.set("width",this.na=E*z),this.G.set("height",this.wa=B*z))}E=this.nh.getComponent(b.Aa);g.copy(w.parent.matrixWorld).invert().multiply(y.matrixWorld).decompose(c,f,d);n.setFromQuaternion(f,E.Zf);n.x*=r;n.y*=r;n.z*=r;if(E.Le!=n.x||E.re!=n.y||E.Me!=n.z)E=this.nh.I(b.Aa),E.Le=n.x,E.re=n.y,E.Me=n.z;w.parent.getWorldScale(c);this.oVa(1/Math.max(c.x,c.y,c.z));
this.CP(h.dK(this.nh)||1)}}};e.prototype.HYa=function(w,x){null!=this.Hda&&clearTimeout(this.Hda);this.Hda=setTimeout(function(){this.Hda=null;if(this.na!==w||this.wa!==x)this.na=w,this.wa=x,this.qma=this.na/this.wa}.bind(this),100)};e.prototype.Xp=function(){var w=this.Sa.U.gd("DraggingSphere");w.J(b.Mesh).renderOrder=2;w.J(b.Geometry).geometry=new THREE.SphereGeometry;w.J(b.Hc);return w};e.prototype.i7=function(){var w=this.Sa.U.gd("BoxBorder");w.J(b.Line);w.J(b.Geometry).geometry=this.zNa();var x=
w.J(b.ih);x.color="#0000ff";x.depthTest=!1;x.width=1;return w};e.prototype.zNa=function(){var w=[new THREE.Vector3(-.5,-.5,0),new THREE.Vector3(.5,-.5,0),new THREE.Vector3(.5,-.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,.5,0),new THREE.Vector3(-.5,-.5,0)];return(new THREE.BufferGeometry).setFromPoints(w)};e.prototype.cf=function(){var w=this.ss.I(b.ih);w.color=this.G.get("draggableLineColor");w.opacity=this.G.get("draggableLineOpacity");
w.width=this.G.get("draggableLineWidth");this.mg.forEach(function(x){x.I(b.Hc).color=this.G.get("draggableSphereColor");x.I(b.Aa).scale=this.G.get("draggableSphereRadius")*this.bm}.bind(this))};e.prototype.CP=function(w){this.bm!=w&&(this.bm=w,this.tD(),this.cf())};e.prototype.oVa=function(w){this.kU!=w&&(this.kU=w,this.tD(),this.cf())};e.prototype.tD=function(){var w=this.G.get("anchorX"),x=this.G.get("anchorY"),y=this.G.get("width"),z=this.G.get("height"),E=this.G.get("sizeAttenuation")?this.kU:
this.bm,B=this.O$.I(b.Aa,!0);B.positionX=-w*y*E;B.positionY=x*z*E;B=this.gca.I(b.Aa,!0);B.positionX=(1-w)*y*E;B.positionY=x*z*E;B=this.I$.I(b.Aa,!0);B.positionX=-w*y*E;B.positionY=(x-1)*z*E;B=this.Nba.I(b.Aa,!0);B.positionX=(1-w)*y*E;B.positionY=(x-1)*z*E;B=this.ss.I(b.Aa,!0);B.positionX=(.5-w)*y*E;B.positionY=(x-.5)*z*E;B.Mf=y*E;B.$f=z*E;this.HYa(y,z)};e.prototype.Vl=function(){var w=this.G.get("sizeDraggable");this.T!=w&&((this.T=w)?(this.nh.J(b.nb).N=this.m,this.mg.forEach(function(x){x=x.J(b.ud);
x.sx=!0;x.Pw=!0;x.P=new k;x.P.bind(m.ad,this.YH,this,!0);x.P.bind(m.Xb,this.taa,this,!0);x.P.bind(m.kb,this.raa,this,!0);x.P.bind(m.Hb,this.saa,this,!0)}.bind(this))):(this.nh.la(b.nb),this.mg.forEach(function(x){x.la(b.ud)}.bind(this))))};e.prototype.YH=function(w){(w=this.Bl(w))&&w!=this.Kc&&(w.I(b.Hc).opacity=1)};e.prototype.taa=function(w){(w=this.Bl(w))&&w!=this.Kc&&(w.I(b.Hc).opacity=.5)};e.prototype.raa=function(w){w=this.Bl(w);this.Xz(w)};e.prototype.saa=function(w){(w=this.Bl(w))&&w==this.Kc&&
(this.Xz(null),this.tD(),(w=-1!=this.mg.indexOf(w))&&this.G.trigger(m.wu),w&&this.G.trigger(m.Yka))};e.prototype.Bl=function(w){w=this.mg.map(function(x){return x.getComponent(b.ud).P}).indexOf(w.source);if(-1==w)return null;w=this.mg[w];return this.ERa(w)?w:null};e.prototype.ERa=function(w){var x=this.G.get("anchorX"),y=this.G.get("anchorY");return this.I$===w&&(0<x||0<y)||this.Nba===w&&(1>x||0<y)||this.O$===w&&(0<x||1>y)||this.gca===w&&(1>x||1>y)?!0:!1};e.prototype.Xz=function(w){this.Kc&&(this.Kc.I(b.Hc).opacity=
.5,this.uH(this.Kc).la(b.tp));if(this.Kc=w){this.Kc.I(b.Hc).opacity=1;var x=this.uH(this.Kc).J(b.tp),y=h.getWorldPosition(this.m);w=h.getWorldPosition(w);w=(new THREE.Vector3).copy(w).sub(y);var z=Math.min(w.length(),10*this.bm);y=(new THREE.Vector3).copy(y).add(c.copy(w).setLength(z));x.direction=w;x.min=y}};e.prototype.uH=function(w){return-1!=this.mg.indexOf(w)?w:null};e.prototype.dispose=function(){l.ba(this.G,u,this.tD);l.ba(this.G,t,this.cf);l.ba(this.G,v,this.Vl);var w=this.Sa.U;this.rh.forEach(function(x){w.We(x)});
this.G=this.Sa=this.mg=this.m=this.rh=null};var t=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u="anchorX anchorY height sizeAttenuation x y z width".split(" "),v=["sizeDraggable"];return e});
define("iq","require kS ik fK km cM cp".split(" "),function(a){function e(v,w,x,y,z){this.Sa=v;this.Ce=x;this.Ki=y;this.G=z;this.zk=this.zk.bind(this);this.yO=this.yO.bind(this);this.cf=this.cf.bind(this);this.TX=this.TX.bind(this);this.Ug=this.Ce.Bt(1);this.G.get("preload")&&this.Ki.wJ(this.Ug);this.m=this.Sa.U.gd("SpriteContainer");this.m.J(k.Group);v=this.m.J(k.nb);v.N=this.Sa;v.id=this.G.get("parentId");this.oQ=this.Sa.U.gd("TranslationSpriteContainer");this.oQ.J(k.Group);this.oQ.J(k.nb).N=this.m;
this.ft=this.Sa.U.gd("Sprite");this.ft.J(k.nb).N=this.oQ;v=this.ft.J(k.Km);v.properties=this.G;v.zga=this.G.get("image");v.P=this.G;v.ep=this.Ug;v.isSprite=!0;v.priority=this.G.get("preload")?m.BB:m.lka;this.ft.J(k.Sprite).renderOrder=2;this.ft.J(k.ud).P=this.G;this.ft.J(k.Px);this.ft.J(k.uL).object=this.G;this.J$=!1;this.bm=1E-4;this.lz=this.m.U.gd("TranslationLine");this.lz.J(k.Line).renderOrder=1;this.lz.J(k.ih);this.vC=new b(this.Sa,this.m,this.G);this.c8=new h(this.Sa,this.oQ,this.G);l.ha(this.G,
n,this.zk,!0);l.ha(this.G,t,this.yO,!0);l.ha(this.G,u,this.cf,!0);l.ha(this.G,r,this.TX,!0)}var l=a("kS"),m=a("ik"),k=a("fK"),b=a("km"),h=a("cM"),g=a("cp");e.prototype.frame=function(){this.vC.frame();this.c8.frame();this.CP(g.dK(this.m)||1E-4)};e.prototype.zk=function(){this.m.J(k.nb).id!=this.G.get("parentId")&&(this.m.I(k.nb).id=this.G.get("parentId"));var v=this.m.I(k.Aa,!0);v.positionX=this.G.get("x");v.positionY=this.G.get("y");v.positionZ=this.G.get("z")};e.prototype.CP=function(v){this.bm!=
v&&(this.bm=v,this.G.set("worldPixelScale",g.aBa(this.m)),this.yO())};e.prototype.yO=function(){var v=this.oQ.I(k.Aa,!0),w=this.G.get("translationLength");f.set(this.G.get("translationX"),this.G.get("translationY"),this.G.get("translationZ"));void 0!==w&&f.setLength(w*this.bm);v.translationX=f.x;v.translationY=f.y;v.$e=f.z;w=this.lz.I(k.Aa,!0);f.set(v.translationX,v.translationY,v.$e);w.scale=f.length();c.setFromUnitVectors(p,f.normalize());d.setFromQuaternion(c,w.Zf);d.x*=q;d.y*=q;d.z*=q;w.Le=d.x;
w.re=d.y;w.Me=d.z;this.yxa()};var c=new THREE.Quaternion,d=new THREE.Euler,f=new THREE.Vector3,p=new THREE.Vector3(0,0,1),q=180/Math.PI;e.prototype.cf=function(){var v=this.ft.I(k.ud,!0);v.hL=this.G.get("useHandCursor");v.rT=this.G.get("transparentAreaActive");v.Pw=this.G.get("clickEnabled");v.sx=this.G.get("rollOverEnabled");v=this.lz.I(k.ih);v.color=this.G.get("translationLineColor");v.depthTest=this.G.get("depthTest");v.opacity=this.G.get("hidden")?0:this.G.get("translationLineOpacity");v.width=
this.G.get("translationLineWidth");this.yxa()};e.prototype.TX=function(){var v=this.ft.I(k.Sprite,!0);v.xJ=this.G.get("anchorX");v.yJ=this.G.get("anchorY");v.width=this.G.get("width");v.height=this.G.get("height");v.scale=this.G.get("scale");v.sizeAttenuation=this.G.get("sizeAttenuation")};e.prototype.yxa=function(){var v=this.G.get("translationLineVisible")&&0<this.G.get("translationLineOpacity")&&(0!=this.G.get("translationX")||0!=this.G.get("translationY")||0!=this.G.get("translationZ"));this.J$!=
v&&((this.J$=v)?this.lz.J(k.nb).N=this.m:this.lz.la(k.nb))};e.prototype.dispose=function(){this.vC.dispose();this.vC=null;this.c8.dispose();this.c8=null;l.ba(this.G,n,this.zk);l.ba(this.G,t,this.yO);l.ba(this.G,u,this.cf);l.ba(this.G,r,this.TX);this.Ce.IK(this.Ug);this.Ki.IK(this.Ug);this.Ug=this.Ki=this.Ce=null;var v=this.Sa.U;this.Sa=null;v.We(this.ft);this.ft=null;v.We(this.lz);this.lz=null;v.We(this.m);this.G=this.m=null};var n=["parentId","x","y","z"],r="anchorX anchorY width height scale sizeAttenuation".split(" "),
t=["translationX","translationY","translationZ","translationLength"],u="clickEnabled depthTest hidden rollOverEnabled transparentAreaActive translationLineColor translationLineOpacity translationLineVisible translationLineWidth useHandCursor".split(" ");return e});define("gh",["require","nU","cv","iq"],function(a){var e=a("nU"),l=a("cv"),m=a("iq");return{create:function(k,b,h,g,c){return e.Ia("SpriteModel3DObject",c)?new m(k,b,h,g,c):e.Ia("BoxModel3DObject",c)?new l(k,b,c):null}}});
define("lj",["require","kS","pB","fK","gh"],function(a){function e(h,g,c,d){this.m=h;this.lo=g;this.Ce=c;this.Ki=d;this.Fra=new m(this.Ki.Bt(.1));this.Era=new m(this.Ce.Bt(.1));this.uD=this.uD.bind(this);this.Kw=h.U;this.o=this.m.getComponent(k.jh).properties;this.Ea=(h=this.m.getComponent(k.Object3D))&&h.sa;this.Pj=[];this.xX=new Map;l.ha(this.o,["objects.enabled"],this.uD,!0)}var l=a("kS"),m=a("pB"),k=a("fK"),b=a("gh");e.prototype.update=function(){var h=this.m.getComponent(k.Object3D);h=h&&h.sa;
if(this.Ea!==h){var g=this.Ea;this.Ea=h;this.u_(!!g)}};e.prototype.frame=function(){this.xX.forEach(function(h){h&&h.frame&&h.frame()})};e.prototype.dispose=function(){this.Ea=null;l.ba(this.o,["objects.enabled"],this.uD);this.Gva([])};e.prototype.uD=function(){this.u_()};e.prototype.u_=function(h){var g=this.o.get("objects").filter(function(c){return c.get("enabled")});this.Gva(g,h);this.Fra.update();this.Era.update()};e.prototype.Gva=function(h,g){if(this.Pj!=h||g)this.Pj.forEach(function(c){(g||
0>h.indexOf(c))&&this.MUa(c)}.bind(this)),h.forEach(function(c){(g||0>this.Pj.indexOf(c))&&this.oKa(c)}.bind(this)),this.Pj=h};e.prototype.oKa=function(h){this.xX.set(h,b.create(this.m,this.lo,this.Era,this.Fra,h))};e.prototype.MUa=function(h){var g=this.xX.get(h);g&&g.dispose();this.xX["delete"](h)};return e});
define("kz",["require","pf","fK"],function(a){function e(h,g){this.m=h;this.lo=g;this.gj=this.Ea=this.o=null;this.em(this.m.getComponent(m.jh).properties);this.update()}var l=a("pf"),m=a("fK");e.prototype.frame=function(){this.update()};e.prototype.update=function(){var h=this.lo.getComponent(m.Object3D);h=h&&h.sa;this.Ea!=h&&(this.Ea=h,this.XB())};e.prototype.em=function(h){this.o&&k.forEach(function(g){this.o.unbind(l.D(g),this.XB,this,!1)}.bind(this));if(this.o=h)k.forEach(function(g){this.o.bind(l.D(g),
this.XB,this,!1)}.bind(this)),this.XB()};e.prototype.XB=function(){this.Fva(this.o.get("model"));this.Ea&&this.m.U.Pa()};e.prototype.Fva=function(h){this.gj!=h&&(this.gj&&b.forEach(function(g){this.gj.unbind(l.D(g),this.n6,this,!1)}.bind(this)),this.gj=h)&&(b.forEach(function(g){this.gj.bind(l.D(g),this.n6,this,!1)}.bind(this)),this.n6())};e.prototype.n6=function(){var h=this.lo.I(m.Aa,!0);h.positionX=this.gj.get("positionX");h.positionY=this.gj.get("positionY");h.positionZ=this.gj.get("positionZ");
h.Zf=this.gj.get("rotationOrder");h.Le=this.gj.get("rotationX");h.re=this.gj.get("rotationY");h.Me=this.gj.get("rotationZ");h.scale=this.gj.get("scale");h.translationX=this.gj.get("translationX");h.translationY=this.gj.get("translationY");h.$e=this.gj.get("translationZ")};e.prototype.dispose=function(){this.Ea=null;this.Fva(null);this.em(null)};var k=["model"],b="positionX positionY positionZ rotationOrder rotationX rotationY rotationZ scale translationX translationY translationZ".split(" ");return e});
define("bS","require pf cC pB fK lt eI lj kz".split(" "),function(a){function e(f){this.m=f;this.m.J(b.Group);f=this.m.getComponent(b.jh);this.lo=f.gR;this.Ki=new k(f.eEa);this.Ce=new k(f.ep);this.fe=f.P;this.Md=new g(this.m,this.lo,this.Ce,this.Ki);this.Pj=new c(this.m,this.lo,this.Ce,this.Ki);this.Qe=new h(this.m);this.o=new d(this.m,this.lo)}var l=a("pf"),m=a("cC"),k=a("pB"),b=a("fK"),h=a("lt"),g=a("eI"),c=a("lj"),d=a("kz");e.prototype.update=function(){this.Md.update();this.Pj.update();this.o.update();
this.Qe.update()};e.prototype.frame=function(){this.Md.frame();this.Pj.frame();this.o.frame();this.Qe.frame();this.fe.trigger(new m(l.Jm))};e.prototype.dispose=function(){this.Qe&&(this.Qe.dispose(),this.Qe=null);this.Md&&(this.Md.dispose(),this.Md=null);this.Pj&&(this.Pj.dispose(),this.Pj=null);this.o&&(this.o.dispose(),this.o=null);this.Ce&&(this.Ce.dispose(),this.Ce=null);this.fe=this.lo=null};e.$a=function(f){f.J(b.tu).manager=new e(f)};e.Ba=function(f){var p=f.getComponent(b.tu);p.manager.dispose();
p.manager=null;f.la(b.tu)};e.update=function(f){f.getComponent(b.tu).manager.update()};e.frame=function(f){f.getComponent(b.tu).manager.frame()};return e});
define("lm",["require","lE","lO","fK","bS"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("bS");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.xCa.A.length&&this.xCa.A.slice().forEach(k.$a);this.M1.Ha.length&&this.M1.Ha.slice().forEach(k.update);this.M1.A.length&&this.M1.A.slice().forEach(k.frame);this.yCa.A.length&&this.yCa.A.slice().forEach(k.Ba)};a.H={};a.H.xCa=[m.jh,m.tu.not];a.H.M1=[m.jh,m.tu];a.H.yCa=[m.jh.not,m.tu];return a});
define("ck",["require","fK","cp"],function(a){function e(k){this.m=k;this.je=null}var l=a("fK"),m=a("cp");e.prototype.frame=function(){if(!this.je){var k=this.m.getComponent(l.iG),b=m.wc(k.container);if(this.je=b&&k.id&&m.rA(b,k.id)||null)this.m.J(l.Object3D).sa=this.je,this.m.U.Pa()}};e.prototype.update=function(){this.je&&(this.m.la(l.Object3D),this.je=null)};e.prototype.dispose=function(){this.je&&(this.m.la(l.Object3D),this.je=null)};e.$a=function(k){k.J(l.uu).manager=new e(k)};e.Ba=function(k){var b=
k.getComponent(l.uu);b.manager.dispose();b.manager=null;k.la(l.uu)};e.frame=function(k){k.getComponent(l.uu).manager.frame()};e.update=function(k){k.getComponent(l.uu).manager.update()};return e});
define("ho",["require","lE","lO","fK","ck"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ck");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.MCa.A.length&&this.MCa.A.slice().forEach(k.$a);this.T1.Ha.length&&this.T1.Ha.slice().forEach(k.update);this.T1.A.length&&this.T1.A.slice().forEach(k.frame);this.NCa.A.length&&this.NCa.A.slice().forEach(k.Ba)};a.H={};a.H.MCa=[m.iG,m.uu.not];a.H.T1=[m.iG,m.uu];a.H.NCa=[m.iG.not,m.uu];return a});
define("ol",["require","fK","ob"],function(a){function e(k){this.m=k;this.GC=new THREE.PlaneGeometry;this.dra=this.m.J(l.Object3D).sa=new THREE.Mesh(this.GC);this.update()}var l=a("fK"),m=a("ob");e.prototype.update=function(){var k=this.m.getComponent(l.Material).material;k&&m.jA(this.dra,k);this.dra.renderOrder=this.m.getComponent(l.Plane).renderOrder};e.prototype.dispose=function(){this.GC.dispose();this.GC=null};e.$a=function(k){k.J(l.xu).manager=new e(k)};e.Ba=function(k){var b=k.getComponent(l.xu);
b.manager.dispose();b.manager=null;k.la(l.xu);k.la(l.Object3D)};e.update=function(k){k.getComponent(l.xu).manager.update()};return e});
define("hj",["require","lE","lO","fK","ol"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ol");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.uS.A.length&&this.uS.A.slice().forEach(k.$a);this.planes.Ha.length&&this.planes.Ha.slice().forEach(k.update);this.TDa.A.length&&this.TDa.A.slice().forEach(k.Ba);this.UDa.A.length&&this.UDa.A.slice().forEach(k.Ba)};a.H={};a.H.uS=[m.Material,m.Plane,m.xu.not];a.H.planes=[m.Plane,m.Material,m.xu];a.H.TDa=[m.Plane.not,m.xu];
a.H.UDa=[m.Material.not,m.xu];return a});
define("ib",["require","fK","cp"],function(a){var e=a("fK"),l=a("cp");return{$a:function(m){var k=m.getComponent(e.nb),b=l.wc(k.N);if(b){var h=m.J(e.cs);h.parent=b;k.id&&(b=b&&l.rA(b,k.id));h.id=k.id;h.Hd=l.wc(m);h.attach=k.attach;b&&h.Hd&&(h.attach?b.attach(h.Hd):b.add(h.Hd))}},update:function(m){var k=m.getComponent(e.nb),b=m.getComponent(e.cs),h=l.wc(k.N),g=l.wc(m);if(b.parent!=h||b.Hd!=g||k.id!=b.id||k.attach!=b.attach||g&&h&&!g.parent)b=m.I(e.cs),b.Hd&&b.Hd.parent&&(k.N.I(e.Object3D),b.Hd.parent.remove(b.Hd)),
b.parent=h,k.id&&(h=h&&l.rA(h,k.id)),b.id=k.id,b.Hd=g,b.attach=k.attach,h&&b.Hd&&(b.attach?h.attach(b.Hd):h.add(b.Hd),(k=m.getComponent(e.Aa))&&l.aT(m,k))},Ba:function(m){var k=m.getComponent(e.cs);k.Hd&&k.Hd.parent&&k.Hd.parent.remove(k.Hd);k.parent=null;k.Hd=null;k.id=void 0;m.la(e.cs)}}});
define("na",["require","lE","lO","fK","ib"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ib");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.nS.A.length&&this.nS.A.slice().forEach(k.$a);this.vr.A.length&&this.vr.A.slice().forEach(k.update);this.vr.Ha.length&&this.vr.Ha.slice().forEach(k.update);this.vr.Pd.length&&this.vr.Pd.slice().forEach(k.update);this.hza.A.length&&this.hza.A.slice().forEach(k.Ba);this.iza.A.length&&this.iza.A.slice().forEach(k.Ba)};a.H=
{};a.H.nS=[m.Object3D,m.nb,m.cs.not];a.H.vr=[m.Object3D,m.nb,m.cs];a.H.hza=[m.Object3D.not,m.nb,m.cs];a.H.iza=[m.nb.not,m.cs];return a});
define("dl",["require","lE","lO","fK","cp"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("cp");a=e.extend(l,function(){l.apply(this,arguments);this.we=this.we.bind(this);this.Zc=this.Zc.bind(this);this.JE=this.JE.bind(this)});a.prototype.Bd=function(){this.PDa.A.length&&this.PDa.A.slice().forEach(this.we);this.ODa.A.length&&this.ODa.A.slice().forEach(this.JE);this.QDa.A.length&&this.QDa.A.slice().forEach(this.Zc);this.RDa.A.length&&this.RDa.A.slice().forEach(this.Zc)};a.prototype.we=function(g){g.J(m.GB)};
a.prototype.Zc=function(g){g.la(m.GB)};var b=new THREE.Matrix4,h=new THREE.Vector3;a.prototype.JE=function(g){var c=g.getComponent(m.Aj),d=g.getComponent(m.Aa);if(d){var f=g.getComponent(m.Object3D).sa;if(f&&f.parent){var p=g.getComponent(m.Rf),q=1E-7;p&&(q=k.dK(g)||q);b.copy(f.parent.matrixWorld).invert();h.setFromMatrixScale(b);f=Math.max(h.x,h.y,h.z);p&&p.Mw&&(q/=f,f=1);p=c.scale*f;void 0!==c.AA&&(p=Math.min(c.AA*q,p));void 0!==c.BA&&(p=Math.max(c.BA*q,p));if(d.scale!=p||d.Mf!=c.Mf||d.$f!=c.$f||
d.Eh!=c.Eh)d=g.I(m.Aa),d.scale=p,d.Mf=c.Mf,d.$f=c.$f,d.Eh=c.Eh}}};a.H={};a.H.PDa=[m.Object3D,m.Aj,m.GB.not];a.H.ODa=[m.Object3D,m.Aj,m.GB];a.H.QDa=[m.Object3D.not,m.GB];a.H.RDa=[m.Aj.not,m.GB];return a});
define("dW",["require","pf","fK","cp"],function(a){function e(u){this.m=u;this.dO=new THREE.Vector3;this.bb=new THREE.Vector3;this.U9=this.fd=this.tda=!1;this.tI=null;this.update()}var l=a("pf"),m=a("fK"),k=a("cp");e.prototype.update=function(){this.Saa=this.m.getComponent(m.lk).N};e.prototype.frame=function(){this.Gxa();this.Jw()};e.prototype.Gxa=function(){var u=(t.get(this.m.U)||[]).map(function(v){return v.getComponent(m.nd)}).filter(function(v){return v&&v.P}).reduce(function(v,w){return!v||
!v.bk&&w.bk?w:v},null);u=u&&u.P;this.tI!==u&&(this.tI&&this.QUa(this.tI),(this.tI=u)&&this.sKa(this.tI))};e.prototype.sKa=function(u){u.bind(l.kc,this.Hf,this,!0);u.bind(l.Xb,this.sn,this,!0)};e.prototype.QUa=function(u){u.unbind(l.kc,this.Hf,this);u.unbind(l.Xb,this.sn,this)};e.prototype.Hf=function(u){if(this.Saa&&k.rA(k.wc(this.Saa),u.data.objectId)&&"mesh"==u.data.type){var v=this.fd;this.fd=!0;var w=k.wc(this.m);if((w=w&&w.parent)&&w.matrixWorld){var x=this.m.getComponent(m.lk);x&&(h.setFromMatrixPosition(w.matrixWorld),
g.copy(w.matrixWorld).invert(),c.fromArray(u.data.objectMatrixWorld),b.setFromMatrixPosition(c),d.copy(c).invert(),x.rotate?u.data.normal?this.dO.copy(u.data.normal).applyMatrix4(c).sub(b).add(h):this.dO.copy(u.data.cameraPosition):this.dO.copy(q),this.dO.applyMatrix4(g).normalize(),this.bb.copy(u.data.position).applyMatrix4(g),this.tda=!0,this.m.U.Pa(),v||(u=(x=this.m.getComponent(m.lk))&&x.P)&&u.trigger(l.ad))}}else this.sn()};var b=new THREE.Vector3,h=new THREE.Vector3,g=new THREE.Matrix4,c=new THREE.Matrix4,
d=new THREE.Matrix4;e.prototype.sn=function(){if(this.fd){this.fd=!1;this.m.U.Pa();var u=this.m.getComponent(m.lk);(u=u&&u.P)&&u.trigger(l.Xb)}};e.prototype.Jw=function(){if(this.tda||this.fd){this.tda=!1;var u=this.m.I(m.Aa,!0);u.positionX=0;u.positionY=0;u.positionZ=0;f.setFromUnitVectors(p,this.dO);n.setFromQuaternion(f,u.Zf);u.Le=n.x*r;u.re=n.y*r;u.Me=n.z*r;u.translationX=this.bb.x;u.translationY=this.bb.y;u.$e=this.bb.z;u.easing=this.U9?.4:0;this.U9||(k.aT(this.m,u),this.U9=!0)}};var f=new THREE.Quaternion,
p=new THREE.Vector3(0,0,1),q=new THREE.Vector3(0,1,0),n=new THREE.Euler,r=180/Math.PI;e.prototype.dispose=function(){this.Saa=null;this.Gxa()};e.DF=function(u,v){t.set(u,v)};var t=new Map;e.$a=function(u){u.J(m.ds).manager=new e(u)};e.Ba=function(u){var v=u.getComponent(m.ds);v.manager.dispose();v.manager=null;u.la(m.ds)};e.frame=function(u){u.getComponent(m.ds).manager.frame()};e.update=function(u){u.getComponent(m.ds).manager.update()};return e});
define("iK",["require","lE","lO","fK","dW"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("dW");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){k.DF(this.U,this.fl.A.slice());this.XDa.A.length&&this.XDa.A.slice().forEach(k.$a);this.u2.Ha.length&&this.u2.A.slice().forEach(k.update);this.u2.A.length&&this.u2.A.slice().forEach(k.frame);this.YDa.A.length&&this.YDa.A.slice().forEach(k.Ba);this.ZDa.A.length&&this.ZDa.A.slice().forEach(k.Ba)};a.H={};a.H.fl=[m.nd];a.H.XDa=
[m.Object3D,m.lk,m.ds.not];a.H.u2=[m.Object3D,m.lk,m.ds];a.H.YDa=[m.Object3D.not,m.ds];a.H.ZDa=[m.lk.not,m.ds];return a});
define("Y",["require"],function(){var a={Tn:function(){this.e8a=this.aGa=this.d8a=this.a3=this.Z2=this.Y2=0;this.iT=!1;this.jT=new THREE.CubeTexture;this.y8a=this.sGa=this.x8a=this.m3=this.targetY=this.targetX=0;this.oT=!1;this.pT=new THREE.CubeTexture;this.Zf="XYZ";this.position=1},I$a:function(){return new a.Tn},create:function(m){var k=new THREE.ShaderMaterial;k.uniforms={sCube:{value:m.jT},sPos:{value:new THREE.Vector3},sRot:{value:new THREE.Matrix4},sEnabled:{value:!1},tCube:{value:m.pT},tPos:{value:new THREE.Vector3},
tRot:{value:new THREE.Matrix4},tEnabled:{value:!1},blendingCoef:{value:0}};k.fragmentShader="uniform samplerCube sCube;\nuniform vec3 sPos;\nuniform mat4 sRot;\nuniform bool sEnabled;\nuniform samplerCube tCube;\nuniform vec3 tPos;\nuniform mat4 tRot;\nuniform bool tEnabled;\nuniform float blendingCoef;\nvarying vec3 vWorldPosition;\nvoid main() {\n    vec4 sFragColor;\n    vec4 tFragColor;\n    if (sEnabled) \n    {\n        vec4 sCubePosition4 = sRot * vec4((vWorldPosition - sPos), 1);\n        vec3 sCubePosition = sCubePosition4.xyz / sCubePosition4.w;\n\t    sFragColor = textureCube(sCube, sCubePosition);\n    }\n    if (tEnabled)\n    {\n        vec4 tCubePosition4 = tRot * vec4((vWorldPosition - tPos), 1);\n        vec3 tCubePosition = tCubePosition4.xyz / tCubePosition4.w;\n\t    tFragColor = textureCube(tCube, tCubePosition);\n    }\n    if (sEnabled && tEnabled)\n    {\n        gl_FragColor = mix(sFragColor, tFragColor, blendingCoef);     \n    }\n    else if (sEnabled)\n    {        \n        gl_FragColor = vec4(sFragColor.rgb, sFragColor.a * (1.0 - blendingCoef));\n    }\n    else if (tEnabled)\n    {\n        gl_FragColor = vec4(tFragColor.rgb, tFragColor.a * blendingCoef);\n    }\n#include <tonemapping_fragment>\n#include <encodings_fragment>\n}";
k.vertexShader="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\n   gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";k.side=THREE.DoubleSide;k.depthWrite=!0;k.transparent=!0;k.needsUpdate=!0;this.update(k,m);return k},update:function(m,k){m.uniforms.sCube.value=k.jT;m.uniforms.sPos.value.set(k.Y2,k.Z2,k.a3);m.uniforms.sRot.value.makeRotationFromEuler(e.set(k.d8a*l,k.aGa*l,k.e8a*l,k.Zf));m.uniforms.sEnabled.value=
k.iT;m.uniforms.tCube.value=k.pT;m.uniforms.tPos.value.set(k.targetX,k.targetY,k.m3);m.uniforms.tRot.value.makeRotationFromEuler(e.set(k.x8a*l,k.sGa*l,k.y8a*l,k.Zf));m.uniforms.tEnabled.value=k.oT;m.uniforms.blendingCoef.value=k.position;m.needsUpdate=!0;return m}},e=new THREE.Euler,l=Math.PI/180;return a});
define("mv","require lE lO fK Y cp".split(" "),function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("Y"),b=a("cp");a=e.extend(l,function(){l.apply(this,arguments);this.we=this.we.bind(this);this.Zc=this.Zc.bind(this);this.Ne=this.Ne.bind(this)});a.prototype.Bd=function(){this.mEa.A.length&&this.mEa.A.slice().forEach(this.Zc);this.nEa.A.length&&this.nEa.A.slice().forEach(this.Zc);this.lEa.A.length&&this.lEa.A.slice().forEach(this.we);this.kEa.Ha.length&&this.kEa.Ha.slice().forEach(this.Ne)};a.prototype.we=
function(g){var c=g.getComponent(m.es),d=(c=c&&c.ZK)&&b.wc(c),f=b.Ch(c);if(d&&f){var p=g.J(m.Au);p.ZK=c;p.vK=new k.Tn;p.material=this.fv(p.vK);p.sa=this.vMa(d,p.material);p.YK=this.xNa(p.material);p.encoding=b.Z0(f);this.tKa(c,p.YK);g.J(m.Object3D).sa=p.sa;this.Ne(g)}};a.prototype.fv=function(g){g=k.create(g);g.polygonOffset=!0;g.polygonOffsetUnits=1;g.polygonOffsetFactor=-10;g.needsUpdate=!0;return g};a.prototype.vMa=function(g,c){var d=new Map;g.traverse(function(r){if(r.material&&r.userData){var t=
{};r.material&&(t.material=r.material,r.material=c);r.userData&&(t.userData=r.userData,r.userData={});d.set(r,t)}}.bind(this));var f=g.clone();d.forEach(function(r,t){r.material&&(t.material=r.material);r.userData&&(t.userData=r.userData)});for(g=[[g,f]];g.length;){var p=g.shift(),q=p[0];p=p[1];q.ke&&(p.ke=q.ke);for(var n=0;n<q.children.length;n++)g.push([q.children[n],p.children[n]])}return f};a.prototype.xNa=function(g){return new THREE.Mesh(new THREE.BoxGeometry(2,2,2),g)};a.prototype.tKa=function(g,
c){g=b.Ch(g);b.m_a(g&&b.vA(g),c)};a.prototype.Ne=function(g){var c=g.getComponent(m.es);g=g.getComponent(m.Au);var d=g.vK;c.X2?(d.jT!=c.X2&&(d.jT=c.X2),d.Y2=c.Y2,d.Z2=c.Z2,d.a3=c.a3,d.aGa=c.f8a,d.iT=!0):d.iT=!1;c.l3?(d.pT!=c.l3&&(d.pT=c.l3),d.targetX=c.targetX,d.targetY=c.targetY,d.m3=c.m3,d.sGa=c.z8a,d.oT=!0):d.oT=!1;d.position=c.position;b.wc(c.ZK).visible=d.iT&&d.oT||d.iT&&0>=d.position||d.oT&&1<=d.position?!1:!0;k.update(g.material,d)};var h=new THREE.MeshBasicMaterial;a.prototype.Zc=function(g){var c=
g.getComponent(m.Au),d=b.wc(c.ZK);d&&(d.visible=!0);c.sa&&c.sa.traverse(function(f){f.material==c.material&&(f.material=h)});c.YK&&(b.m5a(c.YK.parent,c.YK),c.YK=null);c.material&&(c.vK.jT=null,c.vK.pT=null,c.vK=null,c.material.dispose(),c.material=null);g.la(m.Au);g.la(m.Object3D)};a.H={};a.H.lEa=[m.es,m.Au.not];a.H.kEa=[m.es,m.Object3D,m.Au];a.H.mEa=[m.es.not,m.Au];a.H.nEa=[m.Object3D.not,m.Au];return a});
define("eT",["require","fK","oH","bG"],function(a){function e(b){this.m=b;this.enabled=!1;this.Xm=null;this.sv=0;this.passes=[];this.dl=this.el=!1;this.af=null;this.wa=this.na=100}var l=a("fK"),m=a("oH"),k=a("bG");e.prototype.dispose=function(){this.af&&(this.af.saoRenderTarget.dispose(),this.af.blurIntermediateRenderTarget.dispose(),this.af.beautyRenderTarget.dispose(),this.af.normalRenderTarget.dispose(),this.af.depthRenderTarget.dispose(),this.af.depthMaterial.dispose(),this.af.normalMaterial.dispose(),
this.af.saoMaterial.dispose(),this.af.vBlurMaterial.dispose(),this.af.hBlurMaterial.dispose(),this.af.materialCopy.dispose(),this.af.depthCopy.dispose(),this.af=null)};e.prototype.update=function(b,h,g,c,d){var f=this.m.getComponent(l.RF),p=!!f;if(this.el=this.enabled!=p)(this.enabled=p)?(!this.af&&b&&h&&(this.af=new THREE.SAOPass(b,h,!1,!0)),this.Xm=new m("linear",[new k("alpha",0,1,void 0)],f.Lza),this.sv=0,this.passes=[this.af],this.dl=!0):(this.passes=[],this.dl=!1);this.enabled&&(this.Xm&&(this.Xm.Cb(d),
this.sv=this.Xm.fb("alpha"),1==this.sv&&(this.Xm=null),this.m.U.Pa()),null!==f.output&&(this.af.params.output=f.output),this.af.params.saoBias=f.bias/f.scale,this.af.params.saoIntensity=this.sv*f.intensity,this.af.params.saoScale=f.scale,this.af.params.saoKernelRadius=f.VBa,this.af.params.saoMinResolution=f.vCa/1E3,this.af.params.saoBlur=0<f.gfa,this.af.params.saoBlurRadius=f.gfa,this.af.params.saoBlurStdDev=8,this.af.params.saoBlurDepthCutoff=.01,(this.na!=g||this.wa!=c)&&this.af.setSize(this.na=
g,this.wa=c))};return e});
define("r",["require","fK"],function(a){function e(m){this.m=m;this.enabled=!1;this.passes=[];this.dl=this.el=!1;this.ms=null}var l=a("fK");e.prototype.dispose=function(){this.ms&&(this.ms.material.dispose(),this.ms=null)};e.prototype.update=function(m,k,b,h){m=this.m.getComponent(l.gB);m=!!m&&m.lAa;if(this.el=this.enabled!=m)(this.enabled=m)?(this.ms||(this.ms=new THREE.ShaderPass(THREE.FXAAShader),this.ms.needsSwap=!0),this.passes=[this.ms],this.dl=!0):(this.passes=[],this.dl=!1);!this.enabled||
this.na==b&&this.wa==h||(this.na=b,this.wa=h,this.ms.material.uniforms.resolution.value.x=1/this.na,this.ms.material.uniforms.resolution.value.y=1/this.wa,this.ms.setSize(b,h))};return e});
define("gj",["require","fK"],function(a){function e(m){this.m=m;this.enabled=!1;this.eia=void 0;this.Xm=null;this.sv=0;this.passes=[];this.dl=this.el=!1;this.Yh=null;this.yba=new THREE.Matrix4;this.Aba=new THREE.Matrix4;this.xba=new THREE.Vector3}var l=a("fK");e.prototype.dispose=function(){this.Yh&&(this.Yh.dispose(),this.Yh=null)};e.prototype.update=function(m,k){var b=this.m.getComponent(l.zL),h=!!b,g=b?b.HEa:void 0;if(this.el=this.enabled!=h||this.eia!=g)(this.enabled=h)?(this.eia!=g&&this.Yh&&
(this.Yh.dispose(),this.Yh=null),!this.Yh&&m&&k&&(this.Yh=new THREE.MotionBlurPass(this.eia=g),this.Yh.needsSwap=!0,this.yba.copy(k.matrixWorldInverse),this.Aba.copy(k.projectionMatrix),this.xba.copy(k.position)),this.passes=[this.Yh],this.dl=!0):(this.passes=[],this.dl=!1);this.enabled&&(this.Yh.uniforms.inverseProjectionMatrix.value.copy(k.projectionMatrix).invert(),this.Yh.uniforms.near.value=k.near,this.Yh.uniforms.far.value=k.far,this.Yh.uniforms.depthLimit.value=.99,this.Yh.uniforms.clipToWorldMatrix.value.copy(k.matrixWorld).multiply(this.Yh.uniforms.inverseProjectionMatrix.value),
this.Yh.uniforms.previousWorldToClipMatrix.value.copy(this.Aba).multiply(this.yba),this.Yh.uniforms.cameraMove.value.copy(k.position).sub(this.xba),this.Yh.uniforms.velocityFactor.value=b.intensity);this.yba.copy(k.matrixWorldInverse);this.Aba.copy(k.projectionMatrix);this.xba.copy(k.position)};return e});
define("eN",["require","nW","fK"],function(a){function e(m){this.m=m;this.enabled=!0;this.passes=[];this.pha=this.dl=this.el=!1;this.MZ=void 0;this.Rh=this.Nq=this.Pk=null}a("nW");var l=a("fK");e.prototype.dispose=function(){this.Pk&&(this.Pk.dispose(),this.Pk=null);this.Nq&&(this.Nq=null);this.Rh&&(this.Rh.material.dispose(),this.Rh=null)};e.prototype.update=function(m,k,b,h,g,c){g=this.m.getComponent(l.gB);c=!!g&&g.lGa&&c;if(this.el=this.MZ!==c)(this.MZ=c)?(this.Pk||(this.Pk=new THREE.SSAARenderPass(m,
k),this.Pk.sampleLevel=g.lT,this.Pk.needsSwap=!0,this.Pk.clear=!0,this.Pk.clearColor=65793,this.Pk.clearAlpha=0),this.Rh||(this.Rh=new THREE.ShaderPass(THREE.CopyShader),this.Rh.needsSwap=!0),this.passes=[this.Pk,this.Rh],this.pha=this.dl=!0):(this.Nq||(this.Nq=new THREE.RenderPass,this.Nq.clear=!0,this.Nq.clearColor=65793,this.Nq.clearAlpha=0),this.passes=[this.Nq],this.pha=this.dl=!1);this.MZ?(this.Pk.scene=m,this.Pk.camera=k,this.Pk.sampleLevel=g.lT,this.Rh.uniforms.opacity.value=Math.pow(2,Math.round(5<
g.lT?5:g.lT)),this.Pk.setSize(b,h)):(this.Nq.scene=m,this.Nq.camera=k,this.Nq.setSize(b,h))};return e});
define("nO",["require","nW","fK"],function(a){function e(b){this.m=b;this.enabled=!1;this.passes=[];this.dl=this.el=!1;this.br=null;this.Mc=void 0}var l=a("nW"),m=a("fK");e.prototype.dispose=function(){this.br&&(this.br.material.dispose(),this.br=null)};e.prototype.update=function(){var b=this.m.getComponent(m.oG),h=!!b;if(this.el=this.enabled!=h)(this.enabled=h)?(this.br||(this.br=new THREE.ShaderPass(k),this.br.needsSwap=!0),this.passes=[this.br],this.dl=!0):(this.passes=[],this.dl=!1);this.enabled&&
(this.br.uniforms.innerRadius.value=b.DBa,this.br.uniforms.outerRadius.value=b.IDa,this.br.uniforms.opacity.value=b.opacity,this.Mc!==b.color&&(this.Mc=b.color,this.br.uniforms.color.value=new THREE.Color(l.YA(this.Mc))))};var k={uniforms:{tDiffuse:{value:null},innerRadius:{value:.5},outerRadius:{value:.5},opacity:{value:.5},color:{value:new THREE.Color(0)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",
fragmentShader:"uniform float innerRadius;\nuniform float outerRadius;\nuniform float opacity;\nuniform vec3 color;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n    vec4 texel = texture2D(tDiffuse, vUv);\n    vec2 uv = vUv - vec2(0.5, 0.5);\n    float radius = sqrt(dot(uv, uv)) * 1.4142135623730951;\n    float coef = clamp((radius - innerRadius) / (outerRadius - innerRadius), 0.0, 1.0);\n    float alpha = opacity * coef;\n    float composedAlpha = alpha + texel.a * (1.0 - alpha);\n    if (composedAlpha > 0.0)\n    {\n        vec3 rgb = (color * alpha + texel.rgb * texel.a * (1.0 - alpha)) / composedAlpha;\n        gl_FragColor = vec4(rgb, composedAlpha);\n    }\n    else\n    {\n        gl_FragColor = texel;\n    }\n}"};
return e});
define("ha","require eT r gj eN nO cp".split(" "),function(a){function e(c){this.pd=c;this.Va=this.Eb=this.Tf=null;this.wa=this.na=void 0;this.Rh=this.Bs=this.j=this.CI=null;this.FV=[new b(c),new l(c),new k(c),new h(c),new m(c)];this.wX=!1}var l=a("eT"),m=a("r"),k=a("gj"),b=a("eN"),h=a("nO"),g=a("cp");e.prototype.dispose=function(){this.j&&(this.j.domElement.style.backgroundColor=void 0);for(;this.FV.length;)this.FV.pop().dispose();this.coa();this.Bs&&(this.Bs.material.dispose(),this.Bs=null);this.Rh&&
(this.Rh.material.dispose(),this.Rh=null)};e.prototype.setSize=function(c,d){if(this.na!=c||this.wa!=d)this.na=c,this.wa=d,this.Tf&&this.Tf.setSize(this.na,this.wa),this.j&&!this.j.xr.isPresenting&&this.j.setSize(this.na,this.wa)};e.prototype.au=function(c){this.Va=c};e.prototype.setCamera=function(c){this.Eb=c};e.prototype.setRenderTarget=function(c){this.CI!=c&&(this.CI=c,this.Tf&&(this.Tf.reset(c||void 0),this.Tf.renderToScreen=!c))};e.prototype.R2=function(c){this.j!=c&&(this.j=c,this.j.setSize(this.na,
this.wa),this.coa())};e.prototype.render=function(c){this.OWa();this.WYa(c);this.j.domElement.style.backgroundColor=this.wX?"#000000":void 0;this.Tf.render()};e.prototype.OWa=function(){this.Tf||(this.Tf=new THREE.EffectComposer(this.j,this.CI||void 0),this.Tf.renderToScreen=!this.CI,this.Tf.setSize(this.na,this.wa))};e.prototype.WYa=function(c){var d=!1,f=!1;this.wX=!1;this.FV.forEach(function(q){q.update(this.Va,this.Eb,this.na,this.wa,c,this.Tf.renderToScreen);d||(d=q.el);f||(f=q.dl);this.wX||
(this.wX=q.pha)}.bind(this));f=f&&this.j.outputEncoding==THREE.sRGBEncoding&&this.Tf.renderToScreen;g.u7a(this.Va,f);f&&!this.Bs?(this.Bs=new THREE.ShaderPass(THREE.GammaCorrectionShader),d=this.Bs.needsSwap=!0):this.Bs&&(this.Bs.enabled=f);this.Tf.renderToScreen||this.Rh?this.Rh&&(this.Rh.enabled=!this.Tf.renderToScreen):(this.Rh=new THREE.ShaderPass(THREE.CopyShader),d=this.Rh.needsSwap=!0);if(d){var p=[];this.FV.forEach(function(q){p=p.concat(q.passes)});this.Bs&&p.push(this.Bs);for(this.Rh&&p.push(this.Rh);0<
this.Tf.passes.length;)this.Tf.removePass(this.Tf.passes[this.Tf.passes.length-1]);p.forEach(function(q){this.Tf.addPass(q)}.bind(this))}};e.prototype.coa=function(){this.Tf&&(this.Tf.renderTarget1!=this.CI&&this.Tf.renderTarget1.dispose(),this.Tf.renderTarget2!=this.CI&&this.Tf.renderTarget2.dispose(),this.Tf=null)};return e});
define("dj","require pf v oA fK cp gp ha".split(" "),function(a){function e(c){this.mi=c;this.opacity=0;this.height=this.width=void 0;this.renderTarget=null;this.scene=void 0;this.dva=!1;this.jca=!0;this.gia=this.camera=void 0;this.ND=!1;this.hY=void 0;this.vc=new g(c);this.update()}var l=a("pf");a("v");var m=a("oA"),k=a("fK"),b=a("cp"),h=a("gp"),g=a("ha");e.prototype.update=function(){var c=this.mi.getComponent(k.Scene);this.opacity=c&&c.opacity||0;this.dva=c?c.locked:!1;this.jca=c?c.enabled:!0;
var d=c&&c.scene;this.scene!=d&&(this.scene=d,this.ND=!0,this.vc.au(this.scene));var f=(d=c&&c.hb)&&b.yR(d),p=f&&f.width;f=f&&f.height;if(this.width!=p||this.height!=f)this.width=p,this.height=f,this.ND=!0,this.vc.setSize(this.width,this.height);c=c&&"srgb"==c.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.hY!=c&&(this.hY=c,this.ND=!0,b.t7a(this.scene,c));c=d&&b.lr(d);this.camera!=c&&(this.camera=c,this.ND=!0,this.vc.setCamera(this.camera));d=d&&b.yR(d).camera;this.gia!=d&&(this.gia=
d);this.scene&&(b.s7a(this.scene,this.camera),b.v7a(this.scene,m.isPresenting?2048:this.width,m.isPresenting?2048:this.height));return this};e.prototype.render=function(c,d,f){(d||this.ND||!this.dva)&&this.jca&&(d?(c.xr.isPresenting||c.setRenderTarget(null),this.ND=!0):(this.renderTarget||(this.renderTarget=h.xfa(c)),c.setRenderTarget(this.renderTarget),this.renderTarget.texture.encoding=this.hY,this.ND=!1),c.outputEncoding=this.hY,c.xr.isPresenting?c.render(this.scene,this.gia):(this.vc.setRenderTarget(d?
null:this.renderTarget),this.vc.R2(c),this.vc.render(f)),(c=this.mi.getComponent(k.Scene))&&c.P&&c.P.trigger(l.Jm))};e.prototype.isVisible=function(){return this.scene&&this.camera&&0<this.opacity&&this.jca};e.prototype.dispose=function(){this.camera=this.scene=this.mi=null;this.vc&&(this.vc.dispose(),this.vc=null);this.renderTarget&&(this.renderTarget.dispose(),this.renderTarget=null)};return e});
define("fS",["require","pf","oA","fK","dj"],function(a){function e(h){this.m=h;this.pw=[];this.bc=null;this.LWa();this.JWa()}var l=a("pf"),m=a("oA"),k=a("fK"),b=a("dj");e.prototype.frame=function(h){var g=!!this.j&&m.dh==this.j;if(!m.isPresenting||g){var c=this.m.getComponent(k.ti).OS.map(function(p){for(var q=0;q<this.pw.length;q++)if(this.pw[q].mi==p)return this.pw[q].update();return new b(p)}.bind(this));this.pw.filter(function(p){return 0>c.indexOf(p)}).forEach(function(p){p.dispose()});this.pw=
c;var d=this.pw.filter(function(p){return p.isVisible()});if(0<d.length){g&&d.reduce(function(p,q){return p.opacity>q.opacity?p:q});var f=1==d.length&&1<=d[0].opacity||g;d.forEach(function(p){p.render(this.j,f,h)}.bind(this));f||this.VUa(d.slice(0,2))}g&&this.m.U.Pa()}};e.prototype.VUa=function(h){this.Tm.material.uniforms.t1.value=h[0].renderTarget.texture;this.Tm.material.uniforms.o1.value=h[0].opacity;1<h.length?(this.Tm.material.uniforms.useT2.value=1,this.Tm.material.uniforms.t2.value=h[1].renderTarget.texture,
this.Tm.material.uniforms.o2.value=h[1].opacity):this.Tm.material.uniforms.useT2.value=0;this.j.setSize(h[0].width,h[0].height);this.j.setRenderTarget(null);this.j.setClearColor(0,0);this.j.clear();this.j.render(this.$L,this.y6)};e.prototype.dispose=function(){for(;this.pw.length;)this.pw.shift().dispose();this.pw=null;this.IXa();this.KXa()};e.prototype.LWa=function(){var h=this.m.I(k.ti);this.bc=h.Wb.bc;this.bc.T_();h.renderer=this.bc.wA();this.j=h.renderer;m.P.bind(l.ca,this.pya,this,!0)};e.prototype.KXa=
function(){m.P.unbind(l.ca,this.pya,this);this.j=null;this.bc.D2();this.bc=null};e.prototype.pya=function(){this.m.U.Pa()};e.prototype.JWa=function(){this.$L=new THREE.Scene;this.y6=new THREE.OrthographicCamera(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-10,10);this.$L.add(this.y6);this.Tm=new THREE.Mesh(new THREE.PlaneGeometry(window.innerWidth,window.innerHeight),this.LMa());this.$L.add(this.Tm)};e.prototype.IXa=function(){this.$L.remove(this.Tm);this.Tm.geometry.dispose();
this.Tm.geometry=null;this.Tm.material.dispose();this.$L=this.y6=this.Tm=this.Tm.material=null};e.prototype.LMa=function(){var h=new THREE.ShaderMaterial({uniforms:{t1:{value:null},t2:{value:null},o1:{value:1},o2:{value:1},useT2:{value:1}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D t1;\nuniform sampler2D t2;\nuniform float o1;\nuniform float o2;\nuniform int useT2;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texel1 = texture2D(t1, vUv);\n   texel1.a = texel1.a * o1;\n   if (useT2 == 1) {\n\t  vec4 texel2 = texture2D(t2, vUv);\n     texel2.a = texel2.a * o2;\n     gl_FragColor = mix(texel1, texel2, texel2.a);\n   } else {\n     gl_FragColor = texel1;\n   }\n#include <encodings_fragment>\n#include <tonemapping_fragment>\n}"});
h.transparent=!0;return h};e.$a=function(h){h.J(k.fs).manager=new e(h)};e.Ba=function(h){var g=h.getComponent(k.fs);g.manager.dispose();g.manager=null;h.la(k.fs)};e.update=function(h){h.getComponent(k.fs).manager.update()};e.frame=function(h,g,c){h.getComponent(k.fs).manager.frame(g,c)};return e});
define("lK",["require","lE","lO","fK","fS"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("fS");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(b,h){this.yEa.A.length&&this.yEa.A.slice().forEach(k.$a);this.Am.A.length&&this.Am.A.slice().forEach(function(g){k.frame(g,b,h)});this.zEa.A.length&&this.zEa.A.slice().forEach(k.Ba)};a.H={};a.H.yEa=[m.ti,m.fs.not];a.H.zEa=[m.ti.not,m.fs];a.H.Am=[m.ti,m.fs];return a});
define("ki","require lE pf gv dB cp ik lB".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("gv"),k=a("dB"),b=a("cp"),h=a("ik"),g=a("lB");a=e.extend(m,function(d,f){m.call(this);this.Od=d;this.Va=f;this.ya=new k;this.ya.VK([this.Od]);this.ya.bind(l.Z,this.xd,this,!1);this.ya.bind(l.xc,this.Wf,this,!1);this.Pc=null;this.Rb=0;g.Ln(this.ya,h.BB)});a.prototype.vj=function(d){this.Rb!==d&&(this.Rb=d,this.Pc&&(this.Pc.material.opacity=this.Rb,this.Pc.material.visible=0<this.Rb,this.Pc.material.needsUpdate=
!0))};a.prototype.ki=function(){return!!this.Pc};a.prototype.xd=function(){this.yNa();this.trigger(l.Z)};a.prototype.Wf=function(){this.trigger(l.xc)};a.prototype.yNa=function(){var d=new THREE.Texture;d.image=g.wf(this.Od);d.generateMipmaps=!0;d.minFilter=THREE.LinearMipMapLinearFilter;d.needsUpdate=!0;d=new THREE.SpriteMaterial({map:d});d.sizeAttenuation=!1;d.transparent=!0;d.visible=0<this.Rb;d.opacity=this.Rb;d.polygonOffset=!0;d.polygonOffsetUnits=1;d.polygonOffsetFactor=-10;this.Pc=new THREE.Sprite(d);
this.Pc.renderOrder=-1E3};a.prototype.update=function(){if(this.Pc){var d=b.vA(this.Va);this.Pc.parent!=d&&(this.Pc.parent&&b.sEa(this.Pc.parent,this.Pc),d&&b.l_a(d,this.Pc));if(d){var f=b.RE(this.Va),p=this.Pc.material.map.image.width,q=this.Pc.material.map.image.height;d=f/(2*Math.tan(d.fov*c/2));f=Math.max(f/d,b.IR(this.Va)/(d*p/q));this.Pc.scale.y!=f&&(this.Pc.scale.y=f,this.Pc.scale.x=f*p/q)}p=b.Z0(this.Va);this.Pc.material.map.encoding!=p&&(this.Pc.material.map.encoding=p,this.Pc.material.needsUpdate=
!0)}};a.prototype.dispose=function(){this.Pc&&(this.Pc.parent&&b.sEa(this.Pc.parent,this.Pc),this.Pc.material.map.dispose(),this.Pc.material.dispose(),this.Pc=null);this.ya&&g.wj(this.ya,h.BB)};var c=Math.PI/180;return a});
define("bJ","require pf fK ki oH bG".split(" "),function(a){function e(g,c){this.m=g;this.Ug=c;this.Uu=void 0;this.Bi=this.Rm=this.aa=this.Va=null;this.update()}var l=a("pf"),m=a("fK"),k=a("ki"),b=a("oH"),h=a("bG");e.prototype.frame=function(g){this.aa&&this.jE(g);this.Rm&&this.Rm.update();this.Bi&&this.Bi.update()};e.prototype.update=function(){var g=this.m.getComponent(m.Scene);this.Va=g.scene;if(!this.Va){if(!g.scene)return;this.Va=g.scene}g=g.afa||null;this.Uu===g||this.aa||(this.DM(this.Bi),
this.Bi=null,(this.Uu=g)?this.Bi=this.KMa(this.Uu):(this.tM(),this.Ug.trigger(l.Z)))};e.prototype.jE=function(g){this.aa.Cb(g);this.Rm&&this.Rm.vj(Math.min(1,Math.max(0,this.aa.fb("alpha"))));this.Bi&&this.Bi.vj(Math.min(1,Math.max(0,this.aa.fb("nextAlpha"))));this.aa.Ye()&&(this.aa=null,this.Rm&&(this.DM(this.Rm),this.Rm=null),this.Rm=this.Bi,this.Bi=null,this.update());this.m.U.Pa()};e.prototype.Jaa=function(){this.Bi.unbind(l.Z,this.Jaa,this,!0);this.Bi.unbind(l.xc,this.Kaa,this,!0);this.tM();
this.Ug.trigger(l.Z)};e.prototype.Kaa=function(){this.DM(this.Bi);this.Bi=null;this.tM();this.Ug.trigger(l.Z)};e.prototype.tM=function(){this.Bi&&this.Rm?this.aa=new b("linear",[new h("nextAlpha",0,2,void 0),new h("alpha",2,0,void 0)],600):this.Bi?this.aa=new b("linear",[new h("nextAlpha",0,1,void 0)],300):this.Rm&&(this.aa=new b("linear",[new h("alpha",1,0,void 0)],300));this.m.U.Pa()};e.prototype.KMa=function(g){g=new k(g,this.Va);this.jLa(g);g.vj(0);return g};e.prototype.DM=function(g){g&&(this.vYa(g),
g.dispose())};e.prototype.jLa=function(g){g.bind(l.Z,this.Jaa,this,!0);g.bind(l.xc,this.Kaa,this,!0)};e.prototype.vYa=function(g){g.unbind(l.Z,this.Jaa,this,!0);g.unbind(l.xc,this.Kaa,this,!0)};e.prototype.dispose=function(){this.Rm&&(this.DM(this.Rm),this.Rm=null);this.Bi&&(this.DM(this.Bi),this.Bi=null)};return e});
define("lN","require pf ik nW pB fK cp gY".split(" "),function(a){function e(d,f){this.m=d;this.kZ=this.KI=this.JI=this.ty=this.YB=this.Uu=this.yC=void 0;this.Eb=this.j=this.Va=null;this.Ug=f;this.Ce=new b(this.Ug);this.wd=[new c(m.BB),new c(m.BB)];this.wd.forEach(function(p){p.bind(l.Z,this.xd,this,!0);p.bind(l.xc,this.Wf,this,!0)}.bind(this));this.Sva([]);this.update()}var l=a("pf"),m=a("ik"),k=a("nW"),b=a("pB"),h=a("fK"),g=a("cp"),c=a("gY");e.prototype.frame=function(){if(this.Va){var d=e.p2a(this.m.U,
this.Va);this.j!=d&&(this.j&&(this.lv(),this.wV()),this.j=d)&&(this.ia(),this.Wda())}};e.prototype.update=function(){var d=this.m.getComponent(h.Scene),f=!1,p=!1,q=d.Sza||null;this.yC!==q&&(this.yC=q,p=!0);q=d.afa||null;this.Uu!==q&&(this.Uu=q,p=!0);q=d.Pya||null;this.YB!==q&&(this.YB=q,p=!0);p&&(this.Uxa(),this.Wda(),f=!0);this.ty!==d.backgroundColor&&(this.ty=d.backgroundColor,f=!0);this.Va!==d.scene&&(this.Va=d.scene,f=!0);f&&this.ia()};e.prototype.Uxa=function(){this.Sva(this.EQa())};e.prototype.EQa=
function(){var d=[];this.yC&&-1==d.indexOf(this.yC)&&d.push(this.yC);!this.Uu&&this.YB&&-1==d.indexOf(this.YB)&&d.push(this.YB);if(this.Va&&this.Va.background&&this.Va.background.image&&this.Va.background.image.src){var f=this.Va.background.image.src;-1==d.indexOf(f)&&d.push(f)}return d};e.prototype.Sva=function(d){var f=[],p=[];this.wd.forEach(function(q){var n=q.Pi();0>d.indexOf(n)?(q.cancel(),f.push(q)):p.push(n)});d.forEach(function(q){0>p.indexOf(q)&&f.shift().load(q)})};e.prototype.Wda=function(){var d=
0;this.Ce.kza();this.wd.forEach(function(f){f.Pi()&&!f.ki()&&(this.Ce.wJ(f),d++)}.bind(this));0==d&&this.Ug&&this.Ug.trigger(l.Z)};e.prototype.dispose=function(){this.wd.forEach(function(d){d.cancel();d.unbind(l.Z,this.xd,this,!0);d.unbind(l.xc,this.Wf,this,!0)}.bind(this));this.m&&(this.wV(),this.lv(),this.m=null)};e.prototype.xd=function(){this.ia();this.Wda()};e.prototype.ia=function(){if(this.Va&&this.j){if(this.yC){var d=this.Fpa(this.yC);d&&this.LKa(d)}else this.wV();this.Uu?this.lv():this.YB?
(d=this.Fpa(this.YB))&&this.sma(d):this.ty?this.sma(void 0,this.ty):this.lv();this.Uxa();this.m.U.Pa()}};e.prototype.Fpa=function(d){for(var f=0;f<this.wd.length;f++)if(this.wd[f].ki()&&this.wd[f].Pi()==d)return this.wd[f];return null};e.prototype.sma=function(d,f){if(this.Va){if(d){var p=d&&d.Pi()||void 0;if(p==this.KI)return;this.lv();g.S2(this.Va,this.Yp(d,!1));this.KI=p;this.JI=void 0}f&&f!=this.JI&&(this.lv(),g.S2(this.Va,"transparent"==f?null:new THREE.Color(k.YA(f))),this.JI=f,this.KI=void 0)}};
e.prototype.lv=function(){this.Va&&(this.JI||this.KI)&&(this.KI&&(this.Va.background.dispose(),g.S2(this.Va,null),this.KI=void 0),this.JI&&(g.S2(this.Va,null),this.JI=void 0))};e.prototype.LKa=function(d){if(this.Va){var f=d&&d.Pi()||void 0;f!=this.kZ&&(this.wV(),this.Va.environment=this.Yp(d,!0),this.kZ=f)}};e.prototype.wV=function(){this.Va&&this.kZ&&(this.Va.environment.dispose(),this.Va.environment=null,this.kZ=void 0)};e.prototype.Yp=function(d,f){return 6>Math.round(d.He()/d.Xe())?this.ZMa(d,
f):this.UMa(d,f)};e.prototype.ZMa=function(d,f){var p=new THREE.Texture;p.image=d.wf();p.encoding=g.Z0(this.Va);p.mapping=THREE.EquirectangularReflectionMapping;p.needsUpdate=!0;return f?(d=new THREE.PMREMGenerator(this.j),p=d.fromEquirectangular(p).texture,d.dispose(),p):p};e.prototype.UMa=function(d,f){for(var p=Array(6),q=d.He()/6,n=d.Xe(),r=0;6>r;r++){var t=document.createElement("canvas");t.width=q;t.height=n;t.getContext("2d").drawImage(d.wf(),r*q,0,q,n,0,0,q,n);p[r]=t}d=new THREE.CubeTexture;
d.images=[p[1],p[3],p[4],p[5],p[0],p[2]];d.encoding=g.Z0(this.Va);d.needsUpdate=!0;return f?(f=new THREE.PMREMGenerator(this.j),p=f.fromCubemap(d).texture,f.dispose(),p):d};e.prototype.Wf=function(){this.m.getComponent(h.Scene).scene.environment=null;this.m.U.Pa()};e.Nua=new Map;e.Hia=function(d,f){e.Nua.set(d,f||[])};e.p2a=function(d,f){d=e.Nua.get(d)||[];for(var p=0;p<d.length;p++){var q=d[p].getComponent(h.ti);if(q&&0<q.OS.filter(function(n){return n.getComponent(h.Scene).scene==f}).length)return q.renderer}return null};
return e});
define("jL","require exports nW oA fK cp three.mod".split(" "),function(a,e,l,m,k,b,h){a=function(){function c(d){this.opacity=this.QJ=void 0;this.N=d}c.prototype.frame=function(){var d=this.N.getComponent(k.Scene),f=d.scene,p=f&&b.vA(f),q=d.QJ;d=d.oR;!m.isPresenting&&p&&q&&0<d?(this.D0a(),this.n9a(f,p),this.m9a(q,d)):(this.opacity=this.QJ=void 0,this.nza())};c.prototype.update=function(){};c.prototype.n9a=function(d,f){this.Fh.parent!=f&&f.add(this.Fh);var p=b.IR(d);d=b.RE(d);f.isPerspectiveCamera?(this.Fh.position.z=
1.01*-f.near,f=d/(2*Math.tan(f.fov*g/2)),f=Math.max(d/f,p/(f*p/d)),this.Fh.scale.y=f,this.Fh.scale.x=f*p/d):f.isOrthographicCamera&&(this.Fh.position.z=-(f.near+1),this.Fh.scale.y=f.top-f.bottom,this.Fh.scale.x=f.right-f.left)};c.prototype.m9a=function(d,f){this.QJ!==d&&this.opacity!==f&&(this.Fh.material.color=new h.Color(l.YA(d)),this.Fh.material.opacity=f,this.Fh.material.needsUpdate=!0)};c.prototype.D0a=function(){if(!this.Fh){var d=new h.SpriteMaterial;d.depthTest=!1;d.renderOrder=1E3;d.sizeAttenuation=
!1;d.transparent=!0;d.visible=!0;d.opacity=0;d.needsUpdate=!0;this.Fh=new h.Sprite(d);this.Fh.renderOrder=1E3}};c.prototype.nza=function(){var d,f,p;if(this.Fh){var q=this.Fh.material;null===(d=q.map)||void 0===d?void 0:d.dispose();null===(f=q.envMap)||void 0===f?void 0:f.dispose();q.dispose();this.Fh.geometry.dispose();null===(p=this.Fh.parent)||void 0===p?void 0:p.remove(this.Fh)}};c.prototype.dispose=function(){this.nza()};return c}();var g=Math.PI/180;return a});
define("ge",["require","exports","nW","fK","three.mod"],function(a,e,l,m,k){return function(){function b(h){this.N=h}b.prototype.update=function(){var h=this.N.getComponent(m.Scene),g=h.scene,c=h.gAa;h=new k.Color(l.YA(h.fAa||"#ffffff"));0<c?null==g.fog?g.fog=new k.FogExp2(h,c):(g.fog.color=h,g.fog.density=c):g.fog=null};b.prototype.dispose=function(){var h=this.N.getComponent(m.Scene);h&&h.scene&&(h.scene.fog=null)};return b}()});
define("hT","require fK pB bJ lN jL ge".split(" "),function(a){function e(c){this.m=c;this.Ug=null;var d=this.m.I(l.Scene),f=this.m.I(l.Vn);this.m.J(l.Object3D).sa=f.scene=d.scene=new THREE.Scene;this.Ce=new m;this.LM=new b(c,this.Ce.Bt());this.me=new k(c,this.Ce.Bt());this.OV=new g(c);this.Hoa=new h(c)}var l=a("fK"),m=a("pB"),k=a("bJ"),b=a("lN"),h=a("jL"),g=a("ge");e.prototype.frame=function(c){this.LM.frame(c);this.me.frame(c)};e.prototype.Rfa=function(c){this.Hoa.frame(c)};e.prototype.update=function(){this.LM.update();
this.me.update();this.OV.update();this.Hoa.update();this.fZa()};e.prototype.fZa=function(){var c=this.m.getComponent(l.Scene);this.Ug!=c.Nfa&&(this.Ug=c.Nfa,this.Ce.q6a(this.Ug))};e.prototype.dispose=function(){this.Ce&&(this.Ce.dispose(),this.Ce=null);this.me&&(this.me.dispose(),this.me=null);this.LM&&(this.LM.dispose(),this.LM=null);this.OV&&(this.OV.dispose(),this.OV=null);this.m&&(this.m=null)};e.$a=function(c){c.J(l.Vn).manager=new e(c)};e.Ba=function(c){var d=c.getComponent(l.Vn);d.manager.dispose();
d.manager=null;c.la(l.Vn);c.la(l.Object3D)};e.frame=function(c,d){c.getComponent(l.Vn).manager.frame(d)};e.Rfa=function(c,d){(c=c.getComponent(l.Vn))&&c.manager&&c&&c.manager.Rfa(d)};e.update=function(c){c.getComponent(l.Vn).manager.update()};e.Hia=function(c,d){b.Hia(c,d)};return e});
define("fc",["require","lE","lO","fK","hT"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("hT");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(b){this.JEa.A.length&&this.JEa.A.slice().forEach(k.$a);this.scenes.Ha.length&&this.scenes.Ha.slice().forEach(k.update);this.scenes.A.length&&this.scenes.A.slice().forEach(function(h){k.frame(h,b)});k.Hia(this.U,this.Am.A.slice());this.KEa.A.length&&this.KEa.A.slice().forEach(k.Ba)};a.H={};a.H.JEa=[m.Scene,m.Vn.not];a.H.scenes=
[m.Scene,m.Vn];a.H.KEa=[m.Scene.not,m.Vn];a.H.Am=[m.ti,m.fs];a.UT=e.extend(l,function(){l.apply(this,arguments)});a.UT.prototype.Bd=function(b){this.scenes.A.length&&this.scenes.A.slice().forEach(function(h){k.Rfa(h,b)})};a.UT.H={};a.UT.H.scenes=[m.Scene,m.Vn];return a});
define("eH",["require","v"],function(a){function e(g){this.ci=g;"CANVAS"==g.tagName?(this.R=g,this.Fc=1):(this.R=document.createElement("canvas"),this.Fc=k.td()==k.ri?.5:1,this.R.width=Math.round(g.width*this.Fc),this.R.height=Math.round(g.height*this.Fc));this.za=this.R.getContext("2d");this.za.globalCompositeOperation="copy";this.R!=g&&this.za.drawImage(g,0,0,g.width,g.height,0,0,this.R.width,this.R.height)}function l(g,c,d){0>g?g=d==THREE.RepeatWrapping?c+g%c:d==THREE.MirroredRepeatWrapping?0==
Math.floor(Math.abs(g/c))%2?Math.abs(g%c):c-1+g%c:0:g>=c&&(g=d==THREE.RepeatWrapping?g%c:d==THREE.MirroredRepeatWrapping?1==Math.floor(g/c)%2?c-1-g%c:g%c:c-1);return g}function m(g,c,d){try{if(g instanceof CanvasRenderingContext2D)return g.getImageData(c,d,1,1).data;if(g.tagName&&"CANVAS"==g.tagName)return g.DRa?[0,0,0,0]:g.getContext("2d").getImageData(c,d,1,1).data;b.drawImage(g,c,d,1,1,0,0,1,1);return b.getImageData(0,0,1,1).data}catch(f){return[0,0,0,0]}}var k=a("v");e.prototype.transparent=function(g,
c){return e.transparent(this.za,Math.round(g*this.Fc),Math.round(c*this.Fc))};e.prototype.Cx=function(g,c){return e.Cx(this.za,Math.round(g*this.Fc),Math.round(c*this.Fc))};e.prototype.info=function(g,c){return e.info(this.za,Math.round(g*this.Fc),Math.round(c*this.Fc))};e.prototype.dispose=function(){this.R!=this.ci&&(this.R.width=this.R.height=0);this.ci=this.R=this.za=null};e.N8a=function(g,c,d){if(!g.image||!g.image.width||!g.image.height)return!0;c=l(Math.round(c*g.image.width),g.image.width,
g.wrapS);d=l(Math.round((1-d)*g.image.height),g.image.height,g.wrapT);return!e.transparent(g.image,c,d)};e.transparent=function(g,c,d){return!e.Cx(g,c,d)};e.Cx=function(g,c,d){return!g.tagName||g.tagName&&"VIDEO"==g.tagName?!0:0<m(g,c,d)[3]};e.info=function(g,c,d){g=m(g,c,d);c=g[3];return{Cx:0<c,opacity:c,color:"#"+h[g[0]]+h[g[1]]+h[g[2]]}};a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d");b.globalCompositeOperation="copy";var h=function(){for(var g=Array(256),c=0;16>
c;c++)g[c]="0"+c.toString(16);for(;256>c;c++)g[c]=c.toString(16);return g}();return e});
define("oI","require pf eH fK cp he bd".split(" "),function(a){function e(A){this.Wg=A;this.LI=this.tv=this.ne=this.Zm=null;this.cO=void 0;this.Av=!1;this.update()}function l(A,D,C,J){this.N=A;this.sa=D;this.point=C;this.normal=J}function m(A){return{x:A.x,y:A.y,z:A.z}}function k(A,D,C,J){var H=D.U,P=A.get(H);P||A.set(H,P=[]);A=P.indexOf(D);C&&0>A?P.push(D):!C&&0<=A&&P.splice(A,1);J.delete(H)}var b=a("pf"),h=a("eH"),g=a("fK"),c=a("cp"),d=a("he"),f=a("bd");e.prototype.update=function(){var A=this.Wg.getComponent(g.nd);
A.NDa=this;this.AP(A&&A.enabled?A.v0:null);this.zP(A&&A.enabled?A.n0:null)};e.prototype.frame=function(){this.lMa();var A=this.Wg.getComponent(g.nd);A&&A.qza?this.tta():this.qw(n)};e.prototype.AP=function(A){if(this.Zm!=A){if(this.Zm)for(var D in u)this.Zm.unbind(D,this.fe,this);if(this.Zm=A)for(D in u)this.Zm.bind(D,this.fe,this,!0)}};e.prototype.fe=function(A){var D=this.Wg.getComponent(g.nd);D&&D.enabled&&(D=u[A.name])&&D.call(this,A)};e.prototype.zP=function(A){this.ne!=A&&(this.ne&&this.Av&&
this.ne.pop(f.ye),(this.ne=A)&&this.Av&&this.ne.push(f.ye))};e.prototype.Hf=function(A){this.Mo(A);this.HH&&-1==v.indexOf(this.Wg.U)?this.qw(n):this.qw(q)};e.prototype.Wv=function(A){this.Mo(A);(A=this.L8())&&this.m_(b.qa,A)};e.prototype.dI=function(A){this.Mo(A);(A=this.L8())&&this.m_(b.ql,A)};e.prototype.Ul=function(A){this.HH=!0;this.Mo(A);if(A=this.L8())this.o8=A.N,this.q8=A.N.getComponent(g.ud).P,this.m_(b.kb,A)};e.prototype.wq=function(A){this.HH=!1;this.Mo(A);if(this.o8)var D=(D=this.o8.getComponent(g.ud))&&
D.P;!D&&this.q8&&(D=this.q8);this.q8=this.o8=null;D&&(A=this.bpa(),D.trigger(b.Hb,A),D=this.Wg.getComponent(g.nd),D.P&&D.P.trigger(b.Hb,A))};e.prototype.Mo=function(A){this.dd=A.x;this.ed=A.y;this.TH=A.pageX;this.UH=A.pageY};e.prototype.qw=function(A){var D=(new Date).getTime()+A;this.cO&&D>=this.cO||(this.cO=D,clearTimeout(this.LI),this.LI=setTimeout(function(){this.LI=null;this.cO=void 0;this.tta()}.bind(this),A))};e.prototype.tta=function(){var A=this.qQa();this.wva(A&&A.N);A&&this.m_(b.kc,A)};
e.prototype.s2=function(A,D,C){var J=this.dd,H=this.ed,P=this.TH,W=this.UH;this.UH=this.TH=this.ed=this.dd=void 0;A=this.X8(A,[]);D=this.P8(A,D,C);var U;D&&(U=this.Rpa(D));this.dd=J;this.ed=H;this.TH=P;this.UH=W;return U};e.prototype.qQa=function(){var A=this.Wg.getComponent(g.nd);if(!A)return null;var D=this.pQa();return this.P8(D,A.origin,A.direction)||null};e.prototype.L8=function(){var A=this.Wg.getComponent(g.nd);if(!A)return null;var D=this.pPa();return this.P8(D,A.origin,A.direction)||null};
e.prototype.wva=function(A){if(this.tv!=A){if(null!=this.tv!=(null!=A)){var D=this.Wg.getComponent(g.nd);D&&D.P&&D.P.trigger(A?b.ad:b.Xb)}this.tv&&this.Ywa(this.tv,b.Xb);(this.tv=A)&&this.Ywa(this.tv,b.ad);A=this.tv&&this.tv.getComponent(g.ud);A=!!A&&A.hL;this.Av!=A&&(this.Av=A,this.ne&&(this.Av?this.ne.push(f.ye):this.ne.pop(f.ye)))}};e.prototype.P8=function(A,D,C){var J=Array.from(A.keys());D=this.pRa(J,D,C);for(C=0;C<D.length;C++){J=D[C];var H=J.point,P=J.object,W=J.face&&J.face.normal,U=A.get(P),
S=U&&U.getComponent(g.ud);if(S){var X=Array.isArray(P.material)&&J.face?P.material[J.face.materialIndex]:P.material;if(!X||X.visible)if(S.rT||!X||!X.map||h.N8a(X.map,J.uv.x,J.uv.y))return P.isSkinnedMesh&&(P=this.DOa(P.skeleton.bones,H)),new l(U,P,H,W)}}return null};e.prototype.pPa=function(){var A=this.Wg.U,D=E.get(A);if(!D){D=w.get(A);var C=y.get(A);D=this.X8(D,C);E.set(A,D)}return D};e.prototype.pQa=function(){var A=this.Wg.U,D=B.get(A);if(!D){D=x.get(A);var C=z.get(A);D=this.X8(D,C);B.set(A,D)}return D};
e.prototype.X8=function(A,D){var C=(D&&D.map(function(P){return c.wc(P)}).filter(function(P){return!!P})||[]).slice(),J=new Map;A&&A.forEach(function(P){var W=c.wc(P);W&&-1==C.indexOf(W)&&(C.push(W),J.set(P,W))});var H=new Map;J.forEach(function(P,W){for(var U=[P];U.length;){var S=U.shift();if(S==P||-1==C.indexOf(S))H.set(S,W),S.children&&(U=U.concat(S.children))}});return H};e.prototype.pRa=function(A,D,C){t.camera=this.ipa();var J=c.wc(this.Wg);J=J&&J.matrixWorld;J||(J=(J=this.Wg.getComponent(g.nd))&&
J.matrixWorld);J?(t.ray.origin.copy(D).applyMatrix4(J),t.ray.direction.copy(D).add(C).applyMatrix4(J).sub(t.ray.origin).normalize()):(t.ray.origin.copy(D),t.ray.direction.copy(C).normalize());return d.intersect(t,A)};e.prototype.m_=function(A,D){var C=this.Rpa(D);D=D.N.getComponent(g.ud);C.SR=D&&D.P.SR(A)||!1;D.P&&D.P.trigger(A,C);D=this.Wg.getComponent(g.nd);D.P&&D.P.trigger(A,C)};e.prototype.bpa=function(){var A={};void 0!==this.dd&&void 0!==this.ed&&(A.x=this.dd,A.y=this.ed);void 0!==this.TH&&
void 0!==this.UH&&(A.pageX=this.TH,A.pageY=this.UH);return A};e.prototype.Rpa=function(A){var D=this.bpa(),C=A.sa,J=A.point;A=A.normal;D.position=m(J);var H=this.ipa();D.cameraPosition=m(H?r.setFromMatrixPosition(H.matrixWorld):r.set(0,0,0));H=C;for(var P=D;;){P.object=H.userData.id;P.name=H.name;P.type=H.isMesh?"mesh":H.isBone?"bone":"other";P.localPosition=m(H.worldToLocal(r.copy(J)));r.setFromMatrixScale(H.matrixWorld);P.localScale=Math.max(r.x,r.y,r.z);P.objectMatrixWorld=C.matrixWorld.toArray();
A&&(P.normal=m(p(C,A,H,r)));if(!H.parent||!H.parent.userData.id)break;H=H.parent;P=P.parent={}}return D};var p=function(){var A=new THREE.Vector3,D=new THREE.Matrix4;return function(C,J,H,P){P.copy(J);if(C==H)return P;P.applyMatrix4(C.matrixWorld);P.sub(A.setFromMatrixPosition(C.matrixWorld));P.add(A.setFromMatrixPosition(H.matrixWorld));P.applyMatrix4(D.copy(H.matrixWorld).invert()).normalize();return P}}();e.prototype.ipa=function(){if(this.QV.camera)return this.QV.camera;var A=this.Wg.getComponent(g.nd);
A=A&&A.hb;this.QV.camera=A&&c.lr(A);return this.QV.camera};e.prototype.lMa=function(){this.QV={}};e.prototype.Ywa=function(A,D){(A=(A=A.getComponent(g.ud))&&A.P)&&A.trigger(D)};e.prototype.DOa=function(A,D){var C=null,J=Infinity;for(A=A.slice();A.length;){var H=A.shift(),P=D.distanceTo(H.getWorldPosition(r));P<J&&(C=H,J=P);A.unshift.apply(A,H.children)}return C};e.prototype.dispose=function(){this.LI&&(clearTimeout(this.LI),this.LI=null,this.cO=void 0);this.AP(null);this.zP(null);this.wva(null)};
var q=16,n=400,r=new THREE.Vector3(0,1,0),t=new THREE.Raycaster;a=new THREE.Box3;a.min.x=a.min.y=a.min.z=-Infinity;a.max.x=a.max.y=a.max.z=Infinity;a=new THREE.Sphere;a.center.x=a.center.y=a.center.z=0;a.radius=Infinity;var u={};u[b.kc]=e.prototype.Hf;u[b.qa]=e.prototype.Wv;u[b.ql]=e.prototype.dI;u[b.kb]=e.prototype.Ul;u[b.Hb]=e.prototype.wq;e.Sia=function(A){A.J(g.zu).manager=new e(A)};e.dja=function(A){var D=A.getComponent(g.zu);D.manager.dispose();D.manager=null;A.la(g.zu)};e.frame=function(A){A.getComponent(g.zu).manager.frame()};
e.Gx=function(A){A.getComponent(g.zu).manager.update()};e.Q7a=function(A){A.J(g.HB);e.kHa(A)};e.kHa=function(A){var D=c.wc(A),C=A.getComponent(g.ud);k(w,A,D&&C.Pw,E);k(x,A,D&&C.sx,B)};e.yGa=function(A){k(w,A,!1,E);k(x,A,!1,B);A.la(g.HB)};e.P7a=function(A){A.J(g.DB);e.gHa(A)};e.gHa=function(A){var D=c.wc(A),C=A.getComponent(g.Hp);k(y,A,D&&C.lja,E);k(z,A,D&&C.mja,B)};e.xGa=function(A){k(z,A,!1,B);k(y,A,!1,E);A.la(g.DB)};var v=[];e.n7a=function(A){v=[];A.forEach(function(D){0>v.indexOf(D.U)&&v.push(D.U)})};
var w=new Map,x=new Map,y=new Map,z=new Map,E=new Map,B=new Map;return e});
define("nN",["require","lE","lO","fK","oI"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("oI");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.wS.A.length&&this.wS.A.slice().forEach(k.Sia);this.fl.Ha.length&&this.fl.Ha.slice().forEach(k.Gx);this.fl.A.length&&this.fl.A.slice().forEach(k.frame);this.xS.A.length&&this.xS.A.slice().forEach(k.dja);this.REa.A.length&&this.REa.A.slice().forEach(k.Q7a);this.QEa.A.length&&this.QEa.Ha.slice().forEach(k.kHa);this.SEa.A.length&&
this.SEa.A.slice().forEach(k.yGa);this.TEa.A.length&&this.TEa.A.slice().forEach(k.yGa);this.GCa.A.length&&this.GCa.A.slice().forEach(k.P7a);this.FCa.A.length&&this.FCa.Ha.slice().forEach(k.gHa);this.HCa.A.length&&this.HCa.A.slice().forEach(k.xGa);this.ICa.A.length&&this.ICa.A.slice().forEach(k.xGa);(this.Jha.Pd.length||this.Jha.wg.length)&&k.n7a(this.Jha.A)};a.H={};a.H.Jha=[m.lk];a.H.wS=[m.nd,m.zu.not];a.H.fl=[m.nd,m.zu];a.H.xS=[m.nd.not,m.zu];a.H.REa=[m.Object3D,m.ud,m.HB.not];a.H.QEa=[m.Object3D,
m.ud,m.HB];a.H.SEa=[m.Object3D.not,m.HB];a.H.TEa=[m.ud.not,m.HB];a.H.GCa=[m.Object3D,m.Hp,m.DB.not];a.H.FCa=[m.Object3D,m.Hp,m.DB];a.H.HCa=[m.Object3D.not,m.DB];a.H.ICa=[m.Hp.not,m.DB];return a});
define("jH",["require","nW","fK"],function(a){function e(k){this.m=k;this.va=null;this.update()}var l=a("nW"),m=a("fK");e.prototype.update=function(){this.va||(this.va=new THREE.MeshBasicMaterial,this.va.transparent=!0,this.m.J(m.Material).material=this.va);var k=this.m.getComponent(m.Hc);this.va.color=new THREE.Color(l.YA(k.color||"#ffffff"));this.va.opacity=k.opacity||0;this.va.depthTest=!!k.depthTest;this.va.side=k.doubleSided?THREE.DoubleSide:THREE.FrontSide;this.va.visible=0<this.va.opacity;
this.va.needsUpdate=!0};e.prototype.dispose=function(){this.va&&(this.va.dispose(),this.va=null,this.m.la(m.Material));this.m=null};e.$a=function(k){k.J(m.Cu).manager=new e(k)};e.Ba=function(k){var b=k.getComponent(m.Cu);b.manager.dispose();b.manager=null;k.la(m.Cu)};e.update=function(k){k.getComponent(m.Cu).manager.update()};return e});
define("iG",["require","lE","lO","fK","jH"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("jH");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.vm.A.length&&this.vm.A.slice().forEach(k.$a);this.materials.Ha.length&&this.materials.Ha.slice().forEach(k.update);this.wm.A.length&&this.wm.A.slice().forEach(k.Ba)};a.H={};a.H.vm=[m.Hc,m.Cu.not];a.H.materials=[m.Hc,m.Cu];a.H.wm=[m.Hc.not,m.Cu];return a});
define("lq",["require","lE","lO","fK","ob"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ob");a=e.extend(l,function(){l.apply(this,arguments);this.we=this.we.bind(this);this.Ne=this.Ne.bind(this);this.Zc=this.Zc.bind(this)});a.prototype.Bd=function(){this.eGa.A.length&&this.eGa.A.slice().forEach(this.we);this.dGa.Ha.length&&this.dGa.Ha.slice().forEach(this.Ne);this.fGa.A.length&&this.fGa.A.slice().forEach(this.Zc);this.gGa.A.length&&this.gGa.A.slice().forEach(this.Zc)};a.prototype.we=function(b){b.J(m.Object3D).sa=
new THREE.Mesh(new THREE.SphereGeometry);b.J(m.IB);this.Ne(b)};a.prototype.Ne=function(b){var h=b.getComponent(m.Object3D).sa;k.jA(h,b.getComponent(m.Material).material);b=b.getComponent(m.Sphere);var g=h.geometry;if(g.radius!=b.radius||g.widthSegments!=b.widthSegments||g.heightSegments!=b.heightSegments)g.dispose(),g=new THREE.SphereGeometry(b.radius,b.widthSegments,b.heightSegments),h.geometry=g,h.needsUpdate=!0;b=b.renderOrder||0;h.renderOrder!=b&&(h.renderOrder=b,h.needsUpdate=!0)};a.prototype.Zc=
function(b){var h=b.getComponent(m.Object3D);(h=h&&h.sa)&&h.geometry&&(h.geometry.dispose(),h.geometry=null);h&&k.jA(h,null);b.la(m.IB);b.la(m.Object3D)};a.H={};a.H.eGa=[m.Sphere,m.Material,m.IB.not];a.H.dGa=[m.Sphere,m.Material,m.IB];a.H.fGa=[m.Sphere.not,m.IB];a.H.gGa=[m.Material.not,m.IB];return a});
define("mj",["require","oA","fK","cp","ob"],function(a){function e(g){this.m=g;this.Va=null;this.H6=90;this.I6=100;this.na=this.wa=void 0;this.DZ=!1;this.Fc=1;this.Pc=this.m.I(l.Sprite).Fh=this.m.I(l.Object3D,!0).sa=new THREE.Sprite;this.Pc.material.opacity=0;this.Vj();this.update();this.frame()}a("oA");var l=a("fK"),m=a("cp"),k=a("ob");e.prototype.update=function(){var g=this.m.getComponent(l.Sprite);this.wa=g.height;this.na=g.width;this.DZ=g.sizeAttenuation;this.Pc.center.x=g.xJ;this.Pc.center.y=
1-g.yJ;this.Fc=g.scale;this.lm();this.Pc.needsUpdate=!0};e.prototype.frame=function(){this.Va||(this.Va=m.Ch(this.m));this.Xq();this.Vj();this.lm()};e.prototype.Xq=function(){if(this.Va){var g=m.vA(this.Va);if(g&&g.isPerspectiveCamera){var c=m.RE(this.Va);if(this.H6!=g.fov||this.I6!=c)this.H6=g.fov,this.I6=c,this.lm(),this.Pc.needsUpdate=!0}}};e.prototype.Vj=function(){var g=this.Va?this.m.getComponent(l.Material).material:null;g&&k.jA(this.Pc,g);this.Pc.renderOrder=this.m.getComponent(l.Sprite).renderOrder;
this.Pc.material&&this.Pc.material.sizeAttenuation!=this.DZ&&(this.Pc.material.sizeAttenuation=this.DZ,this.Pc.material.needsUpdate=!0)};e.prototype.lm=function(){var g=this.wa;this.DZ||(g/=this.I6/(2*Math.tan(this.H6*h/2)));var c=this.Fc;this.Pc.parent&&(this.Pc.parent.getWorldScale(b),c/=Math.max(b.x,b.y,b.z));g*=c;c=g*this.na/this.wa;var d=this.m.getComponent(l.Aa)||this.m.J(l.Aa);if(d.Mf!=c||d.$f!=g||1!=d.Eh)d=this.m.I(l.Aa,!0),d.Mf=c,d.$f=g,d.Eh=1};var b=new THREE.Vector3,h=Math.PI/180;e.prototype.dispose=
function(){};e.$a=function(g){g.J(l.hs).manager=new e(g)};e.Ba=function(g){var c=g.getComponent(l.hs);c.manager.dispose();c.manager=null;g.la(l.hs);g.la(l.Object3D)};e.update=function(g){g.getComponent(l.hs).manager.update()};e.frame=function(g){g.getComponent(l.hs).manager.frame()};return e});
define("eG",["require","lE","lO","fK","mj"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("mj");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.iGa.A.length&&this.iGa.A.slice().forEach(k.$a);this.b3.Ha.length&&this.b3.A.slice().forEach(k.update);this.b3.A.length&&this.b3.A.slice().forEach(k.frame);this.jGa.A.length&&this.jGa.A.slice().forEach(k.Ba);this.kGa.A.length&&this.kGa.A.slice().forEach(k.Ba)};a.H={};a.H.iGa=[m.Material,m.Sprite,m.hs.not];a.H.b3=[m.Sprite,
m.Material,m.hs];a.H.jGa=[m.Sprite.not,m.hs];a.H.kGa=[m.Material.not,m.hs];return a});
define("ht","require lE pf cC lO fK cp".split(" "),function(a){function e(f,p,q){for(;f<p-180;)f+=360;for(;f>p+180;)f-=360;return l(f,p,q)}function l(f,p,q){if(!q)return p;f=(p-f)*(1-q);1E-5>Math.abs(f)&&(f=0);return p-f}var m=a("lE"),k=a("pf"),b=a("cC"),h=a("lO"),g=a("fK"),c=a("cp");a=m.extend(h,function(){h.apply(this,arguments);this.we=this.we.bind(this);this.Ne=this.Ne.bind(this);this.Zc=this.Zc.bind(this)});a.prototype.Bd=function(f,p){this.nS.A.length&&this.nS.A.slice().forEach(this.we);this.vr.Pd.length&&
this.vr.Pd.slice().forEach(function(q){this.Ne(q,f,p)}.bind(this));this.vr.Ha.length&&this.vr.Ha.slice().forEach(function(q){this.Ne(q,f,p)}.bind(this));this.RCa.A.length&&this.RCa.A.slice().forEach(function(q){this.Ne(q,f,p)}.bind(this));this.Qza.A.length&&this.Qza.A.slice().forEach(this.Zc);this.Rza.A.length&&this.Rza.A.slice().forEach(this.Zc)};a.prototype.we=function(f){var p=f.getComponent(g.Aa),q=f.J(g.Rf);q.positionX=p.positionX;q.positionY=p.positionY;q.positionZ=p.positionZ;q.Le=p.Le;q.re=
p.re;q.Me=p.Me;q.Zf=p.Zf;q.scale=p.scale;q.Mf=p.Mf;q.$f=p.$f;q.Eh=p.Eh;q.translationX=p.translationX;q.translationY=p.translationY;q.$e=p.$e;this.updateMatrixWorld(f)};a.prototype.Ne=function(f){var p=f.getComponent(g.Aa),q=f.getComponent(g.Rf),n=p.easing||0;n?f.getComponent(g.KB)||f.J(g.KB):f.la(g.KB);var r=null;p.Mw!==q.Mw&&(r||(r=f.I(g.Rf)),r.Mw=p.Mw);p.positionX!==q.positionX&&(r||(r=f.I(g.Rf)),r.positionX=l(r.positionX,p.positionX,n));p.positionY!==q.positionY&&(r||(r=f.I(g.Rf)),r.positionY=
l(r.positionY,p.positionY,n));p.positionZ!==q.positionZ&&(r||(r=f.I(g.Rf)),r.positionZ=l(r.positionZ,p.positionZ,n));p.Le!==q.Le&&(r||(r=f.I(g.Rf)),r.Le=e(r.Le,p.Le,n));p.re!==q.re&&(r||(r=f.I(g.Rf)),r.re=e(r.re,p.re,n));p.Me!==q.Me&&(r||(r=f.I(g.Rf)),r.Me=e(r.Me,p.Me,n));p.scale!==q.scale&&(r||(r=f.I(g.Rf)),r.scale=p.scale);p.Mf!==q.Mf&&(r||(r=f.I(g.Rf)),r.Mf=p.Mf);p.$f!==q.$f&&(r||(r=f.I(g.Rf)),r.$f=p.$f);p.Eh!==q.Eh&&(r||(r=f.I(g.Rf)),r.Eh=p.Eh);p.translationX!==q.translationX&&(r||(r=f.I(g.Rf)),
r.translationX=l(r.translationX,p.translationX,n));p.translationY!==q.translationY&&(r||(r=f.I(g.Rf)),r.translationY=l(r.translationY,p.translationY,n));p.$e!==q.$e&&(r||(r=f.I(g.Rf)),r.$e=l(r.$e,p.$e,n));r?this.updateMatrixWorld(f):f.la(g.KB)};var d=new THREE.Vector3;a.prototype.updateMatrixWorld=function(f){c.aT(f,f.getComponent(g.Rf));var p=f.getComponent(g.Aa).P;p&&(c.getWorldPosition(f,d),f={position:{}},f.position.x=d.x,f.position.y=d.y,f.position.z=d.z,p.trigger(new b(k.wu,f)))};a.prototype.Zc=
function(f){f.la(g.Rf);f.la(g.KB)};a.H={};a.H.vr=[g.Object3D,g.Aa,g.Rf];a.H.nS=[g.Object3D,g.Aa,g.Rf.not];a.H.RCa=[g.Object3D,g.Aa,g.Rf,g.KB];a.H.Qza=[g.Object3D.not,g.Aa,g.Rf];a.H.Rza=[g.Aa.not,g.Rf];return a});
define("gC",["require","pf","lg","cC","oB"],function(a){function e(h,g,c,d){this.da=h;this.o=g;this.fe=c;this.Da=d;this.uc=h.ob();this.Ef=this.o.get("currentTime");this.C=this.o.get("state");this.xk=this.o.get("loop");this.FY=this.uc.get("mute");this.vX=this.o.get("mute");this.C=this.o.get("autoplay")?m.Y:m.Ib;this.S5();this.o.set("state",this.C);this.da.Nf(this.FY||this.vX);this.da.setLoop(this.xk);this.da.setCurrentTime(this.Ef);this.da.Lc(this.C)}var l=a("pf"),m=a("lg"),k=a("cC"),b=a("oB");e.prototype.dispose=
function(){this.Tba()};e.prototype.mta=function(){var h=this.o.get("currentTime",0);this.Ef!=h&&this.da.setCurrentTime(this.Ef=h)};e.prototype.qta=function(){var h=this.o.get("state",m.W);this.C!=h&&this.da.Lc(this.C=h)};e.prototype.ota=function(){var h=this.o.get("mute",!1);this.vX!=h&&this.da.Nf(this.FY||(this.vX=h))};e.prototype.nta=function(){var h=this.o.get("loop",!1);this.xk!=h&&this.da.setLoop(this.xk=h)};e.prototype.FO=function(){var h=this.uc.get("mute",!1);this.FY!=h&&this.da.Nf((this.FY=
h)||this.vX)};e.prototype.MO=function(){this.o.set("currentTime",this.Ef=this.da.getCurrentTime())};e.prototype.KO=function(){this.o.set("duration",this.da.ji())};e.prototype.LO=function(){this.o.set("state",this.C=this.da.getState());this.Da()};e.prototype.NO=function(){this.fe.trigger(new k(l.Bb))};e.prototype.S5=function(){this.uc.bind(l.D("mute"),this.FO,this,!0);this.da.bind(b.Of,this.MO,this,!0);this.da.bind(b.Ti,this.KO,this,!0);this.da.bind(l.se,this.LO,this,!0);this.da.bind(l.Bb,this.NO,
this,!0);this.o.bind(l.D("currentTime"),this.mta,this,!0);this.o.bind(l.D("state"),this.qta,this,!0);this.o.bind(l.D("mute"),this.ota,this,!0);this.o.bind(l.D("loop"),this.nta,this,!0)};e.prototype.Tba=function(){this.uc.unbind(l.D("mute"),this.FO,this,!0);this.da.unbind(b.Of,this.MO,this,!0);this.da.unbind(b.Ti,this.KO,this,!0);this.da.unbind(l.se,this.LO,this,!0);this.da.unbind(l.Bb,this.NO,this,!0);this.o.unbind(l.D("currentTime"),this.mta,this,!0);this.o.unbind(l.D("state"),this.qta,this,!0);
this.o.unbind(l.D("mute"),this.ota,this,!0);this.o.unbind(l.D("loop"),this.nta,this,!0)};return e});
define("w","require pf lg ik cu lB eP gp v".split(" "),function(a){function e(f,p,q,n){this.HV=d.browser()==d.Sr?THREE.LinearEncoding:"srgb"==p.get("encoding","srgb")?THREE.sRGBEncoding:THREE.LinearEncoding;this.Yp();this.da=f;this.o=p;this.ab=q;this.Da=n;this.xI=this.ab.get("posterURL");this.fya=this.ab.get("url");this.na=this.ab.get("width");this.wa=this.ab.get("height");this.Uf=null;this.cE=this.dE=void 0;this.Sqa();this.ab.bind(l.D("posterURL"),this.kta,this,!0);this.Da();this.za=this.R=null}
var l=a("pf"),m=a("lg"),k=a("ik"),b=a("cu"),h=a("lB"),g=a("eP"),c=a("gp"),d=a("v");e.prototype.update=function(){var f=this.da.N0();f.isEmpty()&&(f=null);if(f&&(!this.Uf||this.Uf&&!this.Uf.isEqual(f))){this.Uf=f;f=this.Uf.xs;var p=c.rK(f);p&&(f.width=f.videoWidth||this.na,f.height=f.videoHeight||this.wa);!this.R&&this.fya&&c.pHa(this.fya)&&(this.R=document.createElement("canvas"),this.R.width=this.na,this.R.height=this.wa,this.za=this.R.getContext("2d"));this.R&&p&&(this.za.drawImage(f,0,0,this.R.width,
this.R.height),f=this.R);this.Rva(f)}else!this.Uf&&this.fw&&this.Fa.image!=this.fw&&this.Rva(this.fw);(this.Fa.needsUpdate||this.da.getState()==m.Y)&&this.Da()};e.prototype.kta=function(){this.uWa(this.ab.get("posterURL"))};e.prototype.uWa=function(f){this.xI!=f&&(this.fxa(),this.xI=f,this.Sqa())};e.prototype.Sqa=function(){this.xI&&(this.fw=null,this.wI=new b,this.wI.VK([this.xI]),this.wI.bind(l.Z,this.jta,this,!0),h.Ln(this.wI,this.o.get("loadPriority",k.ol)))};e.prototype.fxa=function(){this.xI&&
(this.wI.unbind(l.Z,this.jta,this,!0),h.wj(this.wI,this.o.get("loadPriority",k.ol)),this.fw=this.wI=null)};e.prototype.jta=function(){this.fw=h.wf(this.xI);if(this.fw.width!=this.na||this.fw.height!=this.wa){var f=document.createElement("canvas"),p=f.getContext("2d");f.width=this.na;f.height=this.wa;p.drawImage(this.fw,0,0,this.na,this.wa);this.fw=f}this.Da()};e.prototype.Rva=function(f){this.Fa&&this.dE==f.width&&this.cE==f.height?this.Fa.image=f:this.Yp(f);this.Fa.needsUpdate=!0};e.prototype.Yp=
function(f){this.xV();this.Fa=new THREE.Texture;this.Fa.image=f||g.rAa();this.dE=this.Fa.image.width;this.cE=this.Fa.image.height;this.Fa.generateMipmaps=!1;this.Fa.minFilter=THREE.LinearFilter;this.Fa.magFilter=THREE.LinearFilter;this.Fa.format=THREE.RGBAFormat};e.prototype.xV=function(){this.Fa&&(this.cE=this.dE=void 0,this.Fa.dispose(),this.Fa=null)};e.prototype.dispose=function(){this.fxa();this.ab.unbind(l.D("posterURL"),this.kta,this,!0);this.za=this.ab=null;this.R&&(this.R=this.R.width=this.R.height=
0);this.xV();this.Da=this.ah=this.da=null};e.prototype.$0=function(){return this.Fa};return e});
define("dn","require exports kS pf ik cu lB three.mod".split(" "),function(a,e,l,m,k,b,h,g){var c=["alphaMap"];return function(){function d(f,p,q){this.U5a=function(n){this.W_!=n&&(this.VGa(),this.W_=n,this.R3a())};this.properties=f;this.level=p;this.Pa=q;this.Z1=this.Z1.bind(this);l.ha(this.level,c,this.Z1,!0)}d.prototype.dispose=function(){l.ba(this.level,c,this.Z1);this.VGa();this.W0a()};d.prototype.$0=function(){return this.texture};d.prototype.Z1=function(){this.U5a(this.level.get("alphaMapURL"))};
d.prototype.R3a=function(){this.W_&&(this.wE=new b,this.wE.VK([this.W_]),this.wE.bind(m.Z,this.SCa,this,!0),h.Ln(this.wE,this.properties.get("loadPriority",k.ol)))};d.prototype.VGa=function(){this.wE&&(this.wE.unbind(m.Z,this.SCa,this,!0),h.wj(this.wE,this.properties.get("loadPriority",k.ol)),this.Dya=this.wE=null)};d.prototype.SCa=function(){this.Dya=h.wf(this.W_);this.createTexture();this.Pa()};d.prototype.createTexture=function(){this.texture=new g.Texture;this.texture.image=this.Dya;this.texture.generateMipmaps=
!1;this.texture.minFilter=g.LinearFilter;this.texture.magFilter=g.LinearFilter;this.texture.format=g.RGBAFormat;this.texture.needsUpdate=!0};d.prototype.W0a=function(){this.texture&&(this.texture.dispose(),this.texture=null)};return d}()});
define("kX",["require","v","gp"],function(a){a("v");var e=a("gp");return{PHa:function(){this.blending=0;this.tK=void 0;this.ZFa=this.threshold=0},zJa:function(){this.mK=!1;this.height=this.width=100},create:function(l,m,k){var b=l.mK&&e.uBa(),h=l.mK&&e.tBa(),g=void 0,c=!b,d={uniforms:{},transparent:!0};d.uniforms.text1={type:"sampler2D",value:null};d.uniforms.textAlpha={type:"sampler2D",value:null};d.uniforms.validTextAlpha={type:"bool",value:!1};d.uniforms.opacity={type:"float",value:1};d.vertexShader=
["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(b?"1.0 - uv.y":"uv.y")+");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(h||m.blending||m.tK){b=[];var f=[];b=b.concat(["uniform sampler2D text1;","uniform sampler2D textAlpha;","uniform bool validTextAlpha;","uniform float opacity;","varying vec2 vUV;"]);f=f.concat(["   vec4 color = texture2D(text1, vUV);","   float alpha = color.a * opacity;","   if (validTextAlpha)","       alpha *= texture2D(textAlpha, vUV).r;"]);
m.blending&&(g=.5*Math.min(l.width,l.height)*m.blending,d.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(g/l.width,g/l.height)},b=b.concat(["uniform vec2 blendingLimit;"]),f=f.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(",")));
m.tK&&(d.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(m.tK.substr(1,2),16)/255,parseInt(m.tK.substr(3,2),16)/255,parseInt(m.tK.substr(5,2),16)/255)},d.uniforms.chromaThreshold={type:"f",value:m.threshold},d.uniforms.chromaSmoothing={type:"f",value:m.ZFa},b=b.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),f=f.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
f=f.concat(["\tgl_FragColor = vec4(color"+(h?".bgr":".rgb")+", alpha);"]);g=THREE.RGBAFormat;d.fragmentShader=[].concat(b,["void main() {"],f,[],["}"]).join("\n")}else d.fragmentShader="uniform sampler2D text1;\nuniform sampler2D textAlpha;\nuniform bool validTextAlpha;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\n   vec4 color = texture2D(text1, vUV);\n   float alpha = color.a * opacity;\n   if (validTextAlpha)\n       alpha *= 1.0 - texture2D(textAlpha, vUV).r;\n\tgl_FragColor = vec4(color.rgb, alpha);\n\n}";
l=new THREE.ShaderMaterial(d);l.transparent=!0;l.depthWrite=!0;l.side=THREE.FrontSide;l.depthTest=!0;l.needsUpdate=!0;l.userData.FGa=c;l.userData.GGa=g;this.xT(l,k);return l},xT:function(l,m){l.uniforms.text1.value!==m&&(void 0!==l.userData.FGa&&(m.flipY=l.userData.FGa),void 0!==l.userData.GGa&&(m.format=l.userData.GGa),l.uniforms.text1.value=m)},U8a:function(l,m){l.uniforms.textAlpha.value!==m&&(l.uniforms.textAlpha.value=m,l.uniforms.validTextAlpha.value=!!m)}}});
define("bg","require kS pf lg gC w dn kX gp fK kB oB".split(" "),function(a){function e(n){this.m=n;this.HX=this.HX.bind(this);n=n.getComponent(f.Xn);this.fe=n.P;this.o=n.properties;this.H_=n.wja;this.uc=this.m.U.uc;this.Da=this.Da.bind(this);this.fg=!1;this.ab=null;l.ha(this.H_,["levels.url","levels.srcObject","levels.width","levels.height"],this.HX,!0)}var l=a("kS"),m=a("pf"),k=a("lg"),b=a("gC"),h=a("w"),g=a("dn"),c=a("kX"),d=a("gp"),f=a("fK"),p=a("kB"),q=a("oB");e.prototype.update=function(){this.fg&&
(this.fg=!1,this.Po.update(),c.xT(this.va,this.Po.$0()),c.U8a(this.va,this.V5.$0()))};e.prototype.HX=function(){this.BP(q.Zj(this.H_))};e.prototype.BP=function(n){n=n&&(n.get("url")||n.get("srcObject"))?n:null;this.ab!=n&&(this.ab&&(this.eya.dispose(),this.eya=null,this.o.unbind(m.D("opacity"),this.pta,this,!0),this.O7(),this.Po.dispose(),this.Po=null,this.V5.dispose(),this.V5=null,this.VNa(),this.fg=!1),this.ab=n)&&(this.ENa(),this.eya=new b(this.da,this.o,this.fe,this.Da),this.Po=new h(this.da,
this.o,this.ab,this.Da),this.V5=new g(this.o,this.ab,this.Da),this.fv(),this.o.bind(m.D("opacity"),this.pta,this,!0),this.Eva(this.Rb=this.o.get("opacity",1)),this.fg=!1,this.Da())};e.prototype.Da=function(){this.fg||(this.fg=!0,this.m.U.Pa())};e.prototype.ENa=function(){this.da=new q(this.m.U.uc,this.H_);this.gm=new p(this.o,this.da)};e.prototype.VNa=function(){this.da.Lc(k.W);this.da.clear();this.da=null;this.gm.clear();this.gm=null};e.prototype.fv=function(){var n=new c.zJa;n.mK=!this.ab.get("srcObject")&&
d.mK(this.ab.get("url"));n.width=this.ab.get("width");n.height=this.ab.get("height");var r=new c.PHa;r.blending=this.o.get("blending",0);r.tK=this.o.get("chromaColor");r.threshold=this.o.get("chromaThreshold",0);r.ZFa=this.o.get("chromaSmoothing",0);this.va=c.create(n,r,this.Po.$0());this.m.J(f.Material).material=this.va};e.prototype.O7=function(){this.va.dispose();this.va=null;this.m.la(f.Material)};e.prototype.dispose=function(){this.BP(null);this.o.set("state",k.W);this.m=this.fe=this.o=this.uc=
null;l.ba(this.H_,["levels.url","levels.srcObject","levels.width","levels.height"],this.HX)};e.prototype.pta=function(){var n=this.o.get("opacity");this.Rb!=n&&(this.Eva(this.Rb=n),this.Da())};e.prototype.Eva=function(n){this.va.opacity=n;this.va.isShaderMaterial&&this.va.uniforms.opacity&&(this.va.uniforms.opacity.value=n)};e.$a=function(n){n.J(f.ly).manager=new e(n)};e.Ba=function(n){var r=n.getComponent(f.ly);r.manager.dispose();r.manager=null;n.la(f.ly)};e.update=function(n){n.getComponent(f.ly).manager.update()};
return e});define("eC",["require","lE","lO","fK","bg"],function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("bg");a=e.extend(l,function(){l.apply(this,arguments)});a.prototype.Bd=function(){this.vm.A.length&&this.vm.A.slice().forEach(k.$a);this.wm.A.length&&this.wm.A.slice().forEach(k.Ba);this.materials.A.length&&this.materials.A.slice().forEach(k.update)};a.H={};a.H.vm=[m.Xn,m.ly.not];a.H.materials=[m.Xn,m.ly];a.H.wm=[m.Xn.not,m.ly];return a});
define("oW",["require","lE","lO","cp","fK"],function(a){var e=a("lE"),l=a("lO"),m=a("cp"),k=a("fK");a=e.extend(l,function(){l.apply(this,arguments);this.Cca=this.Cca.bind(this);this.kJ=this.kJ.bind(this)});a.prototype.Bd=function(){this.xja.Pd.length&&this.xja.Pd.slice().forEach(this.Cca);this.lF.Ha.length&&this.lF.Ha.slice().forEach(this.kJ);this.Dr.Ha.length&&this.Dr.Ha.slice().forEach(this.kJ);this.lF.Pd.length&&this.lF.Pd.slice().forEach(this.kJ);this.Dr.Pd.length&&this.Dr.Pd.slice().forEach(this.kJ)};
a.prototype.Cca=function(b){var h=b.getComponent(k.Lm),g=m.yR(h.hb),c=g&&g.width||100;g=g&&g.height||100;if(h.width!=c||h.height!=g)h=b.I(k.Lm),h.width=c,h.height=g};a.prototype.kJ=function(b){var h=m.yR(b);this.xja.A.forEach(function(g){if(g.getComponent(k.Lm).hb==b){var c=g.getComponent(k.Lm);if(c.width!=h.width||c.height!=h.height)c=g.I(k.Lm),c.width=h.width,c.height=h.height}})};a.H={};a.H.xja=[k.Lm];a.H.lF=[k.OrthographicCamera];a.H.Dr=[k.PerspectiveCamera];return a});
define("ef",["require"],function(){return{create:function(){var a=new THREE.BufferGeometry;a.setAttribute("position",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("normal",new THREE.BufferAttribute(new Float32Array(18),3));a.setAttribute("uv",new THREE.BufferAttribute(new Float32Array(12),2));a.setIndex(new THREE.BufferAttribute(new Uint32Array(6),1));return a},set:function(a,e,l,m,k,b,h,g,c,d,f,p,q,n,r){var t=a.getAttribute("position").array,u=a.getAttribute("normal").array,v=
a.getAttribute("uv").array,w=a.getIndex().array;t[9]=t[0]=e;t[10]=t[1]=l;t[11]=t[2]=m;v[6]=v[0]=k;v[7]=v[1]=b;t[3]=t[0]+f;t[4]=t[1]+p;t[5]=t[2]+q;v[2]=v[0];v[3]=v[1]+n;t[12]=t[6]=t[3]+h;t[13]=t[7]=t[4]+g;t[14]=t[8]=t[5]+c;v[8]=v[4]=v[2]+d;v[9]=v[5]=v[3];t[15]=t[12]-f;t[16]=t[13]-p;t[17]=t[14]-q;v[10]=v[8];v[11]=v[9]-n;e=g*q-c*p;c=c*f-h*q;h=h*p-g*f;g=1/Math.sqrt(e*e+c*c+h*h);u[0]=u[3]=u[6]=u[9]=u[12]=u[15]=e*g;u[1]=u[4]=u[7]=u[10]=u[13]=u[16]=c*g;u[2]=u[5]=u[8]=u[11]=u[14]=u[17]=h*g;w[0]=0;w[1]=2;
w[2]=1;w[3]=3;w[4]=5;w[5]=4;a.getAttribute("position").needsUpdate=!0;a.getAttribute("normal").needsUpdate=!0;a.getAttribute("uv").needsUpdate=!0;a.clearGroups();a.addGroup(0,6,r);a.computeBoundingBox();a.computeBoundingSphere();return a}}});
define("oJ",["require","pf","lH"],function(a){function e(k,b,h){this.jq=k;this.o=b;this.o9=h;this.iZ=this.iZ.bind(this);this.CG=void 0;this.o.forEach(function(g){this.jq.bind(l.D(g),this.iO,this,!0)}.bind(this));this.iZ()}var l=a("pf"),m=a("lH");e.prototype.stop=function(){this.o.forEach(function(k){this.jq.unbind(l.D(k),this.iO,this,!0)}.bind(this));this.CG&&(m.cancel(this.CG),this.CG=void 0)};e.prototype.iO=function(){this.CG||(this.CG=m.OA(this.iZ))};e.prototype.iZ=function(){this.CG=void 0;var k=
this.jq;this.o9.apply(window,this.o.map(function(b){return k.get(b)}))};return e});
define("fD","require lE lO fK ef oJ cp nk mu".split(" "),function(a){var e=a("lE"),l=a("lO"),m=a("fK"),k=a("ef"),b=a("oJ"),h=a("cp"),g=a("nk"),c=a("mu"),d=e.extend(l,function(){l.apply(this,arguments);this.Bca=this.Bca.bind(this);this.aea=this.aea.bind(this);this.eda=this.eda.bind(this)});d.prototype.Bd=function(){this.uS.A.length&&this.uS.A.slice().forEach(this.Bca);this.planes.Ha.length&&this.planes.Ha.slice().forEach(this.aea);this.SDa.A.length&&this.SDa.A.slice().forEach(this.eda)};d.prototype.Bca=
function(f){var p=f.getComponent(m.my),q=f.J(m.Lm);q.hb=p.hb;var n=h.yR(p.hb);n&&(q.width=n.width,q.height=n.height);q=f.J(m.Gu);q.geometry=k.create();q.oEa=new b(p.properties,"width height horizontalAlign verticalAlign scaleMode zIndex".split(" "),function(r,t,u,v,w,x){var y=f.I(m.Gu);y.bGa=r;y.$Fa=t;y.vBa=u;y.verticalAlign=v;y.IEa=w;y.zIndex=x});f.J(m.Geometry).geometry=q.geometry};d.prototype.eda=function(f){var p=f.getComponent(m.Gu);p.geometry.dispose();p.geometry=null;p.oEa.stop();p.oEa=null;
f.la(m.Geometry);f.la(m.Lm);f.la(m.Gu)};d.prototype.aea=function(f){var p=f.getComponent(m.Gu),q=f.getComponent(m.Lm),n=q.width,r=q.height,t=p.bGa,u=p.$Fa;switch(p.IEa){case c.NONE:q=t;var v=u;break;case c.Cp:q=n;v=u*n/t;break;case c.kk:v=r;q=t*r/u;break;case c.Ur:t*r>u*n?(v=r,q=t*r/u):(q=n,v=u*n/t);break;default:t*r>u*n?(q=n,v=u*n/t):(v=r,q=t*r/u)}switch(p.vBa){case g.Ya:n=.5*-n;break;case g.qb:n=.5*n-q;break;default:n=.5*-q}switch(p.verticalAlign){case g.yc:r=.5*r-v;break;case g.rc:r=.5*-r;break;
default:r=.5*-v}t=p.zIndex-d.DIa;k.set(p.geometry,n,r,0,0,0,q,0,0,1,0,v,0,1,0);f.I(m.Aa,!0).positionZ=t;f.U.Pa()};d.DIa=100;d.H={};d.H.uS=[m.my,m.Gu.not];d.H.planes=[m.my,m.Gu,m.Lm];d.H.SDa=[m.my.not,m.Gu];return d});
define("iT","require nr o nl ij hn iB ln hZ lJ mR jf cP oO fZ eZ hN f lm ho hj na dl iK mv lK fc nN iG lq eG ht eC oW fD".split(" "),function(a){var e=a("nr"),l=a("o"),m=a("nl"),k=a("ij"),b=a("hn"),h=a("iB"),g=a("ln"),c=a("hZ"),d=a("lJ"),f=a("mR"),p=a("jf"),q=a("cP"),n=a("oO"),r=a("fZ"),t=a("eZ"),u=a("hN"),v=a("f"),w=a("lm"),x=a("ho"),y=a("hj"),z=a("na"),E=a("dl"),B=a("iK"),A=a("mv"),D=a("lK"),C=a("fc"),J=a("nN"),H=a("iG"),P=a("lq"),W=a("eG"),U=a("ht"),S=a("eC"),X=a("oW");a=a("fD");var F={};F.Animation=
e;F.Gm=l;F.Px=m;F.Camera=k;F.OHa=b;F.oi=h;F.Tx=g;F.nu=c;F.Group=d;F.Km=f;F.ih=p;F.Light=q;F.Line=n;F.Xr=r;F.si=t;F.su=u;F.Mesh=v;F.jh=w;F.QIa=x;F.nb=z;F.Plane=y;F.Aj=E;F.lk=B;F.es=A;F.ti=D;F.Scene=C;F.Selection=J;F.Hc=H;F.Sphere=P;F.Sprite=W;F.Aa=U;F.Xn=S;F.Lm=X;F.my=a;return F});
define("oi",["require","v"],function(a){var e=a("v");return{IGa:function(l,m){m||(m="screenshot.jpg");a:{try{var k=l.toDataURL("image/jpeg");break a}catch(c){}k=void 0}if(!k)return!1;var b=k;l=document.createElement("a");if("string"===typeof l.download)document.body.appendChild(l),l.download=m,l.href=b,l.click(),document.body.removeChild(l);else if(e.browser()==e.Mx){l=window.navigator;k=l.msSaveOrOpenBlob;b=atob(b.split(",")[1]);for(var h=[],g=0;g<b.length;g++)h.push(b.charCodeAt(g));b=new Blob([new Uint8Array(h)],
{type:"image/jpeg"});k.call(l,b,m)}else window.location.replace(b);return!0}}});
define("gw","require lE pf e cf kv lw fK iT oi".split(" "),function(a){function e(n){return n.map(function(r){return String.fromCharCode(r)}).join("")}var l=a("lE"),m=a("pf"),k=a("e"),b=a("cf"),h=a("kv"),g=a("lw"),c=a("fK"),d=a("iT"),f=a("oi");a=l.extend(k,function(n,r,t){k.call(this);this.uc=n;this.L=r;this.d_a=t;this.Kw=(new g(n)).pa(c.RF).pa(c.Animation).pa(c.cu).pa(c.gB).pa(c.Gm).pa(c.Lx).pa(c.hB).pa(c.Px).pa(c.Qx).pa(c.Sn).pa(c.gu).pa(c.oi).pa(c.Rx).pa(c.XF).pa(c.hu).pa(c.tp).pa(c.Sx).pa(c.Tx).pa(c.Wx).pa(c.Vr).pa(c.zB).pa(c.ou).pa(c.nu).pa(c.Wr).pa(c.Geometry).pa(c.Group).pa(c.bG).pa(c.Km).pa(c.$x).pa(c.Light).pa(c.qu).pa(c.Line).pa(c.ih).pa(c.by).pa(c.Xr).pa(c.gy).pa(c.ey).pa(c.Material).pa(c.si).pa(c.hy).pa(c.su).pa(c.Gp).pa(c.Mesh).pa(c.$r).pa(c.jh).pa(c.tu).pa(c.hG).pa(c.MIa).pa(c.Hp).pa(c.DB).pa(c.Object3D).pa(c.iG).pa(c.uu).pa(c.EB).pa(c.vu).pa(c.OrthographicCamera).pa(c.bs).pa(c.PerspectiveCamera).pa(c.zj).pa(c.nb).pa(c.cs).pa(c.Aj).pa(c.GB).pa(c.Plane).pa(c.xu).pa(c.nd).pa(c.yu).pa(c.lk).pa(c.ds).pa(c.zu).pa(c.es).pa(c.Au).pa(c.Hc).pa(c.Cu).pa(c.Aa).pa(c.KB).pa(c.Rf).pa(c.ti).pa(c.fs).pa(c.Scene).pa(c.Vn).pa(c.ud).pa(c.HB).pa(c.Sphere).pa(c.IB).pa(c.Sprite).pa(c.hs).pa(c.Hc).pa(c.Cu).pa(c.Eu).pa(c.ks).pa(c.Xn).pa(c.ly).pa(c.Lm).pa(c.my).pa(c.Gu).pa(c.oG).pa(c.mk).pa(c.qG).pa(c.Mp).pa(c.rG).pa(c.Np).pa(c.sG).pa(c.Op).Id(d.Camera,"Camera").Id(d.Lm,
"Viewport").Id(d.Km,"ImageMaterial").Id(d.oi,"CanvasMaterial").Id(d.ih,"LineMaterial").Id(d.Hc,"SolidMaterial").Id(d.Xn,"VideoMaterial").Id(d.su,"MaterialVariant").Id(d.my,"ViewportPlaneGeometry").Id(d.Group,"Group").Id(d.Line,"Line").Id(d.Mesh,"Mesh").Id(d.Plane,"Plane").Id(d.Sphere,"Sphere").Id(d.Sprite,"Sprite").Id(d.jh,"Model").Id(d.es,"ProjectedMaterial").Id(d.Light,"Light").Id(d.Scene,"Scene").Id(d.nb,"Parent").Id(d.QIa,"ObjectId").Id(d.Animation,"Animation").Id(d.si,"ObjectTransform").Id(d.nu,
"FloorTransform").Id(d.OHa,"CameraControls").Id(d.Tx,"Dragging").Id(d.Selection,"Selection").Id(d.lk,"PointerOverTransform").Id(d.Aj,"PixelScaleTransform").Id(d.Aa,"Transform").Id(d.Gm,"Area").Id(d.Xr,"LineToTransform").Id(d.Camera.SF,"CameraAutoNearFar").Id(d.Scene.UT,"SceneFade").Id(d.Px,"Beacon").Id(d.ti,"Renderer");this.j=this.Kw.gd("Renderer");this.QD=[];this.Gca=!1;this.QM=new h;this.Pb().append(this.QM.Yc());this.bind(m.bd,this.ij,this,!0);this.bind(m.Tc,this.hj,this,!0)});a.prototype.gd=function(n){return this.Kw.gd(n)};
a.prototype.We=function(n){this.Kw.We(n)};a.prototype.Pa=function(){this.Kw.Pa()};a.prototype.zya=function(n){!(0<=this.QD.indexOf(n))&&(this.QD.push(n),n=this.j.I(c.ti))&&(n.OS=this.QD.slice())};a.prototype.A5a=function(n){n=this.QD.indexOf(n);!(0>n)&&(this.QD.splice(n,1),n=this.j.I(c.ti))&&(n.OS=this.QD.slice())};a.prototype.K2=function(n){this.Kw.K2(n)};a.prototype.mb=function(n){this.Kw.mb(n)};a.prototype.tF=function(){this.QM.trigger();this.Kw.update();return f.IGa(this.j.getComponent(c.ti).renderer.domElement)};
a.prototype.mfa=function(){this.Kw.update();return this.j.getComponent(c.ti).renderer.domElement.toDataURL("image/png")};a.prototype.ij=function(){this.RWa()};a.prototype.hj=function(){this.LXa()};a.prototype.RWa=function(){var n=this.j.getComponent(c.ti);if(!n&&(n=this.j.J(c.ti),n.Wb=this.L,n.OS=this.QD.slice(),this.uc.get(p)&&this.d_a)){this.KQ=document.createElement("div");for(var r in q)this.KQ.style[r]=q[r];this.Pb().Xea(this.KQ)}};a.prototype.LXa=function(){this.j.getComponent(c.ti)&&(this.KQ&&
this.Pb().p5a(this.KQ),this.KQ=null,this.j.la(c.ti))};var p=e([119,97,116,101,114,109,97,114,107]),q={};q[e([104,101,105,103,104,116])]=e([49,48,48,37]);q[e([119,105,100,116,104])]=e([49,48,48,37]);q[e([112,111,115,105,116,105,111,110])]=e([97,98,115,111,108,117,116,101]);q[e([116,111,112])]=0;q[e([108,101,102,116])]=0;q[e([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=e([117,114,108,40,34])+b.AJa+e([34,41]);q[e([98,97,99,107,103,114,111,117,110,100,80,111,115,105,116,105,111,110])]=e([99,
101,110,116,101,114]);q[e([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=e([99,111,110,116,97,105,110]);q[e([112,111,105,110,116,101,114,69,118,101,110,116,115])]=e([110,111,110,101]);q[e([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=e([110,111,45,114,101,112,101,97,116]);q[e([111,112,97,99,105,116,121])]=.5;return a});
define("eS","require exports kS pf nU fK oA".split(" "),function(a,e,l,m,k,b,h){var g=["autoNearFar","autoNearFarTolerance","near","far","userInteracting"],c=["inTransition"],d={OrbitModel3DCamera:b.EB,FirstPersonModel3DCamera:b.Wx,FlyOverModel3DCamera:b.zB},f={FirstPersonModel3DCamera:b.sG,OrbitModel3DCamera:b.qG,FlyOverModel3DCamera:b.rG};return function(){function p(q,n,r){this.renderer=q;this.model=n;this.hb=r;this.Wb=this.renderer.L;this.camera=null;this.e2=this.e2.bind(this);this.X1=this.X1.bind(this);
this.renderer.bind(m.oc,this.hF,this,!0);this.model.bind(m.D("camera"),this.uha,this,!0);this.Wb.bind(m.D("isKeyboardTarget"),this.vha,this,!0);h.P.bind(m.ca,this.Je,this,!0);this.uha();this.Je();this.vha();this.hF()}p.prototype.$t=function(q){for(var n in d){var r=this.hb.I(d[n]);r&&(r.locked=q)}for(n in f)if(r=this.hb.I(f[n]))r.locked=q};p.prototype.mb=function(q){for(var n in d){var r=this.hb.I(d[n]);r&&(r.enabled=q)}};p.prototype.dispose=function(){this.setCamera(null);this.model.unbind(m.D("camera"),
this.uha,this);this.Wb.unbind(m.D("isKeyboardTarget"),this.vha,this);this.renderer.unbind(m.oc,this.hF,this);h.P.unbind(m.ca,this.Je,this)};p.prototype.Je=function(){this.hb.I(b.PerspectiveCamera,!0).sm=h.dh==this.Wb.bc.wA()};p.prototype.uha=function(){this.setCamera(this.model.get("camera"))};p.prototype.setCamera=function(q){if(this.camera!==q){this.camera&&(this.WA(!1),l.ba(this.camera,g,this.e2),l.ba(this.camera,c,this.X1),this.camera.set("inTransition",!1));if(this.camera=q)l.ha(this.camera,
g,this.e2,!0),l.ha(this.camera,c,this.X1,!0),this.H_a(),this.hb.I(b.XF,!0).properties=this.camera;this.ZGa()}};p.prototype.ZGa=function(){var q,n,r,t=!!this.camera&&this.camera.get("inTransition");t?r=this.hb.I(b.Eu,!0):this.hb.la(b.Eu);for(var u in d){var v=d[u];!t&&this.camera&&k.Ia(u,this.camera)?q=this.hb.I(v,!0):this.hb.la(v);(v=f[u])&&(!t&&this.camera&&k.Ia(u,this.camera)?n=this.hb.I(v,!0):this.hb.la(v))}q&&(q.properties=this.camera,q.tg=this.renderer.getParent(),q.LEa=this.Wb.yN,q.zA=this.Wb.get("isKeyboardTarget"));
r&&(r.properties=this.camera,r.ag=this.model.get("worldUnitToMeters"));n&&(n.properties=this.camera,n.ag=this.model.get("worldUnitToMeters"),n.ek=this.Wb.get("vrThumbstickRotationStep"))};p.prototype.vha=function(){var q=this.G1a();q&&(q.zA=this.Wb.get("isKeyboardTarget"))};p.prototype.G1a=function(){if(!this.camera)return null;var q=null,n;for(n in d){var r=d[n];this.camera&&k.Ia(n,this.camera)&&(q=this.hb.I(r,!0))}return q};p.prototype.e2=function(){if(this.camera){var q=this.hb.I(b.PerspectiveCamera,
!0);q.Nya=this.camera.get("autoNearFar");q.Oya=this.camera.get("autoNearFarTolerance");q.near=this.camera.get("near");q.far=this.camera.get("far");this.WA(this.camera.get("userInteracting"))}};p.prototype.X1=function(){this.ZGa()};p.prototype.hF=function(){var q=this.hb.I(b.PerspectiveCamera,!0);q.width=this.renderer.uf();q.height=this.renderer.tf()};p.prototype.H_a=function(){var q=this.camera;q.set("fov",q.get("initialFov"));q.set("x",q.get("initialX"));q.set("y",q.get("initialY"));q.set("z",q.get("initialZ"));
q.set("distance",q.get("initialDistance",0));q.set("yaw",q.get("initialYaw"));q.set("pitch",q.get("initialPitch"))};p.prototype.WA=function(q){this.aB!=q&&(this.aB=q,this.camera&&this.camera.trigger(this.aB?m.ola:m.nla))};return p}()});define("iP",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("OrbitLight",e,function(){e.call(this)})});
define("of",["require","exports","kS"],function(a,e,l){return function(){function m(){this.oS=this.oS.bind(this);this.A2=this.object=null;this.elements=[];this.nR=new Map;this.bEa=this.wg=this.Pd=this.filter=null}m.prototype.GF=function(k,b){this.dispose();this.object=k;this.A2=b;l.ha(this.object,[this.A2],this.oS,!0)};m.prototype.oS=function(k){k=k||[];this.filter&&(k=k.filter(this.filter));var b=this.elements,h=this.elements=k;b.forEach(function(g,c){var d=h.indexOf(g);if(-1==d){var f=this.nR.get(g);
this.nR["delete"](g);this.wg&&this.wg(g,f)}else d!=c&&(f=this.nR.get(g),this.bEa&&(c=this.bEa(g,d,f,c),c!=f&&this.nR.set(g,c)))}.bind(this));h.forEach(function(g,c){-1==b.indexOf(g)&&this.Pd&&(c=this.Pd(g,c),this.nR.set(g,c))}.bind(this))};m.prototype.dispose=function(){this.object&&(l.ba(this.object,[this.A2],this.oS),this.oS([]),this.A2=this.object=null)};return m}()});
define("lu","require exports fK v iP of".split(" "),function(a,e,l,m,k,b){return function(){function h(g,c){this.Tw=null;this.model=g;this.ee=c;this.Vga=new Map;this.H1=new b;this.H1.Pd=this.YCa.bind(this);this.H1.wg=this.ZCa.bind(this);this.H1.GF(this.model,"lights");this.F_a()}h.prototype.dispose=function(){this.H1.dispose();this.x5a()};h.prototype.YCa=function(g){var c=this.ee.U.gd("Light"),d=c.J(l.Light);d.properties=g;d.target=this.ee;this.Vga.set(g,c)};h.prototype.ZCa=function(g){var c=this.Vga.get(g);
this.Vga["delete"](g);this.ee.U.We(c)};h.prototype.F_a=function(){var g,c,d,f;m.yf()&&this.model.get("backgroundPanoramaURL")&&(this.Tw=new k,null===(g=this.Tw)||void 0===g?void 0:g.set("intensity",.001),null===(c=this.Tw)||void 0===c?void 0:c.set("castShadow",!0),null===(d=this.Tw)||void 0===d?void 0:d.set("shadowMapWidth",64),null===(f=this.Tw)||void 0===f?void 0:f.set("shadowTolerance",4),this.YCa(this.Tw))};h.prototype.x5a=function(){this.Tw&&(this.ZCa(this.Tw),this.Tw=null)};return h}()});
define("fW",["require","exports","nU"],function(a,e,l){return function(){function m(){}m.nx=function(k,b){m.R_[k]=b};m.D2a=function(k){for(var b in m.R_)if(l.Ia(b,k))return!0;return!1};m.u0a=function(k,b,h,g,c){for(var d in m.R_)if(l.Ia(d,k))return new m.R_[d](k,b,h,g,c);return null};m.R_={};return m}()});
define("pC",["require","exports","of","fW"],function(a,e,l,m){return function(){function k(b,h,g,c,d){this.L5a=b;this.model=h;this.ee=g;this.fha=c;this.renderer=d;this.filter=this.filter.bind(this);this.Pd=this.Pd.bind(this);this.wg=this.wg.bind(this);this.dF=new l;this.dF.filter=this.filter;this.dF.Pd=this.Pd;this.dF.wg=this.wg;this.dF.GF(this.model,"objects")}k.prototype.filter=function(b){return m.D2a(b)?!0:!1};k.prototype.Pd=function(b){return m.u0a(b,this.L5a,this.ee,this.fha,this.renderer)};
k.prototype.wg=function(b,h){h.dispose()};k.prototype.dispose=function(){this.dF.dispose()};return k}()});
define("jp",["require","exports","pf","nU"],function(a,e,l,m){return function(){function k(b,h){this.UN=b.UN;this.ga=h;this.Pj=[];this.UN.bind(l.D("spritesEnabled"),this.Dta,this,!0);this.ga.bind(l.D("objects"),this.uD,this,!0);this.ia()}k.prototype.dispose=function(){this.UN.unbind(l.D("spritesEnabled"),this.Dta,this);this.ga.unbind(l.D("objects"),this.uD,this);this.Pj.forEach(function(b){b.xia(!1)});this.Pj=[]};k.prototype.Dta=function(){this.ia()};k.prototype.uD=function(){this.ia()};k.prototype.ia=
function(){var b=[];!1===this.UN.get("spritesEnabled")&&b.push("SpriteModel3DObject");var h=this.ga.get("objects");this.Pj.forEach(function(g){-1==h.indexOf(g)&&g.xia(!1)});this.Pj=h;this.Pj.forEach(function(g){var c=b.some(function(d){return m.Ia(d,g)});g.xia(c)})};return k}()});
define("bs",["require","exports","kS"],function(a,e,l){var m=["camera","objects","postprocessing"],k=["userInteracting","moving"];return function(){function b(h){this.model=h;this.camera=null;this.li=[];this.fF=this.fF.bind(this);this.U1=this.U1.bind(this);l.ha(this.model,m,this.fF,!0)}b.prototype.dispose=function(){this.SA([])};b.prototype.fF=function(){this.setCamera(this.model.get("camera"));this.SA([].concat(this.model.get("objects"),this.model.get("postprocessing")))};b.prototype.setCamera=function(h){this.camera!==
h&&(this.camera&&l.ba(this.camera,k,this.U1),(this.camera=h)&&l.ha(this.camera,k,this.U1,!0))};b.prototype.U1=function(){this.gL()};b.prototype.SA=function(h){this.li!=h&&(h||(h=[]),this.li&&this.li.forEach(function(g){-1==h.indexOf(g)&&(g.WA&&g.WA(!1),g.yx&&g.yx(!1))}.bind(this)),this.li=h,this.gL())};b.prototype.gL=function(){if(this.li&&this.camera){var h=this.camera.get("userInteracting"),g=this.camera.get("moving");this.li.forEach(function(c){c.WA&&c.WA(h);c.yx&&c.yx(g)}.bind(this))}};return b}()});
define("ds",["require","exports","kS","pf","oA"],function(a,e,l,m,k){var b=["objects"];return function(){function h(g){this.model=g;this.li=[];this.fF=this.fF.bind(this);k.P.bind(m.ca,this.gL,this,!0);l.ha(this.model,b,this.fF,!0)}h.prototype.dispose=function(){k.P.unbind(m.ca,this.gL,this);this.SA([])};h.prototype.fF=function(){this.SA([].concat(this.model.get("objects")))};h.prototype.SA=function(g){this.li!=g&&(g||(g=[]),this.li&&this.li.forEach(function(c){-1==g.indexOf(c)&&(c.L2&&c.L2(!0),c.vx&&
c.vx(!1))}.bind(this)),this.li=g,this.gL())};h.prototype.gL=function(){if(this.li){var g=!k.isPresenting,c=k.isPresenting;this.li.forEach(function(d){d.L2&&d.L2(g);d.vx&&d.vx(c)}.bind(this))}};return h}()});
define("nF","require exports kS fK pC jp bs ds".split(" "),function(a,e,l,m,k,b,h,g){var c=["variant"];return function(){function d(f,p,q,n){this.object=f;this.model=p;this.Eha=q;this.renderer=n;this.j2=this.j2.bind(this);this.N=this.Eha.U.gd("Model");f=this.N.J(m.jh);this.gR=f.gR=this.Eha.U.gd("ModelContent");this.gR.J(m.nb).N=this.N;f.P=this.object;this.object.get("preload")&&(f.eEa=this.model.W0().Bt());f.ep=this.model.T0().Bt();f.gha=this.object.get("model");f.properties=this.object;f.Wb=this.renderer.L;
f=this.N.J(m.ud);f.P=this.object;f.Pw=!0;f.sx=!0;this.N.J(m.nb).N=this.Eha;this.N.J(m.Aa);l.ha(this.object,c,this.j2,!0);this.dF=new k(this.model,this.object,this.N,this.gR,this.renderer);this.g8a=new b(this.renderer,this.object);this.r9a=new h(this.model);this.A9a=new g(this.model)}d.prototype.Ht=function(){return this.N};d.prototype.dispose=function(){l.ba(this.object,c,this.j2);this.N.U.We(this.gR);this.N.U.We(this.N);this.dF.dispose();this.g8a.dispose();this.r9a.dispose();this.A9a.dispose()};
d.prototype.j2=function(){var f=this.object.get("variant");f?this.N.I(m.su,!0).name=f:this.N.la(m.su)};return d}()});
define("eb","require exports kS pf ik fK three.mod".split(" "),function(a,e,l,m,k,b,h){var g=["collidable"],c=["image"],d=["color","depthTest","opacity","width"],f=["parentId"],p=["maxWorldToPixelScale","minWorldToPixelScale","scale"],q="x y z normalX normalY normalZ upX upY upZ width height attachToParent".split(" "),n=new h.Matrix4,r=new h.Vector3,t=new h.Vector3,u=new h.Vector3,v=new h.Euler,w=180/Math.PI,x="x y z positionX positionY positionZ rotationX rotationY rotationZ scale translationX translationY translationZ attachToParent".split(" "),
y=["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],z=["castShadow","receiveShadow"],E=["color","depthTest","hidden","opacity"],B=["video"],A=["hidden","enabled","opacity"];return{qL:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);l.ha(this.object,g,this.TCa||(this.TCa=this.f4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,g,this.TCa);C.prototype.ld.call(this)};
J.prototype.f4a=function(){this.object.get("collidable")?this.N.la(b.hG):this.N.J(b.hG)};return J}(D)},Km:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.ep=this.model.T0().Bt(.1);this.object.get("preload")&&this.model.W0().wJ(this.ep,.1);var H=this.N.J(b.Km);H.properties=this.object;H.P=this.object;H.isSprite=!1;H.priority=this.object.get("preload")?k.BB:k.lka;H.ep=this.ep;l.ha(this.object,
c,this.XCa||(this.XCa=this.p4a.bind(this)),!0)};J.prototype.ld=function(){this.model.T0().IK(this.ep);this.model.W0().IK(this.ep);l.ba(this.object,c,this.XCa);C.prototype.ld.call(this)};J.prototype.p4a=function(){this.N.I(b.Km).zga=this.object.get("image")};return J}(D)},ih:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.N.J(b.ih);l.ha(this.object,d,this.$Ca||(this.$Ca=this.q4a.bind(this)),!0)};
J.prototype.ld=function(){l.ba(this.object,d,this.$Ca);C.prototype.ld.call(this)};J.prototype.q4a=function(){var H=this.N.I(b.ih);H.color=this.object.get("color");H.opacity=this.object.get("opacity");H.depthTest=this.object.get("depthTest");H.width=this.object.get("width")};return J}(D)},Plane:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.N.J(b.Plane);this.N.J(b.Aa);l.ha(this.object,q,this.mDa||
(this.mDa=this.t4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,q,this.mDa);C.prototype.ld.call(this)};J.prototype.t4a=function(){r.set(0,0,0);u.set(this.object.get("upX",0),this.object.get("upY",1),this.object.get("upZ",0));t.set(this.object.get("normalX",0),this.object.get("normalY",0),this.object.get("normalZ",1)).multiplyScalar(-1);n.lookAt(r,t,u);v.setFromRotationMatrix(n);var H=this.N.I(b.Aa);H.Mw=this.object.get("attachToParent");H.translationX=this.object.get("x",0);H.translationY=
this.object.get("y",0);H.$e=this.object.get("z",0);H.Mf=this.object.get("width",1);H.$f=this.object.get("height",1);H.Le=v.x*w;H.re=v.y*w;H.Me=v.z*w;H.positionX=0;H.positionY=0;H.positionZ=0};return J}(D)},nb:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.N.J(b.nb).N=this.ee;l.ha(this.object,f,this.kDa||(this.kDa=this.r4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,f,this.kDa);
C.prototype.ld.call(this)};J.prototype.r4a=function(){this.N.I(b.nb).id=this.object.get("parentId")};return J}(D)},bJa:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);l.ha(this.object,p,this.lDa||(this.lDa=this.s4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,p,this.lDa);C.prototype.ld.call(this)};J.prototype.s4a=function(){var H=this.object.get("maxWorldToPixelScale"),P=this.object.get("minWorldToPixelScale");
if(void 0!==H||void 0!==P){var W=this.N.I(b.Aj,!0);W.AA=H;W.BA=P;W.Mf=W.$f=W.Eh=this.object.get("scale")}else null===(W=this.N)||void 0===W?void 0:W.la(b.Aj)};return J}(D)},Ska:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.N.J(b.Aa);l.ha(this.object,x,this.qDa||(this.qDa=this.u4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,x,this.qDa);C.prototype.ld.call(this)};J.prototype.u4a=
function(){var H=this.N.I(b.Aa);H.Mw=this.object.get("attachToParent");H.positionX=this.object.get("x",this.object.get("positionX",0));H.positionY=this.object.get("y",this.object.get("positionY",0));H.positionZ=this.object.get("z",this.object.get("positionZ",0));H.Zf=this.object.get("rotationOrder","XYZ");H.Le=this.object.get("rotationX",0);H.re=this.object.get("rotationY",0);H.Me=this.object.get("rotationZ",0);H.scale=this.object.get("scale",1);H.translationX=this.object.get("translationX",0);H.translationY=
this.object.get("translationY",0);H.$e=this.object.get("translationZ",0)};return J}(D)},ud:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);l.ha(this.object,y,this.sDa||(this.sDa=this.y4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,y,this.sDa);C.prototype.ld.call(this)};J.prototype.y4a=function(){var H=this.object.get("clickEnabled"),P=this.object.get("rollOverEnabled");if(!1!==H&&
!1!==P)this.N.la(b.Hp);else{var W=this.N.J(b.Hp);W.lja=!1===H;W.mja=!1===P}!1===H&&!1===P?this.N.la(b.ud):(W=this.N.I(b.ud,!0),W.hL=this.object.get("useHandCursor"),W.rT=this.object.get("transparentAreaActive"),W.P=this.object,W.Pw=!!H,W.sx=!!P)};return J}(D)},GL:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);l.ha(this.object,z,this.uDa||(this.uDa=this.E4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,
z,this.uDa);C.prototype.ld.call(this)};J.prototype.E4a=function(){var H=this.N.I(b.si,!0);H.castShadow=this.object.get("castShadow");H.receiveShadow=this.object.get("receiveShadow")};return J}(D)},Hc:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);this.N.J(b.Hc);this.visible=!1;l.ha(this.object,E,this.vDa||(this.vDa=this.F4a.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,E,this.vDa);
this.Bf(!1);C.prototype.ld.call(this)};J.prototype.F4a=function(){var H=this.N.I(b.Hc);H.color=this.object.get("color");H.opacity=this.object.get("hidden")?0:this.object.get("opacity");H.depthTest=this.object.get("depthTest");this.Bf(0<H.opacity)};J.prototype.Bf=function(H){this.visible!=H&&((this.visible=H)?this.object.trigger(m.bd):this.object.trigger(m.Tc))};return J}(D)},Xn:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);
var H=this.N.J(b.Xn);H.properties=this.object;H.P=this.object;l.ha(this.object,B,this.wDa||(this.wDa=this.kF.bind(this)),!0)};J.prototype.ld=function(){l.ba(this.object,B,this.wDa);C.prototype.ld.call(this)};J.prototype.kF=function(){this.N.I(b.Xn).wja=this.object.get("video")};return J}(D)},qla:function(D){return function(C){function J(){return null!==C&&C.apply(this,arguments)||this}Z(J,C);J.prototype.kd=function(){C.prototype.kd.call(this);l.ha(this.object,A,this.xDa||(this.xDa=this.H4a.bind(this)),
!0)};J.prototype.ld=function(){l.ba(this.object,A,this.xDa);C.prototype.ld.call(this)};J.prototype.H4a=function(){var H=this.N.I(b.si,!0);H.opacity=this.object.get("enabled")&&!this.object.get("hidden")?this.object.get("opacity"):0;H.P=this.object};return J}(D)}}});
define("jT",["require","exports","nF","eb"],function(a,e,l,m){a=function(k){function b(h,g,c,d){h=k.call(this,h,g,c,d)||this;h.ee=h.N;h.kd();return h}Z(b,k);b.prototype.kd=function(){};b.prototype.ld=function(){};b.prototype.dispose=function(){this.ld();k.prototype.dispose.call(this)};return b}(l);return m.GL(a)});
define("gQ",["require","exports","kS","pf"],function(a,e,l,m){return function(){function k(b,h){this.renderer=b;this.model=h;this.Wb=this.renderer.L;this.a2=this.a2.bind(this);this.li=[];this.Ex="";this.Ut=null;this.$a()}k.prototype.dispose=function(){this.Ba()};k.prototype.$a=function(){l.ha(this.model,"objects",this.a2,!0);this.model.bind(m.ad,this.fDa,this,!0);this.model.bind(m.Xb,this.eDa,this,!0)};k.prototype.Ba=function(){this.model.unbind(m.ad,this.fDa,this);this.model.unbind(m.Xb,this.eDa,
this);l.ba(this.model,"objects",this.a2);this.SA([]);this.Ut&&this.FA(this.Ut)};k.prototype.a2=function(){this.SA(this.model.get("objects"))};k.prototype.SA=function(b){this.li!=b&&(this.li.forEach(function(h){h.unbind(m.ad,this.jDa,this);h.unbind(m.Xb,this.iDa,this);h.unbind(m.Tc,this.hDa,this)}.bind(this)),this.Ut&&0<=this.li.indexOf(this.Ut)&&0>b.indexOf(this.Ut)&&this.FA(this.Ut),this.li=b,this.li.forEach(function(h){h.bind(m.ad,this.jDa,this,!0);h.bind(m.Xb,this.iDa,this,!0);h.bind(m.Tc,this.hDa,
this,!0)}.bind(this)))};k.prototype.jDa=function(b){b=b.source;this.rDa(b,b.get("toolTip"))};k.prototype.iDa=function(b){this.FA(b.source)};k.prototype.hDa=function(b){this.FA(b.source)};k.prototype.fDa=function(){this.rDa(this.model,this.model.get("toolTip"))};k.prototype.eDa=function(){this.FA(this.model)};k.prototype.FA=function(b){this.Ut==b&&(this.Ut=null,this.PFa(""))};k.prototype.rDa=function(b,h){this.Ut!=b&&(this.Ut=b,this.PFa(h||""))};k.prototype.PFa=function(b){this.Ex!=b&&(this.Ex=b,this.Wb.set("toolTip",
this.Ex))};return k}()});
define("md",["require"],function(){function a(e){this.Mc=this.Cs(e.get("surfaceReticleColor"));this.rw=this.Cs(e.get("surfaceReticleSelectionColor"));this.Rb=e.get("surfaceReticleOpacity");this.mVa=e.get("surfaceReticleSelectionOpacity");this.Ph=this.mf=128;this.KTa=.456;this.LTa=.088;this.eRa=.18;this.R=document.createElement("canvas");this.R.width=this.mf;this.R.height=this.Ph;this.za=this.R.getContext("2d");this.za.fillStyle="red";this.za.imageSmoothingEnabled=!0;this.za.fillRect(0,0,this.mf,this.Ph);
this.fd=this.bv=!1;this.MH=this.iY=void 0;this.VB=0}a.prototype.M8=function(){return this.Mk(NaN*this.rw[0]+NaN*this.Mc[0],NaN*this.rw[1]+NaN*this.Mc[1])};a.prototype.Cs=function(e){e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]};a.prototype.Mk=function(e,l){return"rgba("+e.join(",")+", "+l+")"};a.prototype.setPosition=function(e){this.bb!=e&&(this.bb=e,this.xa=!0)};a.prototype.He=function(){return this.mf};a.prototype.Xe=function(){return this.Ph};
a.prototype.hg=function(){return this.R};a.prototype.update=function(){if(!this.xa)return!1;this.xa=!1;this.za.clearRect(0,0,this.mf,this.Ph);var e=[this.rw[0]*this.bb+(1-this.bb)*this.Mc[0],this.rw[1]*this.bb+(1-this.bb)*this.Mc[1],this.rw[2]*this.bb+(1-this.bb)*this.Mc[2]],l=this.mVa*this.bb+(1-this.bb)*this.Rb;this.za.strokeStyle=this.Mk(e,l);this.za.fillStyle=this.Mk(e,l*this.bb);this.za.beginPath();this.za.lineWidth=this.mf*this.LTa;this.za.arc(.5*this.mf,.5*this.mf,this.mf*this.KTa,0,2*Math.PI,
!1);this.za.stroke();this.za.beginPath();this.za.arc(.5*this.mf,.5*this.mf,this.mf*this.eRa,0,2*Math.PI,!1);this.za.fill();return!0};return a});define("hy",["require","md"],function(a){return a("md")});
define("iO","require kS pf gv hy v oA fK".split(" "),function(a){function e(p,q,n){this.ga=p;this.Sa=q;this.j=n;this.L=this.j.L;this.Uv=this.Uv.bind(this);this.$v=this.$v.bind(this);this.fd=void 0;this.ga.bind(m.D("surfaceSelectionEnabled"),this.l8,this,!0);this.l8()}var l=a("kS"),m=a("pf"),k=a("gv"),b=a("hy"),h=a("v"),g=a("oA"),c=a("fK");e.prototype.l8=function(){var p=this.ga.get("surfaceSelectionEnabled");!!this.m!=p&&(p?this.xC():this.aq())};e.prototype.xC=function(){if(!this.m){this.m=this.Sa.U.gd("PointerReticle");
this.m.J(c.Plane).renderOrder=2;this.m.J(c.lk).N=this.Sa;this.m.J(c.Hp);this.m.J(c.hG);this.m.J(c.nb).N=this.Sa;var p=this.m.J(c.Sn);p.P=new k;p.P.bind(m.ca,this.gO,this,!0);l.ha(this.ga,d,this.Uv,!0);this.kt=new b(this.L);this.kt.setPosition(0);this.kt.update();p=this.m.J(c.oi);p.source=this.kt.hg();p.depthTest=!1;l.ha(this.ga,f,this.$v,!0);g.P.bind(m.ca,this.iI,this,!0);this.fe=null;this.XD(!1)}};e.prototype.aq=function(){this.m&&(this.fe&&(this.fe.trigger(m.Xb),this.fe=null),l.ba(this.ga,f,this.$v),
this.EP(null),this.m.getComponent(c.Sn).P.unbind(m.ca,this.gO,this,!0),this.Sa.U.We(this.m),this.kt=this.m=null,g.P.unbind(m.ca,this.iI,this),l.ba(this.ga,d,this.Uv))};e.prototype.Uv=function(){var p=this.m.I(c.Aj,!0);p.Mf=p.$f=2;p.scale=this.ga.get("surfaceReticleRadius");p.AA=this.ga.get("surfaceReticleMaxRadius");p.BA=this.ga.get("surfaceReticleMinRadius")};e.prototype.gO=function(p){p=this.wpa(p.data.beacons);var q=this.cpa(p);0==q&&(p=null);this.xVa(p);this.OVa(q)};e.prototype.$v=function(){this.EP(this.ga&&
this.ga.get("pointer"))};e.prototype.EP=function(p){this.Yd!==p&&(this.Yd&&(this.Yd.unbind(m.qa,this.Wv,this,!0),this.Yd.unbind(m.kc,this.Hf,this,!0),this.Yd.unbind(m.Xb,this.sn,this,!0)),this.Yd=p)&&(this.Yd.bind(m.qa,this.Wv,this,!0),this.Yd.bind(m.kc,this.Hf,this,!0),this.Yd.bind(m.Xb,this.sn,this,!0))};e.prototype.Wv=function(p){var q=null;if(h.lb()&&!g.isPresenting){var n=this.m.getComponent(c.Sn);n&&n.xR&&p.data.position&&(p=n.xR((new THREE.Vector3).copy(p.data.position)),p=this.wpa(p),0!=this.cpa(p)&&
(q=this.J8(p)))}else q=this.fe;q&&q.trigger(m.qa)};e.prototype.Hf=function(p){this.XD("other"==p.data.type?!1:!0)};e.prototype.sn=function(){this.XD(!1)};e.prototype.XD=function(p){this.fd!==p&&(this.fd=p,this.Sk())};e.prototype.iI=function(){this.Sk()};e.prototype.Sk=function(){this.m.I(c.oi).opacity=h.lb()&&!g.isPresenting||!this.fd?0:1};e.prototype.xVa=function(p){p=this.J8(p);this.fe!=p&&(this.fe&&this.fe.trigger(m.Xb),(this.fe=p)&&this.fe.trigger(m.ad))};e.prototype.wpa=function(p){if(!p)return null;
for(var q=0;q<p.length;q++)if(this.J8(p[q]))return p[q];return null};e.prototype.cpa=function(p){if(!p)return 0;var q=this.m.getComponent(c.Aa);return q?Math.max(0,1-p.distance/(this.ga.get("surfaceSelectionCoef")*q.scale*q.Mf)):0};e.prototype.J8=function(p){return(p=(p=p&&p.entity)&&p.getComponent(c.uL))&&p.u8a||null};e.prototype.OVa=function(p){this.kt.setPosition(p);this.kt.update()&&(this.m.I(c.oi).kT=(new Date).getTime())};e.prototype.dispose=function(){this.aq();this.ga.unbind(m.D("surfaceSelectionEnabled"),
this.l8,this,!0)};var d=["surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius"],f=["pointer"];return e});
define("lr",["require","kS","pf","gv","fK"],function(a){function e(g,c,d){this.ga=g;this.Sa=c;this.av=d;this.T=!1;this.NX=this.NX.bind(this);l.ha(this.ga,h,this.NX,!0)}var l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK");e.prototype.NX=function(){var g=!!this.ga.get("maxNearestObjectsVisible");this.T!=g&&(this.T&&this.aq(),(this.T=g)&&this.xC())};e.prototype.xC=function(){var g=this.av.J(b.Sn);g.P=new k;g.P.bind(m.ca,this.gO,this,!0);this.Sa.U.Pa()};e.prototype.aq=function(){this.av.getComponent(b.Sn).P.unbind(m.ca,
this.gO,this,!0);this.av.la(b.Sn);this.ga.get("objects").forEach(function(g){g.get("hideBasedOnDistance")&&g.yia(!1)})};e.prototype.gO=function(g){var c=0,d=this.ga.get("maxNearestObjectsVisible");g.data.beacons.forEach(function(f){if(f=this.bPa(f))f.get("hideBasedOnDistance")?(f.yia(c>=d),c++):f.yia(!1)}.bind(this))};e.prototype.bPa=function(g){g=(g=g.entity.getComponent(b.uL))&&g.object;g.get&&void 0!==g.get("hideBasedOnDistance")||(g=null);return g};e.prototype.dispose=function(){l.ba(this.ga,
h,this.NX);this.T&&(this.T=!1,this.aq())};var h=["maxNearestObjectsVisible"];return e});
define("fN","require lE kS pf gv fK".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK");a=e.extend(k,function(g,c){k.call(this);this.Ed=g;this.Sa=c;this.If=this.If.bind(this);this.m=null;this.Uk=0;this.Mb=!1;this.aP=[];this.Ed.bind(m.D("areaOpacity"),this.Usa,this);this.Fw()});a.prototype.Q2=function(g){this.aP.forEach(function(c){c.unbind(m.bd,this.ae,this,!0);c.unbind(m.Tc,this.ae,this,!0)}.bind(this));this.aP=g;this.aP.forEach(function(c){c.bind(m.bd,this.ae,this,!0);
c.bind(m.Tc,this.ae,this,!0)}.bind(this));this.ixa();this.ae()};a.prototype.dispose=function(){this.Ed.unbind(m.D("areaOpacity"),this.Usa,this);this.Bw()};a.prototype.Ht=function(){return this.m};a.prototype.isVisible=function(){return this.Mb};a.prototype.Usa=function(){this.Fw();this.Sk()};a.prototype.Fw=function(){0<this.Ed.get("areaOpacity")?this.Yz():this.Bw()};a.prototype.Yz=function(){if(!this.m){this.m=this.Sa.U.gd("MeasureArea");var g=new k;g.bind(m.ca,this.rz,this,!0);this.m.J(b.Gm).P=g;
this.m.J(b.Hc);this.m.J(b.nb).N=this.Sa;l.ha(this.Ed,h,this.If,!0);this.ixa()}};a.prototype.Bw=function(){this.m&&(this.m.getComponent(b.Gm).P.unbind(m.ca,this.rz,this,!0),l.ba(this.Ed,h,this.If),this.m.U.We(this.m),this.m=null)};a.prototype.ct=function(g){this.Mb!=g&&((this.Mb=g)?(this.Ho(1),this.trigger(m.bd)):(this.Ho(0),this.trigger(m.Tc)))};a.prototype.ae=function(){this.ct(this.aP.every(function(g){return g.isVisible()}))};a.prototype.rz=function(g){this.Ed.set("area",g.data.area)};a.prototype.If=
function(){if(this.m){var g=this.m.I(b.Hc);g.color=this.Ed.get("areaColor");g.depthTest=this.Ed.get("depthTest");g.doubleSided=!0;this.Sk()}};a.prototype.Ho=function(g){this.Uk!=g&&(this.Uk=g,this.Sk())};a.prototype.Sk=function(){this.m&&(this.m.I(b.Hc).opacity=this.Ed.get("areaOpacity")*Math.max(1E-4,this.Uk))};a.prototype.ixa=function(){this.m&&(this.m.I(b.Gm).A=this.aP.map(function(g){return g.Ht()}))};var h=["areaColor","areaOpacity","depthTest"];return a});
define("bT",["require","hG"],function(a){function e(b,h,g){k.style.fontFamily=m.Vw(h.fontFamily);k.style.fontSize=h.fontSize;k.style.fontWeight=h.fontWeight;k.style.fontStyle=h.fontStyle;k.innerHTML=b;document.body.appendChild(k);var c=new l(Math.ceil(k.clientWidth),Math.ceil(k.clientHeight));document.body.removeChild(k);g&&(g.font=h.fontSize+" "+m.Vw(h.fontFamily),b=g.measureText(b).width,0<b&&(c.height*=b/c.width,c.width=b));return c}function l(b,h){this.width=b;this.height=h}var m=a("hG"),k=document.createElement("div");
k.style.display="inline-block";k.style.margin=0;k.style.padding=0;k.style.whiteSpace="nowrap";e.p5=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};return e});
define("fy",["require","bT","hG"],function(a){function e(){this.x8=this.Cs("#ffffff");this.ty=this.Cs("#000000");this.Ph=this.mf=0;this.R=document.createElement("canvas");this.za=this.R.getContext("2d");this.za.imageSmoothingQuality="high";this.it=new m.p5;this.y8=this.qH=void 0;this.X5=this.Y5=.5;this.ar=void 0;this.bJ=e.V4;this.Ew=void 0;this.WK(0)}function l(b){return 100<b?b.toFixed(0):10<b?b.toFixed(1):b.toFixed(2)}var m=a("bT"),k=a("hG");e.aka="imperial area";e.bka="imperial length";e.ika="metric area";
e.V4="metric length";e.prototype.dispose=function(){this.R.width=this.R.height=0;this.R=null};e.prototype.s6a=function(b){this.x8!=b&&(this.x8=b,this.xa=!0)};e.prototype.W5a=function(b){this.ty!=b&&(this.ty=b,this.xa=!0)};e.prototype.t6a=function(b){this.y8!=b&&(this.y8=b,this.xa=!0)};e.prototype.u6a=function(b){this.qH!=b&&(this.qH=b,this.xa=!0)};e.prototype.iia=function(){.5!=this.it.xJ&&(this.X5=.5,this.xa=!0)};e.prototype.jia=function(b){this.it.yJ!=b&&(this.Y5=b,this.xa=!0)};e.prototype.WK=function(b){this.ar!=
b&&(this.ar=b,this.Uda())};e.prototype.D7a=function(b){this.bJ!=b&&(this.bJ=b,this.Uda())};e.prototype.E7a=function(b){this.Ew!=b&&(this.Ew=b,this.Uda())};e.prototype.Uda=function(){if(void 0===this.Ew)this.Ma=l(this.ar);else if(this.bJ==e.V4){var b=this.ar*this.Ew;this.Ma=1<=b?l(b)+"m":l(100*b)+"cm"}else this.bJ==e.ika?(b=this.ar*this.Ew*this.Ew,this.Ma=.1<=b?l(b)+"m\u00b2":l(1E4*b)+"cm\u00b2"):this.bJ==e.bka?(b=this.ar*this.Ew*1.0936,this.Ma=1760<b?l(b/1760)+"mi":100<=b?l(b)+"yd":1<=3*b?l(3*b)+
"ft":l(36*b)+"in"):this.bJ==e.aka&&(b=this.ar*this.Ew*1.0936*this.Ew*1.0936,this.Ma=1<=b?l(b)+"yd\u00b2":1<=9*b?l(9*b)+"ft\u00b2":l(1296*b)+"in\u00b2");this.xa=!0};e.prototype.Cs=function(b){b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(b);return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]};e.prototype.Mk=function(b,h){return"rgba("+b.join(",")+", "+h+")"};e.prototype.He=function(){return this.mf};e.prototype.Xe=function(){return this.Ph};e.prototype.hg=function(){return this.R};e.prototype.update=
function(){if(!this.xa)return!1;this.xa=!1;this.it.fontFamily=this.y8||"Arial";this.it.fontSize=this.qH?"string"==typeof this.qH?this.qH:this.qH+"px":"30px";var b=m(this.Ma,this.it),h=this.Cs(this.x8),g=this.Cs(this.ty),c=b.width;b=b.height;var d=.5*b,f=.3*b,p=d+c+.5*b,q=f+b+.2*b,n=.5*q;this.R.width=this.R.height=this.mf=this.Ph=Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(p,q))/Math.LN2)));var r=this.mf*this.X5-p*this.X5,t=this.Ph*this.Y5-q*this.Y5;this.QG();this.za.save();this.za.translate(r,
t);this.za.fillStyle=this.Mk(g,1);this.za.beginPath();this.za.moveTo(0,n);this.za.quadraticCurveTo(0,0,n,0);this.za.lineTo(p-n,0);this.za.quadraticCurveTo(p,0,p,n);this.za.quadraticCurveTo(p,q,p-n,q);this.za.lineTo(n,q);this.za.quadraticCurveTo(0,q,0,q-n);this.za.closePath();this.za.fill();this.za.fillStyle=this.Mk(h,1);this.za.font=this.it.fontSize+" '"+this.it.fontFamily+"'";this.za.font=this.it.fontSize+(isNaN(this.it.fontSize)?"":"px")+" "+k.Vw(this.it.fontFamily);this.za.textBaseline="middle";
this.za.textAlign="center";this.za.fillText(this.Ma,Math.round(d+.5*c),Math.round(f+.5*b));this.za.restore();return!0};e.prototype.QG=function(){this.za.clearRect(0,0,this.mf,this.Ph)};return e});
define("fH","require lE kS pf gv fK fy ez".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK"),h=a("fy"),g=a("ez");a=e.extend(k,function(d,f,p){k.call(this);this.Z$=d;this.Ed=f;this.Sa=p;this.If=this.If.bind(this);this.Jo=this.m=null;this.Uk=0;this.Mb=!1;this.XZ=this.mh=this.Jz=this.kz=null;this.ar=void 0;this.Xh=new h;this.Z$.bind(m.D("worldUnitToMeters"),this.Oaa,this,!0);this.Ed.bind(m.D("units"),this.Baa,this,!0);this.Yz()});a.prototype.uFa=function(d){this.vZ(d,null,
null)};a.prototype.k7a=function(d){this.vZ(null,d,null)};a.prototype.V5a=function(d){this.vZ(null,null,d)};a.prototype.vZ=function(d,f,p){if(this.Jz!=f||this.kz!=d||this.mh!=p)[this.kz,this.Jz,this.mh].forEach(function(q){q&&q.unbind(m.bd,this.ae,this,!0);q&&q.unbind(m.Tc,this.ae,this,!0)}.bind(this)),this.Bw(),this.kz=d,this.Jz=f,this.mh=p,this.Yz(),this.If(),this.rg(!0),[this.kz,this.Jz,this.mh].forEach(function(q){q&&q.bind(m.bd,this.ae,this,!0);q&&q.bind(m.Tc,this.ae,this,!0)}.bind(this)),this.kz?
(this.m.I(b.nb).N=this.kz.Ht(),this.m.I(b.Aa).$e=.5,d=this.m.I(b.Sprite),d.xJ=.5,d.yJ=.5,this.Xh.iia(),this.Xh.jia(.5)):this.Jz?(this.m.I(b.nb).N=this.Jz.Ht(),this.m.I(b.Aa).$e=0,d=this.m.I(b.Sprite),d.xJ=.5,d.yJ=1.1,this.Xh.iia(),this.Xh.jia(1)):this.mh?(this.m.I(b.nb).N=this.mh.Ht(),this.m.I(b.Aa).$e=0,d=this.m.I(b.Sprite),d.xJ=.5,d.yJ=.5,this.Xh.iia(),this.Xh.jia(.5)):this.m.I(b.nb).N=null,this.ae(),this.Baa(),this.Oaa()};a.kJa="partialDistance";a.ala="distance";a.jJa="area";a.prototype.setStyle=
function(d){this.XZ!=d&&(this.XZ=d,this.If())};a.prototype.WK=function(d){void 0!==d&&this.ar!==d&&(this.ar=d,this.Xh.WK(d),this.rg(),this.ae())};a.prototype.dispose=function(){this.Z$.unbind(m.D("worldUnitToMeters"),this.Oaa,this,!0);this.Ed.unbind(m.D("units"),this.Baa,this,!0);this.vZ(null,null);this.Xh.dispose();this.Xh=null;this.Bw()};a.prototype.Oaa=function(){this.Xh.E7a(this.Z$.get("worldUnitToMeters"));this.rg()};a.prototype.Baa=function(){var d=this.Ed.get("units"),f=!!this.mh;this.Xh.D7a("imperial"==
d?f?h.aka:h.bka:f?h.ika:h.V4);this.rg()};a.prototype.Yz=function(){if(!this.m){this.m=this.Sa.U.gd("MeasureLabel");this.m.J(b.Sprite).renderOrder=2;this.m.J(b.Hp);var d=this.m.J(b.oi);d.source=this.Xh.hg();d.isSprite=!0;l.ha(this.Ed,c,this.If,!0);this.m.J(b.Aa);this.m.J(b.nb)}};a.prototype.Bw=function(){this.m&&(l.ba(this.Ed,c,this.If),this.m.U.We(this.m),this.m=null)};a.prototype.isVisible=function(){return this.Mb};a.prototype.ct=function(d){this.Mb!=d&&((this.Mb=d)?(this.KWa(),this.trigger(m.bd)):
(this.JXa(),this.Ho(0),this.trigger(m.Tc)))};a.prototype.ae=function(){this.ct(0<this.ar&&(this.kz&&this.kz.isVisible()||this.Jz&&this.Jz.isVisible()||this.mh&&this.mh.isVisible()))};a.prototype.KWa=function(){this.Jo||(this.Jo=new g,this.Jo.set("duration",300),this.Jo.bind(g.i4,this.Cta,this,!0),this.Jo.bind(g.ik,this.Bta,this,!0),this.Jo.play())};a.prototype.JXa=function(){this.Jo&&(this.Jo.unbind(g.i4,this.Cta,this,!0),this.Jo.unbind(g.ik,this.Bta,this,!0),this.Jo.stop(),this.Jo=null)};a.prototype.Cta=
function(){this.Ho(2*this.Jo.$k()-1)};a.prototype.Bta=function(){this.Ho(1)};a.prototype.If=function(){this.m.I(b.oi).depthTest=this.xH("depthTest");this.Xh.s6a(this.xH("labelFontColor"));this.Xh.W5a(this.xH("labelBackgroundColor"));this.Xh.t6a(this.xH("labelFontFamily"));this.Xh.u6a(this.xH("labelFontSize"));this.Sk();this.rg()};a.prototype.xH=function(d){var f;this.XZ&&(f=this.Ed.get(this.XZ+d[0].toUpperCase()+d.substr(1)));void 0===f&&(f=this.Ed.get(d));return f};a.prototype.rg=function(d){if(this.Xh.update()||
d){d=this.m.I(b.oi);var f=this.m.I(b.Sprite);d.kT=(new Date).getTime();f.width=this.Xh.He();f.height=this.Xh.Xe()}};a.prototype.Ho=function(d){this.Uk!=d&&(this.Uk=d,this.Sk())};a.prototype.Sk=function(){this.m.I(b.oi).opacity=this.xH("labelOpacity")*Math.max(1E-4,this.Uk)};var c="depthTest areaLabelBackgroundColor areaLabelFontColor areaLabelFontFamily areaLabelOpacity areaLabelFontSize distanceLabelBackgroundColor distanceLabelFontColor distanceLabelFontFamily distanceLabelOpacity distanceLabelFontSize labelBackgroundColor labelFontColor labelFontFamily labelOpacity labelFontSize partialDistanceLabelBackgroundColor partialDistanceLabelFontColor partialDistanceLabelFontFamily partialDistanceLabelOpacity partialDistanceLabelFontSize".split(" ");
return a});
define("dO","require lE kS pf gv fK".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK");a=e.extend(k,function(g,c){k.call(this);this.Ed=g;this.Sa=c;this.hm=this.fm=null;this.If=this.If.bind(this);this.m=null;this.Uk=0;this.Mb=!1;this.Yz()});a.prototype.Q2=function(g,c){if(this.fm!=g||this.hm!=c)this.fm&&this.fm.unbind(m.bd,this.ae,this,!0),this.fm&&this.fm.unbind(m.Tc,this.ae,this,!0),this.hm&&this.hm.unbind(m.bd,this.ae,this,!0),this.hm&&this.hm.unbind(m.Tc,this.ae,this,
!0),this.fm=g,this.hm=c,this.fm&&this.fm.bind(m.bd,this.ae,this,!0),this.fm&&this.fm.bind(m.Tc,this.ae,this,!0),this.hm&&this.hm.bind(m.bd,this.ae,this,!0),this.hm&&this.hm.bind(m.Tc,this.ae,this,!0),this.m.I(b.nb,!0).N=this.fm&&this.fm.Ht(),this.m.I(b.Xr,!0).N=this.hm&&this.hm.Ht(),this.ae()};a.prototype.Ht=function(){return this.m};a.prototype.dispose=function(){this.Q2(null,null);this.Bw()};a.prototype.Yz=function(){this.m||(this.m=this.Sa.U.gd("MeasureLine"),this.m.J(b.Line),this.m.J(b.ih),this.m.J(b.Aa),
l.ha(this.Ed,h,this.If,!0))};a.prototype.Bw=function(){this.m&&(l.ba(this.Ed,h,this.If),this.m.U.We(this.m),this.m=null)};a.prototype.isVisible=function(){return this.Mb};a.prototype.ct=function(g){this.Mb!=g&&((this.Mb=g)?(this.Ho(1),this.trigger(m.bd)):(this.Ho(0),this.trigger(m.Tc)))};a.prototype.ae=function(){this.ct(this.fm&&this.fm.isVisible()&&this.hm&&this.hm.isVisible())};a.prototype.If=function(){var g=this.m.I(b.ih);g.color=this.Ed.get("lineColor");g.depthTest=this.Ed.get("depthTest");
g.width=this.Ed.get("lineWidth");g.depthTest=this.Ed.get("depthTest");this.Sk()};a.prototype.Ho=function(g){this.Uk!=g&&(this.Uk=g,this.Sk())};a.prototype.Sk=function(){this.m.I(b.ih).opacity=this.Ed.get("lineOpacity")*Math.max(1E-4,this.Uk)};var h=["depthTest","lineColor","lineOpacity","lineWidth"];return a});
define("oD","require lE kS pf gv fK".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("gv"),b=a("fK");a=e.extend(k,function(d,f,p,q){k.call(this);this.Ed=d;this.ga=f;this.Sa=p;this.Kq=q;this.UX=this.UX.bind(this);this.If=this.If.bind(this);this.rn=this.rn.bind(this);this.m=null;this.xi=this.sP=this.fd=this.sy=!1;this.Uk=0;this.Mb=!1;this.Yz();l.ha(this.Ed,h,this.UX,!0);l.ha(this.Ed,c,this.If,!0);l.vt(this.Kq,g,this.rn,!0);this.bind(m.wu,this.ita,this,!0);this.bind(m.ad,this.hI,this,!0);
this.bind(m.Xb,this.sn,this,!0);this.rn();this.c1()&&this.ct(!0)});a.prototype.dispose=function(){l.ba(this.Ed,h,this.UX);l.ba(this.Ed,c,this.If);l.ba(this.Kq,g,this.rn);this.unbind(m.wu,this.ita,this,!0);this.unbind(m.ad,this.hI,this,!0);this.unbind(m.Xb,this.sn,this,!0);this.Bw()};a.prototype.Ht=function(){return this.m};a.prototype.XEa=function(d){this.sy!==d&&((this.sy=d)?(d=this.m.J(b.lk),d.N=this.Sa,d.rotate=!1,d.P=new k,this.ct(!0),d.P.bind(m.ad,this.YH,this,!0)):((d=this.m.getComponent(b.lk))&&
d.P.unbind(m.ad,this.YH,this,!0),this.m.la(b.lk),d=this.ga.worldPositionToLocal([this.x,this.y,this.z],this.ga.getMatrixWorld()),this.dFa(d[0],d[1],d[2])),this.eA(),this.fea())};a.prototype.iFa=function(d){void 0===d&&(d=!1);this.xi!==d&&((this.xi=d)?this.m.J(b.Tx):this.m.la(b.Tx))};a.prototype.r7a=function(d){this.sP!==d&&(this.sP=d,this.fea(),this.fd=!1,this.eA())};a.prototype.dFa=function(d,f,p){this.Kq.set("x",d);this.Kq.set("y",f);this.Kq.set("z",p);this.ct(this.c1())};a.prototype.Yz=function(){this.m=
this.Sa.U.gd("MeasurePoint");this.m.J(b.Sphere);this.m.J(b.Hc);this.m.J(b.ud).P=this;this.m.J(b.Hp);this.m.J(b.Aa).P=this;this.m.J(b.Aj);this.m.J(b.nb).N=this.Sa;this.fea();this.Sk();this.eA()};a.prototype.Bw=function(){this.m.U.We(this.m);this.m=null};a.prototype.isVisible=function(){return this.Mb};a.prototype.ct=function(d){this.Mb!=d&&((this.Mb=d)?(this.Ho(1),this.trigger(m.bd)):(this.Ho(0),this.trigger(m.Tc)))};a.prototype.fea=function(){var d=this.m.I(b.ud);d.hL=this.sP;d.sx=this.sP;d.Pw=!this.sy;
d=this.m.I(b.Hp,!0);d.mja=!this.sP||this.sy;d.lja=this.sy};a.prototype.YH=function(){this.ct(!0)};a.prototype.hI=function(){this.fd=!0;this.eA()};a.prototype.sn=function(){this.fd=!1;this.eA()};a.prototype.UX=function(){this.m.I(b.nb).id=this.Ed.get("parentId")};a.prototype.If=function(){if(this.m){var d=this.m.I(b.Aj);d.Mf=d.$f=d.Eh=1;d.AA=this.Ed.get("pointMaxRadius");d.BA=this.Ed.get("pointMinRadius");d.scale=this.Ed.get("pointRadius")||1;this.m.I(b.Hc).depthTest=this.Ed.get("depthTest");this.eA()}};
a.prototype.eA=function(){if(this.m){var d=this.sy?"pointDragColor":this.fd?"pointOverColor":"pointColor";this.m.I(b.Hc).color=this.Ed.get(d)}};a.prototype.Ho=function(d){this.Uk!=d&&(this.Uk=d,this.Sk())};a.prototype.Sk=function(){this.m.I(b.Hc).opacity=Math.max(1E-4,this.Uk)};a.prototype.ita=function(d){this.x=d.data.position.x;this.y=d.data.position.y;this.z=d.data.position.z};a.prototype.rn=function(){if(this.c1()&&this.m){var d=this.m.I(b.Aa,!0);d.positionX=d.positionY=d.positionZ=0;d.Le=d.re=
d.Me=0;d.translationX=this.Kq.get("x");d.translationY=this.Kq.get("y");d.$e=this.Kq.get("z")}};a.prototype.c1=function(){var d=this.Kq.get("x"),f=this.Kq.get("y"),p=this.Kq.get("z");return void 0!==d&&void 0!==f||void 0!==p};a.prototype.distanceTo=function(d){var f=this.x-d.x,p=this.y-d.y;d=this.z-d.z;return Math.sqrt(f*f+p*p+d*d)};var h=["parentId"],g=["x","y","z"],c="depthTest mode pointDragColor pointColor pointOverColor pointMaxRadius pointMinRadius pointRadius".split(" ");return a});
define("eA","require kS pf bn fN fH dO oD v".split(" "),function(a){function e(u,v,w,x,y){this.G=u;this.ga=v;this.Sa=w;this.j=y;this.L=this.j.L;this.vq=this.vq.bind(this);this.XX=this.XX.bind(this);this.MX=this.MX.bind(this);this.eY=this.eY.bind(this);this.aI=this.aI.bind(this);this.rz=this.rz.bind(this);this.$v=this.$v.bind(this);this.uo=this.uo.bind(this);this.Yd=null;this.Li=new Map;this.$O=new Map;this.oq=[];this.dD=[];this.pI=new Map;this.vh=[];this.Ji=null;this.o_();this.hf=this.Vc=void 0;this.T=
!1;l.ha(this.G,["enabled"],this.vq,!0)}var l=a("kS"),m=a("pf"),k=a("bn"),b=a("fN"),h=a("fH"),g=a("dO"),c=a("oD"),d=a("v");e.prototype.dispose=function(){this.aq();l.ba(this.G,["enabled"],this.vq);this.Ji=this.vh=this.dD=this.oq=this.$O=this.Li=null;this.o_();this.hf=this.Vc=null};e.prototype.vq=function(){this.G.get("enabled")?this.xC():this.aq()};e.prototype.xC=function(){this.T||(this.T=!0,this.HMa(),this.Nna(this.G),document.addEventListener("keyup",this.uo),l.ha(this.G,f,this.XX,!0),l.ha(this.G,
q,this.eY,!0),l.ha(this.G,p,this.MX,!0),l.ha(this.G,n,this.aI,!0),l.ha(this.G,r,this.rz,!0),l.ha(this.ga,t,this.$v,!0))};e.prototype.aq=function(){this.T&&(this.T=!1,this.Mva([]),this.joa(this.G),this.PNa(),document.removeEventListener("keyup",this.uo),l.ba(this.G,f,this.XX),l.ba(this.G,q,this.eY),l.ba(this.G,p,this.MX),l.ba(this.G,n,this.aI),l.ba(this.G,r,this.rz),l.ba(this.ga,t,this.$v),this.EP(null))};e.prototype.$v=function(){this.EP(this.ga&&this.ga.get("pointer"))};e.prototype.EP=function(u){this.Yd!==
u&&(this.Yd&&(this.Yd.unbind(m.qa,this.Msa,this,!0),this.Yd.unbind(m.ql,this.Nsa,this,!0)),this.Yd=u)&&(this.Yd.bind(m.qa,this.Msa,this,!0),this.Yd.bind(m.ql,this.Nsa,this,!0))};e.prototype.XX=function(){this.Mva(this.G.get("points"))};e.prototype.MX=function(){var u=this.G.get("mode");if(u!=this.Vc){switch(this.Vc){case "create":1>this.vh.length||this.Ji&&2>this.vh.length?u="create":this.PUa(this.Ji);break;case "edit":"create"==u?"single"===this.G.get("type")&&0<this.vh.length?u="edit":this.uU():
this.tw(null);break;case "view":"create"===u&&("single"===this.G.get("type")&&0<this.vh.length?u="view":this.uU());break;default:"create"==u&&("single"===this.G.get("type")&&0<this.vh.length&&this.r9(this.zv(-1))?u="edit":this.tw(this.zv(-1),!1))}this.Vc=u;this.G.set("mode",this.Vc);this.Hxa()}};e.prototype.eY=function(){var u=this.G.get("type");u!==this.hf&&(this.hf=u,"single"===this.hf&&1<this.vh.length&&this.G.set("points",this.B$a.slice(0,1)))};e.prototype.aI=function(){this.wxa();this.n_()};
e.prototype.rz=function(){var u=this.a9(this.mh);u&&u.WK(this.G.get("area"))};e.prototype.uo=function(u){u.which==k.MT&&this.L.get("isKeyboardTarget")&&("create"==this.G.get("mode")?this.G.set("mode","edit"):"edit"==this.Vc&&this.tw(null))};e.prototype.uU=function(){this.rKa();this.tw(this.zv(-1),!1)};e.prototype.rN=function(){return d.lb()&&!d.yf()};e.prototype.rKa=function(){var u=this.L.get("application").pm("MeasureModel3DObjectPoint");if(!this.rN()){var v=this.zv(-1);v&&this.r9(v)&&(u.set("x",
v.get("x")),u.set("y",v.get("y")),u.set("z",v.get("z")))}this.G.set("points",this.vh.concat([u]))};e.prototype.zv=function(u){var v=[this.G].concat(this.vh);return 0>u&&0<v.length-u?v[v.length+u]:0<=u&&u<v.length?v[u]:null};e.prototype.PUa=function(u){this.G.set("points",this.vh.filter(function(v){return v!=u}))};e.prototype.r9=function(u){return!!u&&this.Li.get(u).c1()};e.prototype.Msa=function(u){if("other"!=u.data.type)if("create"==this.G.get("mode")){if(this.Ji){var v=this.Ji;this.tw(null);this.MKa(v,
u)}"single"==this.hf&&0<this.vh.length?this.G.set("mode","edit"):this.uU()}else"edit"==this.G.get("mode")&&this.tw(null)};e.prototype.Nsa=function(){"create"==this.G.get("mode")&&this.rN()&&this.G.set("mode","edit")};e.prototype.eta=function(){"create"==this.G.get("mode")&&this.G.set("mode","edit")};e.prototype.dta=function(u){if("create"==this.G.get("mode")){var v=this.zv(-2);u=this.$O.get(u.source);v==u?this.G.set("mode","edit"):(v=this.Ji,this.tw(null),v.set("x",u.get("x")),v.set("y",u.get("y")),
v.set("z",u.get("z")),v=this.zv(0),u==v?this.G.set("mode","edit"):this.uU())}};e.prototype.fta=function(u){"edit"==this.G.get("mode")&&this.tw(this.$O.get(u.source),!0)};e.prototype.gta=function(){"edit"==this.G.get("mode")&&this.tw(null)};e.prototype.hta=function(){this.n_()};e.prototype.n_=function(){for(var u=[],v=this.zv(0),w=this.k9(),x=0;x<w.length;x++){var y=w[x];v=this.Li.get(v);var z=this.Li.get(y);z=v.distanceTo(z);(v=this.a9(this.oq[x]))&&v.WK(z);u.push(z);v=y}u=u.reduce(function(E,B){return E+
B},0);(v=this.a9(this.Li.get(w[w.length-1])))&&v.WK(u);this.G.set("distance",isNaN(u)?void 0:u)};e.prototype.MKa=function(u,v){if(v=v&&v.data.position)v=this.ga.worldPositionToLocal(v,this.ga.getMatrixWorld()),this.Li.get(u).dFa(v.x,v.y,v.z)};e.prototype.tw=function(u,v){v||(v=!1);if(this.Ji!==u){if(this.Ji){var w=this.Li.get(this.Ji);w.iFa(!1);w.XEa(!1)}if(this.Ji=u)w=this.Li.get(this.Ji),w.iFa(v),w.XEa(v||!this.rN());this.xxa();this.Hxa();this.o_()}};e.prototype.Mva=function(u){this.vh!=u&&(this.vh.forEach(function(v){-1==
u.indexOf(v)&&this.joa(v)}.bind(this)),this.vh=u,this.Ji&&this.vh.indexOf(this.Ji)&&(this.Ji=null),this.o_(),this.vh.forEach(function(v){this.Nna(v)}.bind(this)),this.xxa(),this.wxa(),this.GYa(),this.n_())};e.prototype.k9=function(){return this.vh.filter(function(u){return this.r9(u)||this.Li.get(u).sy}.bind(this))};e.prototype.xxa=function(){for(;this.vh.length<this.oq.length;)this.SNa();for(;this.vh.length>this.oq.length;)this.mNa();for(var u=!0,v=0;v<this.vh.length;v++){var w=this.zv(v),x=this.zv(v+
1);w==this.Ji&&(u=!1);var y=u?x:w;this.oq[v].Q2(this.Li.get(u?w:x),this.Li.get(y))}};e.prototype.wxa=function(){this.BYa();var u=this.k9(),v=1==u.length;this.G.get("displayPartialDistanceLabel")&&!v&&this.oq.forEach(function(w){var x=this.ZW(w);x.uFa(w);x.setStyle(h.kJa)}.bind(this));this.G.get("displayDistanceLabel")&&(v?(u=this.ZW(this.oq[0]),u.uFa(this.oq[0]),u.setStyle(h.ala)):1<u.length&&(v=this.Li.get(u[u.length-1]),u=this.ZW(v),u.k7a(v),u.setStyle(h.ala)));this.G.get("displayAreaLabel")&&this.mh&&
(u=this.ZW(this.mh),u.V5a(this.mh),u.setStyle(h.jJa));this.UNa();this.n_();this.rz()};e.prototype.Hxa=function(){var u=!this.Ji&&"view"!=this.Vc;this.Li.forEach(function(v){v.r7a(u)})};e.prototype.GYa=function(){this.mh&&this.mh.Q2([this.G].concat(this.k9()).map(function(u){return this.Li.get(u)}.bind(this)))};e.prototype.Nna=function(u){var v=this.Li.get(u);v||(v=new c(this.G,this.ga,this.Sa,u),this.Li.set(u,v),this.$O.set(v,u),v.bind(m.ql,this.eta,this,!0),v.bind(m.qa,this.dta,this,!0),v.bind(m.kb,
this.fta,this,!0),v.bind(m.Hb,this.gta,this,!0),v.bind(m.wu,this.hta,this,!1))};e.prototype.joa=function(u){var v=this.Li.get(u);v&&(v.unbind(m.wu,this.hta,this,!1),v.unbind(m.ql,this.eta,this,!0),v.unbind(m.qa,this.dta,this,!0),v.unbind(m.kb,this.fta,this,!0),v.unbind(m.Hb,this.gta,this,!0),v.dispose(),this.Li["delete"](u),this.$O["delete"](v))};e.prototype.mNa=function(){var u=new g(this.G,this.Sa);this.oq.push(u)};e.prototype.SNa=function(){0!=this.oq.length&&this.oq.pop().dispose()};e.prototype.lNa=
function(){var u=new h(this.ga,this.G,this.Sa);this.dD.push(u);return u};e.prototype.BYa=function(){this.pI.clear()};e.prototype.ZW=function(u){var v=this.dD.length>this.pI.size?this.dD[this.pI.size]:this.lNa();this.pI.set(u,v);return v};e.prototype.a9=function(u){return this.pI.get(u)};e.prototype.UNa=function(){for(;this.dD.length>this.pI.size;)this.RNa()};e.prototype.RNa=function(){0!=this.dD.length&&this.dD.pop().dispose()};e.prototype.HMa=function(){this.mh||(this.mh=new b(this.G,this.Sa))};
e.prototype.PNa=function(){this.mh&&(this.mh.dispose(),this.mh=null)};e.prototype.o_=function(){this.G.set("draggingPoint",!!this.Ji)};var f=["points"],p=["mode"],q=["type"],n=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],r=["area"],t=["pointer"];return e});
define("eR",["require","exports","fK","nF","eb"],function(a,e,l,m,k){a=function(b){function h(g,c,d,f,p){g=b.call(this,g,c,d,p)||this;g.ee=d;g.N.J(l.Px);g.N.J(l.uL).object=g.object;g.kd();return g}Z(h,b);h.prototype.kd=function(){};h.prototype.ld=function(){};h.prototype.dispose=function(){this.ld();b.prototype.dispose.call(this)};return h}(m);a=k.ud(a);a=k.qla(a);a=k.qL(a);a=k.GL(a);a=k.nb(a);a=k.bJa(a);return a=k.Ska(a)});
define("cJ",["require","exports","kS","eb"],function(a,e,l,m){a=function(){function k(b,h,g,c,d){this.object=b;this.model=h;this.ee=g;this.renderer=d;this.ig=this.ig.bind(this);this.enabled=!1;this.N=null;l.ha(this.object,["enabled"],this.ig,!0)}k.prototype.kd=function(){};k.prototype.ld=function(){};k.prototype.dispose=function(){this.disable();l.ba(this.object,["enabled"],this.ig)};k.prototype.ig=function(){this.object.get("enabled")?this.enable():this.disable()};k.prototype.enable=function(){this.enabled||
(this.enabled=!0,this.N=this.ee.U.gd("ImagePlane"),this.kd())};k.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.ld(),this.N.U.We(this.N),this.N=null)};return k}();a=m.ud(a);a=m.qL(a);a=m.Km(a);a=m.GL(a);a=m.nb(a);return a=m.Plane(a)});
define("cK",["require","exports","kS","fK","eb"],function(a,e,l,m,k){var b=["objectId"];a=function(){function h(g,c,d,f,p){this.object=g;this.model=c;this.ee=d;this.renderer=p;this.N=this.ee.U.gd("InnerObject");this.SX=this.SX.bind(this);l.ha(this.object,b,this.SX,!0);this.kd()}h.prototype.kd=function(){};h.prototype.ld=function(){};h.prototype.SX=function(){var g=this.N.I(m.iG,!0);g.id=this.object.get("objectId");g.container=this.ee};h.prototype.dispose=function(){this.ld();l.ba(this.object,b,this.SX);
this.ee.U.We(this.N);this.N=null};return h}();a=k.ud(a);a=k.qL(a);a=k.GL(a);return a=k.qla(a)});
define("nH","require exports kS fK eb three.mod".split(" "),function(a,e,l,m,k,b){var h=["x","y","z"],g=["targetX","targetY","targetZ"];a=function(){function c(d,f,p,q,n){this.object=d;this.model=f;this.ee=p;this.renderer=n;this.ig=this.ig.bind(this);this.b2=this.b2.bind(this);this.h2=this.h2.bind(this);this.enabled=!1;this.N=null;l.ha(this.object,["enabled"],this.ig,!0)}c.prototype.kd=function(){};c.prototype.ld=function(){};c.prototype.dispose=function(){this.disable();l.ba(this.object,["enabled"],
this.ig)};c.prototype.ig=function(){this.object.get("enabled")?this.enable():this.disable()};c.prototype.enable=function(){this.enabled||(this.enabled=!0,this.N=this.ee.U.gd("Line"),this.N.J(m.Aa),this.N.J(m.Line),this.N.J(m.Xr).position=new b.Vector3,l.ha(this.object,h,this.b2,!0),l.ha(this.object,g,this.h2,!0),this.kd())};c.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.ld(),l.ba(this.object,h,this.b2),l.ba(this.object,g,this.h2),this.N.U.We(this.N),this.N=null)};c.prototype.b2=
function(){var d=this.N.I(m.Aa);d.translationX=this.object.get("x",0);d.translationY=this.object.get("y",0);d.$e=this.object.get("z",0)};c.prototype.h2=function(){var d=this.N.I(m.Xr);d.position.x=this.object.get("targetX");d.position.y=this.object.get("targetY");d.position.z=this.object.get("targetZ")};return c}();a=k.ud(a);a=k.ih(a);return a=k.nb(a)});
define("fo",["require","exports","kS","fK","eb"],function(a,e,l,m,k){var b=["radius","maxRadius","minRadius"];a=function(){function h(g,c,d,f,p){this.object=g;this.model=c;this.ee=d;this.renderer=p;this.ig=this.ig.bind(this);this.g2=this.g2.bind(this);this.enabled=!1;this.N=null;l.ha(this.object,["enabled"],this.ig,!0)}h.prototype.kd=function(){};h.prototype.ld=function(){};h.prototype.dispose=function(){this.disable();l.ba(this.object,["enabled"],this.ig)};h.prototype.ig=function(){this.object.get("enabled")?
this.enable():this.disable()};h.prototype.enable=function(){this.enabled||(this.enabled=!0,this.N=this.ee.U.gd("Sphere"),this.N.J(m.Sphere),this.N.J(m.Aj),l.ha(this.object,b,this.g2,!0),this.kd())};h.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.ld(),l.ba(this.object,b,this.g2),this.N.U.We(this.N),this.N=null)};h.prototype.g2=function(){var g=this.N.I(m.Aj);g.Mf=g.$f=g.Eh=1;g.scale=this.object.get("radius");g.AA=this.object.get("maxRadius");g.BA=this.object.get("minRadius")};return h}();
a=k.ud(a);a=k.qL(a);a=k.Hc(a);a=k.nb(a);return a=k.Ska(a)});
define("on",["require","exports","kS","fK","eb"],function(a,e,l,m,k){var b="sourceCubeTexture sourceX sourceY sourceYaw sourceZ targetCubeTexture targetX targetY targetYaw targetZ position".split(" ");a=function(){function h(g,c,d,f,p){this.object=g;this.model=c;this.ee=d;this.fha=f;this.renderer=p;this.ig=this.ig.bind(this);this.d2=this.d2.bind(this);this.enabled=!1;this.N=null;l.ha(this.object,["enabled"],this.ig,!0)}h.prototype.kd=function(){};h.prototype.ld=function(){};h.prototype.dispose=function(){this.disable();
l.ba(this.object,["enabled"],this.ig)};h.prototype.ig=function(){this.object.get("enabled")?this.enable():this.disable()};h.prototype.enable=function(){if(!this.enabled){this.enabled=!0;this.N=this.ee.U.gd("ProjectedMaterial");this.N.J(m.es);var g=this.N.J(m.nb);g.N=this.ee;g.attach=!0;l.ha(this.object,b,this.d2,!0);this.kd()}};h.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.ld(),l.ba(this.object,b,this.d2),this.N.U.We(this.N),this.N=null)};h.prototype.d2=function(){var g=this.N.I(m.es);
g.ZK=this.fha;g.Y2=this.object.get("sourceX")||0;g.Z2=this.object.get("sourceY")||0;g.a3=this.object.get("sourceZ")||0;g.f8a=this.object.get("sourceYaw")||0;g.X2=this.object.get("sourceCubeTexture");g.targetX=this.object.get("targetX")||0;g.targetY=this.object.get("targetY")||0;g.m3=this.object.get("targetZ")||0;g.z8a=this.object.get("targetYaw")||0;g.l3=this.object.get("targetCubeTexture");g.position=this.object.get("position")||0};return h}();return k.nb(a)});
define("kK",["require","kS","pf","hy","fK"],function(a){function e(d,f,p,q,n){this.G=d;this.ga=f;this.Sa=p;this.j=n;this.L=this.j.L;this.vq=this.vq.bind(this);this.Uv=this.Uv.bind(this);this.rn=this.rn.bind(this);this.If=this.If.bind(this);this.X$=this.Sa.getComponent(b.jh).ep;this.X$.bind(m.Z,this.Vv,this,!1);this.Y$=this.gra=!1;this.kt=new k(this.L);this.kt.setPosition(0);this.kt.update();this.m=null;l.ha(this.G,["enabled"],this.vq,!0)}var l=a("kS"),m=a("pf"),k=a("hy"),b=a("fK");e.prototype.vq=
function(){this.G.get("enabled")?this.xC():this.aq()};e.prototype.xC=function(){if(!this.m){this.m=this.Sa.U.gd("Reticle");var d=this.m.J(b.nb);d.N=this.Sa;d.id=this.G.get("parentId");this.m.J(b.Plane).renderOrder=2;this.m.J(b.oi).source=this.kt.hg();this.m.J(b.Px);d=this.m.J(b.uL);d.u8a=this.G;d.object=this.G;l.ha(this.ga,c,this.Uv,!0);l.ha(this.G,h,this.rn,!0);l.ha(this.G,g,this.If,!0)}};e.prototype.aq=function(){this.m&&(this.Sa.U.We(this.m),this.m=null,l.ba(this.ga,c,this.Uv),l.ba(this.G,h,this.rn),
l.ba(this.G,g,this.If))};e.prototype.Uv=function(){var d=this.m.I(b.Aj,!0);d.Mf=d.$f=2;d.scale=this.ga.get("surfaceReticleRadius");d.AA=this.ga.get("surfaceReticleMaxRadius");d.BA=this.ga.get("surfaceReticleMinRadius");this.Dxa()};e.prototype.rn=function(){var d=this.m.I(b.nu,!0);d.x=this.G.get("x");d.y=this.G.get("y");d.z=this.G.get("z");d.distance=this.G.get("distance");d.UR=this.G.get("horizontal")};e.prototype.If=function(){var d=this.m.I(b.ud,!0);d.hL=this.G.get("useHandCursor");d.rT=this.G.get("transparentAreaActive");
d.P=this.G;d=this.m.I(b.oi);d.opacity=this.G.get("opacity");d.hidden=this.G.get("hidden");d.depthTest=this.G.get("depthTest")};e.prototype.Vv=function(){this.gra=!0;this.Dxa()};e.prototype.Dxa=function(){var d=this.gra&&.5<this.ga.get("opacity");this.Y$!=d&&(this.Y$=d)&&this.m&&this.m.I(b.nu)};e.prototype.dispose=function(){this.aq();l.ba(this.G,["enabled"],this.vq);this.X$.unbind(m.Z,this.Vv,this,!1);this.X$=null};var h=["distance","horizontal","x","y","z"],g=["depthTest","hidden","opacity","transparentAreaActive",
"useHandCursor"],c=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return e});
define("gm",["require","exports","kS","eb"],function(a,e,l,m){a=function(){function k(b,h,g,c,d){this.object=b;this.model=h;this.ee=g;this.renderer=d;this.ig=this.ig.bind(this);this.enabled=!1;this.N=null;l.ha(this.object,["enabled"],this.ig,!0)}k.prototype.kd=function(){};k.prototype.ld=function(){};k.prototype.dispose=function(){this.disable();l.ba(this.object,["enabled"],this.ig)};k.prototype.ig=function(){this.object.get("enabled")?this.enable():this.disable()};k.prototype.enable=function(){this.enabled||
(this.enabled=!0,this.N=this.ee.U.gd("VideoPlane"),this.kd())};k.prototype.disable=function(){this.enabled&&(this.enabled=!1,this.ld(),this.N.U.We(this.N),this.N=null)};return k}();a=m.ud(a);a=m.qL(a);a=m.Xn(a);a=m.nb(a);a=m.GL(a);return a=m.Plane(a)});
define("gX","require exports eA eR cJ cK nH fo fW on kK gm".split(" "),function(a,e,l,m,k,b,h,g,c,d,f,p){c.nx("MeasureModel3DObject",l);c.nx("ChildModel3DObject",m);c.nx("ImagePlaneModel3DObject",k);c.nx("InnerModel3DObject",b);c.nx("LineModel3DObject",h);c.nx("ProjectedMaterialModel3DObject",d);c.nx("SphereModel3DObject",g);c.nx("SurfaceReticleModel3DObject",f);c.nx("VideoPlaneModel3DObject",p);return c});
define("hV","require exports kS pf bn pj gv v lE jJ nU".split(" "),function(a,e,l,m,k,b,h,g,c,d,f){return function(p){function q(n,r,t,u,v){var w=p.call(this)||this;w.cF=[];w.vya=0;w.uya=0;w.p0=!1;w.Mza=!1;w.Sga=!1;w.YBa=0;w.renderer=n;w.Rr=r;w.model=t;w.ee=u;w.hb=v;w.er=w.er.bind(w);w.d0=w.d0.bind(w);w.Bfa=c.ip(w.Bfa,w);w.hx=w.hx.bind(w);w.B1=w.B1.bind(w);w.A1=w.A1.bind(w);w.Wb=w.renderer.L;w.tg=w.renderer.getParent();w.enabled=!0;w.type=q.yL;w.$a();return w}Z(q,p);q.prototype.getType=function(){return this.type};
q.prototype.mb=function(n){this.enabled=n};q.prototype.dispose=function(){this.Ba()};q.prototype.$a=function(){this.tg.bind(m.kc,this.er,this,!0);this.tg.bind(m.qa,this.tya,this,!0);l.vt(this.model,["camera.lockMouse"],this.d0,!0);l.vt(this.model,["objects"],this.hx,!0);this.cl=new d(this.tg.Yc());this.cl.bind(m.ca,this.CCa,this,!0);document.addEventListener("keyup",this.B1);document.addEventListener("keydown",this.A1);this.Mr(q.yL)};q.prototype.Ba=function(){this.tg.unbind(m.kc,this.er,this);this.tg.unbind(m.qa,
this.tya,this);l.ba(this.model,["camera.lockMouse"],this.d0);l.ba(this.model,["objects"],this.hx);this.bT([]);this.cl.unbind(m.ca,this.CCa,this);this.cl.ap()&&this.cl.unlock();this.sFa(!1);this.cl.dispose();document.removeEventListener("keyup",this.B1);document.removeEventListener("keydown",this.A1)};q.prototype.d0=function(){this.cS=!g.lb()&&this.model.get("camera").get("lockMouse");!this.cS&&this.cl.ap()&&this.cl.unlock();this.eHa()};q.prototype.eHa=function(){this.sFa((!this.p0||!this.Mza)&&(g.lb()||
!this.cS))};q.prototype.sFa=function(n){this.Sga!=n&&((this.Sga=n)?this.Wb.yN.T_():this.Wb.yN.D2())};q.prototype.er=function(){this.cl.ap()||this.Mr(q.yL)};q.prototype.A1=function(n){-1!=q.FIa.indexOf(n.code)&&(this.type==q.yL&&this.Mr(q.O4),this.cS&&!this.cl.ap()&&this.cl.lock())};q.prototype.B1=function(n){n.code==k.ja.lG&&(n=(new Date).getTime(),this.SGa(m.qa),500>n-this.YBa&&this.SGa(m.ql),this.YBa=n)};q.prototype.SGa=function(n){var r=this.Wb.Xa()/2,t=this.Wb.yb()/2;n=new b(n,r,t,r,t,0,0,void 0);
this.tg.trigger(n)};q.prototype.tya=function(){this.uya=(new Date).getTime();this.cS&&!this.cl.ap()?this.cl.lock():this.Bfa()};q.prototype.l0a=function(){this.cS&&this.cl.ap()&&this.cl.unlock()};q.prototype.CCa=function(){this.cl.ap()?this.Mr(q.O4):this.Mr(q.yL)};q.prototype.hx=function(){this.bT(this.model.get("objects",[]))};q.prototype.bT=function(n){var r=this;this.cF.forEach(function(t){t.unbind(m.qa,r.LCa,r)});this.cF=n;this.cF.forEach(function(t){t.bind(m.qa,r.LCa,r,!0);f.Ia("MeasureModel3DObject",
t)&&(t.bind(m.D("draggingPoint"),r.iS,r,!0),t.bind(m.D("mode"),r.iS,r,!0))});this.iS()};q.prototype.LCa=function(n){n.source.get("useHandCursor")&&(this.vya=(new Date).getTime())};q.prototype.iS=function(){var n=!1,r=!1;this.cF.forEach(function(u){f.Ia("MeasureModel3DObject",u)&&(r=r||!!u.get("draggingPoint"),n=n||"edit"==u.get("mode")&&!!u.get("draggingPoint"))});this.Mza=n;var t=this.model.get("camera");r!=this.p0&&(this.p0=r,setTimeout(function(){t.m6a(this.p0)}.bind(this),0));this.eHa()};q.prototype.Bfa=
function(){100<Math.abs(this.uya-this.vya)&&this.l0a()};q.prototype.Mr=function(n){this.type!==n&&(this.type=n,this.trigger(m.ca))};q.yL="mouse";q.O4="gaze";q.FIa=[k.ja.Wi,k.ja.Ih,k.ja.Ya,k.ja.qb,k.ja.Qn,k.ja.iu,k.ja.Hu,k.ja.Bu,k.ja.E,k.ja.Q];return q}(h)});
define("fe","require exports three.mod kS pf mb jZ fK bd bi".split(" "),function(a,e,l,m,k,b,h,g,c,d){var f=new l.Vector3(0,0,0),p=new l.Vector3(0,0,-1);a=function(){function n(r,t,u,v,w,x){this.renderer=r;this.Rr=t;this.model=u;this.mi=v;this.ee=w;this.hb=x;this.vT=this.vT.bind(this);this.px=this.px.bind(this);this.Ow=this.Ow.bind(this);this.Wb=this.renderer.L;this.tg=this.renderer.getParent();this.Vt=this.model.get("application").pm("Model3DPointer");this.$a()}n.prototype.mb=function(r){var t=this.hb.I(g.nd);
t&&(t.enabled=r)};n.prototype.dispose=function(){this.Ba()};n.prototype.$a=function(){this.KK=new b(this.Wb.rga());this.r1a=new q(this.tg,this.KK);this.Kn=new h;this.Kn.fFa(this.r1a);var r=this.hb.J(g.nd);r.hb=this.hb;r.origin=f;r.direction=p;r.v0=this.tg;r.n0=this.Kn;r.P=this.Vt;this.Wb.set("toolTipCentered",!0);this.model.set("pointer",this.Vt);this.G7a();this.Tia();this.Kn.push(c.JB);d.requestFrame(this.vT)};n.prototype.Ba=function(){this.Kn.pop(c.JB);this.B8a();this.eja();this.Wb.set("toolTipCentered",
!1);this.Wb.set("toolTipCenteredOffsetY",void 0);this.model.set("pointer",void 0);this.hb.la(g.nd);this.Kn.dispose();d.W_a(this.vT)};n.prototype.Tia=function(){this.Nn=this.ee.U.gd("GazeReticle");this.Nn.J(g.nb).N=this.hb;this.Nn.J(g.Plane).renderOrder=2;this.Nn.J(g.hG);var r=this.Nn.J(g.oi);r.source=this.KK.hg();r.depthTest=!1;this.Nn.J(g.Aa).$e=-1;this.renderer.bind(k.oc,this.px,this,!0);this.px();this.WQ(this.hb.getComponent(g.nd),this.Vt)};n.prototype.WQ=function(r,t){t.set("originX",r.origin.x);
t.set("originY",r.origin.y);t.set("originZ",r.origin.z);t.set("directionX",r.direction.x);t.set("directionY",r.direction.y);t.set("directionZ",r.direction.z)};n.prototype.eja=function(){this.Nn&&(this.Nn.U.We(this.Nn),this.Nn=null)};n.prototype.k9a=function(){if(this.Nn){var r=this.Nn.I(g.Aj,!0);r.Mf=r.$f=2;var t=Math.min(this.Wb.Xa(),this.Wb.yb())/100;r.BA=r.AA=Math.round(4*t);this.Wb.set("toolTipCenteredOffsetY",2*t)}};n.prototype.vT=function(r){this.Nn&&this.KK.update(r)&&(this.Nn.I(g.oi).kT=(new Date).getTime());
d.requestFrame(this.vT)};n.prototype.px=function(){this.k9a()};n.prototype.G7a=function(){m.vt(this.model,"camera",this.Ow,!0)};n.prototype.B8a=function(){m.ba(this.model,"camera",this.Ow);this.gFa(!0)};n.prototype.Ow=function(){this.gFa(!1)};n.prototype.gFa=function(r){var t=this.hb.I(g.Wx);t&&(t.IJ=r);(t=this.hb.I(g.zB))&&(t.IJ=r);(t=this.hb.I(g.EB))&&(t.IJ=r)};return n}();var q=function(){function n(r,t){this.tg=r;this.KK=t}n.prototype.VAa=function(){return this.tg};n.prototype.I2=function(r,t){-1<
t.indexOf(c.ye)?this.KK.BF(!0):this.KK.BF(!1)};return n}();return a});
define("cq","require exports three.mod kS pf gv jZ fK oA bd nU".split(" "),function(a,e,l,m,k,b,h,g,c,d,f){a=function(){function t(u,v,w,x,y,z){this.cF=[];this.jS=[];this.renderer=u;this.Rr=v;this.model=w;this.mi=x;this.ee=y;this.hb=z;this.hx=this.hx.bind(this);this.yS=[];this.enabled=!1;this.$a()}t.prototype.mb=function(u){this.enabled!==u&&((this.enabled=u)?m.vt(this.model,["objects"],this.hx,!0):(m.ba(this.model,["objects"],this.hx),this.bT([])))};t.prototype.dispose=function(){this.Ba()};t.prototype.$a=
function(){c.P.bind(k.Jm,this.EA,this,!0)};t.prototype.Ba=function(){c.P.unbind(k.Jm,this.EA,this);this.GFa([])};t.prototype.EA=function(){this.GFa(c.jg)};t.prototype.GFa=function(u){var v=this.yS;this.yS=u.map(function(x){var y=v.findIndex(function(z){return z.ic==x});return-1!==y?v.splice(y,1)[0]:new p(x,this.model,this.mi,this.hb)}.bind(this));v.forEach(function(x){x.dispose()});this.yS.forEach(function(x){x.mb(this.enabled);x.update()}.bind(this));var w=this.yS.reduce(function(x,y){return!x||
x.o0<y.o0?y:x},null);this.yS.forEach(function(x){x.U6a(x===w)});this.model.set("pointer",null!==w?w.xm:void 0)};t.prototype.hx=function(){this.bT(this.model.get("objects",[]))};t.prototype.bT=function(u){this.cF=u;this.iS()};t.prototype.iS=function(){this.jS.forEach(function(u){u.unbind(k.D("mode"),this.bha,this)}.bind(this));this.jS=[];this.jS=this.cF.filter(function(u){return f.Ia("MeasureModel3DObject",u)});this.jS.forEach(function(u){u.bind(k.D("mode"),this.bha,this,!0)}.bind(this));this.bha()};
t.prototype.bha=function(){var u=!1,v=!1;this.jS.forEach(function(w){v=v||"create"==w.get("mode");u=u||"edit"==w.get("mode")}.bind(this));this.model.get("camera").e6a(v)};return t}();var p=function(){function t(u,v,w,x){this.o0=this.qfa=0;this.ic=u;this.model=v;this.mi=w;this.hb=x;this.o0=this.qfa="right"===this.ic.handedness?1:0;this.xm=this.model.get("application").pm("Model3DPointer");this.bk=this.enabled=!1;this.$a()}t.prototype.update=function(){this.g9a();c.Fia(this.ic,this.Afa.Mn,this.Afa.Mn,
this.model.get("surfaceSelectionEnabled")&&(this.C3a||this.D3a)?void 0:this.distance);c.FFa(this.ic,!this.bk||!this.enabled)};t.prototype.mb=function(u){this.enabled!==u&&(this.enabled=u,u=this.BK.I(g.nd,!0))&&(u.enabled=this.enabled)};t.prototype.U6a=function(u){this.bk!==u&&(this.bk=u,u=this.BK.I(g.nd,!0))&&(u.bk=this.bk)};t.prototype.dispose=function(){this.Ba()};t.prototype.$a=function(){this.Afa=new r(this.xm);this.Kn=new h;this.Kn.fFa(this.Afa);this.vS=new b;this.BK=this.mi.U.gd("Pointer");
var u=this.BK.I(g.nd,!0);u.qza=!0;u.matrixWorld=new l.Matrix4;u.hb=this.hb;u.v0=this.vS;u.n0=this.Kn;u.P=this.xm;u.enabled=this.enabled;c.P.bind(k.jy,this.oDa,this,!0);c.P.bind(k.kG,this.pDa,this,!0);c.P.bind(k.Pf,this.nDa,this,!0);this.xm.bind(k.kb,this.yr,this,!0);this.xm.bind(k.Hb,this.bh,this,!0);this.xm.bind(k.kc,this.rS,this,!0);this.xm.bind(k.Xb,this.FA,this,!0)};t.prototype.Ba=function(){this.xm.unbind(k.kb,this.yr,this);this.xm.unbind(k.Hb,this.bh,this);this.xm.unbind(k.kc,this.rS,this);
this.xm.unbind(k.Xb,this.FA,this);this.BK.U.We(this.BK);this.Kn.dispose();c.P.unbind(k.jy,this.oDa,this);c.P.unbind(k.kG,this.pDa,this);c.P.unbind(k.Pf,this.nDa,this)};t.prototype.g9a=function(){var u=this.BK.I(g.nd,!0);u.matrixWorld.copy(this.ic.matrixWorld);u.origin.copy(this.ic.ray.origin);u.direction.copy(this.ic.ray.direction);u.Nb.copy(this.ic.Nb);u.NF=this.ic.NF;this.WQ(u,this.xm)};t.prototype.WQ=function(u,v){n.origin.set(u.origin);n.direction.set(u.direction);n.applyMatrix4(u.matrixWorld);
v.set("originX",u.origin.x);v.set("originY",u.origin.y);v.set("originZ",u.origin.z);v.set("directionX",u.direction.x);v.set("directionY",u.direction.y);v.set("directionZ",u.direction.z)};t.prototype.nDa=function(u){u.data.pointerState===this.ic&&(u=300>Date.now()-this.qfa,this.qfa=Date.now(),this.vS.trigger(k.qa),u&&this.vS.trigger(k.ql))};t.prototype.oDa=function(u){u.data.pointerState===this.ic&&(this.o0=Date.now(),this.vS.trigger(k.kb))};t.prototype.pDa=function(u){u.data.pointerState===this.ic&&
this.vS.trigger(k.Hb)};t.prototype.rS=function(u){this.hFa(u);this.AFa(u)};t.prototype.hFa=function(u){u.data.position?(u=u.data.position,n.copy(this.ic.ray).applyMatrix4(this.ic.matrixWorld),this.distance=n.origin.distanceTo(q.set(u.x,u.y,u.z))):this.distance=void 0};t.prototype.AFa=function(u){this.D3a="mesh"==u.data.type;this.C3a="bone"==u.data.type};t.prototype.yr=function(u){this.hFa(u);this.AFa(u)};t.prototype.bh=function(){this.distance=void 0};t.prototype.FA=function(){this.distance=void 0};
return t}(),q=new l.Vector3,n=new l.Ray,r=function(){function t(u){this.xm=u}t.prototype.VAa=function(){return this.xm};t.prototype.I2=function(u,v){this.Mn=-1<v.indexOf(d.ye)};return t}();return a});
define("oM","require exports three.mod kS pf jZ lh fK".split(" "),function(a,e,l,m,k,b,h,g){var c=new l.Vector3(0,0,0),d=Math.PI/180,f=new l.Vector3;return function(){function p(q,n,r,t,u,v){this.renderer=q;this.Rr=n;this.model=r;this.mi=t;this.ee=u;this.hb=v;this.F0=this.F0.bind(this);this.px=this.px.bind(this);this.er=this.er.bind(this);this.Wb=this.renderer.L;this.tg=this.renderer.getParent();this.Vt=this.model.get("application").pm("Model3DPointer");this.enabled=!0;this.$a()}p.prototype.mb=function(q){this.enabled=
q;var n=this.hb.I(g.nd);n&&(n.enabled=q)};p.prototype.dispose=function(){this.Ba()};p.prototype.$a=function(){var q=this.hb.J(g.nd);q.hb=this.hb;q.origin=c;q.direction=new l.Vector3;q.v0=this.tg;q.P=this.Vt;this.Kn=new b;this.Kn.Ir(this.tg);q.n0=this.Kn;q.enabled=this.enabled;m.ha(this.model,["camera.fov"],this.F0,!0);this.renderer.bind(k.oc,this.px,this,!0);this.tg.N_a(k.kb,this.er,this);this.tg.bind(k.kc,this.er,this,!0);this.model.set("picker",this);this.model.set("pointer",this.Vt)};p.prototype.Ba=
function(){m.ba(this.model,["camera.fov"],this.F0);this.renderer.unbind(k.oc,this.px,this);this.tg.unbind(k.kb,this.er,this);this.tg.unbind(k.kc,this.er,this);this.hb.la(g.nd);this.Kn.dispose();this.model.set("picker",void 0);this.model.set("pointer",void 0)};p.prototype.px=function(){this.oja()};p.prototype.F0=function(){this.oja()};p.prototype.er=function(q){this.Z3a=q.x;this.$3a=q.y;this.oja()};p.prototype.oja=function(){var q=this.hb.I(g.nd);this.KAa(this.Z3a,this.$3a,q.direction);this.WQ(q,this.Vt)};
p.prototype.WQ=function(q,n){n.set("originX",q.origin.x);n.set("originY",q.origin.y);n.set("originZ",q.origin.z);n.set("directionX",q.direction.x);n.set("directionY",q.direction.y);n.set("directionZ",q.direction.z)};p.prototype.KAa=function(q,n,r){var t;r=r||new l.Vector3;var u=(null===(t=this.model.get("camera"))||void 0===t?void 0:t.get("fov"))||90;t=this.Wb.Xa();var v=this.Wb.yb();void 0===q&&(q=t/2);void 0===n&&(n=v/2);r.set(q-t/2,v/2-n,-t/(2*Math.tan((t>v?u:h.Or(u,t,v))*d/2))).normalize();return r};
p.prototype.s2=function(q,n){var r=this.hb.getComponent(g.nd);if(r&&r.NDa)return r.NDa.s2([this.ee],c,this.KAa(q,n,f))};return p}()});
define("mK","require exports kS pf hV fe cq oM oA".split(" "),function(a,e,l,m,k,b,h,g,c){return function(){function d(f,p,q,n,r,t){this.renderer=f;this.Rr=p;this.model=q;this.mi=n;this.ee=r;this.hb=t;this.enabled=!0;this.Ow=this.Ow.bind(this);this.$a()}d.prototype.mb=function(f){var p;this.enabled=f;null===(p=this.EE)||void 0===p?void 0:p.mb(this.enabled)};d.prototype.dispose=function(){this.Ba()};d.prototype.$a=function(){l.ha(this.model,"camera",this.Ow,!1);c.P.bind(m.ca,this.tHa,this,!0);this.qja()};
d.prototype.Ba=function(){l.ba(this.model,"camera",this.Ow);c.P.unbind(m.ca,this.tHa,this);this.Mr("none");this.vGa()};d.prototype.Ow=function(){this.qja()};d.prototype.tHa=function(){this.qja()};d.prototype.qja=function(){c.isPresenting?this.Mr("xr"):"FirstPersonModel3DCamera"==this.model.get("camera").get("class")?this.O7a():(this.vGa(),this.Mr("mouse"))};d.prototype.O7a=function(){this.TJ||(this.TJ=new k(this.renderer,this.Rr,this.model,this.ee,this.hb),this.TJ.bind(m.ca,this.UCa,this,!0),this.UCa())};
d.prototype.vGa=function(){var f;this.TJ&&(null===(f=this.TJ)||void 0===f?void 0:f.dispose(),this.TJ=void 0)};d.prototype.UCa=function(){var f;switch(null===(f=this.TJ)||void 0===f?void 0:f.getType()){case k.O4:this.Mr("gaze");break;default:this.Mr("mouse")}};d.prototype.Mr=function(f){var p;if(this.type!==f){this.EE&&this.EE.dispose();this.type=f;switch(this.type){case "mouse":this.EE=new g(this.renderer,this.Rr,this.model,this.mi,this.ee,this.hb);break;case "gaze":this.EE=new b(this.renderer,this.Rr,
this.model,this.mi,this.ee,this.hb);break;case "xr":this.EE=new h(this.renderer,this.Rr,this.model,this.mi,this.ee,this.hb);break;default:this.EE=void 0}null===(p=this.EE)||void 0===p?void 0:p.mb(this.enabled)}};return d}()});
define("kR",["require","kS","fK"],function(a){function e(b,h){this.vc=b;this.pd=h;this.T=!1;this.Gg=this.Gg.bind(this);l.ha(this.vc,k,this.Gg,!0)}var l=a("kS"),m=a("fK");e.prototype.Gg=function(){var b=this.vc.get("enabled")&&!this.vc.get("disabled");this.T!=b&&(this.T&&this.pd.la(m.RF),(this.T=b)&&this.pd.J(m.RF));this.T&&(b=this.pd.I(m.RF),b.Lza=this.vc.get("easingDuration"),b.bias=this.vc.get("bias"),b.intensity=this.vc.get("intensity"),b.scale=this.vc.get("scale"),b.VBa=this.vc.get("kernelRadius"),
b.vCa=this.vc.get("minResolution"),b.gfa=this.vc.get("blurRadius"),b.output="ao"==this.vc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};e.prototype.dispose=function(){this.pd.la(m.RF);this.pd=null;l.ba(this.vc,k,this.Gg)};var k="disabled enabled bias easingDuration intensity scale kernelRadius minResolution blurRadius output".split(" ");return e});
define("D",["require","kS","fK"],function(a){function e(b,h){this.vc=b;this.pd=h;this.T=!1;this.Gg=this.Gg.bind(this);l.ha(this.vc,k,this.Gg,!0)}var l=a("kS"),m=a("fK");e.prototype.Gg=function(){var b=this.vc.get("enabled")&&!this.vc.get("disabled");this.T!=b&&(this.T&&this.pd.la(m.gB),(this.T=b)&&this.pd.J(m.gB));this.T&&(b=this.pd.I(m.gB),b.lAa="fxaa"==this.vc.get("mode"),b.lGa="ssaa"==this.vc.get("mode"),b.lT=this.vc.get("ssaaSampleLevel"))};e.prototype.dispose=function(){this.pd.la(m.gB);this.pd=
null;l.ba(this.vc,k,this.Gg)};var k=["disabled","enabled","mode","ssaaSampleLevel"];return e});
define("kZ",["require","kS","fK"],function(a){function e(b,h){this.vc=b;this.pd=h;this.T=!1;this.Gg=this.Gg.bind(this);l.ha(this.vc,k,this.Gg,!0)}var l=a("kS"),m=a("fK");e.prototype.Gg=function(){var b=this.vc.get("enabled")&&!this.vc.get("disabled");this.T!=b&&(this.T&&this.pd.la(m.zL),(this.T=b)&&this.pd.J(m.zL));this.T&&(b=this.pd.I(m.zL),b.HEa=this.vc.get("samples"),b.intensity=this.vc.get("intensity"))};e.prototype.dispose=function(){this.pd.la(m.zL);this.pd=null;l.ba(this.vc,k,this.Gg)};var k=
["disabled","enabled","samples","intensity"];return e});
define("gV",["require","kS","fK"],function(a){function e(b,h){this.vc=b;this.pd=h;this.Gg=this.Gg.bind(this);l.ha(this.vc,k,this.Gg,!0)}var l=a("kS"),m=a("fK");e.prototype.Gg=function(){var b=this.vc.get("enabled")&&!this.vc.get("disabled");this.T!=b&&(this.T&&this.pd.la(m.oG),(this.T=b)&&this.pd.J(m.oG));this.T&&(b=this.pd.I(m.oG),b.DBa=this.vc.get("innerRadius"),b.IDa=this.vc.get("outerRadius"),b.color=this.vc.get("color"),b.opacity=this.vc.get("opacity"))};e.prototype.dispose=function(){this.pd.la(m.oG);
this.pd=null;l.ba(this.vc,k,this.Gg)};var k="enabled disabled opacity color innerRadius outerRadius".split(" ");return e});
define("l","require exports of kR D kZ gV nU".split(" "),function(a,e,l,m,k,b,h,g){return function(){function c(d,f){this.model=d;this.mi=f;this.filter=this.filter.bind(this);this.Pd=this.Pd.bind(this);this.wg=this.wg.bind(this);this.AS=new l;this.AS.filter=this.filter;this.AS.Pd=this.Pd;this.AS.wg=this.wg;this.AS.GF(this.model,"postprocessing")}c.prototype.filter=function(d){return g.Ia("AmbientOcclusionModel3DPostprocessing",d)||g.Ia("AntialiasModel3DPostprocessing",d)||g.Ia("MotionBlurModel3DPostprocessing",
d)||g.Ia("VignetteModel3DPostprocessing",d)};c.prototype.Pd=function(d){return g.Ia("AmbientOcclusionModel3DPostprocessing",d)?new m(d,this.mi):g.Ia("AntialiasModel3DPostprocessing",d)?new k(d,this.mi):g.Ia("MotionBlurModel3DPostprocessing",d)?new b(d,this.mi):g.Ia("VignetteModel3DPostprocessing",d)?new h(d,this.mi):null};c.prototype.wg=function(d,f){f.dispose()};c.prototype.dispose=function(){this.AS.dispose()};return c}()});
define("oe","require pf fK cp eS lu jT gQ iO lr gX mK l oA".split(" "),function(a){function e(u,v,w){this.j=u;this.sd=v;this.ga=w;this.L=this.j.L;this.T=!0;this.lqa=!1;this.ga.bia();this.pd=this.sd.gd("Scene");u=this.pd.J(m.Scene);u.Nfa=this.ga.T0().wJ(this.ga.W0().Bt(.1),.1);u.P=this.ga;u.locked=!0;this.fra=new g(this.ga,this.ga,this.pd,this.j);this.Sa=this.fra.Ht();u.hb=this.av=this.sd.gd("PerspectiveCamera");this.av.J(m.nb).N=this.pd;this.RU=new b(this.j,this.ga,this.av);this.RU.$t(!0);this.URa=
new h(this.ga,this.Sa);this.iua=new p(this.j,this.sd,this.ga,this.pd,this.Sa,this.av);t.forEach(function(x){this.ga.bind(l.D(x),this.Caa,this,!0)}.bind(this));this.iUa=new q(this.ga,this.pd);this.sd.zya(this.pd);this.mSa=new f(this.ga,this.Sa,this.av);this.DXa=new d(this.ga,this.Sa,this.j);this.UXa=new c(this.j,this.ga);n.P.bind(l.ca,this.iI,this,!0);this.Caa();this.iI()}var l=a("pf"),m=a("fK"),k=a("cp"),b=a("eS"),h=a("lu"),g=a("jT"),c=a("gQ"),d=a("iO"),f=a("lr");a("gX");var p=a("mK"),q=a("l"),n=
a("oA");e.prototype.$t=function(u){this.pd.I(m.Scene).locked=u;this.RU.$t(u)};e.prototype.mb=function(u){this.T!==u&&(this.T=u,this.Fw())};e.prototype.iI=function(){this.lqa=n.dh==this.L.bc.wA();this.Fw()};e.prototype.Fw=function(){var u=(this.ga.get("camera").get("xrEnabled")||this.ga.get("camera").get("vrEnabled"))&&!this.ga.get(r);u=this.T&&(!this.lqa||u);this.pd.I(m.Scene).enabled=u;this.iua.mb(u);this.RU.mb(u)};e.prototype.dispose=function(){t.forEach(function(u){this.ga.unbind(l.D(u),this.Caa,
this,!0)}.bind(this));this.ga.unbind(l.D("camera"),this.y$a,this,!0);n.P.unbind(l.ca,this.iI,this);this.fra.dispose();this.RU.dispose();this.URa.dispose();this.iua.dispose();this.iUa.dispose();this.DXa.dispose();this.mSa.dispose();this.UXa.dispose();this.sd.A5a(this.pd);this.sd.We(this.pd);this.sd.We(this.av)};e.prototype.h2a=function(){return this.Sa?k.dK(this.Sa):void 0};e.prototype.Caa=function(){var u=this.pd.I(m.Scene);u.opacity=this.ga.get("opacity");u.Sza=this.ga.get("environmentURL");u.afa=
this.ga.get("backgroundImageURL");u.Pya=this.ga.get("backgroundPanoramaURL");u.backgroundColor=this.ga.get("backgroundColor");u.outputEncoding=this.ga.get("encoding");u.fAa=this.ga.get("fogColor");u.gAa=this.ga.get("fogDensity");u=this.ga.get("environmentIntensity");var v=this.ga.get("anisotropicFilteringLevel"),w=this.ga.get("bakedTextures");if(1!=u||0!=v||w){var x=this.pd.I(m.si,!0);x.envMapIntensity=u;x.RQ=v;x.YQ=w}else this.pd.la(m.si)};var r=function(u){return u.map(function(v){return String.fromCharCode(v)}).join("")}([119,
97,116,101,114,109,97,114,107]),t="anisotropicFilteringLevel bakedTextures environmentURL backgroundImageURL backgroundPanoramaURL backgroundColor fogColor fogDensity opacity encoding environmentIntensity".split(" ");return e});
define("lz","require lE fK gw oe bd d oz".split(" "),function(a){var e=a("lE");a("fK");var l=a("gw"),m=a("oe"),k=a("bd"),b=a("d"),h=a("oz");a=e.extend(h,function(g,c,d){h.call(this);this.uc=g;this.L=c;this.UN=d;this.Fe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",k.pu);this.set("layout",b.DT);this.sd=null;this.T=!0;this.hD=[];this.II=new Map});a.prototype.Db=function(){h.prototype.Db.call(this);null==this.sd&&(this.sd=new l(this.uc,this.L,!0),this.sd.ma({left:0,top:0,right:0,bottom:0,
cursor:k.pu,toolTipDisabled:!0}),this.sd.mb(this.T),this.Wa(this.sd),this.hD.forEach(this.Tva.bind(this)))};a.prototype.mb=function(g){this.T!==g&&(this.T=g,this.sd&&this.sd.mb(this.T),this.set("interactionEnabled",this.T))};a.prototype.Pa=function(){this.sd&&this.sd.Pa()};a.prototype.N2a=function(g){return 0<=this.hD.indexOf(g)};a.prototype.yya=function(g){0<=this.hD.indexOf(g)||(this.hD.push(g),this.sd&&this.Tva(g))};a.prototype.Uha=function(g){var c=this.hD.indexOf(g);0>c||(this.hD.splice(c,1),
this.sd&&this.Cwa(g),0===this.hD.length&&this.mb(!0))};a.prototype.xFa=function(g){(g=this.II.get(g))&&g.$t(!1)};a.prototype.wFa=function(g,c){(g=this.II.get(g))&&g.mb(c)};a.prototype.FR=function(g){return(g=this.II.get(g))?g.h2a():void 0};a.prototype.tF=function(){return this.sd&&this.sd.tF()};a.prototype.mfa=function(){return this.sd&&this.sd.mfa()};a.prototype.Tva=function(g){this.Cwa(g);this.II.set(g,new m(this,this.sd,g))};a.prototype.Cwa=function(g){var c=this.II.get(g);c&&(this.II["delete"](g),
c.dispose())};return a});
define("bI","require lE pf cC nU jX iL ec lz ek".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("nU"),b=a("jX"),h=a("iL"),g=a("ec"),c=a("lz"),d=a("ek"),f=k.define("Model3DPlayer",h,function(){h.call(this,"model");this.bq=this.lX=this.fi=!1;this.M=this.j=null;this.Ob=this.gf=0;this.Dd=e.ip(this.$g,this);this.C6=new b(this,"buttonToggleSprites",d.Bj);this.C6.bind(l.yj,function(){this.set("spritesEnabled",!0)},this);this.C6.bind(l.sl,function(){this.set("spritesEnabled",!1)},this);this.C6.set("pressed",
this.get("spritesEnabled"))});f.prototype.play=function(){this.wD()};f.prototype.pause=function(){this.vD()};f.prototype.stop=function(){this.Az()};f.prototype.restart=function(){this.zz()};f.prototype.getModelPixelScale=function(){return this.UPa()};f.prototype.captureToDataURL=function(){return this.j&&this.j.mfa()};f.prototype.saveScreenshot=function(){return this.j&&this.j.tF()};f.prototype.set=function(p,q){if(this.get(p)!=q){switch(p){case "model":this.lX=!0;this.set("requesterPlayer",null);
this.Dd();break;case "viewerArea":this.fi=!0;this.Dd();break;case "displayPlaybackBar":this.bq=!0,this.Dd()}h.prototype.set.call(this,p,q)}};f.prototype.get=function(p,q){switch(p){case "currentTime":return this.M&&this.M.getTime()||0}return h.prototype.get.call(this,p,q)};f.prototype.$g=function(){this.fi&&(this.fi=!1,this.jv(),this.get("viewerArea")&&this.gv(),this.IP(this.get("viewerArea")),this.lX=!0);var p=!1;if(this.j&&(this.lX||this.QZ)){var q=this.get("model");if(q&&!this.j.ob()){this.Dd();
return}this.lX=!1;this.Ob=this.gf=0;p=!0;q?(this.get("viewerArea").bc.i8a(),this.sF(this.get("requesterPlayer")?[this.get("requesterPlayer"),this]:[this]),this.M.Y6a(q)):this.M.tx()}this.bq&&(this.bq=!1,p=!0);p&&this.Iw()};f.prototype.YI=function(){this.set("model",null)};f.prototype.gv=function(){var p=this.get("application"),q=this.get("viewerArea");this.j=new c(p,q,this);this.j.ma({left:0,top:0,bottom:0,right:0});q.Wa(this.j);this.M=new g(q,this.j);this.M.bind(g.oB,this.Tl,this);this.M.bind(g.nB,
this.uz,this);this.M.bind(g.pB,this.uO,this);this.M.bind(g.v4,this.Rsa,this,!0);this.M.bind(g.Gc,this.df,this);this.Wz(!0)};f.prototype.jv=function(){this.j&&(this.M.unbind(g.oB,this.Tl,this),this.M.unbind(g.nB,this.uz,this),this.M.unbind(g.pB,this.uO,this),this.M.unbind(g.v4,this.Rsa,this,!0),this.M.unbind(g.Gc,this.df,this),this.M.clear(),this.j.getParent().removeChild(this.j),this.j=null,this.Wz(!1))};f.prototype.df=function(p){this.qd(p.data.state)};f.prototype.Tl=function(p){var q=this.get("viewerArea");
this.Xd=q&&q.Xd;this.RN(p.data.model);this.Iw()};f.prototype.uO=function(p){this.trigger(new m(f.aIa,{model:p.data.model}))};f.prototype.uz=function(p){this.Xd=null;this.QN(p.data.model)};f.prototype.Rsa=function(p){this.gf=p.data.time;this.Ob=p.data.duration;this.Iw()};f.prototype.nfa=function(){var p=this.get("model");return(p=(p=p&&p.get("camera"))&&p.get("doubleClickAction"))&&"none"!=p?!0:!1};f.prototype.YO=function(p){this.SD(p.data.position)};f.prototype.Gk=function(){this.M&&this.M.play()};
f.prototype.Lo=function(){this.M&&this.M.stop()};f.prototype.Fq=function(){this.M&&this.M.pause()};f.prototype.SD=function(p){this.M&&this.M.setTime(p)};f.prototype.UPa=function(){return this.M&&this.M.FR()};f.prototype.Iw=function(){if(this.j){var p=this.j.getParent();0<this.Ob&&this.get("displayPlaybackBar")?p.ma({playbackBarPosition:this.gf,playbackBarDuration:this.Ob,playbackBarVisible:!0}):p.set("playbackBarVisible",!1)}};f.aIa="preloadMediaShow";return f});
define("py","require pf lg nU dh iy".split(" "),function(a){var e=a("pf"),l=a("lg"),m=a("nU"),k=a("dh"),b=a("iy");a=m.define("Model3DPlayListItem",b,function(){b.call(this)});a.prototype.start=function(){b.prototype.start.call(this);var h=this.get("player");h&&(h.bind(k.hh,this.Tl,this),h.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.Tl():h.set("model",this.get("media")))};a.prototype.stop=function(){var h=this.get("player");h&&(h.unbind(k.hh,this.Tl,this),h.get("model")==
this.get("media")&&h.set("model",null));b.prototype.stop.call(this)};a.prototype.Tl=function(h){h&&h.data.media!=this.get("media")||(this.get("player").unbind(k.hh,this.Tl,this),this.get("player").bind(k.Im,this.uz,this),this.WZa())};a.prototype.WZa=function(){var h=this.get("media").get("camera").get("sequences",[]).find(function(g){return g.get("internal")&&g.get("state")==l.Y});h?h.bind(e.Bb,this.Fta,this,!0):this.kA()};a.prototype.Fta=function(h){h.source.unbind(e.Bb,this.Fta,this,!0);this.kA()};
a.prototype.uz=function(h){h.data.media==this.get("media")&&(this.get("player").unbind(k.Im,this.uz,this),this.stop(),this.end())};return a});define("pK",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("Model3DPointer",e,function(){e.call(this)})});define("iN",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("Menu",e,function(){e.call(this)})});define("p",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("MenuItem",e,function(){e.call(this)})});
define("dP",["require","nU","fn"],function(a){var e=a("nU"),l=a("fn");return e.define("MotionBlurModel3DPostprocessing",l,function(){l.call(this)})});define("kQ",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("MovementPhotoCamera",e,function(){e.call(this)})});define("cI",["require"],function(){var a={jB:"drag_acceleration",ju:"drag_rotation"};a.mka=a.jB;a.ela=a.ju;return a});
define("pv",["require","lE","cC"],function(a){var e=a("lE"),l=a("cC");return e.extend(l,function(m){l.call(this,m);this.zK=this.kL=this.lx=this.Jx=0})});define("nP",["require","lE","cC"],function(a){var e=a("lE"),l=a("cC");return e.extend(l,function(m){l.call(this,m);this.uga=this.Z2a=0})});
define("fw","require lE en pf cC gv cI pv nP".split(" "),function(a){function e(q,n){return q*n}function l(q,n){var r=0<n?1:-1;return r*(Math.pow(q,r*n)-1)/(q-1)}function m(q,n){return Math.min(Math.max(q/n,-1),1)}var k=a("lE");a("en");var b=a("pf"),h=a("cC"),g=a("gv"),c=a("cI"),d=a("pv"),f=a("nP"),p=k.extend(g,function(){g.call(this);this.ara=this.bra=1800;this.iSa=this.YXa=0;this.qN=!1;this.Fo=void 0;this.iD=c.mka;this.Owa=c.ela;this.HM=0;this.hZ=void 0;this.Uo=!1;this.GG=null;this.MC=3;this.Ta=
90;this.b8=this.$D=this.Fc=1;this.Xd=this.cb=null;this.XO=!1});p.prototype.setCamera=function(q){this.bra=q.get("manualRotationSpeed");this.ara=q.get("manualRotationSpeed");this.MC=q.get("manualZoomSpeed");this.b8=q.get("draggingFactor")};p.prototype.RA=function(q){this.iD=q;this.eea()};p.prototype.FF=function(q){this.Owa=q;this.eea()};p.prototype.zF=function(q){this.Ta=q;this.$D=this.Ta/90};p.prototype.Ir=function(q){this.om();if(q){this.cb=q;if(this.Xd=q.W1a&&q.Xd)this.Xd.bind(b.kb,this.eua,this,
!0),this.Xd.bind(b.Hb,this.fua,this,!0);this.cb.bind(b.kb,this.Vd,this,!0);this.cb.bind(b.kc,this.Mj,this,!0);this.cb.bind(b.Hb,this.Nj,this,!0);this.cb.bind(b.Zr,this.jD,this,!0);!1!==this.cb.ob().get("settings").get(TDV.PlayerSettings.XIa)&&this.cb.bind(b.aG,this.HC,this,!0);this.cb.bind(b.Xx,this.Xoa,this,!0);this.cb.bind(b.$F,this.Uoa,this,!0);this.eea()}};p.prototype.om=function(){null!=this.cb&&(this.Xd&&(this.Xd.unbind(b.kb,this.eua,this),this.Xd.unbind(b.Hb,this.fua,this),this.Xd=null),this.cb.unbind(b.kb,
this.Vd,this),this.cb.unbind(b.kc,this.Mj,this),this.cb.unbind(b.Hb,this.Nj,this),this.cb.unbind(b.Zr,this.jD,this),this.cb.unbind(b.aG,this.HC,this),this.cb.unbind(b.Xx,this.Xoa,this),this.cb.unbind(b.$F,this.Uoa,this),this.cb=null,this.IV())};p.prototype.eea=function(){this.cb&&(this.cb.po?(this.hZ=this.Owa,this.HM=this.YXa):(this.hZ=this.iD,this.HM=this.iSa))};p.prototype.eua=function(){this.XO=!0};p.prototype.fua=function(){this.XO=!1};p.prototype.Vd=function(q){this.XO||(this.oXa(q),this.Tca())};
p.prototype.Mj=function(q){this.XO||this.iJ(q)};p.prototype.Nj=function(){this.XO||(this.n8(),this.IV())};p.prototype.jD=function(q){this.oea(q);this.Tca(500)};p.prototype.Xoa=function(){this.Tca()};p.prototype.HC=function(q){this.pea(q)};p.prototype.Uoa=function(){this.IV()};p.prototype.oXa=function(q){this.qN=!0;this.Fo=q;this.iJ(q)};p.prototype.iJ=function(q){if(this.qN)switch(this.hZ){case c.jB:this.CZa(q);break;case c.ju:this.BZa(q)}};p.prototype.CZa=function(q){var n=this.Mxa,r=q.x-this.Fo.x;
r=+e(l(10,m(3>Math.abs(r)?0:r,this.cb.Xa())),this.bra*this.$D);q=q.y-this.Fo.y;n.call(this,r,-e(l(10,m(3>Math.abs(q)?0:q,this.cb.yb())),this.ara*this.$D))};p.prototype.BZa=function(q){this.dea(-e(m(q.x-this.Fo.x,this.cb.Xa()),this.Ta*this.b8),+e(m(q.y-this.Fo.y,this.cb.Xa()),this.Ta*this.b8));this.Fo=q};p.prototype.n8=function(){if(this.qN)switch(this.qN=!1,this.hZ){case c.jB:this.Mxa(0,0)}};p.prototype.Mxa=function(q,n){var r=new d(p.mu);r.Jx=q;r.lx=n;this.trigger(r)};p.prototype.dea=function(q,
n){var r=new d(p.mu);r.kL=q;r.zK=n;this.trigger(r)};p.prototype.pea=function(q){if(this.Fc!=q.scale){this.n8();var n=this.Fc;this.Fc=q.scale;q=new f(p.Bp);q.uga=this.Ta*n/this.Fc-this.Ta;this.trigger(q)}};p.prototype.oea=function(q){if(0!=q.delta){this.n8();var n=new f(p.Bp);n.uga=this.Ta*-q.delta*this.MC/100;this.trigger(n)}};p.prototype.Tca=function(q){var n=null!=this.GG;this.pwa();if(q&&(n||!this.Uo)){var r=this;this.GG=setTimeout(function(){r.GG=null;r.IV()},q)}this.Uo||(this.Uo=!0,this.trigger(new h(p.Vi)))};
p.prototype.IV=function(){this.pwa();this.Uo&&(this.Uo=!1,this.trigger(new h(p.Ui)))};p.prototype.pwa=function(){null!=this.GG&&(clearTimeout(this.GG),this.GG=null)};p.mu="rotation change";p.Bp="zoom change";p.Vi="user interaction start";p.Ui="user interaction end";return p});
define("dE",["require","v"],function(a){function e(){this.aE=m.lb()?.066:.1;this.lSa=.5;this.$Wa=m.lb()?.066:.1;this.g_a=.1;this.OZ=this.UZ=!1;this.reset()}function l(k,b,h){k=(b-k)*(1-h);.01>Math.abs(k)&&(k=0);return b-k}var m=a("v");e.prototype.reset=function(){this.Tna=this.v7=this.$G=this.Ky=this.yM=this.z7=this.y7=this.D7=this.zH=this.MC=this.cZ=this.eZ=this.Iq=this.WO=this.st=this.NQ=0};e.prototype.Jia=function(k,b,h,g,c,d,f,p,q){return this.NQ!=k||(this.WO=b)||this.eZ!=h||0!=g||0!=c||this.OZ!=
f||this.wra!=p||this.UZ!=q?(this.NQ=k,this.WO=b,this.eZ=h,this.st+=g,this.Iq+=c,this.cZ+=d,this.OZ=f,this.wra=p,this.UZ=q,!0):!1};e.prototype.V7a=function(k,b){return this.MC!=k||0!=b?(this.MC=k,this.zH+=b,!0):!1};e.prototype.jf=function(){return 0!=this.D7||0!=this.y7||0!=this.z7||0!=this.yM||0!=this.NQ||0!=this.WO||0!=this.eZ||0!=this.MC||0!=this.st||0!=this.Iq||0!=this.zH};e.prototype.Cb=function(k){k=1E3/k;var b=this.D7/k,h=this.NQ/k+this.st;this.st=0;var g=this.y7/k,c=this.WO/k+this.Iq;this.Iq=
0;var d=this.z7/k,f=this.eZ/k+this.cZ;this.cZ=0;var p=this.MC+this.zH*k;this.zH=0;var q=0==h&&0==c&&0==f,n=0==b&&0==g&&0==d;this.OZ&&n&&!q||this.UZ&&q&&!n||this.wra&&!q&&!n?(q=q?this.aE:n?this.$Wa:this.lSa,this.Ky=l(b,h,q),this.$G=l(g,c,q),this.v7=l(d,f,q)):(this.Ky=h,this.$G=c,this.v7=f);b=0==this.yM;h=0==p;this.yM=this.OZ&&b&&!h||this.UZ&&h&&!b?l(this.yM,p,this.g_a):p;this.D7=this.Ky*k;this.y7=this.$G*k;this.z7=this.v7*k;this.Tna=this.yM/k};return e});
define("dg","require jquery.mod lE e fw dE bi pf".split(" "),function(a){var e=a("jquery.mod"),l=a("lE"),m=a("e"),k=a("fw"),b=a("dE"),h=a("bi"),g=a("pf");a=l.extend(m,function(){m.call(this);this.Fe("Renderer");this.R=e("<canvas></canvas>");this.R.css({position:"absolute",left:0,top:0});this.Pb().append(this.R);this.dz=null;this.Ga=this.DH=this.BH=this.CH=0;this.Ik=!1;this.eUa=150;this.hN=0;this.cn=null;this.bind(g.oc,this.Bc,this,!0);this.rb=new k;this.rb.cab(720);this.rb.RS(0);this.rb.RA("drag_rotation");
this.rb.zF(360);this.rb.bind(k.mu,this.rTa,this);this.fc=new b});a.prototype.E6a=function(c,d,f){this.dz=c;this.CH=d;this.BH=f;this.DH=Math.floor(this.dz.length*this.Ga/360);this.dca();this.rb.Ir(this);this.Oa()};a.prototype.f0a=function(){this.dz=null;this.ht();this.dca();this.rb.om()};a.prototype.play=function(){this.Ik=!0;this.Oa()};a.prototype.rTa=function(c){this.ht();this.fc.Jia(c.Jx,c.lx,0,c.kL,c.zK,0,!1,!0);this.Oa()};a.prototype.yaa=function(){this.play()};a.prototype.Qj=function(c){this.dz&&
(this.fc.jf()?(this.Ik=!1,this.fc.Cb(c),this.kma(this.fc.Ky),this.Oa()):this.Ik?(this.kma(this.eUa*c/1E3),this.Oa()):this.FH()||this.VP())};a.prototype.Dm=function(c){for(this.Ga=c;0>this.Ga;)this.Ga+=360;for(;360<=this.Ga;)this.Ga-=360;this.bZa()};a.prototype.bZa=function(){if(this.dz){var c=Math.floor(this.dz.length*this.Ga/360);this.DH!=c&&(this.DH=c,this.Eua())}};a.prototype.kma=function(c){this.Dm(this.Ga+c)};a.prototype.Bc=function(){this.dca()};a.prototype.dca=function(){var c=this.R.get(0);
if(0==this.CH||0==this.BH)c.width=0,c.height=0;else{var d=this.uf(),f=this.tf();f*this.CH>d*this.BH?(c.width=d,c.height=this.BH*d/this.CH):(c.height=f,c.width=this.CH*f/this.BH);this.R.css({left:Math.round(.5*(d-c.width))+"px",top:Math.round(.5*(f-c.height))+"px"});this.Eua()}};a.prototype.Eua=function(){if(this.dz){var c=this.R.get(0);c.getContext("2d").drawImage(this.dz[this.DH],0,0,this.CH,this.BH,0,0,c.width,c.height)}};a.prototype.FH=function(){return this.cn?!0:!1};a.prototype.VP=function(){this.ht();
if(0<this.hN){var c=this;this.cn=setTimeout(function(){c.cn=null;c.yaa()},this.hN)}};a.prototype.ht=function(){this.cn&&(clearTimeout(this.cn),this.cn=null)};a.prototype.Oa=function(){h.requestFrame(this.Qj,this)};return a});
define("mE","require pf ik cC nU gn A dg oz gY".split(" "),function(a){var e=a("pf"),l=a("ik"),m=a("cC"),k=a("nU"),b=a("gn"),h=a("A"),g=a("dg"),c=a("oz"),d=a("gY");a=k.define("Object3D",c,function(){c.call(this);this.wd=this.ln=this.bi=this.j=null;this.bind(e.bd,this.ij,this);this.bind(e.Tc,this.hj,this)});a.prototype.Db=function(){c.prototype.Db.call(this);this.j||(this.j=new g,this.j.ma({left:0,top:0,right:0,bottom:0}),this.Wa(this.j));this.bi||(this.bi=new h,this.bi.ma({left:0,bottom:0,right:0,
height:20,visible:!1}),this.Wa(this.bi))};a.prototype.ij=function(){this.GN()};a.prototype.hj=function(){this.Lo()};a.prototype.GN=function(){this.bi.set("percent",0);this.bi.set("visible",!0);this.j.Dm(this.get("yaw"));var f=this.get("frames",[]);this.ln=[];this.wd=[];for(var p=0;p<f.length;p++){var q=b.qr(f[p]);this.ln.push(q);q=new d(l.ol);q.bind(e.Z,this.sO,this);q.bind(e.xc,this.tO,this);this.wd.push(q)}for(p=0;p<f.length;p++)this.wd[p].load(this.ln[p].get("url"))};a.prototype.sO=function(){var f=
this.wd.filter(function(p){return p.ki()});this.bi.set("percent",100*f.length/this.wd.length);f.length==this.wd.length&&this.xd()};a.prototype.tO=function(){};a.prototype.xd=function(){this.bi.set("visible",!1);var f=this.ln[0].get("width",this.wd[0].He()),p=this.ln[0].get("height",this.wd[0].Xe()),q=this.wd.map(function(n){return n.wf()});this.j.E6a(q,f,p);this.trigger(new m(e.Z))};a.prototype.Lo=function(){this.wd&&(this.bi.set("visible",!1),this.j.f0a(),this.wd=this.wd.forEach(function(f){f.unbind(e.Z,
this.sO,this);f.unbind(e.xc,this.tO,this);f.cancel()}),this.ln=this.wd=null)};return a});define("gS",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("RotationalCameraPosition",e,function(l,m,k){e.call(this);void 0!==l&&this.set("yaw",l);void 0!==m&&this.set("pitch",m);void 0!==k&&this.set("hfov",k)})});define("mI",["require","gS","nU"],function(a){var e=a("gS");return a("nU").define("PanoramaCameraPosition",e,function(){e.apply(this,arguments)})});
define("hz",["require","mh","nU","mI","gS"],function(a){var e=a("mh"),l=a("nU"),m=a("mI"),k=a("gS"),b=l.define("RotationalCamera",e,function(){e.call(this);this.set("initialPosition",new k)});return l.define("PanoramaCamera",b,function(){b.call(this);this.set("initialPosition",new m)})});define("lW",["require","gS","nU"],function(a){var e=a("gS");return a("nU").define("RotationalCameraDisplayPosition",e,function(){e.apply(this,arguments)})});
define("lf",["require","lW","nU"],function(a){var e=a("lW");return a("nU").define("PanoramaCameraDisplayPosition",e,function(){e.apply(this,arguments)})});define("ff",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaCameraMovement",e,function(){e.call(this)})});
define("eX",["require","mh","cC","nU","pf"],function(a){var e=a("mh"),l=a("cC"),m=a("nU"),k=a("pf");a=m.define("RotationalCameraSequence",e,function(){e.call(this)});a.prototype.play=a.prototype.play=function(){this.trigger(new l(k.iy))};a.prototype.pause=a.prototype.pause=function(){this.trigger(new l(k.jG))};return a});define("bP",["require","nU","eX"],function(a){var e=a("nU"),l=a("eX");return e.define("PanoramaCameraSequence",l,function(){l.call(this)})});
define("iM",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaMapLocation",e,function(){e.call(this)})});define("bk",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaModel3DLocation",e,function(){e.call(this)})});define("pw",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaOverlay",e,function(){e.call(this)})});
define("nz",["require","lg","hv","a"],function(a){function e(b){this.j=b;this.Rp=[];this.s9=!1;this.sb=this.Ga=0}var l=a("lg"),m=a("hv"),k=a("a");e.prototype.clear=function(){this.stop();this.Rp=this.j=null};e.prototype.end=function(b){var h=[],g=[],c=this.Kpa(b);this.Rp.forEach(function(d){0>c.indexOf(d)?h.push(d):g.push(d)});h.forEach(function(d){d.ME().Lc(l.W)});this.Rp=g;this.s9=!1};e.prototype.start=function(b){this.end(b);this.Rp=this.Kpa(b);this.s9=0<this.Rp.filter(function(h){return h instanceof
m}).length;this.kxa();this.qZ(l.Y,!0)};e.prototype.play=function(){this.qZ(l.Y)};e.prototype.pause=function(){this.qZ(l.Ib)};e.prototype.stop=function(){this.qZ(l.W)};e.prototype.Gd=function(){this.Ga=this.j.Sc();this.sb=this.j.Rc();this.kxa()};e.prototype.kxa=function(){if(this.s9){var b=Math.PI/180,h=this.Ga*b,g=this.sb*b,c=new k(Math.sin(h)*Math.cos(g),Math.sin(g),Math.cos(h)*Math.cos(g));this.Rp.forEach(function(d){if(d instanceof m){var f=d.get("yaw",h)*b,p=d.get("pitch",g)*b,q=d.get("maximumAngle",
360)*b;f=new k(Math.sin(f)*Math.cos(p),Math.sin(p),Math.cos(f)*Math.cos(p));q=Math.min(1,Math.max(0,1-Math.acos(c.GE(f))/q));d.ME().Bx(q)}}.bind(this))}};e.prototype.Kpa=function(b){return b?b.get("audios",[]):[]};e.prototype.qZ=function(b,h){(h?this.Rp.slice().reverse():this.Rp).forEach(function(g){if(g.get("autoplay",!1)){g=g.ME();var c=g.getState();b==l.Y&&c!=l.Y?g.Lc(l.Y):b==l.Ib&&c==l.Y?g.Lc(l.Ib):b==l.W&&c!=l.W&&g.Lc(l.W)}})};return e});
define("fv",["require"],function(){function a(c){c%=m;0>c&&(c+=m);return h[c*k|0]}function e(c){c%=m;0>c&&(c+=m);return b[c*k|0]}function l(){this.identity()}l.prototype.identity=function(){this.m11=1;this.m21=this.m13=this.m12=0;this.m22=1;this.m32=this.m31=this.m23=0;this.m33=1;this.tz=this.Hh=this.Gh=0};l.prototype.clone=function(){var c=new l;c.m11=this.m11;c.m12=this.m12;c.m13=this.m13;c.m21=this.m21;c.m22=this.m22;c.m23=this.m23;c.m31=this.m31;c.m32=this.m32;c.m33=this.m33;c.Gh=this.Gh;c.Hh=
this.Hh;c.tz=this.tz;return c};l.prototype.concat=function(c){var d=this.m11,f=this.m12,p=this.m13,q=this.m21,n=this.m22,r=this.m23,t=this.m31,u=this.m32,v=this.m33,w=this.Gh,x=this.Hh,y=this.tz;this.m11=d*c.m11+f*c.m21+p*c.m31;this.m12=d*c.m12+f*c.m22+p*c.m32;this.m13=d*c.m13+f*c.m23+p*c.m33;this.m21=q*c.m11+n*c.m21+r*c.m31;this.m22=q*c.m12+n*c.m22+r*c.m32;this.m23=q*c.m13+n*c.m23+r*c.m33;this.m31=t*c.m11+u*c.m21+v*c.m31;this.m32=t*c.m12+u*c.m22+v*c.m32;this.m33=t*c.m13+u*c.m23+v*c.m33;this.Gh=w*
c.m11+x*c.m21+y*c.m31+c.Gh;this.Hh=w*c.m12+x*c.m22+y*c.m32+c.Hh;this.tz=w*c.m13+x*c.m23+y*c.m33+c.tz};l.prototype.translate=function(c,d,f){this.Gh+=c;this.Hh+=d;this.tz+=f};l.prototype.scale=function(c,d,f){this.m11*=c;this.m12*=d;this.m13*=f;this.m21*=c;this.m22*=d;this.m23*=f;this.m31*=c;this.m32*=d;this.m33*=f;this.Gh*=c;this.Hh*=d;this.tz*=f};l.prototype.rotateX=function(c){var d=a(c);c=e(c);var f=this.m12*d+this.m13*c,p=this.m22*c-this.m23*d,q=this.m22*d+this.m23*c,n=this.m32*c-this.m33*d,r=
this.m32*d+this.m33*c,t=this.Hh*c-this.tz*d,u=this.Hh*d+this.tz*c;this.m12=this.m12*c-this.m13*d;this.m13=f;this.m22=p;this.m23=q;this.m32=n;this.m33=r;this.Hh=t;this.tz=u};l.prototype.rotateY=function(c){var d=a(c);c=e(c);var f=-this.m11*d+this.m13*c,p=this.m21*c+this.m23*d,q=-this.m21*d+this.m23*c,n=this.m31*c+this.m33*d,r=-this.m31*d+this.m33*c,t=this.Gh*c+this.tz*d,u=-this.Gh*d+this.tz*c;this.m11=this.m11*c+this.m13*d;this.m13=f;this.m21=p;this.m23=q;this.m31=n;this.m33=r;this.Gh=t;this.tz=u};
l.prototype.rotateZ=function(c){var d=a(c);c=e(c);var f=this.m11*d+this.m12*c,p=this.m21*c-this.m22*d,q=this.m21*d+this.m22*c,n=this.m31*c-this.m32*d,r=this.m31*d+this.m32*c,t=this.Gh*c-this.Hh*d,u=this.Gh*d+this.Hh*c;this.m11=this.m11*c-this.m12*d;this.m12=f;this.m21=p;this.m22=q;this.m31=n;this.m32=r;this.Gh=t;this.Hh=u};l.prototype.rotate=function(c,d,f){this.rotateX(c);this.rotateY(d);this.rotateZ(f)};l.prototype.invert=function(){var c=this.H1a();if(0==c)return!1;var d=this.clone();this.m11=
(d.m22*d.m33-d.m23*d.m32)/c;this.m12=(d.m13*d.m32-d.m12*d.m33)/c;this.m13=(d.m12*d.m23-d.m13*d.m22)/c;this.m21=(d.m23*d.m31-d.m21*d.m33)/c;this.m22=(d.m11*d.m33-d.m13*d.m31)/c;this.m23=(d.m13*d.m21-d.m11*d.m23)/c;this.m31=(d.m21*d.m32-d.m22*d.m31)/c;this.m32=(d.m12*d.m31-d.m11*d.m32)/c;this.m33=(d.m11*d.m22-d.m12*d.m21)/c;this.Gh=-(d.Gh*this.m11+d.Hh*this.m21+d.tz*this.m31);this.Hh=-(d.Gh*this.m12+d.Hh*this.m22+d.tz*this.m32);this.tz=-(d.Gh*this.m13+d.Hh*this.m23+d.tz*this.m33);return!0};l.prototype.H1a=
function(){return this.m11*(this.m22*this.m33-this.m23*this.m32)+this.m12*(this.m23*this.m31-this.m21*this.m33)+this.m13*(this.m21*this.m32-this.m22*this.m31)};l.prototype.zJ=function(c){var d=c.x*this.m12+c.y*this.m22+c.z*this.m32+this.Hh,f=c.x*this.m13+c.y*this.m23+c.z*this.m33+this.tz;c.x=c.x*this.m11+c.y*this.m21+c.z*this.m31+this.Gh;c.y=d;c.z=f};for(var m=2*Math.PI,k=18E4/m,b=new Float32Array(180001),h=new Float32Array(180001),g=0;18E4>g;g++)b[g]=Math.cos(g/k),h[g]=Math.sin(g/k);b[18E4]=b[0];
h[18E4]=h[0];return l});define("dK",["require"],function(){return{du:0,Ya:1,qb:2}});
define("cb",["require","nU","lY"],function(a){var e=a("nU"),l=a("lY"),m={get:function(k){return k.WJa||(k.WJa=this.BOa(k))},BOa:function(k){if(e.Ia("CubicPanoramaFrame",k))return k.get("stereoCube")?m.ky:k.get("cube")?m.ru:m.pl;if(e.Ia("SphericPanoramaFrame",k)){var b=k.get("stereoSphere"),h=k.get("sphere"),g=k.get("hfov");k=k.get("vfov");var c=359.9<g&&179.9<k,d=!1;b&&!h?d=!0:b?h&&!b.get("levels").some(l.zGa)?d=!1:c&&l.R_a()?d=!0:!c&&l.Q_a()&&(d=!0):d=!1;return d?(b=b.get("levels"),h=Math.max.apply(Math,
b.map(function(f){return f.get("width")})),1<Math.max.apply(Math,b.map(function(f){return f.get("height")}))/k/(h/g)?m.Lp:m.gs):m.Ep}},ky:"stereoCube_12_1",ru:"monoCube_6_1",pl:"monoCube_1_1",Ep:"monoSphere_1_1",Lp:"stereoSphere_1_2",gs:"stereoSphere_2_1"};return m});
define("nE","require nU mq dK mX cb kF lY v ir mB mu gY oB".split(" "),function(a){function e(F,M,T){return F.split(M).join(T).split(encodeURI(M)).join(T)}function l(F,M){return 0<=F.indexOf(M)||0<=F.indexOf(encodeURI(M))}function m(){var F=B.ax()&&A.gg("recent_ipad_use_max_res",!1);m=function(){return F};return F}function k(F){if(0==F.length)return 1;F.sort(function(M,T){return T.get("width")-M.get("width")});return F[0].get("width")/F[0].get("height")}function b(F,M){var T=1E4;m()||(B.yf()?T=2048:
B.ax()?T=1280:B.lb()&&(T=1024));switch(F){case z.ru:return[6*T,T];case z.pl:return[T,T];case z.ky:return[12*T,T]}switch(F){case z.Lp:M*=2;break;case z.gs:M*=.5}return 2<M?[4*T,4*T/M]:[2*T*M,2*T]}function h(F){if(m())return[void 0,void 0];switch(F){case z.ru:if(B.yf()||B.lb())return[18432,1536];break;case z.Lp:if(B.yf())return[5352,5352];if(B.lb())return[6086,6086];break;case z.Ep:if(B.yf())return[7168,3584];if(B.lb()&&B.ax())return[8192,4096]}return[void 0,void 0]}function g(F,M){var T=h(M);M=F.filter(function(Y){return v.Ia("TiledImageResourceLevel",
Y)?!0:void 0!==T[0]&&Y.get("width")>T[0]||void 0!==T[1]&&Y.get("height")>T[1]?!1:!0});0==M.length&&(M=[d(F)[0]]);return M}function c(){return B.ax()?[w.bla]:B.u1()||B.v1()?B.Vb()==B.Tr||B.Vb()==B.Nx?[w.gU,w.q5]:[w.q5,w.gU]:B.yf()?[w.gU]:B.lb()?[w.fU]:[]}function d(F){F.sort(function(M,T){return M.get("width")-T.get("width")});return F}function f(F,M){function T(Y){return Math.abs(Y.get("width")*Y.get("height")-M[0]*M[1])}F.sort(function(Y,ca){return T(Y)-T(ca)});return F.length&&F[0]||null}function p(F,
M,T){F=F.filter(function(Y){return 0>Y.get("tags").indexOf(M)});return F.length?F:void 0!==T?T:[]}function q(F,M,T){F=F.filter(function(Y){return 0<=Y.get("tags").indexOf(M)});return F.length?F:void 0!==T?T:[]}function n(F,M,T){switch(T){case z.ky:case z.ru:case z.pl:return F;case z.Ep:case z.gs:return F*M.get("hfov",180)/90;case z.Lp:return F*M.get("hfov",180)*2/90}}function r(F,M){switch(M){case z.ky:return F.get("stereoCube").get("levels");case z.ru:return F.get("cube").get("levels");case z.pl:return F.get("front").get("levels");
case z.Ep:return F.get("sphere").get("levels");case z.Lp:case z.gs:return F.get("stereoSphere").get("levels")}}function t(F,M){var T=r(F,M),Y=F.get("minFaceSize");if(Y){var ca=n(Y,F,M);F=T.filter(function(da){return da.get("height")>=ca});0<F.length&&(T=F)}return T}function u(F){for(var M=[],T=0;T<F.length;T++){var Y=F[T];0>M.indexOf(Y)&&M.push(Y)}return M}var v=a("nU"),w=a("mq"),x=a("dK"),y=a("mX"),z=a("cb"),E=a("kF");a("lY");var B=a("v");a("ir");var A=a("mB"),D=a("mu"),C=a("gY"),J=a("oB"),H={JAa:function(F){F=
F.get("frames");if(0==F.length)return 1;var M=F[0];F=z.get(M)==z.Ep&&M.tm()?(F=J.Zj(M.get("sphere")))?[F]:[]:z.get(M)!=z.Lp&&z.get(M)!=z.gs||!M.tm()?H.hga(M,!1):(F=J.Zj(M.get("stereoSphere")))?[F]:[];return Math.max.apply(Math,F.map(function(T){return H.i2a(M,T)}).concat([1]))},i2a:function(F,M){M=H.cga(F,M,y.FRONT);M=M.get("width");var T=F.uA().get("hfov",360);switch(z.get(F)){case z.ky:return M/1080;case z.ru:return M/540;case z.pl:return M/90;case z.Ep:return M/T;case z.Lp:return M/T;case z.gs:return M/
(2*T)}},Bga:function(F,M){F=H.Jn(F,M);return 6>=F.length&&F.every(function(T){return C.p3(T)})},Mha:function(F,M){return H.Jn(F,M).every(function(T){return C.p3(T)})},Jn:function(F,M,T){if(!F)return[];T||(T=!1);if(v.Ia("Panorama",F))return T=F.get("flipImageHorizontally",!1),u([].concat(Array.prototype.concat.apply([],F.get("frames").map(function(Q){return H.Jn(Q,M,T)})),Array.prototype.concat.apply([],F.get("overlays").map(function(Q){return H.Jn(Q,M,T)}))));if(v.Ia("PanoramaFrame",F)){var Y=Array.prototype.concat.apply([],
F.get("overlays").map(function(Q){return H.Jn(Q,M,T)}));if(z.get(F)==z.Ep&&F.tm())return H.Jn(J.Zj(F.get("sphere")),M).concat(Y);if((z.get(F)==z.Lp||z.get(F)==z.gs)&&F.tm())return H.Jn(J.Zj(F.get("stereoSphere")),M).concat(Y);var ca=H.hga(F,M)[0];T=F.get("flipImageHorizontally",!1);if(z.get(F)==z.pl){var da=[y.FRONT,y.Ya,y.BACK,y.qb,y.yc,y.rc];return Array.prototype.concat.apply([],da.map(function(Q){return(Q=H.cga(F,ca,Q))?H.Jn(Q,M,T):[]})).concat(Y)}return H.Jn(ca,M,T).concat(Y)}if(v.Ia("Video360ResourceLevel",
F))return(Y=F.get("posterURL"))?[Y]:[];if(v.Ia("HotspotPanoramaOverlay",F))return F.get("projected")?Array.prototype.concat.apply([],F.get("items").map(function(Q){return H.Jn(Q,M,T)})):[];if(v.Ia("FlatHotspotPanoramaOverlayImage",F)||v.Ia("HotspotPanoramaOverlayImage",F))return Y=F.get("image").get("levels"),ca=Y[0],H.Jn(ca,M,T),Array.prototype.concat.apply([],Y.map(function(Q){return H.Jn(Q,M,T)}));if(v.Ia("TiledImageResourceLevel",F)){var ha=[];Y=Math.round(F.get("width")/F.get("height"));if(1==
Y)var G=z.pl;else if(12==Y)G=z.Q9a;else if(6==Y)G=z.ru;else return[];var N=12==Y?[x.qb,x.Ya]:[x.du];da=[y.qb,y.Ya,y.yc,y.rc,y.FRONT,y.BACK];var R=F.get("colCount",Y)/Y,L=F.get("rowCount",1);N.forEach(function(Q){da.forEach(function(V){for(var aa=0;aa<L;aa++)for(var ba=0;ba<R;ba++)ha.push(H.XAa(F,G,Q,V,T,L,aa,ba))})});return ha}return v.Ia("ImageResourceLevel",F)?[F.get("url")]:[]},hga:function(F,M){var T=z.get(F),Y=this.tPa(F);if(Y)return M&&!this.vqa(Y)&&(F=this.Qpa(F),F!=Y)?[F,Y]:[Y];Y=q(t(F,T),
w.r5);if(0<Y.length)return d(Y);Y=this.fQa(F);return M&&!this.vqa(Y)&&(F=this.Qpa(F),F!=Y)?[F,Y]:[Y]},B3a:function(F){return 0<=F.get("tags").indexOf(w.r5)},cga:function(F,M,T){if(z.get(F)!=z.pl)return M;switch(T){case y.FRONT:var Y=F.get("front");break;case y.Ya:Y=F.get("left");break;case y.BACK:Y=F.get("back");break;case y.qb:Y=F.get("right");break;case y.yc:Y=F.get("top");break;case y.rc:Y=F.get("bottom")}F=Y&&Y.get("levels")||[];if(0==F.length)return null;F=F.filter(function(ca){return ca.get("width")==
M.get("width")&&ca.get("height")==M.get("height")&&ca.get("grayscale",!1)==M.get("grayscale",!1)&&ca.get("colCount",1)==M.get("colCount",1)&&ca.get("rowCount",1)==M.get("rowCount",1)});return F[0]},XAa:function(F,M,T,Y,ca,da,ha,G){F=F.get("url");var N=0;l(F,"{eye}")?F=e(F,"{eye}",X[T]):N+=6*(ca?U:W)[T];l(F,"{face}")?F=e(F,"{face}",S[Y]):M!=z.pl&&(N+=P[Y]);F=e(F,"{row}",ha);return F=e(F,"{column}",G+N*da)},k2a:function(F,M){return H.YM(H.IC(F.get("image")),90,90,D.Kh,M)},E1a:function(F,M){return H.YM(H.IC(F.get("image")),
F.get("hfov"),F.get("vfov"),F.get("scaleMode"),M)},V1a:function(F,M){return H.YM(H.IC(F.get("image")),F.get("hfov"),F.get("vfov"),F.get("scaleMode"),M)},x2a:function(F,M){return H.YM(H.IC(F.get("image")),F.get("hfov"),F.get("vfov"),F.get("scaleMode"),M)},vAa:function(F,M){return H.YM(H.IC(F.get("image")),F.get("hfov"),F.get("vfov"),F.get("scaleMode"),M)},IC:function(F){return F&&F.get("levels")||[]},YM:function(F,M,T,Y,ca){if(!F||!F.length)return null;F=p(F,w.js,F);for(var da=c(),ha=0;ha<da.length;ha++)F=
q(F,da[ha],F);da=1E4;m()||(B.yf()?da=2048:B.ax()?da=1280:B.lb()&&(da=1024));ha=d(F)[F.length-1];M=E.lga(M,T,ha.get("width"),ha.get("height"),Y,ca);return f(F,[M.Ie*da/90,M.Pr*da/90])},P1a:function(F){var M=H.IC(F.get("image"));if(!M||!M.length)return null;M=p(M,w.js,M);for(var T=c(),Y=0;Y<T.length;Y++)M=q(M,T[Y],M);T=d(M)[M.length-1];F=E.Q0(F.get("width"),F.get("height"),T.get("width"),T.get("height"),F.get("scaleMode"));return f(M,[F.width,F.height])},n2a:function(F){var M=H.IC(F.get("image"));if(!M||
!M.length)return null;M=p(M,w.js,M);for(var T=c(),Y=0;Y<T.length;Y++)M=q(M,T[Y],M);T=1E4;m()||(B.yf()?T=2048:B.ax()?T=1280:B.lb()&&(T=1024));var ca=Y=20;(F=F.get("vertices"))&&4==F.length&&(Y=F[0].get("yaw"),ca=F[1].get("yaw"),ca<Y&&(ca+=360),Y=ca-Y,ca=F[0].get("pitch"),F=F[3].get("pitch"),ca-=F);return f(M,[Y*T/90,ca*T/90])},Qpa:function(F){var M=z.get(F);F=t(F,M);F=g(F,M);F=q(F,w.js,F);M=c();for(var T=0;T<M.length;T++)F=q(F,M[T],F);return f(F,[0,0])},fQa:function(F){var M=z.get(F);F=t(F,M);F=g(F,
M);F=p(F,w.js,F);for(var T=c(),Y=0;Y<T.length;Y++)F=q(F,T[Y],F);M=b(M,k(F));return f(F,M)},tPa:function(F){var M=c();if(0==M.length)return null;var T=z.get(F),Y=t(F,T);Y=g(Y,T);Y=p(Y,w.js,Y);F=[];for(var ca=0;ca<M.length&&0==F.length;ca++)F=q(Y,M[ca]);if(0==F.length)return null;M=b(T,k(F));return f(F,M)},vqa:function(F){return 0<=F.get("tags").indexOf(w.r5)?!1:B.Vb()==B.Ox?!0:C.p3(F.get("url"))}},P=function(){var F={};F[y.qb]=0;F[y.Ya]=1;F[y.yc]=2;F[y.rc]=3;F[y.FRONT]=4;F[y.BACK]=5;return F}(),W=
function(){var F={};F[x.qb]=0;F[x.Ya]=1;F[x.du]=0;return F}(),U=function(){var F={};F[x.qb]=1;F[x.Ya]=0;F[x.du]=0;return F}(),S=function(){var F={};F[y.qb]="r";F[y.Ya]="l";F[y.yc]="u";F[y.rc]="d";F[y.FRONT]="f";F[y.BACK]="b";return F}(),X=function(){var F={};F[x.Ya]="l";F[x.qb]="r";F[x.du]="b";return F}();return H});
define("iH","require en pf lh fv a nE".split(" "),function(a){function e(q){this.j=q;this.xa=!1;this.An=e.NB;this.A8=this.RC=!1;this.kf(null);this.j.bind(m.oc,this.Bc,this,!0);this.Bc()}var l=a("en"),m=a("pf"),k=a("lh"),b=a("fv"),h=a("a"),g=a("nE");e.prototype.nBa=function(){return this.An!==e.NB};e.prototype.mBa=function(){return this.An&e.tG?!0:!1};e.prototype.oBa=function(){return this.An&e.uG?!0:!1};e.prototype.pBa=function(){return this.An&e.QB?!0:!1};e.prototype.lBa=function(){return this.An&
e.MB?!0:!1};e.prototype.vx=function(q){this.RC=q};e.prototype.Sc=function(){this.Gn();return this.Ga};e.prototype.Rc=function(){this.Gn();return this.sb};e.prototype.Xf=function(){this.Gn();return this.od};e.prototype.Yw=function(){this.Gn();return this.Ta};e.prototype.kf=function(q){q?(this.aba=q.get("hfov",360),this.qY=q.get("vfov",180),this.SO=q.get("pitch",0),this.xD=q.get("partial",!1),this.v9=q.rBa(),this.q9=q.hBa(),this.A9=Math.min(q.get("hfovMax",170),170),this.eN=q.get("hfovMin"),this.S$=
g.JAa(q)):(this.aba=360,this.qY=180,this.SO=0,this.q9=this.v9=this.xD=!1,this.A9=120,this.S$=this.eN=1);this.Ga=0;this.sb=this.SO;this.od=0;this.xa=!0};e.prototype.setPosition=function(q,n,r,t,u){this.Ga=q;this.sb=n;this.od=r;this.Ta=t;this.A8=u;this.xa=!0};e.prototype.Bc=function(){var q=this.j.Xa(),n=this.j.yb();if(this.na!=q||this.wa!=n)this.na=q,this.wa=n,this.xa=!0};e.prototype.Gn=function(){if(this.xa){this.xa=!1;var q=this.Ga*f,n=this.sb*f,r=this.Ta*f,t=(this.A8?k.Or(this.A9,this.na,this.wa):
this.A9)*f;a:{var u=this.eN;if(l(u).isString()&&(u=u.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&2<=u.length){u=parseFloat(u[1]);break a}u=void 0}u=void 0!==u?2*Math.atan2(this.na*this.j.getPixelRatio()*.5,45*this.S$*u/100):this.eN?(this.A8?k.Or(this.eN,this.na,this.wa):this.eN)*f:2*Math.atan2(this.na*this.j.getPixelRatio()*.5,45*this.S$);u=Math.min(t,u);if(this.RC){var v=360;var w=180;var x=0}else if(this.v9||this.q9){v=this.q9?90:this.SO+.5*this.qY;var y=this.v9?-90:this.SO-.5*this.qY;w=v-y;x=.5*(v+
y);v=this.aba}else v=this.aba,x=this.SO,w=this.qY;v*=f;w*=f;x*=f;for(y=this.na/this.wa;q<-c;)q+=2*c;for(;q>c;)q-=2*c;r=Math.max(Math.min(r,t),u);t=e.NB;if(!this.RC){n>d?t|=e.QB:n<-d&&(t|=e.MB);n=Math.max(Math.min(n,.5*c),.5*-c);var z=2*Math.atan(Math.tan(.5*r)/y);if(z>=w)r=2*Math.atan(Math.tan(.5*w)*y),n=x,t=t|e.QB|e.MB;else{var E=Math.min(.5*w+x,.5*c);w=Math.max(.5*-w+x,.5*-c);x=!this.xD&&E>=.495*c?.5*c:E-.5*z;w=!this.xD&&w<=.495*-c?.5*-c:w+.5*z;n>x?(n=x,t|=e.QB):n<w&&(n=w,t|=e.MB)}this.xD&&(w=Math.tan(.5*
r),y=w/y,y=new h(-w,0<n?y:-y,1),w=new b,w.rotateX(-n),y.apply(w),y=2*y.Sc(),0>y&&(y+=2*c),w=Math.max(0,.5*v-.5*y-.25*f),z=Math.min(0,.5*-v+.5*y+.25*f),y>v?(q=0,r=Math.max(u,r*v/y),t=t|e.tG|e.uG):q>w?(q=w,t|=e.uG):q<z&&(q=z,t|=e.tG))}this.Ga=q*p;this.sb=n*p;this.Ta=r*p;this.An=t}};var c=Math.PI,d=.5*Math.PI,f=Math.PI/180,p=180/Math.PI;e.NB=0;e.tG=1;e.uG=2;e.QB=4;e.MB=8;return e});
define("be",["require","lE","pf","gv","pv"],function(a){var e=a("lE"),l=a("pf"),m=a("gv"),k=a("pv"),b=e.extend(m,function(){m.call(this);this.qN=!1;this.Fo=void 0;this.Ta=90;this.r8=.1;this.Eb=this.cb=null});b.prototype.setCamera=function(h){this.Eb&&this.Eb.unbind(l.D("hoverFactor"),this.Lda,this);if(this.Eb=h)this.Eb.bind(l.D("hoverFactor"),this.Lda,this),this.Lda()};b.prototype.Lda=function(){this.r8=this.Eb.get("hoverFactor")};b.prototype.zF=function(h){this.Ta=h};b.prototype.Ir=function(h){this.om();
h&&(this.cb=h,this.Fo=void 0,this.cb.bind(l.kc,this.Mj,this,!0))};b.prototype.om=function(){null!=this.cb&&(this.cb.unbind(l.kc,this.Mj,this),this.cb=null)};b.prototype.Mj=function(h){this.iJ(h)};b.prototype.iJ=function(h){this.Fo&&this.dea.call(this,+(Math.min(Math.max((h.x-this.Fo.x)/this.cb.Xa(),-1),1)*this.Ta*this.r8),-(Math.min(Math.max((h.y-this.Fo.y)/this.cb.Xa(),-1),1)*this.Ta*this.r8));this.Fo=h};b.prototype.dea=function(h,g){if(0!=h||0!=g){var c=new k(b.mu);c.kL=h;c.zK=g;this.trigger(c)}};
b.mu="rotation change";return b});
define("hs","require en lE cC gv dE be".split(" "),function(a){a("en");var e=a("lE"),l=a("cC"),m=a("gv"),k=a("dE"),b=a("be"),h=e.extend(m,function(g,c,d){m.call(this);this.j=g;this.Nc=this.j.Nc;this.ka=c;this.Jc=d;this.Lz=this.sU=this.T=!1;this.fc=new k;this.nj=null;this.od=this.sb=this.Ga=0;this.Ta=90;this.rb=new b;this.rb.bind(b.mu,this.wO,this,!0)});h.prototype.clear=function(){this.rb.unbind(b.mu,this.wO,this,!0);this.rb.om();this.rb=null;this.mC();this.j=this.Nc=this.Jc=this.ka=this.fc=null};
h.prototype.setCamera=function(g){this.fc.reset();this.rb.setCamera(g)};h.prototype.setPosition=function(g,c,d,f){if(this.Ga!=g||this.sb!=c||this.od!=d||this.Ta!=f)this.Ga=g,this.sb=c,this.od=d,this.Ta=f,this.rb.zF(this.Ta),this.pca(!1),this.XP()};h.prototype.jf=function(){return this.sU&&this.Lz?!0:!1};h.prototype.Cb=function(g){this.DQ=!1;this.fc.Cb(g);this.Lz=!1;g=this.Ga+this.fc.Ky;var c=this.sb+this.fc.$G;this.Jc.mp(this.Ta);this.ka.setPosition(g,c,this.od,this.Jc.vf(),this.Jc.Xw());this.Ga=
this.ka.Sc();this.sb=this.ka.Rc();this.od=this.ka.Xf();this.Ta=this.ka.Yw()};h.prototype.nr=function(){return this.Ga};h.prototype.mr=function(){return this.sb};h.prototype.sA=function(){return this.od};h.prototype.OE=function(){return this.Ta};h.prototype.mb=function(g){this.T!=g&&((this.T=g)?this.XP():(this.mC(),this.pca(!1)))};h.prototype.wO=function(g){this.Oc(g.Jx,g.lx,0,0,g.kL,g.zK,0,0,!1,!1,!0,!0)};h.prototype.Oc=function(g,c,d,f,p,q,n,r,t,u,v,w){var x=this.fc.Jia(g,c,d,p,q,n,u,v,w)||x;x&&
this.ei()};h.prototype.ei=function(){this.Lz=!0;this.trigger(new l(h.Jh))};h.prototype.XP=function(){this.mC();this.nj=setTimeout(this.JO.bind(this),30)};h.prototype.mC=function(){this.nj&&(clearTimeout(this.nj),this.nj=null)};h.prototype.JO=function(){this.pca(this.T)};h.prototype.pca=function(g){this.sU!=g&&((this.sU=g)?(this.fc.reset(),this.rb.Ir(this.j.getParent()),this.ei()):this.rb.om())};h.Jh="position change request";return h});
define("hO","require lE pf cC gv v hW".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv");a("v");var b=a("hW");a=e.extend(k,function(){k.call(this);this.cya=this.T=!1;this.od=this.sb=this.Ga=0;this.aZ=!1;this.Iq=this.st=0});a.prototype.mb=function(h){if(this.T!=h)if(this.T=h){b.bind(this.iO,this,!0);h=b.rr();var g=h.pitch;this.st=this.Ga-h.yaw;this.Iq=this.sb-g;this.So()}else b.unbind(this.iO,this,!0)};a.prototype.setPosition=function(h,g,c){this.Ga!=h&&(this.st=this.PD(this.st+(h-
this.PD(this.Ga,h)),0),this.Ga=h);this.sb!=g&&(this.Iq+=g-this.sb,this.sb=g);this.od=c};a.prototype.nr=function(){return this.Ga};a.prototype.mr=function(){return this.sb};a.prototype.sA=function(){return this.od};a.prototype.jf=function(){return b.J4a()};a.prototype.Cb=function(h){var g=b.rr(),c=g.roll;h=20*h/1E3;var d=g.pitch+(this.cya?this.Iq:0);this.Ga=this.ng(this.Ga,this.PD(this.PD(g.yaw,this.Ga)+this.st,this.Ga),h);this.sb=this.ng(this.sb,d,h);this.od=this.ng(this.od,c,h)};a.prototype.S7a=
function(h){this.cya=h};a.prototype.ng=function(h,g,c){h=(g-h)*(1-c);.01>Math.abs(h)&&(h=0);return g-h};a.prototype.PD=function(h,g){for(;h+180<g;)h+=360;for(;h-180>g;)h-=360;return h};a.prototype.iO=function(){this.T&&this.So()};a.prototype.So=function(){this.trigger(new m(l.ca))};return a});define("er",["require"],function(){return{eG:"left",fG:"right",dG:"down",gG:"up",Xka:"rotate10x",tla:"zoom2x",Y:"playing",Iu:"zoomIn",Ju:"zoomOut",Qf:"stop"}});
define("fB","require lE bn cC gv er jg".split(" "),function(a){var e=a("lE"),l=a("bn"),m=a("cC"),k=a("gv"),b=a("er"),h=a("jg"),g=e.extend(k,function(d){k.call(this);this.j=d;this.T=!1;this.Dg={};this.SP=null;this.mj=this.RP=!1;this.MW=this.MW.bind(this);this.Jl=this.Jl.bind(this);this.Nc=this.j.Nc;document.addEventListener("keydown",this.MW);document.addEventListener("keyup",this.Jl)});g.prototype.clear=function(){this.T=!1;this.Nc=this.j=null;document.removeEventListener("keydown",this.MW);document.removeEventListener("keyup",
this.Jl)};g.prototype.mb=function(d){this.T!=d&&(this.T=d)&&this.q_()};var c=[l.Wi,l.Ih,l.Ya,l.qb,l.Qn,l.iU,l.$T,l.XT];g.prototype.MW=function(d){if(!h.bp()){var f=d.which,p=!1;!this.Dg[f]&&0<=c.indexOf(f)&&(this.SP||this.RP||(this.SP=setTimeout(this.vTa.bind(this),100)),p=this.Dg[f]=!0);this.mj!=d.shiftKey&&(this.mj=d.shiftKey,p=!0);p&&this.q_()}};g.prototype.vTa=function(){this.RP=!0;this.q_()};g.prototype.Jl=function(d){if(!h.bp()){var f=d.which,p=!1;if(f in this.Dg){delete this.Dg[f];p=!1;for(f in this.Dg)this.Dg[f]&&
(p=!0);p||(this.SP&&clearTimeout(this.SP),this.SP=null,this.RP=!1);p=!0}this.mj!=d.shiftKey&&(this.mj=d.shiftKey,p=!0);p&&this.q_()}};g.prototype.q_=function(){if(this.T){var d=this.Nc.get("gazeModeEnabled"),f=this.Nc.get("arrowKeysAction");if(d||"none"!=f){d=d||"rotate"==f;f=[];this.Dg[l.Qn]||this.Dg[l.$T]?f.push(b.Iu):(this.Dg[l.iU]||this.Dg[l.XT])&&f.push(b.Ju);this.RP&&(this.Dg[l.Qn]||this.Dg[l.iU]||this.Dg[l.$T]||this.Dg[l.XT])&&f.push(b.tla);this.Dg[l.Ya]?f.push(b.eG):this.Dg[l.qb]&&f.push(b.fG);
if(d||this.mj)this.Dg[l.Wi]?f.push(b.gG):this.Dg[l.Ih]&&f.push(b.dG);this.RP&&(this.Dg[l.Ya]||this.Dg[l.qb]||this.Dg[l.Wi]||this.Dg[l.Ih])&&f.push(b.Xka);0==f.length&&f.push(b.Qf);this.trigger(new m(g.w4,{DCa:f}))}}};g.w4="movementsChange";return g});
define("mZ",["require"],function(){function a(){this.SB=!0;this.reset()}function e(l,m,k){l=(m-l)*(1-k);.01>Math.abs(l)&&(l=0);return m-l}a.prototype.reset=function(){this.SB&&(this.SB=!1,this.$Z=this.a_=this.zw=this.Dn=this.aH=this.dH=this.bH=this.My=void 0)};a.prototype.moveTo=function(l,m,k,b,h){this.Dn=l;this.zw=m;this.a_=k;this.$Z=b;this.R9=h;this.SB=!0};a.prototype.setPosition=function(l,m,k,b){this.My=l;this.bH=m;this.dH=k;this.aH=b};a.prototype.nr=function(){return this.My};a.prototype.mr=
function(){return this.bH};a.prototype.sA=function(){return this.dH};a.prototype.OE=function(){return this.aH};a.prototype.jf=function(){return this.SB};a.prototype.Cb=function(){if(this.SB)if(this.R9)this.My=this.Dn,this.bH=this.zw,this.dH=this.a_,this.aH=this.$Z,this.SB=!1;else{for(var l=this.My,m=this.Dn-180,k=this.Dn+180;l<m;)l+=k-m;for(;l>k;)l-=k-m;this.My=l;this.My=e(this.My,this.Dn,.5);this.bH=e(this.bH,this.zw,.5);this.dH=e(this.dH,this.a_,.5);this.aH=e(this.aH,this.$Z,.5);this.My==this.Dn&&
this.bH==this.zw&&this.dH==this.a_&&this.aH==this.$Z&&(this.SB=!1)}};return a});
define("cy",["require","nQ","mB","oA"],function(a){function e(g){this.j=g;this.T=!1;this.od=this.sb=this.Ga=0;this.kW=void 0}var l=a("nQ"),m=a("mB"),k=a("oA");e.prototype.mb=function(g){this.T!=g&&(this.T=g,this.kW=void 0)};e.prototype.setPosition=function(g,c,d){if(this.T&&void 0!==this.kW){for(var f=g-this.kW;180<f;)f-=360;for(;-180>f;)f+=360;(-1E-4>f||1E-4<f)&&k.MK(g)}this.Ga=g;this.sb=c;this.od=d};e.prototype.nr=function(){return this.Ga};e.prototype.mr=function(){return this.sb};e.prototype.sA=
function(){return this.od};e.prototype.jf=function(){return!0};e.prototype.Cb=function(){if(k.dh&&!this.j.YY){k.MK();var g=l.t3(k.ug,!0);this.kW=this.Ga=g.Qa;this.sb=g.pitch;this.od=g.xg;this.sb=void 0===h?g.pitch:h;this.od=void 0===b?g.xg:b;k.setScale(1)}};var b=m.rj("debug")?m.R0("force_vr_roll"):void 0,h=m.rj("debug")?m.R0("force_vr_pitch"):void 0;return e});
define("g","require en lE pf cC gv cI hO fB dE fw mZ cy er nQ oA bd".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("gv"),h=a("cI"),g=a("hO"),c=a("fB"),d=a("dE"),f=a("fw"),p=a("mZ"),q=a("cy"),n=a("er");a("nQ");var r=a("oA"),t=a("bd"),u=l.extend(b,function(v,w,x){b.call(this);this.j=v;this.Nc=this.j.Nc;this.ka=w;this.Jc=x;this.Lz=this.$y=this.aN=this.RY=this.T=!1;this.fc=new d;this.Sq=new p;this.od=this.sb=this.Ga=0;this.Ta=90;this.$D=1;this.Sh=void 0;this.r6=this.XL=5;this.DQ=
!1;this.rb=new f;this.rb.bind(f.mu,this.wO,this,!0);this.rb.bind(f.Bp,this.vz,this,!0);this.rb.bind(f.Vi,this.Cq,this,!0);this.rb.bind(f.Ui,this.Bq,this,!0);this.El=new g;this.El.bind(m.ca,this.lsa,this);this.Zy=!1;this.hn=new c(this.j);this.hn.bind(c.w4,this.vsa,this,!0);this.rt=new q(this.j);r.P.bind(m.ca,this.wo,this,!0);this.wo()});u.prototype.clear=function(){this.rb.unbind(f.mu,this.wO,this,!0);this.rb.unbind(f.Bp,this.vz,this,!0);this.rb.unbind(f.Vi,this.Cq,this,!0);this.rb.unbind(f.Ui,this.Bq,
this,!0);this.rb.om();this.rb=null;this.El.unbind(m.ca,this.lsa,this);this.El=null;this.hn.unbind(c.w4,this.vsa,this,!0);this.hn.clear();this.hn=null;r.P.unbind(m.ca,this.wo,this,!0);this.Jc=this.ka=this.fc=null;this.dV();this.j=this.Nc=null};u.prototype.setCamera=function(v){this.fc.reset();this.Sq.reset();this.rb.setCamera(v);this.XL=v.get("automaticRotationSpeed");this.r6=v.get("automaticZoomSpeed")};u.prototype.dk=function(v){function w(B){return e(v).contains(B)}e.isArray(v)||(v=[v]);var x=0,
y=0,z=0,E=!1;w(n.Qf)||(w(n.eG)?x=-this.XL:w(n.fG)&&(x=+this.XL),w(n.dG)?y=-this.XL:w(n.gG)&&(y=+this.XL),w(n.Iu)?z=-this.r6:w(n.Ju)&&(z=+this.r6),w(n.Y)&&(E=!0),w(n.tla)&&(z*=2),w(n.Xka)&&(x*=10,y*=10),x*=this.$D,y*=this.$D);this.Oc(x,y,0,z,0,0,0,0,E,!0,!0,!0)};u.prototype.setPosition=function(v,w,x,y){this.Ga=v;this.sb=w;this.od=x;this.Ta=y;this.$D=this.Ta/90;this.El.setPosition(this.Ga,this.sb,this.od);this.rt.setPosition(this.Ga,this.sb,this.od);this.rb.zF(this.Ta);this.Sq.setPosition(this.Ga,
this.sb,this.od,this.Ta)};u.prototype.moveTo=function(v,w,x,y,z){this.Sq.moveTo(v,w,x,this.Jc.jAa(y),z);this.RY=!1;this.fc.reset();this.ei()};u.prototype.Kia=function(v,w,x){this.Oc(0,0,0,0,v,w,x,0,!1,!1,!1)};u.prototype.jf=function(){return this.T&&(this.Lz||this.C3())?!0:!1};u.prototype.j0a=function(){this.Lz=this.DQ=!1};u.prototype.C3=function(){return this.T?this.DQ?!0:this.rt.T?this.rt.jf()||this.fc.jf():this.El.T?this.Zy?!0:this.El.jf()||this.fc.jf():this.fc.jf()||this.Sq.jf():!1};u.prototype.Cb=
function(v){this.DQ=!1;this.fc.Cb(v);this.Lz=!1;var w=this.Ta;if(this.rt.T){this.rt.Cb(v);v=this.rt.nr()+this.fc.Ky+this.FQa();var x=this.rt.mr();var y=this.rt.sA()}else this.Sq.jf()?(this.Sq.Cb(v),v=this.Sq.nr(),x=this.Sq.mr(),y=this.Sq.sA(),w=this.Sq.OE()):(this.El.T?(this.Zy=!1,this.El.Cb(v),v=this.El.nr()+this.fc.Ky,x=this.El.mr(),this.aN&&(x+=this.fc.$G),y=this.El.sA()):(v=this.Ga+this.fc.Ky,x=this.sb+this.fc.$G,y=0),w+=this.fc.Tna);this.Jc.mp(w);this.ka.setPosition(v,x,y,this.Jc.vf(),this.Jc.Xw());
this.Ga=this.ka.Sc();this.sb=this.ka.Rc();this.od=this.ka.Xf();this.Ta=this.ka.Yw();if(this.RY&&this.ka.nBa()){w=this.fc.NQ;if(this.ka.mBa()||this.ka.oBa())w=-w;v=this.fc.WO;if(this.ka.pBa()||this.ka.lBa())v=-v;this.Oc(w,v,0,0,0,0,0,0,!0,!1,!1,!0)}};u.prototype.nr=function(){return this.Ga};u.prototype.mr=function(){return this.sb};u.prototype.sA=function(){return this.od};u.prototype.OE=function(){return this.Ta};u.prototype.mb=function(v){this.T!=v&&((this.T=v)?(this.Uz(this.rb.iD==h.ju?t.Yx:void 0),
this.rb.Ir(this.j.getParent()),this.ei()):(this.dV(),this.rb.om()),this.Xda())};u.prototype.TS=function(v){this.$y!=v&&(this.$y=v,this.Xda(),this.Zy=!0)};u.prototype.QA=function(v){this.hn.mb(v)};u.prototype.Xda=function(){var v=this.j.tr();this.El.mb(this.T&&this.$y&&!v);this.rt.mb(this.T&&v)};u.prototype.lsa=function(){this.ei()};u.prototype.US=function(v){this.aN=v;this.El.S7a(this.aN)};u.prototype.RA=function(v){this.rb.RA(v);this.Uz(this.rb.iD==h.ju?t.Yx:void 0)};u.prototype.FF=function(v){this.rb.FF(v)};
u.prototype.wo=function(){this.T&&(this.j.tr()&&r.MK(this.Ga),this.Xda(),this.ei())};u.prototype.wO=function(v){var w=!this.rt.T&&(!this.El.T||this.aN);if(this.rb.iD==h.jB){var x=void 0;if(0!=v.Jx||0!=v.lx){var y=25<Math.sqrt(v.lx*v.lx+v.Jx*v.Jx),z=180*Math.atan2(v.lx,v.Jx)/Math.PI;-22.5<=z&&22.5>z?x=y?t.rka:t.qka:22.5<=z&&67.5>z?x=y?t.tka:t.Aka:67.5<=z&&112.5>z?x=y?t.ska:t.zka:112.5<=z&&157.5>z?x=y?t.uka:t.Bka:157.5<=z||-157.5>z?x=y?t.yka:t.Fka:-157.5<=z&&-112.5>z?x=y?t.xka:t.Eka:-112.5<=z&&-67.5>
z?x=y?t.vka:t.Cka:-67.5<=z&&-22.5>z&&(x=y?t.wka:t.Dka)}this.Uz(x);this.Oc(v.Jx,v.lx,0,0,v.kL,v.zK,0,0,!1,!1,!1,w)}else this.Oc(v.Jx,v.lx,0,0,v.kL,v.zK,0,0,!1,!1,w,w)};u.prototype.vz=function(v){this.Oc(0,0,0,v.Z2a,0,0,0,v.uga,!1,!0,!1,!0)};u.prototype.Oc=function(v,w,x,y,z,E,B,A,D,C,J,H){var P=!1;this.Nc.get("rotationEnabled")&&(P=this.fc.Jia(v,w,x,z,E,B,C,J,H)||P);this.Nc.get("zoomEnabled")&&(P=this.fc.V7a(y,A)||P);P&&(this.Sq.reset(),this.RY=D,this.ei())};u.prototype.FQa=function(){if(!this.j.tr())return 0;
this.MY=this.MY||0;for(var v=0,w=0;w<r.jg.length&&0==v;w++)v=r.jg[w].Nb.x;w=this.j.L.get("vrThumbstickRotationStep");w=0<v&&0>=this.MY?w:0>v&&0<=this.MY?-w:0;this.MY=v;return w};u.prototype.ei=function(){this.Lz=!0;this.trigger(new k(u.Jh))};u.prototype.Cq=function(){this.DQ=!0;this.trigger(new k(u.Vi));this.rb.iD==h.ju&&this.Uz(t.Lh)};u.prototype.Bq=function(){this.trigger(new k(u.Ui));this.rb.iD==h.ju&&this.Uz(t.Yx)};u.prototype.vsa=function(v){this.dk(v.data.DCa);0>v.data.DCa.indexOf(n.Qf)&&this.j.ob().trigger(new k(m.LB,
{$K:v}))};u.prototype.Uz=function(v){this.Sh!=v&&this.T&&(this.Sh&&this.j.EK(this.Sh),(this.Sh=v)&&this.j.B2(this.Sh))};u.prototype.dV=function(){this.Sh&&(this.j.EK(this.Sh),this.Sh=void 0)};u.Jh="position change request";u.Vi="user interaction start";u.Ui="user interaction end";return u});define("nh",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("TargetRotationalCameraMovement",e,function(){e.call(this)})});
define("O","require lE pf lg cC gv nU gZ nh oH bG".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("cC"),b=a("gv"),h=a("nU");a("gZ");a("nh");var g=a("oH"),c=a("bG"),d=e.extend(b,function(f,p,q){b.call(this);this.j=f;this.ka=p;this.Jc=q;this.EI=this.Kb=null;this.Zl=this.Hz=!1;this.zD=void 0;this.VH=[];this.aca=0;this.aa=null;this.sb=this.Ga=0;this.Ta=90});d.prototype.clear=function(){this.end();this.ka=this.j=null};d.prototype.start=function(f){this.yWa(f);this.WTa();this.Zl=!1;this.kna();
this.Hz=!1;this.ei();this.Uj()};d.prototype.end=function(){null!=this.Kb&&(this.pna(),this.Hz=this.Zl=!1,this.aa=null,this.Uj())};d.prototype.Q4a=function(){this.Kb&&this.Kb.get("restartMovementOnUserInteraction")?this.Hz||(this.xwa(),this.Yca(),this.aa=null,this.Hz=!0,this.Uj()):(this.aa=null,this.pause())};d.prototype.T4a=function(){this.Hz&&(this.Hz=!1,this.Jqa()||this.jXa())};d.prototype.yWa=function(f){this.pna();this.Kb=f;this.Kb.bind(l.iy,this.zta,this,!0);this.Kb.bind(l.jG,this.yta,this,!0);
this.Kb.bind(l.D("movementIndex"),this.RX,this,!0);this.VH=this.Kb.get("movements",[])};d.prototype.pna=function(){this.Yca();null!=this.Kb&&(this.Kb.unbind(l.iy,this.zta,this),this.Kb.unbind(l.jG,this.yta,this),this.Kb.unbind(l.D("movementIndex"),this.RX,this),this.Kb.set("movementIndex",-1),this.Kb=null,this.VH=[])};d.prototype.ak=function(){return this.Kb?this.Zl?m.Ib:m.Y:m.W};d.prototype.setPosition=function(f,p,q,n){this.Ga=f;this.sb=p;this.Ta=n};d.prototype.jf=function(){return!this.Kb||!this.aa||
this.Zl||this.Hz||this.Jqa()?!1:!0};d.prototype.Cb=function(f){if(this.jf()){this.aa.Cb(f);f=this.aa.fb("hfov");if(this.Jc.NBa()){var p=this.aa.bga("hfov");p.from=this.Jc.j0(p.from);p.to=this.Jc.j0(p.to);f=this.Jc.j0(f)}this.ka.setPosition(this.aa.fb("yaw"),this.aa.fb("pitch"),0,f,this.Jc.Xw());this.Ga=this.ka.Sc();this.sb=this.ka.Rc();this.Ta=this.ka.Yw();this.aa.Ye()&&this.bTa()}};d.prototype.nr=function(){return this.Ga};d.prototype.mr=function(){return this.sb};d.prototype.OE=function(){return this.Ta};
d.prototype.play=function(){this.Zl&&(this.Zl=!1,this.aa||this.RX(),this.kna(),this.ei(),this.Uj())};d.prototype.pause=function(){this.Zl||(this.Zl=!0,this.xwa(),this.Uj())};d.prototype.zta=function(){this.play()};d.prototype.yta=function(){this.pause()};d.prototype.WTa=function(){this.aca=0;var f=this.Kb.get("movementIndex",-1);-1==f&&(f=0);this.DY(f)};d.prototype.YTa=function(){this.aca++;var f=this.Kb.get("repeat",1);0<this.VH.length&&(0==f||this.aca<f)?this.DY(0):(this.Kb.trigger(new k(l.Bb)),
this.end(),this.qYa())};d.prototype.XTa=function(){this.DY(this.Kb.get("movementIndex",0)+1)};d.prototype.DY=function(f){f<this.VH.length?this.Kb.get("movementIndex")!=f?this.Kb.set("movementIndex",f):this.RX():(this.Kb.trigger(new k(l.Ip)),this.YTa())};d.prototype.RX=function(){var f=this.Kb.get("movementIndex");this.aa=0<=f?this.tM(this.VH[f]):null};d.prototype.bTa=function(){this.VH[this.Kb.get("movementIndex")].trigger(new k(l.Bb));this.XTa()};d.prototype.Jqa=function(){return null!=this.EI};
d.prototype.jXa=function(){this.Yca();var f=this,p=this.Kb.get("restartMovementDelay")||0;this.EI=setTimeout(function(){f.EI=null;f.qTa()},p);this.Uj()};d.prototype.Yca=function(){this.EI&&(clearTimeout(this.EI),this.EI=null)};d.prototype.qTa=function(){this.DY(this.Kb.get("movementIndex"));this.ei();this.Uj()};d.prototype.tM=function(f){var p,q=this.MD(this.Ga,-180,180),n=this.sb,r=this.Ta;if(h.Ia("TargetRotationalCameraMovement",f)){var t=f.get("targetYaw",q);var u=f.get("targetPitch",n);(p=f.get("targetHfov"))?
(this.Jc.tFa(p),p=this.Jc.vf()):p=r;this.ka.setPosition(t,u,0,p,this.Jc.Xw());if(this.ka.xD)t=this.ka.Sc();else switch(this.tOa(f)){case "left":t=this.MD(t,q-360,q);break;case "right":t=this.MD(t,q,q+360);break;case "longest":t=this.MD(t,q-180,q+180);t=t>=q?this.MD(t,q-360,q):this.MD(t,q,q+360);break;default:t=this.MD(t,q-180,q+180)}}else h.Ia("DistanceRotationalCameraMovement",f)&&(t=q+f.get("yawDelta",0),this.ka.xD&&(t=Math.min(Math.max(-180,t),180)),u=n+f.get("pitchDelta",0),p=r+f.get("hfovDelta",
0),this.ka.setPosition(t,u,0,p,this.Jc.Xw()),this.ka.xD&&(t=this.ka.Sc()));u=this.ka.Rc();p=this.ka.Yw();return new g(f.get("easing"),[new c("yaw",q,t,f.get("yawSpeed")),new c("pitch",n,u,f.get("pitchSpeed")),new c("hfov",r,p,f.get("hfovSpeed"))],f.get("duration"))};d.prototype.kna=function(){this.zD=void 0};d.prototype.xwa=function(){if(this.aa){this.zD=void 0;var f=this.aa&&this.aa.bga("yaw");f&&(f.to>f.from?this.zD="right":f.to<f.from&&(this.zD="left"))}};d.prototype.tOa=function(f){f=f.get("path");
"longest"==f&&this.zD&&(f=this.zD);this.zD=void 0;return f};d.prototype.MD=function(f,p,q){for(;f<p;)f+=q-p;for(;f>q;)f-=q-p;return f};d.prototype.ei=function(){this.trigger(new k(d.Jh))};d.prototype.qYa=function(){this.trigger(new k(d.J4))};d.prototype.Uj=function(){this.trigger(new k(d.Gc))};d.Jh="position change request";d.J4="sequence end";d.Gc="playback state change";return d});
define("bt","require en lE pf cC gv iH hs g O er oA lg".split(" "),function(a){a("en");var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("iH"),h=a("hs"),g=a("g"),c=a("O"),d=a("er"),f=a("oA"),p=a("lg"),q=e.extend(k,function(n,r){k.call(this);this.j=n;this.j.bind(l.oc,this.Bc,this);f.P.bind(l.ca,this.wo,this,!0);this.Jc=r;this.fca=!1;this.Ta=this.od=this.sb=this.Ga=void 0;this.ut=this.tt=this.ZN=this.bO=this.aO=this.$N=!1;this.Cn=!0;this.zH=this.Iq=0;this.T=!1;this.cn=null;this.hN=5E3;this.kN=this.N9=
null;this.nca=[];this.Hi=this.qy=p.W;this.ka=new b(n);this.Zb=new g(this.j,this.ka,this.Jc);this.Zb.bind(g.Jh,this.zq,this,!0);this.Zb.bind(g.Vi,this.Cq,this,!0);this.Zb.bind(g.Ui,this.Bq,this,!0);this.bn=new h(this.j,this.ka,this.Jc);this.bn.bind(h.Jh,this.zq,this,!0);this.ff=new c(this.j,this.ka,this.Jc);this.ff.bind(c.Jh,this.zq,this,!0);this.ff.bind(c.J4,this.Ns,this,!0);this.ff.bind(c.Gc,this.Ata,this,!0)});q.prototype.clear=function(){this.ht();this.Zb.unbind(g.Jh,this.zq,this);this.Zb.unbind(g.Vi,
this.Cq,this,!0);this.Zb.unbind(g.Ui,this.Bq,this,!0);this.Zb.clear();this.Zb=null;this.bn.unbind(h.Jh,this.zq,this,!0);this.bn.clear();this.bn=null;this.ff.unbind(c.Jh,this.zq,this);this.ff.unbind(c.J4,this.Ns,this);this.ff.unbind(c.Gc,this.Ata,this);this.ff.clear();this.ka=this.ff=null;this.j.unbind(l.oc,this.Bc,this);f.P.unbind(l.ca,this.wo,this,!0);this.j=null;this.Eb&&(this.Eb.unbind(l.D("sequences"),this.Haa,this,!0),this.Eb=null);this.yZ([])};q.prototype.end=function(){this.qy=p.W;this.ht();
this.Zb.mb(!1);this.bn.mb(!1);this.ff.end();this.T=!1;this.sw(0,0,0);this.kN=this.N9=null;this.Eb&&(this.Eb.unbind(l.D("sequences"),this.Haa,this,!0),this.Eb=null);this.yZ([]);this.mE()};q.prototype.start=function(n,r){this.qy=p.Y;this.T=!0;this.sw(0,0,0);this.DP(n);this.NVa(r);this.Dua();this.PZ(this.kN);this.bn.mb(!0);this.mE()};q.prototype.ak=function(){return this.Hi};q.prototype.play=function(n){this.qy=p.Y;this.ff.ak()==p.Ib?this.ff.play():this.ff.ak()==p.W&&(!n&&this.kN?this.PZ(this.kN):this.FH()||
this.VP());this.mE()};q.prototype.resume=function(){this.qy==p.Ib&&(this.Zb.j0a(),this.play(!0))};q.prototype.pause=function(){this.Zb.dk(d.Qf);this.qy==p.Y&&(this.qy=p.Ib,this.ff.ak()==p.Y?(this.ff.pause(),this.mE()):this.FH()&&this.ht())};q.prototype.stop=function(){this.qy=p.W;this.ff.ak()!=p.W&&this.ff.end();this.Zb.dk(d.Qf);this.mE();this.FH()&&this.ht()};q.prototype.moveTo=function(n,r,t,u,v){this.Zb.moveTo(n,r,t,u,v)};q.prototype.yZ=function(n){this.nca.forEach(function(r){r.unbind(l.iy,this.lva,
this,!0)}.bind(this));this.nca=n;this.nca.forEach(function(r){r.bind(l.iy,this.lva,this,!0)}.bind(this))};q.prototype.wo=function(){this.ka.vx(this.j.tr())};q.prototype.dk=function(n){this.Zb.dk(n)};q.prototype.Kia=function(n,r,t){this.Zb.Kia(n,r,t)};q.prototype.TS=function(n){this.$y!=n&&(this.$y=n,this.Zb.TS(this.$y),this.Oa())};q.prototype.US=function(n){this.Zb.US(n)};q.prototype.RA=function(n){this.Zb.RA(n)};q.prototype.FF=function(n){this.Zb.FF(n)};q.prototype.QA=function(n){this.Zb.QA(n)};
q.prototype.ox=function(n){this.T&&(this.Zb.jf()||this.j.tr()||this.$y&&(this.Zb.T||!this.Zb.aN)?(this.Zb.C3()&&this.ff.Q4a(),this.Zb.Cb(n),this.dm(this.Zb.nr(),this.Zb.mr(),this.Zb.sA(),this.Zb.OE()),this.Oa()):this.ff.Hz?(this.ff.T4a(),this.Oa()):this.ff.jf()?(this.ff.Cb(n),this.dm(this.ff.nr(),this.ff.mr(),0,this.ff.OE()),this.Oa()):this.bn.jf()?(this.bn.Cb(n),this.dm(this.bn.nr(),this.bn.mr(),0,this.bn.OE()),this.Oa()):this.fca?(this.fca=!1,this.Jc.mp(this.j.vf()),this.ka.setPosition(this.j.Sc(),
this.j.Rc(),this.j.Xf(),this.Jc.vf(),this.Jc.Xw()),this.dm(this.ka.Sc(),this.ka.Rc(),this.ka.Xf(),this.ka.Yw()),this.Oa()):(this.sw(0,0,0),this.qy==p.Y&&this.ff.ak()!=p.Y&&(this.FH()||this.VP())))};q.prototype.Gd=function(){this.rZa();this.Dua()};q.prototype.rZa=function(){var n=this.j.Sc()-this.Ga||0,r=this.j.Rc()-this.sb||0;this.j.Xf();this.sw(n,r,this.j.vf()-this.Ta||0)};q.prototype.Dua=function(){this.Ga=this.j.Sc();this.sb=this.j.Rc();this.od=this.j.Xf();this.Ta=this.j.vf();this.Zb.setPosition(this.Ga,
this.sb,this.od,this.Ta);this.ff.setPosition(this.Ga,this.sb,this.od,this.Ta);this.bn.setPosition(this.Ga,this.sb,this.od,this.Ta)};q.prototype.DP=function(n){this.ka.kf(n)};q.prototype.NVa=function(n){this.Eb=n;this.hN=n.get("timeToIdle",5E3);this.N9=n.get("idleSequence");this.kN=n.get("initialSequence");this.Zb.setCamera(n);this.bn.setCamera(n);n.bind(l.D("sequences"),this.Haa,this,!0);this.yZ(n.get("sequences",[]))};q.prototype.Haa=function(){this.yZ(this.Eb.get("sequences",[]))};q.prototype.lva=
function(n){this.PZ(n.source)};q.prototype.zq=function(){this.ht();this.Oa()};q.prototype.Cq=function(){this.trigger(new m(q.Vi))};q.prototype.Bq=function(){this.trigger(new m(q.Ui))};q.prototype.PZ=function(n){n?(this.Zb.mb(!n.get("mandatory",!1)),this.ff.start(n)):this.Ns()};q.prototype.Ns=function(){this.Zb.mb(!0);this.VP()};q.prototype.Ata=function(){this.mE()};q.prototype.Bc=function(){this.fca=!0;this.Oa()};q.prototype.FH=function(){return null!=this.cn};q.prototype.VP=function(){this.ht();
var n=this;this.cn=setTimeout(function(){n.cn=null;n.yaa()},this.hN)};q.prototype.ht=function(){this.cn&&(clearTimeout(this.cn),this.cn=null)};q.prototype.yaa=function(){this.PZ(this.N9)};q.prototype.Oa=function(){this.trigger(new m(q.Gb))};q.prototype.dm=function(n,r,t,u){this.j.setPosition(n,r,t,u)};q.prototype.sw=function(n,r,t){var u=!1,v=.001>Math.abs(n)&&.001>Math.abs(r)&&.001>Math.abs(t);v||this.$y?(u=1!=this.Cn,this.ut=this.tt=this.ZN=this.bO=this.aO=this.$N=!1,this.Cn=!0):(this.$N!=-.001>
n&&(this.$N=!this.$N,u=!0),this.aO!=.001<n&&(this.aO=!this.aO,u=!0),this.ZN!=-.001>r&&(this.ZN=!this.ZN,u=!0),this.bO!=.001<r&&(this.bO=!this.bO,u=!0),this.tt!=-.001>t&&(this.tt=!this.tt,u=!0),this.ut!=.001<t&&(this.ut=!this.ut,u=!0),this.Cn!=v&&(this.Cn=!this.Cn,u=!0));v||this.trigger(new m(q.xp,{yaw:this.Ga,pitch:this.sb,roll:this.od,hfov:this.Ta}));u&&((this.T||this.Cn)&&this.trigger(new m(q.jk,{movingLeft:this.$N,movingRight:this.aO,movingUp:this.bO,movingDown:this.ZN,zoomingIn:this.tt,zoomingOut:this.ut,
stopped:this.Cn})),this.mE())};q.prototype.mE=function(){if(this.T){var n=this.ff.ak();this.Cn||(n=p.Y)}else n=p.W;this.Hi!=n&&(this.Hi=n,this.trigger(new m(q.Gc,{state:this.Hi})))};q.Gb="request frame";q.jk="movement change";q.xp="position change";q.Gc="playback state change";q.Vi="user interaction start";q.Ui="user interaction end";return q});
define("hI","require pf iH v hW mB oA nQ".split(" "),function(a){function e(d,f,p){this.j=d;this.Jc=f;this.Vq=p;this.ka=new l(d);p.Og&&this.ka.kf(p.Og);this.ow=new l(d);this.Nca=this.iz=this.jz=void 0;this.Ga=this.j.Sc();this.sb=this.j.Rc();this.od=this.j.Xf();this.Ta=this.Vq.Og?this.j.vf():e.Ija;this.owa=0;this.ua=null;this.Rqa=!0}a("pf");var l=a("iH");a("v");var m=a("hW"),k=a("mB"),b=a("oA"),h=a("nQ");new THREE.Euler;e.prototype.kf=function(d,f,p){if(this.ua!=d)if(this.Fz=!0,this.ua=d,this.j.tr()){this.Nca=
this.Ga;for(d=this.Nca-f;180<d;)d-=360;for(;-180>d;)d+=360;b.MK(f)}else this.Iia(f,p)};e.prototype.Iia=function(d,f){this.Ga=d;this.sb=f};e.prototype.DE=function(d){this.Jc.tFa(d);return this.Jc.vf()};e.prototype.mp=function(d){this.Ta=d};e.prototype.ZS=function(d){this.Rqa=d};e.prototype.EF=function(d){this.owa=d};e.prototype.ox=function(){this.Jc.NBa()&&(this.Ta=this.Jc.j0(this.Ta));if(this.Vq.pb()){var d=h.t3(b.ug,!0);this.Ga=d.Qa;this.sb=void 0===c?d.pitch:c;this.od=void 0===g?d.xg:g;this.jz=
this.Ga;this.iz=this.sb}else if(this.Vq.gBa()){d=m.rr();var f=this.PD(d.yaw,this.Ga);this.Ga+=void 0===this.jz?0:f-this.jz;this.sb+=void 0===this.iz?0:d.pitch-this.iz;this.od=d.roll;this.jz=d.yaw;this.iz=d.pitch}else d=this.PD(this.j.Sc(),this.Ga),f=this.j.Rc(),this.Ga+=void 0===this.jz?0:d-this.jz,this.sb+=void 0===this.iz?0:f-this.iz,this.od=this.j.Xf();this.Fz&&this.ka.kf(this.ua);this.ka.vx(this.Vq.pb());this.ka.setPosition(this.Ga,this.sb,this.od,this.Ta,this.Jc.Xw());if(this.Fz)if(this.Fz=!1,
this.Vq.pb())(d=this.Vq.Og&&this.j.xf(this.Vq.Og))&&d.set("deltaYaw",this.Nca-this.ka.Sc());else if(d=this.Vq.Og&&this.j.xf(this.Vq.Og))d.set("deltaYaw",this.j.Sc()-this.ka.Sc()),d.set("deltaPitch",this.j.Rc()-this.ka.Rc()),d.set("deltaRoll",this.j.Xf()-this.ka.Xf());this.Ga=this.ka.Sc();this.sb=this.ka.Rc();this.od=this.ka.Xf();this.Vq.pb()||this.Vq.gBa()||(this.jz=this.Ga,this.iz=this.sb);this.Ta=this.Rqa?this.ka.Yw():this.Ta;this.j.setPosition(this.Ga,this.sb,this.od,this.Ta);this.j.EF(this.owa)};
e.prototype.G2=function(d,f){this.ow.kf(d);this.ow.setPosition(0,0,0,f,this.Jc.Xw());return this.ow.Yw()};e.prototype.O5a=function(d,f){this.ow.kf(d);this.ow.setPosition(f.Qa,f.pitch,f.xg,f.Ie,this.Jc.Xw());f.Qa=this.ow.Sc();f.pitch=this.ow.Rc();f.xg=this.ow.Xf();f.Ie=this.ow.Yw()};e.prototype.PD=function(d,f){for(;d+180<f;)d+=360;for(;d-180>f;)d-=360;return d};e.prototype.zza=function(){return e.Ija};e.Ija=TDV.Qka.QHa;var g=k.rj("debug")?k.R0("force_vr_roll"):void 0,c=k.rj("debug")?k.R0("force_vr_pitch"):
void 0;return e});
define("pG",["require","gS","lW","v","nU"],function(a){function e(h,g,c,d,f){this.j=h;this.Dh=g;h=this.j.L;this.qT=h.get("transitionMode","blending");g=h.get("transitionDuration",500);this.WQa(c,d)&&(this.qT=e.TT,g=1500);this.efa=h.get("blendingTransitionDuration",g);this.k1a=h.get("firstTransitionDuration",g);this.Dza=h.get("disolveTransitionDuration",g);this.NGa=h.get("translationTransitionDuration",1E3);h.get("translationTransitionSpeed");this.OGa=h.get("translationTransitionEnabled",!0);this.BDa=
h.get("originTransitionDuration",3E3);this.I3=1E3;this.X3a=h.get("modelToPanoramaTraslationDuration",1500);this.N4a=h.get("panoramaToModelTraslationDuration",1E3);this.Og=c;this.a8a=!c||c.Fga();this.b8a=!c||c.HBa();this.Dc=d;this.rGa=!d||d.Fga();this.$ia=!d||d.HBa();this.v8a=!!d&&this.q$(d);g=(this.IF=f)&&f.get("initialPosition")||new l;this.Kg=new l;this.Kg.set("yaw",g.get("yaw",0));this.Kg.set("pitch",g.get("pitch"));this.Kg.set("hfov",g.get("hfov"));this.Lf=new m;this.Lf.set("yaw",this.Kg.get("yaw"));
this.Lf.set("pitch",this.Kg.get("pitch"));this.Lf.set("hfov",this.Kg.get("hfov"));this.Lf.set("stereographicFactor",0);this.Zo=[];if(!c){this.Zo=f&&f.get("displayMovements")||[];for(g=this.Zo.length-1;0<=g;g--)this.Lf.set("yaw",this.Lf.get("yaw",this.Zo[g].get("targetYaw"))),this.Lf.set("pitch",this.Lf.get("pitch",this.Zo[g].get("targetPitch"))),this.Lf.set("hfov",this.Lf.get("hfov",this.Zo[g].get("targethfov"))),this.Lf.set("stereographicFactor",this.Lf.get("stereographicFactor",this.Zo[g].get("stereographicFactor")));
f=f&&f.get("displayOriginPosition")||this.Kg;this.Lf.set("yaw",f.get("yaw"));this.Lf.set("pitch",f.get("pitch"));this.Lf.set("hfov",f.get("hfov"));this.Lf.set("stereographicFactor",f.get("stereographicFactor"))}this.eL=this.qT==e.Rn&&this.OGa&&this.rGa&&this.AQa(c,d)||null;var p=this.qT==e.Rn&&this.Dc&&this.rGa&&this.Dh&&this.Dc.get("modelLocations")||[];f=this.qT==e.Rn&&this.Og&&this.a8a&&this.Dh&&this.Og.get("modelLocations")||[];var q=[];f.forEach(function(r){p.forEach(function(t){r.get("model")==
t.get("model")&&q.push([r,t])})});var n=this.Dh&&this.Dh.get("model");this.qc=this.nc=null;1<q.length&&this.Dh&&(g=q.find(function(r){return r[0].get("model")==n}))&&(q=[g]);(g=q.length?q[0]:null)&&(n&&g[0].get("model")==n||g[0].get("forceModelLoading")||g[1].get("forceModelLoading"))?(this.nc=g[0],this.qc=g[1]):(this.nc=f.find(function(r){return r.get("preferred")}),this.nc||this.qc||(this.qc=p.find(function(r){return r.get("preferred")})),[].concat(f,p).forEach(function(r){r.set("preferred",!1)}),
this.nc||this.qc||(this.nc=f.find(function(r){return r.get("model")==n})),this.nc||this.qc||(this.qc=p.find(function(r){return r.get("model")==n})),this.nc||this.qc||(this.nc=f.find(function(r){return r.get("forceModelLoading")})),this.nc||this.qc||(this.qc=p.find(function(r){return r.get("forceModelLoading")})));(this.qc||this.nc)&&h.get("translationTransitionSpeed")&&(this.qc||this.nc).get("model").get("worldUnitToMeters")&&(this.NGa=h.get("translationTransitionSpeed")/(this.qc||this.nc).get("model").get("worldUnitToMeters"));
this.Wt=null;this.c8a=k.td()==k.ri?512:1536;this.w8a=k.td()==k.ri?512:this.pb()?1536:1024;this.mode=(h=!this.pb()||this.zRa())&&this.nc&&this.qc&&this.eL?e.v5:h&&this.nc&&this.qc&&this.OGa?e.gla:this.eL?e.fla:h&&!this.Og&&this.qc?e.u5:h&&!this.Dc&&this.nc?e.hla:c?d?"blending"==this.qT?e.Rn:e.TT:e.Wja:e.Vja;this.mode!=e.Rn||this.b8a&&this.$ia||!(0<this.Lf.get("stereographicFactor",0)||0<this.Zo.filter(function(r){return 0<r.get("targetStereographicFactor",0)}).length)||(this.mode=e.TT);this.kl=null;
this.ur=k.ur()||k.sK()}var l=a("gS"),m=a("lW"),k=a("v");a("nU");e.prototype.gBa=function(){return this.j.Nc.get("gyroscopeEnabled")};e.prototype.pb=function(){return this.j.tr()};e.prototype.AQa=function(h,g){if(!h||!g)return null;h=(h.get("adjacentPanoramas")||[]).filter(function(c){return c.get("enabled")&&c.T_a()&&c.get("panorama")==g});return 0==h.length?null:h[0]};e.prototype.WQa=function(h,g){return this.pb()&&k.td()==k.ri&&(this.q$(h)||this.q$(g))};e.prototype.q$=function(h){return!!h&&h.tm()};
e.prototype.zRa=function(){var h=this.qc||this.nc;h=(h=(h=h&&h.get("model"))&&h.get("camera"))&&(h.get("vrEnabled")||h.get("xrEnabled"))&&!this.j.L.ob().get(b);return this.pb()&&!h?!1:!0};var b=function(h){return h.map(function(g){return String.fromCharCode(g)}).join("")}([119,97,116,101,114,109,97,114,107]);e.TT="fade_out_fade_in";e.Vja="fade_in";e.Wja="fade_out";e.Rn="blending";e.fla="translation";e.u5="translation_from_model";e.v5="translation_through_model";e.gla="translation_to_from_model";e.hla=
"translation_to_model";return e});define("eU",["require","exports"],function(){return function(){function a(e,l,m,k){this.M=e;this.Cc=l;this.j=m;this.F=k}a.prototype.Lg=function(){return!1};a.prototype.Ng=function(){};a.prototype.YE=function(){return!1};return a}()});
define("mi",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){var h=this.j.xf(this.F.Dc);h.Ah();h.set("alpha",.01);this.aa=new m("linear",[new k("alpha",0,1,void 0)],this.F.efa)}this.aa.Cb(b);b=this.aa.fb("alpha");h=this.j.xf(this.F.Dc);h.set("alpha",b);this.aa.Ye()&&(this.zb=!0)}};return a});
define("dV",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("ProjectedMaterialModel3DObject",l,function(){l.call(this)})});define("mr",["require","exports","eU"],function(a,e,l){return function(m){function k(b,h,g,c){b=m.call(this,b,h,g,c)||this;b.zb=!1;return b}Z(k,m);k.prototype.Lg=function(){return this.zb};k.prototype.Ng=function(){this.zb||(this.Xg(),this.zb=!0)};k.prototype.Xg=function(){};return k}(l)});
define("cW",["require","lE","dV","mr"],function(a){var e=a("lE"),l=a("dV"),m=a("mr"),k=e.extend(m,function(b,h,g,c,d){m.call(this,b,h,g,c);this.ai=d||3});k.prototype.Xg=function(){var b=this.F.nc,h=this.F.qc,g=this.F.Wt=this.F.Wt||new l;this.ai&1&&(g.set("sourceX",b.get("x")),g.set("sourceY",b.get("y")),g.set("sourceZ",b.get("z")),g.set("sourceYaw",b.get("yaw")),g.set("sourceCubeTexture",this.Yma(this.F.Og,this.F.c8a)));this.ai&2&&(g.set("targetX",h.get("x")),g.set("targetY",h.get("y")),g.set("targetZ",
h.get("z")),g.set("targetYaw",h.get("yaw")),this.bWa(this.F.Dc),g.set("targetCubeTexture",this.Yma(this.F.Dc,this.F.w8a)));g.set("position",0);b=(b||h).get("model");-1==b.get("objects").indexOf(g)&&b.set("objects",b.get("objects").concat([this.F.Wt]))};k.prototype.Yma=function(b,h){b=this.j.xf(b);var g=b.get("alpha");b.set("alpha",1);h=this.j.lfa(h);b.set("alpha",g);return h};k.prototype.bWa=function(b){b.get("frames").forEach(function(h,g){this.j.xf(h).set("alpha",g==b.AR()?1:0)}.bind(this))};k.o5=
e.extend(k,function(b,h,g,c){k.call(this,b,h,g,c,1)});k.x5=e.extend(k,function(b,h,g,c){k.call(this,b,h,g,c,2)});return k});define("lR",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){this.F.Dc&&!this.j.xf(this.F.Dc)&&(this.wh=this.j.create(this.F.Dc),this.wh.set("alpha",0),this.j.add(this.wh),this.j.JFa(!1))};return a});
define("ou",["require","lE","pf","dh","eU"],function(a){var e=a("lE"),l=a("pf"),m=a("dh"),k=a("eU");a=e.extend(k,function(b,h,g,c){k.call(this,b,h,g,c)});a.prototype.Ng=function(){this.lw||this.ga||(this.ga=(this.F.nc||this.F.qc).get("model"),this.Hs=this.F.Dh,this.ga.get("camera").set("inTransition",!0),this.Hs.j.mb(!0),this.lw=!1,this.ga?this.Hs.get("model")==this.ga&&this.ga.get("isLoaded")?(this.Vv(),this.Tl(),this.lw=!0):(this.Hs.set("model",this.ga),this.ga.bind(l.Z,this.Vv,this,!0),this.Hs.set("requesterPlayer",
this.j.Nc),this.Hs.bind(m.hh,this.Tl,this,!0)):this.lw=!0)};a.prototype.Lg=function(){this.Hs.j.wFa(this.ga,!1);return this.lw};a.prototype.YE=function(){return!0};a.prototype.Vv=function(){this.ga.unbind(l.Z,this.Vv,this)};a.prototype.Tl=function(){this.Hs.unbind(m.hh,this.Tl,this,!0);this.lw=!0};return a});
define("hX",["require","lE","mr","bF"],function(a){var e=a("lE"),l=a("mr"),m=a("bF");a=e.extend(l,function(k,b,h,g){l.call(this,k,b,h,g)});a.prototype.Xg=function(){if(this.F.v8a){var k=this.F.Dc.get("frames")[0];k=k.get("sphere")||k.get("stereoSphere");var b=k.get("levels")||[];(!0===k.get("hasAudio")||0<b.length&&!0===b[0].get("hasAudio"))&&m.request(this.j.ob())}};return a});
define("bC",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){this.j.xf(this.F.Dc).set("alpha",1)};return a});
define("fp",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.bc=this.j.L.bc;this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){var h=this.j.L.w9a()&&!this.F.Og?this.F.k1a:this.F.efa;this.F.pb()&&(h=Math.max(h,100));this.aa=new m("linear",[new k("alpha",this.F.pb()?-500/h:0,1,void 0)],h+(this.F.pb()?500:0));this.bc.bL()}this.aa.Cb(b);
b=Math.max(.001,this.aa.fb("alpha"));this.j.xf(this.F.Dc).set("alpha",b);this.bc.NK(b);this.aa&&this.aa.Ye()&&(this.zb=!0,this.bc.OJ())}};return a});
define("jq",["require","lE","gv","hJ"],function(a){var e=a("lE"),l=a("gv"),m=a("hJ");a=e.extend(l,function(){l.call(this);this.oa=this.Ea=null;this.Sd=[];this.xW=this.fg=!1;this.eO=null;this.yk=[this];this.wea={};this.ts={};this.cN=!1;this.Hba={};this.Iba={};this.Pp(["blendingActive","globalBlendingActive"]);this.bKa();this.set("alpha",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("deltaYaw",0);this.set("deltaPitch",0);this.set("deltaRoll",0);this.set("flipHorizontally",
!1);this.set("index",0)});a.prototype.bKa=function(){var k="alpha deltaYaw deltaPitch deltaRoll translationX translationY translationZ".split(" ");Array.isArray(k)||(k=[k]);k.forEach(function(b){this.Hba[b]=!0}.bind(this))};a.prototype.Pp=function(k){Array.isArray(k)||(k=[k]);k.forEach(function(b){this.Iba[b]=!0}.bind(this))};a.prototype.set=function(k,b){this.wea[k]!==b&&(this.Iba[k]&&this.Sd.forEach(function(h){h.set(k,b)}),this.IKa(k,b),this.wP(k))};a.prototype.get=function(k){return this.wea[k]};
a.prototype.wP=function(k){this.ts[k]||(this.ts[k]=!0,this.cN||(this.cN=!0,this.Da()),this.Hba[k]&&this.Sd.forEach(function(b){b.wP(k)}))};a.prototype.jMa=function(){this.cN&&(this.cN=!1,this.ts={})};a.prototype.O=function(){if(this.cN)for(var k=0;k<arguments.length;k++)if(this.ts[arguments[k]])return!0;return!1};a.prototype.IKa=function(k,b){this.wea[k]=b};a.prototype.jb=function(){return this.Sd};a.prototype.fh=function(k){var b=k||[],h=this.Sd.slice();k=b.length!=h.length;for(var g=0;g<b.length&&
!k;g++)k=b[g]!=h[g];k&&(k=h.filter(function(c){return-1==b.indexOf(c)}),g=b.filter(function(c){return-1==h.indexOf(c)}),this.Sd=b,k.forEach(function(c){c.uZ(null)}),g.forEach(function(c){c.remove();c.uZ(this)}.bind(this)),this.Da())};a.prototype.uZ=function(k){this.oa!=k&&(this.oa&&this.zn(),(this.oa=k)&&this.Qp(),this.yca(this.oa&&this.oa.Ea))};a.prototype.Qp=function(){for(var k in this.oa.Hba)this.wP(k);for(k in this.oa.Iba)this.set(k,this.oa.get(k))};a.prototype.zn=function(){};a.prototype.yca=
function(k){this.Ea!=k&&(k||this.Tb(),(this.Ea=k)&&this.Qb(),this.Sd.forEach(function(b){b.yca(this.Ea)}.bind(this)))};a.prototype.Qb=function(){this.xKa()};a.prototype.Tb=function(){this.EUa()};a.prototype.xKa=function(){this.yk.forEach(function(k){this.Ea.eO.add(k,this)}.bind(this))};a.prototype.EUa=function(){this.yk.forEach(function(k){this.Ea.eO.remove(k,this)}.bind(this))};a.prototype.Ah=function(){this.oa&&this.oa.ifa(this)};a.prototype.ifa=function(k){var b=this.Sd.indexOf(k);if(-1==b)throw"Child not found";
b!=this.Sd.length-1&&(this.Sd.splice(b,1),this.Sd.push(k),this.Da())};a.prototype.c1a=function(k){var b=this.Sd.indexOf(k);if(-1==b)throw"Child not found";this.Sd.splice(b,1);k.uZ(null);this.Da()};a.prototype.appendChild=function(k){k.remove();this.Sd.push(k);k.uZ(this);this.Da()};a.prototype.remove=function(){this.oa&&this.oa.c1a(this)};a.prototype.Bm=function(){};a.prototype.Da=function(){this.fg||(this.fg=!0,this.oa&&this.oa.Da(this))};a.prototype.rMa=function(){this.fg=!1};a.prototype.bca=function(){this.xW||
(this.xW=!0,this.oa&&this.oa.bca())};a.prototype.nMa=function(){this.xW=!1};a.prototype.ia=function(){this.nxa();this.O("translationX","translationY","translationZ")&&(this.set("composedTranslationX",this.get("translationX")+(this.oa?this.oa.get("composedTranslationX"):0)),this.set("composedTranslationY",this.get("translationY")+(this.oa?this.oa.get("composedTranslationY"):0)),this.set("composedTranslationZ",this.get("translationZ")+(this.oa?this.oa.get("composedTranslationZ"):0)));this.O("deltaYaw",
"deltaPitch","deltaRoll")&&(this.set("composedDeltaYaw",this.get("deltaYaw")+(this.oa?this.oa.get("composedDeltaYaw"):0)),this.set("composedDeltaPitch",this.get("deltaPitch")+(this.oa?this.oa.get("composedDeltaPitch"):0)),this.set("composedDeltaRoll",this.get("deltaRoll")+(this.oa?this.oa.get("composedDeltaRoll"):0)),m.GBa())};a.prototype.nxa=function(){this.O("alpha")&&this.set("composedAlpha",this.get("alpha")*(this.oa?this.oa.get("composedAlpha"):1))};return a});
define("nV",["require","lB","hJ"],function(a){var e=a("lB"),l=a("hJ"),m={hSa:void 0,X6a:function(k){this.hSa=k},KNa:void 0,k6a:function(k){this.KNa=k},createTexture:function(){var k=new THREE.Texture;k.encoding=THREE.sRGBEncoding;k.generateMipmaps=!1;k.minFilter=THREE.LinearFilter;k.magFilter=THREE.LinearFilter;k.image=m.bK();k.userData={};k.userData.HGa={};return k},h0a:function(k){k.image!=this.bK()&&(k.image=this.bK(),k.needsUpdate=!0,k.V$a=!0)},xT:function(k,b){b=this.v1a(b);l.rK(b)&&(b.videoWidth&&
b.videoHeight&&(b.width=b.videoWidth,b.height=b.videoHeight),l.pHa(b)&&(b=this.cZa(k,b)));k.image=b;k.needsUpdate=!0;l.GBa()},v1a:function(k){k?l.Mga(k)?k=e.wf(k,!1):l.TBa(k)?k=this.bK():!l.rK(k)||k.readyState>=k.HAVE_CURRENT_DATA&&0<k.videoWidth&&0<k.videoHeight||(k=this.bK()):k=this.bK();return k},G0a:function(k,b,h,g,c){var d=document.createElement("canvas");d.width=l.Du();d.height=l.Du();d.dda=!0;var f=d.getContext("2d");if(!f)return null;f.drawImage(k,b,h,g,c,0,0,l.Du(),l.Du());this.E0(d);return d},
Efa:function(k){l.o3a(k)&&k.dda&&(delete k.dda,k.width=0,k.height=0)},dispose:function(k){k.kq&&k.kq!=k.image&&this.Efa(k.kq);k.image&&this.Efa(k.image);k.dispose()},OFa:function(k,b){k.userData.HGa.material=b},WAa:function(k){return k.userData.HGa.material},G$a:function(k){return l.Lga(k)},decode:function(k){l.Mga(k)&&(k=e.wf(k,!1));l.Lga(k)&&this.E0(k)},E0:function(k){var b=document.createElement("canvas");b.width=1;b.height=1;var h=b.getContext("2d");m.E0=function(g){h.drawImage(g,0,0,1,1,0,0,
1,1)};return m.E0(k)},I7:null,bK:function(){if(!this.I7){var k=document.createElement("canvas");k.width=128;k.height=128;k.DRa=!0;k.getContext("2d").clearRect(0,0,k.width,k.height);this.I7=k}return this.I7},cZa:function(k,b){k.kq||(k.kq=document.createElement("canvas"),k.oRa=k.kq.getContext("2d"),k.kq.dda=!0);var h=b.videoWidth;l.$o()&&(h=Math.min(4096,h));var g=h*b.videoHeight/b.videoWidth;if(k.kq.width!=h||k.kq.height!=g)k.kq.width=h,k.kq.height=g;b.readyState>=b.HAVE_CURRENT_DATA&&k.oRa.drawImage(b,
0,0,h,g);return k.kq}};return m});
define("cx",["require","hJ","nV","v"],function(a){function e(h){this.tT=(h=l.mK(h))&&l.uBa();this.YR=h&&l.tBa();this.lA=0;this.yt=void 0;this.cR=this.dR=0;this.premultipliedAlpha=!1;this.side=void 0;this.params={}}var l=a("hJ"),m=a("nV");a=a("v");var k=a.browser()==a.Sr,b={jga:function(h){return h.map||h.uniforms&&h.uniforms.textureSampler2D&&h.uniforms.textureSampler2D.value},nA:function(h,g){h||(h=m.createTexture());g||(g=new b.Tn);h=g.tT||g.YR||g.lA||g.yt||g.premultipliedAlpha||h.isVideoTexture&&
k?this.B0a(h,g):this.ufa(h);g.side&&(h.side=g.side);for(var c in g.params)h[c]=g.params[c];return h},I_a:function(h,g){h.isShaderMaterial?h.uniforms.textureSampler2D.value=g:h.map=g;h.needsUpdate=!0},ufa:function(h){var g=new THREE.MeshBasicMaterial;g.map=h;this.XB(g);return g},B0a:function(h,g){var c={uniforms:{},transparent:!0};c.uniforms.textureSampler2D={type:"sampler2D",value:h};h.flipY=!g.tT;c.vertexShader=["varying vec2 vUV;\nvoid main() {","\tvUV = vec2( uv.x, "+(g.tT?"1.0 - uv.y":"uv.y")+
");","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"].join("\n");if(g.YR||g.lA||g.yt||g.premultipliedAlpha){var d=[],f=[];d=d.concat(["uniform sampler2D textureSampler2D;","uniform float opacity;","varying vec2 vUV;"]);c.uniforms.opacity={type:"float",value:1};f=f.concat(["   vec4 color = texture2D(textureSampler2D, vUV);","   float alpha = color.a * opacity;"]);g.premultipliedAlpha&&(f=f.concat(["   if ((color.a > 0.0) && (color.a < 1.0))","       color.rgb /= color.a;",
"\tcolor = vec4( mix( pow( color.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), color.rgb * 0.0773993808, vec3( lessThanEqual( color.rgb, vec3( 0.04045 ) ) ) ), color.a );"]));if(g.lA){var p=h.image.width||h.image.videoWidth,q=h.image.height||h.image.videoHeight,n=.5*Math.min(p,q)*g.lA;c.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(n/p,n/q)};d=d.concat(["uniform vec2 blendingLimit;"]);f=f.concat("   float xCoef = 0.0;,   float yCoef = 0.0;,   if (vUV.x < blendingLimit.x) {,      xCoef = 1.0 - (vUV.x / blendingLimit.x);,      xCoef = xCoef * xCoef;,   } else if ((1.0 - vUV.x) < blendingLimit.x) {,      xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);,      xCoef = xCoef * xCoef;,   },   if (vUV.y < blendingLimit.y) {,      yCoef = 1.0 - (vUV.y / blendingLimit.y);,      yCoef = yCoef * yCoef;,   } else if ((1.0 - vUV.y) < blendingLimit.y) {,      yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);,      yCoef = yCoef * yCoef;,   },   alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))}g.yt&&
(c.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(g.yt.substr(1,2),16)/255,parseInt(g.yt.substr(3,2),16)/255,parseInt(g.yt.substr(5,2),16)/255)},c.uniforms.chromaThreshold={type:"f",value:g.dR},c.uniforms.chromaSmoothing={type:"f",value:g.cR},d=d.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),f=f.concat("    float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{    float maskCr = 0.7132 * (chromaColor.r - maskY);{    float maskCb = 0.5647 * (chromaColor.b - maskY);{    float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{    float Cr = 0.7132 * (color.r - Y);{    float Cb = 0.5647 * (color.b - Y);{    float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{    alpha = alpha * chromaBlendValue;".split("{")));
f=f.concat(["   gl_FragColor = vec4(color"+(g.YR?".bgr":".rgb")+", alpha);"]);h.format=THREE.RGBAFormat;c.fragmentShader=[].concat(d,["void main() {"],f,h.isVideoTexture?[]:["#include <tonemapping_fragment>","#include <encodings_fragment>"],["}"]).join("\n")}else c.fragmentShader=[].concat(["uniform sampler2D textureSampler2D;","varying vec2 vUV;","void main() {","\tgl_FragColor = texture2D(textureSampler2D, vUV);"],h.isVideoTexture?[]:["#include <tonemapping_fragment>","#include <encodings_fragment>"],
["}"]).join("\n");h=new THREE.ShaderMaterial(c);this.XB(h);return h},dispose:function(h){Array.isArray(h)||(h=[h]);h.forEach(function(g){var c=b.jga(g);c&&m.dispose(c);g.dispose()})},XB:function(h){h.side=THREE.FrontSide;h.transparent=!0;h.depthTest=!1;h.needsUpdate=!0;h.userData={};h.userData.nCa={};m.OFa(b.jga(h),h)},Aia:function(h,g){h.userData.nCa.gp=g},HAa:function(h){return h.userData.nCa.gp}};e.prototype.isEqual=function(h){return this.tT===h.tT&&this.YR===h.YR&&this.lA===h.lA&&this.yt===h.yt&&
this.dR===h.dR&&this.cR===h.cR&&this.premultipliedAlpha===h.premultipliedAlpha&&this.side===h.side};b.Tn=e;return b});
define("ew",["require","jv","cx"],function(a){function e(b){return Array.isArray(b)?b:b?[b]:[]}var l=a("jv"),m=a("cx"),k={create:function(b,h){var g=new THREE.Mesh(b,h);g.overdraw=!1;g.matrixAutoUpdate=!1;g.userData.gx={};g.userData.gx.attributes={};e(h).forEach(function(c){m.Aia(c,g)});return g},uza:function(b){var h=new THREE.Group;k.forEach(b,function(g){h.add(g)});return h},W6a:function(b,h){e(h).forEach(function(g){m.Aia(g,null)});m.dispose(b.material);b.material=h;e(h).forEach(function(g){m.Aia(g,
b)})},tA:function(b){return e(b.material)},c2a:function(b,h){if(b.layers.mask&h.layers.mask){var g=k.tA(b);return l.a2a(b.geometry,h,b.matrixWorld).map(function(c){return g[c]})}return[]},wia:function(b,h){b.geometry=h},Y1a:function(b,h){var g=[];k.Yj(b,function(c){var d=k.tA(c);h.forEach(function(f){var p=l.X1a(c.geometry,c.matrixWorld,f);if(p){f=m.jga(d[p.materialIndex]).image;var q=Math.round(p.UGa*f.width-.5);q=0>q?0:q>f.width-1?f.width-1:q;p=Math.round((1-p.mHa)*f.height-.5);p=0>p?0:p>f.height-
1?f.height-1:p;g.push({x:q,y:p,source:f})}})});return g},au:function(b,h){k.forEach(b,function(g){h?h.add(g):g.parent&&g.parent.remove(g)})},fB:"panoramaId",QF:"panoramaFrameId",K3:"panoramaOverlayId",J3:"levelIndex",setAttribute:function(b,h,g){k.Yj(b,function(c){c.userData.gx.attributes[h]=g})},getAttribute:function(b,h){return b.userData.gx.attributes[h]},Wza:function(b,h,g){for(var c=[],d=0,f=b.length;d<f;d++){var p=b[d];p.userData.gx.attributes[h]!==g&&c.push(p)}return c},z0:function(b,h,g){for(var c=
[],d=0,f=b.length;d<f;d++){var p=b[d];p.userData.gx.attributes[h]===g&&c.push(p)}return c},dBa:function(b,h){for(var g={},c=0,d=b.length;c<d;c++){var f=b[c],p=f.userData.gx.attributes[h];void 0!==p&&(g[p]||(g[p]=[])).push(f)}return g},L0:function(b){b=b.userData.gx.alpha;return void 0===b?1:b},Ze:function(b,h){k.Yj(b,function(g){g.userData.gx.alpha=h;k.tA(g).forEach(function(c){c.opacity=h;"ShaderMaterial"==c.type&&c.uniforms&&c.uniforms.opacity&&(c.uniforms.opacity.value=h)})})},hr:function(b,h){k.Yj(b,
function(g){g.matrix.copy(h);g.matrixWorldNeedsUpdate=!0})},bBa:function(b){return b.renderOrder},W2:function(b,h){k.forEach(b,function(g){g.renderOrder=h})},dispose:function(b){k.Yj(b,function(h){h.geometry&&(l.dispose(h.geometry),h.geometry=void 0);h.material&&(m.dispose(h.material),h.material=void 0)})},Yk:function(b){var h=[];k.Yj(b,function(g){h.push(g)});return h},forEach:function(b,h){Array.isArray(b)?b.forEach(h):b&&b.isObject3D&&(b.isMesh||"Group"==b.type)&&h(b)},Yj:function(b,h){if(Array.isArray(b))for(var g=
0,c=b.length;g<c;g++)k.Yj(b[g],h);else if(b&&b.children)for(g=0,c=b.children.length;g<c;g++)k.Yj(b.children[g],h);b&&b.isObject3D&&b.isMesh&&h(b)}};return k});
define("U",["require","ew"],function(a){var e=a("ew");return{Yk:function(l){var m=[];l.children&&l.children.forEach(function(k){e.Yj(k,function(b){b.userData&&b.userData.gx&&m.push(b)})});return m},b6a:function(l,m){l.userData.cameras=m},Yfa:function(l){return l.userData.cameras||[]},getCamera:function(l){return l.userData.cameras&&0<l.userData.cameras.length&&l.userData.cameras[0]||null}}});
define("pn","require lE pf gv ew U".split(" "),function(a){function e(p,q){return p.reduce(function(n,r){return n?!0:!!(q.layers.mask&r.layers.mask)},!1)}function l(p){p=b(p).loaded;return void 0===p?!1:p}function m(p){p=b(p).active;return void 0===p?!0:p}function k(p){p=b(p).blending;return void 0===p?!1:p}function b(p){return p.userData.b4a||(p.userData.b4a={})}var h=a("lE"),g=a("pf"),c=a("gv"),d=a("ew"),f=a("U");a=h.extend(c,function(){c.call(this);this.C=void 0;this.U$=!1});a.prototype.update=
function(p){var q=p.pb&&this.C&&!this.C.pb;this.C=p.clone();this.U$||(q?this.TQa():this.iZa())};a.prototype.iZa=function(){var p=!1,q=f.Yfa(this.C.yg),n=f.Yk(this.C.yg);d.z0(n,d.QF,void 0).forEach(function(w){var x=e(q,w)&&0<d.L0(w)&&m(w);w.visible!=x&&(w.visible=x,p=!0)});n=d.Wza(n,d.QF,void 0);n=d.dBa(n,d.fB);for(var r in n){var t=n[r],u=q.map(function(){return!1});t.sort(function(w,x){return d.bBa(x)-d.bBa(w)});var v=t.some(k);t.forEach(function(w){var x=e(q,w)&&0<d.L0(w)&&m(w)&&(!v||l(w));if(x){x=
!0;for(var y=v||l(w)&&.999<d.L0(w),z=0;z<q.length;z++)w.layers.mask&q[z].layers.mask&&!u[z]&&(x=!1,y&&(u[z]=!0));x=!x}w.visible!=x&&(w.visible=x,p=!0)})}p&&this.trigger(g.ca)};a.prototype.TQa=function(){this.U$=!0;f.Yk(this.C.yg).forEach(function(p){p.visible=!1});setTimeout(function(){this.U$=!1;this.update(this.C)}.bind(this),300);this.trigger(g.ca)};a.$S=function(p,q){b(p).loaded=q};a.setActive=function(p,q){b(p).active=q};a.$Ea=function(p,q){d.Yj(p,function(n){b(n).blending=q})};return a});
define("kJ","require lE pf ik gv pn cx ew U v".split(" "),function(a){function e(w){return(w=w.userData.qp)&&!(!w.dha&&!w.aha)}function l(w){return w.userData.qp||(w.userData.qp={})}function m(w){return l(w).MF}function k(w){return l(w).enabled||!1}function b(w){return!m(w).Wga()}var h=a("lE"),g=a("pf");a("ik");var c=a("gv"),d=a("pn"),f=a("cx"),p=a("ew"),q=a("U"),n=a("v"),r=h.extend(c,function(){c.call(this);this.j=null;this.PH=[];this.nz=[];this.xG=[];this.C=void 0;this.pt=null;this.fA=this.fA.bind(this)});
r.prototype.R2=function(w){this.j=w};r.prototype.update=function(w){this.C=w.clone();this.EYa()?this.fA():this.Bxa()};r.prototype.Bxa=function(){this.pt||(this.pt=setTimeout(this.fA,1E3))};var t=Math.PI/180,u=function(){if(n.lb()){if(n.Iga()&&1<=n.v9a())return 2;if(n.Vb()==n.sp||n.Vb()==n.eu||n.sK())return 1.5}else return 1.5;return 1}();r.prototype.EYa=function(){var w=0<this.C.Em?1E3:this.C.aR/Math.tan(Math.min(.5*this.C.hi,89.99)*t);w*=u;var x=q.Yfa(this.C.yg),y=q.Yk(this.C.yg).filter(e),z=y.filter(k);
var E=p.Wza(z,p.QF,void 0);E=p.dBa(E,p.QF);E.none=p.z0(z,p.QF,void 0);z=[];for(var B in E)for(var A=E[B],D=0,C=A.length;D<C;D++){var J=A[D];(l(J).dha||r.WT)==r.Yr&&z.push(J)}for(var H=0,P=x.length;H<P;H++){var W=x[H];for(B in E){A=E[B];var U=null,S=Number.NEGATIVE_INFINITY,X=null,F=Number.POSITIVE_INFINITY;D=0;for(C=A.length;D<C;D++)if(J=A[D],J.layers.mask&W.layers.mask&&(l(J).dha||r.WT)==r.WT){var M=90*l(J).R4a;M<w&&M>S?(U=J,S=M):M>=w&&M<F&&(X=J,F=M)}this.C.pb&&X&&U?S>.75*w?z.push(U):z.push(X):(X&&
0>z.indexOf(X)&&z.push(X),U&&0>z.indexOf(U)&&z.push(U))}}w=[];for(x=0;x<z.length;x++)B=z[x],0>w.indexOf(B)&&w.push(B);z=w;a:{w=this.xG;x=z;for(B=0;B<w.length;B++)if(0>x.indexOf(w[B])){w=!1;break a}for(B=0;B<x.length;B++)if(0>w.indexOf(x[B])){w=!1;break a}w=!0}w=!w;this.xG=z;D=0;for(C=y.length;D<C;D++)J=y[D],k(J)&&d.setActive(J,0<=this.xG.indexOf(J));return w};r.prototype.fA=function(){this.pt=null;for(var w=[],x=[],y=[],z=(new Date).getTime()-v,E=q.Yfa(this.C.yg),B=q.Yk(this.C.yg),A=0,D=B.length;A<
D;A++){var C=B[A],J=C.userData.qp;if(J){var H=p.tA(C);if(J.enabled){var P=[];if(0<=this.xG.indexOf(C)){if(0<this.C.Em||(l(C).aha||r.U4)==r.Dp)P=H;else for(var W=0,U=E.length;W<U;W++){var S=p.c2a(C,E[W]);if(0==W)P=S;else for(var X=0,F=S.length;X<F;X++){var M=S[X];0>P.indexOf(M)&&P.push(M)}}X=0;for(F=P.length;X<F;X++)M=P[X],(M.userData.qp||(M.userData.qp={})).XBa=z}this.m6(C,P);X=0;for(F=J.Cr.length;X<F;X++)w.push(J.Cr[X]);X=0;for(F=J.qx.length;X<F;X++)x.push(J.qx[X])}else for(J.qx||this.m6(C,[]),X=
0,F=J.qx.length;X<F;X++)M=J.qx[X],0>J.Cr.indexOf(M)&&x.push(M);X=0;for(F=H.length;X<F;X++)y.push(H[X])}}A=[];X=0;for(F=this.nz.length;X<F;X++)M=this.nz[X],0>y.indexOf(M)?M.userData.qp.MF.unload():b(M)?this.vca(M,!1):A.push(M);this.nz=A;X=Math.max(r.sCa(),Math.round(1.25*x.length))-w.length;if(this.nz.length>X)for(this.nz.sort(function(T,Y){return l(T).XBa-l(Y).XBa}),A=this.nz.splice(0,this.nz.length-X),X=0,F=A.length;X<F;X++)M=A[X],M.userData.qp.MF.unload(),this.vca(M,!1);x=[];A=0;for(D=this.xG.length;A<
D;A++)C=this.xG[A],J=C.userData.qp,0<J.Cr.length&&x.push(C);y=Number.POSITIVE_INFINITY;A=0;for(D=x.length;A<D;A++)C=x[A],J=C.userData.qp,X=J.priority,X=void 0!==X?X:Number.POSITIVE_INFINITY,X<y&&(y=X);w=[];A=0;for(D=x.length;A<D;A++)if(C=x[A],J=C.userData.qp,X=J.priority,X=void 0!==X?X:Number.POSITIVE_INFINITY,X==y)for(S=J.Cr,X=0,F=S.length;X<F;X++)M=S[X],w.push(M);X=0;for(F=this.PH.length;X<F;X++)M=this.PH[X],0>w.indexOf(M)&&(M=M.userData.qp.MF,M.unbind(g.Z,this.ida,this,!0),M.unbind(g.xc,this.jda,
this,!0),M.X_a());A=this.PH;this.PH=w;D=this.PH.slice();X=0;for(F=D.length;X<F;X++)M=D[X],0>A.indexOf(M)&&(M=M.userData.qp.MF,M.bind(g.Z,this.ida,this,!0),M.bind(g.xc,this.jda,this,!0),M.load(this.j))};r.prototype.ida=function(w){this.Gwa(w.source);this.trigger(g.Z)};r.prototype.jda=function(w){this.Gwa(w.source)};r.prototype.Gwa=function(w){w.unbind(g.Z,this.ida,this,!0);w.unbind(g.xc,this.jda,this,!0);var x=w.material(),y=this.PH,z=y.indexOf(x);0<=z&&y.splice(z,1);this.nz.push(x);this.vca(x,!0);
w=w.gp();0<=l(w).Cr.indexOf(x)&&this.m6(w,l(w).qx);this.Bxa()};r.prototype.m6=function(w,x){var y=l(w).qx;y=y?y.length:void 0;var z=l(w).Cr;z=z?z.length:void 0;l(w).qx=x;l(w).Cr=x.filter(b);d.$S(w,0==l(w).Cr.length&&(l(w).aha||r.U4)==r.Dp);x=(x=l(w).qx)?x.length:void 0;var E=l(w).Cr;E=E?E.length:void 0;z===E&&y===x||w.dispatchEvent({type:g.lc,Mg:x?100-100*E/x:100});z!==E&&0===E&&w.dispatchEvent({type:g.Z})};r.prototype.vca=function(w,x){if(x!=w.visible){var y=f.HAa(w),z=p.getAttribute(y,p.fB),E=p.getAttribute(y,
p.J3);if(void 0===z||void 0===E)w.visible=x;else{var B=q.Yk(this.C.yg).filter(e);z=p.z0(B,p.fB,z);E=p.z0(z,p.J3,E);var A=p.tA(y).indexOf(w);w=E.map(function(D){return p.tA(D)[A]});for(y=0;y<w.length&&x;y++)x=x&&m(w[y]).Wga();for(y=0;y<w.length;y++)w[y].visible=x}}};r.sCa=function(){var w=n.u1()||n.v1()?384:n.lb()?128:384;r.sCa=function(){return w};return w};r.mb=function(w,x){p.Yj(w,function(y){l(y).enabled=x})};r.enabled=k;r.P2=function(w,x){p.Yj(w,function(y){l(y).R4a=x})};r.Dp="all";r.U4="in view";
r.wx=function(w,x){p.Yj(w,function(y){l(y).aha=x})};r.Yr="always";r.WT="on demand";r.xx=function(w,x){p.Yj(w,function(y){l(y).dha=x})};r.fT=function(w,x){p.Yj(w,function(y){l(y).priority=x})};r.AF=function(w,x){p.Yj(w,function(y){l(y).Z$a=x;p.tA(y).forEach(function(z){m(z).S6a(x)})})};r.X$a=function(w){return 100-100*l(w).Cr.length/l(w).qx.length};r.W$a=function(w){return 0==l(w).Cr.length};r.UK=function(w,x){(l(w).MF=x)&&(w.visible=x.Wga())};r.MF=m;var v=(new Date).getTime();return r});
define("h","require lE jq ew U kJ pn".split(" "),function(a){var e=a("lE"),l=a("jq"),m=a("ew"),k=a("U"),b=a("kJ"),h=a("pn");a=e.extend(l,function(){l.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null)});a.prototype.co=function(){return[]};a.prototype.Tb=function(){m.dispose(this.get("meshGroup"));m.au(this.get("meshGroup"),null);this.set("meshGroup",null);l.prototype.Tb.call(this)};a.prototype.ia=function(g){l.prototype.ia.call(this,
g);this.set("camera",k.getCamera(g.yg));this.set("webglScene",g.yg);this.get("meshGroup")||(this.set("meshGroup",m.uza(this.co())),this.get("meshGroup").userData.M4a=this);this.O("webglScene","meshGroup")&&m.au(this.get("meshGroup"),this.get("webglScene"));this.km();this.Zq(g);this.pE();this.O("loadingActive","meshGroup")&&b.mb(this.get("meshGroup"),this.get("loadingActive"));this.O("blendingActive","meshGroup")&&h.$Ea(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.km=function(){this.O("composedAlpha",
"meshGroup")&&this.py()};a.prototype.py=function(){m.Ze(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.Zq=function(){throw"Must be overridden in descendants.";};a.prototype.pE=function(){if(this.O("index","meshGroup")){var g=this.get("meshGroup");g&&g.children.forEach(function(c,d,f){m.W2(c,this.get("index")+d/f.length)}.bind(this))}};return a});
define("fI",["require","lE","jv","h","ew"],function(a){var e=a("lE"),l=a("jv"),m=a("h"),k=a("ew"),b=new THREE.Matrix4,h=Math.PI/180;a=e.extend(m,function(){m.call(this);this.set("tag","Frame");this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.cm=new THREE.Matrix4;this.Ai=new THREE.Matrix4});a.prototype.ia=function(g){m.prototype.ia.call(this,g)};a.prototype.Zq=function(g){var c=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*
l.zg,.5*this.get("composedTranslationY")*l.zg,.5*this.get("composedTranslationZ")*l.zg),c=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Ld.makeRotationY(-g.Qa*h),this.Ld.multiply(b.makeRotationX(-this.get("composedDeltaPitch")*h)),this.Ld.multiply(b.makeRotationY(this.get("composedDeltaYaw")*h)),this.Ld.multiply(b.makeRotationY(g.Qa*h)),c=!0);this.O("flipHorizontally")&&(g=this.get("flipHorizontally")?-1:1,this.cm.makeScale(g,1,1),c=!0);if(c||this.O("meshGroup"))this.Ai.copy(this.yh),
this.Ai.multiply(this.Ld),this.Ai.multiply(this.cm),k.hr(this.get("meshGroup"),this.Ai)};return a});
define("z",["require"],function(){function a(){this.AH=e++;this.KN="_map_"+this.AH+"_key";this.NW={};this.nq=[];this.length=0}var e=0;a.prototype.set=a.prototype.add=function(l,m){0>this.nq.indexOf(l)&&this.nq.push(l);if("object"===typeof l&&null!==l){var k=l[this.KN];if(!k){k=this.KN;for(var b=[],h=0;8>h;h++)b.push(Math.floor(16*Math.random()).toString(16));k=l[k]=b.join("")}}else k=l;this.NW[k]=m;this.length=this.nq.length};a.prototype.get=function(l){return this.NW["object"===typeof l&&null!==
l?l[this.KN]:l]};a.prototype.M2a=function(l){return 0<=this.nq.indexOf(l)};a.prototype.remove=function(l){var m=this.nq.indexOf(l);0>m||(this.nq.splice(m,1),"object"===typeof l&&null!==l?(m=l[this.KN],delete l[this.KN]):m=l,delete this.NW[m],this.length=this.nq.length)};a.prototype.forEach=function(l){this.nq.slice().forEach(function(m){l(m,this.get(m))}.bind(this))};a.prototype.dispose=function(){for(;this.nq.length;)this.remove(this.nq.pop());this.nq=this.NW=null};return a});
define("oy",["require","lE","gv","z"],function(a){function e(){this.KE=[]}var l=a("lE"),m=a("gv"),k=a("z");a=l.extend(m,function(b){m.call(this);this.nf=b;this.cd=[];this.Ev=new k;this.JQ=[];this.g8=[];this.ZH=this.ZH.bind(this)});a.prototype.Af=function(b){this.cd.forEach(function(h){if(h.removeEventListener)h.removeEventListener(this.nf,this.ZH);else if(h.unbind)h.unbind(this.nf,this.ZH,this,!0);else throw"invalid instance type";}.bind(this));this.cd=b.slice();this.cd.forEach(function(h){if(h.addEventListener)h.addEventListener(this.nf,
this.ZH);else if(h.bind)h.bind(this.nf,this.ZH,this,!0);else throw"invalid instance type";this.Ev.M2a(h)||this.Ev.set(h,new e)}.bind(this));this.Jda()};a.prototype.dispose=function(){this.Af([]);this.cd=null;this.Ev.dispose();this.g8=this.JQ=this.Ev=null};a.prototype.Fm=function(b){this.JQ.push(b);this.Jda();return this};a.prototype.hp=function(b){this.g8.push(b);return this};a.prototype.Dt=function(b){this.cd.forEach(function(h){b(h,this.Ev.get(h).KE)}.bind(this))};a.prototype.um=function(b){b=this.Ev.get(b).KE;
return 0==b.length?null:b[b.length-1]};a.prototype.ZH=function(b){var h=b.target||b.source;if(h=this.Ev&&this.Ev.get(h))h.KE.push(b),this.g8.forEach(function(g){g(b,this)}.bind(this)),this.Jda()};a.prototype.Jda=function(){if(0!=this.cd.length){for(var b=0;b<this.cd.length;b++)if(0==this.Ev.get(this.cd[b]).KE.length)return;this.JQ.length&&(b=this.JQ.slice(),this.JQ=[],b.forEach(function(h){h(this)}.bind(this)))}};return a});
define("dN","require lE pf gv nV bi oA".split(" "),function(a){function e(){n||0===p.length||(d.f1?k():l())}function l(){q||(q=!0,d.requestFrame(m,null))}function m(){q=!1;r=void 0;k()}function k(){if(!n){for(void 0===r&&(r=Date.now());p.length&&Date.now()-r<u;)p.shift().add();p.length&&l()}}var b=a("lE"),h=a("pf"),g=a("gv"),c=a("nV"),d=a("bi"),f=a("oA"),p=[],q=!1,n=!1,r=void 0,t=b.extend(g,function(v,w,x){g.call(this);this.renderer=v;this.texture=w;this.source=x});t.prototype.add=function(){c.xT(this.texture,
this.source);!f.isPresenting&&this.renderer&&this.renderer.initTexture(this.texture);this.trigger(h.Z)};t.prototype.remove=function(){var v=p.indexOf(this);0<=v&&p.splice(v,1);c.xT(this.texture,null)};var u=8;return{add:function(v,w,x,y){var z=p.find(function(E){E.texture===w});z?(z.source=x,z.renderer=v):(z=new t(v,w,x),p.push(z));y&&z.bind(h.Z,y,this,!0);e();return z},t_a:function(v,w,x){v=new t(v,w,x);v.add();return v},RK:function(v){if(n!==v)if(n=v)for(;p.length;)p.shift().add();else e()}}});
define("de","require lE pf ik gv cx nV v".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("ik"),k=a("gv"),b=a("cx"),h=a("nV"),g=a("v"),c=e.extend(k,function(){k.call(this);this.hf=void 0;this.Fa=h.createTexture();this.Fa.encoding=THREE.sRGBEncoding;this.u9=!1;this.C=c.EL;this.HN=m.ol;this.j=null});c.prototype.type=function(){return this.hf};c.prototype.texture=function(){return this.Fa};c.prototype.material=function(){return this.Fa&&h.WAa(this.Fa)};c.prototype.gp=function(){var d=this.Fa&&h.WAa(this.Fa);
return d&&b.HAa(d)};c.prototype.S6a=function(d){this.HN=d};c.prototype.y6a=function(d){this.u9!==d&&(this.u9=d,this.txa())};c.prototype.WS=function(d){this.Fa.isVideoTexture!==d&&(this.Fa.isVideoTexture=d,this.Fa.update=d?function(){}:null,this.txa())};c.prototype.txa=function(){this.u9?this.Fa.encoding=THREE.LinearEncoding:this.Fa.isVideoTexture&&g.browser()==g.Sr?this.Fa.encoding=THREE.LinearEncoding:this.Fa.encoding=THREE.sRGBEncoding};c.prototype.load=function(d){this.C===c.EL&&(this.j=d,this.C=
c.dU,this.w6())};c.prototype.X_a=function(){this.bS()&&(this.C==c.dU?this.VZ():this.YP(),this.C=c.EL)};c.prototype.unload=function(){this.C!=c.EL&&(this.C==c.dU?this.VZ():this.C==c.k5?this.YP():this.dA(),this.C=c.EL)};c.prototype.f5a=function(){if(this.Fa){var d=this.material(),f=h.createTexture();f.flipY=this.Fa.flipY;f.format=this.Fa.format;f.encoding=this.Fa.encoding;this.Fa.isVideoTexture&&(f.isVideoTexture=!0,f.update=function(){});h.dispose(this.Fa);d&&h.OFa(f,d);d&&b.I_a(d,f);this.Fa=f}};c.prototype.w6=
function(){};c.prototype.VZ=function(){};c.prototype.u6=function(){};c.prototype.YP=function(){};c.prototype.dA=function(){h.h0a(this.texture)};c.prototype.bS=function(){return this.C==c.dU||this.C==c.k5};c.prototype.Wga=function(){return this.C==c.j5||this.C==c.$ka};c.prototype.dispose=function(){h.dispose(this.Fa);this.Fa=null};c.prototype.bI=function(d){this.C=d?c.k5:c.$ka;d?this.u6():this.trigger(l.xc)};c.prototype.Ira=function(){this.C=c.j5;this.trigger(l.Z)};c.EL="initial";c.dU="loading";c.k5=
"adding";c.$ka="error loading";c.j5="added";c.rJa="custom";c.sJa="image tile";c.b$a="image animation";c.c$a="video 360";return c});
define("fl","require lE pf cu lB dN de".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cu"),k=a("lB"),b=a("dN"),h=a("de");a=e.extend(h,function(g){h.call(this);this.hf=h.rJa;this.Od=g;this.Od||(this.C=h.j5);this.ci=this.Fd=null;this.cE=this.dE=void 0});a.prototype.Cm=function(g){this.ci=g;b.add(this.j,this.Fa,this.ci,function(){var c=this.Fa&&this.Fa.image&&this.Fa.image.width||void 0,d=this.Fa&&this.Fa.image&&this.Fa.image.height||void 0;void 0===this.dE||void 0===this.cE||this.dE===c&&this.cE===
d||(this.f5a(),b.add(this.j,this.Fa,this.ci));this.dE=c;this.cE=d}.bind(this))};a.prototype.wf=function(){return k.wf(this.Od)};a.prototype.update=function(){b.t_a(this.j,this.Fa,this.ci)};a.prototype.w6=function(){this.Od?this.vM():this.bI(!0)};a.prototype.VZ=function(){this.fq()};a.prototype.u6=function(){this.Ira()};a.prototype.dA=function(){this.fq()};a.prototype.dispose=function(){this.fq();h.prototype.dispose.call(this)};a.prototype.xd=function(){this.bI(!0)};a.prototype.Wf=function(){this.bI(!1)};
a.prototype.vM=function(){this.Fd||(this.Fd=new m,this.Fd.VK([this.Od]),this.Fd.bind(l.Z,this.xd,this,!0),this.Fd.bind(l.xc,this.Wf,this,!0),k.Ln(this.Fd,this.HN))};a.prototype.fq=function(){this.Fd&&(this.Fd.unbind(l.Z,this.xd,this,!0),this.Fd.unbind(l.xc,this.Wf,this,!0),k.wj(this.Fd,this.HN),this.Fd=null)};return a});
define("ne","require lE pf cu lB dN de".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cu"),k=a("lB"),b=a("dN"),h=a("de");a=e.extend(h,function(g){h.call(this);this.hf=h.sJa;this.Od=g;this.ci=this.AI=this.Fd=null});a.prototype.wf=function(){return this.ci};a.prototype.w6=function(){this.vM()};a.prototype.VZ=function(){this.fq()};a.prototype.u6=function(){this.uNa()};a.prototype.YP=function(){this.fq();this.P7()};a.prototype.dA=function(){this.fq();this.P7()};a.prototype.dispose=function(){this.fq();
this.P7();h.prototype.dispose.call(this)};a.prototype.xd=function(){this.ci=k.wf(this.Od);this.bI(!0)};a.prototype.Wf=function(){this.bI(!1)};a.prototype.Jra=function(){this.Ira()};a.prototype.vM=function(){this.Fd||(this.Fd=new m,this.Fd.VK([this.Od]),this.Fd.bind(l.Z,this.xd,this,!0),this.Fd.bind(l.xc,this.Wf,this,!0),k.Ln(this.Fd,this.HN))};a.prototype.fq=function(){this.Fd&&(this.Fd.unbind(l.Z,this.xd,this,!0),this.Fd.unbind(l.xc,this.Wf,this,!0),k.wj(this.Fd,this.HN),this.Fd=null)};a.prototype.uNa=
function(){this.AI=b.add(this.j,this.Fa,this.ci);this.AI.bind(l.Z,this.Jra,this,!0)};a.prototype.P7=function(){this.AI&&(this.AI.unbind(l.Z,this.Jra,this,!0),this.AI.remove(),this.AI=null)};return a});
define("pp",["require","lE","lB","nV","ne"],function(a){var e=a("lE"),l=a("lB"),m=a("nV"),k=a("ne");a=e.extend(k,function(b,h,g,c,d){k.call(this,b.get("url"));this.Ka=h;this.Na=g;this.na=c;this.wa=d;this.ORa=0!=this.Ka||0!=this.Na||this.na!=b.get("width")||this.wa!=b.get("height")});a.prototype.xd=function(){this.ORa?(this.CNa(),this.fq(),this.bI(!!this.ci)):k.prototype.xd.call(this)};a.prototype.YP=function(){k.prototype.YP.call(this);this.Q7()};a.prototype.dA=function(){k.prototype.dA.call(this);
this.Q7()};k.prototype.dispose=function(){k.prototype.dispose.call(this);this.Q7()};a.prototype.CNa=function(){var b=l.wf(this.Od);this.ci=m.G0a(b,this.Ka,this.Na,this.na,this.wa)};a.prototype.Q7=function(){this.ci&&(m.Efa(this.ci),this.ci=null)};return a});
define("fF","require nU dK mX hJ fl ne pp jv cx ew cb nE kJ v".split(" "),function(a){var e=a("nU"),l=a("dK"),m=a("mX"),k=a("hJ"),b=a("fl"),h=a("ne"),g=a("pp"),c=a("jv"),d=a("cx"),f=a("ew"),p=a("cb"),q=a("nE"),n=a("kJ"),r=a("v"),t={z0a:function(u,v){var w=p.get(u);switch(w){case p.ky:case p.ru:case p.pl:return this.fNa(w,u,v);case p.Ep:case p.Lp:case p.gs:return this.hNa(w,u,v)}},K0a:function(u,v){var w=new h(v.get("posterURL"));w.WS(!0);return this.Qna(u,v,w)},J0a:function(u,v){var w=new b;w.WS(!0);
return this.Qna(u,v,w)},Qna:function(u,v,w){var x=u.get("hfov"),y=u.get("vfov"),z=u.get("pitch"),E=v.get("width");v=v.get("url");u=p.get(u);var B=u==p.gs?2:1,A=u==p.Lp?2:1;u=2<B+A?[l.Ya,l.qb]:[l.du];var D=Math.round(E/B);E=new d.Tn(v);var C=d.nA(w.texture(),E);n.UK(C,w);C.visible=!0;return u.map(function(J,H){H=c.xza(x,y,z,1,1,H%B/B,(A-1-Math.floor(H/B))/A,1/B,1/A);H=f.create(H,[C]);H.layers.set(J);n.P2(H,D/x);return H}.bind(this))},C0a:function(u){var v=[m.qb,m.Ya,m.yc,m.rc,m.FRONT,m.BACK].map(function(){var x=
new b;x.Cm(t.vQa(u));var y=d.nA(x.texture());n.UK(y,x);y.visible=!0;return y}),w=c.wza(1,1);v=f.create(w,v);n.P2(v,256/90);v.layers.set(l.du);return v},Jca:{},vQa:function(u){if(!t.Jca[u]){var v=document.createElement("canvas");v.width=v.height=256;var w=v.getContext("2d");w.fillStyle=u;w.fillRect(0,0,v.width,v.height);t.Jca[u]=v}return t.Jca[u]},fNa:function(u,v,w){var x=u==p.ky?[l.qb,l.Ya]:[l.du],y=v.get("flipImageHorizontally");y&&(x=x.reverse());var z=u==p.pl?1:6*x.length,E=w.get("width")/z,B=
w.get("height");if(e.Ia("TiledImageResourceLevel",w)){var A=w.get("colCount",z)/z;var D=w.get("rowCount",1)}else this.Qua(u,w)?(A=Math.ceil(E/k.Du()),D=Math.ceil(B/k.Du())):D=A=1;var C=[m.qb,m.Ya,m.yc,m.rc,m.FRONT,m.BACK];return x.map(function(J,H){var P=Array(6);C.forEach(function(S,X){var F=q.cga(v,w,S);if(e.Ia("TiledImageResourceLevel",w))P[c.cla.indexOf(S)]=this.aNa(F,u,J,S,y,A,D);else{X=u==p.pl?0:Math.round((H*C.length+X)*E);var M=1<A||1<D||u!=p.pl?256<E?1:.5:0;P[c.cla.indexOf(S)]=this.Kna(F,
A,D,X,0,E,B,M)}}.bind(this));var W=Array.prototype.concat.apply([],P),U=c.wza(A,D);W=f.create(U,W);W.layers.set(J);n.P2(W,E/90);return W}.bind(this))},hNa:function(u,v,w){var x=u==p.Ep?[l.du]:[l.Ya,l.qb];v.get("flipImageHorizontally")&&(x=x.reverse());var y=w.get("width"),z=w.get("height"),E=v.get("hfov"),B=v.get("vfov"),A=v.get("pitch"),D=Math.round(y/E/(z/B)),C=Math.round(y/D),J=Math.round(z/Math.round(z/B/(y/E))),H=(u=this.Qua(u,w))?Math.ceil(C/k.Du()):1,P=u?Math.ceil(J/k.Du()):1;return x.map(function(W,
U){U=this.Kna(w,H,P,U%D*C,Math.floor(U/D)*J,C,J);var S=c.xza(E,B,A,H,P,0,0,1,1);U=f.create(S,U);U.layers.set(W);n.P2(U,C/E);return U}.bind(this))},Qua:function(u,v){switch(u){case p.ky:case p.ru:case p.Lp:case p.gs:return!0;case p.pl:return!1;case p.Ep:return r.z2a().maxTextureSize<Math.max(v.get("width"),v.get("height"))?!0:k.$o()||r.lb()?!1:r.Vb()==r.Ox?!0:!1}},Kna:function(u,v,w,x,y,z,E,B){B||(B=0);for(var A=[],D=0;D<w;D++)for(var C=y+B+(E-2*B)*D/w,J=y+B+(E-2*B)*(D+1)/w,H=0;H<v;H++){var P=x+B+
(z-2*B)*H/v,W=x+B+(z-2*B)*(H+1)/v;P=u?new g(u,P,C,W-P,J-C):new b;W=d.ufa(P.texture());n.UK(W,P);A.push(W)}return A},aNa:function(u,v,w,x,y,z,E){for(var B=[],A=0;A<E;A++)for(var D=0;D<z;D++){var C=u?new h(q.XAa(u,v,w,x,y,E,A,D)):new b;var J=d.ufa(C.texture());n.UK(J,C);J.visible=!1;B.push(J)}return B}};return t});
define("dp","require lE pf fI oy fF kJ".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("fI"),k=a("oy"),b=a("fF"),h=a("kJ");a=e.extend(m,function(g){m.call(this);this.Mc=g;this.set("tag","SolidFrame");this.Tg=null});a.prototype.Qb=function(){this.Tg=(new k(l.Z)).Fm(this.xd.bind(this));m.prototype.Qb.call(this)};a.prototype.Tb=function(){this.Tg.dispose();m.prototype.Tb.call(this)};a.prototype.co=function(){var g=[b.C0a(this.Mc)];h.xx(g,h.Yr);h.wx(g,h.Dp);this.Tg.Af(g);return g};a.prototype.xd=
function(){this.trigger(l.$c);this.trigger(l.Z)};return a});
define("lX","require lE eU dp oH bG oA".split(" "),function(a){var e=a("lE"),l=a("eU"),m=a("dp"),k=a("oH"),b=a("bG"),h=a("oA");a=e.extend(l,function(g,c,d,f){l.call(this,g,c,d,f);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(g){if(!this.zb){this.F.kl||(this.F.kl=new m("#000000"),this.F.kl.set("alpha",1),this.j.add(this.F.kl));if(!this.aa){this.F.kl.Ah();var c=2*this.F.efa;this.aa=new k("linear",[new b("alpha",2,0,void 0)],c);this.F.kl.Ah()}this.aa.Cb(g);
this.F.kl.set("alpha",Math.min(.99,this.aa.fb("alpha")));this.j.xf(this.F.Dc).set("alpha",1);this.aa&&this.aa.Ye()&&(this.zb=!0,this.j.remove(this.F.kl),this.F.kl=null);h.jg.forEach(function(d){h.Eia(d,!this.zb)}.bind(this))}};return a});
define("bK",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.bc=this.j.L.bc;this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){this.bc.HF();this.j.xf(this.F.Og).set("alpha",0);var h=this.F.Dza;this.aa=new m("linear",[new k("position",0,1,void 0)],h)}this.aa.Cb(b);this.bc.yF(this.aa.fb("position"));this.aa.Ye()&&(this.zb=!0,this.bc.IE())}};
return a});
define("oa","require lE eU dp oH bG oA".split(" "),function(a){var e=a("lE"),l=a("eU"),m=a("dp"),k=a("oH"),b=a("bG"),h=a("oA");a=e.extend(l,function(g,c,d,f){l.call(this,g,c,d,f);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(g){if(!this.zb){this.F.kl||(this.F.kl=new m("#000000"),this.F.kl.set("alpha",0),this.j.add(this.F.kl));if(!this.aa){this.F.kl.Ah();var c=2*this.F.Dza;this.aa=new k("linear",[new b("alpha",0,2,void 0)],c)}this.aa.Cb(g);g=Math.min(1,
this.aa.fb("alpha"));this.F.kl.set("alpha",g);h.jg.forEach(function(d){h.Eia(d,!0)});1==g&&this.j.xf(this.F.Og).set("alpha",0);this.aa.Ye()&&(this.zb=!0)}};return a});
define("oS",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){var h=this.j.vf(),g=this.Cc.G2(this.F.Dc,h),c=!this.F.pb()&&.01<Math.abs(h-g)?this.F.I3:1;this.aa=new m("cubic_in_out",[new k("hfov",h,g,void 0)],c)}this.aa.Cb(b);this.Cc.mp(this.aa.fb("hfov"));this.aa.Ye()&&(this.Cc.ZS(!0),this.zb=
!0)}};return a});
define("cl",["require","lE","eU","oH","bG"],function(a){function e(h,g,c){for(;h<g;)h+=c-g;for(;h>c;)h-=c-g;return h}var l=a("lE"),m=a("eU"),k=a("oH"),b=a("bG");a=l.extend(m,function(h,g,c,d){m.call(this,h,g,c,d);this.aa=null;this.zb=!1;this.rX=0});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(h){this.zb||(this.aa||(this.aa=this.rX<this.F.Zo.length?this.rNa(this.rX):this.XMa()),this.aa.Cb(h),this.Cc.Iia(this.aa.fb("yaw"),this.aa.fb("pitch")),this.Cc.mp(this.aa.fb("hfov")),this.Cc.EF(this.aa.fb("stereographicFactor")),
this.aa.Ye()&&(this.aa=null,this.rX++,this.rX>this.F.Zo.length&&(this.Cc.ZS(!0),this.zb=!0)))};a.prototype.XMa=function(){var h=e(this.j.Sc(),-180,180),g=this.j.Rc();this.j.Xf();var c=this.j.vf(),d=this.j.C.Em,f=this.F.Kg.get("hfov");f={Qa:this.F.Kg.get("yaw"),pitch:this.F.Kg.get("pitch",g),xg:this.j.Xf(),Ie:f?this.Cc.DE(f):c,Em:0};this.Cc.O5a(this.F.Dc,f);f.Qa=e(f.Qa,h-180,h+180);var p=.5<Math.abs(c-f.Ie),q=Math.abs(d-f.Em),n=.01<q;p=this.F.pb()?1:Math.max(p?this.F.I3:1,n?this.F.BDa*q:1);return new k(n?
"linear":"cubic_in_out",[new b("yaw",h,f.Qa,void 0),new b("pitch",g,f.pitch,void 0),new b("hfov",c,f.Ie,void 0),new b("stereographicFactor",d,f.Em,void 0)],p)};a.prototype.rNa=function(h){var g=this.F.Zo[h],c=e(this.j.Sc(),-180,180),d=this.j.Rc();this.j.Xf();var f=this.j.vf(),p=this.j.C.Em,q=g.get("targetStereographicFactor",p),n=g.get("targetHfov");if(n)n=this.Cc.DE(n);else{for(n=!1;h<this.F.Zo.length&&!n;h++)n=void 0!==this.F.Zo[h].get("targetHfov");n?n=f:(n=this.Cc.DE(this.F.Kg.get("hfov",this.Cc.zza())),
n=f+(n-f)*(p-q))}h=g.get("targetYaw",c);var r=g.get("targetPitch",d);this.j.Xf();switch(g.get("path")){case "left":h=e(h,c-360,c);break;case "right":h=e(h,c,c+360);break;case "longest":h=e(h,-360,360);h=h>=c?e(h,c,c+360):e(h,c-360,c);break;default:h=e(h,c-180,c+180)}return new k(g.get("easing"),[new b("yaw",c,h,g.get("yawSpeed")),new b("pitch",d,r,g.get("pitchSpeed")),new b("hfov",f,n,g.get("hfovSpeed")),new b("stereographicFactor",p,q,g.get("stereographicFactorSpeed"))],g.get("duration"))};return a});
define("mP",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){var h=this.j.Rc(),g=this.j.vf(),c=this.j.C.Em,d=this.F.Lf.get("stereographicFactor",0),f=Math.abs(c-d),p=0<d?this.F.Lf.get("pitch",h):h,q=this.F.Lf.get("hfov");q=q?this.Cc.DE(q):g;0==d&&(q=Math.min(g,this.Cc.G2(this.F.Dc,q)));this.Cc.ZS(!1);
f=this.F.pb()?1:Math.max(.5<Math.abs(g-q)?this.F.I3:1,.01<f?this.F.BDa:1);this.aa=new m("cubic_in_out",[new k("hfov",g,q,void 0),new k("pitch",h,p,void 0),new k("stereographicFactor",c,d,void 0)],f)}this.aa.Cb(b);this.Cc.mp(this.aa.fb("hfov"));this.Cc.EF(this.aa.fb("stereographicFactor"));this.Cc.Iia(this.j.Sc(),this.aa.fb("pitch"));this.aa.Ye()&&(this.Cc.kf(this.F.Dc,this.F.Lf.get("yaw"),this.F.Lf.get("pitch",this.j.Rc())),this.zb=!0)}};return a});
define("fT",["require","lE","eU","oH","bG"],function(a){var e=a("lE"),l=a("eU"),m=a("oH"),k=a("bG");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.aa=null;this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(b){if(!this.zb){if(!this.aa){var h=this.j.vf(),g=Math.min(this.Cc.G2(this.F.Dc,h),h),c=!this.F.pb()&&.01<Math.abs(h-g)?this.F.I3:1;this.aa=new m("cubic_in_out",[new k("hfov",h,g,void 0)],c);this.Cc.ZS(!1)}this.aa.Cb(b);this.Cc.mp(this.aa.fb("hfov"));this.aa.Ye()&&
(this.Cc.kf(this.F.Dc,this.j.Sc()+this.F.eL.sAa(),this.j.Rc()),this.zb=!0)}};a.prototype.YE=function(){return!0};return a});define("eE",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=this.j.xf(this.F.Og);this.j.remove(m)};return a});
define("jl",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=(this.F.nc||this.F.qc).get("model");m.set("objects",m.get("objects").filter(function(k){return k!=this.F.Wt}.bind(this)));[this.F.Wt.get("sourceCubeTexture"),this.F.Wt.get("targetCubeTexture")].forEach(function(k){k&&k.dispose()});this.F.Wt=null};return a});
define("mw",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=[this.j.Nc];this.TRa()&&m.push(this.F.Dh);this.j.Nc.sF(m)};a.prototype.TRa=function(){return this.F.qc?!0:this.j.Nc.get("keepModel3DLoadedWithoutLocation")&&this.F.Og&&this.F.Dh.get("model")?!0:!1};return a});
define("pJ",["require","exports","mr"],function(a,e,l){return function(m){function k(b,h,g,c){return m.call(this,b,h,g,c)||this}Z(k,m);k.prototype.Xg=function(){var b,h,g;null===(g=null===(h=null===(b=this.F.Dh)||void 0===b?void 0:b.get("model"))||void 0===h?void 0:h.get("camera"))||void 0===g?void 0:g.K5a()};return k}(l)});
define("s",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){this.Cc.kf(this.F.Dc,this.F.Kg.get("yaw"),this.F.Kg.get("pitch",this.j.Rc()));var m=this.F.Kg.get("hfov");m&&(m=this.Cc.DE(m),this.Cc.mp(m))};return a});
define("dw",["require","lE","lh","mr"],function(a){var e=a("lE");a("lh");var l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=this.F.qc.get("model").get("camera");if(this.F.IF.get("keepInitialPositionOnTranslation")){var k=this.F.Kg.get("yaw");m=this.F.Kg.get("pitch")}else k=m.get("yaw")-this.F.qc.get("yaw"),m=this.F.IF.get("enterPointingToHorizon")?0:m.get("pitch");this.Cc.kf(this.F.Dc,k,m);if(k=this.F.Kg.get("hfov"))k=this.Cc.DE(k),this.Cc.mp(k)};return a});
define("pD",["require","lE","nQ","oA","mr"],function(a){var e=a("lE"),l=a("nQ"),m=a("oA"),k=a("mr");a=e.extend(k,function(b,h,g,c){k.call(this,b,h,g,c)});a.prototype.Xg=function(){if(m.isPresenting){var b=l.t3(m.ug,!0);this.F.qc.get("model").get("camera");var h=b.Qa-this.F.qc.get("yaw");b=b.pitch}else this.F.IF.get("keepInitialPositionOnTranslation")?(h=this.F.Kg.get("yaw"),b=this.F.Kg.get("pitch")):(b=this.F.qc.get("model").get("camera"),h=b.get("yaw")-this.F.qc.get("yaw"),b=b.get("pitch"));this.Cc.kf(this.F.Dc,
h,b)};return a});
define("li",["require","lE","pf","eU"],function(a){var e=a("lE"),l=a("pf"),m=a("eU");a=e.extend(m,function(k,b,h,g){m.call(this,k,b,h,g);this.ga=null;this.zb=!1});a.prototype.WSa=function(){this.zb=!0};a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(){if(!this.ga&&(this.ga=this.F.nc.get("model"),this.F.Dh.get("model")==this.ga)){var k=this.ga.get("camera");k.set("easing",0);k.set("x",this.F.nc.get("x"));k.set("y",this.F.nc.get("y"));k.set("z",this.F.nc.get("z"));k.set("yaw",this.j.Sc()+
this.F.nc.get("yaw"));k.set("pitch",this.j.Rc());k.set("fov",this.j.Xa()>this.j.yb()?this.j.VJ():this.j.WJ());this.ga.bind(l.Jm,this.WSa,this,!0)}};return a});
define("fu",["require","exports","mr"],function(a,e,l){a=function(m){function k(b,h,g,c,d){b=m.call(this,b,h,g,c)||this;b.value=!1;b.value=d;return b}Z(k,m);k.prototype.Xg=function(){var b,h=null===(b=this.F.nc||this.F.qc||this.F.Dh)||void 0===b?void 0:b.get("model");h&&h.get("camera").set("inTransition",this.value)};return k}(l);e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!0)||this}Z(k,m);return k}(a);a.kh=e;e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!1)||this}
Z(k,m);return k}(a);a.Cf=e;return a});
define("nD",["require","exports","mr"],function(a,e,l){a=function(m){function k(b,h,g,c,d){b=m.call(this,b,h,g,c)||this;b.enabled=!1;b.enabled=d;return b}Z(k,m);k.prototype.Xg=function(){var b;null===(b=this.F.Dh)||void 0===b?void 0:b.j.mb(this.enabled)};return k}(l);e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!0)||this}Z(k,m);return k}(a);a.kh=e;e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!1)||this}Z(k,m);return k}(a);a.Cf=e;return a});
define("jM",["require","exports","mr"],function(a,e,l){a=function(m){function k(b,h,g,c,d){b=m.call(this,b,h,g,c)||this;b.paused=!1;b.paused=d;return b}Z(k,m);k.prototype.Xg=function(){var b,h=null===(b=this.F.qc||this.F.nc||this.F.Dh)||void 0===b?void 0:b.get("model");h&&this.F.Dh.j.wFa(h,!this.paused)};return k}(l);e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!0)||this}Z(k,m);return k}(a);a.kh=e;e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!1)||this}Z(k,m);return k}(a);
a.Cf=e;return a});define("ih",["require","lE","mr","pG"],function(a){var e=a("lE"),l=a("mr"),m=a("pG");a=e.extend(l,function(k,b,h,g){l.call(this,k,b,h,g)});a.prototype.Xg=function(){this.F.Dc&&(this.F.mode==m.u5||this.F.mode==m.v5?this.F.Dc.set("minFaceSize",1024):this.F.Dc.set("minFaceSize",void 0))};return a});
define("hw",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=this.F.$ia?this.F.Lf.get("stereographicFactor",0):0;this.Cc.EF(m);this.Cc.kf(this.F.Dc,this.F.Lf.get("yaw"),this.F.Lf.get("pitch",this.j.Rc()));(m=this.F.Lf.get("hfov"))||this.F.Og||(m=this.Cc.zza());m&&(m=this.Cc.DE(m),this.Cc.mp(m),this.Cc.ZS(!this.F.$ia))};return a});
define("fj",["require","exports","mr"],function(a,e,l){a=function(m){function k(b,h,g,c,d){b=m.call(this,b,h,g,c)||this;b.paused=!1;b.paused=d;return b}Z(k,m);k.prototype.Xg=function(){this.j.JFa(this.paused)};return k}(l);e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!0)||this}Z(k,m);return k}(a);a.kh=e;e=function(m){function k(b,h,g,c){return m.call(this,b,h,g,c,!1)||this}Z(k,m);return k}(a);a.Cf=e;return a});
define("gy",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){var m=this.Cc.G2(this.F.Dc,this.j.vf());this.Cc.mp(m);this.Cc.kf(this.F.Dc,this.j.Sc()+this.F.eL.sAa(),this.j.Rc())};a.prototype.YE=function(){return!0};return a});
define("lv",["require","exports","eU","oA"],function(a,e,l,m){a=function(k){function b(h,g,c,d,f){h=k.call(this,h,g,c,d)||this;h.value=!1;h.ended=!1;h.wait=!1;h.Lg=function(){return this.ended};h.value=f;h.value||(h.wait=!0);return h}Z(b,k);b.prototype.Ng=function(){m.jg.forEach(function(h){m.Eia(h,!this.value)}.bind(this));this.wait?this.wait=!1:this.ended=!0};return b}(l);e=function(k){function b(h,g,c,d){return k.call(this,h,g,c,d,!0)||this}Z(b,k);return b}(a);a.kh=e;e=function(k){function b(h,
g,c,d){return k.call(this,h,g,c,d,!1)||this}Z(b,k);return b}(a);a.Cf=e;return a});define("dX",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Xg=function(){this.F.nc&&this.F.Dh.get("model")==this.F.nc.get("model")&&this.j.Nc.sF([this.F.Dh])};return a});
define("bw",["require","lE","eU","dN","v"],function(a){var e=a("lE"),l=a("eU"),m=a("dN"),k=a("v");a=e.extend(l,function(b,h,g,c){l.call(this,b,h,g,c);this.C="not initialized";this.bb=0});a.prototype.Lg=function(){return"ended"==this.C};a.prototype.Ng=function(b){this.Lg()||("not initialized"==this.C&&this.Y9(),"initialized"==this.C&&(this.No.get("ready")||this.No.Bga())&&this.UP(),"started"==this.C&&this.ia(b),1<=this.bb&&this.KM())};a.prototype.Y9=function(){this.gua=this.F.NGa;this.aM=.25;this.uLa=
.75;this.xUa=.25;this.Qwa=this.BQa();this.N5=.5*this.gua;this.AYa=this.gua-2*this.N5;this.gD=1/(this.N5+this.AYa);this.rU=this.gD/this.N5;this.ww=0;this.No=this.j.xf(this.F.Dc);this.Mca=this.j.xf(this.F.Og);this.jH=this.F.eL.N1a();this.C="initialized"};a.prototype.BQa=function(){var b=this.F.eL.get("distance");return b?Math.min(.99,b/this.F.Og.get("distanceToFloor")):.75};a.prototype.UP=function(){this.j.yFa(!this.F.pb()&&k.browser()!=k.ml);this.No.Ah();this.C="started"};a.prototype.ia=function(b){this.No.get("ready")&&
m.RK(!0);this.No.get("ready")||this.bb<this.xUa?this.bb>=1-.5*this.ww*this.ww/this.rU?this.ww=Math.sqrt(2*(1-this.bb)*this.rU):this.ww<this.gD&&(this.ww=Math.min(this.ww+this.rU*b,this.gD)):this.ww=Math.max(this.ww-this.rU*b,0);this.bb=Math.min(Math.max(0,this.bb+this.ww*b),1);this.No.get("ready")||(this.aM=Math.max(this.aM,this.bb));this.u_(this.bb,Math.max(0,Math.min(1,(this.bb-this.aM)/(this.uLa-this.aM))))};a.prototype.KM=function(){this.No.set("alpha",1);this.j.yFa(!1);this.C="ended";m.RK(!1)};
a.prototype.u_=function(b,h){var g=(b-1)*this.Qwa;this.No.set("translationX",g*this.jH.x);this.No.set("translationY",g*this.jH.y);this.No.set("translationZ",g*this.jH.z);this.No.get("ready");b*=this.Qwa;this.Mca.set("translationX",b*this.jH.x);this.Mca.set("translationY",b*this.jH.y);this.Mca.set("translationZ",b*this.jH.z);this.No.set("alpha",Math.max(.01,Math.min(.99,h)))};a.prototype.YE=function(){return this.bb<this.aM};return a});
define("ft",["require","nU","fs"],function(a){var e=a("nU"),l=a("fs");return e.define("TargetModel3DCameraMovement",l,function(){l.call(this)})});
define("gP","require lE pf lg hb ft eU oA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("hb"),b=a("ft"),h=a("eU"),g=a("oA");a=e.extend(h,function(d,f,p,q){h.call(this,d,f,p,q);this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(){var d=this.F.nc.get("model");if(this.F.Dh.get("model")!=d)this.Ns();else if(this.Kb)this.Kb.get("state")==m.W&&setTimeout(function(){this.Ns()}.bind(this),10);else{d=d.get("camera");var f=d.ZI;f||(f={x:d.get("initialX",d.get("x")),
y:d.get("initialY",d.get("y")),z:d.get("initialZ",d.get("z")),yaw:d.get("initialYaw",d.get("yaw")),pitch:d.get("initialPitch",d.get("pitch")),fov:d.get("initialFov",d.get("fov")),distance:d.get("initialDistance",d.get("distance"))});d.set("easing",0);d.set("x",this.F.nc.get("x"));d.set("y",this.F.nc.get("y"));d.set("z",this.F.nc.get("z"));d.set("distance",0);g.isPresenting||d.set("yaw",this.j.Sc()+this.F.nc.get("yaw"));d.set("pitch",this.j.Rc());d.set("fov",this.j.Xa()>this.j.yb()?this.j.VJ():this.j.WJ());
this.Nd=new b;this.Nd.set("targetX",f.x);this.Nd.set("targetY",f.y);this.Nd.set("targetZ",f.z);g.isPresenting||this.Nd.set("targetYaw",f.yaw);this.Nd.set("targetPitch",f.pitch);this.Nd.set("targetFov",f.fov);this.Nd.set("targetDistance",f.distance);this.Nd.set("duration",this.F.N4a);this.Nd.set("easing","quad_in_out");this.Nd.bind(l.Jm,this.Daa,this,!0);this.Kb=new k;this.Kb.set("movements",[this.Nd]);this.Kb.set("mandatory",!0);this.Kb.set("internal",!0);this.Kb.bind(l.Bb,this.Ns,this,!0);d.set("sequences",
d.get("sequences").concat([this.Kb]));this.Kb.play();this.KP();this.cda=(new THREE.Vector3).set(f.x,f.y,f.z);this.OP=(new THREE.Vector3).set(this.F.nc.get("x"),this.F.nc.get("y"),this.F.nc.get("z"))}};var c=new THREE.Vector3;a.prototype.Daa=function(){var d=this.F.nc.get("model").get("camera");d=c.set(d.get("x"),d.get("y"),d.get("z")).distanceTo(this.OP)/this.OP.distanceTo(this.cda);this.F.Wt.set("position",Math.max(.01,Math.min(.99,(d-0)/.33)))};a.prototype.Ns=function(){if(!this.zb){var d=this.F.nc.get("model").get("camera");
d.set("sequences",d.get("sequences").filter(function(f){return f!=this.Kb}.bind(this)));this.zb=!0;this.qP()}};a.prototype.KP=function(){var d=this.F.nc.get("model");this.gP=d.get("postprocessing");this.hP=d.get("surfaceSelectionEnabled");d.set("postprocessing",!1);d.set("surfaceSelectionEnabled",!1)};a.prototype.qP=function(){var d=this.F.nc.get("model"),f=this.gP,p=this.hP;setTimeout(function(){d.set("postprocessing",f);d.set("surfaceSelectionEnabled",p)},30)};return a});
define("iw","require lE pf hb ft eU oA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("hb"),k=a("ft"),b=a("eU"),h=a("oA");a=e.extend(b,function(f,p,q,n){b.call(this,f,p,q,n);this.zb=!1;this.vLa=0;this.wLa=1;this.$aa=[];this.TN=[];this.$aa.push(this.rXa.bind(this))});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(){if(this.F.Dh.get("model")!=this.F.qc.get("model"))this.Qsa();else{var f=this.$aa;for(this.$aa=[];0<f.length;)f.shift()()}};a.prototype.XSa=function(){var f=this.TN;
for(this.TN=[];0<f.length;)f.shift()()};a.prototype.rXa=function(){this.MWa();this.KP();this.TN.push(this.HSa.bind(this));this.TN.push(this.Jxa.bind(this))};a.prototype.MWa=function(){var f=this.F.qc.get("model").get("camera");f.set("easing",0);f.set("x",this.F.nc.get("x"));f.set("y",this.F.nc.get("y"));f.set("z",this.F.nc.get("z"));f.set("distance",0);h.isPresenting||f.set("yaw",this.j.Sc()+this.F.nc.get("yaw"));f.set("pitch",this.j.Rc());f.set("fov",this.j.Xa()>this.j.yb()?this.j.VJ():this.j.WJ());
this.Nd=new k;this.Nd.set("targetX",this.F.qc.get("x"));this.Nd.set("targetY",this.F.qc.get("y"));this.Nd.set("targetZ",this.F.qc.get("z"));if(this.F.IF.get("keepInitialPositionOnTranslation")){if(!h.isPresenting){var p=this.F.Kg.get("yaw")+this.F.qc.get("yaw");this.Nd.set("targetYaw",p)}p=this.F.Kg.get("pitch");void 0!==p&&this.Nd.set("targetPitch",p);p=this.F.Kg.get("hfov");void 0!==p&&this.Nd.set("targetFov",p)}this.Nd.set("duration",1500);this.Nd.set("easing","cubic_in_out");this.Nd.bind(l.Jm,
this.XSa,this,!0);this.Kb=new m;this.Kb.set("movements",[this.Nd]);this.Kb.set("mandatory",!0);this.Kb.set("internal",!0);this.Kb.bind(l.Bb,this.Qsa,this,!0);f.set("sequences",f.get("sequences").concat([this.Kb]));this.Kb.play()};var g=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Vector3;a.prototype.CQa=function(){var f=this.F.nc;g.set(f.get("x"),f.get("y"),f.get("z"));var p=this.F.qc;c.set(p.get("x"),p.get("y"),p.get("z"));f=f.get("model").get("camera");d.set(f.get("x"),f.get("y"),f.get("z"));
return d.distanceTo(g)/c.distanceTo(g)};a.prototype.Jxa=function(){var f=this.CQa();f=Math.max(0,Math.min(1,(f-this.vLa)/this.wLa));this.F.Wt.set("position",f);1>f&&this.TN.push(this.Jxa.bind(this))};a.prototype.HSa=function(){};a.prototype.Qsa=function(){var f=this.F.nc.get("model").get("camera");f.set("sequences",f.get("sequences").filter(function(p){return p!=this.Kb}.bind(this)));this.qP();this.zb=!0};a.prototype.KP=function(){var f=this.F.nc.get("model"),p=this.F.Dh;this.gP=f.get("postprocessing");
this.hP=f.get("surfaceSelectionEnabled");this.lUa=p.get("spritesEnabled");f.set("postprocessing",!1);f.set("surfaceSelectionEnabled",!1);p.set("spritesEnabled",!1)};a.prototype.qP=function(){var f=this.F.nc.get("model"),p=this.F.Dh,q=this.gP,n=this.hP,r=this.lUa;setTimeout(function(){f.set("postprocessing",q);f.set("surfaceSelectionEnabled",n);p.set("spritesEnabled",r)},500)};return a});
define("lA","require lE pf lg hb ft eU lh oA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("hb"),b=a("ft"),h=a("eU"),g=a("lh"),c=a("oA");a=e.extend(h,function(f,p,q,n){h.call(this,f,p,q,n);this.zb=!1});a.prototype.Lg=function(){return this.zb};a.prototype.Ng=function(){if(this.Kb)this.Kb.get("state")==m.W&&setTimeout(function(){this.Ns()}.bind(this),10);else{var f=this.F.qc.get("model").get("camera");f.r8a();var p=Math.abs(f.get("pitch")-this.j.Rc()),q=30<p;this.Nd=new b;this.Nd.set("targetX",
this.F.qc.get("x"));this.Nd.set("targetY",this.F.qc.get("y"));this.Nd.set("targetZ",this.F.qc.get("z"));this.Nd.set("targetDistance",0);this.Nd.set("targetFov",this.SQa(this.j.vf()));c.isPresenting||this.Nd.set("targetYaw",this.j.Sc()+this.F.qc.get("yaw"));q?this.Nd.set("targetPitch",f.get("pitch")):this.Nd.set("targetPitch",this.j.Rc());this.Nd.set("duration",this.F.X3a);this.Nd.set("easing","cubic_in_out");this.Nd.bind(l.Jm,this.Daa,this,!0);var n=[this.Nd];q&&(q=new b,q.set("targetPitch",this.j.Rc()),
q.set("duration",p/90*1E3),q.set("easing","quad_in_out"),n.push(q));this.Kb=new k;this.Kb.set("movements",n);this.Kb.set("mandatory",!0);this.Kb.set("internal",!0);this.Kb.bind(l.Bb,this.Ns,this,!0);f.set("sequences",f.get("sequences").concat([this.Kb]));this.Kb.play();this.KP();this.OP=(new THREE.Vector3).set(f.get("x"),f.get("y"),f.get("z"));this.cda=(new THREE.Vector3).set(this.F.qc.get("x"),this.F.qc.get("y"),this.F.qc.get("z"))}};a.prototype.SQa=function(f){return this.j.Xa()<this.j.yb()?g.rm(f,
this.j.Xa(),this.j.yb()):f};var d=new THREE.Vector3;a.prototype.Daa=function(){var f=this.F.qc.get("model").get("camera");f=d.set(f.get("x"),f.get("y"),f.get("z")).distanceTo(this.OP)/this.OP.distanceTo(this.cda);this.F.Wt.set("position",Math.max(.01,Math.min(.99,(f-.66)/(1-.66))))};a.prototype.Ns=function(){if(!this.zb){var f=this.F.qc.get("model").get("camera");f.set("sequences",f.get("sequences").filter(function(p){return p!=this.Kb}.bind(this)));this.zb=!0;this.qP();this.j.xf(this.F.Dc).set("alpha",
1)}};a.prototype.KP=function(){var f=this.F.qc.get("model");this.gP=f.get("postprocessing");this.hP=f.get("surfaceSelectionEnabled");f.set("postprocessing",!1);f.set("surfaceSelectionEnabled",!1)};a.prototype.qP=function(){var f=this.F.qc.get("model"),p=this.gP,q=this.hP;setTimeout(function(){f.set("postprocessing",p);f.set("surfaceSelectionEnabled",q)},30)};return a});
define("jm",["require","lE","mr"],function(a){var e=a("lE"),l=a("mr");a=e.extend(l,function(m,k,b,h,g){l.call(this,m,k,b,h);this.RLa=g});a.prototype.Xg=function(){this.RLa.call(this.M)};return a});define("gs",["require","lE","eU"],function(a){var e=a("lE"),l=a("eU");a=e.extend(l,function(m,k,b,h){l.call(this,m,k,b,h)});a.prototype.Lg=function(){var m=this.j.ob(),k=m&&m.lJ;m=m&&m.RH;return!!k&&!k.get("visible")&&!!m&&!m.get("visible")};return a});
define("M",["require","lE","eU"],function(a){var e=a("lE"),l=a("eU"),m=e.extend(l,function(k,b,h,g){l.call(this,k,b,h,g);this.nw=null});m.prototype.Lg=function(){this.nw||(this.nw=this.F.Dc&&this.j.xf(this.F.Dc));return this.nw&&this.nw.get("ready")};m.prototype.YE=function(){return!0};m.LIa=e.extend(m,function(k,b,h,g){m.call(this,k,b,h,g)});m.LIa.prototype.YE=function(){return!1};m.RIa=e.extend(m,function(k,b,h,g){m.call(this,k,b,h,g)});m.RIa.prototype.Lg=function(){this.nw||(this.nw=this.F.Dc&&
this.j.xf(this.F.Dc));return this.nw&&(this.nw.get("ready")||this.nw.Mha())};return m});
define("pq","require cC gv hI pG mi cW lR ou hX bC fp lX bK oa oS cl mP fT eE jl mw pJ s dw pD li fu nD jM ih hw fj gy lv dX bw gP iw lA jm gs M lE".split(" "),function(a){var e=a("cC"),l=a("gv"),m=a("hI"),k=a("pG"),b=a("mi"),h=a("cW"),g=a("lR"),c=a("ou"),d=a("hX"),f=a("bC"),p=a("fp");a("lX");var q=a("bK");a("oa");var n=a("oS"),r=a("cl"),t=a("mP"),u=a("fT"),v=a("eE"),w=a("jl"),x=a("mw"),y=a("pJ"),z=a("s"),E=a("dw"),B=a("pD"),A=a("li"),D=a("fu"),C=a("nD"),J=a("jM"),H=a("ih"),P=a("hw"),W=a("fj"),U=
a("gy"),S=a("lv"),X=a("dX"),F=a("bw"),M=a("gP"),T=a("iw"),Y=a("lA"),ca=a("jm"),da=a("gs"),ha=a("M"),G=a("lE").extend(l,function(N,R,L){l.call(this);this.L=N;this.j=R;this.Jc=L;this.Cc=this.Hs=null;this.boa=this.ws=this.VO=this.dw=void 0;this.F=null;this.Yg=[]});G.prototype.Bia=function(N){this.Hs=N};G.prototype.clear=function(){this.Xba(this.ws);this.F&&this.Xba(this.F.Dc);this.VO=this.dw=void 0;this.ka=this.Jc=this.j=this.L=this.F=null};G.prototype.start=function(N,R){!this.F&&N==this.ws||this.F&&
N==this.F.Dc?this.VO=this.dw=void 0:(this.dw=N,this.VO=R,0==this.Yg.length&&this.SZ())};G.prototype.hide=function(){this.dw=null;!this.F&&this.ws&&this.SZ()};G.prototype.Cga=function(){return null!==this.F};G.prototype.I1a=function(){return this.F&&this.F.Dc};G.prototype.SZ=function(){this.F=new k(this.j,this.Hs,this.ws,this.dw,this.VO);this.Cc=new m(this.j,this.Jc,this.F);this.VO=this.dw=void 0;this.fa(H);this.fa(g);switch(this.F.mode){case k.Wja:this.dc(this.cA);this.fa(S.Cf);this.fa(y);this.fa(W.kh);
this.fa(J.Cf);this.fa(C.kh);this.fa(q);this.dc(this.bA);this.fa(v);this.dc(this.mt);this.fa(D.Cf);this.fa(S.kh);break;case k.Vja:this.fa(x);this.dc(this.iE);this.fa(ha);this.fa(d);this.fa(P);this.dc(this.Dw);this.fa(p);this.fa(da);this.fa(r);this.dc(this.hE);break;case k.TT:this.fa(x);this.dc(this.cA);this.fa(S.Cf);this.fa(q);this.dc(this.iE);this.dc(this.bA);this.fa(v);this.dc(this.mt);this.fa(ha);this.fa(d);this.fa(P);this.dc(this.Dw);this.fa(p);this.fa(S.kh);this.fa(da);this.fa(r);this.dc(this.hE);
break;case k.fla:this.fa(x);this.dc(this.iE);this.dc(this.cA);this.dc(this.bA);this.F.pb()?(this.fa(ha),this.fa(U),this.dc(this.Dw),this.fa(F),this.fa(v),this.dc(this.mt)):(this.fa(u),this.dc(this.Dw),this.fa(F),this.fa(v),this.dc(this.mt),this.fa(n),this.fa(d),this.fa(da));this.dc(this.hE);break;case k.Rn:this.fa(x);this.dc(this.iE);this.fa(ha);this.F.pb()?(this.dc(this.cA),this.dc(this.bA),this.fa(z),this.dc(this.Dw),this.fa(b),this.fa(v),this.dc(this.mt)):(this.dc(this.cA),this.dc(this.bA),this.fa(t),
this.dc(this.Dw),this.fa(b),this.fa(v),this.dc(this.mt),this.fa(d),this.fa(da),this.fa(r));this.dc(this.hE);break;case k.u5:this.fa(W.kh);this.fa(x);this.dc(this.iE);this.fa(c);this.fa(J.Cf);this.fa(ha);this.fa(S.Cf);this.fa(h.x5);this.fa(E);this.fa(Y);this.fa(D.Cf);this.fa(D.kh);this.dc(this.Dw);this.fa(W.Cf);this.fa(C.Cf);this.fa(w);this.fa(S.kh);this.fa(d);this.fa(da);this.fa(J.kh);this.dc(this.hE);break;case k.hla:this.fa(c);this.dc(this.cA);this.fa(A);this.dc(this.bA);this.fa(S.Cf);this.fa(h.o5);
this.fa(W.kh);this.fa(J.Cf);this.fa(v);this.dc(this.mt);this.fa(M);this.fa(D.Cf);this.fa(w);this.fa(S.kh);this.fa(X);break;case k.v5:this.dc(this.iE);this.fa(c);this.dc(this.cA);this.dc(this.bA);this.fa(S.Cf);this.fa(h.o5);this.fa(ha);this.fa(h.x5);this.fa(A);this.fa(W.kh);this.fa(J.Cf);this.fa(v);this.dc(this.mt);this.fa(T);this.fa(C.Cf);this.fa(D.Cf);this.fa(w);this.fa(B);this.dc(this.Dw);this.fa(f);this.fa(W.Cf);this.fa(S.kh);this.fa(d);this.fa(da);this.fa(J.kh);this.dc(this.hE);break;case k.gla:this.dc(this.iE),
this.fa(c),this.fa(S.Cf),this.fa(h.o5),this.fa(A),this.fa(W.kh),this.fa(J.Cf),this.fa(ha),this.dc(this.cA),this.dc(this.bA),this.fa(v),this.dc(this.mt),this.fa(M),this.fa(w),this.fa(h.x5),this.fa(E),this.fa(Y),this.fa(D.Cf),this.dc(this.Dw),this.fa(W.Cf),this.fa(C.Cf),this.fa(w),this.fa(S.kh),this.fa(J.kh),this.dc(this.hE)}this.dc(this.sYa);this.Oa()};G.prototype.uda=function(){this.ws=this.F.Dc;this.boa=this.F.IF;this.F=this.Cc=null;void 0===this.dw?this.ws?this.bYa(this.ws,this.boa):this.cYa():
this.SZ()};window.q0a=!0;window.r0a=!0;document.addEventListener("keydown",function(N){67==N.which&&(window.q0a=window.r0a=!0)});G.prototype.ox=function(N){for(;this.Yg.length;){var R=this.Yg[0];R.qXa||(R.qXa=(new Date).getTime());if(void 0!==this.dw&&this.dw!==this.ws&&R.YE()){this.Xba(this.F.Dc);this.Yg=[];this.SZ();break}else if(R.Ng(N),this.Oa(),this.Cc.ox(N),R.Lg())this.Yg.shift(),0==this.Yg.length&&this.uda();else break}};document.addEventListener("keydown",function(){(new Date).getTime()});
document.addEventListener("keyup",function(){(new Date).getTime()});G.prototype.Gd=function(){};G.prototype.fa=function(N){this.Yg.push(new N(this,this.Cc,this.j,this.F))};G.prototype.dc=function(N){this.Yg.push(new ca(this,this.Cc,this.j,this.F,N))};G.prototype.Xba=function(N){N&&(N=this.j.xf(N))&&(this.j.remove(N),this.mt())};G.prototype.iE=function(){this.trigger(new e(G.I4,{panorama:this.F.Dc}))};G.prototype.mt=function(){this.trigger(new e(G.z4,{panorama:this.F?this.F.Og:this.ws,nextPanorama:this.F?
this.F.Dc:null}))};G.prototype.cA=function(){this.trigger(new e(G.rB,{panorama:this.F.Og}))};G.prototype.bA=function(){this.trigger(new e(G.qB,{panorama:this.F.Og,nextPanorama:this.F.Dc}))};G.prototype.hE=function(){this.trigger(new e(G.sB,{panorama:this.F.Dc,camera:this.F.IF}))};G.prototype.sYa=function(){this.trigger(new e(G.Ap))};G.prototype.Dw=function(){this.trigger(new e(G.tB,{panorama:this.F.Dc,camera:this.F.IF}))};G.prototype.bYa=function(N,R){this.trigger(new e(G.e4,{panorama:N,camera:R}))};
G.prototype.cYa=function(){this.trigger(new e(G.f4))};G.prototype.Oa=function(){this.trigger(new e(G.Gb))};G.Gb="request frame";G.I4="request load";G.z4="panorama removed";G.e4="all pending panoramas displayed";G.f4="all pending panoramas hidden";G.qB="panorama end";G.tB="panorama start";G.sB="panorama show";G.rB="panorama hide";G.Ap="transition end";return G});
define("mA",["require","lE","cC","gv"],function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=e.extend(m,function(b){m.call(this);this.j=b});k.prototype.clear=function(){this.end();this.j=null};k.prototype.jK=function(b){for(var h=this.cW(b),g=b.AR(),c=0;c<h;c++)this.j.xf(this.U8(b,c)).set("alpha",c==g?1:0)};k.prototype.getTime=function(){return 0};k.prototype.start=function(){};k.prototype.end=function(){};k.prototype.play=function(){};k.prototype.pause=function(){};k.prototype.yK=function(){};k.prototype.JK=
function(){};k.prototype.d3=function(){};k.prototype.stop=function(){};k.prototype.CF=function(){};k.prototype.PA=function(){};k.prototype.iL=function(){};k.prototype.Gd=function(){};k.prototype.ak=function(){};k.prototype.cW=function(b){return b.get("frames").length};k.prototype.U8=function(b,h){return b.get("frames")[h]};k.prototype.Oa=function(){this.trigger(new l(k.Gb))};k.prototype.Wq=function(b,h,g,c,d,f){this.trigger(new l(k.xj,{time:b,duration:h,transitionPosition:g,transitionLength:c,steps:d,
selectedStep:f}))};k.prototype.Uj=function(){this.trigger(new l(k.Gc,{state:this.ak()}))};k.Gb="request frame";k.ZHa="frame display";k.$Ha="frame hide";k.xj="time change";k.Gc="playback state change";return k});
define("br","require jquery.mod en lE pf ik cC mA fk fv mB oA gY".split(" "),function(a){a("jquery.mod");var e=a("en"),l=a("lE"),m=a("pf"),k=a("ik");a("cC");var b=a("mA"),h=a("fk"),g=a("fv");a("mB");a("oA");var c=a("gY"),d=l.extend(b,function(f){b.call(this,f);this.TV=null;this.C8=this.FC=0;this.ua=this.fD=null;this.SM=void 0;this.tba=!1;this.Ta=360;this.dya=180;this.sb=.5;this.so=.2;this.Mv=.45;this.Wqa=5E3;this.$qa=1;this.iX=[[.5,.25],[.5,.375],[.25,.5],[.375,.5],[.5,.5],[.625,.5],[.75,.5],[.5,
.625],[.5,.75]];this.fSa=[.05,.1,.05,.1,.4,.1,.05,.1,.05]});d.prototype.jK=function(f){b.prototype.jK.call(this,f);this.DP(f)};d.prototype.start=function(f){this.DP(f);this.Oa()};d.prototype.end=function(){this.DP(null)};d.prototype.DP=function(f){this.ua!=f&&(this.ua&&(this.wYa(),this.ua=null,this.CYa()),this.ua=f)&&(this.pLa(),this.Ta=f.get("hfov",360),this.dya=f.get("vfov",180),this.sb=f.get("pitch",0),this.zba=this.GD=void 0,this.ZRa(f),this.bb=.5)};d.prototype.iL=function(){this.tba=!1};d.prototype.CF=
function(f){this.bb=f/d.OL;this.Oa();this.tba=!0};d.prototype.PA=function(f){this.CF(f)};d.prototype.Wq=function(){var f=this.cW(this.ua),p=this.bb*(f-1),q=Math.max(0,Math.min(f-2,Math.floor(p))),n=void 0;.01>p-q?n=q:.99<p-q&&(n=q+1);b.prototype.Wq.call(this,this.bb*d.OL,d.OL,this.bb*d.OL,d.OL,f,n)};d.prototype.Gd=function(f){if(this.ua){var p=this.j.Sc(),q=this.j.Rc(),n=this.j.Xf(),r=0;if(void 0!==this.GD&&void 0!==this.zba&&void 0!==this.qua){var t=p-this.GD,u=q-this.zba,v=n-this.qua;r=1E3*Math.sqrt(t*
t+u*u+v*v)/f}this.GD=p;this.zba=q;this.qua=n;t=this.cW(this.ua);var w=this.bb*(t-1);u=Math.max(0,Math.min(t-2,Math.floor(w)));v=u+1;w=1-(w-u);for(var x=1-w,y=[],z=0;z<t;z++)y.push(0);y[v]=x;y[u]=1>x?1:0;for(z=0;z<t;z++)this.j.xf(this.U8(this.ua,z)).set("alpha",y[z]);this.Wq();if(this.TV&&(r<=this.$qa||this.j.tr())&&!this.tba){z=Math.PI/180;r=180/Math.PI;y=this.j.Xa();var E=this.j.yb(),B=new g;B.rotateZ(-n*z);B.rotateX(-q*z);B.rotateY(-p*z);p=[];for(z=0;z<this.iX.length;z++)q=new h(this.iX[z][0]*y,
this.iX[z][1]*E,0),n=this.j.unproject(q).ZAa(),n.apply(B),q=n.Sc()*r,n=n.Rc()*r,p.push(Math.round((90-n)*this.C8/180)*this.FC+Math.round((q+180)*this.FC/360));q=[];for(z=0;z<t;z++){n=this.TV[z];for(y=r=0;y<this.iX.length;y++)r+=this.fSa[y]*n[p[y]];q.push(r)}z=q[u];p=q[v];u=w*q[u]+x*q[v];f=Math.min(1/t,f/this.Wqa);t=this.bb;v=Math.max.apply(Math,q);w=Math.min.apply(Math,q);u<this.so&&u<v?t=p>u?t+f:t-f:u>this.Mv&&u>w&&(t=z<u?t-f:t+f);t=Math.min(1,Math.max(0,t));this.bb!=t&&(this.bb=t,this.Oa())}}};
d.prototype.ZRa=function(f){var p=e(f.get("frames",[])).map(function(q){return q.get("thumbnailUrl")});this.fD=e(p).map(function(q){var n=null;q&&(n=new c(k.ol),n.bind(m.Z,this.Hsa,this),n.bind(m.xc,this.Isa,this));return n},this);e(this.fD).each(function(q,n){q&&q.load(p[n])})};d.prototype.CYa=function(){this.Yna();this.TV=null};d.prototype.TSa=function(){this.FC=150;this.fD.map(function(f){f&&(this.FC=Math.min(360*f.He()/this.Ta,this.FC))},this);this.C8=Math.round(this.FC/2);this.TV=this.fD.map(function(f){return this.oNa(f,
this.FC,this.C8,this.Ta,this.dya,this.sb)},this);this.Yna()};d.prototype.oNa=function(f,p,q,n,r,t){var u=document.createElement("canvas");u.width=p;u.height=q;var v=u.getContext("2d");v.fillStyle="#000000";v.fillRect(0,0,p,q);f&&(f=f.wf(),n=Math.round(p*n/360),v.drawImage(f,.5*(p-n),Math.round(q*(90-(t+.5*r))/180),n,Math.round(q*r/180)));p=[];u=v.getImageData(0,0,u.width,u.height);for(q=v=0;v<u.height;v++)for(r=0;r<u.width;r++,q+=4)p.push((.299*u.data[q]+.587*u.data[q+1]+.114*u.data[q+2])/255);return p};
d.prototype.Yna=function(){e(this.fD).each(function(f){f&&(f.unbind(m.Z,this.Hsa,this),f.unbind(m.xc,this.Isa,this),f.cancel())},this);this.fD=null};d.prototype.Hsa=function(){0==e(this.fD).filter(function(f){return f&&!f.ki()}).length&&this.TSa()};d.prototype.Isa=function(){};d.prototype.pLa=function(){this.ua.bind(m.D("minimumLuminance"),this.Xv,this);this.ua.bind(m.D("maximumLuminance"),this.Xv,this);this.ua.bind(m.D("luminanceChangeTime"),this.Xv,this);this.ua.bind(m.D("maxLuminanceChangeSpeed"),
this.Xv,this);this.Xv()};d.prototype.wYa=function(){this.ua.unbind(m.D("minimumLuminance"),this.Xv,this);this.ua.unbind(m.D("maximumLuminance"),this.Xv,this);this.ua.unbind(m.D("luminanceChangeTime"),this.Xv,this);this.ua.unbind(m.D("maxLuminanceChangeSpeed"),this.Xv,this)};d.prototype.Xv=function(){this.so=this.ua.get("minimumLuminance");this.Mv=this.ua.get("maximumLuminance");void 0==this.so&&void 0==this.Mv?(this.so=.2,this.Mv=.45):void 0==this.so?this.so=Math.min(.2,this.Mv):void 0==this.so?this.Mv=
Math.max(.45,this.so):this.so=Math.min(this.so,this.Mv);this.Mv=Math.min(1,Math.max(0,this.Mv));this.so=Math.min(1,Math.max(0,this.so));this.Wqa=Math.max(100,this.ua.get("luminanceChangeTime",5E3));this.$qa=this.ua.get("maxLuminanceChangeSpeed",1);this.Oa()};d.OL=1E3;return d});
define("ev","require lE y pf lg mA".split(" "),function(a){var e=a("lE"),l=a("y"),m=a("pf"),k=a("lg"),b=a("mA");a=e.extend(b,function(h){b.call(this,h);this.RV=this.SV=null;this.Hj=this.Uh=5E3;this.gf=void 0;this.Ob=this.Uh;this.zl=1;this.ua=null;this.ZC=!1});a.prototype.start=function(h){this.ua=h;this.ZC=!1;this.HW=!0;this.SV=l.bu(this.ua,"frameDisplayTime",this.Nda,this);this.RV=l.bu(this.ua,"frameTransitionTime",this.Nda,this);this.zl=this.cW(this.ua);this.gf=this.ua.AR()*(this.Uh+this.Hj);this.Nda(!0);
this.Wq();this.Oa();this.Uj()};a.prototype.Nda=function(h){var g=Math.max(100,this.ua.get("frameDisplayTime",5E3)),c=Math.max(100,this.ua.get("frameTransitionTime",5E3));if(this.Uh!=g||this.Hj!=c||h){h=this.tH();var d=this.vPa();this.Uh=g;this.Hj=c;1<this.zl?(this.gf=h*(this.Uh+this.Hj)+d*this.Uh+d*this.Hj,this.Ob=this.zl*(this.Uh+this.Hj)):(this.gf=d*this.Uh,this.Ob=this.Uh)}};a.prototype.tH=function(){return 1<this.zl?Math.floor(this.gf/(this.Uh+this.Hj)):0};a.prototype.wPa=function(){return 1<
this.zl?(this.tH()+1)%this.zl:0};a.prototype.vPa=function(){return 1<this.zl?Math.max(0,Math.min(1,this.gf-this.tH()*(this.Uh+this.Hj))):this.gf/this.Uh};a.prototype.opa=function(){return 1<this.zl?Math.max(0,Math.min(1,(this.gf-(this.tH()*(this.Uh+this.Hj)+this.Uh))/this.Hj)):0};a.prototype.tXa=function(h){var g=Math.floor(h/this.Hj);return g*(this.Uh+this.Hj)+this.Uh+(h-g*this.Hj)};a.prototype.Hwa=function(h){var g=Math.floor(h/(this.Uh+this.Hj));return g*this.Hj+Math.max(0,h-g*(this.Uh+this.Hj)-
this.Uh)};a.prototype.play=function(){this.ZC&&(this.ZC=!1,this.HW&&this.Oa(),this.Uj())};a.prototype.pause=function(){this.ZC=!0;this.Uj()};a.prototype.yK=function(){this.pause()};a.prototype.JK=function(){this.play()};a.prototype.end=function(){this.HW=!1;this.ua=null;this.SV&&(this.SV.$A(),this.SV=null);this.RV&&(this.RV.$A(),this.RV=null);this.Uj()};a.prototype.CF=function(h){this.gf=h;this.Oa()};a.prototype.PA=function(h){this.gf=this.tXa(h);this.Oa();this.pause()};a.prototype.Gd=function(h){if(this.HW){this.ZC||
(this.gf+=h);this.gf%=this.Ob;h=this.tH();var g=this.wPa(),c=this.opa(),d=g>h?c:1;c=g>h?1:1-c;for(var f=0;f<this.zl;f++){var p=f==h?c:f==g?d:0;var q=this.j.xf(this.U8(this.ua,f)),n=q.get("alpha");n!=p&&(0<p&&1>p&&q.Ah(),n=q.get("alpha"),q.set("alpha",p),f==this.zl-1&&1==n&&1>p&&this.ua.trigger(m.Ip))}this.Wq();this.ZC||this.Oa()}};a.prototype.ak=function(){return this.HW?this.ZC?k.Ib:k.Y:k.W};a.prototype.Uj=function(){b.prototype.Uj.call(this,this.ak())};a.prototype.Wq=function(){b.prototype.Wq.call(this,
this.gf,this.Ob,this.Hwa(this.gf),this.Hwa(this.Ob),this.zl+1,0===this.opa()?this.tH():void 0)};return a});define("bN",["require","lE","mA"],function(a){var e=a("lE"),l=a("mA");return e.extend(l,function(m){l.call(this,m)})});
define("mJ",["require","lE","pf","lg","mA"],function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("mA");a=e.extend(k,function(b){k.call(this,b);this.qf=!1});a.prototype.jK=function(){};a.prototype.start=function(b){this.end();this.ua=b;this.ua.set("mute",this.qf);this.ua.get("autoplay")&&this.ua.set("state",m.Y);this.Mu()};a.prototype.getTime=function(){return this.ua?this.ua.get("currentTime"):0};a.prototype.ak=function(){return this.ua?this.ua.get("state"):m.W};a.prototype.play=function(){this.ua&&
this.ua.set("state",m.Y)};a.prototype.pause=function(){this.ua&&this.ua.set("state",m.Ib)};a.prototype.d3=function(){this.ua&&this.ua.set("state",m.Ib)};a.prototype.stop=function(){this.ua&&this.ua.set("state",m.W)};a.prototype.end=function(){this.ua&&(this.mw(),this.ua=null)};a.prototype.CF=function(b){this.ua&&this.ua.set("state",m.Y);this.ua&&this.ua.set("currentTime",b)};a.prototype.Nf=function(b){this.qf=b;this.ua&&this.ua.set("mute",this.qf)};a.prototype.Mu=function(){this.ua.bind(l.D("currentTime"),
this.ef,this,!0);this.ua.bind(l.D("duration"),this.qn,this,!0);this.ua.bind(l.D("state"),this.Fi,this,!0);this.ua.get("state")!=m.W&&this.Uj()};a.prototype.mw=function(){this.ua.unbind(l.D("currentTime"),this.ef,this,!0);this.ua.unbind(l.D("duration"),this.qn,this,!0);this.ua.unbind(l.D("state"),this.Fi,this,!0)};a.prototype.Fi=function(){this.Uj()};a.prototype.ef=function(){this.Wq()};a.prototype.qn=function(){this.Wq()};a.prototype.Wq=function(){this.ua&&k.prototype.Wq.call(this,this.ua.get("currentTime"),
this.ua.get("duration"))};return a});
define("x","require lE lg cC gv nU mA br ev bN mJ".split(" "),function(a){var e=a("lE");a("lg");var l=a("cC"),m=a("gv"),k=a("nU"),b=a("mA"),h=a("br"),g=a("ev"),c=a("bN"),d=a("mJ"),f=e.extend(m,function(p){m.call(this);this.j=p;this.K$=this.lV(g);this.x9=this.lV(h);this.G_=this.lV(d);this.Qca=this.lV(c);this.Td=null});f.prototype.clear=function(){this.cV(this.K$);this.K$=null;this.cV(this.x9);this.x9=null;this.cV(this.G_);this.G_=null;this.cV(this.Qca);this.j=this.Td=this.Qca=null};f.prototype.lV=
function(p){p=new p(this.j);p.bind(b.Gb,this.Se,this,!0);p.bind(b.xj,this.Aq,this,!0);p.bind(b.Gc,this.df,this,!0);return p};f.prototype.cV=function(p){p.unbind(b.Gb,this.Se,this);p.unbind(b.xj,this.Aq,this);p.unbind(b.Gc,this.df,this);p.clear()};f.prototype.n$=function(p,q){return k.Ia(q,p)};f.prototype.kpa=function(p){return this.n$(p,"HDRPanorama")?this.x9:this.n$(p,"LivePanorama")?this.K$:this.n$(p,"VideoPanorama")?this.G_:this.Qca};f.prototype.jK=function(p){(this.Td=this.kpa(p))&&this.Td.jK(p)};
f.prototype.start=function(p){this.Se();(this.Td=this.kpa(p))&&this.Td.start(p)};f.prototype.ak=function(){if(this.Td)return this.Td.ak()};f.prototype.getTime=function(){return this.Td?this.Td.getTime():0};f.prototype.play=function(){this.Td&&this.Td.play()};f.prototype.pause=function(){this.Td&&this.Td.pause()};f.prototype.yK=function(){this.Td&&this.Td.yK()};f.prototype.JK=function(){this.Td&&this.Td.JK()};f.prototype.d3=function(){this.Td&&this.Td.d3()};f.prototype.stop=function(){this.Td&&this.Td.stop();
this.trigger(new l(f.xj,{duration:0,time:0,steps:void 0,selectedStep:void 0}))};f.prototype.end=function(){this.Td&&(this.Td.end(),this.Td=null)};f.prototype.CF=function(p){this.Td&&this.Td.CF(p)};f.prototype.PA=function(p){this.Td&&this.Td.PA(p)};f.prototype.iL=function(){this.Td&&this.Td.iL()};f.prototype.Gd=function(p){this.Td&&this.Td.Gd(p)};f.prototype.Nf=function(p){this.G_.Nf(p)};f.prototype.Se=function(){this.trigger(new l(f.Gb))};f.prototype.Aq=function(p){this.trigger(new l(f.xj,p.data))};
f.prototype.df=function(p){this.trigger(new l(f.Gc,p.data))};f.Gb="request frame";f.ZHa="frame display";f.$Ha="frame hide";f.xj="time change";f.Gc="playback state change";return f});
define("mL",["require","lE","pf","gv","lF"],function(a){var e=a("lE"),l=a("pf"),m=a("gv"),k=a("lF");a=e.extend(m,function(b){m.call(this);this.j=b;this.wh=this.ua=null});a.prototype.start=function(b){this.ua=b;this.wh=this.j.xf(this.ua);this.wh.bind(l.Z,this.xd,this,!0);this.wh.bind(l.lc,this.aw,this,!0);this.wh.get("ready")?this.trigger(l.$c,{panorama:this.ua}):this.wh.bind(l.$c,this.YX,this,!0);this.wh.set("loadingActive",!0)};a.prototype.stop=function(){this.ua=null;this.wh&&(this.wh.unbind(l.$c,
this.YX,this),this.wh.unbind(l.Z,this.xd,this),this.wh.unbind(l.lc,this.aw,this),this.wh.set("loadingActive",!1),this.wh=null,this.trigger(l.Qf))};a.prototype.clear=function(){this.stop()};a.prototype.YX=function(){this.wh.unbind(l.$c,this.YX,this);this.trigger(l.$c,{panorama:this.ua})};a.prototype.xd=function(){this.wh.unbind(l.$c,this.YX,this);this.wh.unbind(l.Z,this.xd,this);this.wh.unbind(l.lc,this.aw,this);this.wh=null;this.trigger(l.Z,{panorama:this.ua});this.ua=null;this.trigger(l.Qf)};a.prototype.aw=
function(b){this.trigger(new k(l.lc,b.Mg))};return a});
define("kk","require exports pf cC gv Q".split(" "),function(a,e,l,m,k,b){var h=function(c){function d(f){var p=c.call(this)||this;p.renderer=f;p.Zga=[];p.gS=new Map;p.zf=null;return p}Z(d,c);d.prototype.clear=function(){this.N2([])};d.prototype.N2=function(f){f?Array.isArray(f)||(f=[f]):f=[];this.Zga.filter(function(p){return!f.includes(p)}).forEach(this.v5a.bind(this));f.filter(function(p){return!this.Zga.includes(p)}.bind(this)).forEach(this.x_a.bind(this));this.Zga=f};d.prototype.display=function(f){this.kf(f)};
d.prototype.hide=function(f){this.zf==f&&this.stop()};d.prototype.stop=function(){this.kf(null)};d.prototype.x_a=function(f){var p=new g(this.renderer,f);p.bind(d.pi,this.KS,this,!0);p.kf(this.zf);this.gS.set(f,p)};d.prototype.v5a=function(f){var p=this.gS.get(f);p.unbind(d.pi,this.KS,this);p.dispose();this.gS.delete(f)};d.prototype.kf=function(f){this.zf!==f&&(this.zf=f,this.gS.forEach(function(p){p.kf(f)}))};d.prototype.Gd=function(){this.gS.forEach(function(f){f.d9a()})};d.prototype.KS=function(f){this.trigger(new m(d.pi,
{yawDelta:f.data.yawDelta}))};d.pi="request yaw change";return d}(k),g=function(c){function d(f,p){var q=c.call(this)||this;q.renderer=f;q.ex=p;q.zf=null;q.Tt=null;q.w_a();return q}Z(d,c);d.prototype.dispose=function(){this.u5a();this.kf(null)};d.prototype.kf=function(f){this.zf!==f&&(this.lza(),this.zf=f,this.y_a())};d.prototype.d9a=function(){this.hHa()};d.prototype.PEa=function(f,p,q){f=f.get("mapLocations",[]);for(var n=0;n<f.length;n++){var r=f[n];if(r.get("map")==p)return r}return q&&0<f.length?
f[0]:null};d.prototype.YFa=function(){this.ex.z_a(this.Tt);this.ex.bind(b.pi,this.KS,this,!0);this.hHa()};d.prototype.$2a=function(){this.ex.w5a(this.Tt);this.ex.unbind(b.pi,this.KS,this)};d.prototype.lza=function(){this.Tt&&(this.$2a(),this.Tt=null)};d.prototype.y_a=function(){this.zf&&(this.Tt=this.PEa(this.zf,this.ex.get("map",null),!0))&&this.YFa()};d.prototype.hHa=function(){if(this.Tt){var f=this.renderer.Sc(),p=this.renderer.Rc();this.ex.op(this.Tt,f,p,this.renderer.vf())}};d.prototype.w_a=
function(){this.ex.bind(l.D("map"),this.dDa,this,!1)};d.prototype.u5a=function(){this.ex.unbind(l.D("map"),this.dDa,this)};d.prototype.dDa=function(){this.zf&&(this.lza(),(this.Tt=this.PEa(this.zf,this.ex.get("map",null),!1))&&this.YFa())};d.prototype.KS=function(f){this.trigger(new m(h.pi,{yawDelta:f.data.yawDelta}))};return d}(k);return h});
define("hu","require pf lH gv bi mB oA".split(" "),function(a){function e(w){this.fV=w;this.sk=null;this.D6={};for(w=0;w<this.fV.buttons.length;w++)this.D6[this.fV.buttons[w]]=!1;this.B6=0;this.Kz=null;this.JD=[new THREE.Quaternion,new THREE.Quaternion];this.Lk=this.JD[0];this.ai=[new THREE.Vector3,new THREE.Vector3];this.bb=this.ai[0];this.zI=new THREE.Vector3;this.FD=new THREE.Quaternion;this.ena=0}function l(w,x,y){this.d3a=w;this.buttons=x;this.b5a=y}function m(){if(!v&&u!=c.Ge){u=c.Ge;var w=
navigator.getGamepads&&navigator.getGamepads();if(w){for(var x=0;x<n.length;x++)n[x].nFa(null);for(x=0;x<w.length;x++){var y=w[x];if(y&&(y.pose||y.EBa)){var z=y.id||y.M$a,E=z+(y.hand?"-"+y.hand:""),B=t[E];if(!B){a:{for(var A=0;A<f.length;A++){var D=f[A];if(0==z.indexOf(p[D].d3a)){z=D;break a}}z=void 0}z&&n.push(B=t[E]=new e(p[z]))}B&&t[E].nFa(y)}}(w=r)&&!r.Oga()&&(r=null);for(x=0;x<n.length;x++)if(B=n[x],B.Oga()&&B.pressed()){r=B;break}if(!r)for(x=0;x<n.length;x++)if(B=n[x],B.Oga()){if("right"==B.hand()){r=
B;break}r||(r=B)}w!=r&&h.OA(k)}}}function k(){q.trigger(b.ca)}var b=a("pf"),h=a("lH"),g=a("gv"),c=a("bi"),d=a("mB");a("oA");var f="oculus go;oculus touch;xr-standard;gear vr;daydream;vive;vive focus;microsoft;unknown".split(";"),p={};p["oculus go"]=new l("Oculus Go",["trackpad","trigger"],"trigger");p["oculus touch"]=new l("Oculus Touch","thumbstick trigger grip abutton bbutton surface".split(" "),"trigger");p["xr-standard"]=new l("xr-standard","trigger grip unknow_button_0 thumbstick abutton bbutton unknow_button".split(" "),
"trigger");p["gear vr"]=new l("Gear VR",["trackpad","trigger"],"trigger");p.daydream=new l("Daydream Controller",["trackpad","menu","system"],"trackpad");p.vive=new l("OpenVR",["trackpad","trigger","grip","menu","system"],"trigger");p["vive focus"]=new l("HTC Vive Focus",["trackpad","trigger","grip"],"trigger");p.microsoft=new l("Spatial Controller (Spatial Interaction Source)",["thumbstick","trigger","grip","menu","thumbpad"],"trigger");p.unknown=new l("",[],void 0);e.prototype.nFa=function(w){if(this.sk=
w){this.MQa=this.sk.hand||this.sk.L$a;this.sk.pose&&this.sk.pose.orientation?(this.Kz=this.sk.pose,this.Kz.orientation&&(this.Lk=this.JD[0]==this.Lk?this.JD[1]:this.JD[0],this.Lk.fromArray(this.Kz.orientation)),this.Kz.position?(this.bb=this.ai[0]==this.bb?this.ai[1]:this.ai[0],this.bb.fromArray(this.Kz.position)):this.bb=null):this.sk.EBa&&(this.Kz=this.sk.EBa.transform,this.Lk=this.JD[0]==this.Lk?this.JD[1]:this.JD[0],this.Lk.copy(this.Kz.orientation),this.bb=this.ai[0]==this.bb?this.ai[1]:this.ai[0],
this.bb.copy(this.Kz.position));w=0;for(var x=Math.min(this.sk.buttons.length,this.sk.buttons.length);w<x;w++)this.D6[this.fV.buttons[w]]=this.sk.buttons[w].pressed;for(w=this.B6=0;w<this.sk.buttons.length;w++)this.sk.buttons[w].pressed&&this.B6++;(w=!!this.zI!=!!this.bb||this.bb&&this.zI.x!=this.bb.x&&this.zI.y!=this.bb.y&&this.zI.z!=this.bb.z)&&(this.bb?this.zI.copy(this.bb):this.zI.set(0,0,0,0));(x=!!this.FD!=!!this.Lk||this.Lk&&(this.FD.x!=this.Lk.x||this.FD.y!=this.Lk.y||this.FD.z!=this.Lk.z||
this.FD.w!=this.Lk.w))&&(this.Lk?this.FD.copy(this.Lk):this.FD.set(0,0,0));if(w||x)this.ena=c.Ge}};e.prototype.Oga=function(){return!!this.sk};e.prototype.x3a=function(){return 500<c.Ge-this.ena};e.prototype.hand=function(){return this.MQa};e.prototype.quaternion=function(){return this.Lk};e.prototype.position=function(){return this.bb};e.prototype.pressed=function(w){w||(w=this.fV.b5a);return w?this.D6[w]:0<this.B6};var q=new g;q.all=function(){m();return n};q.bk=function(){m();return r};q.Ya="left";
q.qb="right";var n=[],r=null,t={},u=void 0,v=d.gg("disable-controller",!1);return q});define("do",["require","fk","a"],function(a){function e(k,b){this.Yf=k||new l(0,0,0);this.tj=b||new l(1,0,0)}var l=a("fk"),m=a("a");e.prototype.clone=function(){return new e(this.Yf.clone(),this.tj.clone())};e.prototype.apply=function(k){k.zJ(this.Yf);k.zJ(this.tj)};e.prototype.ZAa=function(){return m.qA(this.Yf,this.tj)};return e});
define("is",["require","do","fk"],function(a){function e(k,b,h){this.na=k||100;this.wa=b||100;this.Ta=h||Math.PI;this.Dba=void 0;this.ts=!0}var l=a("do"),m=a("fk");e.prototype.zF=function(k){this.Ta!=k&&(this.Ta=k,this.ts=!0)};e.prototype.Yw=function(){return this.Ta};e.prototype.hT=function(k){this.na!=k&&(this.na=k,this.ts=!0)};e.prototype.He=function(){return this.na};e.prototype.pFa=function(k){this.wa!=k&&(this.wa=k,this.ts=!0)};e.prototype.Xe=function(){return this.wa};e.prototype.project=function(k){if(0!=
k.z){this.Kxa();var b=1/k.z,h=this.Dba*b;k.x=.5*this.na-k.x*h;k.y=.5*this.wa-k.y*h;k.z=b}};e.prototype.unproject=function(k){this.Kxa();return new l(new m(0,0,0),new m(.5*this.na-k.x,.5*this.wa-k.y,this.Dba))};e.prototype.Kxa=function(){this.ts&&(this.Dba=.5*this.na/Math.tan(.5*this.Ta),this.ts=!1)};return e});
define("pm",["require"],function(){function a(){this.xg=this.pitch=this.Qa=0;this.hi=this.Ie=90;this.aR=this.f0=this.height=this.width=100;this.ck=1;this.XE=this.pb=!1;this.Em=0;this.Wfa=this.Sea=this.iha=!1;this.VE=this.BS=!0;this.camera=this.jR=this.iR=this.yg=null;this.enabled=!1;this.Ge=0;this.nT=void 0}a.prototype.clone=function(){var e=new a;e.Qa=this.Qa;e.pitch=this.pitch;e.xg=this.xg;e.Ie=this.Ie;e.hi=this.hi;e.width=this.width;e.height=this.height;e.f0=this.f0;e.aR=this.aR;e.ck=this.ck;e.pb=
this.pb;e.XE=this.XE;e.Em=this.Em;e.iha=this.iha;e.Wfa=this.Wfa;e.Sea=this.Sea;e.BS=this.BS;e.VE=this.VE;e.yg=this.yg;e.iR=this.iR;e.jR=this.jR;e.camera=this.camera;e.enabled=this.enabled;e.Ge=this.Ge;e.nT=this.nT;return e};return a});
define("oV",["require","dK","hJ"],function(a){var e=a("dK"),l=a("hJ");return function(m){var k=1,b=new THREE.WebGLCubeRenderTarget(1024),h=new THREE.CubeCamera(.1,1E4,b);h.layers.enable(e.du);h.layers.enable(e.Ya);b=new THREE.ShaderMaterial;b.uniforms={tCube:{value:h.renderTarget.texture},tFlip:{value:1},opacity:{value:1}};b.fragmentShader="uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n#include <tonemapping_fragment>\n#include <encodings_fragment>\n}";
b.vertexShader="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}\n";b.side=THREE.BackSide;b.depthWrite=!1;b.transparent=!0;b.depthTest=!1;b.needsUpdate=!0;var g=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),b);g.overdraw=!1;g.matrixAutoUpdate=!1;g.renderOrder=1E3;var c=new THREE.Matrix4;this.EF=function(f){k=f};this.start=function(f){f.add(g);
f.add(h);f.traverse(function(p){p.layers.test(h.layers)&&(p.userData.Tga=p.layers.mask,p.layers.mask=h.layers.mask)});h.visible=!0;g.visible=!0;m.setClearColor(16777215,1)};this.stop=function(f){m.setClearColor(0,0);f.traverse(function(p){void 0!==p.userData.Tga&&(p.layers.mask=p.userData.Tga,delete p.userData.Tga)});h.visible=!1;g.visible=!1;f.remove(g);f.remove(h)};var d=0;this.render=function(f,p){0<k&&(g.matrix.copy(p.matrixWorld),g.matrix.multiply(c.makeTranslation(0,0,5*-k)),g.matrixWorldNeedsUpdate=
!0,d++,l.p3a()&&0!=d%10||(l.c6a(),g.visible=!1,h.update(m,f),g.visible=!0))}}});
define("eL","require lh nQ dK oV jv U hJ oA".split(" "),function(a){function e(p){this.L=p;this.Eb=new THREE.PerspectiveCamera(90,16/9,.1,2*h.zg);this.Eb.layers.enable(k.Ya);this.vs=new THREE.PerspectiveCamera;this.Va=new THREE.Scene;this.Rna=new THREE.Scene;this.Sna=new THREE.Scene;this.Va.add(this.Eb);this.fo=this.Wca=this.qV=this.pV=this.j=null;this.yra=this.r7=!1}var l=a("lh"),m=a("nQ"),k=a("dK"),b=a("oV"),h=a("jv"),g=a("U"),c=a("hJ"),d=a("oA");e.prototype.q1a=function(){this.hMa()};e.prototype.wA=
function(){return this.j};e.prototype.Ch=function(){return this.Va};e.prototype.getCamera=function(){return this.vs};e.prototype.tr=function(){return d.isPresenting&&d.dh==this.j};e.prototype.A1a=function(){return this.vs.isArrayCamera&&0<this.vs.cameras.length?2*Math.atan2(1,this.vs.cameras[0].projectionMatrix.elements[5])*f:this.vs.fov};e.prototype.getPixelRatio=function(){return this.j?this.j.getPixelRatio():c.getPixelRatio()};e.prototype.D1a=function(){return d.isPresenting&&d.framebufferWidth?
.5*d.framebufferWidth:this.j?this.j.domElement.width:1024};e.prototype.C1a=function(){return d.isPresenting&&d.framebufferHeight?d.framebufferHeight:this.j?this.j.domElement.height:1024};e.prototype.hg=function(){return this.j.domElement};e.prototype.update=function(p){this.uZa(p);this.VYa(p);this.Xq(p)};e.prototype.lfa=function(p){this.j.xt=!0;p=c.L0a(p);var q=new THREE.CubeCamera(this.vs.near,this.vs.far,p);this.Va.add(q);q.position.setFromMatrixPosition(this.vs.matrixWorld);q.update(this.j,this.Va);
this.Va.remove(q);this.j.xt=!1;return p.texture};e.prototype.render=function(){this.VY()};e.prototype.uZa=function(p){p.enabled&&(this.j||this.QWa(p),p.pb&&d.getType()==d.Fu.nl&&(this.yra=!0));this.zwa==p.width&&this.ywa==p.height||this.j.setSize(this.zwa=p.width,this.ywa=p.height);if(this.r7=p.enabled&&!p.pb)this.pV.setSize(p.width,p.height),this.qV.setSize(p.width,p.height)};e.prototype.QWa=function(p){!this.j&&p.enabled&&(this.L.bc.T_(),this.pV=this.L.bc.y1a(),this.j=this.L.bc.wA(),p=this.j.getSize(new THREE.Vector2),
this.zwa=p.width,this.ywa=p.height,this.qV=this.L.bc.z1a(),this.Wca=new b(this.j,this.Eb))};e.prototype.hMa=function(){this.j&&(this.pV=this.j=this.qV=this.fo=null,this.L.bc.D2())};e.prototype.Xq=function(p){p.pb?this.vs=this.j.xr.getCamera():(this.Eb.quaternion.copy(m.kAa(p.Qa,p.pitch,p.xg)),this.Eb.fov=l.rm(p.Ie,p.width,p.height),this.Eb.aspect=p.width/p.height,this.Eb.updateProjectionMatrix(),this.Eb.updateMatrixWorld(),this.vs=this.Eb);g.b6a(this.Va,this.tr()?this.j.xr.getCamera().cameras:[this.Eb]);
!0===this.Va.$$a&&this.Va.updateMatrixWorld()};e.prototype.VYa=function(p){var q=!p.pb&&0<p.Em?this.Wca:null;this.fo!=q&&(this.fo&&this.fo.stop(this.Va),(this.fo=q)&&this.fo.start(this.Va));this.fo&&this.fo==this.Wca&&this.fo.EF(p.Em)};e.prototype.VY=function(){this.yra&&this.j.resetState();this.fo&&this.fo.render(this.Va,this.Eb);this.j.render(this.Va,this.Eb);this.r7&&(this.pV.render(this.Rna,this.Eb),this.qV.render(this.Sna,this.Eb))};var f=180/Math.PI;return e});
define("c","require lE jq fl cx ew U kJ pn".split(" "),function(a){var e=a("lE"),l=a("jq"),m=a("fl"),k=a("cx"),b=a("ew"),h=a("U"),g=a("kJ"),c=a("pn");a=e.extend(l,function(){l.call(this);this.set("tag","ComposedWebGLObject");this.set("webglScene",null);this.set("meshGroup",null);this.set("camera",null);this.set("textureSource",null);this.set("materialConfig",this.R$=new k.Tn);this.ev&&this.ev();this.rC&&this.rC();this.Iy&&this.Iy();this.eo&&this.eo()});a.prototype.Qb=function(){l.prototype.Qb.call(this);
this.zo&&this.zo();this.MN&&this.MN();this.sI&&this.sI()};a.prototype.Tb=function(){this.QH&&this.QH();this.uI&&this.uI();this.Bo&&this.Bo();b.dispose(this.get("meshGroup"));b.au(this.get("meshGroup"),null);this.set("meshGroup",null);l.prototype.Tb.call(this)};a.prototype.ia=function(d){this.sf&&this.sf(d);l.prototype.ia.call(this,d);this.set("camera",h.getCamera(d.yg));this.set("webglScene",d.yg);this.get("meshGroup")||(this.set("meshGroup",b.uza(this.co())),this.get("meshGroup").userData.M4a=this);
this.O("webglScene","meshGroup")&&b.au(this.get("meshGroup"),this.get("webglScene"));this.km();this.Vj&&this.Vj(d);this.HZa();this.Gw&&this.Gw(d);this.To&&this.To(d);this.pE();this.O("loadingActive","meshGroup")&&g.mb(this.get("meshGroup"),this.get("loadingActive"));this.O("blendingActive","meshGroup")&&c.$Ea(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.km=function(){this.O("composedAlpha","meshGroup")&&this.py()};a.prototype.py=function(){b.Ze(this.get("meshGroup"),this.get("composedAlpha"))};
a.prototype.HZa=function(){if(this.O("textureSource")||this.O("materialConfig")&&!this.R$.isEqual(this.get("materialConfig"))){var d=this.sH();d&&(b.W6a(d,this.sM()),this.py())}};a.prototype.pE=function(){if(this.O("index","meshGroup")){var d=this.get("meshGroup");d&&d.children.forEach(function(f,p,q){b.W2(f,this.get("index")+p/q.length)}.bind(this))}};a.prototype.sM=function(){var d=this.get("textureSource")||new m;this.R$=this.get("materialConfig");var f=k.nA(d.texture(),this.R$);g.UK(f,d);return[f]};
a.prototype.Ina=function(){var d=new m,f=k.nA(d.texture());g.UK(f,d);return[f]};a.prototype.wv=function(d){return b.Y1a(this.get("meshGroup"),d)};return a});
define("os","require ik jv ew kF kJ lh nQ nk".split(" "),function(a){var e=a("ik"),l=a("jv"),m=a("ew"),k=a("kF"),b=a("kJ"),h=a("lh"),g=a("nQ"),c=a("nk"),d=new THREE.Matrix4,f=Math.PI/180;return{ev:function(){this.set("distance",void 0);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("hfov",void 0);this.set("vfov",null);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.set("attachToCamera",!1);this.Rg=this.Hy();this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.Ao=new THREE.Matrix4;this.Wm=new THREE.Matrix4;this.lj=new THREE.Matrix4;this.q6=new THREE.Matrix4;this.Ama=new THREE.Quaternion;this.Cna=new THREE.Matrix4;this.cM=new THREE.Matrix4;this.oM=new THREE.Matrix4;this.wy=new THREE.Matrix4;this.Qh=new THREE.Matrix4},Gw:function(p){this.Zq(p);this.kea()},kea:function(){if(this.O("hfov",
"vfov","contentWidth","contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var p=k.lga(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign"));p=l.EFa(this.Rg[1],p.sT,p.zT,p.Fx,p.Hx);this.Rg[1]!=p&&(this.Rg[1]=p,(p=this.sH())&&m.wia(p,this.Rg[1]))}},sH:function(){var p=this.get("meshGroup");return p?m.Yk(p)[1]:null},co:function(){return[0,
1].map(function(p){var q=0==p?this.Ina():this.sM();p=m.create(this.Rg[p],q);b.wx(p,b.Dp);b.xx(p,b.Yr);b.AF(p,e.BL);b.fT(p,1);return p}.bind(this))},Hy:function(){return[l.HJ(),l.HJ()]},Zq:function(p){var q=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*l.zg,.5*this.get("composedTranslationY")*l.zg,.5*this.get("composedTranslationZ")*l.zg),q=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Ld.makeRotationY(-p.Qa*f),this.Ld.multiply(d.makeRotationX(-this.get("composedDeltaPitch")*f)),this.Ld.multiply(d.makeRotationY(this.get("composedDeltaYaw")*f)),this.Ld.multiply(d.makeRotationY(p.Qa*f)),q=!0);this.O("yaw","pitch")&&(this.Ao.makeRotationY(-this.get("yaw")*f),this.Ao.multiply(d.makeRotationX(this.get("pitch")*f)),q=!0);if(this.O("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX",
"composedTranslationY","composedTranslationZ")){var n=0==this.oa.get("composedTranslationX")&&0==this.oa.get("composedTranslationY")&&0==this.oa.get("composedTranslationZ")&&void 0!==this.get("distance")?l.Jt(this.get("distance")):l.pr();this.Wm.makeTranslation(0,0,-n);var r=this.get("contentWidth"),t=this.get("contentHeight"),u=this.get("hfov"),v=this.get("vfov")||h.rm(u,r,t),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),z=this.get("panoramaPixelsPerDegree");
q=this.get("horizontalAlign")||c.Oe;var E=this.get("verticalAlign")||c.le;r=k.lga(u,v,r,t,y,z,q,E);u=w*l.mga(n,u);v=x*l.nga(n,v);this.cM.makeScale(u,v,1);w*=l.mga(n,r.Ie);n=x*l.nga(n,r.Pr);this.oM.makeScale(w,n,1);this.Cna.makeTranslation(q==c.Ya?.5*-(u-w):q==c.qb?.5*(u-w):0,E==c.yc?.5*(v-n):E==c.rc?.5*-(v-n):0,0);q=!0}this.O("rotationX","rotationY","rotationZ","roll")&&(this.lj.makeRotationZ(this.get("roll")*f),this.lj.multiply(d.makeRotationY(this.get("rotationY")*f)),this.lj.multiply(d.makeRotationX(this.get("rotationX")*
f)),this.lj.multiply(d.makeRotationZ(this.get("rotationZ")*f)),q=!0);this.set("cameraYaw",p.Qa);this.set("cameraPitch",p.pitch);this.set("cameraRoll",p.xg);this.get("attachToCamera")&&this.O("cameraYaw","cameraPitch","cameraRoll")?(this.Ama.copy(g.kAa(p.Qa,p.pitch,p.xg)),this.q6.makeRotationFromQuaternion(this.Ama),q=!0):this.O("attachToCamera")&&(this.q6.identity(),q=!0);if(q||this.O("meshGroup"))this.Qh.copy(this.yh),this.Qh.multiply(this.Ld),this.Qh.multiply(this.q6),this.Qh.multiply(this.Ao),
this.Qh.multiply(this.Wm),this.Qh.multiply(this.lj),this.wy.copy(this.Qh),this.wy.multiply(this.cM),this.Qh.multiply(this.Cna),this.Qh.multiply(this.oM),p=m.Yk(this.get("meshGroup")),m.hr(p[0],this.wy),m.hr(p[1],this.Qh)}}});define("jN",["require","lE","c","os"],function(a){var e=a("lE"),l=a("c");a=a("os");return e.extend(l,a,function(){l.call(this);this.set("tag","Plane")})});
define("hU","require lE kS pf nU jN ne oy nE eH lF".split(" "),function(a){function e(n,r,t,u,v,w){for(n=(n-r)/w;t+180<u;)u-=360;for(;t-180>u;)u+=360;t=(t-u)/w;return t=-.1>n||.1<n?l(v,t,Math.abs(1/(1500*n))):l(v,t,.08)}function l(n,r,t){n=(r-n)*(1-t);1E-5>Math.abs(n)&&(n=0);return r-n}var m=a("lE"),k=a("kS"),b=a("pf"),h=a("nU"),g=a("jN"),c=a("ne"),d=a("oy"),f=a("nE"),p=a("eH"),q=a("lF");a=m.extend(g,function(n){g.call(this);this.u=n;this.yk.push(this.u);this.cg=this.cg.bind(this);this.hf=h.Ia("CeilingCapPanoramaOverlay",
this.u)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch","tripod"==this.hf?-90:90);this.fd=!1;this.GD=this.Bba=this.Ss=void 0;this.hUa="tripod"==this.hf?1:-1;this.qk=this.Kk=this.Tg=null});a.prototype.Qb=function(){g.prototype.Qb.call(this);this.Tg=(new d(b.Z)).Fm(this.tq.bind(this));this.Kk=(new d(b.lc)).hp(this.oD.bind(this));k.ha(this.u,"angle distance hfov image.levels.url inertia rotate".split(" "),this.cg,!0)};a.prototype.Tb=function(){this.qk&&this.qk.dispose();this.qk=null;this.Tg.dispose();
this.Kk.dispose();k.ba(this.u,"angle distance hfov image.levels.url inertia rotate".split(" "),this.cg);g.prototype.Tb.call(this)};a.prototype.cg=function(){this.set("angle",this.u.get("angle"));this.set("distance",this.u.get("distance"));this.set("hfov",this.u.get("hfov"));var n=f.E1a(this.u,this.get("panoramaPixelsPerDegree"));this.set("imageURL",n&&n.get("url"));this.set("imageWidth",n&&n.get("width"));this.set("imageHeight",n&&n.get("height"));this.set("inertia",this.u.get("inertia"));this.set("rotate",
this.u.get("rotate"))};a.prototype.co=function(){var n=g.prototype.co.call(this);this.Tg.Af(n);this.Kk.Af(n);return n};a.prototype.ia=function(n){this.Rda();this.iJ(n);g.prototype.ia.call(this,n)};a.prototype.Rda=function(){this.O("imageURL")&&this.get("imageURL")&&(this.set("textureSource",new c(this.get("imageURL"))),this.set("contentWidth",this.get("imageWidth")),this.set("contentHeight",this.get("imageHeight")))};a.prototype.tq=function(){this.trigger(b.$c);this.trigger(b.Z)};a.prototype.oD=function(n,
r){var t=0;r.Dt(function(u){(u=r.um(u))&&(t+=u.Mg)});this.trigger(new q(b.lc,t/r.cd.length))};a.prototype.iJ=function(n){this.set("rendererYaw",n.Qa);if(this.O("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.O("rendererYaw")){var r=this.get("angle"),t=this.get("rotate"),u=this.get("inertia"),v=this.hUa*n.Qa;t&&(r+=v);var w=0,x=r-v;void 0!==this.Ss&&(u&&(t?(w=e(v,this.GD,r,this.Ss,this.Bba,n.Ge),r=this.Ss+w*n.Ge):(w=e(v,this.GD,x,this.nua,this.Bba,n.Ge),x=this.nua+w*n.Ge,
r=x+v)),this.Ss!=r&&this.Da());this.nua=x;this.Ss=r;this.Bba=w;this.GD=v;this.set("rotationZ",-r)}};a.prototype.Bm=function(n){if(n.nf==b.rl){var r=!n.Wk()&&this.Tq(n);r&&(n.hA(this.u),this.u.get("useHandCursor")&&n.vE(this.u),n.Vk(this.get("distance")));this.fd!=r&&(this.fd=r,this.u.trigger(this.fd?b.ad:b.Xb),n.Rt()&&this.u.trigger(this.fd?b.CB:b.Fp))}else n.nf==b.Pf&&!n.Wk()&&this.Tq(n)&&(1<this.u.YJ(b.qa,!0).length&&n.Jr(this.u),n.Vk(this.get("distance")),this.u.trigger(b.qa))};a.prototype.Tq=
function(n){return this.wv(n.Mq).some(function(r){var t=this.qPa();return t&&t.Cx(r.x,r.y)}.bind(this))};a.prototype.qPa=function(){if(this.qk)return this.qk;var n=this.get("textureSource");if(n=n&&n.wf())this.qk=new p(n);return this.qk};return a});
define("kr","require lE pf lg jq oA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("lg"),k=a("jq"),b=a("oA");a=e.extend(k,function(){k.call(this);this.yh=new THREE.Matrix4;this.Zxa=!1;this.Ai=new THREE.Matrix4;this.og=null;this.cm=new THREE.Matrix4;this.mP=this.ZO=0;this.TL=.75;this.CM=.5;this.Fs=4;this.V$=0;this.Gs=-2;this.pq=3;this.gX=0;this.BC=7;this.TO=this.Gz=1;this.SN=.15;this.CC=this.yD=0;this.zW=this.HY=m.W;this.TZ=this.NZ=1E3});var h=Math.PI/180,g=new THREE.Matrix4;a.prototype.Qm=function(){};
a.prototype.Qb=function(){k.prototype.Qb.call(this);this.trigger(l.$c);this.trigger(l.Z)};a.prototype.Tb=function(){this.O6()};a.prototype.Bk=function(){this.Qm();this.oP()};a.prototype.Ck=function(){this.Da()};a.prototype.oP=function(){this.og&&(this.O6(),this.Lna())};a.prototype.nV=function(){};a.prototype.Lna=function(){this.ZUa();this.og=new THREE.Group;for(var c=this.zW==m.Y,d=this.yD,f=this.CC;0<f+d;){var p=Math.random()*(f+d)<=f;p?f--:d--;var q=this.nV();q.matrixAutoUpdate=!1;q.overdraw=!1;
q.material.opacity=0;q.userData={g1a:p,FK:new THREE.Matrix4,Eya:new THREE.Matrix4,cia:new THREE.Matrix4,y:void 0,EHa:void 0,MA:c};this.og.add(q);c&&this.eca(q,this.Gs,this.pq);this.XUa(q)}this.ZO=c?this.og.children.length:0;this.Jea.add(this.og);this.zma()};a.prototype.O6=function(){if(this.og){this.og.parent&&this.og.parent.remove(this.og);for(var c=0,d=this.og&&this.og.children.length;c<d;c++)this.og.children[c].material.dispose();this.og=null;this.mP=0}};a.prototype.ZUa=function(){this.cm=(new THREE.Matrix4).makeScale(this.Gz,
this.Gz,this.Gz)};a.prototype.eca=function(c,d,f){d+=Math.random()*(f-d);if(c.userData.g1a){f=this.BC;var p=360*Math.random()*h;c.userData.FK.makeTranslation(f*Math.cos(p),d,f*Math.sin(p))}else f=2*Math.random()*Math.PI,p=this.V$+(this.Fs-this.V$)*Math.sqrt(Math.random()),c.userData.FK.makeTranslation(p*Math.cos(f),d,p*Math.sin(f));c.userData.FK.multiply(this.cm);c.userData.y=d};a.prototype.XUa=function(c){var d=this.SN+Math.random()*(this.gD-this.SN);do var f=Math.random()*this.gX;while(80<f&&100>
f);var p=360*Math.random(),q=Math.sin(p*h)*Math.sin(f*h)*d,n=-Math.cos(f*h)*d;d*=Math.cos(p*h)*Math.sin(f*h);c.userData.EHa=n*this.Gz;c.userData.Eya.makeTranslation(q,n,d);c.userData.cia.makeRotationY(p*h);c.userData.cia.multiply(g.makeRotationX(-f*h))};a.prototype.ia=function(c){k.prototype.ia.call(this,c);this.LYa(c);this.Jea=c.yg;this.Jea!=(this.og&&this.og.parent)?(this.O6(),this.Jea&&this.Lna()):this.O("index")&&this.zma();this.nZa(c)};a.prototype.LYa=function(c){c=c.pb&&b.getType()==b.Fu.nl;
c!=this.kqa&&(this.kqa=c)&&setTimeout(function(){this.og&&this.oP()}.bind(this),0)};a.prototype.nZa=function(c){if(this.og){this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Zxa=0!=this.get("composedTranslationX")||0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"),this.yh.makeTranslation(-this.get("composedTranslationX")*this.Fs,this.get("composedTranslationY")*this.Fs,this.get("composedTranslationZ")*this.Fs));var d=this.HY==m.Y,f=this.og.children,
p=f.length,q=d?Math.round(p*c.Ge/this.NZ):0;if(0<this.ZO+q){this.mP=d?0:Math.min(this.ZO,this.mP+Math.round(p*c.Ge/this.TZ));c=this.get("composedAlpha");for(d=0;d<p;d++){var n=f[d];if(!n.userData.MA)if(0<q)q--,n.userData.MA=!0,this.ZO++,this.eca(n,this.pq,this.pq+(this.pq-this.Gs));else continue;n.userData.FK.multiply(n.userData.Eya);n.userData.y+=n.userData.EHa;if(n.userData.y<this.Gs||n.userData.y>this.pq){if(0<this.mP){this.mP--;n.userData.MA=!1;this.ZO--;n.material.opacity=0;continue}var r=n.userData.y<
this.Gs?this.pq:this.Gs;this.eca(n,r,r)}r=c;n.userData.y<this.Gs+this.CM?r*=(n.userData.y-this.Gs)/this.CM:n.userData.y>this.pq-this.TL&&(r*=(this.pq-n.userData.y)/this.TL);n.material.opacity=r*this.TO;this.Zxa?(n.matrix.copy(this.yh),n.matrix.multiply(n.userData.FK)):n.matrix.copy(n.userData.FK);n.matrix.multiply(n.userData.cia);n.matrixWorldNeedsUpdate=!0}this.Da()}}};a.prototype.zma=function(){if(this.og)for(var c=this.get("index"),d=0;d<this.og.children.length;d++)this.og.children[d].renderOrder=
c};return a});
define("iX","require lE kS lg kr nW v".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("lg"),k=a("kr"),b=a("nW"),h=a("v");a=e.extend(k,function(c){k.call(this);this.u=c;this.Bk=this.Bk.bind(this);this.Ck=this.Ck.bind(this);this.Qm()});a.prototype.Qb=function(){k.prototype.Qb.call(this);this.u.set("state",this.u.get("startState"));l.ha(this.u,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.Bk,
!0);l.ha(this.u,["state"],this.Ck,!0)};a.prototype.Tb=function(){l.ba(this.u,"color intensity speed opacity distance maxDistance farPlaneDistance minSpeed maxSpeed particleCount farPlaneParticleCount particleScale".split(" "),this.Bk);l.ba(this.u,["state"],this.Ck);this.u.set("state",m.W);k.prototype.Tb.call(this)};a.prototype.Bk=function(){this.Qm();this.oP()};a.prototype.Ck=function(){this.HY=this.u.get("state");this.Da()};a.prototype.Qm=function(){k.prototype.Qm.call(this);var c=h.lb()||h.browser()==
h.Sr?2500:h.yf()?4E3:5E3;this.SN=this.gD=.2*this.u.get("speed",.2);this.Fs=14.5*this.u.get("distance",.5)+.5;this.TO=1*this.u.get("opacity",.1);this.Gz=.036;this.yD=this.u.get("intensity",.1)*c;this.Mc=b.Ar(this.u.get("color","#ffffff"));this.CC=0;this.BC=15;this.zW=this.u.get("initialState");this.NZ=this.u.get("startDuration");this.TZ=this.u.get("stopDuration");this.TL=.75;this.CM=.5;this.Gs=-2;this.pq=4;this.gX=180;this.roa()};a.prototype.nV=function(){return new THREE.Sprite(this.fv())};a.prototype.fv=
function(){var c=new THREE.SpriteMaterial;c.map=this.Yp();c.side=THREE.FrontSide;c.transparent=!0;c.depthTest=!1;c.needsUpdate=!0;return c};a.prototype.Yp=function(){if(this.Fa)return this.Fa;var c=document.createElement("canvas");c.width=c.height=g;this.Fa=new THREE.Texture;this.Fa.encoding=THREE.sRGBEncoding;this.Fa.image=c;this.Fa.needsUpdate=!0;this.roa();return this.Fa};a.prototype.roa=function(){if(this.Fa){var c=this.Fa.image,d=c.getContext("2d"),f=d.createRadialGradient(.5*c.width,.5*c.height,
.2*c.height,.5*c.width,.5*c.height,.5*c.height);f.addColorStop(0,"rgba("+this.Mc[0]+", "+this.Mc[1]+", "+this.Mc[2]+", 1)");f.addColorStop(1,"rgba("+this.Mc[0]+", "+this.Mc[1]+", "+this.Mc[2]+", 0)");d.fillStyle=f;d.clearRect(0,0,c.width,c.height);d.fillRect(0,0,c.width,c.height);this.Fa.needsUpdate=!0}};var g=32;return a});
define("pb","require lE ik jv ew kF kJ nk".split(" "),function(a){a("lE");var e=a("ik"),l=a("jv"),m=a("ew"),k=a("kF"),b=a("kJ"),h=a("nk"),g=new THREE.Matrix4,c=Math.PI/180;return{ev:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("rotationZ",0);this.set("contentWidth",100);this.set("contentHeight",100);this.set("scale",1);this.set("scaleMode",
null);this.set("horizontalAlign",null);this.set("verticalAlign",null);this.Rg=this.Hy();this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.Ao=new THREE.Matrix4;this.Wm=new THREE.Matrix4;this.NG=new THREE.Matrix4;this.MI=new THREE.Matrix4;this.Ima=new THREE.Matrix4;this.lj=new THREE.Matrix4;this.Fna=new THREE.Matrix4;this.cM=new THREE.Matrix4;this.oM=new THREE.Matrix4;this.wy=new THREE.Matrix4;this.Qh=new THREE.Matrix4;this.PG=new THREE.Matrix4;this.gC=new THREE.Vector3},Gw:function(d){this.Zq(d);
this.kea()},kea:function(){if(this.O("width","height","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign")){var d=k.Q0(this.get("width"),this.get("height"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"));d=l.EFa(this.Rg[1],d.sT,d.zT,d.Fx,d.Hx);this.Rg[1]!=d&&(this.Rg[1]=d,(d=this.sH())&&m.wia(d,this.Rg[1]))}},sH:function(){var d=this.get("meshGroup");return d?m.Yk(d)[1]:null},co:function(){return[0,
1].map(function(d){var f=0==d?this.Ina():this.sM();d=m.create(this.Rg[d],f);b.wx(d,b.Dp);b.xx(d,b.Yr);b.AF(d,e.BL);b.fT(d,1);return d}.bind(this))},Hy:function(){return[l.HJ(),l.HJ()]},Zq:function(d){var f=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*l.zg,.5*this.get("composedTranslationY")*l.zg,.5*this.get("composedTranslationZ")*l.zg),f=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&
(this.Ld.makeRotationY(-d.Qa*c),this.Ld.multiply(g.makeRotationX(-this.get("composedDeltaPitch")*c)),this.Ld.multiply(g.makeRotationY(this.get("composedDeltaYaw")*c)),this.Ld.multiply(g.makeRotationY(d.Qa*c)),f=!0);this.O("yaw","pitch")&&(this.Ao.makeRotationY(-this.get("yaw")*c),this.Ao.multiply(g.makeRotationX(this.get("pitch")*c)),f=!0);if(this.O("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var p=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&
0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",p?l.Jt(this.get("distance")):l.pr())}this.O("z")&&(this.Wm.makeTranslation(0,0,-this.get("z")),f=!0);f&&(this.PG.copy(this.yh),this.PG.multiply(this.Ld),this.PG.multiply(this.Ao),this.PG.multiply(this.Wm));p=!1;this.set("rendererYaw",d.Qa);this.set("rendererPitch",d.pitch);this.set("rendererRoll",d.xg);this.set("rendererCameraFOV",d.hi);this.set("rendererWidth",d.width);this.set("rendererHeight",d.height);d.hi&&this.O("z",
"rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(d.hi*c*.5)*this.get("z")*2);if(d.hi&&(f||this.O("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR"))){if(d.pb)this.NG.copy(this.PG),this.MI.identity();else{p=d.camera;this.NG.copy(p.matrixWorld);this.gC.setFromMatrixPosition(p.matrixWorld);this.gC.applyMatrix4(this.PG);this.gC.applyMatrix4(p.matrixWorldInverse);var q=-10,n=-10;0>this.gC.z&&(this.gC.applyMatrix4(p.projectionMatrix),
q=.5*this.gC.x,n=.5*this.gC.y);var r=this.get("rendererHeightZ");this.MI.makeTranslation(q*r*p.aspect,n*r,0)}p=!0}this.O("roll")&&(this.lj.makeRotationZ(this.get("roll")*c),p=!0);if(d.hi&&(f||this.O("rendererHeight","inVR","rendererHeightZ","width","height","contentWidth","contentHeight","scale","scaleMode","horizontalAlign","verticalAlign","flipHorizontally","offsetX","offsetY"))){f=d.pb?1024:d.height;p=this.get("scale")*this.get("rendererHeightZ")/f*(d.pb?2:1);var t=this.get("width");n=this.get("height");
var u=this.get("offsetX");r=this.get("offsetY");var v=this.get("contentWidth"),w=this.get("contentHeight");q=(this.get("flipHorizontally")?-1:1)*p;var x=this.get("scaleMode");d=this.get("horizontalAlign")||h.Oe;f=this.get("verticalAlign")||h.le;x=k.Q0(t,n,v,w,x,d,f);v=q*t;w=p*n;this.cM.makeScale(v,w,1);t=q*(.5*t-u);n=p*(r-.5*n);this.Ima.makeTranslation(t,n,0);q*=x.width;p*=x.height;this.oM.makeScale(q,p,1);this.Fna.makeTranslation((d==h.Ya?.5*-(v-q):d==h.qb?.5*(v-q):0)+t,(f==h.yc?.5*(w-p):f==h.rc?
.5*-(w-p):0)+n,0);p=!0}p&&(this.Qh.copy(this.NG),this.Qh.multiply(this.Wm),this.Qh.multiply(this.MI),this.Qh.multiply(this.lj),this.wy.copy(this.Qh),this.wy.multiply(this.Ima),this.wy.multiply(this.cM),this.Qh.multiply(this.Fna),this.Qh.multiply(this.oM),d=m.Yk(this.get("meshGroup")),m.hr(d[0],this.wy),m.hr(d[1],this.Qh))}}});
define("gq",["require","pf","lg"],function(a){function e(k,b){this.Jd=k;this.tc=b;this.Mb=!1;this.Q5();this.T5();this.qD()}var l=a("pf"),m=a("lg");e.prototype.clear=function(){this.Pba();this.Vba();this.Jd.set("state",m.W);this.tc=this.Jd=null};e.prototype.Bf=function(k){this.Mb!=k&&(this.Mb=k,this.nt())};e.prototype.qD=function(){this.tc.Lc(this.Jd.get("state"))};e.prototype.nO=function(){this.nt()};e.prototype.pO=function(){this.tc.via(this.Jd.get("frameDuration"))};e.prototype.oO=function(){this.tc.jFa("first"==
this.Jd.get("finalFrame"))};e.prototype.lO=function(){this.Jd.trigger(l.Ip)};e.prototype.kO=function(){this.Jd.trigger(l.Bb)};e.prototype.mO=function(){this.Jd.set("state",this.tc.getState())};e.prototype.nt=function(){this.Jd.get("autoplay")&&this.tc.Lc(this.Mb?m.Y:m.W)};e.prototype.Q5=function(){this.Jd.bind(l.D("state"),this.qD,this,!0);this.Jd.bind(l.D("autoplay"),this.nO,this,!0);this.Jd.bind(l.D("frameDuration"),this.pO,this,!0);this.Jd.bind(l.D("finalFrame"),this.oO,this,!0)};e.prototype.Pba=
function(){this.Jd.unbind(l.D("state"),this.qD,this,!0);this.Jd.unbind(l.D("autoplay"),this.nO,this,!0);this.Jd.unbind(l.D("frameDuration"),this.pO,this,!0);this.Jd.unbind(l.D("finalFrame"),this.oO,this,!0)};e.prototype.T5=function(){this.tc.bind(l.Ip,this.lO,this,!0);this.tc.bind(l.Bb,this.kO,this,!0);this.tc.bind(l.se,this.mO,this,!0)};e.prototype.Vba=function(){this.tc.unbind(l.Ip,this.lO,this,!0);this.tc.unbind(l.Bb,this.kO,this,!0);this.tc.unbind(l.se,this.mO,this,!0)};return e});
define("hi","require kS pf lg ik nU cx ew gq fl kJ eH bh".split(" "),function(a){var e=a("kS"),l=a("pf"),m=a("lg"),k=a("ik"),b=a("nU"),h=a("cx"),g=a("ew"),c=a("gq"),d=a("fl"),f=a("kJ"),p=a("eH"),q=a("bh");return{rC:function(){this.set("visible",!1);this.set("inView",!1);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",!1);this.set("projected",!1);this.set("image",null);this.set("level",null);this.set("levelURL",
null);this.set("state",null);this.set("visibleOnStop",!0);this.set("side",void 0);this.set("isVideoTexture",!1);this.FX=this.FX.bind(this);this.IX=this.IX.bind(this);this.qk=this.Ua=this.ao=this.tc=null},Vj:function(){this.Rda();this.rQ();this.tZa()},Rda:function(){if(this.O("level")){var n=this.get("level");this.set("levelURL",n&&n.get("url"))}this.O("image","level","levelURL","projected","premultipliedAlpha")&&(this.mna(),this.Ua=this.get("image"),this.ab=this.get("level"),this.set("textureSource",
new d(this.Ua&&this.ab.get("url"))),this.set("premultipliedAlpha",this.Ua&&this.ab.get("premultipliedAlpha")),this.get("textureSource").y6a(this.get("premultipliedAlpha")),this.vKa(),this.Ua?(this.gKa(),this.jKa()):(this.trigger(l.$c),this.trigger(l.Z)));this.O("textureSource","isVideoTexture")&&(n=this.get("textureSource"))&&n.WS(this.get("isVideoTexture"))},rQ:function(){if(this.O("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var n=new h.Tn;n.lA=this.get("blending");
n.yt=this.get("chromaColor");n.dR=this.get("chromaThreshold");n.cR=this.get("chromaSmoothing");n.premultipliedAlpha=this.get("premultipliedAlpha");n.side=this.get("side");this.set("materialConfig",n)}},tZa:function(){if(this.O("meshGroup","projected","visible")){var n=this.get("projected")&&this.get("visible")?k.e5:k.BL;g.Yk(this.get("meshGroup")).forEach(function(r){f.AF(r,n)}.bind(this))}},km:function(){this.O("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&
0<this.get("composedAlpha")&&(this.get("visibleOnStop")||this.get("state")!=m.W));this.O("composedAlpha","meshGroup","inView")&&g.Ze(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.ao&&this.ao.Bf(this.get("inView"))},FX:function(){this.Ua&&b.Ia("AnimatedImageResource",this.Ua)?this.set("visibleOnStop",this.Ua.get("visibleOnStop")):this.set("visibleOnStop",!0)},IX:function(){this.set("levelURL",this.ab.get("url"))},QH:function(){this.mna()},mna:function(){this.ao&&(this.ao.clear(),
this.ao=null);this.tc&&(this.tc.unbind(l.ca,this.iN,this,!0),this.tc.unbind(l.se,this.hqa,this,!0),this.tc.clear(),this.tc=null);this.qk&&(this.qk.dispose(),this.qk=null);this.get("textureSource")&&(this.Yba(),this.set("textureSource",null));this.Ua&&(this.FUa(),this.Ua=null);this.ab&&(this.IUa(),this.ab=null)},gKa:function(){e.ha(this.Ua,["visibleOnStop"],this.FX,!0)},FUa:function(){e.ba(this.Ua,["visibleOnStop"],this.FX)},jKa:function(){e.ha(this.ab,["url"],this.IX,!0)},IUa:function(){e.ba(this.ab,
["url"],this.IX)},jN:function(){this.Yba();var n=this.get("image");if(b.Ia("AnimatedImageResource",n)){this.tc=new q(this.get("textureSource").wf(),n.get("rowCount",1),n.get("colCount",1),n.get("frameDuration"),n.get("frameCount",n.get("rowCount",1)*n.get("colCount",1)),n.get("repeat"),"first"==n.get("finalFrame"));var r=this.tc.hg();this.tc.bind(l.se,this.hqa,this,!0);this.tc.bind(l.ca,this.iN,this,!0);this.ao=new c(n,this.tc);this.set("visibleOnStop",n.get("visibleOnStop"));this.set("state",this.tc.getState())}else r=
this.get("textureSource").wf(),this.qk=new p(r),this.set("visibleOnStop",!0),this.set("state",null);this.km();this.set("contentWidth",r.width);this.set("contentHeight",r.height);this.get("textureSource").Cm(r);this.trigger(l.$c);this.trigger(l.Z)},iqa:function(){this.Yba();this.trigger(l.$c);this.trigger(l.Z)},hqa:function(){this.set("state",this.tc.getState())},iN:function(){this.get("textureSource").update();this.Da()},vKa:function(){var n=this.get("textureSource");n.bind(l.Z,this.jN,this,!0);n.bind(l.xc,
this.iqa,this,!0)},Yba:function(){var n=this.get("textureSource");n.unbind(l.Z,this.jN,this,!0);n.unbind(l.xc,this.iqa,this,!0)},Y8:function(n){return this.qk&&this.qk.ci==n.source?this.qk.info(n.x,n.y):p.info(n.source,n.x,n.y)}}});
define("pc","require kS pf nU nW bd z".split(" "),function(a){function e(d){d=d.get("mapColor");return"image"==d||"transparent"==d||"any"==d}function l(d){d=d.get("mapColor");return"image"!=d&&"transparent"!=d&&"any"!=d}var m=a("kS"),k=a("pf"),b=a("nU"),h=a("nW"),g=a("bd"),c=new (a("z"));return{Iy:function(){this.set("beamEnabled",!1);this.EX=this.EX.bind(this);this.mW=null;this.BG={};this.ui=[];this.ps=[];this.Cv=null},B6a:function(d){this.Cv!=d&&(this.Qba(),this.Cv=d,this.bma())},To:function(d){this.Oz=
d.Qa;this.Nz=d.pitch},Qba:function(){this.Cv&&m.ba(this.Cv,["areas"],this.EX)},bma:function(){this.Cv&&m.ha(this.Cv,["areas"],this.EX,!0)},sI:function(){this.Qba();this.bma()},uI:function(){this.qva([]);this.Qba()},EX:function(){var d=this.Cv.get("areas",[]);b.Ia("HotspotPanoramaOverlayImage",this.u)||b.Ia("FlatHotspotPanoramaOverlayImage",this.u)||b.Ia("QuadHotspotPanoramaOverlayImage",this.u)?this.mW=d.filter(e):this.mW=d.filter(l);this.mW.forEach(function(f){c.set(f,0)})},Bm:function(d){if(d.nf==
k.rl){var f=this.I8(d);if(0<f.length){d.hA(f);var p=this.VOa(f),q;for(q in p)d.Aya(p[q],q);d.Vk(this.get("distance"));(p=this.Sb(f,d.$E()))&&d.V_(p,this.Zz(d.$E()))}f=this.WOa(d,f);this.qva(f,d.Rt(),d.$E())}else if(d.nf==k.Pf){if(f=this.I8(d),0<f.length){var n=!1;f.forEach(function(r){r.trigger(k.qa);!n&&1<r.YJ(k.qa,!0).length&&(n=!0)});d.Vk(this.get("distance"));n&&d.Jr(f)}}else d.nf==k.jy?(f=this.I8(d),0<f.length&&(n=!1,f.forEach(function(r){var t={};d.Rt()&&(t=d.Vt().LAa());r.trigger(k.kb,t);!n&&
1<r.YJ(k.kb,!0).length&&(n=!0)}),this.ps=f,d.Vk(this.get("distance")),n&&d.Jr(f))):d.nf==k.kG&&this.ps.length&&(this.ps.forEach(function(r){var t={};d.Rt()&&(t=d.Vt().LAa());r.trigger(k.Hb,t)}),this.ps=[])},WOa:function(d,f){if(!d.Nga())return this.BG={},f;d=d.zqa?"main":"secondary";this.BG[d]=f;f=[];for(d in this.BG)for(var p=0;p<this.BG[d].length;p++)0>f.indexOf(this.BG[d][p])&&f.push(this.BG[d][p]);return f},I8:function(d){if(!this.get("beamEnabled")||0==this.get("alpha")||d.Wk())return[];var f=
this.wv(d.Mq);return 0==f.length?[]:this.mW.filter(function(p){var q=p.get("mapColor");return"any"==q?!0:"image"==q?f.some(function(n){return this.Y8(n).Cx}.bind(this)):"transparent"==q?f.every(function(n){return!this.Y8(n).Cx}.bind(this)):q&&"#"==q[0]?f.some(function(n){return 10>h.O0(this.Y8(n).color,q)}.bind(this)):!1}.bind(this))},qva:function(d,f,p){this.ui.forEach(function(n){if(0>d.indexOf(n)){var r=c.get(n)-1;c.set(n,r);0==r&&(n.trigger(k.Xb,{center:p}),f&&n.trigger(k.Fp))}});var q=this.ui;
this.ui=d;this.ui.forEach(function(n){if(0>q.indexOf(n)){var r=(c.get(n)||0)+1;c.set(n,r);1==r&&(n.trigger(k.ad,{center:p}),f&&n.trigger(k.CB))}})},Sb:function(d,f){for(var p="",q=d.length-1;0<=q&&""==p;q--){var n=d[q];if(!f||n.get("displayTooltipInTouchScreens")&&!1!==this.Ea.L.get("displayTooltipInTouchScreens"))p=n.get("toolTip","")}return p},Zz:function(d){if(d){d=this.get("yaw")-this.Oz;var f=this.get("pitch")-this.Nz;return Math.sqrt(d*d+f*f)}return 0},VOa:function(d){var f={};!0===this.Cv.get("useHandCursor")?
f[g.ye]=d:!1!==this.Cv.get("useHandCursor")&&d.forEach(function(p){var q;(q=p.get("useHandCursor")?g.ye:p.get("cursor"))&&(f[q]?f[q].push(p):f[q]=[p])});return f}}});
define("nT",["require","v","cG"],function(a){function e(){this.ai=void 0;this.DH=this.BD=0;this.xa=!0;this.eV=this.nda=this.E8=void 0;this.Mb=!1}var l=a("v"),m=a("cG"),k=Math.PI/180,b=l.browser()==l.ni?[-.5,0]:[0,0];e.prototype.UA=function(h){this.ai!=h&&(this.ai=h,this.xa=!0)};e.prototype.TA=function(h){if(h<this.BD+b[0]||h>this.BD+b[1])this.BD=h,this.xa=!0};e.prototype.get=function(h,g){void 0!==g||(g=!0);this.xa&&(this.ia(),this.xa=!1);var c=this.E8.get(h)||0;h=(this.nda.get(h)||0)-c;g&&(180<h?
h-=360:-180>h&&(h+=360));return c+h*this.eV};e.prototype.kga=function(){this.xa&&(this.ia(),this.xa=!1);for(var h=this.E8.get("vertices"),g=this.nda.get("vertices"),c=[],d=0;d<h.length;d++){var f=h[d].get("yaw")||0,p=(g[d].get("yaw")||0)-f;180<p?p-=360:-180>p&&(p+=360);var q=h[d].get("pitch")||0,n=(g[d].get("pitch")||0)-q;c.push(new m(f+p*this.eV,q+n*this.eV))}h=this.EN&&this.EN.length==c.length;for(d=0;d<c.length&&h;d++)h=this.EN[d].get("yaw")==c[d].get("yaw")||this.EN[d].get("pitch")==c[d].get("pitch");
return h?this.EN:this.EN=c};e.prototype.Zk=function(){return this.get("opacity",!1)};e.prototype.QE=function(){var h=this.get("hfov")||this.get("vfov"),g=this.ai[0].get("hfov")||this.ai[0].get("vfov");return Math.tan(.5*h*k)/Math.tan(.5*g*k)};e.prototype.ia=function(){for(var h=this.DH,g,c=this.ai.length-1,d,f;;){g=Math.min(h+1,c);d=this.Vpa(h);f=this.Vpa(g);if(d<=this.BD&&this.BD<=f)break;if(d>this.BD){if(0==h){g=h;break}--h}else{if(h==c){g=h;break}h+=1}}this.E8=this.ai[h];this.nda=this.ai[g];h=
f-d;this.eV=0<h?(this.BD-d)/h:0};e.prototype.Vpa=function(h){return this.ai[h].get("timestamp")};return e});
define("cj",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),this.Wd,!0)},Bo:function(){e.ba(this.u,"horizontalAlign verticalAlign scale scaleMode width height offsetX offsetY distance playbackPositions".split(" "),
this.Wd)},Wd:function(){this.set("horizontalAlign",this.u.get("horizontalAlign"));this.set("verticalAlign",this.u.get("verticalAlign"));this.set("scale",this.u.get("scale"));this.set("scaleMode",this.u.get("scaleMode"));this.set("width",this.u.get("width"));this.set("height",this.u.get("height"));this.set("offsetX",this.u.get("offsetX",.5*this.u.get("width")));this.set("offsetY",this.u.get("offsetY",.5*this.u.get("height")));this.set("distance",this.u.get("distance"));this.set("playbackPositions",
this.u.get("playbackPositions"))},sf:function(){this.O("playbackPositions","currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("yaw",this.tb.get("yaw")),this.set("pitch",this.tb.get("pitch")),this.set("roll",this.tb.get("roll")),this.set("alpha",this.tb.Zk()))}}});
define("kb","require lE kS pf ew c pb hi pc cj nE".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("ew"),b=a("c"),h=a("pb"),g=a("hi"),c=a("pc"),d=a("cj"),f=a("nE"),p=0;a=e.extend(b,h,d,g,c,function(q){b.call(this);this.set("tag","FlatHotspotImage");this.set("id","flat_hs_image_"+p++);this.u=q;this.yk.push(this.u);this.cg=this.cg.bind(this)});a.prototype.Qb=function(){b.prototype.Qb.call(this);l.ha(this.u,["image.levels"],this.cg,!0)};a.prototype.Tb=function(){l.ba(this.u,["image.levels"],
this.cg);b.prototype.Tb.call(this)};a.prototype.cg=function(){this.set("image",this.u.get("image"));this.set("level",f.P1a(this.u))};a.prototype.ia=function(q){this.lE();b.prototype.ia.call(this,q);this.O("inView")&&this.u.trigger(this.get("inView")?m.bd:m.Tc)};a.prototype.lE=function(){if(this.O("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){k.setAttribute(n,k.fB,this.get("panoramaId"));k.setAttribute(n,k.K3,this.get("id"))}.bind(this))}};return a});
define("bA",["require","pf","U"],function(a){var e=a("pf"),l=a("U");a={Mda:function(f){if(this.Ea){var p=this.APa(f);p?(f=this.xpa(this).some(function(q){return p.intersectsObject(q)}),this.tca(f)):this.tca(!1)}},xpa:function(f){var p=f.get("meshGroup"),q=[];p&&p.traverse(function(n){n.geometry&&n.visible&&(Array.isArray(n.material)?n.material.some(function(r){return 0<r.opacity}):0<n.material.opacity)&&q.push(n)});f.jb().forEach(function(n){q=q.concat(this.xpa(n))}.bind(this));return q}};var m=new THREE.Frustum,
k=new THREE.PerspectiveCamera,b=90,h=.5,g=new THREE.Matrix4,c=Math.PI/180,d=180/Math.PI;a.APa=function(f){f=l.getCamera(f.yg);if(!f)return null;var p=this.Ea.L.get("focusAreaScale");if(!k.projectionMatrix.equals(f.projectionMatrix)||!k.matrixWorldInverse.equals(f.matrixWorldInverse)||b!=f.fov||h!=p){k.copy(f);var q=.5*k.fov*c;k.fov=2*Math.atan2(h*Math.sin(q),Math.cos(q))*d;k.updateProjectionMatrix();m.setFromProjectionMatrix(g.copy(k.projectionMatrix).multiply(k.matrixWorldInverse));b=f.fov;h=p}return m};
a.v8=function(){this.h$=!1};a.w8=function(){this.tca(!1)};a.sca=function(f){this.Moa=f};a.tca=function(f){this.h$!==f&&(this.h$=f,this.Moa&&this.Moa.trigger(this.h$?e.jIa:e.kIa))};return a});
define("my","require lE kS pf jq bA oy v oH bG lF".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("jq"),b=a("bA"),h=a("oy");a("v");var g=a("oH"),c=a("bG"),d=a("lF");a=e.extend(k,b,function(f){k.call(this);this.u=f;this.yk.push(this.u);this.$X=this.$X.bind(this);this.ZX=this.ZX.bind(this);this.aY=this.aY.bind(this);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Hotspot");this.set("over",!1);this.set("centerOver",!1);this.set("enabled",!0);this.set("visible",
!1);this.set("alpha",0);this.set("inVR",!1);this.set("overlaysEnabled",!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("rollOverDisplay",!1);this.set("loadingActive",!1);this.f6=this.g6=this.Do=this.Zd=this.Gf=null;this.ui=[];this.e6=[];this.nm=null;this.sca(this.u)});a.prototype.Qb=function(){this.Gf=(new h(m.Z)).Fm(this.kD.bind(this));this.Zd=(new h(m.lc)).hp(this.nD.bind(this));this.Do=(new h(m.$c)).Fm(this.ESa.bind(this));
this.g6=(new h(m.ad)).hp(this.xSa.bind(this));this.f6=(new h(m.Xb)).hp(this.wSa.bind(this));k.prototype.Qb.call(this);l.ha(this.u,["items","rollOverItems","maps","rollOverMaps"],this.$X,!0);l.ha(this.u,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.aY,!0);l.ha(this.u,["areas"],this.ZX,!0);this.v8()};a.prototype.Tb=function(){this.w8();this.dJ([],this.ui);this.Gda([],this.e6);this.Gf.dispose();
this.Zd.dispose();this.Do.dispose();this.g6.dispose();this.f6.dispose();l.ba(this.u,["items","rollOverItems","maps","rollOverMaps"],this.$X);l.ba(this.u,"fadeInDuration fadeOutDuration enabledInVR enabledInStandard enabledInSurfaceSelection enabled interactionEnabled centerOverDisplay rollOverDisplay".split(" "),this.aY);l.ba(this.u,["areas"],this.ZX);this.get("visible")&&this.u.trigger(m.Tc);k.prototype.Tb.call(this)};a.prototype.$X=function(){this.set("items",this.Ea.$w(this.u.get("items",[])));
this.set("rollOverItems",this.Ea.$w(this.u.get("rollOverItems",[])));this.set("maps",this.Ea.$w(this.u.get("maps",[])));this.set("rollOverMaps",this.Ea.$w(this.u.get("rollOverMaps",[])));var f=[].concat(this.get("maps"),this.get("items"),this.get("rollOverMaps"),this.get("rollOverItems"));f.forEach(function(p){p.B6a(this.u)}.bind(this));this.get("items").forEach(function(p){p.set("projected",this.u.get("projected"))}.bind(this));this.fh(f);this.Gf.Af(f);this.Zd.Af(f);this.Do.Af(f)};a.prototype.aY=
function(){this.set("fadeInDuration",this.u.get("fadeInDuration"));this.set("fadeOutDuration",this.u.get("fadeOutDuration"));this.set("enabled",this.u.get("enabled",!0));this.set("enabledInVR",this.u.get("enabledInVR"));this.set("enabledInStandard",this.u.get("enabledInStandard",!0));this.set("enabledInSurfaceSelection",this.u.get("enabledInSurfaceSelection",!0));this.set("centerOverDisplay",this.u.get("centerOverDisplay"));this.set("rollOverDisplay",this.u.get("rollOverDisplay",!1));this.set("interactionEnabled",
this.u.get("interactionEnabled",!0))};a.prototype.ZX=function(){var f=this.u.get("areas");this.g6.Af(f);this.f6.Af(f)};a.prototype.ia=function(f){this.km(f);k.prototype.ia.call(this,f);this.ae(f);this.Mda(f)};a.prototype.ae=function(f){this.set("inVR",f.pb);this.set("surfaceSelection",f.nT);this.set("hotspotsEnabled",f.VE);if(this.O("items","rollOverItems","maps","rollOverMaps","over","centerOver","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","surfaceSelection","enabledInSurfaceSelection",
"enabled","interactionEnabled","rollOverDisplay","centerOverDisplay")||this.oa&&this.oa.O("composedAlpha")){var p=f=!1,q=this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(!this.get("surfaceSelection")||this.get("enabledInSurfaceSelection"))&&this.oa&&0<this.oa.get("composedAlpha"),n=this.get("interactionEnabled");q&&(f=this.get("centerOver")&&!this.get("inVR"),p=this.get("over")||f,f=!this.get("rollOverDisplay")&&
!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")||f&&!1!==this.get("centerOverDisplay")&&this.get("rollOverDisplay"));this.get("rollOverItems").forEach(function(w){w.set("visible",p);w.set("beamEnabled",q&&p&&n)});var r=0==this.get("rollOverItems").length;this.get("items").forEach(function(w){w.set("visible",r||!p);w.set("beamEnabled",q&&(r||!p)&&n)});this.get("rollOverMaps").forEach(function(w){w.set("visible",!1);w.set("beamEnabled",q&&p&&n)});var t=0==this.get("rollOverMaps").length;
this.get("maps").forEach(function(w){w.set("visible",!1);w.set("beamEnabled",q&&(t||!p)&&n)});this.set("visible",f)}if(this.O("visible")){f=this.get("alpha");var u=this.get("visible")?1:0,v=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(f-u);this.nm=new g("linear",[new c("alpha",f,u)],Math.max(v,1));this.Da();this.get("visible")?this.u.trigger(m.bd):this.u.trigger(m.Tc)}};a.prototype.km=function(f){this.nm&&(this.nm.Ye()?this.nm=null:(this.nm.Cb(f.Ge),this.set("alpha",
this.nm.fb("alpha"))),this.Da())};a.prototype.kD=function(){this.oj();this.trigger(m.Z)};a.prototype.ESa=function(){this.oj();this.trigger(m.$c)};a.prototype.nD=function(){this.oj()};a.prototype.oj=function(){var f=0;this.Zd.Dt(function(p){var q=0,n;this.Gf.um(p)?q=100:(n=this.Zd.um(p))&&(q=n.Mg);f+=q}.bind(this));this.trigger(new d(m.lc,f/this.Zd.cd.length))};a.prototype.xSa=function(f){f.data.center?this.Gda([f.source],[]):this.dJ([f.source],[])};a.prototype.wSa=function(f){f.data.center?this.Gda([],
[f.source]):this.dJ([],[f.source])};a.prototype.dJ=function(f,p){this.jxa(this.ui,f,p);this.set("over",0<this.ui.length)};a.prototype.Gda=function(f,p){this.jxa(this.e6,f,p);this.set("centerOver",0<this.e6.length)};a.prototype.jxa=function(f,p,q){p||(p=[]);q||(q=[]);q.forEach(function(n){n=f.indexOf(n);0<=n&&f.splice(n,1)});p.forEach(function(n){0>f.indexOf(n)&&f.push(n)})};return a});
define("pr",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Wd,!0)},Bo:function(){e.ba(this.u,"horizontalAlign verticalAlign scale scaleMode distance playbackPositions".split(" "),this.Wd)},Wd:function(){this.set("horizontalAlign",
this.u.get("horizontalAlign"));this.set("verticalAlign",this.u.get("verticalAlign"));this.set("scaleMode",this.u.get("scaleMode"));this.set("distance",this.u.get("distance"));this.set("scale",this.u.get("scale"));this.set("playbackPositions",this.u.get("playbackPositions"))},sf:function(){this.O("playbackPositions","currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("yaw",this.tb.get("yaw")),this.set("pitch",this.tb.get("pitch")),this.set("roll",
this.tb.get("roll")),this.set("rotationX",this.tb.get("rotationX")),this.set("rotationY",this.tb.get("rotationY")),this.set("hfov",this.tb.get("hfov")),this.set("vfov",this.tb.get("vfov")),this.set("alpha",this.tb.Zk()))}}});
define("cc","require lE kS pf ew c os hi pc pr nE".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("ew"),b=a("c"),h=a("os"),g=a("hi"),c=a("pc"),d=a("pr"),f=a("nE"),p=0;a=e.extend(b,h,g,c,d,function(q){b.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+p++);this.set("side",THREE.DoubleSide);this.set("wasInView",!1);this.u=q;this.yk.push(this.u);this.cg=this.cg.bind(this)});a.prototype.Qb=function(){b.prototype.Qb.call(this);l.ha(this.u,["image.levels"],this.cg,!0)};
a.prototype.Tb=function(){l.ba(this.u,["image.levels"],this.cg);b.prototype.Tb.call(this)};a.prototype.cg=function(){this.set("image",this.u.get("image"));this.set("level",f.V1a(this.u,this.get("panoramaPixelsPerDegree")))};a.prototype.ia=function(q){this.lE();b.prototype.ia.call(this,q);this.O("inView")&&(q=this.get("inView"),q!==this.get("wasInView")&&(this.set("wasInView",q),this.u.trigger(q?m.bd:m.Tc)))};a.prototype.lE=function(){if(this.O("meshGroup","panoramaId","id")){var q=this.get("meshGroup");
q&&q.children.forEach(function(n){k.setAttribute(n,k.fB,this.get("panoramaId"));k.setAttribute(n,k.K3,this.get("id"))}.bind(this))}};return a});
define("bu",["require","fk","a"],function(a){function e(k,b,h){this.Yf=k||new l(0,0,0);this.tj=b||new l(1,0,0);this.IA=h||new l(0,1,0)}var l=a("fk"),m=a("a");e.prototype.clone=function(){return new e(this.Yf.clone(),this.tj.clone(),this.IA.clone())};e.prototype.apply=function(k){k.zJ(this.Yf);k.zJ(this.tj);k.zJ(this.IA)};e.prototype.intersection=function(k,b){var h=m.qA(k.Yf,k.tj),g=m.qA(this.Yf,k.Yf),c=m.qA(this.Yf,this.tj);c.l0(m.qA(this.Yf,this.IA));h=h.GE(c);if(!(0==h||b&&0>h))return b=-c.GE(g)/
h,new l(k.Yf.x+(k.tj.x-k.Yf.x)*b,k.Yf.y+(k.tj.y-k.Yf.y)*b,k.Yf.z+(k.tj.z-k.Yf.z)*b)};e.prototype.z2=function(k,b){var h=m.qA(this.Yf,this.tj),g=m.qA(this.Yf,this.IA);k=m.qA(this.Yf,k);var c=h.iga(),d=g.iga();return b?new l(k.GE(h)/(c*c),k.GE(g)/(d*d),0):new l(k.GE(h)/c,k.GE(g)/d,0)};return e});
define("fA","require lh is do fk bu fv mu".split(" "),function(a){var e=a("lh"),l=a("is"),m=a("do"),k=a("fk"),b=a("bu"),h=a("fv"),g=a("mu"),c=Math.PI/180,d=180/Math.PI,f=new h,p=new l,q=new b,n=new k;return{get:function(r,t,u,v,w,x,y,z){r*=c;t*=c;t=new k(Math.sin(-r)*Math.cos(t),Math.sin(t),Math.cos(-r)*Math.cos(t));f.identity();f.rotateY(u*c);f.rotateZ(w*c);f.rotateX(v*c);t.apply(f);return 0<t.z?(p.hT(y),p.pFa(z),p.zF(x*c),p.project(t),t):null},t9a:function(r,t,u){f.identity();f.rotateX(-u.Rc()*
c);f.rotateZ(-u.Xf()*c);f.rotateY(-u.Sc()*c);n.set(r,t,0);r=u.unproject(n).ZAa();r.apply(f);return{Qa:r.Sc()*d,pitch:r.Rc()*d}},hab:function(r,t,u,v,w,x,y,z,E,B,A,D,C,J){J||(J=g.Vx);C||(C=e.rm(D,B,A));D||(D=e.Or(C,B,A));var H=.5*B/Math.tan(.5*D*c),P=H*Math.tan(.5*D*c)*2,W=H*Math.tan(.5*C*c)*2;q.Yf.set(.5*+P,.5*+W,0);q.tj.set(.5*-P,.5*+W,0);q.IA.set(.5*+P,.5*-W,0);f.identity();f.rotateZ(-E*c);f.rotateX(-y*c);f.rotateY(z*c);f.translate(0,0,H);f.rotateZ(-x*c);f.rotateX(-w*c);f.rotateY(-v*c);f.rotateY(u.Sc()*
c);f.rotateZ(u.Xf()*c);f.rotateX(u.Rc()*c);q.apply(f);n.set(r,t,0);w=q.intersection(u.unproject(n));v={x:void 0,y:void 0,xScaled:void 0,yScaled:void 0};w&&0<w.z&&(w=q.z2(w),v.xScaled=v.x=w.x/P,v.yScaled=v.y=w.y/W);if(J!=g.Vx){switch(J){case g.Kh:var U=Math.min(e.Or(C,B,A),D);var S=Math.min(e.rm(D,B,A),C);break;case g.Ur:U=Math.max(e.Or(C,B,A),D);S=Math.max(e.rm(D,B,A),C);break;case g.Cp:U=D;S=e.rm(D,B,A);break;case g.kk:U=e.Or(C,B,A),S=C}if(U!=D||S!=C)P=H*Math.tan(.5*U*c)*2,W=H*Math.tan(.5*S*c)*2,
q.Yf.set(.5*+P,.5*+W,0),q.tj.set(.5*-P,.5*+W,0),q.IA.set(.5*+P,.5*-W,0),q.apply(f),n.set(r,t,0),(w=q.intersection(u.unproject(n)))&&0<w.z&&(w=q.z2(w),v.xScaled=w.x/P,v.yScaled=w.y/W)}return v},H$a:function(r,t,u,v,w,x,y){y=.5*w/Math.tan(.5*y*c);q.Yf.set(.5*+w,.5*+x,y);q.tj.set(.5*-w,.5*+x,y);q.IA.set(.5*+w,.5*-x,y);f.identity();f.rotateZ(-v*c);f.rotateX(-u*c);f.rotateY(-t*c);f.rotateY(r.Sc()*c);f.rotateZ(r.Xf()*c);f.rotateX(r.Rc()*c);q.apply(f);r=new m(new k(0,0,0),new k(0,0,1));return(r=q.intersection(r))&&
0<r.z?(r=q.z2(r),{x:r.x/w,y:r.y/x}):null}}});
define("ee",["require","ik","jv","ew","kJ"],function(a){var e=a("ik"),l=a("jv"),m=a("ew"),k=a("kJ"),b=Math.PI/180;return{ev:function(){this.set("distance",void 0);this.set("width",100);this.set("height",100);this.set("offsetX",void 0);this.set("offsetY",void 0);this.set("centerX",0);this.set("centerY",0);this.set("roll",0);this.Rg=this.Hy();this.GC=l.HJ();this.Wm=new THREE.Matrix4;this.NG=new THREE.Matrix4;this.MI=new THREE.Matrix4;this.Hra=new THREE.Matrix4;this.lj=new THREE.Matrix4;this.cm=new THREE.Matrix4;
this.Ai=new THREE.Matrix4},Gw:function(h){this.Zq(h)},sH:function(){var h=this.get("meshGroup");return h?m.Yk(h)[0]:null},co:function(){return[0].map(function(h){var g=this.sM();h=m.create(this.Rg[h],g);k.wx(h,k.Dp);k.xx(h,k.Yr);k.AF(h,e.BL);k.fT(h,1);return h}.bind(this))},Hy:function(){return[l.HJ()]},Zq:function(h){var g=!1,c=!1;this.set("rendererYaw",h.Qa);this.set("rendererPitch",h.pitch);this.set("rendererRoll",h.xg);this.set("rendererCameraFOV",h.hi);this.set("rendererWidth",h.width);this.set("rendererHeight",
h.height);this.set("inVR",h.pb);if(this.O("distance","composedTranslationX","composedTranslationY","composedTranslationZ")){var d=0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&void 0!==this.get("distance");this.set("z",d?l.Jt(this.get("distance")):l.pr())}this.O("z")&&(this.Wm.makeTranslation(0,0,-this.get("z")),c=!0);h.hi&&this.O("z","rendererCameraFOV")&&this.set("rendererHeightZ",Math.tan(h.hi*b*.5)*this.get("z")*2);h.camera&&this.O("rendererYaw",
"rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")&&(this.NG.copy(h.camera.matrixWorld),g=this.get("rendererHeightZ"),d=g*h.camera.aspect,d=(this.get("centerX")-.5*h.width)*d/h.width*.5,g=(.5*h.height-this.get("centerY"))*g/h.height*.5,this.MI.makeTranslation(d,g,0),g=!0);this.O("roll")&&(this.lj.makeRotationZ(this.get("roll")*b),g=!0);h.hi&&(c||this.O("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally"))&&
(c=h.pb?512/h.height:1,h=(this.get("flipHorizontally")?-1:1)*this.get("width")*c,c*=this.get("height"),this.cm.makeScale(h,c,1),g=!0);this.O("width","height","offsetX","offsetY")&&(h=.5-this.get("offsetX")/this.get("width"),c=this.get("offsetY")/this.get("height")-.5,this.Hra.makeTranslation(h,c,0),g=!0);g&&(this.Ai.copy(this.NG),this.Ai.multiply(this.Wm),this.Ai.multiply(this.MI),this.Ai.multiply(this.lj),this.Ai.multiply(this.cm),this.Ai.multiply(this.Hra),m.hr(this.get("meshGroup"),this.Ai))}}});
define("kf",["require","lE","c","ee"],function(a){var e=a("lE"),l=a("c");a=a("ee");return e.extend(l,a,function(){l.call(this);this.set("tag","Sprite")})});
define("gU",["require","nW"],function(a){function e(m,k,b,h,g,c){this.Ko=k;this.R=document.createElement("canvas");this.R.width=this.Ko;this.R.height=this.Ko;switch(m){case e.pL:this.bOa(b,h,g,c);break;case e.VT:this.cOa(b,h,g,c)}}var l=a("nW");e.prototype.He=function(){return this.Ko};e.prototype.Xe=function(){return this.Ko};e.prototype.hg=function(){return this.R};e.prototype.bOa=function(m,k,b,h){var g=.5*this.Ko,c=.5*this.Ko,d=.5*this.Ko,f=this.R.getContext("2d");k=l.Ar(k);for(var p=f.createRadialGradient(g,
c,0,g,c,d),q=0;q<b.length;q++)p.addColorStop(h[q],"rgba("+k[0]+","+k[1]+","+k[2]+","+b[q]+")");f.fillStyle=p;f.globalAlpha=m;f.beginPath();f.arc(g,c,d,0,2*Math.PI,!0);f.closePath();f.fill()};e.prototype.cOa=function(m,k,b,h){var g=.5*this.Ko,c=.5*this.Ko,d=.5*this.Ko,f=this.R.getContext("2d");f.clearRect(0,0,this.Ko,this.Ko);var p=l.Ar(k),q=f.createRadialGradient(g,c,0,g,c,d);for(k=0;k<b.length;k++)q.addColorStop(h[k],"rgba("+p[0]+","+p[1]+","+p[2]+","+b[k]+")");f.fillStyle=q;f.globalAlpha=m;f.beginPath();
for(k=0;6>k;k++)b=45*Math.PI/180+2*Math.PI*k/6,m=g+Math.cos(b)*d,b=c+Math.sin(b)*d,0==k?f.moveTo(m,b):f.lineTo(m,b);f.closePath();f.fill()};e.pL="circle";e.VT="hexagon";return e});
define("nG","require lE kS pf fA jq dp kf gU fl".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("fA"),b=a("jq"),h=a("dp"),g=a("kf"),c=a("gU"),d=a("fl");a=e.extend(b,function(p){b.call(this);this.u=p;this.yk.push(this.u);this.cg=this.cg.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.j6=this.IMa();this.Kf=this.DNa();this.fh(this.j6.concat([this.Kf]))});a.prototype.Qb=function(){b.prototype.Qb.call(this);this.trigger(m.$c);this.trigger(m.Z);l.ha(this.u,["yaw",
"pitch","bleaching","bleachingDistance"],this.cg,!0)};a.prototype.Tb=function(){l.ba(this.u,["yaw","pitch","bleaching","bleachingDistance"],this.cg);b.prototype.Tb.call(this)};a.prototype.cg=function(){this.set("yaw",this.u.get("yaw"));this.set("pitch",this.u.get("pitch"));this.set("bleaching",this.u.get("bleaching"));this.set("bleachingDistance",this.u.get("bleachingDistance"))};a.prototype.ia=function(p){b.prototype.ia.call(this,p);this.set("rendererYaw",p.Qa);this.set("rendererPitch",p.pitch);
this.set("rendererRoll",p.xg);this.set("rendererCameraFOV",p.hi);this.set("rendererWidth",p.width);this.set("rendererHeight",p.height);this.set("inVR",p.pb);if(this.O("composedTranslationX","composedTranslationY","composedTranslationZ")){var q=this.get("composedTranslationX"),n=this.get("composedTranslationY"),r=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-10*Math.sqrt(q*q+n*n+r*r)))}if(this.O("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth",
"rendererHeight","inVR","yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var t=p.Qa+this.get("composedDeltaYaw"),u=p.pitch+this.get("composedDeltaPitch"),v=p.xg+this.get("composedDeltaRoll");q=this.get("translationAlpha");r=n=0;if(!p.pb&&(t=k.get(this.get("yaw"),this.get("pitch"),t,u,v,p.hi,p.width,p.height))){var w=.5*p.width;var x=.5*p.height;var y=t.x;var z=t.y;w=2*(w-y);x=2*(x-z);r=Math.sqrt(w*w+x*x);t=Math.min(p.width,p.height);n=Math.max(0,Math.min(.7,
1-r/Math.sqrt(p.width*p.width,p.height*p.height)))*q;p=this.get("bleaching");r=1-Math.max(0,Math.min(1,r/(t*this.get("bleachingDistance"))));r=p*r*q}for(p=0;p<this.j6.length;p++)q=this.j6[p],q.set("alpha",n),0<n&&(q.set("centerX",y+w*f[p].position),q.set("centerY",z+x*f[p].position));this.Kf.set("alpha",r)}};a.prototype.IMa=function(){return f.map(function(p){var q=(new c(p.form,p.LF,p.opacity,p.color,p.SE,p.TE)).hg(),n=new d;n.Cm(q);q=new g;q.set("textureSource",n);q.set("width",p.size);q.set("height",
p.size);q.set("offsetX",.5*p.size);q.set("offsetY",.5*p.size);q.set("alpha",0);return q})};a.prototype.DNa=function(){return new h("#ffffff")};var f=[{form:c.VT,position:.1,size:52,LF:128,opacity:.8,color:"#FCFCFC",SE:[1,.5],TE:[0,.866]},{form:c.VT,position:.2,size:52,LF:128,opacity:.6,color:"#C8FCC8",SE:[1,.5],TE:[0,.866]},{form:c.pL,position:.36,size:112,LF:128,opacity:.5,color:"#C8C8FC",SE:[1,.9,.6,0],TE:[0,.2,.4,1]},{form:c.pL,position:.47,size:32,LF:128,opacity:.3,color:"#96C8AF",SE:[1,1,0],
TE:[0,.9,1]},{form:c.pL,position:.65,size:52,LF:128,opacity:.7,color:"#FCFCFC",SE:[.7,.7,.2,0],TE:[0,.1,.4,1]},{form:c.VT,position:.88,size:128,LF:128,opacity:.4,color:"#AF96C8",SE:[1,.5],TE:[0,.866]},{form:c.pL,position:1,size:33,LF:128,opacity:.8,color:"#C89696",SE:[.8,.8,.6,0],TE:[0,.2,.4,1]}];return a});
define("dm",["require","bT","hG"],function(a){function e(h,g){this.Ab=h;this.ge=g.map(function(c){return new l(h,c,3)});this.IH=this.JH=this.Ph=this.mf=0;this.Vda();this.R=document.createElement("canvas");this.R.width=this.mf;this.R.height=this.Ph;this.za=this.R.getContext("2d");this.xa=!0;this.Te=this.Pta=-1}function l(h,g,c){this.bF=h;this.item=g;this.label=g.get("label");this.fontFamily=this.bF.get("fontFamily","Arial");this.fontSize=Math.round(12*c)+"px";this.backgroundColor=this.bF.get("backgroundColor",
"#000000");this.FEa=this.bF.get("rollOverBackgroundColor",this.backgroundColor);this.R5a=this.bF.get("selectedBackgroundColor",this.FEa);this.hAa=this.bF.get("fontColor","#000000");this.GEa=this.bF.get("rollOverFontColor",g.hAa);this.S5a=this.bF.get("selectedFontColor",g.GEa);this.CGa=this.BGa=this.DGa=this.EGa=this.height=this.width=this.left=this.top=0;this.status=!1;this.Ega=!0}var m=a("bT"),k=a("hG");l.prototype.o9a=function(){var h=new m.p5;h.fontFamily=this.fontFamily;h.fontSize=this.fontSize;
h=m(this.label,h);this.EGa=h.width;this.DGa=h.height};l.prototype.z7a=function(h){this.status!=h&&(this.status=h,this.Ega=!0)};l.prototype.X0a=function(h){if(this.Ega){this.Ega=!1;switch(this.status){case "normal":var g=this.backgroundColor;var c=this.hAa;break;case "over":g=this.FEa;c=this.GEa;break;case "selected":g=this.R5a,c=this.S5a}h.clearRect(this.left,this.top,this.width,this.height);h.fillStyle=g;h.fillRect(this.left,this.top,this.width,this.height);h.fillStyle=c;h.font=this.fontSize+" '"+
this.fontFamily+"'";h.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+k.Vw(this.fontFamily);h.textBaseline="middle";h.textAlign="center";h.fillText(this.label,Math.round(this.BGa),Math.round(this.CGa));return!0}return!1};var b=180/Math.PI;e.prototype.vf=function(){return 2*Math.atan2(this.mf/3*.5,300)*b};e.prototype.He=function(){return this.mf};e.prototype.Xe=function(){return this.Ph};e.prototype.hg=function(){return this.R};e.prototype.Vda=function(){var h=0,g=0;this.ge.forEach(function(p){p.o9a();
h=Math.max(p.EGa,h);g=Math.max(p.DGa,g)});this.JH=h+30;this.IH=g+30;var c=0,d=0,f=0;this.NN=20;20<this.ge.length&&(this.NN=Math.ceil(this.ge.length/Math.ceil(this.ge.length/20)));this.ge.forEach(function(p){f>=this.NN&&(f=0,d+=this.JH,c=0);p.left=d;p.top=c;p.BGa=d+.5*this.JH;p.CGa=c+.5*this.IH;p.width=this.JH;p.height=this.IH;f+=1;c+=this.IH}.bind(this));this.mf=Math.ceil(this.ge.length/this.NN)*this.JH;this.Ph=Math.min(this.NN,this.ge.length)*this.IH};e.prototype.update=function(){for(var h=!1,g=
0;g<this.ge.length;g++)this.ge[g].z7a(this.Pta==g?"over":this.Te==g?"selected":"normal"),h=this.ge[g].X0a(this.za)||h;return h};e.prototype.AAa=function(h,g){var c=-1;0<=h&&h<this.mf&&0<=g&&g<this.Ph&&(c=Math.floor(h/this.JH)*this.NN+Math.floor(g/this.IH),c>=this.ge.length&&(c=-1));return c};e.prototype.Cia=function(h){this.Pta=h};e.prototype.TK=function(h){this.Te=h};e.prototype.clear=function(){this.ge=this.R=this.za=this.Ab=null};return e});
define("by","require lE kS pf jN dm fl oH bG oA".split(" "),function(a){function e(q,n,r){q=(n-q)*(1-r);1E-5>Math.abs(q)&&(q=0);return n-q}var l=a("lE"),m=a("kS"),k=a("pf"),b=a("jN"),h=a("dm"),g=a("fl"),c=a("oH"),d=a("bG"),f=a("oA");a=l.extend(b,function(q){b.call(this);this.Ab=q;this.uq=this.uq.bind(this);this.yo=this.R=null;this.zw=this.Dn=this.Cba=this.hw=void 0;this.ana=20;this.lg=null;this.Rb=this.Ab.get("opacity",.5);this.PO=this.Ab.get("rollOverOpacity",this.Rb);this.eSa=1;this.gSa=.66;this.set("tag",
"MenuButton");this.set("visible",!1);this.set("over",!1);this.set("centerDistance",void 0)});a.prototype.Qb=function(){b.prototype.Qb.call(this);m.ha(this.Ab,["label"],this.uq,!0)};a.prototype.Tb=function(){m.ba(this.Ab,["label"],this.uq);b.prototype.Tb.call(this)};a.prototype.uq=function(){this.R=null};a.prototype.ia=function(q){this.Yq(q);this.rg(q);this.jE(q);this.sf(q);this.ae(q);b.prototype.ia.call(this,q)};a.prototype.Yq=function(q){q.pb&&!this.yo&&f.getType()==f.Fu.nl&&this.fh([this.yo=new b])};
a.prototype.rg=function(){this.get("visible")&&(this.R||(this.get("textureSource")||this.set("textureSource",new g),this.R=new h(this.Ab,[this.Ab]),this.get("textureSource").Cm(this.R.hg()),this.set("contentWidth",this.R.He()),this.set("contentHeight",this.R.Xe()),this.set("hfov",this.R.vf()),this.set("distance",this.Ab.get("distance"))),this.R.update()&&(this.get("textureSource").update(),this.Da()),this.O("over")&&this.R.Cia(this.get("over")?0:-1))};a.prototype.jE=function(q){this.O("visible")&&
(this.lg=new c("linear",[new d("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,void 0)],300));this.lg&&(this.lg.Ye()?this.lg=null:this.lg.Cb(q.Ge))};a.prototype.sf=function(q){if(this.get("visible")||this.lg){this.Dn=q.Qa;this.zw=Math.min(90,Math.max(-90,this.ana+this.ana-q.pitch));if(this.O("visible")&&this.get("visible"))this.set("yaw",q.Qa),this.set("pitch",q.pitch);else{for(;this.Dn+180<this.hw;)this.hw-=360;for(;this.Dn-180>this.hw;)this.hw+=360;var n=(this.Dn-this.hw)/q.Ge,r=(this.zw-
this.Cba)/q.Ge,t=Math.atan2(r,n);r=Math.sqrt(r*r+n*n);r=Math.min(r,10*p);n=Math.cos(t)*r;t=Math.sin(t)*r;this.set("yaw",e(this.get("yaw"),this.Dn+n,.02));this.set("pitch",e(this.get("pitch"),this.zw+t,.02))}this.hw=this.Dn;this.Cba=this.zw;t=this.get("yaw")-q.Qa;q=this.get("pitch")-q.pitch;this.set("centerDistance",Math.sqrt(t*t+q*q))}};a.prototype.ae=function(){if(!this.get("visible")&&!this.lg)this.set("alpha",0);else if(this.O("over","centerDistance")||this.lg){var q=this.get("over")?this.PO:this.Rb,
n=this.gSa,r=this.get("centerDistance")/this.get("hfov");1>r&&(n+=(1-r)*(this.eSa-n),q+=(1-r)*(this.PO-q));this.lg&&(q*=this.lg.fb("displayCoef"),n*=this.lg.fb("displayCoef"));this.set("alpha",q);this.set("scale",n)}};a.prototype.Bm=function(q){if(q.nf==k.rl){var n=!1;this.get("visible")&&!q.Wk()&&(n=0<this.wv(q.Mq).length);n&&(q.hA(this.Ab),q.vE(this.Ab),q.Vk(this.get("distance")));this.get("over")!=n&&(this.get("over")&&this.Ab.trigger(k.Xb),this.set("over",n),this.get("over")&&this.Ab.trigger(k.ad))}else q.nf==
k.Pf&&this.get("visible")&&!q.Wk()&&0<this.wv(q.Mq).length&&(q.Jr(this.Ab),this.Ab.trigger(k.qa),this.trigger(k.qa))};var p=Math.PI/180;return a});
define("jR","require lE kS pf jN dm fl oH bG oA".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("jN"),b=a("dm"),h=a("fl"),g=a("oH"),c=a("bG"),d=a("oA");a=e.extend(k,function(f,p){k.call(this);this.Ab=f;this.qz=p;this.uq=this.uq.bind(this);this.R=null;this.Cba=this.hw=void 0;this.lg=null;this.Rb=this.Ab.get("opacity",.5);this.PO=this.Ab.get("rollOverOpacity",this.Rb);this.set("textureSource",new h);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.aoa=
!1});a.prototype.Qb=function(){k.prototype.Qb.call(this);l.ha(this.Ab,["label"],this.uq,!0);this.qz.forEach(function(f){l.ha(f,["label"],this.uq,!0)}.bind(this))};a.prototype.Tb=function(){l.ba(this.Ab,["label"],this.uq);this.qz.forEach(function(f){l.ba(f,["label"],this.uq)}.bind(this));k.prototype.Tb.call(this)};a.prototype.uq=function(){this.R=null};a.prototype.ia=function(f){this.Yq(f);this.rg(f);this.jE(f);this.sf(f);k.prototype.ia.call(this,f)};a.prototype.RMa=function(){this.R||(this.R=new b(this.Ab,
this.qz),this.get("textureSource").Cm(this.R.hg()),this.set("contentWidth",this.R.He()),this.set("contentHeight",this.R.Xe()),this.set("hfov",this.R.vf()),this.set("distance",this.Ab.get("distance")))};a.prototype.rg=function(){this.R||this.RMa();this.O("selectedIndex")&&this.R.Cia(this.get("selectedIndex"));this.O("overIndex")&&this.R.Cia(this.get("overIndex"));this.R.update()&&(this.get("textureSource").update(),this.Da())};a.prototype.Yq=function(f){f.pb&&!this.yo&&d.getType()==d.Fu.nl&&this.fh([this.yo=
new k])};a.prototype.jE=function(f){this.lg||this.aoa||(this.lg=new g("linear",[new c("alpha",0,1,void 0),new c("scale",0,1,void 0),new c("yaw",f.Qa,this.get("yaw"),void 0),new c("pitch",f.pitch,this.get("pitch"),void 0)],300));this.lg&&(this.lg.Ye()?(this.aoa=!0,this.lg=null):this.lg.Cb(f.Ge))};a.prototype.sf=function(){if(this.lg){var f=0>this.get("overIndex")?this.Rb:this.PO;this.set("alpha",f*this.lg.fb("alpha"));this.set("scale",this.lg.fb("scale"));this.set("yaw",this.lg.fb("yaw"));this.set("pitch",
this.lg.fb("pitch"))}else this.O("overIndex")&&(f=0>this.get("overIndex")?this.Rb:this.PO,this.set("alpha",f))};a.prototype.Bm=function(f){if(f.nf==m.rl){var p=-1;if(!f.Wk()){var q=this.wv(f.Mq).filter(function(n){return n.source==this.R.hg()}.bind(this));0<q.length&&(p=this.R.AAa(q[0].x,q[0].y))}0<=p&&(f.hA(this.qz[p]),f.vE(this.qz[p]),f.Vk(this.get("distance")));0<=this.get("overIndex")!=0<=p&&(0<p?this.trigger(m.ad):this.trigger(m.Xb));this.get("overIndex")!=p&&(0<=this.get("overIndex")&&this.qz[this.get("overIndex")].trigger(m.Xb),
this.set("overIndex",p),0<=this.get("overIndex")&&this.qz[this.get("overIndex")].trigger(m.ad))}else f.nf!=m.Pf||f.Wk()||(q=this.wv(f.Mq).filter(function(n){return n.source==this.R.hg()}.bind(this)),0<q.length&&(p=this.R.AAa(q[0].x,q[0].y),0<=p&&(q=this.qz[p],this.set("selectedIndex",p),f.Jr(q),f.Vk(this.get("distance")),q.trigger(m.qa),this.trigger(m.qa,{item:q}))))};return a});
define("iJ",["require","lE","pf","jq","jR"],function(a){var e=a("lE"),l=a("pf"),m=a("jq"),k=a("jR");a=e.extend(m,function(g){m.call(this);this.Ab=g;this.Ez=[];this.lI=null;this.set("tag","MenuPanels");this.set("visible",!1)});a.prototype.ia=function(g){this.O("visible")&&this.get("visible")&&(this.set("yaw",g.Qa),this.set("pitch",g.pitch),this.hma(this.Ab));m.prototype.ia.call(this,g)};a.prototype.hma=function(g){g=new k(this.Ab,g.get("children",[]));var c=this.get("yaw");this.jb().forEach(function(d){c+=
d.get("hfov")+h});g.set("yaw",c);g.set("pitch",this.get("pitch"));this.pKa(g);this.appendChild(g)};a.prototype.Lua=function(g){this.jb().slice(g).forEach(function(c){this.NUa(c);c.remove()}.bind(this));this.Ez=this.Ez.filter(function(c){return 0<=this.jb().indexOf(c)}.bind(this))};a.prototype.pKa=function(g){g.bind(l.ad,this.Zta,this,!0);g.bind(l.Xb,this.Yta,this,!0);g.bind(l.qa,this.Xta,this,!0)};a.prototype.NUa=function(g){g.unbind(l.ad,this.Zta,this,!0);g.unbind(l.Xb,this.Yta,this,!0);g.unbind(l.qa,
this.Xta,this,!0)};a.prototype.Zta=function(g){0>this.Ez.indexOf(g.source)&&(this.Ez.push(g.source),1==this.Ez.length&&this.ona())};a.prototype.Yta=function(g){g=this.Ez.indexOf(g.source);0<=g&&(this.Ez.splice(g,1),0==this.Ez.length&&this.mWa())};a.prototype.Xta=function(g){var c=g.source;g=g.data.item;g.get("children",[]).length?(this.Lua(this.jb().indexOf(c)+1),this.hma(g)):this.sna()};a.prototype.sna=function(){this.set("visible",!1);this.Lua(0);this.ona();this.trigger(l.WF)};a.prototype.ona=function(){this.lI&&
(clearTimeout(this.lI),this.lI=null)};a.prototype.mWa=function(){this.lI||(this.lI=setTimeout(function(){this.lI=null;this.sna()}.bind(this),b))};var b=3E3,h=1;return a});
define("go","require lE pf jq by iJ".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("jq"),k=a("by"),b=a("iJ");a=e.extend(m,function(h){m.call(this);this.u=h;this.yk.push(this.u);this.set("tag","Menu");this.set("visible",!1);this.vd=new k(this.u);this.vd.bind(l.qa,this.zLa,this,!1);this.Zh=new b(this.u);this.Zh.bind(l.WF,this.QTa,this,!1);this.fh([this.vd,this.Zh])});a.prototype.Qb=function(){m.prototype.Qb.call(this);this.trigger(l.$c);this.trigger(l.Z)};a.prototype.ia=function(h){this.set("visible",
h.pb);this.O("visible")&&(this.vd.set("visible",this.get("visible")),this.Zh.set("visible",!1));m.prototype.ia.call(this,h)};a.prototype.zLa=function(){this.vd.set("visible",!1);this.Zh.set("visible",!0)};a.prototype.QTa=function(){this.vd.set("visible",this.get("visible"))};return a});
define("oX","require lE pf jN fl oy lF".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("jN"),k=a("fl"),b=a("oy"),h=a("lF");a=e.extend(m,function(){m.call(this);this.set("tag","CustomPlane");this.set("source",null);this.set("sourceUpdated",!1);this.set("sourceIsVideo",!1);this.Zd=this.Tg=null});a.prototype.Qb=function(){this.Tg=(new b(l.Z)).Fm(this.tq.bind(this));this.Zd=(new b(l.Z)).hp(this.aw.bind(this));m.prototype.Qb.call(this)};a.prototype.Tb=function(){this.Tg.dispose();this.Zd.dispose();
m.prototype.Tb.call(this)};a.prototype.ia=function(g){if(this.O("source","sourceUpdated","sourceIsVideo")){var c=this.get("textureSource");c||this.set("textureSource",c=new k);this.O("source")&&c.Cm(this.get("source"));this.O("sourceIsVideo")&&c.WS(this.get("sourceIsVideo"));this.O("sourceUpdated")&&(c.update(),this.set("sourceUpdated",!1))}m.prototype.ia.call(this,g);this.O("meshGroup")&&(g=(g=this.get("meshGroup"))&&g.children||[],g.length&&(this.Tg.Af(g),this.Zd.Af(g)))};a.prototype.tq=function(){this.trigger(l.$c);
this.trigger(l.Z)};a.prototype.aw=function(g,c){var d=0;c.Dt(function(f){(f=c.um(f))&&(d+=f.Mg)});this.trigger(new h(l.lc,d/c.cd.length))};return a});
define("hp","require lE kS pf jv jq oX md do bu".split(" "),function(a){function e(n,r,t){this.zf=n;this.zf.bind(k.D("distanceToFloor"),this.ia,this,!1);this.Wj=r;this.Wj.bind(k.D("yaw"),this.ia,this,!1);this.Wj.bind(k.D("distance"),this.ia,this,!1);this.Wj.bind(k.D("enabled"),this.ia,this,!1);this.Wj.bind(k.D("enabledInSurfaceSelection"),this.ia,this,!1);this.bb=null;this.Ke=new g;this.Ke.set("hfov",20);this.Ke.set("vfov",20);this.Ke.set("pitch",-90);this.Ke.set("source",t.hg());this.Ke.set("contentWidth",
t.He());this.Ke.set("contentHeight",t.Xe());this.ia()}var l=a("lE"),m=a("kS"),k=a("pf"),b=a("jv"),h=a("jq"),g=a("oX"),c=a("md"),d=a("do"),f=a("bu");a=l.extend(h,function(n){h.call(this);this.CX=this.CX.bind(this);this.Ks=this.Ks.bind(this);this.zX=this.zX.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",!1);this.set("enabled",!1);this.ua=n;this.vU=[];this.RM=new f;this.Tj=new d;this.oe=new g;this.oe.set("hfov",20);this.oe.set("vfov",20);this.oe.set("pitch",-90);this.set("reticleCoef",
1);this.fh([this.oe])});a.prototype.Qb=function(){this.pNa();h.prototype.Qb.call(this);m.ha(this.ua,["distanceToFloor"],this.CX,!0);m.ha(this.ua,["adjacentPanoramas"],this.Ks,!0);m.ha(this.Ea.Nc,["adjacentPanoramaPositionsEnabled"],this.zX,!0);this.trigger(k.$c);this.trigger(k.Z)};a.prototype.Tb=function(){h.prototype.Tb.call(this);m.ba(this.ua,["distanceToFloor"],this.CX);m.ba(this.ua,["adjacentPanoramas"],this.Ks);m.ba(this.Ea.Nc,["adjacentPanoramaPositionsEnabled"],this.zX);this.pva([])};a.prototype.CX=
function(){var n=this.ua.get("distanceToFloor");this.oe.set("distance",n);n=b.Jt(n);var r=b.mga(n,90),t=b.nga(n,90);this.RM.Yf.set(.5*-r,-n,.5*-t);this.RM.tj.set(.5*r,-n,.5*-t);this.RM.IA.set(.5*-r,-n,.5*t);this.Uua=n/b.pr()};a.prototype.Ks=function(){this.pva(this.ua.get("adjacentPanoramas",[]))};a.prototype.zX=function(){this.Ks()};a.prototype.pva=function(n){this.vU.forEach(function(r){r.clear()});this.vU=n.map(function(r){return new e(this.ua,r,this.uba)}.bind(this));n=[];this.Ea.Nc.get("adjacentPanoramaPositionsEnabled")&&
(n=n.concat(this.vU.map(function(r){return r.Ke})));n=n.concat([this.oe]);this.fh(n)};a.prototype.ia=function(n){h.prototype.ia.call(this,n);this.set("enabled",n.nT);this.nea();this.fA(n)};a.prototype.nea=function(){this.O("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.oe.set("alpha",this.get("reticleVisible")?1:0),this.set("alpha",!this.get("enabled")||this.get("composedTranslationX")||
this.get("composedTranslationY")||this.get("composedTranslationZ")||this.get("composedDeltaYaw")||this.get("composedDeltaPitch")||this.get("composedDeltaRoll")?0:1),this.nxa())};a.prototype.pNa=function(){this.FI=new c(this.Ea.L);this.FI.setPosition(this.get("reticleCoef"));this.oe.set("source",this.FI.hg());this.oe.set("contentWidth",this.FI.He());this.oe.set("contentHeight",this.FI.Xe());this.uba=new c(this.Ea.L);this.uba.setPosition(0);this.uba.update(1)};a.prototype.fA=function(n){this.O("reticleCoef")&&
this.FI.setPosition(this.get("reticleCoef"));this.oe.set("sourceUpdated",this.FI.update(n.Ge))};a.prototype.Bm=function(n){if(n.zqa)if(!this.get("enabled")||0==n.Mq.length||n.Wk()||n.Mn())this.set("reticleVisible",!1);else{var r=n.Mq[0];this.Tj.Yf.set(r.origin.x,r.origin.y,r.origin.z);this.Tj.tj.set(r.origin.x+r.direction.x,r.origin.y+r.direction.y,r.origin.z+r.direction.z);if(r=this.RM.intersection(this.Tj,!0)){var t=this.RM.z2(r,!0),u=2*(.5-t.x);t=2*(.5-t.y);var v=p*Math.atan2(-u,t),w=-90+p*Math.atan2(Math.sqrt(u*
u+t*t),1);if(-75>w||-1<w)this.set("reticleVisible",!1);else{var x={x:u*this.Uua,y:-t*this.Uua};n.Rt()||n.Nga()?n.nf==k.rl&&(this.set("reticleVisible",!0),this.oe.set("alpha",Math.min(1,(w- -75)/5)),this.oe.set("translationX",x.x),this.oe.set("translationZ",x.y)):this.set("reticleVisible",!1);var y=.5*this.Ea.Nc.get("surfaceSelectionHorizontalAngle"),z=.5*this.Ea.Nc.get("surfaceSelectionVerticalAngle");t=this.vU.map(function(E){return{Wj:E.Wj,UR:E.U1a(v),vertical:E.v2a(w),distance:E.O0(x)}}).filter(function(E){return E.UR<
y&&E.vertical<z});0==t.length?this.set("reticleCoef",0):(t.sort(function(E,B){return E.distance-B.distance}),u=t[0].Wj,this.set("reticleCoef",Math.max(0,Math.min(1,(1-t[0].UR/y)*(1-t[0].vertical/z)))),r=this.ua.get("distanceToFloor")*Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z)/-r.y,n.Nga()&&n.r_a([u]),n.Vk(r),n.nf==k.Pf?(n.Jr([u]),this.get("blendingActive")||u.trigger(k.Kp)):(n.hA([u]),n.Rt()&&n.vE([u]),(r=this.Ea.L.get("displayTooltipInSurfaceSelection")&&u.get("panorama")&&u.get("panorama").get("label"))&&
n.V_(r,0)))}}else this.set("reticleVisible",!1)}};e.prototype.clear=function(){this.zf.unbind(k.D("distanceToFloor"),this.ia,this,!1);this.zf=null;this.Wj.unbind(k.D("yaw"),this.ia,this,!1);this.Wj.unbind(k.D("distance"),this.ia,this,!1);this.Wj.unbind(k.D("enabled"),this.ia,this,!1);this.Wj.unbind(k.D("enabledInSurfaceSelection"),this.ia,this,!1);this.Wj=null};e.prototype.U1a=function(n){if(!this.bb)return Infinity;n=Math.abs(this.bb.Qa-n);return 180<n?360-n:n};e.prototype.v2a=function(n){return this.bb?
Math.abs(this.bb.pitch-n):Infinity};e.prototype.O0=function(n){if(!this.aJ)return Infinity;var r=n.x-this.aJ.x;n=n.y-this.aJ.y;return Math.sqrt(r*r+n*n)};e.prototype.ia=function(){var n=this.Wj.get("yaw"),r=this.Wj.get("distance"),t=this.Wj.get("enabled")&&this.Wj.get("enabledInSurfaceSelection");if(void 0!==n&&void 0!==r&&t){t=this.zf.get("distanceToFloor");var u=-90+Math.atan2(r,t)*p;this.Ke.set("alpha",-1>u?1:0);this.bb={Qa:n,pitch:u};u=b.Jt(t)/b.pr();this.aJ={x:-Math.sin(n*q)*r/t*u,y:-Math.cos(n*
q)*r/t*u};this.Ke.set("translationX",this.aJ.x);this.Ke.set("translationZ",this.aJ.y);this.Ke.set("distance",t)}else this.aJ=this.bb=null,this.Ke.set("alpha",0)};var p=180/Math.PI,q=Math.PI/180;return a});
define("W","require lE kS pf lF jq jN hp oy nE jI oA".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("lF"),b=a("jq"),h=a("jN"),g=a("hp"),c=a("oy"),d=a("nE"),f=a("jI"),p=a("oA"),q=0;a=e.extend(b,function(t){b.call(this);this.u=t;this.yk.push(this.u);this.mD=this.mD.bind(this);this.bg=this.bg.bind(this);this.Ks=this.Ks.bind(this);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",!1);this.set("blendingActive",!0);this.set("currentTime",
0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",!0);this.set("backgroundPreloadEnabled",!0);this.set("surfaceSelectionEnabled",!1);this.set("id","panorama_"+q++);this.set("ready",!1);this.KY=[];this.Do=this.Zd=this.Gf=null;this.Vh=new n;this.sua=new r;this.CXa=new g(this.u);this.xo=new r;this.fh([this.Vh,this.sua,this.CXa,this.xo])});a.prototype.Qb=function(){this.Gf=(new c(m.Z)).Fm(this.tq.bind(this));this.Zd=(new c(m.lc)).hp(this.oD.bind(this));this.Do=(new c(m.$c)).Fm(this.JSa.bind(this));
b.prototype.Qb.call(this);this.get("blendingActive")&&this.Ea.set("globalBlendingActive",this.Ea.get("globalBlendingActive")+1);l.ha(this.u,["currentTime"],this.mD,!0);l.ha(this.u,["frames","overlays","vrMenu","flipImageHorizontally"],this.bg,!0);l.ha(this.u,["adjacentPanoramas"],this.Ks,!0)};a.prototype.Tb=function(){this.Gf.dispose();this.Zd.dispose();this.Do.dispose();this.get("blendingActive")&&this.Ea.set("globalBlendingActive",this.Ea.get("globalBlendingActive")-1);b.prototype.Tb.call(this);
l.ba(this.u,["currentTime"],this.mD);l.ba(this.u,["frames","overlays","vrMenu","flipImageHorizontally"],this.bg);l.ba(this.u,["adjacentPanoramas"],this.Ks);this.Xca()};a.prototype.bg=function(){function t(E,B,A){E=y.indexOf(E);return 0>E?A:w[E].get(B,A)}function u(E){return t(E,"projected",!1)}var v=this.Ea.$w(this.u.get("frames"));v.forEach(function(E){E.set("panoramaId",this.get("id"));E.set("flipHorizontally",this.u.get("flipImageHorizontally"))}.bind(this));var w=this.u.get("overlays"),x=this.Ea.$w(w),
y=x.slice(),z=x.filter(function(E){return t(E,"projected",!1)||t(E,"required",!1)}).filter(function(E){return t(E,"enabled",!0)});this.u.get("vrMenu")&&x.push(this.Ea.$w(this.u.get("vrMenu")));x.forEach(function(E){E.set("panoramaId",this.get("id"))}.bind(this));this.Gf.Af(v.concat(x));this.Zd.Af(v.concat(x));this.Do.Af(v.concat(z));this.sua.fh(x.filter(u));this.Vh.fh(v);this.xo.fh(x.filter(function(E){return!u(E)}));this.set("panoramaPixelsPerDegree",d.JAa(this.u));this.vxa()};a.prototype.mD=function(){this.set("currentTime",
this.u.get("currentTime",0))};a.prototype.Ks=function(){this.set("adjacentPanoramas",this.u.get("adjacentPanoramas",[]))};a.prototype.tq=function(){this.oj();this.trigger(m.Z)};a.prototype.JSa=function(){this.oj();this.set("ready",!0);this.trigger(m.$c)};a.prototype.oD=function(){this.oj()};a.prototype.oj=function(){var t=0;this.Zd.Dt(function(u){var v=0,w;this.Gf.um(u)?v=100:(w=this.Zd.um(u))&&(v=w.Mg);t+=v}.bind(this));this.trigger(new k(m.lc,t/this.Zd.cd.length))};a.prototype.ia=function(t){t.pb&&
!this.yo&&p.getType()==p.Fu.nl&&this.fh([this.yo=new h].concat(this.jb()));var u=this.get("blendingActive");this.set("blendingActive",1>this.get("alpha"));u!=this.get("blendingActive")&&this.Ea.set("globalBlendingActive",this.Ea.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",!1!==this.Ea.uc.get("backgroundPreloadEnabled"));this.set("preloadEnabled",t.BS);this.O("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&
this.get("backgroundPreloadEnabled")?this.hXa():this.Xca());this.O("index")&&this.vxa();b.prototype.ia.call(this,t)};a.prototype.Bga=function(){return d.Bga(this.u,this.get("preloadEnabled"))};a.prototype.Mha=function(){return d.Mha(this.u,this.get("preloadEnabled"))};a.prototype.hXa=function(){this.Xca();this.KY=this.get("adjacentPanoramas").map(function(t){t=t.get("panorama");return[t,d.Jn(t,this.get("preloadEnabled"))]}.bind(this));this.KY.forEach(function(t){f.Bya(t[0],t[1]);f.N1(t[0],1)})};a.prototype.Xca=
function(){this.KY.forEach(function(t){f.N1(t[0],-1);f.C5a(t[0],t[1])});this.KY=[]};a.prototype.vxa=function(){var t=this.get("index");this.Vh.jb().forEach(function(u,v,w){u.set("panoramaIndex",t);u.set("frameIndex",v);u.set("frameCount",w.length)})};var n=e.extend(b,function(){b.call(this);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});n.prototype.ia=function(t){this.jb().forEach(function(u,v,w){u.set("frontFrame",
w[w.length-1])});b.prototype.ia.call(this,t)};var r=e.extend(b,function(){b.call(this);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("currentTime",0);this.set("tag","Group")});return a});
define("jF",["require","lE","fI","ew"],function(a){var e=a("lE"),l=a("fI"),m=a("ew"),k=0;a=e.extend(l,function(){l.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+k++)});a.prototype.ia=function(b){l.prototype.ia.call(this,b);this.lE()};a.prototype.pE=function(){if(this.O("panoramaIndex","frameIndex","frameCount","meshGroup")){var b=this.get("meshGroup");if(b){var h=this.get("panoramaIndex"),g=this.get("frameIndex"),
c=this.get("frameCount"),d=b.children.length;b.children.forEach(function(f,p){m.W2(f,h+(p+g/c)/d)}.bind(this))}}};a.prototype.lE=function(){if(this.O("meshGroup","panoramaId","id")){var b=this.get("meshGroup");b&&b.children.forEach(function(h,g){m.setAttribute(h,m.fB,this.get("panoramaId"));m.setAttribute(h,m.J3,g);m.setAttribute(h,m.QF,this.get("id"))}.bind(this))}};return a});
define("om","require lE kS pf ik jq jF oy nE fF kJ lF".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("ik"),b=a("jq"),h=a("jF"),g=a("oy"),c=a("nE"),d=a("fF"),f=a("kJ"),p=a("lF");a=e.extend(h,function(n){h.call(this);this.set("tag","ImagePanoramaFrame");this.jua=!0;this.u=n;this.yk.push(this.u);this.Kk=this.Tg=this.Do=null;this.L$=[];this.bg=this.bg.bind(this);this.Pp(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.fh([this.xo=new q])});a.prototype.Qb=function(){this.Do=
new g(m.Z);this.Tg=new g(m.Z);this.Kk=new g(m.lc);h.prototype.Qb.call(this);l.ha(this.u,["overlays"],this.bg,!0)};a.prototype.Tb=function(){this.Do.dispose();this.Tg.dispose();this.Kk.dispose();l.ba(this.u,["overlays"],this.bg);h.prototype.Tb.call(this)};a.prototype.bg=function(){this.xo.fh(this.Ea.$w(this.u.get("overlays")));this.gxa()};a.prototype.gxa=function(){this.Tg.Af([].concat(this.L$,this.xo.jb()));this.Kk.Af([].concat(this.L$,this.xo.jb()))};a.prototype.co=function(){var n=[],r=[],t=[];
c.hga(this.u,this.jua).forEach(function(u,v){var w=d.z0a(this.u,u);c.B3a(u)?(0==v&&(n=n.concat(w),r=r.concat(w)),f.xx(w,0==v?f.Yr:f.WT),f.wx(w,0==v?f.Dp:f.U4)):(0==v&&(n=n.concat(w)),r=r.concat(w),f.xx(w,f.Yr),f.wx(w,f.Dp));f.AF(w,0==v?k.e5:k.ol);f.fT(w,v);t=t.concat(w)}.bind(this));this.Do.Af(n);this.L$=r;this.gxa();this.Tg.Fm(this.tq.bind(this));this.Do.Fm(this.nTa.bind(this));this.Kk.hp(this.oD.bind(this));this.trigger(new p(m.lc,0));return t};a.prototype.nTa=function(){this.trigger(m.$c)};a.prototype.tq=
function(){this.trigger(m.Z)};a.prototype.ia=function(n){this.jua=n.BS;this.lZa();h.prototype.ia.call(this,n)};a.prototype.lZa=function(){var n=this.get("frontFrame");if(this.O("frontFrame")||n&&n.O("alpha"))n=n&&n!=this?1-n.get("alpha"):1,this.xo.set("alpha",n)};a.prototype.oD=function(){var n=0;this.Kk.Dt(function(r){var t=0,u;this.Tg.um(r)?t=100:(u=this.Kk.um(r))&&(t=u.Mg);n+=t}.bind(this));this.trigger(new p(m.lc,n/this.Kk.cd.length))};var q=e.extend(b,function(){b.call(this);this.Pp(["loadingActive",
"panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",!1);this.set("tag","Group")});return a});
define("gL","require lE pf jN ne oy lF".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("jN"),k=a("ne"),b=a("oy"),h=a("lF");a=e.extend(m,function(){m.call(this);this.set("tag","ImagePlane");this.set("url",null);this.Zd=this.Gf=null});a.prototype.Qb=function(){this.Gf=(new b(l.Z)).Fm(this.tq.bind(this));this.Zd=(new b(l.lc)).hp(this.aw.bind(this));m.prototype.Qb.call(this)};a.prototype.Tb=function(){this.Gf.dispose();this.Zd.dispose();m.prototype.Tb.call(this)};a.prototype.ia=function(g){if(this.O("url")){var c=
this.get("url");c=c?new k(c):null;this.set("textureSource",c)}m.prototype.ia.call(this,g);this.O("meshGroup")&&(g=(g=this.get("meshGroup"))&&g.children||[],g.length&&(this.Gf.Af(g),this.Zd.Af(g)))};a.prototype.tq=function(){this.trigger(l.$c);this.trigger(l.Z)};a.prototype.aw=function(g,c){var d=0;c.Dt(function(f){(f=c.um(f))&&(d+=f.Mg)});this.trigger(new h(l.lc,d/c.cd.length))};return a});
define("mG","require en pf cC lg oB".split(" "),function(a){function e(c,d){this.Ad=c;this.da=d;this.Ik=!1;this.$i=[];this.Um=this.ZG=void 0;this.Ae=[];this.sLa();this.m7();this.RZ();this.Fi()}function l(c,d,f){this.time=c;this.cue=d;this.action=f}var m=a("en"),k=a("pf"),b=a("cC"),h=a("lg"),g=a("oB");e.prototype.clear=function(){this.iM();this.$i=[];this.yYa();this.da=this.Ad=null};e.prototype.sLa=function(){this.da.bind(g.Of,this.ef,this,!0);this.da.bind(k.se,this.Fi,this,!0);this.da.bind(k.Bb,this.Cz,
this,!0)};e.prototype.yYa=function(){this.da.unbind(g.Of,this.ef,this,!0);this.da.unbind(k.se,this.Fi,this,!0);this.da.unbind(k.Bb,this.Cz,this,!0)};e.prototype.Fi=function(){var c=this.da.getState()!=h.W;this.Ik!=c&&((this.Ik=c)?this.RZ():this.iM())};e.prototype.Cz=function(){this.sE()};e.prototype.ef=function(){this.sE()};e.prototype.RZ=function(){this.Um=this.ZG=0};e.prototype.sE=function(){if(this.da&&this.Ik){var c=this.Ae.slice(),d=this.da.getCurrentTime(),f=d-this.ZG;0>f&&(this.Ae=[],this.Um=
0);f=0<=f&&2>f;this.ZG=d;var p;for(p=this.Um;p<this.$i.length&&!(this.$i[p].time>d);p++);for(;this.Um<p;this.Um++)d=this.$i[this.Um],"start"==d.action?(this.Ae=m(this.Ae).union([d.cue]),f&&d.cue.trigger(new b(k.rp))):(this.Ae=m(this.Ae).difference([d.cue]),f&&d.cue.trigger(new b(k.Bb)));c.length==this.Ae.length&&m(c).intersection(this.Ae).length==this.Ae.length||this.pQ()}};e.prototype.iM=function(){0<this.Ae.length&&(this.Ae=[],this.pQ())};e.prototype.pQ=function(){this.Ad.trigger(new b(k.hk,{activeCues:this.Ae.slice()}))};
e.prototype.m7=function(){this.$i=[];var c=this.Ad.get("cues",[]);m(c).each(function(d){this.$i.push(new l(d.get("startTime",0),d,"start"));this.$i.push(new l(d.get("endTime",Number.POSITIVE_INFINITY),d,"end"))},this);this.$i.sort(function(d,f){return d.time==f.time?d.action==f.start?0:"start"==d.action?-1:1:d.time-f.time})};return e});
define("mc",["require","pf","lg","cC","oB"],function(a){function e(h,g,c){this.uc=h;this.Ad=g;this.da=c;this.da.setCurrentTime(this.Ef=this.Ad.get("currentTime",0));this.da.Nf(this.qf=this.uc.get("mute",!1));this.da.Lc(this.C=this.Ad.get("state",m.W));this.da.setLoop(this.xk=this.Ad.get("loop"));this.Ob=this.da.ji();this.qKa();this.yKa();this.Mu()}var l=a("pf"),m=a("lg"),k=a("cC"),b=a("oB");e.prototype.clear=function(){this.OUa();this.UUa();this.mw();this.da.Lc(m.W);this.Ad.set("state",m.W);this.Ad.set("currentTime",
0);this.Ad.set("duration",void 0)};e.prototype.Lta=function(){var h=this.Ad.get("state",m.W);this.C!=h&&this.da.Lc(this.C=h)};e.prototype.Jta=function(){var h=this.Ad.get("currentTime",0);this.Ef!=h&&this.da.setCurrentTime(this.Ef=h)};e.prototype.FO=function(){var h=this.uc.get("mute",0);this.qf!=h&&this.da.Nf(this.qf=h)};e.prototype.Kta=function(){var h=this.Ad.get("loop");this.xk!=h&&this.da.setLoop(this.xk=h)};e.prototype.MO=function(){this.Ad.set("currentTime",this.Ef=this.da.getCurrentTime())};
e.prototype.KO=function(){this.Ad.set("duration",this.Ob=this.da.ji())};e.prototype.LO=function(){this.Ad.set("state",this.C=this.da.getState())};e.prototype.NO=function(){this.Ad.trigger(new k(l.Bb))};e.prototype.qKa=function(){this.uc.bind(l.D("mute"),this.FO,this,!0)};e.prototype.OUa=function(){this.uc.unbind(l.D("mute"),this.FO,this,!0)};e.prototype.yKa=function(){this.Ad.bind(l.D("state"),this.Lta,this,!0);this.Ad.bind(l.D("currentTime"),this.Jta,this,!0);this.Ad.bind(l.D("loop"),this.Kta,this,
!0)};e.prototype.UUa=function(){this.Ad.unbind(l.D("state"),this.Lta,this,!0);this.Ad.unbind(l.D("currentTime"),this.Jta,this,!0);this.Ad.unbind(l.D("loop"),this.Kta,this,!0)};e.prototype.Mu=function(){this.da.bind(b.Of,this.MO,this,!0);this.da.bind(b.Ti,this.KO,this,!0);this.da.bind(l.se,this.LO,this,!0);this.da.bind(l.Bb,this.NO,this,!0)};e.prototype.mw=function(){this.da.unbind(b.Of,this.MO,this,!0);this.da.unbind(b.Ti,this.KO,this,!0);this.da.unbind(l.se,this.LO,this,!0);this.da.unbind(l.Bb,this.NO,
this,!0)};return e});
define("dS","require lE pf ik lg gL jF oy fF mG mc cb ew kJ v kB oB lF cf oH bG".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("ik"),k=a("lg"),b=a("gL"),h=a("jF"),g=a("oy"),c=a("fF"),d=a("mG"),f=a("mc"),p=a("cb"),q=a("ew"),n=a("kJ"),r=a("v"),t=a("kB"),u=a("oB"),v=a("lF"),w=a("cf"),x=a("oH"),y=a("bG");a=e.extend(h,function(D){h.call(this);this.u=D;this.yk.push(this.u);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",void 0);
this.set("hasStableContent",void 0);this.LV=void 0;this.set("atStart",void 0);p.get(this.u)==p.Ep?this.Dea=this.u.get("sphere"):this.Dea=this.u.get("stereoSphere");this.Ik=!1;this.ab=u.Zj(this.Dea);this.iba=this.$na=!1;this.oJ=[];this.DD=[];this.vn=this.Hk=this.Kk=this.Tg=this.ah=this.da=null;this.Zl=!1;this.Oqa=this.iz=this.jz=0});a.prototype.Qb=function(){this.Tg=(new g(l.Z)).Fm(this.tq.bind(this));this.Kk=(new g(l.lc)).hp(this.oD.bind(this));this.da=new u(this.Ea.uc,this.Dea);this.$p=new d(this.u.uA(),
this.da);this.Ja=new f(this.Ea.uc,this.u.uA(),this.da);this.gm=new t(this.u.uA(),this.da);this.Mu();this.tNa();this.$na=this.Ea.Nc.get("displayPlayOverlay");this.iba="play_pause"==this.Ea.Nc.get("clickAction");var D=this.Ea.xf(this.u.uA());D.appendChild(this.Hk);D.appendChild(this.vn);h.prototype.Qb.call(this)};a.prototype.Tb=function(){this.Tg.dispose();this.Kk.dispose();this.mw();this.$p.clear();this.$p=null;this.Ja.clear();this.Ja=null;this.gm.clear();this.gm=null;this.da.clear();this.ah=this.da=
null;this.ioa();h.prototype.Tb.call(this)};a.prototype.tNa=function(){this.ioa();this.Hk=this.Mna(w.iy,w.f5,w.YIa);this.vn=this.Mna(w.jG,w.UIa,w.TIa)};a.prototype.Mna=function(D,C,J){var H=new b;H.set("url",D);H.set("contentWidth",C);H.set("contentHeight",J);H.set("hfov",10);H.set("yaw",0);H.set("pitch",0);H.set("alpha",0);return H};a.prototype.ioa=function(){this.Hk&&(this.Hk.remove(),this.Hk=null);this.vn&&(this.vn.remove(),this.vn=null)};a.prototype.co=function(){this.oJ=c.J0a(this.u,this.ab);
this.UZa=n.MF(q.tA(this.oJ[0])[0]);this.oJ.forEach(function(C){n.xx(C,n.Yr);n.wx(C,n.Dp)});this.ab.get("posterURL")?(this.DD=c.K0a(this.u,this.ab),this.DD.forEach(function(C){n.xx(C,n.Yr);n.wx(C,n.Dp);n.AF(C,m.e5)})):this.DD=[];var D=[].concat(this.oJ,this.DD);this.Tg.Af(D);this.Kk.Af(D);this.trigger(new v(l.lc,0));return D};a.prototype.ia=function(D){this.oZa(D);var C=this.da.N0();this.set("frameEmpty",C.isEmpty());this.set("atStart",!(1<this.get("currentTime")));this.Pda();h.prototype.ia.call(this,
D);this.ah&&this.ah.isEqual(C)?this.da.getState()==k.Y&&this.Da():(this.ah=C,this.UZa.Cm(this.ah.xs),this.Da())};a.prototype.Pda=function(){this.get("frameEmpty")?this.set("hasStableContent",!1):this.get("currentTime")>this.LV+.2?this.set("hasStableContent",!0):0==this.get("currentTime")&&this.E$>this.da.ji()-.5?this.set("hasStableContent",!0):this.set("hasStableContent",!1);this.O("frameEmpty")&&!this.get("frameEmpty")&&(this.LV=this.get("currentTime"));!this.get("frameEmpty")&&0<this.get("currentTime")&&
(this.E$=this.get("currentTime"))};a.prototype.km=function(){this.O("composedAlpha","meshGroup","frameEmpty","hasStableContent","atStart")&&(this.DD.length&&!this.get("hasStableContent")&&this.get("atStart")?(this.DD.forEach(function(D){q.Ze(D,this.get("composedAlpha"))}.bind(this)),this.oJ.forEach(function(D){q.Ze(D,0)}.bind(this))):(this.DD.forEach(function(D){q.Ze(D,0)}.bind(this)),this.oJ.forEach(function(D){q.Ze(D,this.get("composedAlpha"))}.bind(this))))};a.prototype.tq=function(){this.trigger(l.$c);
this.trigger(l.Z)};a.prototype.oD=function(D,C){var J=0;C.Dt(function(H){(H=C.um(H))&&(J+=H.Mg)});this.trigger(new v(l.lc,J/C.cd.length))};a.prototype.Fi=function(){this.Da()};a.prototype.ef=function(){this.Da()};a.prototype.Bm=function(D){if(D.nf==l.Pf&&!D.Wk()&&this.iba&&(D.Jr(this.u),D=Date.now(),!(500>D-this.Oqa))){this.Oqa=D;D=this.u.uA();var C=D.get("state");C==k.Y?D.set("state",k.Ib):C==k.Ib&&D.set("state",k.Y)}};a.prototype.oZa=function(D){if(this.iba){if(this.Zl!=(this.da.getState()==k.Ib))if(this.Zl=
!this.Zl,this.$na){var C=this.Hk.get("alpha"),J=this.Zl?1:0;this.ew=new x("linear",[new y("playAlpha",C,J),new y("playScale",D.pb?1.5:1,D.pb?1.5:1),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],Math.abs(J-C)*z);this.Hk.Ah()}else this.ew=new x("linear",this.Zl?[new y("playAlpha",0,0),new y("playScale",1,1),new y("pauseAlpha",0,2),new y("pauseScale",.5,1.5)]:[new y("playAlpha",0,2),new y("playScale",.5,1.5),new y("pauseAlpha",0,0),new y("pauseScale",1,1)],E),this.Hk.Ah(),this.vn.Ah();this.ew&&(this.ew.Cb(D.Ge),
C=this.ew.fb("playAlpha"),this.Hk.set("alpha",1>C?C:2-C),this.Hk.set("scale",this.ew.fb("playScale")),C=this.ew.fb("pauseAlpha"),this.vn.set("alpha",1>C?C:2-C),this.vn.set("scale",this.ew.fb("pauseScale")),this.Da(),this.ew.Ye()&&(this.ew=null));0<this.Hk.get("alpha")&&(this.get("globalBlendingActive")&&this.Hk.set("alpha",0),this.Hk.set("yaw",D.Qa),this.Hk.set("pitch",D.pitch),this.Hk.set("hfov",this.Opa(D)));0<this.vn.get("alpha")&&(this.get("globalBlendingActive")&&this.vn.set("alpha",0),this.vn.set("yaw",
D.Qa),this.vn.set("pitch",D.pitch),this.vn.set("hfov",this.Opa(D)))}};var z=300,E=600;a.prototype.Opa=function(D){return D.pb?15:2*Math.atan((r.lb()?Math.min(D.width,D.height)/100*20:w.f5)*Math.tan(D.Ie*B*.5)/D.width)*A};var B=Math.PI/180,A=180/Math.PI;a.prototype.Mu=function(){this.da.bind(u.Of,this.ef,this,!0);this.da.bind(l.se,this.Fi,this,!0)};a.prototype.mw=function(){this.da.unbind(u.Of,this.ef,this,!0);this.da.unbind(l.se,this.Fi,this,!0)};return a});
define("bE","require lE kS pf lg hJ jq dp oX gL mc nT oy nE eH lh R lF oH bG oB".split(" "),function(a){function e(A,D){for(A-=D;180<A;)A-=360;for(;-180>A;)A+=360;return A+D}var l=a("lE"),m=a("kS"),k=a("pf"),b=a("lg");a("hJ");var h=a("jq"),g=a("dp"),c=a("oX"),d=a("gL"),f=a("mc"),p=a("nT"),q=a("oy"),n=a("nE"),r=a("eH"),t=a("lh"),u=a("R"),v=a("lF"),w=a("oH"),x=a("bG"),y=a("oB"),z=Math.PI/180;a=l.extend(h,function(A){h.call(this);this.u=A;this.yk.push(this.u);this.bg=this.bg.bind(this);this.bY=this.bY.bind(this);
this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",!1);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",b.W);this.set("itemVisible","none");this.set("visible",!1);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",!1);this.set("gazeOver",!1);this.set("video",null);this.set("image",null);this.set("actualVisible",!1);this.me=this.wb=this.Ua=
this.Zd=this.Gf=null;this.tb=new p;this.Tu=this.gz=this.nm=this.ah=this.da=null});a.prototype.Qb=function(){this.Gf=(new q(k.Z)).Fm(this.kD.bind(this));this.Zd=(new q(k.lc)).hp(this.nD.bind(this));h.prototype.Qb.call(this);this.JMa();this.appendChild(this.me);m.ha(this.u,E,this.bg,!0);m.vt(this.u,B,this.bY,!0)};var E="playbackPositions popupDistance popupMaxHeight popupMaxWidth image.levels.url video state".split(" "),B=["visible"];a.prototype.Tb=function(){this.Gf.dispose();this.Zd.dispose();m.ba(this.u,
E,this.bg);m.ba(this.u,B,this.bY);this.tC();this.Py();this.lv();h.prototype.Tb.call(this)};a.prototype.bg=function(){var A=n.k2a(this.u,this.get("panoramaPixelsPerDegree"));this.set("imageURL",A&&A.get("url"));this.set("imageWidth",A&&A.get("width"));this.set("imageHeight",A&&A.get("height"));this.set("video",this.u.get("video"));this.set("state",this.u.get("state"));this.set("popupDistance",this.u.get("popupDistance"));this.set("popupMaxWidth",this.u.get("popupMaxWidth"));this.set("popupMaxHeight",
this.u.get("popupMaxHeight"));this.set("playbackPositions",this.u.get("playbackPositions"))};a.prototype.bY=function(){this.set("visible",this.u.get("visible"))};a.prototype.ia=function(A){this.Oz=A.Qa;this.Nz=A.pitch;this.Yq(A);this.pZa();this.BQ(A);this.ae(A);this.dZa(A);this.IYa(A);h.prototype.ia.call(this,A)};a.prototype.pZa=function(){this.O("playbackPositions","currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("sourceYaw",this.tb.get("yaw")),
this.set("sourcePitch",this.tb.get("pitch")),this.set("sourceRotationX",this.tb.get("rotationX")),this.set("sourceRotationY",this.tb.get("rotationY")),this.set("sourceRotationZ",this.tb.get("rotationZ")),this.set("sourceHFOV",this.tb.get("hfov")))};a.prototype.Yq=function(){if(this.O("video","imageURL")){var A=[this.me];this.O("imageURL")&&(this.uM(),this.Ua&&A.push(this.Ua),this.wP("itemVisible"));this.O("video")&&(this.wM(),this.wb&&A.push(this.wb),this.wP("itemVisible"));this.Gf.Af(A);this.Zd.Af(A);
this.fh(A)}};a.prototype.BQ=function(){if(this.da){var A=this.da.N0();this.set("frameEmpty",!!A&&A.isEmpty());!this.ah||A&&!this.ah.isEqual(A)?(this.ah=A,this.wb.set("source",this.ah.xs),this.wb.set("sourceUpdated",!0),this.Da()):this.da.getState()==b.Y&&this.Da()}else this.set("frameEmpty",!1)};a.prototype.ae=function(A){this.set("inVR",A.pb);this.set("hotspotsEnabled",A.VE);this.set("rendererYaw",A.Qa);this.set("rendererPitch",A.pitch);this.set("rendererRoll",A.xg);this.set("rendererWidth",A.f0);
this.set("rendererHeight",A.aR);this.set("rendererHFOV",A.Ie);if(this.O("visible")){var D=this.get("visiblePosition"),C=this.get("visible")?1:0,J=Math.max(1,this.u.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(C-D)),H=this.u.get(this.get("visible")?"showEasing":"hideEasing");D!=C&&(this.nm=new w(H,[new x("position",D,C)],J));this.get("visible")||(this.set("actualVisible",!1),this.da&&this.da.Lc(b.W))}this.nm&&(this.nm.Ye()?(this.nm=null,this.get("visible")?(this.set("actualVisible",
!0),this.u.trigger(k.DL),this.u.get("autoplay")&&this.da&&this.da.Lc(b.Y)):setTimeout(function(){this.u&&this.u.trigger(k.wL)}.bind(this),0)):this.nm.Cb(A.Ge),this.nm&&(this.set("visiblePosition",this.nm.fb("position")),this.Da()));D=!1;if(D=A.pb?this.O("visible","itemVisible"):this.O("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV"))this.set("targetImageScale",this.Upa(this.Ua,A)),this.set("targetVideoScale",
this.Upa(this.wb,A)),this.set("targetYaw",e(this.get("rendererYaw"),this.get("sourceYaw"))),this.set("targetPitch",this.get("rendererPitch")),this.set("targetRotationZ",e(A.pb?0:this.get("rendererRoll"),this.get("sourceRotationZ")));if(D||this.O("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){C=this.get("visiblePosition");var P=this.get("targetYaw")*C+this.get("sourceYaw")*(1-C),W=this.get("targetPitch")*C+this.get("sourcePitch")*(1-C),U=this.get("sourceRotationX")*
(1-C),S=this.get("sourceRotationY")*(1-C),X=this.get("targetRotationZ")*C+this.get("sourceRotationZ")*(1-C);A=Math.min(1,2*C);var F=this.get("popupDistance"),M=this.get("sourceHFOV");D=this.get("targetImageScale")*C+(1-C);C=this.get("targetVideoScale")*C+(1-C);this.set("alpha",A);this.Ua&&this.Ua.set("scale",D);this.wb&&this.wb.set("scale",C);[].concat(this.wb?[this.wb]:[],this.Ua?[this.Ua]:[]).forEach(function(T){T.set("yaw",P);T.set("pitch",W);T.set("rotationX",U);T.set("rotationY",S);T.set("rotationZ",
X);T.set("distance",F);T.set("hfov",M)})}};a.prototype.dZa=function(A){if(this.O("frameEmpty","state","imageURL","video")){var D="none";!this.wb||this.Ua&&(this.get("frameEmpty")||this.get("state")==b.W)?this.Ua&&(D="image"):D="video";this.set("itemVisible",D)}if(this.O("itemVisible")){"video"!=this.get("itemVisible")&&this.da&&this.da.Lc(b.W);D=this.Ua?this.Ua.get("alpha"):0;var C=this.wb?this.wb.get("alpha"):0,J="image"==this.get("itemVisible")?1:0,H="video"==this.get("itemVisible")?1:0,P="video"==
this.get("itemVisible")?1:200*Math.max(Math.abs(J-D),Math.abs(H-C));this.gz=new w("linear",[new x("imageAlpha",D,J),new x("videoAlpha",C,H)],P)}this.gz&&(this.gz.Ye()?this.gz=null:this.gz.Cb(A.Ge),this.gz&&(this.Ua&&this.Ua.set("alpha",this.gz.fb("imageAlpha")),this.wb&&this.wb.set("alpha",this.gz.fb("videoAlpha")),this.Da()))};a.prototype.IYa=function(A){this.O("gazeOver","inVR","visible","actualVisible")&&(this.lna(),this.get("inVR")&&this.u.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("actualVisible")&&
this.eXa());A.pb&&this.u.get("darkenBackground")&&this.u.get("lookAwayToHide")?(this.O("visible")&&this.get("visible")&&(this.me.set("alpha",.8),this.Tu=null),this.O("gazeOver")&&(this.Tu=new w(this.get("gazeOver")?"linear":"quad_in",[new x("alpha",this.me.get("alpha"),this.get("gazeOver")?.8:0)],this.get("gazeOver")?300:this.u.get("lookAwayToHideTime")))):(this.Tu=null,this.me.set("alpha",A.pb&&this.u.get("darkenBackground")?.8:0));this.Tu&&(this.Tu.Ye()?this.Tu=null:this.Tu.Cb(A.Ge),this.Tu&&(this.me.set("alpha",
this.Tu.fb("alpha")),this.Da()))};a.prototype.eXa=function(){this.lna();this.bX=setTimeout(function(){this.bX=null;this.u.set("visible",!1)}.bind(this),this.u.get("lookAwayToHideTime"))};a.prototype.lna=function(){this.bX&&(clearTimeout(this.bX),this.bX=null)};a.prototype.Upa=function(A,D){if(!A)return 1;var C=this.get("popupMaxWidth","100%"),J=u.jp(C),H=A.get("contentWidth"),P=A.get("contentHeight"),W=this.get("popupMaxHeight","100%"),U=u.jp(W);if(this.get("inVR")){var S=A=.5*this.get("rendererWidth"),
X=Math.min(D.hi,80);D=t.CE(X,A,S);var F=this.get("sourceHFOV");C=Math.min(Math.tan(D*(void 0!==J?J/100:C/A)*.5*z)/Math.tan(.5*F*z),Math.tan(X*(void 0!==U?U/100:W/S)*.5*z)/Math.tan(.5*t.CE(F,H,P)*z))}else A=this.get("rendererWidth"),S=this.get("rendererHeight"),C=H*Math.min((void 0!==J?A*J/100:C)/H,(void 0!==U?S*U/100:W)/P),D=this.get("rendererHFOV"),F=this.get("sourceHFOV"),C=Math.tan(.5*D*z)*C/A/Math.tan(.5*F*z);return C};a.prototype.uM=function(){this.tC();this.get("imageURL")&&(this.Ua=new d,this.Ua.set("url",
this.get("imageURL")),this.Ua.set("contentWidth",this.get("imageWidth")),this.Ua.set("contentHeight",this.get("imageHeight")),this.Ua.set("alpha",0))};a.prototype.tC=function(){this.Ua&&(this.Ua.remove(),this.Ua=null)};a.prototype.wM=function(){this.Py();if(this.get("video")){this.wb=new c;var A=y.Zj(this.get("video"));this.wb.set("contentWidth",A.get("width"));this.wb.set("contentHeight",A.get("height"));this.wb.set("alpha",0);this.wb.set("sourceIsVideo",!0);this.da=new y(this.Ea.uc,this.get("video"));
this.Ja=new f(this.Ea.uc,this.u,this.da);this.Mu()}};a.prototype.Py=function(){this.wb&&(this.mw(),this.Ja.clear(),this.Ja=null,this.da.clear(),this.ah=this.da=null,this.wb.remove(),this.wb=null)};a.prototype.JMa=function(){this.lv();this.me=new g("#000000")};a.prototype.lv=function(){this.me&&(this.me.remove(),this.me=null)};a.prototype.kD=function(){this.trigger(k.$c);this.trigger(k.Z)};a.prototype.nD=function(A,D){var C=0;D.Dt(function(J){var H=0,P;this.Gf.um(J)?H=100:(P=this.Zd.um(J))&&(H=P.Mg);
C+=H}.bind(this));this.trigger(new v(k.lc,C/D.cd.length))};a.prototype.Fi=function(){this.Da()};a.prototype.ef=function(){this.Da()};a.prototype.Cz=function(){this.u.trigger(k.Bb)};a.prototype.Mu=function(){this.da.bind(y.Of,this.ef,this,!0);this.da.bind(k.se,this.Fi,this,!0);this.da.bind(k.Bb,this.Cz,this,!0)};a.prototype.mw=function(){this.da.unbind(y.Of,this.ef,this,!0);this.da.unbind(k.se,this.Fi,this,!0);this.da.unbind(k.Bb,this.Cz,this,!0)};a.prototype.Bm=function(A){A.nf==k.rl?(!A.Wk()&&this.get("visible")?
(A.Jr(this.u),this.set("over",this.Tq(A)),this.set("gazeOver",this.NXa(A))):this.set("over",!1),this.get("over")&&(A.hA(this.u),A.Rt()&&A.vE(this.u),A.Vk(this.get("popupDistance"))),this.O("over")&&(this.u.trigger(this.get("over")?k.ad:k.Xb),A.Rt()&&this.u.trigger(this.get("over")?k.CB:k.Fp))):A.nf==k.Pf&&!A.Wk()&&this.get("visible")&&(A.Jr(this.u),A.Vk(this.get("popupDistance")),this.Tq(A)?A.u3a()||this.u.trigger(k.qa):this.u.set("visible",!1))};a.prototype.Tq=function(A){return this.Fwa(A.Mq)};
a.prototype.NXa=function(A){A=A.UJ();return!!A&&this.Fwa([A])};a.prototype.Fwa=function(A){if(this.get("visible")){A=("video"==this.get("itemVisible")?this.wb:this.Ua).wv(A);for(var D=0;D<A.length;D++){var C=A[D];if(r.Cx(C.source,C.x,C.y))return!0}}return!1};return a});
define("cY",["require","lE","jq"],function(a){var e=a("lE"),l=a("jq");a=e.extend(l,function(){l.call(this);this.Iy&&this.Iy();this.eo&&this.eo()});a.prototype.Qb=function(){l.prototype.Qb.call(this);this.zo&&this.zo();this.sI&&this.sI()};a.prototype.Tb=function(){this.Bo&&this.Bo();this.uI&&this.uI();l.prototype.Tb.call(this)};a.prototype.ia=function(m){this.sf&&this.sf(m);l.prototype.ia.call(this,m);this.To&&this.To(m)};return a});
define("kc",["require","pf"],function(a){var e=a("pf");return{Iy:function(){this.set("beamEnabled",!1);this.fd=!1;this.Nz=this.Oz=void 0},To:function(l){this.Oz=l.Qa;this.Nz=l.pitch},Bm:function(l){if(l.nf==e.rl){var m=!l.Wk()&&this.Tq(l);if(m){l.hA(this.u);this.u.get("useHandCursor")&&l.vE(this.u);l.Vk(this.get("distance"));var k=this.Sb(l.$E());k&&l.V_(k,this.Zz(l.$E()))}this.fd!=m&&(this.fd=m,this.u.trigger(this.fd?e.ad:e.Xb),l.Rt()&&this.u.trigger(this.fd?e.CB:e.Fp))}else l.nf==e.Pf&&!l.Wk()&&
this.Tq(l)&&(1<this.u.YJ(e.qa,!0).length&&l.Jr(this.u),l.Vk(this.get("distance")),this.u.trigger(e.qa))},Tq:function(l){return this.get("beamEnabled")&&0<this.j9().wv(l.Mq).length?!0:!1},Sb:function(l){return!l||this.u.get("displayTooltipInTouchScreens")&&!1!==this.Ea.L.get("displayTooltipInTouchScreens")?this.u.get("toolTip",""):""},Zz:function(l){if(l){l=this.get("yaw")-this.Oz;var m=this.get("pitch")-this.Nz;return Math.sqrt(l*l+m*m)}return 0}}});
define("bV","require lE kS pf cY bA oy nE kc".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("cY"),b=a("bA"),h=a("oy"),g=a("nE");a=a("kc");e=e.extend(k,a,b,function(c){k.call(this);this.u=c;this.QC=this.B8=this.H9=null;this.yk.push(this.u);this.bg=this.bg.bind(this);this.Pp(["loadingActive","panoramaPixelsPerDegree"]);this.set("tag","FrameHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("inScreenshot",!1);this.set("overlaysEnabled",!0);this.set("interactionEnabled",!0);
this.set("contentInteractive",!1);this.set("transparent",!1);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("visible",!1);this.set("loaded",!1);this.set("inView",!1);this.set("frameHidden",!0);this.Uf=this.Ds=this.Zd=this.Gf=null;this.sca(this.u)});e.prototype.Qb=function(){this.Gf=(new h(m.Z)).Fm(this.kD.bind(this));this.Zd=(new h(m.lc)).hp(this.nD.bind(this));this.SMa();k.prototype.Qb.call(this);l.ha(this.u,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),
this.bg,!0);this.v8()};e.prototype.Tb=function(){this.w8();this.Gf.dispose();this.Zd.dispose();l.ba(this.u,"url enabled image fadeInDuration fadeOutDuration contentInteractive interactionEnabled transparent".split(" "),this.bg);this.eoa();this.goa();k.prototype.Tb.call(this)};e.prototype.bg=function(){this.set("url",this.u.get("url"));this.Uf.set("url",this.get("url"));this.set("image",this.u.get("image"));this.Ua.set("image",this.get("image"));this.Ua.set("level",this.get("image")&&g.vAa(this.u,
this.get("panoramaPixelsPerDegree")));this.set("enabled",this.u.get("enabled"));this.set("fadeInDuration",this.u.get("fadeInDuration"));this.set("fadeOutDuration",this.u.get("fadeOutDuration"));this.set("interactionEnabled",this.u.get("interactionEnabled"));this.set("contentInteractive",this.u.get("contentInteractive"));this.set("transparent",this.u.get("transparent"));this.Da()};e.prototype.ia=function(c){this.set("loaded",!!this.Uf&&this.Uf.get("frameLoaded"));this.set("inVR",c.pb);this.set("inScreenshot",
c.XE);this.set("hotspotsEnabled",c.VE);k.prototype.ia.call(this,c);this.ae(c);this.Mda(c)};e.prototype.SMa=function(){this.uM();this.dNa();this.cNa();var c=[this.Ua,this.Ds,this.Uf];this.Gf.Af(c);this.Zd.Af(c);this.fh(c)};e.prototype.ae=function(){this.set("globalBlendingActiveCopy",this.get("globalBlendingActive"));if(this.O("globalBlendingActive","globalBlendingActiveCopy","url","inVR","hotspotsEnabled","enabled","interactionEnabled","contentInteractive","composedTranslationX","composedTranslationY",
"composedTranslationZ")){var c=!(0!=this.get("composedTranslationX")||0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"))&&0==this.get("globalBlendingActive")&&this.get("hotspotsEnabled")&&this.get("enabled")&&!this.get("inVR")&&!!this.get("url");this.set("visible",c);this.set("beamEnabled",c&&this.get("interactionEnabled"));this.Uf.set("contentInteractive",c&&this.get("interactionEnabled")&&this.get("contentInteractive"))}this.set("frameHidden",!this.Uf.get("geometryVisible"));
this.O("visible","loaded","frameHidden","transparent","inScreenshot")&&(this.get("visible")||this.set("loaded",!1),this.Ua.set("alpha",!this.get("visible")||!this.get("frameHidden")&&this.get("loaded")?0:1),this.Ua.set("alpha",1),this.Ds.set("alpha",!this.get("visible")||this.get("frameHidden")||!this.get("loaded")||this.get("transparent")||this.get("inScreenshot")?0:1),this.Uf.set("alpha",this.get("visible")?1:0),this.Uf.set("transparent",this.get("transparent")),this.set("inView",this.get("visible")&&
(this.get("loaded")||this.get("image"))),this.Da());this.O("inView")&&this.u.trigger(this.get("inView")?m.bd:m.Tc)};e.prototype.uM=function(){this.tC();this.Ua=new this.QC;this.Ua.set("image",this.get("image"));this.Ua.set("level",this.get("image")&&g.vAa(this.u,this.get("panoramaPixelsPerDegree")));this.Ua.set("visible",!0);this.Ua.set("alpha",0);this.set("imagePlane",this.Ua)};e.prototype.tC=function(){this.Ua&&(this.Ua.remove(),this.Ua=null,this.set("imagePlane",null))};e.prototype.cNa=function(){this.eoa();
this.Uf=new this.B8;this.Uf.bind(m.Z,this.Roa,this,!0);this.Uf.set("url",this.get("url"));this.Uf.set("visible",!0);this.Uf.set("alpha",1);this.set("framePlane",this.Uf)};e.prototype.eoa=function(){this.Uf&&(this.Uf.unbind(m.Z,this.Roa,this,!0),this.Uf.remove(),this.Uf=null,this.set("framePlane",null))};e.prototype.dNa=function(){this.goa();this.Ds=new this.H9;this.Ds.set("visible",!0);this.Ds.set("alpha",1);this.set("holePlane",this.Ds)};e.prototype.goa=function(){this.Ds&&(this.Ds.remove(),this.Ds=
null,this.set("holePlane",null))};e.prototype.j9=function(){return this.Ds};e.prototype.Roa=function(){this.Da()};e.prototype.kD=function(){this.trigger(m.$c);this.trigger(m.Z)};e.prototype.nD=function(c,d){var f=0;d.Dt(function(p){(p=d.um(p))&&(f+=p.Mg)});this.trigger(new ProgressEvent(m.lc,f/d.cd.length))};return e});
define("fX",["require","lE","jq"],function(a){var e=a("lE"),l=a("jq");a=e.extend(l,function(){l.call(this);this.set("tag","ComposedCSSObject");this.set("transparent",!1);this.set("cssScene",null);this.set("cssSceneOver",null);this.set("cssObject",this.j7());this.ev&&this.ev();this.rC&&this.rC();this.Iy&&this.Iy();this.eo&&this.eo()});a.prototype.j7=function(){var m=new THREE.CSS3DObject;m.matrixAutoUpdate=!1;return m};a.prototype.Qb=function(){l.prototype.Qb.call(this);this.zo&&this.zo();this.MN&&
this.MN();this.sI&&this.sI()};a.prototype.Tb=function(){this.QH&&this.QH();this.uI&&this.uI();this.Bo&&this.Bo();var m=this.get("cssObject");m&&m.parent&&m.parent.remove(m);this.set("cssScene",null);l.prototype.Tb.call(this)};a.prototype.ia=function(m){this.sf&&this.sf(m);l.prototype.ia.call(this,m);this.set("cssScene",m.iR);this.set("cssSceneOver",m.jR);if(this.O("transparent")){var k=this.get("cssObject");k&&k.parent&&k.parent.remove(k)}this.O("cssScene","cssSceneOver","transparent")&&(k=this.get("transparent")?
m.jR:m.iR)&&k.add(this.get("cssObject"));this.km();this.Vj&&this.Vj(m);this.Gw&&this.Gw(m);this.pE()};a.prototype.km=function(){this.O("composedAlpha","meshGroup")&&this.py()};a.prototype.py=function(){this.get("cssObject").element.style.display=0<this.get("composedAlpha")?"block":"none"};a.prototype.pE=function(){this.O("index")&&(this.get("cssObject").containerElement.style.zIndex=this.get("index"))};return a});
define("eq",["require","jv","a"],function(a){var e=a("jv"),l=a("a"),m=new THREE.Matrix4,k=Math.PI/180;return{ev:function(){this.set("vertices",void 0);this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.Ao=new THREE.Matrix4;this.Wm=new THREE.Matrix4;this.sq=new THREE.Matrix4},j7:function(){var b=new THREE.CSS3DQuad;b.matrixAutoUpdate=!1;return b},Gw:function(b){var h=!1;if(this.O("vertices","contentWidth","contentHeight")){var g=this.get("vertices");h=l.Et(g[0].get("yaw")*k,g[0].get("pitch")*
k).normalize();var c=l.Et(g[1].get("yaw")*k,g[1].get("pitch")*k).normalize(),d=l.Et(g[2].get("yaw")*k,g[2].get("pitch")*k).normalize();g=l.Et(g[3].get("yaw")*k,g[3].get("pitch")*k).normalize();var f=this.get("cssObject");f.vertices[0].set(h.x,h.y,-h.z);f.vertices[1].set(c.x,c.y,-c.z);f.vertices[2].set(d.x,d.y,-d.z);f.vertices[3].set(g.x,g.y,-g.z);f.contentWidth=this.get("contentWidth");f.contentHeight=this.get("contentHeight");h=!0}c=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&
(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*e.zg,.5*this.get("composedTranslationY")*e.zg,.5*this.get("composedTranslationZ")*e.zg),c=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Ld.makeRotationY(-b.Qa*k),this.Ld.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*k)),this.Ld.multiply(m.makeRotationY(this.get("composedDeltaYaw")*k)),this.Ld.multiply(m.makeRotationY(b.Qa*k)),c=!0);if(c||this.O("meshGroup"))this.sq.copy(this.yh),this.sq.multiply(this.Ld),
this.get("cssObject").matrix.copy(this.sq),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Qa);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.xg);this.set("cameraHfov",b.Ie);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(c||h||this.O("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.O("geometryVisible")&&
this.bca())}}});
define("dZ","require ik jv ew kJ a".split(" "),function(a){var e=a("ik"),l=a("jv"),m=a("ew"),k=a("kJ"),b=a("a"),h=new THREE.Matrix4,g=Math.PI/180;return{ev:function(){this.set("distance",void 0);this.set("vertices",void 0);this.Rg=null;this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.cm=new THREE.Matrix4;this.Ai=new THREE.Matrix4},Gw:function(c){this.LZa(c);this.Zq(c)},sH:function(){var c=this.get("meshGroup");return c?m.Yk(c)[0]:null},co:function(){this.Rg||(this.Rg=this.Hy());return[0].map(function(c){var d=
this.sM();c=m.create(this.Rg[c],d);k.wx(c,k.Dp);k.xx(c,k.Yr);k.AF(c,e.BL);k.fT(c,1);return c}.bind(this))},LZa:function(){if(this.O("vertices")){var c=this.get("meshGroup");if(c)return this.Rg&&this.Rg.forEach(function(d){l.dispose(d)}),this.Rg=this.Hy(),m.Yk(c).map(function(d,f){m.wia(d,this.Rg[f])}.bind(this))}},Hy:function(){function c(w){return 0==w||isNaN(w)||!isFinite(w)}var d=this.get("vertices")||[];if(4!=d.length)return[l.vza(-1,1,1,1,1,1,1,-1,1,-1,-1,1)];var f=b.Et(d[0].get("yaw")*g,d[0].get("pitch")*
g).normalize(),p=b.Et(d[1].get("yaw")*g,d[1].get("pitch")*g).normalize(),q=b.Et(d[2].get("yaw")*g,d[2].get("pitch")*g).normalize();d=b.Et(d[3].get("yaw")*g,d[3].get("pitch")*g).normalize();var n=f.clone().l0(q),r=d.clone().l0(p),t=n.clone().l0(r).normalize();r=(2*f.y*t.x/f.x-2*t.y)/(-q.y+f.y*q.x/f.x);c(r)&&(r=(2*f.z*t.x/f.x-2*t.z)/(-q.z+f.z*q.x/f.x));c(r)&&(r=(2*f.z*t.y/f.y-2*t.z)/(-q.z+f.z*q.y/f.y));var u=(2*t.x-q.x*r)/f.x;c(u)&&(u=(2*t.y-q.y*r)/f.y);c(u)&&(u=(2*t.z-q.z*r)/f.z);n=(2*p.y*t.x/p.x-
2*t.y)/(-d.y+p.y*d.x/p.x);c(n)&&(n=(2*p.z*t.x/p.x-2*t.z)/(-d.z+p.z*d.x/p.x));c(n)&&(n=(2*p.z*t.y/p.y-2*t.z)/(-d.z+p.z*d.y/p.y));var v=(2*t.x-d.x*n)/p.x;c(v)&&(v=(2*t.y-d.y*n)/p.y);c(v)&&(v=(2*t.z-d.z*n)/p.z);f=f.PK(u);p=p.PK(v);q=q.PK(r);d=d.PK(n);return[l.vza(f.x,f.y,-f.z,p.x,p.y,-p.z,q.x,q.y,-q.z,d.x,d.y,-d.z)]},Zq:function(c){var d=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*l.zg,.5*this.get("composedTranslationY")*
l.zg,.5*this.get("composedTranslationZ")*l.zg),d=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Ld.makeRotationY(-c.Qa*g),this.Ld.multiply(h.makeRotationX(-this.get("composedDeltaPitch")*g)),this.Ld.multiply(h.makeRotationY(this.get("composedDeltaYaw")*g)),this.Ld.multiply(h.makeRotationY(c.Qa*g)),d=!0);this.O("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&(c=0==this.oa.get("composedTranslationX")&&0==this.oa.get("composedTranslationY")&&
0==this.oa.get("composedTranslationZ")&&void 0!==this.get("distance")?l.Jt(this.get("distance")):l.pr(),this.cm.makeScale(c,c,c),d=!0);if(d||this.O("meshGroup"))this.Ai.copy(this.yh),this.Ai.multiply(this.Ld),this.Ai.multiply(this.cm),c=m.Yk(this.get("meshGroup")),m.hr(c[0],this.Ai)}}});
define("ct",["require","pf"],function(a){var e=a("pf");return{rC:function(){this.set("visible",!1);this.set("inView",!1);this.set("url",!1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("contentInteractive",!1);this.set("frameLoaded",!0);this.Ac=this.be=null;this.nW=void 0;this.N_=this.N_.bind(this);this.O_=this.O_.bind(this);this.P_=this.P_.bind(this);this.PC=this.PC.bind(this);this.O9=this.O9.bind(this)},Vj:function(){this.O("cssObject")&&(this.eNa(),this.get("cssObject").element.appendChild(this.be));
this.O("url")&&this.fWa(this.get("url"));this.O("contentWidth","contentHeight")&&(this.be.style.width=this.get("contentWidth")+2+"px",this.be.style.height=this.get("contentHeight")+2+"px");this.O("contentInteractive")&&(this.be.style.pointerEvents=this.get("contentInteractive")?"auto":"none")},km:function(){this.O("composedAlpha")&&(0<this.get("composedAlpha")?this.Ac&&!this.Ac.parentNode&&(this.uxa(),this.be.appendChild(this.Ac)):this.Ac&&this.Ac.parentNode&&this.be.removeChild(this.Ac))},MN:function(){this.trigger(e.$c);
this.get("frameLoaded")&&this.trigger(e.Z)},QH:function(){this.mMa()},O_:function(l){l.preventDefault();l.stopImmediatePropagation()},N_:function(){this.Ea.uc.vF(null)},P_:function(l){l.preventDefault();l.stopImmediatePropagation()},PC:function(){this.set("frameLoaded",!0);this.trigger(e.Z)},O9:function(){this.oW=null;this.PC()},eNa:function(){this.Ac||(this.be=document.createElement("div"),this.be.style.position="absolute",this.be.style.left=this.be.style.top="-1px",this.get("cssObject").isCSS3DObject&&
(this.be.style.transform="translate(-50%, -50%)"),this.be.style.overflow="hidden",this.be.style["-webkit-overflow-scrolling"]="touch",this.be.addEventListener("mouseenter",this.N_,!0),this.be.addEventListener("mousemove",this.O_,!0),this.be.addEventListener("mousewheel",this.P_,!0),this.Ac=document.createElement("iframe"),this.Ac.setAttribute("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),this.Ac.setAttribute("frameborder",
"0"),this.Ac.setAttribute("scrolling","auto"),this.Ac.style.width="100%",this.Ac.style.height="100%",this.Ac.addEventListener("load",this.PC,!0),0<this.get("composedAlpha")&&this.be.appendChild(this.Ac))},mMa:function(){this.Ac&&(this.Ac.src="",this.Wba(),this.Ey(),this.Ac.parentNode&&this.Ac.parentNode.removeChild(this.Ac),this.Ac=null);this.be&&(this.be.parentNode&&this.be.parentNode.removeChild(this.be),this.be.removeEventListener("mouseenter",this.N_,!0),this.be.removeEventListener("mousemove",
this.O_,!0),this.be.removeEventListener("mousewheel",this.P_,!0),this.be=null)},fWa:function(l){this.nW!==l&&(this.nW=l,this.set("frameLoaded",!1),this.uxa())},uxa:function(){this.nW?(this.jWa(),this.lKa(),this.Ac.src=this.nW):(this.Ey(),this.Wba(),this.Ac.src="",this.PC())},jWa:function(){this.Ey();this.oW=setTimeout(this.O9,3E3)},Ey:function(){this.oW&&(clearTimeout(this.oW),this.oW=null)},lKa:function(){this.Wba();this.Ac.addEventListener("load",this.PC,!0)},Wba:function(){this.Ac.removeEventListener("load",
this.PC,!0)}}});define("kN",["require","ew","pf"],function(a){var e=a("ew"),l=a("pf");return{rC:function(){this.get("materialConfig").params.blending=THREE.NoBlending},MN:function(){this.trigger(l.$c);this.trigger(l.Z)},km:function(){this.O("meshGroup","composedAlpha")&&e.Ze(this.get("meshGroup"),0<this.get("composedAlpha")?.001:0)}}});
define("mT",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,["playbackPositions","width","height"],this.Wd,!0)},Bo:function(){e.ba(this.u,["playbackPositions","width","height"],this.Wd)},Wd:function(){this.set("playbackPositions",this.u.get("playbackPositions"));this.set("contentWidth",this.u.get("width"));this.set("contentHeight",this.u.get("height"))},sf:function(){this.O("playbackPositions",
"currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("vertices",this.tb.kga()));this.O("framePlane","holePlane","imagePlane","vertices")&&this.jb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("contentWidth",this.get("contentWidth"));m.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("jS","require lE bV fX c eq dZ ct hi kN mT".split(" "),function(a){var e=a("lE"),l=a("bV"),m=a("fX"),k=a("c"),b=a("eq"),h=a("dZ"),g=a("ct"),c=a("hi"),d=a("kN");a=a("mT");var f=e.extend(k,h,c,function(){k.call(this);this.set("tag","QuadFrameHotspotImage")}),p=e.extend(m,b,g,function(){m.call(this);this.set("tag","QuadFrameHotspotFrame")}),q=e.extend(k,h,d,function(){k.call(this);this.set("tag","QuadFrameHotspotHole")});return e.extend(l,a,function(n){l.call(this,n);this.QC=f;this.B8=p;this.H9=
q})});
define("ld",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,["vertices","distance","playbackPositions"],this.Wd,!0)},Bo:function(){e.ba(this.u,["vertices","distance","playbackPositions"],this.Wd)},Wd:function(){this.set("distance",this.u.get("distance"));this.set("vertices",this.u.get("vertices"));this.set("playbackPositions",this.u.get("playbackPositions"))},sf:function(){this.O("playbackPositions",
"currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("vertices",this.tb.kga()),this.set("alpha",this.tb.Zk()))}}});
define("jx","require lE kS pf ew c dZ hi pc ld nE".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("ew"),b=a("c"),h=a("dZ"),g=a("hi"),c=a("pc"),d=a("ld"),f=a("nE"),p=0;a=e.extend(b,h,d,g,c,function(q){b.call(this);this.set("tag","QuadHotspotImage");this.set("id","quad_hs_image_"+p++);this.set("side",THREE.DoubleSide);this.u=q;this.yk.push(this.u);this.cg=this.cg.bind(this)});a.prototype.Qb=function(){b.prototype.Qb.call(this);l.ha(this.u,["image.levels"],this.cg,!0)};a.prototype.Tb=function(){l.ba(this.u,
["image.levels"],this.cg);b.prototype.Tb.call(this)};a.prototype.cg=function(){this.set("image",this.u.get("image"));this.set("level",f.n2a(this.u))};a.prototype.ia=function(q){this.lE();b.prototype.ia.call(this,q);this.O("inView")&&this.u.trigger(this.get("inView")?m.bd:m.Tc)};a.prototype.lE=function(){if(this.O("meshGroup","panoramaId","id")){var q=this.get("meshGroup");q&&q.children.forEach(function(n){k.setAttribute(n,k.fB,this.get("panoramaId"));k.setAttribute(n,k.K3,this.get("id"))}.bind(this))}};
return a});
define("jo",["require","pf","lg"],function(a){function e(b,h){this.uc=b;this.Ad=h;this.Mb=!1;this.nY=!0;this.s6=this.bba=!1;this.S5();this.naa()}var l=a("pf"),m=a("lg");e.prototype.clear=function(){this.Vsa();this.Tba()};e.prototype.Bf=function(b){this.Mb!=b&&(this.Mb=b,this.nt())};e.prototype.f7a=function(b){this.nY!=b&&((this.nY=b)&&this.Vsa(),this.nt())};e.prototype.nt=function(){if(!this.Mb||this.nY)this.Ad.set("state",m.W);else if(this.Ad.get("autoplay")||this.s6)this.s6=!1,this.Ad.set("state",m.Y)};
e.prototype.naa=function(){if(!this.bba){var b=this.Ad.get("video").get("autoplayTime");void 0!==b&&this.Ad.get("video").get("autoplayTimeLimit")<(new Date).getTime()&&(b=void 0);this.Ad.set("currentTime",b);this.s6=void 0!==b}};e.prototype.Vsa=function(){this.bba||(this.bba=!0,this.Ad.get("state")==m.Y?(this.Ad.get("video").set("autoplayTimeLimit",(new Date).getTime()+k),this.Ad.get("video").set("autoplayTime",this.Ad.get("currentTime",0))):this.Ad.get("video").set("autoplayTime",void 0))};e.prototype.S5=
function(){this.Ad.get("video").bind(l.D("autoplayTime"),this.naa,this,!0)};e.prototype.Tba=function(){this.Ad.get("video").unbind(l.D("autoplayTime"),this.naa,this,!0)};var k=1E3;return e});
define("eJ",["require","pf","eH"],function(a){var e=a("pf"),l=a("eH");return{Iy:function(){this.set("beamEnabled",!1);this.fd=!1;this.Nz=this.Oz=void 0},To:function(m){this.Oz=m.Qa;this.Nz=m.pitch},Bm:function(m){if(m.nf==e.rl){var k=!m.Wk()&&this.Tq(m)&&!this.get("blendingActive");if(k){m.hA(this.u);this.u.get("useHandCursor")&&m.vE(this.u);m.Vk(this.get("distance"));var b=this.Sb(m.$E());b&&m.V_(b,this.Zz(m.$E()))}this.fd!=k&&(this.fd=k,this.u.trigger(this.fd?e.ad:e.Xb),m.Rt()&&this.u.trigger(this.fd?
e.CB:e.Fp))}else m.nf==e.Pf&&!m.Wk()&&this.Tq(m)&&(1<this.u.YJ(e.qa,!0).length&&m.Jr(this.u),m.Vk(this.get("distance")),this.u.trigger(e.qa))},Tq:function(m){if(this.get("beamEnabled")){m=this.j9().wv(m.Mq);for(var k=0;k<m.length;k++){var b=m[k];if(l.Cx(b.source,b.x,b.y))return!0}}return!1},Sb:function(m){return!m||this.u.get("displayTooltipInTouchScreens")&&!1!==this.Ea.L.get("displayTooltipInTouchScreens")?this.u.get("toolTip",""):""},Zz:function(m){if(m){m=this.get("yaw")-this.Oz;var k=this.get("pitch")-
this.Nz;return Math.sqrt(m*m+k*k)}return 0}}});
define("fg","require lE kS pf lg oB cY jo bA oy nE eJ lF oH bG".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("lg"),b=a("oB"),h=a("cY"),g=a("jo"),c=a("bA"),d=a("oy"),f=a("nE"),p=a("eJ"),q=a("lF"),n=a("oH"),r=a("bG");a=e.extend(h,p,c,function(t){h.call(this);this.u=t;this.Eea=this.QC=null;this.yk.push(this.u);this.bg=this.bg.bind(this);this.Pp(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoHotspot");this.set("enabled",!0);this.set("inVR",!1);this.set("overlaysEnabled",
!0);this.set("enabledInVR",!0);this.set("enabledInStandard",!0);this.set("interactionEnabled",!0);this.set("centerOverDisplay",!1);this.set("loadingActive",!1);this.set("frameEmpty",!0);this.set("state",k.W);this.set("itemVisible","none");this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.wb=this.Ua=this.Zd=this.Gf=null;this.Fea=!1;this.ys=[];this.sca(this.u)});a.prototype.Qb=function(){this.Gf=(new d(m.Z)).Fm(this.kD.bind(this));
this.Zd=(new d(m.lc)).hp(this.nD.bind(this));this.vl=new g(this.Ea.uc,this.u);h.prototype.Qb.call(this);l.ha(this.u,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),this.bg,!0);this.v8()};a.prototype.Tb=function(){this.w8();this.vl.clear();this.Gf.dispose();this.Zd.dispose();l.ba(this.u,"blending chromaColor chromaThreshold chromaSmoothing distance scaleMode image.levels video.levels enabled enabledInStandard enabledInVR fadeInDuration fadeOutDuration interactionEnabled state videoVisibleOnStop".split(" "),
this.bg);this.tC();this.Py();h.prototype.Tb.call(this)};a.prototype.bg=function(){this.set("image",this.u.get("image"));this.set("imageLevel",f.x2a(this.u,this.get("panoramaPixelsPerDegree")));this.set("video",this.u.get("video"));this.set("videoLevel",b.Zj(this.get("video")));this.set("enabled",this.u.get("enabled"));this.set("enabledInStandard",this.u.get("enabledInStandard"));this.set("enabledInVR",this.u.get("enabledInVR"));this.set("fadeInDuration",this.u.get("fadeInDuration"));this.set("fadeOutDuration",
this.u.get("fadeOutDuration"));this.set("interactionEnabled",this.u.get("interactionEnabled"));this.set("state",this.u.get("state"));this.set("videoVisibleOnStop",this.u.get("videoVisibleOnStop"));this.set("blending",this.u.get("blending"));this.set("chromaColor",this.u.get("chromaColor"));this.set("chromaThreshold",this.u.get("chromaThreshold"));this.set("chromaSmoothing",this.u.get("chromaSmoothing"))};a.prototype.ia=function(t){this.set("inVR",t.pb);this.set("hotspotsEnabled",t.VE);this.Yq();this.rQ();
h.prototype.ia.call(this,t);this.nt();this.BQ(t);this.ae(t);this.Mda(t)};a.prototype.Yq=function(){if(this.O("video","videoLevel","image","imageLevel")){var t=[];this.O("image","imageLevel")&&(this.uM(),this.Ua&&t.push(this.Ua));this.O("video","videoLevel")&&(this.wM(),this.wb&&t.push(this.wb));this.fh(t);this.Gf.Af(t);this.Zd.Af(t)}};a.prototype.rQ=function(){this.O("video","videoLevel","image","imageLevel","blending","chromaColor","chromaThreshold","chromaSmoothing")&&this.jb().forEach(function(t){t.set("blending",
this.get("blending"));t.set("chromaColor",this.get("chromaColor"));t.set("chromaThreshold",this.get("chromaThreshold"));t.set("chromaSmoothing",this.get("chromaSmoothing"))}.bind(this))};a.prototype.nt=function(){this.O("video","composedAlpha","enabledInVR","enabledInStandard","enabled","inVR")&&this.vl.Bf(0<this.get("composedAlpha")&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.O("blendingActive")&&
this.vl.f7a(this.get("blendingActive"))};a.prototype.BQ=function(){this.set("frameEmpty",!this.wb||!this.wb.get("hasStableContent"))};a.prototype.ae=function(t){var u=this.get("itemVisible");if(this.O("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var v="none";this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))&&(this.wb&&(!this.Ua||
!this.get("frameEmpty")&&(this.get("state")!=k.W||this.Fea&&this.get("videoVisibleOnStop")))?v="video":this.Ua&&(v="image"),this.get("state")!=k.W&&(this.Fea=!0));this.set("itemVisible",v);this.set("beamEnabled","none"!=v&&this.get("interactionEnabled"))}if(this.O("itemVisible")){v="none"!=this.get("itemVisible");var w="none"!=u;if(v&&w&&!this.get("chromaColor")&&0==this.ys.length)this.Ua&&this.Ua.set("alpha","image"==this.get("itemVisible")?1:0),this.wb&&this.wb.set("alpha","video"==this.get("itemVisible")?
1:0);else{u=v==w?50:v?this.get("fadeInDuration"):this.get("fadeOutDuration");v!=w&&this.u.trigger(v?m.bd:m.Tc);w=this.Ua?this.Ua.get("alpha"):0;var x=this.wb?this.wb.get("alpha"):0;v=[{video:x,image:w}];"video"==this.get("itemVisible")?(v.push({video:1,image:w,time:u*(1-x)}),v.push({video:1,image:0,time:50*(w-0)})):"image"==this.get("itemVisible")?(v.push({video:x,image:1,time:u*(1-w)}),v.push({video:0,image:1,time:50*(x-0)})):v.push({video:0,image:0,time:Math.max(x,w,1/u)*u});this.ys=[];for(u=1;u<
v.length;u++)0<v[u].time&&this.ys.push(new n("linear",[new r("imageAlpha",v[u-1].image,v[u].image),new r("videoAlpha",v[u-1].video,v[u].video)],v[u].time))}}0<this.ys.length&&(this.ys[0].Ye()?this.ys.shift():this.ys[0].Cb(t.Ge),0<this.ys.length&&(this.Ua&&this.Ua.set("alpha",this.ys[0].fb("imageAlpha")),this.wb&&this.wb.set("alpha",this.ys[0].fb("videoAlpha")),this.Da()))};a.prototype.uM=function(){this.tC();this.get("image")&&this.get("imageLevel")&&(this.Ua=new this.QC,this.Ua.set("image",this.get("image")),
this.Ua.set("level",this.get("imageLevel")),this.Ua.set("isVideoTexture",!0),this.Ua.set("visible",!0),this.Ua.set("alpha",0),this.Ua.set("side",THREE.DoubleSide))};a.prototype.tC=function(){this.Ua&&(this.Ua.remove(),this.Ua=null)};a.prototype.wM=function(){this.Py();this.get("video")&&this.get("videoLevel")&&(this.wb=new this.Eea,this.wb.set("scriptObject",this.u),this.wb.set("video",this.get("video")),this.wb.set("level",this.get("videoLevel")),this.wb.set("visible",!0),this.wb.set("alpha",0),
this.wb.set("side",THREE.DoubleSide))};a.prototype.Py=function(){this.wb&&(this.wb.remove(),this.wb=null)};a.prototype.kD=function(){this.trigger(m.$c);this.trigger(m.Z)};a.prototype.nD=function(t,u){var v=0;u.Dt(function(w){(w=u.um(w))&&(v+=w.Mg)});this.trigger(new q(m.lc,v/u.cd.length))};a.prototype.j9=function(){return"video"==this.get("itemVisible")?this.wb:this.Ua};return a});
define("gR","require pf lg cx ew mG mc fl kB oB".split(" "),function(a){var e=a("pf"),l=a("lg"),m=a("cx"),k=a("ew"),b=a("mG"),h=a("mc"),g=a("fl"),c=a("kB"),d=a("oB");return{rC:function(){this.set("visible",!1);this.set("inView",!1);this.set("frameEmpty",!0);this.set("hasStableContent",!1);this.set("blending",0);this.set("chromaColor",void 0);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",null);this.set("video",null);this.set("level",null);this.set("loop",!1);this.set("side",
void 0);this.ab=this.wb=null;this.Fea=!1;this.dQ=this.ah=this.gm=this.Ja=this.$p=this.da=null},QH:function(){this.Py()},Vj:function(f){this.MZa();this.rQ();this.BQ(f)},MZa:function(){this.O("scriptObject","video","level")&&(this.Py(),this.wb=this.get("video"),this.ab=this.get("level"),this.u=this.get("scriptObject"),this.wM())},rQ:function(){if(this.O("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.wb){var f=new m.Tn(this.wb.Pi());f.lA=this.get("blending");f.yt=
this.get("chromaColor");f.dR=this.get("chromaThreshold");f.cR=this.get("chromaSmoothing");f.side=this.get("side");this.set("materialConfig",f)}},km:function(){this.O("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&0<this.get("composedAlpha"));this.O("composedAlpha","meshGroup","inView")&&k.Ze(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},BQ:function(){var f=!!this.ah&&this.ah.isEmpty(),p=this.da&&this.da.N0(),q=!!p&&p.isEmpty();q&&!f&&this.da.getState()==
l.Y&&this.u.get("loop")&&(p=this.ah,q=!1);this.set("frameEmpty",q);this.Pda();!this.ah||p&&!this.ah.isEqual(p)?(this.ah=p,(f=this.ah.xs)&&"VIDEO"==f.tagName&&(f.width=this.get("contentWidth"),f.height=this.get("contentHeight")),this.dQ.Cm(f),this.dQ.update(),this.Da()):this.da.getState()==l.Y&&this.Da()},Pda:function(){var f=this.da.getCurrentTime(),p=this.da.ji();this.get("frameEmpty")?this.set("hasStableContent",!1):f>this.LV+.1?this.set("hasStableContent",!0):0==f&&this.E$>p-.5?this.set("hasStableContent",
!0):this.set("hasStableContent",!1);this.O("frameEmpty")&&!this.get("frameEmpty")&&(this.LV=f);!this.get("frameEmpty")&&0<f&&(this.E$=f)},wM:function(){this.wb&&this.ab&&this.u&&(this.set("textureSource",this.dQ=new g),this.dQ.WS(!0),this.set("contentWidth",this.ab.get("width")),this.set("contentHeight",this.ab.get("height")),this.set("alpha",0),this.da=new d(this.Ea.uc,this.wb),this.da.d6a(),this.$p=new b(this.u,this.da),this.Ja=new h(this.Ea.uc,this.u,this.da),this.gm=new c(this.Ea.Nc.get("panorama"),
this.da),this.Mu(),this.trigger(e.$c),this.trigger(e.Z))},Py:function(){this.da&&(this.set("textureSource",this.dQ=null),this.mw(),this.Ja.clear(),this.Ja=null,this.$p.clear(),this.$p=null,this.gm.clear(),this.gm=null,this.da.clear(),this.ah=this.da=null,this.set("frameEmpty",!0),this.set("hasStableContent",!1),this.ab=this.wb=null)},Mu:function(){this.da.bind(d.Of,this.ef,this,!0);this.da.bind(e.se,this.Fi,this,!0)},mw:function(){this.da.unbind(d.Of,this.ef,this,!0);this.da.unbind(e.se,this.Fi,this,
!0)},Fi:function(){this.Da()},ef:function(){this.Da()}}});
define("oG",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.set("distance",void 0);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,["playbackPositions","distance"],this.Wd,!0)},Bo:function(){e.ba(this.u,["playbackPositions","distance"],this.Wd)},Wd:function(){this.set("distance",this.u.get("distance"));this.set("playbackPositions",this.u.get("playbackPositions"))},sf:function(){this.O("playbackPositions","currentTime")&&
(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("vertices",this.tb.kga()),this.set("alpha",this.tb.Zk()));this.O("video","image","vertices","distance")&&this.jb().forEach(function(m){m.set("vertices",this.get("vertices"));m.set("distance",this.get("distance"))}.bind(this))}}});
define("kx","require lE fg c dZ hi gR oG".split(" "),function(a){var e=a("lE"),l=a("fg"),m=a("c"),k=a("dZ"),b=a("hi"),h=a("gR");a=a("oG");var g=e.extend(m,k,b,function(){m.call(this);this.set("tag","QuadVideoHotspotImage")}),c=e.extend(m,k,h,function(){m.call(this);this.set("tag","QuadVideoHotspotVideo")});return e.extend(l,a,function(d){l.call(this,d);this.QC=g;this.Eea=c})});
define("lc","require lE kS lg kr nW v".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("lg"),k=a("kr"),b=a("nW"),h=a("v");a=e.extend(k,function(g){k.call(this);this.u=g;this.Bk=this.Bk.bind(this);this.Ck=this.Ck.bind(this);this.Qm()});a.prototype.Qb=function(){k.prototype.Qb.call(this);this.u.set("state",this.u.get("startState"));l.ha(this.u,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.Bk,!0);l.ha(this.u,["state"],this.Ck,
!0)};a.prototype.Tb=function(){l.ba(this.u,"color speed intensity size opacity maxDistance farPlaneDistance particleCount farPlaneParticleCount".split(" "),this.Bk);l.ba(this.u,["state"],this.Ck);this.u.set("state",m.W);k.prototype.Tb.call(this)};a.prototype.Bk=function(){this.Qm();this.oP()};a.prototype.Ck=function(){this.HY=this.u.get("state");this.Da()};a.prototype.Qm=function(){k.prototype.Qm.call(this);if(h.yf()){this.BC=this.Fs=4;this.yD=2400;this.CC=1200;var g=1.5;var c=1.6}else this.Fs=2,
this.BC=4,this.yD=4800,this.CC=2400,c=g=1;var d=this.u.get("intensity",.5);this.Mc=b.Ar(this.u.get("color","#ffffff"));this.TO=.24*this.u.get("opacity",.25)+.01;this.TO*=2;this.Gz=(d*(.37-.17)+.17)*g;g=(this.u.get("speed",.5)*(.09-.02)+.02)/this.Gz*c;this.SN=.9*g;this.gD=1.1*g;this.yD=Math.round(this.u.get("particleCount",this.yD)*d);this.CC=Math.round(this.u.get("farPlaneParticleCount",this.CC)*d);this.gX=0;this.pq=2;this.Gs=-2;this.V$=0;this.TL=.75;this.CM=.5;this.zW=this.u.get("initialState");
this.NZ=this.u.get("startDuration");this.TZ=this.u.get("stopDuration");this.Fs=this.u.get("maxDistance",this.Fs);this.BC=this.u.get("farPlaneDistance",this.BC);this.eA()};a.prototype.nV=function(){var g=new THREE.MeshBasicMaterial;g.color=new THREE.Color(this.Mc[0]/255,this.Mc[1]/255,this.Mc[2]/255);g.side=THREE.FrontSide;g.transparent=!0;g.depthTest=!1;g.needsUpdate=!0;this.GC||(this.GC=new THREE.BoxGeometry(.01,.2,.01));return new THREE.Mesh(this.GC,g)};a.prototype.eA=function(){var g=this.og&&
this.og.children||[],c=new THREE.Color(this.Mc[0]/255,this.Mc[1]/255,this.Mc[2]/255);g.forEach(function(d){d.material.color=c;d.material.needsUpdate=!0})};return a});
define("gD","require lE z pf cC jq".split(" "),function(a){var e=a("lE"),l=a("z"),m=a("pf"),k=a("cC"),b=a("jq"),h=e.extend(b,function(g,c,d,f){b.call(this);this.uc=g;this.L=c;this.Nc=d;this.j=f;this.eO=new l;this.yca(this);this.set("tag","Root");this.set("globalBlendingActive",0)});h.prototype.xf=function(g){return this.eO.get(g)};h.prototype.all=function(){for(var g=[],c=[this];0<c.length;){var d=c.pop();g.push(d);for(var f=d.Sd.length-1;0<=f;f--)c.push(d.Sd[f])}return g};h.prototype.update=function(g){var c=
this.all(),d=c.length,f;for(f=0;f<d;f++)c[f].rMa();for(f=0;f<d;f++)c[f].set("index",f);for(f=0;f<d;f++)c[f].Ea&&c[f].ia(g);for(f=0;f<d;f++)c[f].jMa();if(this.xW){for(f=0;f<d;f++)c[f].nMa();this.update(g)}};h.prototype.Da=function(){this.fg||this.trigger(new k(m.ca));b.prototype.Da.call(this)};h.prototype.$w=function(g){return Array.isArray(g)?g.map(this.$w.bind(this)):this.eO.get(g)||h.f1a.create(g)};return h});
define("gg","require lE kS lg kr v".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("lg"),k=a("kr"),b=a("v");a=e.extend(k,function(g){k.call(this);this.u=g;this.Bk=this.Bk.bind(this);this.Ck=this.Ck.bind(this);this.Qm()});a.prototype.Qb=function(){k.prototype.Qb.call(this);this.u.set("state",this.u.get("startState"));l.ha(this.u,["intensity","speed"],this.Bk,!0);l.ha(this.u,["state"],this.Ck,!0)};a.prototype.Tb=function(){l.ba(this.u,["intensity","speed"],this.Bk);l.ba(this.u,["state"],this.Ck);
this.u.set("state",m.W);k.prototype.Tb.call(this)};a.prototype.Bk=function(){this.Qm();this.oP()};a.prototype.Ck=function(){this.HY=this.u.get("state");this.Da()};a.prototype.Qm=function(){k.prototype.Qm.call(this);var g=this.u.get("intensity"),c=this.u.get("speed");if(b.lb()||b.browser()==b.Sr){var d=1E3;var f=350;var p=1800;var q=400;var n=.8;var r=1.2}else b.yf()?(d=1500,f=500,p=2500,q=500,n=.8,r=1.2):(d=3E3,f=1E3,p=5E3,q=1E3,n=.6,r=1);this.zW=this.u.get("initialState");this.NZ=this.u.get("startDuration");
this.TZ=this.u.get("stopDuration");this.TL=.75;this.CM=.5;this.Fs=4;this.Gs=-2;this.pq=3;this.gX=35;this.BC=7;this.Gz=(n+g*(r-n))/h;this.SN=this.gD=.15+1.35*c;this.yD=f+g*(d-f);this.CC=q+g*(p-q)};a.prototype.nV=function(){return new THREE.Sprite(this.fv())};a.prototype.fv=function(){var g=new THREE.SpriteMaterial;g.map=this.Yp();g.side=THREE.FrontSide;g.transparent=!0;g.depthTest=!1;g.needsUpdate=!0;return g};a.prototype.Yp=function(){if(this.Fa)return this.Fa;var g=document.createElement("canvas");
g.width=g.height=h;var c=g.getContext("2d"),d=c.createRadialGradient(.5*g.width,.5*g.height,.2*g.height,.5*g.width,.5*g.height,.5*g.height);d.addColorStop(0,"rgba(255, 255, 255, 0.8)");d.addColorStop(1,"rgba(255, 255, 255, 0)");c.fillStyle=d;c.fillRect(0,0,g.width,g.height);this.Fa=new THREE.Texture;this.Fa.encoding=THREE.sRGBEncoding;this.Fa.image=g;this.Fa.needsUpdate=!0;return this.Fa};var h=32;return a});
define("da",["require","jv","v"],function(a){var e=a("jv"),l=a("v"),m=new THREE.Matrix4,k=Math.PI/180;return{ev:function(){this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("hfov",void 0);this.set("vfov",null);this.yh=new THREE.Matrix4;this.Ld=new THREE.Matrix4;this.Ao=new THREE.Matrix4;this.Wm=new THREE.Matrix4;this.lj=new THREE.Matrix4;this.cm=new THREE.Matrix4;this.sq=new THREE.Matrix4},
j7:function(){var b=l.td()==l.ri||l.browser()==l.Sr?new THREE.CSS3DRectangle:new THREE.CSS3DObject;b.matrixAutoUpdate=!1;return b},Gw:function(b){if(this.O("contentWidth","contentHeight")){var h=this.get("cssObject");h.contentWidth=this.get("contentWidth");h.contentHeight=this.get("contentHeight");h.updateVertices()}h=!1;this.O("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.yh.makeTranslation(.5*-this.get("composedTranslationX")*e.zg,.5*this.get("composedTranslationY")*
e.zg,.5*this.get("composedTranslationZ")*e.zg),h=!0);this.O("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.Ld.makeRotationY(-b.Qa*k),this.Ld.multiply(m.makeRotationX(-this.get("composedDeltaPitch")*k)),this.Ld.multiply(m.makeRotationY(this.get("composedDeltaYaw")*k)),this.Ld.multiply(m.makeRotationY(b.Qa*k)),h=!0);this.O("yaw","pitch")&&(this.Ao.makeRotationY(-this.get("yaw")*k),this.Ao.multiply(m.makeRotationX(this.get("pitch")*k)),h=!0);if(this.O("flipHorizontally","hfov","vfov",
"composedTranslationX","composedTranslationY","composedTranslationZ")){h=this.get("contentWidth");var g=this.get("contentHeight"),c=this.get("hfov"),d=this.get("vfov");this.Wm.makeTranslation(0,0,-(h/(2*Math.tan(c*k*.5))));var f=(this.get("flipHorizontally")?-1:1)*this.get("scale"),p=this.get("scale");d&&(p*=h*Math.tan(d*k*.5)/(g*Math.tan(c*k*.5)));this.cm.makeScale(f,p,1);h=!0}this.O("rotationX","rotationY","rotationZ","roll")&&(this.lj.makeRotationZ(this.get("roll")*k),this.lj.multiply(m.makeRotationY(this.get("rotationY")*
k)),this.lj.multiply(m.makeRotationX(this.get("rotationX")*k)),this.lj.multiply(m.makeRotationZ(this.get("rotationZ")*k)),h=!0);if(h||this.O("meshGroup"))this.sq.copy(this.yh),this.sq.multiply(this.Ld),this.sq.multiply(this.Ao),this.sq.multiply(this.Wm),this.sq.multiply(this.lj),this.sq.multiply(this.cm),this.get("cssObject").matrix.copy(this.sq),this.get("cssObject").matrixWorldNeedsUpdate=!0;this.set("cameraYaw",b.Qa);this.set("cameraPitch",b.pitch);this.set("cameraRoll",b.xg);this.set("cameraHfov",
b.Ie);this.set("cameraWidth",b.width);this.set("cameraHeight",b.height);b.camera&&(h||this.O("cameraYaw","cameraPitch","cameraRoll","cameraHfov","cameraWidth","cameraHeight"))&&(this.get("cssObject").projectVertices(b.camera),this.set("geometryVisible",this.get("cssObject").isVisible),this.O("geometryVisible")&&this.bca())}}});
define("mx",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,["playbackPositions","width","height"],this.Wd,!0)},Bo:function(){e.ba(this.u,["playbackPositions","width","height"],this.Wd)},Wd:function(){this.set("playbackPositions",this.u.get("playbackPositions"));this.set("contentWidth",this.u.get("width"));this.set("contentHeight",this.u.get("height"))},sf:function(){this.O("playbackPositions",
"currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("yaw",this.tb.get("yaw")),this.set("pitch",this.tb.get("pitch")),this.set("roll",this.tb.get("roll")),this.set("rotationX",this.tb.get("rotationX")),this.set("rotationY",this.tb.get("rotationY")),this.set("hfov",this.tb.get("hfov")),this.set("vfov",this.tb.get("vfov")));this.O("framePlane","holePlane","imagePlane","yaw","pitch","roll","rotationX","rotationY","hfov","vfov","contentWidth","contentHeight")&&
this.jb().forEach(function(m){m.set("yaw",this.get("yaw"));m.set("pitch",this.get("pitch"));m.set("roll",this.get("roll"));m.set("rotationX",this.get("rotationX"));m.set("rotationY",this.get("rotationY"));m.set("hfov",this.get("hfov"));m.set("vfov",this.get("vfov"));m.set("contentWidth",this.get("contentWidth"));m.set("contentHeight",this.get("contentHeight"))}.bind(this))}}});
define("mW","require lE bV fX c da os ct hi kN mx".split(" "),function(a){var e=a("lE"),l=a("bV"),m=a("fX"),k=a("c"),b=a("da"),h=a("os"),g=a("ct"),c=a("hi"),d=a("kN");a=a("mx");var f=e.extend(k,h,c,function(){k.call(this);this.set("tag","RectangleFrameHotspotImage")}),p=e.extend(m,b,g,function(){m.call(this);this.set("tag","RectangleFrameHotspotFrame")}),q=e.extend(k,h,d,function(){k.call(this);this.set("tag","RectangleFrameHotspotHole")});return e.extend(l,a,function(n){l.call(this,n);this.QC=f;
this.B8=p;this.H9=q})});
define("ov",["require","kS","nT"],function(a){var e=a("kS"),l=a("nT");return{eo:function(){this.set("playbackPositions",null);this.set("scaleMode",void 0);this.set("distance",void 0);this.Wd=this.Wd.bind(this);this.tb=new l},zo:function(){e.ha(this.u,["playbackPositions","distance","scaleMode"],this.Wd,!0)},Bo:function(){e.ba(this.u,["playbackPositions","distance","scaleMode"],this.Wd)},Wd:function(){this.set("scaleMode",this.u.get("scaleMode"));this.set("distance",this.u.get("distance"));this.set("playbackPositions",
this.u.get("playbackPositions"))},sf:function(){this.O("playbackPositions","currentTime")&&(this.tb.UA(this.get("playbackPositions")),this.tb.TA(this.get("currentTime")),this.set("yaw",this.tb.get("yaw")),this.set("pitch",this.tb.get("pitch")),this.set("roll",this.tb.get("roll")),this.set("rotationX",this.tb.get("rotationX")),this.set("rotationY",this.tb.get("rotationY")),this.set("hfov",this.tb.get("hfov")),this.set("vfov",this.tb.get("vfov")),this.set("alpha",this.tb.Zk()));this.O("video","image",
"yaw","pitch","roll","rotationX","rotationY","hfov","vfov","distance","scaleMode","image","video")&&this.jb().forEach(function(m){m.set("yaw",this.get("yaw"));m.set("pitch",this.get("pitch"));m.set("roll",this.get("roll"));m.set("rotationX",this.get("rotationX"));m.set("rotationY",this.get("rotationY"));m.set("hfov",this.get("hfov"));m.set("vfov",this.get("vfov"));m.set("scaleMode",this.get("scaleMode"));m.set("distance",this.get("distance"))}.bind(this))}}});
define("pi","require lE fg c os hi gR ov".split(" "),function(a){var e=a("lE"),l=a("fg"),m=a("c"),k=a("os"),b=a("hi"),h=a("gR");a=a("ov");var g=e.extend(m,k,b,function(){m.call(this);this.set("tag","RectangleVideoHotspotImage")}),c=e.extend(m,k,h,function(){m.call(this);this.set("tag","RectangleVideoHotspotVideo")});return e.extend(l,a,function(d){l.call(this,d);this.QC=g;this.Eea=c})});
define("ea","require nU jq hU iX kb my cc nG go W om dS bE jS jx kx lc gD gg mW pi cb".split(" "),function(a){function e(B,A){Array.isArray(A)||(A=[A]);for(var D=0;D<A.length;D++)if(l.Ia(A[D],B))return!0;return!1}var l=a("nU"),m=a("jq"),k=a("hU"),b=a("iX"),h=a("kb"),g=a("my"),c=a("cc"),d=a("nG"),f=a("go"),p=a("W"),q=a("om"),n=a("dS"),r=a("bE"),t=a("jS"),u=a("jx"),v=a("kx"),w=a("lc"),x=a("gD"),y=a("gg"),z=a("mW"),E=a("pi");a("cb");a={};x.f1a=a;a.create=function(B){if(B instanceof m)return B;if(e(B,
["HDRPanorama","LivePanorama","Panorama","VideoPanorama"]))return new p(B);if(e(B,["CubicPanoramaFrame","SphericPanoramaFrame"]))return e(B,"SphericPanoramaFrame")&&B.tm()?new n(B):new q(B);if(e(B,["DustPanoramaOverlay"]))return new b(B);if(e(B,"HotspotPanoramaOverlay"))return new g(B);if(e(B,["HotspotPanoramaOverlayImage","HotspotPanoramaOverlayMap"]))return new c(B);if(e(B,"Menu"))return new f(B);if(e(B,["CeilingCapPanoramaOverlay","TripodCapPanoramaOverlay"]))return new k(B);if(e(B,["FlatHotspotPanoramaOverlayImage",
"FlatHotspotPanoramaOverlayMap"]))return new h(B);if(e(B,["LensFlarePanoramaOverlay"]))return new d(B);if(e(B,["RainPanoramaOverlay"]))return new w(B);if(e(B,["SnowPanoramaOverlay"]))return new y(B);if(e(B,["PopupPanoramaOverlay"]))return new r(B);if(e(B,["QuadFramePanoramaOverlay"]))return new t(B);if(e(B,["QuadHotspotPanoramaOverlayImage","QuadHotspotPanoramaOverlayMap"]))return new u(B);if(e(B,["QuadVideoPanoramaOverlay"]))return new v(B);if(e(B,["FramePanoramaOverlay"]))return new z(B);if(e(B,
["VideoPanoramaOverlay"]))return new E(B);throw"Invalid script object";};return a});
define("cm",["require","exports","three.mod"],function(a,e,l){return function(){function m(){}m.MAa=function(k,b,h,g,c,d){return m.B1a(k,b/g*2-1,2*-(h/c)+1,d)};m.B1a=function(k,b,h,g){g||(g=new l.Ray);g.origin.setFromMatrixPosition(k.matrixWorld);g.direction.set(b,h,.5).unproject(k).sub(g.origin).normalize();return g};m.T1a=function(k,b){b||(b=new l.Ray);b.origin.set(0,0,0);b.direction.set(0,0,-1).applyQuaternion(k.quaternion);return b};m.S1a=function(k,b){b||(b=new l.Ray);b.origin.set(0,0,0).applyMatrix4(k);
b.direction.set(0,0,-1).applyMatrix4(k).sub(b.origin).normalize();return b};return m}()});
define("mM","require lE ew jN mb fl oA".split(" "),function(a){var e=a("lE"),l=a("ew"),m=a("jN"),k=a("mb"),b=a("fl"),h=a("oA");a=e.extend(m,function(){m.call(this);this.R=null;this.set("tag","Reticle");this.set("changing",!1);this.set("over",!1);this.set("overProgress",void 0);this.set("visible",!0);this.set("attachToCamera",!0);this.yo=null});a.prototype.ia=function(g){this.Yq(g);this.rg(g);this.sf(g);m.prototype.ia.call(this,g)};a.prototype.Yq=function(g){g.pb&&!this.yo&&h.getType()==h.Fu.nl&&this.fh([this.yo=
new m])};a.prototype.rg=function(g){this.R||(this.set("textureSource",new b),this.R=new k(this.Ea.L.rga()),this.get("textureSource").Cm(this.R.hg()),this.set("contentWidth",this.R.He()),this.set("contentHeight",this.R.Xe()),this.set("hfov",6),this.set("distance",this.Ea.L.get("vrPointerDistance")));this.O("changing")&&this.R.ux(g.pb&&this.get("changing"));this.O("over","overProgress")&&this.R.BF(this.get("over"),this.get("overProgress"));this.R.update(g.Ge)&&this.get("textureSource").update();this.get("changing")&&
this.Da()};a.prototype.sf=function(){this.Ah()};a.prototype.km=function(){this.O("composedAlpha","meshGroup","visible")&&this.py()};a.prototype.py=function(){l.Ze(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a});
define("bl","require jquery.mod en pf v pE hG".split(" "),function(a){function e(c){this.gb=c;this.Mwa=this.gb.po;this.gb.bind(k.kc,this.Hf,this);this.ta=l("<span></span>");this.ta.css({"pointer-events":"none",position:"absolute","z-index":b.nJa,"text-align":"center",display:"none"});this.me=l("<span></span>");this.me.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ta.append(this.me);this.c_=l("<span></span>");this.c_.css({position:"relative"});this.ta.append(this.c_);this.nj=this.BW=
this.Pg=null;this.cw=this.bw=void 0;this.Fv=!1;this.Nwa=void 0}var l=a("jquery.mod"),m=a("en"),k=a("pf");a("v");var b=a("pE"),h=a("hG"),g={toolTip:void 0,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipCentered:!1,toolTipCenteredOffsetY:void 0,toolTipFontFamily:"Segoe UI",toolTipFontSize:12,toolTipFontColor:"#606060",toolTipFontWeight:"normal",toolTipFontStyle:"normal",toolTipHorizontalAlign:"center",toolTipOpacity:1,
toolTipPaddingBottom:2,toolTipPaddingLeft:4,toolTipPaddingTop:2,toolTipPaddingRight:4,toolTipShadowBlurRadius:3,toolTipShadowColor:"#333333",toolTipShadowHorizontalLength:3,toolTipShadowOpacity:1,toolTipShadowSpread:0,toolTipShadowVerticalLength:3,toolTipTextShadowBlurRadius:3,toolTipTextShadowColor:"#000000",toolTipTextShadowHorizontalLength:0,toolTipTextShadowOpacity:0,toolTipTextShadowVerticalLength:0,toolTipDisplayTime:600};e.prototype.Yc=function(){return this.ta};e.prototype.vF=function(c){if(!this.Mwa){for(;c&&
c.get("toolTipDisabled");)c=c.getParent();this.hide();this.Pg&&m(m(g).keys()).each(function(d){this.Pg.unbind(k.D(d),this.Eaa,this)},this);if(this.Pg=c)m(m(g).keys()).each(function(d){this.Pg.bind(k.D(d),this.Eaa,this)},this),this.Eaa()}};e.prototype.Z7a=function(c,d){this.Pg=c;this.Nwa=d;this.JW()||(this.Fv?this.awa():this.XP())};e.prototype.Zva=function(c,d,f){this.Fv&&this.Pg.trigger(k.dla);this.FYa(c);this.c_.html(this.wQa(d));this.cna=f;this.sf();this.Pg.trigger(k.mJa);this.Fv=!0;this.ta.css("display",
"inline");(f||c.get("checkToolTipOcclusion"))&&this.WWa(c)};e.prototype.sf=function(){var c=this.hq(),d=c.x;c=c.y;var f=this.ta.outerWidth(),p=this.ta.outerHeight();if(this.cna){d-=.5*this.ta.width();var q=this.Pg.get("toolTipCenteredOffsetY");c=void 0===q?c-.5*this.ta.height():0<q?c+q:c-(this.ta.height()-q)}d=Math.max(Math.min(d,this.gb.Xa()-f-3),3);c=Math.max(Math.min(c,this.gb.yb()-p-3),3);this.ta.css("left",d+"px");this.ta.css("top",c+"px")};e.prototype.hq=function(){var c={};if(this.cna){var d=
this.Pg.Yc().offset();c.x=d.left+.5*this.Pg.Xa();c.y=d.top+.5*this.Pg.yb()}else c.x=this.bw,c.y=this.cw+25;return c};e.prototype.hide=function(){this.mC();this.qwa();this.Fv&&(this.ta.css("display","none"),this.Pg.trigger(k.dla),this.Fv=!1)};e.prototype.Eaa=function(){this.Pg.get("toolTip")?this.JW()||(this.Fv?this.$va():this.XP()):this.JW()?this.mC():this.Fv&&this.hide()};e.prototype.Hf=function(c){this.bw=c.pageX;this.cw=c.pageY;this.Fv&&this.Pg.get("toolTipFollowMouse")&&this.sf()};e.prototype.$va=
function(){this.Zva(this.Pg,this.Pg.get("toolTip"),this.Pg.get("toolTipCentered"))};e.prototype.awa=function(){this.Zva(this.Pg,this.Nwa,!0)};e.prototype.JW=function(){return null!=this.nj};e.prototype.XP=function(){var c=this.Pg&&this.Pg.get("toolTipDisplayTime");if(void 0===c||null===c)c=g.toolTipDisplayTime;this.mC();this.nj=setTimeout(function(){this.nj=null;this.Mwa?this.awa():this.$va()}.bind(this),c)};e.prototype.mC=function(){this.JW()&&(clearTimeout(this.nj),this.nj=null)};e.prototype.WWa=
function(c){var d=this.hq();this.qwa();var f=function(){this.ta.css("display",this.Fv&&!this.ARa(c,d.x,d.y)?"inline":"none")}.bind(this);this.BW=setInterval(f,300);f()};e.prototype.qwa=function(){this.BW&&(clearInterval(this.BW),this.BW=null)};e.prototype.FYa=function(c){function d(n){var r=c.get(n);return void 0===r?g[n]:r}var f={};f.opacity=d("toolTipOpacity");f.filter=f["-ms-filter"]="alpha(opacity="+Math.round(100*d("toolTipOpacity"))+")";f.paddingTop=d("toolTipPaddingTop")+"px";f.paddingBottom=
d("toolTipPaddingBottom")+"px";f.paddingLeft=d("toolTipPaddingLeft")+"px";f.paddingRight=d("toolTipPaddingRight")+"px";f["text-align"]=d("toolTipHorizontalAlign");this.ta.css(f);f={};f.opacity=d("toolTipBackgroundOpacity");f.filter=f["-ms-filter"]="alpha(opacity="+Math.round(100*d("toolTipBackgroundOpacity"))+")";f["background-color"]=d("toolTipBackgroundColor");f.border=[d("toolTipBorderSize")+"px","solid",d("toolTipBorderColor")].join(" ");var p=d("toolTipShadowColor");f["-moz-box-shadow"]=f["-webkit-box-shadow"]=
f["box-shadow"]=[d("toolTipShadowHorizontalLength")+"px",d("toolTipShadowVerticalLength")+"px",d("toolTipShadowBlurRadius")+"px",d("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+d("toolTipShadowOpacity")+")"].join(" ");f["-moz-border-radius"]=f["-webkit-border-radius"]=f.borderRadius=d("toolTipBorderRadius")+"px";this.me.css(f);f={};f["font-family"]=h.Vw(d("toolTipFontFamily"));p=d("toolTipFontSize");m(p).isNumber()?
p+="px":m(p).isString()||(p="");f["font-size"]=p;f["font-weight"]=d("toolTipFontWeight");f["font-style"]=d("toolTipFontStyle");f.color=d("toolTipFontColor");p=d("toolTipTextShadowColor");f["-moz-text-shadow"]=f["-webkit-text-shadow"]=f["text-shadow"]=[d("toolTipTextShadowHorizontalLength")+"px",d("toolTipTextShadowVerticalLength")+"px",d("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+p.substr(1,2))+", "+parseInt("0x"+p.substr(3,2))+", "+parseInt("0x"+p.substr(5,2))+", "+d("toolTipTextShadowOpacity")+
")"].join(" ");var q=0==d("toolTipTextShadowVerticalLength")&&0==d("toolTipTextShadowHorizontalLength")?135:45*Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-d("toolTipTextShadowVerticalLength"))/Math.PI);f.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+function(n){for(n=n.toString(16);2>n.length;)n="0"+n;return n}(255*d("toolTipTextShadowOpacity"))+p.substr(1,6)+",direction="+q+")";this.c_.css(f)};e.prototype.ARa=function(c,d,f){d=document.elementsFromPoint(d,f);c=c.Yc()[0];
f=this.gb.Yc()[0];for(var p=0;p<d.length;p++){var q=d[p];if(c==q||c.contains(q))break;if(!this.ta[0].contains(q)&&f.contains(q)){var n=window.getComputedStyle(q);if("none"!=n.display&&"hidden"!=n.visibility&&.29<("CANVAS"==q.tagName?1:this.yMa(n.backgroundColor))*n.opacity)return!0}}return!1};e.prototype.yMa=function(c){if(!c)return 0;c=c.toLowerCase();var d=c.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return d?parseFloat(d[1]):c.match(/transparent/)?0:1};e.prototype.wQa=function(c){c=
(c||"").split("\n");for(var d=0;d<c.length;d++)c[d]=this.pOa(c[d]);return c.map(function(f){return"<div>"+f+"</div>"})};e.prototype.pOa=function(c){e.Vla.nodeValue=c;(c=e.Rla.innerHTML)||(c="&nbsp;");return c};e.RHa=g;e.Rla=document.createElement("pre");e.Vla=document.createTextNode("");e.Rla.appendChild(e.Vla);return e});
define("cV",["require","bl","bT","hG"],function(a){function e(h,g){this.L=h;this.im=g;this.NWa()}var l=a("bl"),m=a("bT"),k=a("hG"),b=180/Math.PI;e.prototype.hg=function(){return this.R};e.prototype.He=function(){return this.R.width};e.prototype.Xe=function(){return this.R.height};e.prototype.vf=function(){return 2*Math.atan2(this.R.width/3*.5,600)*b};e.prototype.NWa=function(){this.R=document.createElement("canvas");var h=this.im.split("\n"),g=this.Sg("toolTipBackgroundColor"),c=this.Sg("toolTipBackgroundOpacity"),
d=this.Sg("toolTipBorderRadius"),f=this.Sg("toolTipBorderColor"),p=this.Sg("toolTipBorderSize");this.Sg("toolTipDisplayTime");var q=this.Sg("toolTipFontFamily"),n=this.Sg("toolTipFontSize"),r=this.Sg("toolTipFontColor"),t=this.Sg("toolTipFontWeight"),u=this.Sg("toolTipFontStyle"),v=this.Sg("toolTipPaddingBottom"),w=this.Sg("toolTipPaddingLeft"),x=this.Sg("toolTipPaddingTop"),y=this.Sg("toolTipPaddingRight"),z=this.Sg("toolTipOpacity"),E=this.Sg("toolTipTextShadowBlurRadius"),B=this.Sg("toolTipTextShadowColor"),
A=this.Sg("toolTipTextShadowHorizontalLength"),D=this.Sg("toolTipTextShadowVerticalLength"),C=this.Sg("toolTipTextShadowOpacity");isNaN(n)&&(n=12);d=Math.round(3*d);p=Math.round(3*p);n=Math.round(3*n);v=Math.round(3*v);w=Math.round(3*w);x=Math.round(3*x);y=Math.round(3*y);E=Math.round(3*E);A=Math.round(3*A);D=Math.round(3*D);var J=new m.p5;J.fontFamily=q;J.fontSize=Math.round(n)+"px";J.fontWeight=t;J.fontStyle=u;this.R=document.createElement("canvas");var H=this.R.getContext("2d"),P=h.map(function(Y){return m(Y,
J,H)}),W=0,U=0;P.forEach(function(Y){W=Math.max(Y.width,W);U+=Y.height});var S=1<h.length?U/h.length*.25:0;U+=(h.length-1)*S;y=p+w+W+y+p;v=p+x+U+v+p;this.R.width=this.R.height=Math.max(256,Math.max(128,Math.pow(2,Math.ceil(Math.log(Math.max(y,v))/Math.LN2))));H=this.R.getContext("2d");var X=.5*(this.R.width-y),F=.5*(this.R.height-v);H.save();H.translate(X,F);H.globalAlpha=z;H.strokeStyle=f;H.fillStyle="transparent"===g?"rgba(0,0,0,0)":this.gma(c,g);H.lineWidth=p;H.beginPath();H.moveTo(d,0);H.lineTo(y-
d,0);H.quadraticCurveTo(y,0,y,d);H.lineTo(y,v-d);H.quadraticCurveTo(y,v,y-d,v);H.lineTo(d,v);H.quadraticCurveTo(0,v,0,v-d);H.lineTo(0,d);H.quadraticCurveTo(0,0,d,0);H.closePath();H.fill();0<p&&H.stroke();H.fillStyle=r;H.font=t+" "+("normal"!=u?u+" ":"")+n+(isNaN(n)?"":"px")+" "+k.Vw(q);H.shadowColor=this.gma(C,B);H.shadowOffsetX=A;H.shadowOffsetY=D;H.shadowBlur=E;H.textBaseline="middle";H.textAlign="center";var M=p+w+.5*W,T=p+x;h.forEach(function(Y,ca){H.fillText(Y,Math.round(M),Math.round(T+.5*P[ca].height));
T+=P[ca].height+S})};e.prototype.Sg=function(h){var g=this.L.get(h);return void 0===g?l.RHa[h]:g};e.prototype.gma=function(h,g){return"rgba("+parseInt("0x"+g.substr(1,2))+", "+parseInt("0x"+g.substr(3,2))+", "+parseInt("0x"+g.substr(5,2))+", "+h+")"};return e});
define("oZ","require lE jv jN cV fl oA".split(" "),function(a){var e=a("lE"),l=a("jv"),m=a("jN"),k=a("cV"),b=a("fl"),h=a("oA");a=e.extend(m,function(){m.call(this);this.R=null;this.set("tag","ToolTip");this.set("text","");this.Vo=new THREE.Vector3(0,0,-l.pr());this.yo=null});a.prototype.ia=function(f){this.Yq(f);this.rg(f);m.prototype.ia.call(this,f)};a.prototype.Yq=function(f){f.pb&&!this.yo&&h.getType()==h.Fu.nl&&this.fh([this.yo=new m])};a.prototype.rg=function(f){if(!this.R||this.O("text")){this.get("textureSource")||
this.set("textureSource",new b);this.R=new k(this.Ea.L,this.get("text"));this.get("textureSource").Cm(this.R.hg());this.set("contentWidth",this.R.He());this.set("contentHeight",this.R.Xe());this.set("hfov",this.R.vf());this.set("distance",this.Ea.L.get("vrPointerDistance"));var p=this.get("matrix"),q=this.get("intersectionYaw"),n=this.get("intersectionPitch");void 0!==q&&void 0!==n?(this.set("yaw",q),this.set("pitch",n+c),this.set("distance",this.get("intersectionDistance"))):p?(this.Vo.applyMatrix4(p),
0==this.Vo.x&&0==this.Vo.z||this.set("yaw",g*Math.atan2(this.Vo.x,-this.Vo.z)),0==this.Vo.y&&0==this.Vo.z||this.set("pitch",g*Math.atan2(this.Vo.y,Math.sqrt(this.Vo.z*this.Vo.z+this.Vo.x*this.Vo.x))+c)):(this.set("yaw",f.Qa),this.set("pitch",f.pitch+d))}};var g=180/Math.PI,c=2,d=5;return a});
define("or",["require","exports","cm","U"],function(a,e,l,m){return function(){function k(b,h){this.hf=b;this.j=h}k.prototype.update=function(){};k.prototype.clear=function(){};k.prototype.getType=function(){return this.hf};k.prototype.wAa=function(b){return this.ZV=(b=b.yg&&m.getCamera(b.yg))?l.T1a(b,this.ZV):void 0};k.JL="webxr";k.w5="gaze";k.hU="gaze_click";k.kla="laser";k.HL="mouse";k.IL="touch";return k}()});
define("fq",["require","exports","or","bd"],function(a,e,l,m){return function(){function k(b,h,g,c,d){void 0===d&&(d=!0);this.Yd=b;this.Mq=h;this.ZV=g;this.nf=c;this.zqa=d;this.Zma=[];this.Dk=[];this.QP={};this.E9=[];this.Sb="";this.Zz=Number.MAX_VALUE}k.prototype.Vt=function(){return this.Yd};k.prototype.UJ=function(){return this.ZV};k.prototype.Rt=function(){return this.Yd.getType()==l.HL};k.prototype.Nga=function(){return this.Yd.getType()==l.JL};k.prototype.$E=function(){return this.Yd.getType()==
l.IL};k.prototype.u3a=function(){return this.Yd.getType()==l.w5};k.prototype.Aya=function(b,h){this.QP[h]=(this.QP[h]||[]).concat(b)};k.prototype.cGa=function(){return k.MHa.find(this.U2a.bind(this))};k.prototype.U2a=function(b){return void 0!==this.QP[b]&&0<this.QP[b].length?!0:!1};k.prototype.B3=function(){return 0<Object.keys(this.QP).length};k.prototype.vE=function(b){this.Aya(b,m.ye)};k.prototype.r_a=function(b){this.E9=this.E9.concat(b)};k.prototype.N0a=function(){return!this.cGa()&&0<this.E9.length};
k.prototype.hA=function(b){this.Dk=this.Dk.concat(b)};k.prototype.Mn=function(){return 0<this.Dk.length};k.prototype.Vk=function(b){b&&(void 0===this.R7||this.R7>b)&&(this.R7=b)};k.prototype.Qt=function(){return this.R7};k.prototype.V_=function(b,h){if(""==this.Sb||this.Zz>h)this.Sb=b,this.Zz=h};k.prototype.Ex=function(){return this.Sb};k.prototype.Jr=function(b){this.Zma=void 0===b?[]:Array.isArray(b)?b:[b]};k.prototype.Wk=function(){return 0<this.Zma.length};k.MHa=[m.Lh,m.pka,m.Yx,m.ye,m.xe];return k}()});
define("cN","require lE pf bn cm U mM oZ fq or oA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("bn");a("cm");a("U");var k=a("mM"),b=a("oZ"),h=a("fq"),g=a("or"),c=a("oA");a=e.extend(g,function(d,f){g.call(this,g.w5,d);this.Tj=this.C=null;this.Dk=[];this.fd=this.bv=!1;this.fN=null;this.bqa=void 0;this.vP=null;this.Qta=void 0;this.oe=new k;this.j.add(this.oe);this.Ro="";this.Sb=new b;this.Sb.set("alpha",0);this.j.add(this.Sb);this.mca=f?this.j.L.get("vrPointerSelectionTime"):void 0;this.cqa=this.j.L.get("vrGazePointerHideTime");
this.g_=this.g_.bind(this);this.Jl=this.Jl.bind(this);document.body.addEventListener("touchend",this.g_);document.addEventListener("keyup",this.Jl,!0);c.P.bind(l.Kp,this.kya,this,!0);this.Qda();this.lea()});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.g_);document.removeEventListener("keyup",this.Jl,!0);c.P.unbind(l.Kp,this.kya,this,!0);this.Zca();this.j.remove(this.oe);this.oe=null;this.j.remove(this.Sb);this.Sb=null};a.prototype.update=function(d){this.C=d;this.RVa(d.fr);
this.Tk()};a.prototype.g_=function(){this.SG()};a.prototype.Jl=function(d){d.code!=m.ja.LT&&d.code!=m.ja.lG||this.SG()};a.prototype.kya=function(){this.SG()};a.prototype.SG=function(){var d=this.tk(l.Pf);this.Ok(d);this.XD(!1);this.Ada()};a.prototype.Ada=function(){this.j.ob().trigger(l.LB,{$K:l.Pf})};a.prototype.Tk=function(){var d=this.tk(l.rl);this.Ok(d);this.uw(d.Ex());a:{var f=this.Dk;for(var p=d.Dk,q=0;q<f.length;q++)if(0>p.indexOf(f[q])){f=!1;break a}for(q=0;q<p.length;q++)if(0>f.indexOf(p[q])){f=
!1;break a}f=!0}f||(this.XD(!1),this.Dk=d.Dk,this.Dk.length&&this.XD(!0,d.B3()))};a.prototype.RVa=function(d){this.bv!=d&&(this.bv=d,this.oe.set("changing",this.bv),this.Qda(),this.lea())};a.prototype.XD=function(d,f){this.fd!=d&&(this.fd=d,this.oe.set("over",this.fd&&f),this.Qda(),this.lea())};a.prototype.uw=function(d){this.Ro!=d&&(this.Ro=d,this.Sb.set("text",this.Ro),this.Sb.set("alpha",this.Ro?1:0),this.Ro&&this.Sb.Ah())};a.prototype.Ok=function(d){this.j.HR().sort(function(f,p){return p.get("index")-
f.get("index")}).forEach(function(f){f.Bm(d)}.bind(this))};a.prototype.tk=function(d){this.Tj=this.wAa(this.C);return new h(this,this.Tj?[this.Tj]:[],this.Tj,d)};a.prototype.lea=function(){!this.fd||this.bv||void 0===this.mca?this.Zca():this.fd&&!this.vP&&this.pXa()};a.prototype.Qda=function(){this.fd||this.bv||void 0===this.cqa?(this.oe.set("alpha",1),this.uwa()):1!=this.oe.get("alpha")||this.fN||this.bXa()};a.prototype.Zca=function(){this.vP&&(clearInterval(this.vP),this.vP=null)};a.prototype.pXa=
function(){this.oe.set("overProgress",0);this.Qta=(new Date).getTime();this.vP=setInterval(this.tTa.bind(this),100)};a.prototype.tTa=function(){var d=(new Date).getTime()-this.Qta;d>=this.mca?(this.Zca(),this.SG()):this.oe.set("overProgress",d/this.mca)};a.prototype.uwa=function(){this.fN&&(clearInterval(this.fN),this.fN=null)};a.prototype.bXa=function(){this.bqa=(new Date).getTime();this.fN=setInterval(this.MSa.bind(this),10)};a.prototype.MSa=function(){var d=this.cqa-((new Date).getTime()-this.bqa);
this.oe.set("alpha",Math.max(.01,Math.min(1,d/500)));0>=d&&this.uwa()};return a});
define("kV","require lE jv cx ew fl h nW".split(" "),function(a){var e=a("lE"),l=a("jv"),m=a("cx"),k=a("ew"),b=a("fl"),h=a("h"),g=a("nW"),c=new THREE.Matrix4,d=Math.PI/180;a=e.extend(h,function(){h.call(this);this.set("tag","Laser");this.set("matrix",null);this.set("over",!1);this.set("pressed",!1);this.set("intersectionDistance",0);this.set("visible",!1);this.set("attachToCamera",!1);this.set("dotVisible",!0);this.Kba=this.jP=this.Us=this.Jba=null;new THREE.Matrix4;this.Lba=new THREE.Matrix4;this.Lba.multiply(c.makeRotationX(-90*
d));this.Lba.multiply(c.makeTranslation(0,.5*f,0));this.CV=this.BV=this.AV=this.mv=this.V7=null;new THREE.Matrix4;this.W7=new THREE.Matrix4;this.qM=this.zV=this.U7=null;new THREE.Matrix4;this.qC=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.qC[0].multiply(c.makeRotationX(-90*d));this.qC[0].multiply(c.makeTranslation(0,.5*-q,0));this.qC[1].multiply(c.makeRotationX(-90*d));this.qC[1].multiply(c.makeTranslation(0,.5*-q,.5*-p));this.qC[2].multiply(c.makeRotationX(-90*d));this.qC[2].multiply(c.makeTranslation(0,
.5*-q,-p))});a.prototype.ia=function(n){h.prototype.ia.call(this,n);this.nea();this.fA()};a.prototype.nea=function(){this.O("visible")&&(this.get("meshGroup").visible=this.get("visible"));this.O("dotVisible")&&k.Ze([this.BV,this.zV],this.get("dotVisible")?1:0)};a.prototype.fA=function(){this.O("over","pressed")&&(this.sxa(),this.Lxa())};var f=.35,p=.012,q=.1;a.prototype.co=function(){this.zV=k.create(new THREE.SphereGeometry(2.3,32,32),this.VMa());this.BV=k.create(new THREE.SphereGeometry(2,32,32),
this.WMa());this.Kba=k.create(new THREE.CylinderGeometry(.003,.003,f,8),this.vNa());this.WG=[];this.WG.push(k.create(new THREE.CylinderGeometry(p,p,q,32),this.l7()));this.WG.push(k.create(new THREE.BoxGeometry(2*p,q,p),this.l7()));this.WG.push(k.create(new THREE.CylinderGeometry(p,p,q,32),this.l7()));return[this.zV,this.BV,this.Kba].concat(this.WG)};a.prototype.VMa=function(){if(null==this.U7){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Cm(n);this.U7=
m.nA(t.texture(),new m.Tn);r.fillStyle="rgba(0, 0, 0, 0.75)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return this.U7};a.prototype.WMa=function(){null==this.V7&&(this.mv=document.createElement("canvas"),this.mv.width=this.mv.height=256,this.AV=this.mv.getContext("2d"),this.CV=new b,this.CV.Cm(this.mv),this.V7=m.nA(this.CV.texture(),new m.Tn),this.sxa());return this.V7};a.prototype.sxa=function(){this.AV.fillStyle=this.M8();this.AV.clearRect(0,0,this.mv.width,this.mv.height);
this.AV.fillRect(0,0,this.mv.width,this.mv.height);this.CV.update()};a.prototype.vNa=function(){null==this.Jba&&(this.Us=document.createElement("canvas"),this.Us.width=this.Us.height=256,this.jP=this.Us.getContext("2d"),this.Mba=new b,this.Mba.Cm(this.Us),this.Jba=m.nA(this.Mba.texture(),new m.Tn),this.Lxa());return[this.Jba]};a.prototype.Lxa=function(){var n=g.Ar(this.M8()).join(", "),r=this.jP.createLinearGradient(0,0,0,this.Us.height);r.addColorStop(0,"rgba("+n+", 0)");r.addColorStop(.5,"rgba("+
n+", 1)");r.addColorStop(1,"rgba("+n+", 1)");this.jP.fillStyle=r;this.jP.clearRect(0,0,this.Us.width,this.Us.height);this.jP.fillRect(0,0,this.Us.width,this.Us.height);this.Mba.update()};a.prototype.l7=function(){if(null==this.qM){var n=document.createElement("canvas");n.width=n.height=256;var r=n.getContext("2d"),t=new b;t.Cm(n);this.qM=m.nA(t.texture(),new m.Tn);r.fillStyle="rgba(64, 64, 64, 1)";r.clearRect(0,0,n.width,n.height);r.fillRect(0,0,n.width,n.height)}return[this.qM,this.qM,this.qM]};
a.prototype.Zq=function(){var n=!1,r=!1,t=!1;if(this.O("intersectionDistance")){r=(r=this.get("intersectionDistance"))?l.Jt(r):l.pr();var u=r/l.pr();this.W7.makeTranslation(0,0,-r);this.W7.multiply(c.makeScale(u,u,u));r=!0}this.O("matrix")&&(t=r=n=!0);r&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.W7),k.hr(this.BV,c),k.hr(this.zV,c));n&&(c.identity(),(r=this.get("matrix"))&&c.multiply(r),c.multiply(this.Lba),k.hr(this.Kba,c));if(t)for(r=this.get("matrix"),n=0;n<this.WG.length;n++)c.identity(),
r&&c.multiply(r),c.multiply(this.qC[n]),k.hr(this.WG[n],c)};a.prototype.pE=function(){if(this.O("index","meshGroup")){var n=this.get("meshGroup");n&&n.children.forEach(function(r){k.W2(r,this.get("index"))}.bind(this))}};a.prototype.M8=function(){return this.get("pressed")?this.Ea.L.get("vrPointerSelectionColor"):this.get("over")?this.Ea.L.get("vrPointerOverColor"):this.Ea.L.get("vrPointerColor")};return a});
define("es","require lE pf cm kV mM oZ fq or hu oA nQ".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cm"),k=a("kV"),b=a("mM"),h=a("oZ"),g=a("fq"),c=a("or"),d=a("hu"),f=a("oA"),p=a("nQ"),q=new THREE.Matrix4,n=Math.PI/180;a=e.extend(c,function(r){c.call(this,c.kla,r);this.Tj=this.C=null;this.Dk=[];this.Kj=new k;this.j.add(this.Kj);this.oe=new b;this.j.add(this.oe);this.Jk=!1;this.Ro="";this.Sb=null;this.Al=new THREE.Matrix4});a.prototype.clear=function(){this.j.remove(this.Kj);this.j.remove(this.oe);
this.oe=this.Kj=null;this.Sb&&this.j.remove(this.Sb);this.Sb=null};a.prototype.update=function(r){this.C=r;this.oe.set("changing",r.fr);this.oe.set("visible",r.fr);var t=d.bk();if(t&&!t.x3a()){var u=t.quaternion(),v=t.position(),w=f.dh&&f.Xc,x=p.Qa(f.dh&&f.ug);this.Al.identity();v?(this.Al.multiply(q.makeRotationY((x-r.Qa)*n)),this.Al.multiply(q.makeTranslation(-w.x,-w.y,-w.z)),this.Al.multiply(q.makeTranslation(v.x,v.y,v.z)),this.Al.multiply(q.makeRotationFromQuaternion(u))):(this.Al.multiply(q.makeRotationY(-r.Qa*
n)),t.hand()==d.Ya?this.Al.multiply(q.makeTranslation(-.2,-.4,0)):this.Al.multiply(q.makeTranslation(.2,-.4,0)),this.Al.multiply(q.makeRotationY(x*n)),this.Al.multiply(q.makeRotationFromQuaternion(u)),this.Al.multiply(q.makeTranslation(0,0,-.3)));this.Kj.set("matrix",null);this.Kj.set("matrix",this.Al);this.Kj.set("pressed",t.pressed());this.Kj.set("visible",!0)}else this.Kj.set("visible",!1);this.Tk();r=!!t&&t.pressed();this.Jk!=r&&(this.Jk&&this.SG(),this.Jk=r);this.Kj.Ah();this.oe.Ah()};a.prototype.SG=
function(){var r=this.tk(l.Pf);this.Ok(r);this.Kj.set("over",!0);this.Kj.set("dotVisible",!0);this.Kj.set("intersectionDistance",r.Qt());d.bk();this.Ada()};a.prototype.Ada=function(){this.j.ob().trigger(l.LB,{$K:l.Pf})};a.prototype.Tk=function(){var r=this.tk(l.rl);this.Ok(r);this.uw(r.Ex());a:{var t=this.Dk;for(var u=r.Dk,v=0;v<t.length;v++)if(0>u.indexOf(t[v])){t=!1;break a}for(v=0;v<u.length;v++)if(0>t.indexOf(u[v])){t=!1;break a}t=!0}t||!r.B3()&&!this.Kj.get("over")||(this.Dk=r.Dk,d.bk());this.Kj.set("over",
r.B3());this.Kj.set("intersectionDistance",r.Qt());this.Kj.set("dotVisible",!r.N0a())};a.prototype.uw=function(r){this.Ro!=r&&(this.Ro&&this.j.remove(this.Sb),this.Ro=r)&&(this.Sb=new h(this.Ro),this.Sb.set("text",this.Ro),this.Sb.set("matrix",null),this.Sb.set("matrix",this.Al),this.j.add(this.Sb))};a.prototype.Ok=function(r){this.j.HR().sort(function(t,u){return u.get("index")-t.get("index")}).forEach(function(t){t.Bm(r)}.bind(this))};a.prototype.tk=function(r){this.Tj=m.S1a(this.Al,this.Tj);return new g(this,
[this.Tj],this.wAa(this.C),r)};return a});
define("jt","require lE pf cm U fq or bd".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cm"),k=a("U"),b=a("fq"),h=a("or"),g=a("bd");a=e.extend(h,function(c){h.call(this,h.HL,c);this.j.L.bind(l.kc,this.Mj,this,!0);this.j.L.bind(l.Fp,this.hra,this,!0);this.j.L.bind(l.Xb,this.cVa,this,!0);this.j.L.bind(l.kb,this.Vd,this,!0);this.j.L.bind(l.Hb,this.Nj,this,!0);this.cw=this.bw=this.gw=this.yn=this.ed=this.dd=void 0;this.Tj=this.C=null;this.VI=void 0;this.Sb=""});a.prototype.clear=function(){this.j.L.unbind(l.kc,
this.Mj,this,!0);this.j.L.unbind(l.Fp,this.hra,this,!0);this.j.L.unbind(l.kb,this.Vd,this,!0);this.j.L.unbind(l.Hb,this.Nj,this,!0);this.rea&&(this.j.EK(g.ye),this.rea=!1);this.uw("")};a.prototype.update=function(c){this.C=c;this.Zda()};a.prototype.LAa=function(){return{x:this.dd,y:this.ed,pageX:this.bw,pageY:this.cw}};a.prototype.Mj=function(c){this.dd=c.x;this.ed=c.y;this.bw=c.pageX;this.cw=c.pageY;this.v_()};a.prototype.hra=function(){this.cw=this.bw=this.ed=this.dd=void 0;this.v_()};a.prototype.cVa=
function(){this.cw=this.bw=this.ed=this.dd=void 0;this.v_()};a.prototype.Vd=function(c){this.dd=this.yn=c.x;this.ed=this.gw=c.y;this.bw=c.pageX;this.cw=c.pageY;this.Ok(this.tk(l.jy))};a.prototype.Nj=function(c){this.dd=c.x;this.ed=c.y;this.bw=c.pageX;this.cw=c.pageY;this.Ok(this.tk(l.kG));this.p$(this.yn,this.gw,this.dd,this.ed)&&this.Ok(this.tk(l.Pf))};a.prototype.Zda=function(){this.$q||(this.$q=setTimeout(function(){this.$q=null;this.Tk()}.bind(this),300))};a.prototype.v_=function(){this.$q&&(clearTimeout(this.$q),
this.$q=null);this.Tk()};a.prototype.Tk=function(){var c=this.tk(l.rl);this.Ok(c);this.uw(c.Ex());c=c.cGa();this.VI!=c&&(this.VI&&this.j.EK(this.VI),(this.VI=c)&&this.j.B2(this.VI))};a.prototype.uw=function(c){this.Sb!=c&&(this.Sb=c,this.j.L.set("toolTip",this.Sb))};a.prototype.Ok=function(c){this.j.HR().sort(function(d,f){return f.get("index")-d.get("index")}).forEach(function(d){d.Bm(c)}.bind(this))};a.prototype.tk=function(c){return new b(this,this.hW(),null,c)};a.prototype.hW=function(){if(void 0!==
this.dd&&void 0!==this.ed&&this.C.yg){var c=k.getCamera(this.C.yg);if(c)return this.Tj=m.MAa(c,this.dd,this.ed,this.C.width,this.C.height,this.Tj),[this.Tj]}return[]};a.prototype.p$=function(c,d,f,p){c=f-c;d=p-d;return 5>=Math.sqrt(c*c+d*d)};return a});
define("gJ","require lE pf cm U fq or".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cm"),k=a("U"),b=a("fq"),h=a("or");a=e.extend(h,function(c){h.call(this,h.IL,c);this.L=this.j.L;this.L.bind(l.kb,this.Vd,this,!0);this.L.bind(l.Hb,this.Nj,this,!0);this.L.bind(l.D("touchOverAreaScale"),this.Maa,this,!0);this.gw=this.yn=this.ed=this.dd=void 0;this.bna=this.C=null;this.Maa();this.fUa=Array(g.length);this.Sb="";this.Tk=this.Tk.bind(this)});a.prototype.clear=function(){this.L.unbind(l.kb,this.Vd,
this,!0);this.L.unbind(l.Hb,this.Nj,this,!0);this.L.unbind(l.D("touchOverAreaScale"),this.Maa,this,!0);this.uw("")};a.prototype.update=function(c){this.C=c;this.Zda()};a.prototype.Vd=function(c){this.dd=this.yn=c.x;this.ed=this.gw=c.y;this.Ok(this.tk(l.jy))};a.prototype.Nj=function(c){this.dd=c.x;this.ed=c.y;this.Ok(this.tk(l.kG));this.p$(this.yn,this.gw,this.dd,this.ed)&&this.Ok(this.tk(l.Pf))};a.prototype.Zda=function(){this.$q||(this.$q=setTimeout(this.Tk,300))};a.prototype.v_=function(){this.$q&&
(clearTimeout(this.$q),this.$q=null);this.Tk()};a.prototype.Tk=function(){this.$q=null;var c=this.tk(l.rl);this.Ok(c);this.uw(c.Ex())};a.prototype.uw=function(c){if(this.Sb!=c&&(this.Sb=c,c=this.j.L,c.set("toolTip",this.Sb),!c.get("toolTipDisabled"))){var d=c.ob().Sb;this.Sb?d.Z7a(c,this.Sb):d.hide()}};a.prototype.Ok=function(c){this.j.HR().sort(function(d,f){return f.get("index")-d.get("index")}).forEach(function(d){d.Bm(c)}.bind(this))};a.prototype.tk=function(c){var d=c==l.rl?this.hW(.5*this.C.width,
.5*this.C.height,this.$ma,this.bna):this.hW(this.dd,this.ed,g,this.fUa);return new b(this,d,null,c)};a.prototype.hW=function(c,d,f,p){var q=this.C.yg&&k.getCamera(this.C.yg);if(q){var n=this.C.width,r=this.C.height,t=Math.min(n,r)/100;f.forEach(function(u,v){p[v]=m.MAa(q,c+u[0]*t,d+u[1]*t,n,r,p[v])});return p}return[]};a.prototype.p$=function(c,d,f,p){c=f-c;d=p-d;return Math.sqrt(c*c+d*d)<=4*Math.round(1*Math.min(window.screen.width,window.screen.height)/100)};a.prototype.Maa=function(){this.$ma=
this.nPa(this.L.get("touchOverAreaScale"));this.bna=Array(this.$ma.length)};a.prototype.nPa=function(c){var d=[],f=Math.min(50,Math.ceil(5*c)),p=Math.min(50,Math.ceil(30*c));c=Math.min(50,Math.ceil(15*c));for(var q=-f;q<=f;q++)for(var n=-f;n<=f;n++){var r=Math.sqrt(n*n+q*q);r<=f&&d.push([n,q,r])}for(n=-p;n<-f;n++)d.push([n,0,Math.sqrt(n*n)]);for(n=f+1;n<=p;n++)d.push([n,0,Math.sqrt(n*n)]);for(q=-c;q<-f;q++)d.push([0,q,Math.sqrt(q*q)]);for(q=f+1;q<=c;q++)d.push([0,q,Math.sqrt(q*q)]);d.sort(function(t,
u){return t[2]-u[2]});return d.map(function(t){return[t[0],t[1]]})};var g=function(){for(var c=[],d=0;5>d;d++)for(var f=-2+4*d/4,p=0;5>p;p++){var q=-2+4*p/4,n=Math.sqrt(q*q+f*f);2>=n&&c.push([q,f,n])}c.sort(function(r,t){return r[2]-t[2]});return c.map(function(r){return[r[0],r[1]]})}();return a});
define("pl","require exports pf oZ fq or jv oA three.mod".split(" "),function(a,e,l,m,k,b,h,g,c){function d(r,t){for(var u=0;u<r.length;u++)if(0>t.indexOf(r[u]))return!1;for(u=0;u<t.length;u++)if(0>r.indexOf(t[u]))return!1;return!0}a=function(r){function t(u){u=r.call(this,b.JL,u)||this;u.fr=!1;u.$Da=new Map;u.DK=new Map;u.eS=null;u.jja=u.jja.bind(u);document.body.addEventListener("touchend",u.jja);g.P.bind(l.Pf,u.wr,u,!0);return u}Z(t,r);t.prototype.clear=function(){g.P.unbind(l.Pf,this.wr,this);
this.DK.forEach(function(u,v,w){this.Eza(u);w.delete(v)}.bind(this))};t.prototype.update=function(u){this.state=u;this.Y8a();this.ux(u.fr);this.c9a()};t.prototype.wr=function(u){this.eS=u=u.data.pointerState;this.VEa(u)};t.prototype.jja=function(){var u=g.jg[0]||null;u&&this.VEa(u)};t.prototype.VEa=function(u){f.copy(u.ray).applyMatrix4(u.matrixWorld);var v=new k(this,[f],g.UJ,l.Pf,this.eS==u);this.UEa(v);g.Fia(u,!1,!1,u.Qt);g.WEa(u,50);this.P8a()};t.prototype.ux=function(u){this.fr!==u&&(this.fr=
u,g.jg.forEach(function(v){g.l7a(v,u)}))};t.prototype.Y8a=function(){this.DK.forEach(function(u,v){g.jg.includes(v)||(this.Eza(u),this.DK.delete(v))}.bind(this));g.jg.forEach(function(u){this.DK.has(u)||this.DK.set(u,this.H0a());g.FFa(u,!1)}.bind(this))};t.prototype.c9a=function(){this.eS=this.eS||(g.jg.length?g.jg.find(function(z){return"right"==z.handedness})||g.jg[0]:null);for(var u=0;u<g.jg.length;u++){var v=g.jg[u];f.copy(v.ray).applyMatrix4(v.matrixWorld);var w=new k(this,[f],g.UJ,l.rl,this.eS==
v);this.UEa(w);this.p9a(w,v);var x=this.$Da.get(v),y=w.Dk;x&&d(x,y)||(this.$Da.set(v,y),x=(x=w.Qt())?h.Jt(x):h.pr(),y=0<y.length,((w=w.B3())||v.xK)&&g.WEa(v,5),g.Fia(v,y,w,x))}};t.prototype.p9a=function(u,v){var w=u.Ex()||"",x=this.DK.get(v);x&&w!==x.get("text")&&(w?(x.set("text",w),x.set("alpha",1),x.Ah(),w=(w=u.Qt())?h.Jt(w):h.pr(),p.radius=w,x.set("intersectionYaw",void 0),x.set("intersectionPitch",void 0),f.copy(v.ray).applyMatrix4(v.matrixWorld),f.intersectSphere(p,q)&&(0==q.x&&0==q.z||x.set("intersectionYaw",
n*Math.atan2(q.x,-q.z)),0==q.y&&0==q.z||x.set("intersectionPitch",n*Math.atan2(q.y,Math.sqrt(q.z*q.z+q.x*q.x))),x.set("intersectionDistance",u.Qt()))):(x.set("text",""),x.set("alpha",0)))};t.prototype.UEa=function(u){this.j.HR().sort(function(v,w){return w.get("index")-v.get("index")}).forEach(function(v){v.Bm(u)}.bind(this))};t.prototype.P8a=function(){var u=this.j.ob();u&&u.trigger(l.LB,{$K:l.Pf})};t.prototype.H0a=function(){var u=new m;u.set("alpha",0);this.j.add(u);return u};t.prototype.Eza=function(u){this.j.remove(u)};
return t}(b);var f=new c.Ray,p=new c.Sphere,q=new c.Vector3,n=180/Math.PI;return a});define("hx","require cN es jt or gJ pl".split(" "),function(a){var e=a("cN"),l=a("es"),m=a("jt"),k=a("or"),b=a("gJ"),h=a("pl");return{create:function(g,c){switch(g){case k.JL:return new h(c);case k.w5:return new e(c,!0);case k.hU:return new e(c,!1);case k.kla:return new l(c);case k.HL:return new m(c);case k.IL:return new b(c)}}}});
define("pI",["require","bd"],function(a){function e(m){this.Qc=m;this.Ue=[]}var l=a("bd");e.prototype.push=function(m){this.Ue.push(m);this.ia()};e.prototype.pop=function(m){for(var k=this.Ue.length-1;0<=k;k--)if(this.Ue[k]==m){this.Ue.splice(k,1);this.ia();break}};e.prototype.clear=function(){0<this.Ue.length&&(this.Qc.set("cursor",l.xe),this.Ue=[])};e.prototype.ia=function(){var m=0<=this.Ue.indexOf(l.Lh)?l.Lh:0<=this.Ue.indexOf(l.ye)?l.ye:0<this.Ue.length?this.Ue[this.Ue.length-1]:l.xe;this.Qc.set("cursor",
m)};return e});
define("mo","require lE kS pf cC e bd v hu is kv pm eL ea gD hx or pI pn kJ lh oA bi oi".split(" "),function(a){var e=a("lE"),l=a("kS"),m=a("pf"),k=a("cC"),b=a("e"),h=a("bd"),g=a("v"),c=a("hu"),d=a("is"),f=a("kv"),p=a("pm"),q=a("eL"),n=a("ea"),r=a("gD"),t=a("hx"),u=a("or"),v=a("pI"),w=a("pn"),x=a("kJ"),y=a("lh"),z=a("oA"),E=a("bi"),B=a("oi"),A=Math.PI/180,D=e.extend(b,function(C,J,H){b.call(this);this.Fe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",h.pu);this.set("layout","absolute");
this.set("interactionEnabled",!1);this.uc=C;this.L=J;this.Nc=H;this.ne=new v(J);this.Yd=null;this.G8=!1;this.C=new p;this.Ea=new r(this.uc,this.L,this.Nc,this);this.Ea.bind(m.ca,this.requestFrame,this,!0);this.jj=new q(this.L);this.C.yg=this.jj.Ch();this.C.iR=this.jj.Rna;this.C.jR=this.jj.Sna;this.C.camera=this.jj.getCamera();this.Nqa=(new Date).getTime();this.QM=new f;this.Pb().append(this.QM.Yc());this.d_=new x;this.d_.bind(m.Z,this.yTa,this,!0);this.Gra=new w;this.Gra.bind(m.ca,this.dTa,this,!0);
this.WV=new d(this.C.width,this.C.height,this.C.Ie*A);this.bind(m.oc,this.Bc,this,!0);this.bind(m.bd,this.ij,this,!0);this.bind(m.Tc,this.hj,this,!0);z.P.bind(m.ca,this.wo,this,!0);c.bind(m.ca,this.LSa,this,!0);l.ha(this.Nc,["fxaaEnabled","aaEnabled","hotspotsEnabled","preloadEnabled"],function(){this.C.VE=this.Nc.get("hotspotsEnabled");this.C.BS=this.Nc.get("preloadEnabled");this.C.Wfa=this.Nc.get("fxaaEnabled");this.C.Sea=this.Nc.get("aaEnabled");this.requestFrame()}.bind(this),!0);l.ha(this.Nc,
["surfaceSelectionEnabled"],this.iea.bind(this));this.iea();this.wo();l.ha(this.uc,["defaultVRPointer"],this.To.bind(this));this.To()});D.prototype.create=function(C){return n.create(C)};D.prototype.add=function(C){this.Ea.appendChild(C);1==this.Ea.jb().length&&this.ISa()};D.prototype.remove=function(C){if(C=this.Ea.xf(C))C.remove(),0==this.Ea.jb().length&&this.SSa()};D.prototype.xf=function(C){return this.Ea.xf(C)};D.prototype.HR=function(){return this.Ea.all()};D.prototype.w6a=function(C){this.G8!=
C&&(this.G8=C,this.To())};D.prototype.yFa=function(C){this.C.iha=C};D.prototype.B2=function(C){this.ne.push(C)};D.prototype.EK=function(C){this.ne.pop(C)};D.prototype.ux=function(C){this.C.fr=C;this.requestFrame()};D.prototype.tF=function(){this.QM.trigger();this.C.XE=!0;this.WY();var C=B.IGa(this.jj.hg());this.C.XE=!1;this.WY();return C};D.prototype.lfa=function(C){this.C.XE=!0;this.WY();C=this.jj.lfa(C);this.C.XE=!1;return C};D.prototype.getPixelRatio=function(){return this.jj.getPixelRatio()};
D.prototype.tr=function(){return!!this.jj&&this.jj.tr()};D.prototype.To=function(){var C=this.C.pb?u.JL:this.G8?u.hU:g.lb()?u.IL:u.HL;this.Yd&&this.Yd.getType()==C||(this.Yd&&this.Yd.clear(),this.Yd=t.create(C,this),this.iea(),this.Yd.update(this.C))};D.prototype.iea=function(){this.C.nT=this.Nc.get("surfaceSelectionEnabled")&&0<=[u.HL,u.JL,u.IL,u.hU].indexOf(this.Yd&&this.Yd.getType())};D.prototype.zn=function(){this.ne.clear();b.prototype.zn.call(this)};D.prototype.Bc=function(){var C=this.Xa(),
J=this.yb();if(this.C.width!=C||this.C.height!=J)C&&J?(this.C.width=C,this.C.height=J,this.WV.hT(this.C.width),this.WV.pFa(this.C.height),this.requestFrame()):e.log("Invalid size values: "+C+" "+J)};D.prototype.ij=function(){this.C.enabled=!0;this.requestFrame()};D.prototype.hj=function(){this.C.enabled=!1};D.prototype.wo=function(){this.C.pb=z.isPresenting;this.To();this.requestFrame()};D.prototype.LSa=function(){this.To();this.requestFrame()};D.prototype.yTa=function(){this.requestFrame()};D.prototype.dTa=
function(){this.requestFrame()};D.prototype.ISa=function(){this.d_.R2(this.L.bc.wA())};D.prototype.SSa=function(){this.jj.q1a();this.d_.R2(null)};D.prototype.JFa=function(C){this.YY!=C&&((this.YY=C)||this.requestFrame())};D.prototype.EF=function(C){this.C.Em!=C&&(this.C.Em=C,this.requestFrame())};D.prototype.setPosition=function(C,J,H,P){if(this.C.Qa!=C||this.C.pitch!=J||this.C.xg!=H||this.C.Ie!=P)isNaN(C)||isNaN(J)||isNaN(H)||!P?e.log("Invalid position values: "+C+" "+J+" "+H+" "+P):(this.C.Qa=C,
this.C.pitch=J,this.C.xg=H,this.C.Ie=P,this.WV.zF(this.C.Ie*A),this.requestFrame())};D.prototype.Sc=function(){return this.C.Qa};D.prototype.Rc=function(){return this.C.pitch};D.prototype.Xf=function(){return this.C.xg};D.prototype.vf=function(){return this.C.Ie};D.prototype.VJ=function(){return this.C.pb?this.C.hi:y.Or(this.C.hi,this.C.width,this.C.height)};D.prototype.WJ=function(){return this.C.hi};D.prototype.unproject=function(C){return this.WV.unproject(C)};D.prototype.requestFrame=function(){E.requestFrame(this.Qj,
this)};D.prototype.Qj=function(){if(E.f1){var C=(new Date).getTime(),J=Math.max(1,Math.min(C-this.Nqa,33));this.Nqa=C;this.trigger(new k(D.H4,{frameTime:J}));this.C.enabled&&(this.C.Ge=J,this.WY())}else this.requestFrame()};D.prototype.WY=function(){0!=this.Ea.jb().length&&(this.jj.update(this.C),this.C.f0=this.jj.D1a(),this.C.aR=this.jj.C1a(),this.C.hi=this.jj.A1a(),this.C.ck=this.jj.getPixelRatio(),this.C.camera=this.jj.getCamera(),this.Ea.update(this.C),this.d_.update(this.C),this.Gra.update(this.C),
this.Yd.update(this.C),this.YY||this.jj.render())};D.H4="render start";D.fab=function(){return!0};return D});
define("fU",["require","lE","cC","gv","mo"],function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("mo"),b=e.extend(m,function(h){m.call(this);this.j=h;this.j.bind(k.H4,this.rta,this,!0)});b.prototype.clear=function(){this.j.unbind(k.H4,this.rta,this,!0);this.j=null};b.prototype.requestFrame=function(){this.j.requestFrame()};b.prototype.rta=function(h){h=h.data.frameTime;this.trigger(new l(b.yp,{frameTime:h}));this.trigger(new l(b.zp,{frameTime:h}))};b.yp="frameStart";b.zp="positionSet";return b});
define("dy",["require","v","lh"],function(a){function e(){this.wa=this.na=0;this.Ta=90;this.Xl="landscape";this.Qaa=!1;this.oN=l.lb()}var l=a("v"),m=a("lh");e.prototype.tFa=function(k){this.Ta=this.jAa(k)};e.prototype.jAa=function(k){return this.oN&&"portrait"==this.Xl?m.CE(k,this.wa,this.na):k};e.prototype.Z1a=function(k){return this.oN&&"portrait"==this.Xl?m.rm(k,this.na,this.wa):k};e.prototype.mp=function(k){this.Ta=this.oN&&this.Qaa?m.CE(k,this.wa,this.na):k};e.prototype.NBa=function(){return this.oN&&
this.Qaa};e.prototype.Xw=function(){return this.oN&&"portrait"==this.Xl};e.prototype.vf=function(){return this.Ta};e.prototype.j0=function(k){return m.CE(k,this.wa,this.na)};e.prototype.setSize=function(k,b){this.na=k;this.wa=b;k=this.aQa();this.Qaa=this.Xl!=k;this.Xl=k};e.prototype.aQa=function(){return 0===this.na||0===this.wa?"landscape":this.na<this.wa?"portrait":"landscape"};return e});
define("og","require lE bn cC gv jg".split(" "),function(a){var e=a("lE"),l=a("bn"),m=a("cC"),k=a("gv"),b=a("jg"),h=e.extend(k,function(g){k.call(this);this.j=g;this.T=!1;this.Jl=this.Jl.bind(this);this.Nc=this.j.Nc});h.prototype.clear=function(){this.Nc=this.j=null};h.prototype.mb=function(g){this.T!=g&&(this.T&&document.removeEventListener("keyup",this.Jl),(this.T=g)&&document.addEventListener("keyup",this.Jl))};h.prototype.Jl=function(g){b.bp()||this.Nc.get("gazeModeEnabled")||"translate"!=this.Nc.get("arrowKeysAction")||
(g.which!=l.Ih||g.shiftKey?g.which!=l.Wi||g.shiftKey||this.trigger(new m(h.y4)):this.trigger(new m(h.x4)))};h.y4="moveForward";h.x4="moveBackward";return h});
define("iV","require en lE pf cC gv og".split(" "),function(a){a("en");var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("og");a=e.extend(k,function(g){k.call(this);this.j=g;this.hn=new b(g);this.hn.bind(b.y4,this.usa,this,!0);this.hn.bind(b.x4,this.tsa,this,!0)});a.prototype.clear=function(){this.hn.unbind(b.y4,this.usa,this,!0);this.hn.unbind(b.x4,this.tsa,this,!0);this.hn.clear();this.hn=null};a.prototype.QA=function(g){this.hn.mb(g)};a.prototype.kf=function(g){this.ua=g};a.prototype.end=function(){this.ua=
null};a.prototype.usa=function(g){this.cxa(g);(g=this.kva(this.j.Sc(),this.Dpa()))&&g.trigger(l.Kp)};a.prototype.tsa=function(g){this.cxa(g);(g=this.kva(this.j.Sc()-180,this.Dpa()))&&g.trigger(l.Kp)};a.prototype.cxa=function(g){this.j.ob().trigger(new m(l.LB,{$K:g}))};a.prototype.Dpa=function(){return this.j.Nc.get("keyboardTranslateSelectionAngle")};a.prototype.kva=function(g,c){var d,f;if(!this.ua)return null;void 0!==d||(d=-90);void 0!==f||(f=360);var p=g-.5*c,q=g+.5*c,n=Math.max(-90,d-.5*f),r=
Math.max(90,d+.5*f);c=this.ua.get("adjacentPanoramas",[]).slice();c=c.filter(function(t){if(!t.get("enabled"))return!1;t=this.hq(t);if(!t)return!1;var u=t.Qa;for(var v=g-180,w=g+180;u<v;)u+=w-v;for(;u>w;)u-=w-v;t=t.pitch;return p<=u&&u<=q&&n<=t&&t<=r}.bind(this));if(0==c.length)return null;c.sort(function(t,u){t=this.hq(t);u=this.hq(u);return(g-t.Qa)*(g-t.Qa)+(d-t.pitch)*(d-t.pitch)-((g-u.Qa)*(g-u.Qa)+(d-u.pitch)*(d-u.pitch))}.bind(this));return c[0]};a.prototype.hq=function(g){var c=g.get("yaw");
g=g.get("distance");if(void 0===c||void 0===g)return null;var d=this.ua.get("distanceToFloor");return{Qa:c,pitch:-90+Math.atan2(g,d)*h}};var h=180/Math.PI;return a});
define("ma","require lE pf cC gv nz bt pq x mL kk fU dy iV fA".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("nz"),h=a("bt"),g=a("pq"),c=a("x"),d=a("mL"),f=a("kk"),p=a("fU"),q=a("dy"),n=a("iV"),r=a("fA"),t=e.extend(k,function(u,v){k.call(this);this.L=u;this.j=v;this.j.set("visible",!1);this.Jc=new q;this.qg=new p(this.j);this.he=new d(this.j);this.Lb=new g(this.L,this.j,this.Jc);this.eb=new h(this.j,this.Jc);this.Ff=new c(this.j);this.Nv=new f(this.j);this.Rd=new b(this.j);
this.j_=new n(this.j);this.qg.bind(p.yp,this.xz,this,!0);this.qg.bind(p.zp,this.yz,this,!0);this.he.bind(l.$c,this.Dsa,this,!0);this.he.bind(l.Qf,this.rO,this,!0);this.he.bind(l.lc,this.Di,this,!0);this.Lb.bind(g.Gb,this.Se,this,!0);this.Lb.bind(g.I4,this.Esa,this,!0);this.Lb.bind(g.z4,this.Wsa,this,!0);this.Lb.bind(g.e4,this.Mra,this,!0);this.Lb.bind(g.f4,this.Nra,this,!0);this.Lb.bind(g.tB,this.AO,this,!0);this.Lb.bind(g.rB,this.wz,this,!0);this.Lb.bind(g.sB,this.Yv,this,!0);this.Lb.bind(g.qB,this.zO,
this,!0);this.Lb.bind(g.Ap,this.Bz,this,!0);this.eb.bind(h.Gb,this.Se,this,!0);this.eb.bind(h.jk,this.xq,this);this.eb.bind(h.xp,this.rn,this);this.eb.bind(h.Gc,this.df,this,!0);this.eb.bind(h.Vi,this.Cq,this,!0);this.eb.bind(h.Ui,this.Bq,this,!0);this.Ff.bind(c.Gb,this.Se,this,!0);this.Ff.bind(c.xj,this.Aq,this,!0);this.Ff.bind(c.Gc,this.df,this,!0);this.Nv.bind(f.pi,this.Ksa,this,!0)});t.prototype.clear=function(){this.he.clear();this.qg.clear();this.eb.clear();this.Lb.clear();this.Ff.clear();this.Nv.clear();
this.Rd.clear();this.he.unbind(l.$c,this.Dsa,this);this.he.unbind(l.Qf,this.rO,this);this.he.unbind(l.lc,this.Di,this);this.qg.unbind(p.yp,this.xz,this);this.qg.unbind(p.zp,this.yz,this);this.Lb.unbind(g.Gb,this.Se,this);this.Lb.unbind(g.I4,this.Esa,this);this.Lb.unbind(g.z4,this.Wsa,this);this.Lb.unbind(g.e4,this.Mra,this);this.Lb.unbind(g.f4,this.Nra,this);this.Lb.unbind(g.tB,this.AO,this);this.Lb.unbind(g.rB,this.wz,this);this.Lb.unbind(g.sB,this.Yv,this);this.Lb.unbind(g.qB,this.zO,this);this.Lb.unbind(g.Ap,
this.Bz,this);this.eb.unbind(h.hIa,this.Se,this);this.eb.unbind(h.jk,this.xq,this);this.eb.unbind(h.xp,this.rn,this);this.eb.unbind(h.Gc,this.df,this,!0);this.eb.unbind(h.Vi,this.Cq,this);this.eb.unbind(h.Ui,this.Bq,this);this.Ff.unbind(c.Gb,this.Se,this);this.Ff.unbind(c.xj,this.Aq,this);this.Ff.unbind(c.Gc,this.df,this);this.Nv.unbind(f.pi,this.Ksa,this);this.L=this.j=this.j_=this.Rd=this.Nv=this.Ff=this.Lb=this.eb=this.qg=this.he=null};t.prototype.N2=function(u){this.Nv.N2(u)};t.prototype.Bia=
function(u){this.Lb.Bia(u)};t.prototype.kf=function(u,v,w){this.j.set("visible",!0);this.Ff.d3();u.set("currentTime",w);this.Lb.start(u,v)};t.prototype.uA=function(){return this.he.ua||this.Lb.I1a()||this.Lb.ws};t.prototype.tx=function(){this.he.stop();this.Ff.end();this.eb.end();this.Lb.hide();this.Nv.stop();this.Rd.end();this.j_.end()};t.prototype.JK=function(){this.eb.resume();this.Ff.JK()};t.prototype.yK=function(){this.eb.pause();this.Ff.yK()};t.prototype.play=function(){this.eb.play();this.Rd.play();
this.Ff.play()};t.prototype.pause=function(){this.eb.pause();this.Rd.pause();this.Ff.pause()};t.prototype.stop=function(){this.eb.stop();this.Rd.stop();this.Ff.stop()};t.prototype.QA=function(u){this.eb.QA(u);this.j_.QA(u)};t.prototype.getTime=function(){return this.Ff.getTime()};t.prototype.moveTo=function(u,v,w,x,y){this.eb.moveTo(u,v,w,x,y)};t.prototype.Sc=function(){return this.j?this.j.Sc():void 0};t.prototype.Rc=function(){return this.j?this.j.Rc():void 0};t.prototype.Xf=function(){return this.j?
this.j.Xf():void 0};t.prototype.vf=function(){return this.j?this.Jc.Z1a(this.j.vf()):void 0};t.prototype.VJ=function(){return this.j?this.j.VJ():void 0};t.prototype.WJ=function(){return this.j?this.j.WJ():void 0};t.prototype.df=function(){var u=this.Ff.ak()||this.eb.ak();this.trigger(new m(t.Gc,{state:u}))};t.prototype.dk=function(u){this.eb.dk(u)};t.prototype.TS=function(u){this.eb.TS(u)};t.prototype.RA=function(u){this.eb.RA(u)};t.prototype.US=function(u){this.eb.US(u)};t.prototype.Nf=function(u){this.Ff.Nf(u)};
t.prototype.FF=function(u){this.eb.FF(u)};t.prototype.qga=function(u,v){return(u=r.get(u,v,this.j.Sc(),this.j.Rc(),this.j.Xf(),this.j.vf(),this.j.Xa(),this.j.yb()))?{x:u.x,y:u.y}:null};t.prototype.f2a=function(u,v){return(u=r.t9a(u,v,this.j))?{yaw:u.Qa,pitch:u.pitch}:null};t.prototype.tF=function(){this.j.tF()};t.prototype.Cga=function(){return this.Lb.Cga()};t.prototype.Esa=function(u){this.he.start(u.data.panorama)};t.prototype.Di=function(u){this.j.ux(100>u.Mg);this.trigger(new m(t.ku,{percent:u.Mg}))};
t.prototype.Dsa=function(u){this.Ff.end();this.j_.kf(u.data.panorama)};t.prototype.rO=function(){this.j.ux(!1);this.trigger(new m(t.kB))};t.prototype.Se=function(){this.qg.requestFrame()};t.prototype.xz=function(u){u=u.data.frameTime;this.Jc.setSize(this.j.Xa(),this.j.yb());this.Lb.ox(u);this.eb.ox(u)};t.prototype.yz=function(u){u=u.data.frameTime;this.Lb.Gd(u);this.eb.Gd(u);this.Ff.Gd(u);this.Nv.Gd(u);this.Rd.Gd(u)};t.prototype.AO=function(u){this.Nv.display(u.data.panorama);this.Ff.jK(u.data.panorama);
this.trigger(new m(t.tB,{panorama:u.data.panorama}))};t.prototype.Wsa=function(u){this.Nv.hide(u.data.panorama)};t.prototype.Mra=function(u){this.Ff.start(u.data.panorama);this.Rd.start(u.data.panorama)};t.prototype.Nra=function(){this.Ff.end();this.j.set("visible",!1)};t.prototype.zO=function(u){this.eb.end();this.Rd.end(u.data.nextPanorama);this.trigger(new m(t.qB,{panorama:u.data.panorama}))};t.prototype.Yv=function(u){this.eb.start(u.data.panorama,u.data.camera);this.trigger(new m(t.sB,{panorama:u.data.panorama}))};
t.prototype.wz=function(u){this.trigger(new m(t.rB,{panorama:u.data.panorama}))};t.prototype.Ksa=function(u){this.eb.Kia(u.data.yawDelta,0)};t.prototype.xq=function(u){this.trigger(new m(t.jk,u.data))};t.prototype.rn=function(u){this.trigger(new m(t.xp,u.data))};t.prototype.Bz=function(u){this.trigger(new m(t.Ap,u.data))};t.prototype.Cq=function(){this.Ff.iL();this.trigger(new m(t.Vi))};t.prototype.Bq=function(){this.trigger(new m(t.Ui))};t.prototype.lFa=function(u){this.Ff.CF(u)};t.prototype.PA=
function(u){this.Ff.PA(u)};t.prototype.Aq=function(u){this.trigger(new m(t.xj,u.data))};t.ku="loadingProgress";t.kB="loadingEnd";t.jk="movementChange";t.xp="positionChange";t.tB="panoramaStart";t.qB="panoramaEnd";t.sB="panoramaShow";t.rB="panoramaHide";t.Gc="playbackStateChange";t.Vi="userInteractionStart";t.Ui="userInteractionEnd";t.xj="timeChange";t.Ap="transitionEnd";return t});
define("oK","require lE pf cC lg cI nU jX iL hz ma er mo hW je oA ek gW jg".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("lg"),b=a("cI"),h=a("nU"),g=a("jX"),c=a("iL"),d=a("hz"),f=a("ma"),p=a("er"),q=a("mo"),n=a("hW"),r=a("je"),t=a("oA"),u=a("ek"),v=a("gW"),w=a("jg"),x=h.define("PanoramaPlayer",c,function(){c.call(this,"panorama");c.prototype.set.call(this,"rotationEnabled",!0);c.prototype.set.call(this,"zoomEnabled",!0);c.prototype.set.call(this,"surfaceSelectionEnabled",!1);c.prototype.set.call(this,
"surfaceSelectionHorizontalAngle",90);c.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);c.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",!1);c.prototype.set.call(this,"fxaaEnabled",!1);c.prototype.set.call(this,"aaEnabled",!1);this.ada=this.K9=this.Zy=this.YV=this.kX=this.dX=this.G6=this.Fz=this.fi=this.d6=!1;this.m9=!0;this.HZ=this.RW=this.dn=this.jV=!1;this.Kca=w.bp();w.D0.bind(l.ca,this.OSa,this,!0);this.bq=!1;this.VV=this.D8=this.gf=this.Ob=0;this.lba=this.nba=void 0;
this.haa=!0;this.Hi=k.W;this.uo=this.uo.bind(this);this.M=this.j=null;this.vra={};for(var y in x.Ku)this.vra[y]=this.qNa(y);this.KU=new g(this,"buttonToggleGyroscope",u.Bj);this.KU.bind(l.yj,function(){this.set("gyroscopeEnabled",!0)},this);this.KU.bind(l.sl,function(){this.set("gyroscopeEnabled",!1)},this);this.KU.set("pressed",this.get("gyroscopeEnabled")&&n.Xj);(new g(this,"buttonCardboardView",u.ze)).bind(l.qa,function(){this.set("viewMode",x.RB)},this,!0);(new g(this,"buttonVRView",u.ze)).bind(l.qa,
function(){this.set("viewMode",x.RB)},this,!0);t.P.bind(l.ca,function(){this.bxa("viewMode");this.trigger(x.M4)},this,!0);this.JU=new g(this,"buttonToggleGazeMode",u.Bj);this.JU.bind(l.yj,function(){this.set("gazeModeEnabled",!0)},this);this.JU.bind(l.sl,function(){this.set("gazeModeEnabled",!1)},this);this.JU.set("pressed",this.get("gazeModeEnabled"));this.LU=new g(this,"buttonToggleHotspots",u.Bj);this.LU.bind(l.yj,function(){this.set("hotspotsEnabled",!0)},this);this.LU.bind(l.sl,function(){this.set("hotspotsEnabled",
!1)},this);this.LU.set("pressed",this.get("hotspotsEnabled"));this.OU=new g(this,"buttonToggleSurfaceSelection",u.Bj);this.OU.bind(l.yj,function(){this.set("surfaceSelectionEnabled",!0)},this);this.OU.bind(l.sl,function(){this.set("surfaceSelectionEnabled",!1)},this);this.OU.set("pressed",this.get("surfaceSelectionEnabled"));this.MLa=new g(this,"buttonScreenshot",u.ze);this.MLa.bind(l.qa,this.bva,this,!0);this.Dd=e.ip(this.$g,this)});x.XHa="cameraPositionChange";x.ku="loadingProgress";x.dIa="preloadMediaShow";
x.M4="viewModeChange";x.prototype.moveLeft=function(){this.Oc(p.eG)};x.prototype.moveRight=function(){this.Oc(p.fG)};x.prototype.moveUp=function(){this.Oc(p.gG)};x.prototype.moveDown=function(){this.Oc(p.dG)};x.prototype.playLeft=function(){this.Oc([p.eG,p.Y])};x.prototype.playRight=function(){this.Oc([p.fG,p.Y])};x.prototype.playUp=function(){this.Oc([p.gG,p.Y])};x.prototype.playDown=function(){this.Oc([p.dG,p.Y])};x.prototype.play=function(){this.Gk()};x.prototype.pause=function(){this.Fq()};x.prototype.stop=
function(){this.Az()};x.prototype.seek=function(y){this.SD(y)};x.prototype.setFramePlaybackPosition=function(y){this.$Va(y)};x.prototype.setFrameTransitionPosition=function(y){this.aWa(y)};x.prototype.restart=function(){this.zz()};x.prototype.zoomIn=function(){this.Oc(p.Iu)};x.prototype.zoomOut=function(){this.Oc(p.Ju)};x.prototype.resumeCamera=function(){this.bVa()};x.prototype.pauseCamera=function(){this.TTa()};x.prototype.moveTo=function(y,z,E,B){this.ura(y,z,E,B,!1)};x.prototype.setPosition=function(y,
z,E,B){this.ura(y,z,E,B,!0)};x.prototype.getScreenPosition=function(y,z){return this.rQa(y,z)};x.prototype.getPanoramaPosition=function(y,z){return this.bQa(y,z)};x.prototype.saveScreenshot=function(){return this.bva()};x.prototype.get=function(y,z){switch(y){case "currentTime":return this.M&&this.M.getTime()||0;case "viewMode":return t.isPresenting?x.RB:x.L5;case "video":y="panorama";break;case "rendererPanorama":return this.M&&this.M.uA()}if(!z)switch(y){case "mouseControlMode":z=b.mka;break;case "touchControlMode":z=
b.ela}return c.prototype.get.call(this,y,z)};x.prototype.set=function(y,z){if(this.get(y)!=z){switch(y){case "application":this.d6=!0;this.Dd();break;case "startTime":this.Fz=!0;this.Dd();break;case "video":case "panorama":y="panorama";this.Fz=!0;this.Dd();break;case "camera":this.G6=!0;this.Dd();break;case "viewerArea":this.fi=!0;this.Dd();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.bq=
!0;this.Dd();break;case "mapPlayer":this.dX=!0;this.Dd();break;case "model3DPlayer":this.kX=!0;this.Dd();break;case "gazeModeEnabled":this.YV=!0;this.Dd();break;case "gyroscopeEnabled":this.Zy=!0;this.Dd();break;case "gyroscopeVerticalDraggingEnabled":this.m9=!0;this.Dd();break;case "viewMode":"vr"==z&&(z=x.RB);z==x.RB?this.get("viewerArea").set("viewMode","vr"):this.get("viewerArea").set("viewMode","standard");z=t.isPresenting?x.RB:x.L5;break;case "hotspotsEnabled":this.K9=!0;this.Dd();break;case "mouseControlMode":case "touchControlMode":this.jV=
!0;this.Dd();break;case "surfaceSelectionEnabled":this.ada=!0,this.Dd()}c.prototype.set.call(this,y,z)}};x.prototype.np=function(y){this.dn!=y&&((this.dn=y)?document.addEventListener("keyup",this.uo,!0):document.removeEventListener("keyup",this.uo,!0),this.M&&this.M.QA(this.dn),this.RW=!0,this.Dd())};x.prototype.OSa=function(){var y=w.bp();this.Kca!==y&&(this.HZ=!0,this.Kca=y,this.Dd())};x.prototype.uo=function(y){var z=this.get("gazeModeKeyCode");z&&!w.bp()&&y.code==z&&this.set("gazeModeEnabled",
!this.get("gazeModeEnabled"))};x.prototype.nfa=function(){return"inherit"!=this.get("doubleClickAction")};x.prototype.S8a=function(){this.sF([this])};x.prototype.x6=function(y){c.prototype.x6.call(this,y);y.bind(l.ql,this.gya,this,!0)};x.prototype.Fda=function(y){c.prototype.Fda.call(this,y);y.unbind(l.ql,this.gya,this,!0)};x.prototype.gya=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var y=this.get("application").th;y&&y.Xj()&&y.toggle()}};x.prototype.qNa=function(y){var z=
x.Ku[y];y=new g(this,y,u.ze);y.bind(l.kb,function(){this.Oc(z.movement)},this);z.stopOnRelease&&y.bind(l.Hb,function(){this.Oc(p.Qf)},this);return y};x.prototype.$g=function(){if(this.fi||this.d6)this.fi=this.d6=!1,this.HZ=this.RW=this.jV=this.Zy=this.YV=this.kX=this.dX=!0,this.jv(),this.get("viewerArea")&&this.get("application")&&this.gv(),this.IP(this.get("viewerArea"));var y=!1;if(this.j){this.dX&&(this.dX=!1,this.M.N2(this.get("mapPlayer")));this.kX&&(this.kX=!1,this.M.Bia(this.get("model3DPlayer")));
this.jV&&(this.jV=!1,this.M.RA(this.get("mouseControlMode")),this.M.FF(this.get("touchControlMode")));if(this.Fz||this.G6)this.VV=this.D8=this.Ob=this.gf=0,this.lba=this.nba=void 0,y=!0,this.G6=this.Fz=!1,this.get("panorama")?(this.get("viewerArea").bc.j8a(),this.M.kf(this.get("panorama"),this.get("camera",new d),this.get("startTime"))):(this.M.tx(),this.haa=!0,this.Hi=k.W,this.qd(k.W));if(this.YV||this.RW||this.HZ){this.RW=this.HZ=this.YV=!1;var z=this.get("gazeModeEnabled");this.j.w6a(z&&this.dn&&
!this.Kca);this.JU.set("pressed",z)}this.m9&&(this.m9=!1,this.M.US(this.get("gyroscopeVerticalDraggingEnabled",!0)));this.Zy&&(this.Zy=!1,(z=this.get("gyroscopeEnabled")&&n.Xj)&&n.disabled&&(z=!1,r.Yja.show(function(){n.Zha(function(){this.set("gyroscopeEnabled",!0)}.bind(this))}.bind(this))),this.set("gyroscopeEnabled",z),this.M.TS(z),this.KU.set("pressed",z));this.K9&&(this.K9=!1,this.LU.set("pressed",this.get("hotspotsEnabled")));this.bq&&(this.bq=!1,y=!0);this.ada&&(this.ada=!1,this.OU.set("pressed",
this.get("surfaceSelectionEnabled")));y&&this.Iw()}};x.prototype.YI=function(){this.M.Cga()||this.set("panorama",null)};x.prototype.gv=function(){var y=this.get("viewerArea"),z=this.get("application");this.j=new q(z,y,this);this.j.ma({left:0,top:0,bottom:0,right:0});y.Wa(this.j);this.M=new f(y,this.j);this.M.bind(f.jk,this.xq,this);this.M.bind(f.xp,this.$ra,this);this.M.bind(f.ku,this.Di,this);this.M.bind(f.kB,this.cI,this);this.M.bind(f.sB,this.Yv,this,!0);this.M.bind(f.rB,this.wz,this,!0);this.M.bind(f.tB,
this.AO,this,!0);this.M.bind(f.qB,this.zO,this,!0);this.M.bind(f.Gc,this.df,this);this.M.bind(f.Vi,this.Cq,this);this.M.bind(f.Ui,this.Bq,this);this.M.bind(f.xj,this.Aq,this);this.M.bind(f.Ap,this.Bz,this,!0);this.get("application").bind(l.D("mute"),this.xO,this);this.get("application").get("mute",!1)&&this.M.Nf(!0);this.M.QA(this.dn);t.P.bind(l.ca,this.wo,this,!0);this.g7();this.Wz(!0)};x.prototype.jv=function(){this.j&&(this.M.unbind(f.jk,this.xq,this),this.M.unbind(f.xp,this.$ra,this),this.M.unbind(f.ku,
this.Di,this),this.M.unbind(f.kB,this.cI,this),this.M.unbind(f.sB,this.Yv,this,!0),this.M.unbind(f.rB,this.wz,this,!0),this.M.unbind(f.tB,this.AO,this,!0),this.M.unbind(f.qB,this.zO,this,!0),this.M.unbind(f.Gc,this.df,this),this.M.unbind(f.Vi,this.Cq,this),this.M.unbind(f.Ui,this.Bq,this),this.M.unbind(f.xj,this.Aq,this),this.M.unbind(f.Ap,this.Bz,this),this.M.clear(),this.M=null,this.get("application").unbind(l.D("mute"),this.xO,this),this.j.getParent().removeChild(this.j),this.j=null,t.P.unbind(l.ca,
this.wo,this,!0),this.Wz(!1))};x.prototype.xO=function(){this.j&&this.M.Nf(this.get("application").get("mute",!1))};x.prototype.df=function(y){this.Hi=y.data.state;this.sg()};x.prototype.sg=function(){this.qd(this.haa||t.isPresenting?this.Hi:k.Y)};x.prototype.Cq=function(){this.trigger(new m(l.ola))};x.prototype.Bq=function(){this.trigger(new m(l.nla))};x.prototype.AO=function(y){this.trigger(new m(x.dIa,{panorama:y.data.panorama}))};x.prototype.zO=function(){};x.prototype.Yv=function(y){this.g7();
this.RN(y.data.panorama)};x.prototype.wz=function(y){this.QN(y.data.panorama)};x.prototype.xq=function(y){for(var z in x.Ku)this.vra[z].set("state",y.data[x.Ku[z].pressedOn]?v.xb:v.xe);this.haa=y.data.stopped;this.sg();this.trigger(new m(l.oka,y.data))};x.prototype.$ra=function(y){this.g7();this.trigger(new m(x.XHa,y.data))};x.prototype.g7=function(){this.M&&(this.set("yaw",this.M.Sc()),this.set("pitch",this.M.Rc()),this.set("roll",this.M.Xf()),this.set("hfov",this.M.vf()),this.set("actualHFOV",this.M.VJ()),
this.set("actualVFOV",this.M.WJ()))};x.prototype.Di=function(y){this.j.getParent().ma({progressPercent:y.data.percent,progressVisible:!0});this.trigger(new m(x.ku,y.data))};x.prototype.cI=function(){this.j.getParent().set("progressVisible",!1)};x.prototype.Bz=function(){this.trigger(l.t5)};x.prototype.wo=function(){this.set("viewMode",t.isPresenting?x.RB:x.L5);this.sg()};x.prototype.ura=function(y,z,E,B,A){this.M&&this.M.moveTo(y,z,E,B,A)};x.prototype.Oc=function(y){this.M&&this.M.dk(y)};x.prototype.Gk=
function(){this.M&&this.M.play()};x.prototype.Lo=function(){this.M&&this.M.stop()};x.prototype.Fq=function(){this.M&&this.M.pause()};x.prototype.SD=function(y){this.M&&(this.npa()?this.M.PA(y):this.M.lFa(y))};x.prototype.$Va=function(y){this.M&&this.M.lFa(y)};x.prototype.aWa=function(y){this.M&&this.M.PA(y)};x.prototype.TTa=function(){this.M&&this.M.yK()};x.prototype.bVa=function(){this.M&&this.M.JK()};x.prototype.rQa=function(y,z){if(this.M)return this.M.qga(y,z)};x.prototype.bQa=function(y,z){if(this.M)return this.M.f2a(y,
z)};x.prototype.bva=function(){this.M&&this.M.tF()};x.prototype.YO=function(y){this.SD(y.data.position)};x.prototype.Aq=function(y){this.gf=y.data.time;this.Ob=y.data.duration;this.D8=y.data.transitionPosition;this.VV=y.data.transitionLength;this.nba=y.data.steps;this.lba=y.data.selectedStep;this.Iw()};x.prototype.Iw=function(){var y=this.j.getParent(),z=!1;if(this.uPa()){var E=this.npa(),B=this.dQa();E?0<this.VV&&(y.ma({playbackBarPosition:this.D8,playbackBarDuration:this.VV,playbackBarSteps:this.nba,
playbackBarSelectedStep:this.lba,playbackBarLiveDragging:B}),z=!0):0<this.Ob&&(y.ma({playbackBarPosition:this.gf,playbackBarDuration:this.Ob,playbackBarSteps:void 0,playbackBarSelectedStep:void 0,playbackBarLiveDragging:B}),z=!0)}y.set("playbackBarVisible",z)};x.prototype.uPa=function(){var y=this.get("panorama");return y?h.Ia("HDRPanorama",y)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!1)):h.Ia("LivePanorama",y)?this.get("livePanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",
!1)):h.Ia("VideoPanorama",y)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",!0)):!1:!1};x.prototype.npa=function(){var y=this.get("panorama");return y?h.Ia("HDRPanorama",y)?this.get("hdrPanoramaDisplayPlaybackBarSteps",!0):h.Ia("LivePanorama",y)?this.get("livePanoramaDisplayPlaybackBarSteps",!0):!1:!1};x.prototype.dQa=function(){var y=this.get("panorama");return!y||h.Ia("VideoPanorama",y)?!1:!0};x.RB="cardboard";x.L5="standard";x.Ku={buttonMoveLeft:{movement:p.eG,pressedOn:"movingLeft",
stopOnRelease:!0},buttonMoveRight:{movement:p.fG,pressedOn:"movingRight",stopOnRelease:!0},buttonMoveUp:{movement:p.gG,pressedOn:"movingUp",stopOnRelease:!0},buttonMoveDown:{movement:p.dG,pressedOn:"movingDown",stopOnRelease:!0},buttonPlayLeft:{movement:[p.eG,p.Y],pressedOn:"movingLeft",stopOnRelease:!1},buttonPlayRight:{movement:[p.fG,p.Y],pressedOn:"movingRight",stopOnRelease:!1},buttonPlayUp:{movement:[p.gG,p.Y],pressedOn:"movingUp",stopOnRelease:!1},buttonPlayDown:{movement:[p.dG,p.Y],pressedOn:"movingDown",
stopOnRelease:!1},buttonZoomIn:{movement:p.Iu,pressedOn:"zoomingIn",stopOnRelease:!0},buttonZoomOut:{movement:p.Ju,pressedOn:"zoomingOut",stopOnRelease:!0}};return x});
define("cE",["require","nU","dh","iy"],function(a){var e=a("nU"),l=a("dh"),m=a("iy");a=e.define("PanoramaPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(l.hh,this.Yv,this),k.set("panorama",this.get("media")),k.set("camera",this.get("camera")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(l.hh,this.Yv,this),k.get("panorama")==this.get("media")&&k.set("panorama",null));m.prototype.stop.call(this)};
a.prototype.Yv=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.hh,this.Yv,this),this.get("player").bind(l.Im,this.wz,this),this.kA())};a.prototype.wz=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.Im,this.wz,this),this.stop(),this.end())};return a});define("lI",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PanoramaSnapshot",e,function(){e.call(this)})});
define("nv",["require","lE","cu"],function(a){var e=a("lE"),l=a("cu");a=e.extend(l,function(m,k,b,h){l.call(this);this.Od=m;this.na=k;this.wa=b;this.u8=h});a.prototype.Nt=function(){return[this.Od]};a.prototype.Pi=function(){return this.Od};a.prototype.He=function(){return this.na};a.prototype.Xe=function(){return this.wa};return a});
define("pe",["require","nU","eu","gn","nv"],function(a){var e=a("nU"),l=a("eu"),m=a("gn"),k=a("nv");a=e.define("Photo",l,function(){l.call(this);this.ya=void 0});a.prototype.$j=function(){if(void 0==this.ya){var b=this.get("image");this.ya=b?new k(m.qr(b).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",!1)):null}return this.ya};a.prototype.Mt=function(){var b=this.dW(this.$j());this.get("audios",[]).forEach(function(h){b=b.concat(h.Mt())}.bind(this));return b};a.prototype.dW=
function(b){return b?b.Nt():[]};return a});define("jO",["require","eu","nU"],function(a){var e=a("eu");a=a("nU").define("PhotoAlbum",e,function(){e.call(this);this.set("loop",!1)});a.prototype.Mt=function(){var l=[],m=this.get("playList");m&&m.get("items",[]).forEach(function(k){(k=k.get("media"))&&(l=l.concat(k.Mt()))});this.get("audios",[]).forEach(function(k){l=l.concat(k.Mt())});return l};return a});
define("gN",["require","ik","nU","ji"],function(a){var e=a("ik"),l=a("nU"),m=a("ji");return l.define("PhotoAlbumAudio",m,function(){m.call(this,e.VIa)})});
define("df",["require","lg"],function(a){function e(m,k){this.j=m;this.Rp=k;this.EG=[];this.qs=[];this.cr=1}var l=a("lg");e.prototype.clear=function(){for(var m=0;m<this.EG.length;m++)this.EG[m].Lc(l.W);this.EKa();this.qs=this.EG=null};e.prototype.stop=function(){for(var m=0;m<this.qs.length;m++)this.qs[m].Lc(l.W)};e.prototype.play=function(){for(var m=0;m<this.qs.length;m++){var k=this.qs[m];k.getState()!=l.Y&&k.Lc(l.Y)}};e.prototype.pause=function(){for(var m=0;m<this.qs.length;m++){var k=this.qs[m];
k.getState()==l.Y&&k.Lc(l.Ib)}};e.prototype.start=function(){this.stop();for(var m=0;m<this.Rp.length;m++){var k=this.Rp[m],b=k.ME();b&&(this.EG.push(b),k.get("autoplay",!1)&&this.qs.push(b))}for(m=0;m<this.qs.length;m++)this.qs[m].Lc(l.Y)};e.prototype.Gd=function(){};e.prototype.EKa=function(){for(var m=0;m<this.EG.length;m++)this.EG[m].Bx(1)};return e});
define("iu",["require","lE","df"],function(a){var e=a("lE"),l=a("df");return e.extend(l,function(m,k){l.call(this,m,k.get("audios",[]));this.CY=k})});define("hE",["require","lE","df"],function(a){var e=a("lE"),l=a("df");return e.extend(l,function(m,k){l.call(this,m,k.get("audios",[]));this.lf=k})});
define("jz",["require","iu","hE"],function(a){function e(k){this.j=k;this.Xi=[];this.Gi=[]}var l=a("iu"),m=a("hE");e.prototype.clear=function(){this.pGa();this.Gi=this.Xi=null};e.prototype.pGa=function(){for(var k=0;k<this.Xi.length;k++)this.Xi[k].clear();for(k=0;k<this.Gi.length;k++)this.Gi[k].clear();this.Xi=[];this.Gi=[]};e.prototype.pause=function(){for(var k=0;k<this.Xi.length;k++)this.Xi[k].pause();for(k=0;k<this.Gi.length;k++)this.Gi[k].pause()};e.prototype.play=function(){for(var k=0;k<this.Xi.length;k++)this.Xi[k].play();
for(k=0;k<this.Gi.length;k++)this.Gi[k].play()};e.prototype.stop=function(){for(var k=0;k<this.Xi.length;k++)this.Xi[k].stop();for(k=0;k<this.Gi.length;k++)this.Gi[k].clear();this.Gi=[]};e.prototype.k8a=function(k){k=new l(this.j,k);this.Gi.push(k);k.start()};e.prototype.q8a=function(k){for(var b=0;b<this.Gi.length;b++)if(this.Gi[b].CY==k){this.Gi[b].clear();this.Gi.splice(b,1);break}};e.prototype.Xia=function(k){k=new m(this.j,k);this.Xi.push(k);k.start()};e.prototype.o8a=function(k){for(var b=0;b<
this.Xi.length;b++)if(this.Xi[b].lf==k){this.Xi[b].clear();this.Xi.splice(b,1);break}};e.prototype.Gd=function(k){for(var b=0;b<this.Xi.length;b++)this.Xi[b].Gd(k);for(b=0;b<this.Gi.length;b++)this.Gi[b].Gd(k)};return e});
define("bL",["require","lE","mu"],function(a){function e(){this.xa=!0;this.Na=this.Ka=.5;this.ib=1;this.Jf=l.Kh;this.Om=this.Pm=100}a("lE");var l=a("mu");e.prototype.getX=function(){this.Gn();return this.Ka};e.prototype.getY=function(){this.Gn();return this.Na};e.prototype.sr=function(){this.Gn();return this.ib};e.prototype.setConfiguration=function(m,k,b){this.Jf=b;this.Na=this.Ka=.5;this.ib=1;this.xa=!0};e.prototype.setPosition=function(m,k,b){this.Ka=m;this.Na=k;this.ib=b;this.xa=!0};e.prototype.setSize=
function(m,k){this.Pm=m;this.Om=k;this.xa=!0};e.prototype.Gn=function(){if(this.xa){this.xa=!1;1>this.ib&&(this.ib=1);var m=Math.min(.5/this.ib,.5),k=Math.max(1-.5/this.ib,.5);this.Ka<m?this.Ka=m:this.Ka>k&&(this.Ka=k);m=Math.min(.5/this.ib,.5);k=Math.max(1-.5/this.ib,.5);this.Na<m?this.Na=m:this.Na>k&&(this.Na=k)}};return e});
define("bD",["require"],function(){function a(e,l){this.j=e;this.ka=l;this.Na=this.Ka=.5;this.ib=1;this.aZ=!1}a.prototype.start=function(){this.Na=this.Ka=.5;this.ib=1;this.aZ=!0};a.prototype.clear=function(){this.ka=this.j=null};a.prototype.setPosition=function(e,l,m){this.Ka=e;this.Na=l;this.ib=m};a.prototype.jf=function(){return this.aZ};a.prototype.Cb=function(){this.aZ=!1};return a});
define("ia",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PhotoCameraPosition",e,function(l,m,k){e.call(this);void 0!=l&&this.set("x",l);void 0!=m&&this.set("y",m);void 0!=k&&this.set("zoomFactor",k)})});
define("i","require lE bD ia oH bG".split(" "),function(a){var e=a("lE"),l=a("bD"),m=a("ia"),k=a("oH"),b=a("bG");a=e.extend(l,function(h,g){l.call(this,h,g);this.aa=null});a.prototype.start=function(h){var g=h.get("initialPosition",new m(.5,.5,1)),c=h.get("targetPosition",new m(.5,.5,1)),d=h.get("duration",1E3);0==d?(this.Ka=g.get("x"),this.Na=g.get("y"),this.ib=g.get("zoomFactor")):this.aa=new k(h.get("easing","linear"),[new b("x",g.get("x",.5),c.get("x",.5)),new b("y",g.get("y",.5),c.get("y",.5)),
new b("zoom",g.get("zoomFactor",1),c.get("zoomFactor",1))],d);this.Cb(0)};a.prototype.clear=function(){this.aa=null;l.prototype.clear.call(this)};a.prototype.jf=function(){return null!=this.aa};a.prototype.Cb=function(h){this.aa&&(this.aa.Cb(h),this.ka.setPosition(this.aa.fb("x"),this.aa.fb("y"),this.aa.fb("zoom")),this.Ka=this.ka.getX(),this.Na=this.ka.getY(),this.ib=this.ka.sr(),this.aa.Ye()&&(this.aa=null))};return a});
define("cQ","require lE cC gv nU lg mu bL bD i pf".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("nU"),b=a("lg"),h=a("mu"),g=a("bL"),c=a("bD"),d=a("i"),f=a("pf"),p=e.extend(m,function(q,n){m.call(this);this.j=q;this.$d=n;this.j.bind(f.oc,this.Bc,this);this.C=b.W;this.$l=this.CY=this.Eb=this.ya=null;this.ka=new g});p.prototype.clear=function(){this.end();this.ka=null;this.j.unbind(f.oc,this.Bc,this);this.j=null};p.prototype.end=function(q){if(this.ya==q||"undefined"==typeof q)this.Zna(),
this.Eb=this.CY=this.ya=null};p.prototype.start=function(q){if(this.ya!=q){this.end(this.ya);var n=q.get("media"),r=q.get("camera"),t=n.get("width",100),u=n.get("height",100),v=r?r.get("scaleMode",h.Kh):h.Kh;this.ya=q;this.Eb=r;this.CY=n;n.$j();this.T=!0;this.ka.setConfiguration(t,u,v);this.sNa(r);this.Oa()}};p.prototype.stop=function(){this.C!=b.W&&(this.C=b.W,this.$l&&(this.$l.start(this.Eb),this.Oa()))};p.prototype.play=function(){if(this.C==b.W||this.C==b.Ib)this.C=b.Y,this.Oa()};p.prototype.pause=
function(){this.C==b.Y&&(this.C=b.Ib)};p.prototype.ox=function(q){this.$l&&this.$l.jf()&&(this.C==b.Y&&(this.$l.Cb(q),this.Oa()),this.dm(this.$l.Ka,this.$l.Na,this.$l.ib))};p.prototype.sNa=function(q){this.Zna();k.Ia("MovementPhotoCamera",q)?this.$l=new d(this.j,this.ka):this.$l=new c(this.j,this.ka);this.$l.start(q)};p.prototype.Zna=function(){this.$l&&(this.$l.clear(),this.$l=null)};p.prototype.Bc=function(){this.ka.setSize(this.j.Xa(),this.j.yb());this.Oa()};p.prototype.Oa=function(){this.trigger(new l(p.Gb))};
p.prototype.dm=function(q,n,r){this.$d.setPosition(this.ya,q,n,r)};p.Gb="request frame";return p});
define("io","require en lE cC gv pf ik mu".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("cC"),k=a("gv"),b=a("pf");a("ik");var h=a("mu"),g=l.extend(k,function(d,f){k.call(this);this.TP=[];this.L=d;this.j=f});g.prototype.preload=function(d){this.Wy(d).preload();return this};g.prototype.Ze=function(d,f){this.Wy(d).Ze(f);return this};g.prototype.Pn=function(d,f){this.Wy(d).Pn(f);return this};g.prototype.setPosition=function(d,f,p,q){this.Wy(d).setPosition(f,p,q);return this};g.prototype.Ah=function(d){this.Wy(d).Ah()};
g.prototype.stop=function(){this.soa(function(d){d.clear()});this.TP=[]};g.prototype.clear=function(){this.stop();this.j=this.L=this.TP=null};g.prototype.Gd=function(){this.soa(function(d){d.update()})};g.prototype.Wy=function(d){var f=this.COa(d);f||(f=new c(d,this.j),f.bind(c.Wka,this.SRa,this),f.bind(c.Pka,this.RRa,this),this.TP.push(f));return f};g.prototype.soa=function(d){e(this.TP).each(d,this)};g.prototype.COa=function(d){return e(this.TP).find(function(f){return f.getItem()==d})};g.prototype.SRa=
function(){this.Oa()};g.prototype.RRa=function(d){this.trigger(new m(g.D4,{item:d.source.getItem()}))};g.prototype.Oa=function(){this.trigger(new m(g.Gb))};g.Gb="request frame";g.D4="photo preload end";var c=l.extend(k,function(d,f){k.call(this);this.ya=d;this.j=f;this.Jf=(f=d.get("camera"))?f.get("scaleMode",h.Kh):h.Kh;this.kj=d.get("media").$j();this.kj.bind(b.Z,this.xd,this);this.kj.bind(b.xc,this.Wf,this);this.ra=c.SL;this.Na=this.Ka=.5;this.ib=1;this.$n=0;this.HG=!1;this.Fg=0;this.xa=!1});c.prototype.getItem=
function(){return this.ya};c.prototype.preload=function(){this.ra==c.SL?this.JY():this.Zwa()};c.prototype.Ze=function(d){this.$n!=d&&(this.$n=d,this.bf())};c.prototype.Pn=function(d){this.Fg!=d&&(this.Fg=d,this.bf())};c.prototype.setPosition=function(d,f,p){if(this.Ka!=d||this.Na!=f||this.ib!=p)this.Ka=d,this.Na=f,this.ib=p,this.bf()};c.prototype.Ah=function(){this.HG||(this.HG=!0,this.bf())};c.prototype.clear=function(){this.ra==c.nU&&this.Gua();this.ra!=c.PL&&this.ra!=c.RL&&this.ra!=c.QL||this.dA();
this.kj.unbind(b.Z,this.xd);this.kj.unbind(b.xc,this.Wf);this.kj=null};c.prototype.update=function(){this.xa&&(this.xa=!1,-1<this.Fg&&1>this.Fg&&0<this.$n?(this.ra==c.SL&&this.GN(),this.ra==c.PL&&this.ZJa(),this.ra==c.nU&&(this.HG&&(this.j.jfa(this.kj),this.HG=!1),this.j.Kr(this.kj,this.$n),this.j.O6a(this.kj,this.Fg),this.j.XS(this.kj,this.Ka,this.Na,this.ib))):(this.ra==c.nU&&this.Gua(),this.ra!=c.PL&&this.ra!=c.QL||this.dA()))};c.prototype.bf=function(){this.xa||(this.xa=!0,this.Da())};c.prototype.Da=
function(){this.trigger(new m(c.Wka))};c.prototype.JY=function(){this.ra=c.RL;this.j.Ln(this.kj);this.j.KBa(this.kj)&&this.xd()};c.prototype.GN=function(){this.ra=c.QL;this.j.Ln(this.kj);this.j.KBa(this.kj)&&this.xd()};c.prototype.ZJa=function(){this.ra=c.nU;this.j.Uea(this.kj);this.j.R6a(this.kj,this.Jf)};c.prototype.Gua=function(){this.ra=c.PL;this.j.removeItem(this.kj)};c.prototype.dA=function(){this.ra=c.SL;this.j.wj(this.kj)};c.prototype.xd=function(){if(this.ra==c.RL||this.ra==c.QL){var d=this.ra==
c.RL;this.ra=c.PL;this.bf();d&&this.Zwa()}};c.prototype.Wf=function(){if(this.ra==c.RL||this.ra==c.QL)this.ra=c.SL};c.prototype.Zwa=function(){this.trigger(new m(c.Pka))};c.Wka="requestUpdate";c.Pka="preloadEnd";c.SL="unloaded";c.RL="preloading";c.QL="loading";c.PL="loaded";c.nU="added";return g});define("ny",["require"],function(){return{Rn:"blending",Jp:"scroll"}});
define("ce","require en lE cC gv pf io ny".split(" "),function(a){function e(d,f,p){this.Hn=d;this.item=f;this.transitionDuration=p;this.index=d&&f?l(d.get("playList").get("items")).indexOf(this.item):0;this.loaded=!1}var l=a("en"),m=a("lE"),k=a("cC"),b=a("gv");a("pf");var h=a("io"),g=a("ny");e.prototype.isEqual=function(d){return d&&d.Hn==this.Hn&&d.item==this.item};var c=m.extend(b,function(d,f,p){b.call(this);this.L=d;this.j=f;this.$d=p;this.$d.bind(h.D4,this.dua,this);this.nQ=g.Rn;this.ra=c.vG;
this.Sf=new e(null,null,0);this.hv=this.Fk=this.qh=null;this.Fn=void 0;this.Tz=0});c.prototype.C7a=function(d){this.nQ=d};c.prototype.Lia=function(d){this.Tz=d};c.prototype.kja=function(d,f,p){this.Fk=null;d=new e(d,f,p);d.isEqual(this.ra==c.vG?this.Sf:this.qh)||(this.Fk=d,this.Ysa())};c.prototype.clear=function(){this.ra!=c.qU&&this.ra!=c.oU||this.trigger(new k(c.Ux,{album:this.qh.Hn,item:this.qh.item}));this.ra=c.vG;this.j=this.L=this.hv=this.Sf=this.qh=this.Fk=null;this.$d.unbind(h.D4,this.dua,
this);this.$d=null};c.prototype.Gd=function(d){this.ra!=c.vG&&(this.Fn+=d,d=this.qh.transitionDuration,d=this.Fn>=d?1:this.Fn/d,this.ra==c.oU?this.XYa(d):this.ra==c.pU?this.YYa(d):this.nQ==g.Rn?this.JYa(d):this.EZa(d),1>d?this.Oa():this.Sy())};c.prototype.XYa=function(d){this.$d.Ze(this.qh.item,d).Pn(this.qh.item,0)};c.prototype.YYa=function(d){this.$d.Ze(this.Sf.item,1-d).Pn(this.Sf.item,0)};c.prototype.JYa=function(d){this.$d.Ze(this.qh.item,Math.min(1,2*d)).Pn(this.qh.item,0);this.$d.Ze(this.Sf.item,
Math.min(1,2*(1-d))).Pn(this.Sf.item,0)};c.prototype.EZa=function(d){var f=this.Sf.Hn!=this.qh.Hn||this.Sf.index<this.qh.index;this.$d.Pn(this.qh.item,(f?1-d:d-1)*(1+this.Tz)).Ze(this.qh.item,1);this.$d.Pn(this.Sf.item,(f?-d:d)*(1+this.Tz)).Ze(this.Sf.item,1)};c.prototype.Ysa=function(){this.Fk&&this.ra==c.vG&&(this.Fk.item&&!this.Fk.loaded?this.$d.preload(this.Fk.item):this.Sp())};c.prototype.dua=function(d){this.Fk&&this.Fk.item==d.data.item&&(this.Fk.loaded=!0,this.Ysa())};c.prototype.Sp=function(){this.hv&&
this.hv!=this.Fk.Hn&&(this.trigger(new k(c.vp,{album:this.hv})),this.hv=null);this.trigger(new k(c.K4));"fade_out_fade_in"==this.L.get("transitionMode")&&null!=this.Fk.item&&null!=this.Sf.item?(this.ra=c.pU,this.qh=new e(this.Sf.Hn,null,this.Sf.transitionDuration)):(this.qh=this.Fk,this.Fk=null,this.Sf.item)?this.qh.item?this.ra=c.qU:this.Sf.item&&(this.ra=c.pU):this.ra=c.oU;if(this.ra==c.qU||this.ra==c.oU)this.$d.Ah(this.qh.item),this.trigger(new k(c.uB,{album:this.qh.Hn,item:this.qh.item}));this.Fn=
0;this.Oa()};c.prototype.Sy=function(){this.ra!=c.qU&&this.ra!=c.pU||this.trigger(new k(c.Ux,{album:this.Sf.Hn,item:this.Sf.item}));this.Sf=this.qh;this.hv!=this.Sf.Hn&&(this.hv=this.Sf.Hn,this.trigger(new k(c.wp,{album:this.hv})));this.ra=c.vG;null==this.Fk?(this.Sf.item&&this.trigger(new k(c.vB,{album:this.Sf.Hn,item:this.Sf.item})),this.trigger(new k(c.Ap,{album:this.Sf.Hn,item:this.Sf.item}))):this.Sp()};c.prototype.Oa=function(){this.trigger(new k(c.Gb))};c.vG="stopped";c.qU="blending";c.pU=
"fading_out";c.oU="fading_in";c.Gb="request frame";c.K4="transition begin";c.Ap="transition end";c.uB="photo added";c.Ux="photo removed";c.vB="photo displayed";c.wp="photo album show";c.vp="photo album hide";return c});
define("fP","require en lE cC gv pf nU mu ia bL bD i oH bG".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("cC"),k=a("gv"),b=a("pf"),h=a("nU"),g=a("mu"),c=a("ia"),d=a("bL");a("bD");a("i");var f=a("oH"),p=a("bG"),q=l.extend(k,function(n,r,t){k.call(this);this.L=n;this.j=r;this.$d=t;this.Eo=this.qo=this.ya=this.lf=this.cb=null;this.yn=void 0;this.LZ=0;this.Jk=!1;this.Fg=0;this.jX=this.Eo?-1:0;this.hX=this.qo?1:0;this.aa=null;this.Zg=400;this.Tz=0;this.ka=new d});q.prototype.clear=function(){this.$d=
this.j=this.L=this.hv=null};q.prototype.l6a=function(n,r){this.lf=n;this.ya=r;n=n&&n.get("playList")&&n.get("playList").get("items")||[];r=e(n).indexOf(r);this.qo=0<r?n[r-1]:null;this.Eo=r<n.length-1?n[r+1]:null;this.Fg=0;this.jX=this.Eo?-1:0;this.hX=this.qo?1:0;this.JY()};q.prototype.enable=function(){if(this.cb=this.j.getParent())this.cb.bind(b.kb,this.Vd,this,!0),this.cb.bind(b.kc,this.Mj,this,!0),this.cb.bind(b.Hb,this.Nj,this,!0),this.JY()};q.prototype.disable=function(){this.cb&&(this.cb.unbind(b.kb,
this.Vd,this),this.cb.unbind(b.kc,this.Mj,this),this.cb.unbind(b.Hb,this.Nj,this),this.cb=null)};q.prototype.B7a=function(n){this.Zg=n};q.prototype.Lia=function(n){this.Tz=n};q.prototype.JY=function(){this.cb&&(this.qo&&this.$d.preload(this.qo),this.Eo&&this.$d.preload(this.Eo))};q.prototype.Dra=function(){return(new Date).getTime()};q.prototype.Vd=function(n){this.Jk||(this.yn=n.x,this.LZ=0,this.wba=this.Dra(),this.Jk=!0,this.aa=null,this.trigger(new m(q.j4)),this.qo&&(n=this.Bpa(this.qo),this.$d.setPosition(this.qo,
n.x,n.y,n.zoom)),this.Eo&&(n=this.Bpa(this.Eo),this.$d.setPosition(this.Eo,n.x,n.y,n.zoom)))};q.prototype.Mj=function(n){if(this.Jk){var r=n.x-this.yn,t=r/this.cb.Xa(),u=this.Dra()-this.wba;this.LZ=r/u;this.wba+=u;this.yn=n.x;this.Fg=Math.max(this.jX,Math.min(this.hX,this.Fg+t));this.Oa()}};q.prototype.Nj=function(){if(this.Jk){this.Jk=!1;if(1<this.LZ){var n="quad_out";var r=this.hX}else-1>this.LZ?(n="quad_out",r=this.jX):(n="quad_in_out",r=-.5>this.Fg?this.jX:.5<this.Fg?this.hX:0);this.aa=new f(n,
[new p("offset",this.Fg,r,1E3/this.Zg)],0);this.Oa()}};q.prototype.Gd=function(n){if(this.Jk||this.aa)this.aa&&(this.aa.Cb(n),this.Fg=this.aa.fb("offset"),this.aa.Ye()?(this.aa=null,this.iOa()):this.Oa()),this.ya&&this.$d.Pn(this.ya,this.Fg*(1+this.Tz)).Ze(this.ya,1),this.qo&&this.$d.Pn(this.qo,(this.Fg-1)*(1+this.Tz)).Ze(this.qo,1),this.Eo&&this.$d.Pn(this.Eo,(this.Fg+1)*(1+this.Tz)).Ze(this.Eo,1)};q.prototype.iOa=function(){this.trigger(new m(q.l4,{album:this.lf,item:0>this.Fg?this.Eo:0<this.Fg?
this.qo:this.ya}))};q.prototype.Oa=function(){this.trigger(new m(q.Gb))};q.prototype.Bpa=function(n){var r=n&&n.get("camera"),t=n&&n.get("media");n=t&&t.get("width",100)||100;t=t&&t.get("height",100)||100;var u=r?r.get("scaleMode",g.Kh):g.Kh,v={};h.Ia("MovementPhotoCamera",r)?(r=r.get("initialPosition",new c(.5,.5,1)),v.x=r.get("x",.5),v.y=r.get("y",.5),v.zoom=r.get("zoomFactor",.5)):(v.x=.5,v.y=.5,v.zoom=1);this.ka.setConfiguration(n,t,u);this.ka.setSize(this.j.Xa(),this.j.yb());this.ka.setPosition(v.x,
v.y,v.zoom);v.x=this.ka.getX();v.y=this.ka.getY();v.zoom=this.ka.sr();return v};q.Gb="request frame";q.j4="interaction begin";q.l4="interaction end";return q});
define("jC","require lE cC gv pf io ny ce fP".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv");a("pf");a("io");var k=a("ny"),b=a("ce"),h=a("fP"),g=e.extend(m,function(c,d,f){m.call(this);this.L=c;this.j=d;this.$d=f;this.nQ=k.Rn;this.Zg=1E3;this.Lb=new b(this.L,this.j,this.$d);this.Lb.bind(b.Gb,this.Se,this,!0);this.Lb.bind(b.K4,this.Xra,this,!0);this.Lb.bind(b.Ap,this.Yra,this,!0);this.Lb.bind(b.uB,this.BO,this,!0);this.Lb.bind(b.Ux,this.EO,this,!0);this.Lb.bind(b.vB,this.DO,this,!0);this.Lb.bind(b.vp,
this.yq,this,!0);this.Lb.bind(b.wp,this.vo,this,!0);this.Ll=new h(this.L,this.j,this.$d);this.Ll.bind(h.Gb,this.Se,this,!0);this.Ll.bind(h.j4,this.Xqa,this,!0);this.Ll.bind(h.l4,this.Yqa,this,!0)});g.prototype.T2=function(c,d){this.nQ=c;this.Zg=d;this.Lb.C7a(c);this.Ll.B7a(d);this.Lb.Lia(.05);this.Ll.Lia(.05)};g.prototype.display=function(c,d){this.Lb.kja(c,d,this.Zg)};g.prototype.hide=function(){this.Lb.kja(null,null,this.Zg)};g.prototype.clear=function(){this.Lb.unbind(b.Gb,this.Se,this);this.Lb.unbind(b.K4,
this.Xra,this);this.Lb.unbind(b.Ap,this.Yra,this);this.Lb.unbind(b.uB,this.BO,this);this.Lb.unbind(b.Ux,this.EO,this);this.Lb.unbind(b.vB,this.DO,this);this.Lb.unbind(b.vp,this.yq,this);this.Lb.unbind(b.wp,this.vo,this);this.Lb.clear();this.Lb=null;this.Ll.bind(h.Gb,this.Se,this,!0);this.Ll.bind(h.j4,this.Xqa,this,!0);this.Ll.bind(h.l4,this.Yqa,this,!0);this.Ll.clear();this.$d=this.j=this.L=this.Ll=null};g.prototype.Gd=function(c){this.Lb.Gd(c);this.Ll.Gd(c)};g.prototype.Se=function(){this.Oa()};
g.prototype.BO=function(c){this.trigger(new l(g.uB,c.data))};g.prototype.EO=function(c){this.trigger(new l(g.Ux,c.data))};g.prototype.DO=function(c){this.trigger(new l(g.vB,c.data));this.Ll.l6a(c.data.album,c.data.item)};g.prototype.yq=function(c){this.trigger(new l(g.vp,c.data))};g.prototype.vo=function(c){this.trigger(new l(g.wp,c.data))};g.prototype.Xra=function(){this.Ll.disable()};g.prototype.Yra=function(c){this.nQ==k.Jp&&c.data.item&&this.Ll.enable();c.data.album||this.trigger(new l(g.g4))};
g.prototype.Xqa=function(){this.trigger(new l(g.Rja))};g.prototype.Yqa=function(c){this.Lb.kja(c.data.album,c.data.item,0);this.trigger(new l(g.Sja,c.data))};g.prototype.Oa=function(){this.trigger(new l(g.Gb))};g.Gb="request frame";g.uB="photo added";g.Ux="photo removed";g.vB="photo displayed";g.wp="photo album show";g.vp="photo album hide";g.Rja="manual interaction begin";g.Sja="manual interaction end";g.g4="all pending photo albums hidden";return g});
define("iR","require en lE y cC gv lg".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("y"),k=a("cC"),b=a("gv"),h=a("lg"),g=l.extend(b,function(){b.call(this);this.lf=null;this.C=h.W;this.lca=null});g.prototype.clear=function(){this.Mfa()};g.prototype.Xia=function(c){this.Mfa();this.lf=c;this.C=h.Y;this.lca=m.bu(this.lf,"playList.selectedIndex",this.UD,this);0==this.lf.get("playList").get("selectedIndex")?this.UD():this.lf.get("playList").set("selectedIndex",0)};g.prototype.Mfa=function(){this.lf&&
(this.C=h.W,this.lca.$A(),this.lf=this.lca=null)};g.prototype.stop=function(){this.C!=h.W&&(this.C=h.W,this.lf.get("playList").set("selectedIndex",0))};g.prototype.play=function(){this.C==h.W?(this.lf.get("playList").set("selectedIndex",0),this.C=h.Y,this.UD()):this.C==h.Ib&&(this.C=h.Y)};g.prototype.pause=function(){this.C==h.Y&&(this.C=h.Ib)};g.prototype.next=function(){var c=this.lf.get("playList"),d=c.get("selectedIndex"),f=c.get("items").length;(d<f-1||this.lf.get("loop"))&&c.set("selectedIndex",
(d+1)%f)};g.prototype.Nha=function(){var c=this.lf.get("playList"),d=c.get("selectedIndex"),f=c.get("items").length;(0<d||this.lf.get("loop"))&&c.set("selectedIndex",(d-1+f)%f)};g.prototype.z1=function(c){this.xWa(c)};g.prototype.itemEnd=function(c){if(this.lf){var d=e(this.lf.get("playList").get("items")).last();c!=d||this.lf.get("loop")?this.next():(this.C=h.W,this.trigger(new k(g.b4,{album:this.lf})))}};g.prototype.UD=function(){var c=this.tQa();0<=c&&(this.C!=h.Y&&0!=c?this.trigger(new k(g.G4)):
this.trigger(new k(g.p4,{album:this.lf,item:this.lf.get("playList").get("items")[c]})))};g.prototype.tQa=function(){return this.lf?this.lf.get("playList").get("selectedIndex"):-1};g.prototype.xWa=function(c){if(this.lf){var d=this.lf.get("playList");c=e(d.get("items")).indexOf(c);d.set("selectedIndex",c)}};g.G4="play request";g.p4="item request";g.b4="album end";return g});
define("cX","require en lE pf cC gv lg hq".split(" "),function(a){a("en");var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("lg"),h=a("hq"),g=e.extend(k,function(c){k.call(this);this.L=c;this.fQ=this.ya=null;this.LD=void 0;this.LW=!1;this.C=b.W;h.bind(l.ca,this.Ota,this,!0)});g.prototype.z1=function(c){this.M7();if(this.ya=c)c=this.ya.get("media").get("duration",0),this.LD=0==c?void 0:Math.max(0,c-this.L.get("transitionDuration")),this.LW=!1,this.C==b.Y&&this.j8()};g.prototype.clear=function(){h.unbind(l.ca,
this.Ota,this,!0);this.z1(null)};g.prototype.stop=function(){this.C!=b.W&&(this.M7(),this.qd(b.W))};g.prototype.play=function(){if(this.C==b.W){if(this.qd(b.Y),this.ya){this.LW=!1;var c=this.ya.get("media").get("duration",0);this.LD=0==c?void 0:c;this.j8()}}else this.C==b.Ib&&(this.qd(b.Y),this.ya&&this.j8())};g.prototype.pause=function(){this.C==b.Y&&(this.qd(b.Ib),this.aua())};g.prototype.j8=function(){this.LW||(this.LW=!0,this.trigger(new m(g.q4,{item:this.ya})));this.Doa()};g.prototype.Ota=function(){h.visible?
this.Doa():h.visible||this.aua()};g.prototype.Doa=function(){if(void 0!==this.LD){var c=this;this.e_=(new Date).getTime()+this.LD;this.fQ=setTimeout(function(){c.fQ=null;c.QXa()},this.LD)}else this.e_=void 0};g.prototype.M7=function(){this.fQ&&(clearTimeout(this.fQ),this.fQ=null)};g.prototype.aua=function(){void 0!==this.e_&&(this.M7(),this.LD=Math.max(1,this.e_-(new Date).getTime()),this.e_=void 0)};g.prototype.QXa=function(){var c=this.ya;this.ya=null;this.LD=void 0;this.trigger(new m(g.o4,{item:c}))};
g.prototype.qd=function(c){this.C!=c&&(this.C=c,this.trigger(new m(g.Gc,{state:this.C})))};g.Gc="playback state change";g.q4="item start";g.o4="item end";return g});
define("nS","require lE cC gv bi v".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("gv"),k=a("bi"),b=a("v"),h=e.extend(m,function(g){m.call(this);this.T=!0;this.EC=!1;this.j=g;this.zl=b.browser()==b.Sr&&b.td()==b.y5?3:1;this.Re=this.SM=0});h.prototype.clear=function(){this.T=!1;this.j=null;this.Re=this.SM=0};h.prototype.requestFrame=function(){this.EC||(this.EC=!0,k.requestFrame(this.Qj,this))};h.prototype.Qj=function(g){this.T&&(this.SM++,this.Re+=g,this.SM==this.zl?(this.SM=0,this.EC=!1,g=this.Re,
this.Re=0,this.trigger(new l(h.yp,{frameTime:g})),this.trigger(new l(h.zp,{frameTime:g})),this.j.render()):k.requestFrame(this.Qj,this))};h.yp="frameStart";h.zp="positionSet";return h});
define("gO","require lE pf cC gv jz cQ jC iR cX io nS".split(" "),function(a){var e=a("lE");a("pf");var l=a("cC"),m=a("gv"),k=a("jz"),b=a("cQ"),h=a("jC"),g=a("iR"),c=a("cX"),d=a("io"),f=a("nS"),p=e.extend(m,function(q,n){m.call(this);this.L=q;this.j=n;this.j.set("visible",!1);this.$h=new g(this.j);this.Ja=new c(this.L);this.$d=new d(this.L,this.j);this.La=new h(this.L,this.j,this.$d);this.eb=new b(this.j,this.$d);this.qg=new f(this.j);this.Rd=new k(this.j);this.$d.bind(d.Gb,this.Se,this,!0);this.$h.bind(g.p4,
this.psa,this,!0);this.$h.bind(g.G4,this.bta,this,!0);this.$h.bind(g.b4,this.CO,this,!0);this.Ja.bind(c.q4,this.qsa,this);this.Ja.bind(c.o4,this.osa,this);this.Ja.bind(c.Gc,this.df,this,!0);this.La.bind(h.Gb,this.Se,this,!0);this.La.bind(h.uB,this.BO,this,!0);this.La.bind(h.Ux,this.EO,this,!0);this.La.bind(h.vB,this.DO,this,!0);this.La.bind(h.vp,this.yq,this,!0);this.La.bind(h.wp,this.vo,this,!0);this.La.bind(h.Rja,this.USa,this,!0);this.La.bind(h.Sja,this.VSa,this,!0);this.La.bind(h.g4,this.Ora,
this,!0);this.eb.bind(b.Gb,this.Se,this,!0);this.qg.bind(f.yp,this.xz,this,!0);this.qg.bind(f.zp,this.yz,this,!0)});p.prototype.clear=function(){this.$h.clear();this.Ja.clear();this.La.clear();this.eb.clear();this.qg.clear();this.Rd.clear();this.$d.clear();this.$d.unbind(d.Gb,this.Se,this);this.$h.unbind(g.p4,this.psa,this);this.$h.unbind(g.b4,this.CO,this);this.$h.unbind(g.G4,this.bta,this);this.Ja.unbind(c.q4,this.qsa,this);this.Ja.unbind(c.o4,this.osa,this);this.Ja.unbind(c.Gc,this.df,this);this.La.unbind(h.Gb,
this.Se,this);this.La.unbind(h.uB,this.BO,this);this.La.unbind(h.Ux,this.EO,this);this.La.unbind(h.vB,this.DO,this);this.La.unbind(h.vp,this.yq,this);this.La.unbind(h.wp,this.vo,this);this.La.unbind(h.g4,this.Ora,this);this.eb.unbind(b.Gb,this.Se,this);this.qg.unbind(f.yp,this.xz,this);this.qg.unbind(f.zp,this.yz,this);this.L=this.j=this.$d=this.Rd=this.qg=this.eb=this.La=this.Ja=this.$h=null};p.prototype.T2=function(q,n){this.La.T2(q,n)};p.prototype.h7a=function(q){this.j.set("visible",!0);this.$h.Xia(q)};
p.prototype.tx=function(){this.$h.Mfa();this.Ja.stop();this.La.hide();this.eb.end();this.Rd.pGa()};p.prototype.next=function(){this.$h.next()};p.prototype.Nha=function(){this.$h.Nha()};p.prototype.stop=function(){this.Ja.stop();this.Rd.stop();this.$h.stop();this.eb.stop()};p.prototype.play=function(){this.Ja.play();this.Rd.play();this.$h.play();this.eb.play()};p.prototype.pause=function(){this.Ja.pause();this.Rd.pause();this.$h.pause();this.eb.pause()};p.prototype.USa=function(){this.Ja.pause();this.Rd.pause();
this.$h.pause();this.eb.pause()};p.prototype.VSa=function(){this.Ja.play();this.Rd.play();this.$h.play();this.eb.play()};p.prototype.psa=function(q){this.La.display(q.data.album,q.data.item)};p.prototype.bta=function(){this.play()};p.prototype.Se=function(){this.qg.requestFrame()};p.prototype.xz=function(q){this.eb.ox(q.data.frameTime)};p.prototype.yz=function(q){q=q.data.frameTime;this.La.Gd(q);this.$d.Gd(q);this.Rd.Gd(q)};p.prototype.BO=function(q){this.eb.start(q.data.item)};p.prototype.EO=function(q){var n=
q.data.album;q=q.data.item;var r=q.get("media");this.eb.end(q);this.Rd.q8a(r);this.trigger(new l(p.C4,{photoAlbum:n,item:q}))};p.prototype.DO=function(q){var n=q.data.album;q=q.data.item;q.get("media");this.$h.z1(q);this.Ja.z1(q);this.trigger(new l(p.B4,{photoAlbum:n,item:q}))};p.prototype.qsa=function(q){q=q.data.item.get("media");this.Rd.k8a(q)};p.prototype.osa=function(q){this.$h.itemEnd(q.data.item)};p.prototype.CO=function(q){this.Ja.stop();this.Rd.stop();this.trigger(new l(p.A4,{photoAlbum:q.data.album}))};
p.prototype.vo=function(q){q=q.data.album;this.Rd.Xia(q);this.Ja.play();this.eb.play();this.trigger(new l(p.wp,{photoAlbum:q}))};p.prototype.yq=function(q){q=q.data.album;this.Rd.o8a(q);this.trigger(new l(p.vp,{photoAlbum:q}))};p.prototype.Ora=function(){this.j.set("visible",!1)};p.prototype.df=function(q){this.trigger(new l(p.Gc,{state:q.data.state}))};p.wp="photoAlbumShow";p.A4="photoAlbumEnd";p.vp="photoAlbumHide";p.B4="photoBegin";p.C4="photoEnd";p.Gc="playbackStateChange";return p});
define("hS","require jquery.mod en mu lB lY v".split(" "),function(a){function e(g,c){this.ya=g;this.oa=c;this.Jb=g.He();this.Yb=g.Xe();this.MV=g.u8;this.Pea=this.FN=0;this.$n=1;this.Fg=0;this.xa=!0;this.n7();this.Kd=this.Cd=100;this.Na=this.Ka=.5;this.ib=1;this.cP=!0;this.rf=1;this.Boa={};this.jqa={};this.Yxa=h.browser()!=h.ni}var l=a("jquery.mod"),m=a("en"),k=a("mu"),b=a("lB");a("lY");var h=a("v");e.prototype.n7=function(){this.jU=l("<div></div>");var g={position:"absolute",left:"0",top:"0",width:this.Cd+
"px",height:this.Kd+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};g["-moz-transform-origin"]=g["-webkit-transform-origin"]=g["transform-origin"]="0 0 0";g["-ms-transform-origin"]="0 0";this.jU.css(g);this.A5=l(b.wf(this.ya.Pi(),!0));g={display:"block",position:"absolute",left:"0",top:"0",width:this.Jb+"px",height:this.Yb+"px"};g["-moz-transform-origin"]=g["-webkit-transform-origin"]=g["transform-origin"]="0 0 0";g["-ms-transform-origin"]="0 0";this.A5.css(g);this.jU.append(this.A5)};
e.prototype.Yc=function(){return this.jU};e.prototype.getItem=function(){return this.ya};e.prototype.getX=function(){return this.Ka};e.prototype.getY=function(){return this.Na};e.prototype.sr=function(){return this.ib};e.prototype.Xa=function(){return Math.round(this.Jb*this.ib*this.rf)};e.prototype.yb=function(){return Math.round(this.Yb*this.ib*this.rf)};e.prototype.Ze=function(g){this.$n!=g&&(this.$n=g,this.xa=!0)};e.prototype.L0=function(){return this.$n};e.prototype.VA=function(g){this.Jf!=g&&
(this.Jf=g,this.xa=!0)};e.prototype.wF=function(g,c){if(this.Cd!=g||this.Kd!=c)this.Cd=g,this.Kd=c,this.xa=!0};e.prototype.setPosition=function(g,c,d){if(this.Ka!=g||this.Na!=c||this.ib!=d)this.Ka=g,this.Na=c,this.ib=d,this.xa=!0};e.prototype.Pn=function(g){this.Fg!=g&&(this.Fg=g,this.xa=!0)};e.prototype.o6a=function(g){this.Pea!=g&&(this.Pea=g,this.xa=!0)};e.prototype.render=function(){if(this.xa){this.xa=!1;switch(this.Jf){case k.NONE:this.rf=1;break;case k.Cp:this.rf=this.Cd/this.Jb;break;case k.kk:this.rf=
this.Kd/this.Yb;break;case k.Ur:this.rf=this.Jb*this.Kd>this.Yb*this.Cd?this.Kd/this.Yb:this.Cd/this.Jb;break;default:this.rf=this.Jb*this.Kd>this.Yb*this.Cd?this.Cd/this.Jb:this.Kd/this.Yb}var g=this.ib*this.rf,c=.5*this.Cd-this.Ka*this.Jb*g,d=.5*this.Kd-this.Na*this.Yb*g,f=this.Cd*this.Fg,p=function(n,r){return Math.round(n*Math.pow(10,r))*Math.pow(10,-r)},q={};q.width=p(this.Cd,0)+"px";q.height=p(this.Kd,0)+"px";q.transform=this.Yxa?"translate3d("+p(f,2)+"px, 0px, 0px)":"translate("+p(f,2)+"px, 0px)";
q["-moz-transform"]=q["-webkit-transform"]=q["-ms-transform"]=q.transform;q["z-index"]=this.Pea;0==this.$n?q.display="none":(q.display="block",1==this.$n?(q.filter=q["-ms-filter"]="",q.opacity=""):(q.filter=q["-ms-filter"]="alpha(opacity="+Math.round(100*this.$n)+")",q.opacity=this.$n));f=[];this.Yxa?(f.push("translate3d("+p(c,2)+"px, "+p(d,2)+"px, 0px)"),f.push("scale3d("+g+", "+g+", "+g+")"),this.MV&&(f.push("translate3d("+this.Jb+"px, 0, 0)"),f.push("scale3d(-1, 1, 1)"))):(f.push("translate("+
p(c,2)+"px, "+p(d,2)+"px)"),f.push("scale("+g+", "+g+")"),this.MV&&(f.push("translate("+this.Jb+"px, 0)"),f.push("scale(-1, 1)")));g={};g["-moz-transform"]=g["-webkit-transform"]=g["-ms-transform"]=g.transform=f.join(" ");m.isEqual(this.Boa,q)||(this.Boa=q,this.jU.css(q));m.isEqual(this.jqa,g)||(this.jqa=g,this.A5.css(g))}};return e});
define("in","require jquery.mod en lE pf ik lB hS bd e".split(" "),function(a){var e=a("jquery.mod"),l=a("en"),m=a("lE"),k=a("pf"),b=a("ik"),h=a("lB"),g=a("hS"),c=a("bd"),d=a("e");a=m.extend(d,function(){d.call(this);this.Fe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",c.pu);this.bind(k.oc,this.Bc,this,!0);this.bind(k.bd,this.ij,this,!0);this.bind(k.Tc,this.hj,this,!0);this.OD=!1;this.sc=[];this.FZ=this.Lw=!1;this.fba=e("<div/>");this.fba.css({position:"absolute",left:0,top:0,right:0,
bottom:0,overflow:"hidden","-webkit-transform":"translateZ(0)"});this.Pb().append(this.fba)});a.prototype.Ln=function(f){h.Ln(f,b.ol)};a.prototype.wj=function(f){h.wj(f,b.ol)};a.prototype.KBa=function(f){return h.q3(f)};a.prototype.Uea=function(f){f=new g(f,this);f.wF(this.Xa(),this.yb());f.setPosition(.5,.5,0,1);this.fba.append(f.Yc());this.sc.push(f);this.Lw=!0};a.prototype.removeItem=function(f){if(f=this.gq(f))this.sc=l.without(this.sc,f),f.Yc().detach(),this.Lw=!0};a.prototype.jfa=function(f){if(f=
this.gq(f))this.sc=l.without(this.sc,f),this.sc.push(f),this.Lw=!0};a.prototype.R6a=function(f,p){this.gq(f).VA(p)};a.prototype.Kr=function(f,p){this.gq(f).Ze(p)};a.prototype.O6a=function(f,p){this.gq(f).Pn(p)};a.prototype.XS=function(f,p,q,n){this.gq(f).setPosition(p,q,n)};a.prototype.DR=function(f){return this.gq(f).getX()};a.prototype.ER=function(f){return this.gq(f).getY()};a.prototype.DAa=function(f){return this.gq(f).sr()};a.prototype.CR=function(f){return this.gq(f).Xa()};a.prototype.BR=function(f){return this.gq(f).yb()};
a.prototype.render=function(){if(this.OD){this.vZa();this.VWa();for(var f=0;f<this.sc.length;f++)this.sc[f].render()}};a.prototype.vZa=function(){if(this.FZ){this.FZ=!1;for(var f=this.Xa(),p=this.yb(),q=0;q<this.sc.length;q++)this.sc[q].wF(f,p)}};a.prototype.VWa=function(){if(this.Lw){this.Lw=!1;for(var f=[],p=0;p<this.sc.length;p++){var q=this.sc[p],n={};n.F1=q.FN;n.index=p;n.renderer=q;f.push(n)}f.sort(function(r,t){return r.F1==t.F1?r.index-t.index:r.F1-t.F1});for(p=0;p<f.length;p++)f[p].renderer.o6a(p+
1)}};a.prototype.gq=function(f){if(this.n$a==f)return this.m$a;for(var p=null,q=0;q<this.sc.length&&!p;q++)this.sc[q].getItem()==f&&(p=this.sc[q]);return p};a.prototype.Bc=function(){this.FZ=!0;this.render()};a.prototype.ij=function(){this.OD=!0;this.render()};a.prototype.hj=function(){this.OD=!1};return a});
define("kw","require lE cC nU jX iL gO ny in ek pf".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nU"),k=a("jX"),b=a("iL"),h=a("gO"),g=a("ny"),c=a("in"),d=a("ek"),f=a("pf");a=m.define("PhotoAlbumPlayer",b,function(){b.call(this,"photoAlbum");this.i_=this.eba=this.fi=!1;this.M=this.j=null;this.GLa=new k(this,"buttonNext",d.ze);this.GLa.bind(f.qa,this.Tsa,this);this.HLa=new k(this,"buttonPrevious",d.ze);this.HLa.bind(f.qa,this.lta,this);this.Dd=e.ip(this.$g,this)});a.prototype.next=function(){this.Tsa()};
a.prototype.pause=function(){this.vD()};a.prototype.play=function(){this.wD()};a.prototype.previous=function(){this.lta()};a.prototype.stop=function(){this.Az()};a.prototype.restart=function(){this.zz()};a.prototype.set=function(p,q){if(this.get(p)!=q){switch(p){case "photoAlbum":this.eba=!0;this.Dd();break;case "viewerArea":this.fi=!0;this.Dd();break;case "touchTransition":case "mouseTransition":case "touchTransitionDuration":case "mouseTransitionDuration":case "transitionDuration":this.i_=!0,this.Dd()}b.prototype.set.call(this,
p,q)}};a.prototype.$g=function(){this.fi&&(this.fi=!1,this.i_=!0,this.jv(),this.get("viewerArea")&&this.gv(),this.IP(this.get("viewerArea")));this.j&&this.eba&&(this.eba=!1,this.get("photoAlbum")?(this.sF(),this.M.h7a(this.get("photoAlbum"))):this.M.tx());this.i_&&(this.i_=!1,this.Sxa())};a.prototype.YI=function(){this.set("photoAlbum",null)};a.prototype.gv=function(){var p=this.get("viewerArea");this.j=new c;this.j.ma({left:0,top:0,bottom:0,right:0});p.Wa(this.j);this.M=new h(p,this.j);this.Sxa();
this.M.bind(h.wp,this.vo,this);this.M.bind(h.vp,this.yq,this);this.M.bind(h.A4,this.CO,this);this.M.bind(h.B4,this.$sa,this);this.M.bind(h.C4,this.ata,this);this.M.bind(h.Gc,this.df,this);this.Wz(!0)};a.prototype.jv=function(){this.j&&(this.M.unbind(h.wp,this.vo,this),this.M.unbind(h.vp,this.yq,this),this.M.unbind(h.A4,this.CO,this),this.M.unbind(h.B4,this.$sa,this),this.M.unbind(h.C4,this.ata,this),this.M.unbind(h.Gc,this.df,this),this.M.clear(),this.j.getParent().removeChild(this.j),this.j=null,
this.Wz(!1))};a.prototype.Sxa=function(){var p=this.get("viewerArea");p&&this.M&&(p.po?this.M.T2(this.get("touchTransition",g.Rn),this.get("touchTransitionDuration",p.get("transitionDuration",1E3))):this.M.T2(this.get("mouseTransition",g.Rn),this.get("mouseTransitionDuration",p.get("transitionDuration",1E3))))};a.prototype.df=function(p){this.qd(p.data.state)};a.prototype.vo=function(p){this.RN(p.data.photoAlbum)};a.prototype.yq=function(p){this.QN(p.data.photoAlbum)};a.prototype.CO=function(p){p.data.photoAlbum.trigger(new l(f.Bb))};
a.prototype.$sa=function(p){p.data.item.kA()};a.prototype.ata=function(p){p.data.item.end()};a.prototype.Di=function(p){this.j.getParent().ma({progressPercent:p.data.percent,progressVisible:!0})};a.prototype.cI=function(){this.j.getParent().set("progressVisible",!1)};a.prototype.Tsa=function(){this.M&&this.get("photoAlbum")&&this.M.next()};a.prototype.lta=function(){this.M&&this.get("photoAlbum")&&this.M.Nha()};a.prototype.Gk=function(){this.M&&this.get("photoAlbum")&&this.M.play()};a.prototype.Lo=
function(){this.M&&this.get("photoAlbum")&&this.M.stop()};a.prototype.Fq=function(){this.M&&this.get("photoAlbum")&&this.M.pause()};return a});
define("hg",["require","nU","dh","iy"],function(a){var e=a("nU"),l=a("dh"),m=a("iy");a=e.define("PhotoAlbumPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(l.hh,this.vo,this),k.set("photoAlbum",this.get("media")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(l.hh,this.vo,this),k.get("photoAlbum")==this.get("media")&&k.set("photoAlbum",null));m.prototype.stop.call(this)};a.prototype.fL=function(){var k=
this.get("media");if(k){var b=k.get("playList");b&&(k=b.get("selectedIndex"),b=b.get("items"),0<=k&&b&&b[k].fL())}m.prototype.fL.call(this)};a.prototype.vo=function(){this.get("player").unbind(l.hh,this.vo,this);this.get("player").bind(l.Im,this.yq,this);this.kA()};a.prototype.yq=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.Im,this.yq,this),this.stop(),this.end())};return a});
define("lS",["require","ik","nU","ji"],function(a){var e=a("ik"),l=a("nU"),m=a("ji");return l.define("PhotoAudio",m,function(){m.call(this,e.WIa)})});define("nL",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PhotoCamera",e,function(){e.call(this)})});
define("eV","require en mh cC nU jI pf".split(" "),function(a){var e=a("en"),l=a("mh"),m=a("cC"),k=a("nU"),b=a("jI"),h=a("pf");a=k.define("PlayList",l,function(){l.call(this);this.Te=-1;this.ge=[];this.fP=this.Oj=this.ve=void 0});a.prototype.set=function(g,c){"selectedIndex"==g?this.wWa(c):"items"==g?this.hWa(c):l.prototype.set.call(this,g,c)};a.prototype.get=function(g,c){return"selectedIndex"==g?this.Te:"items"==g?this.ge:l.prototype.get.call(this,g,c)};a.prototype.dispose=function(){this.ve&&(this.ve.unbind(h.rp,
this.GO,this),this.ve.unbind(h.Qf,this.Ms,this),this.ve.unbind(h.Bb,this.Ms,this),this.ve=null)};a.prototype.hWa=function(g){g=g||[];if(!e.isEqual(this.ge,g)){var c=this.Te;this.ge=g;g=this.ava(this.Te);this.trigger(new m(h.JT,{nextSelectedIndex:g}));this.Te=g;this.Lva(this.Wy(this.Te));this.Ixa();this.trigger(new m(h.ca,{previousSelectedIndex:c}));l.prototype.set.call(this,"items",this.ge);l.prototype.set.call(this,"selectedIndex",this.Te)}};a.prototype.wWa=function(g){g=this.ava(g);if(this.Te!=
g){var c=this.Te;this.trigger(new m(h.JT,{nextSelectedIndex:g}));this.Te=g;this.Lva(this.Wy(this.Te));this.Ixa();this.trigger(new m(h.ca,{previousSelectedIndex:c}));l.prototype.set.call(this,"selectedIndex",this.Te)}};a.prototype.ava=function(g){return Math.max(-1,Math.min(this.ge.length-1,g))};a.prototype.Wy=function(g){return 0<=g?this.ge[g]:null};a.prototype.Lva=function(g){this.ve==g&&void 0===this.Oj||this.Oj===g||(void 0===this.Oj?(this.Oj=g,this.ve?this.Oj&&this.ve.get("player")==this.Oj.get("player")?
(this.ve.fL(),this.Ms()):this.GRa(this.ve,this.Oj)?(g=this.ve,g.fL(),this.Ms(),g.QGa()):(this.Hqa(this.ve,this.Oj)?this.ve.get("media").get("modelLocations",[]).forEach(function(c){var d=!(c.get("model")!=this.Oj.get("media")||!c.get("forceModelLoading"));c.set("preferred",d)}.bind(this)):this.XZa(this.ve,this.Oj)&&this.ve.get("player").S8a(),this.ve.stop()):this.Ms()):this.Oj=g)};a.prototype.GRa=function(g,c){return this.k$(g)&&this.o$(c)&&this.Gqa(c,g)};a.prototype.Hqa=function(g,c){return this.o$(g)&&
this.k$(c)?this.Gqa(g,c)?!0:g.get("player").get("keepModel3DLoadedWithoutLocation")&&g.get("player").get("model3DPlayer")==c.get("player")?g.get("player").get("model3DPlayer").get("model")==c.get("media")?!0:!1:!1:!1};a.prototype.Gqa=function(g,c){return g.get("player")&&g.get("player").get("model3DPlayer")==c.get("player")&&g.get("media").get("modelLocations",[]).find(function(d){return d.get("model")==c.get("media")&&(c.get("media").get("isLoaded")||d.get("forceModelLoading"))})};a.prototype.XZa=
function(g,c){return this.o$(g)&&this.k$(c)&&g.get("player").get("model3DPlayer")==c.get("player")};a.prototype.o$=function(g){return g&&k.Ia("PanoramaPlayListItem",g)};a.prototype.k$=function(g){return g&&k.Ia("Model3DPlayListItem",g)};a.prototype.Ms=function(){this.ve&&(this.ve.unbind(h.rp,this.GO,this),this.ve.unbind(h.Qf,this.Ms,this),this.ve.unbind(h.Bb,this.Ms,this));this.Oj?(this.Hqa(this.ve,this.Oj)&&this.ve.get("player").bind(h.t5,this.Bz,this,!0),this.ve=this.Oj,this.Oj=void 0,this.ve.bind(h.rp,
this.GO,this),this.ve.bind(h.Qf,this.Ms,this),this.ve.start()):(this.Oj=this.ve=void 0,this.set("selectedIndex",-1))};a.prototype.Bz=function(g){g.source.unbind(h.t5,this.Bz,this);this.GO();this.ve.PGa()};a.prototype.GO=function(){this.ve.unbind(h.rp,this.GO,this);this.ve.unbind(h.Qf,this.Ms,this);this.ve.bind(h.Bb,this.Ms,this)};a.prototype.Ixa=function(){this.fP&&b.N1(this.fP.get("media"),-1);(this.fP=this.ge&&0<=this.Te?this.ge[(this.Te+1)%this.ge.length]:null)&&b.N1(this.fP.get("media"),1)};return a});
define("kH",["require","nU","eV"],function(a){var e=a("nU"),l=a("eV");return e.define("PhotoPlayList",l,function(){l.call(this)})});define("kW",["require","nU","iy"],function(a){var e=a("nU"),l=a("iy");return e.define("PhotoPlayListItem",l,function(){l.call(this)})});define("eF",["require","gA","nU"],function(a){var e=a("gA");return a("nU").define("PlaybackBar",e,function(){e.call(this)})});
define("nq",["require"],function(){function a(m){try{for(var k=(l.fS<<12)+l.kS&65535,b="",h=0,g=m.length;h<g;){var c=e.indexOf(m.charAt(h++))<<12|e.indexOf(m.charAt(h++))<<6|e.indexOf(m.charAt(h++))<<0;c=c-k+65536&65535;b+=String.fromCharCode(c)}return b}catch(d){if("{%"==m.substr(0,2))return""}}var e="";[[65,26],[97,26],[48,10]].forEach(function(m){for(var k=0;k<m[1];k++)e+=String.fromCharCode(m[0]+k)});e+="+/";var l={R0a:"true"};l.fS=parseInt("0")||
0;l.kS=parseInt("2104")||1;l.p8a="true";l.name=a("AhrAh8AiOAihAirAisAiZAhYAiIAikAiZAixAidAiq");l.rHa=a("");return l});define("iF",["require"],function(){return{Ya:"left",qb:"right",yc:"top",rc:"bottom"}});
define("fV",["require","lE","ez","V","iF"],function(a){var e=a("lE"),l=a("ez");a("V");a("iF");a=e.extend(l,function(){l.call(this)});a.prototype.ZM=function(){return 0};a.prototype.$M=function(){return 0};a.prototype.TI=function(){l.prototype.TI.call(this);this.Ry(function(m){m.Bf(!0)})};a.prototype.vw=function(){l.prototype.vw.call(this);this.Ry(function(m){m.cT(this.ZM(m,this.$k()));m.dT(this.$M(m,this.$k()))})};a.prototype.RI=function(){this.Ry(function(m){m.cT(this.ZM(m,1));m.dT(this.$M(m,1))});
l.prototype.RI.call(this)};a.prototype.SI=function(){this.Ry(function(m){m.cT(this.ZM(m,0));m.dT(this.$M(m,0))});l.prototype.SI.call(this)};return a});
define("nK",["require","lE","fV","iF"],function(a){var e=a("lE"),l=a("fV"),m=a("iF");a=e.extend(l,function(){l.call(this)});a.prototype.ZM=function(k,b){switch(this.get("from")){case m.yc:case m.rc:return 0;case m.Ya:var h=k.Ka;k=k.Xa();return isNaN(k)||isNaN(h)?1E4:(-h-k)*(1-b);default:h=k.getParent();if(!h)return 0;var g=h.uf();h=k.Ka;return isNaN(h)||isNaN(g)?1E4:(g-h)*(1-b)}};a.prototype.$M=function(k,b){switch(this.get("from")){case m.yc:var h=k.Na;k=k.yb();return isNaN(k)||isNaN(h)?1E4:(-h-
k)*(1-b);case m.rc:h=k.getParent();if(!h)return 0;var g=h.tf();h=k.Na;return isNaN(h)||isNaN(g)?1E4:(g-h)*(1-b);default:return 0}};a.prototype.SI=function(){this.Ry(function(k){k.cT(0);k.dT(0);k.Bf(!1)})};return a});
define("hP",["require","lE","fV","V","iF"],function(a){var e=a("lE"),l=a("fV");a("V");var m=a("iF");a=e.extend(l,function(){l.call(this)});a.prototype.ZM=function(k,b){switch(this.get("to")){case m.yc:case m.rc:return 0;case m.Ya:var h=k.Ka;k=k.Xa();return isNaN(k)||isNaN(h)?1E4:(-h-k)*b;default:h=k.getParent();if(!h)return 0;var g=h.uf();h=k.Ka;return isNaN(h)||isNaN(g)?1E4:(g-h)*b}};a.prototype.$M=function(k,b){switch(this.get("to")){case m.yc:var h=k.Na;k=k.yb();return isNaN(k)||isNaN(h)?1E4:(-h-
k)*b;case m.rc:h=k.getParent();if(!h)return 0;var g=h.tf();h=k.Na;return isNaN(h)||isNaN(g)?1E4:(g-h)*b;default:return 0}};a.prototype.RI=function(){this.Ry(function(k){k.cT(0);k.dT(0);k.Bf(!1)})};return a});
define("H","require jquery.mod lE pf pd v gb nk cT d oz nK hP ky".split(" "),function(a){function e(v){try{return window.localStorage.getItem(v)}catch(w){}}var l=a("jquery.mod"),m=a("lE"),k=a("pf"),b=a("pd"),h=a("v"),g=a("gb"),c=a("nk"),d=a("cT"),f=a("d"),p=a("oz"),q=a("nK"),n=a("hP"),r=a("ky");a=m.extend(p,function(v){p.call(this);this.uc=v;this.Yi=this.ZB=this.zy=this.im=null;v=new q;v.set("duration",500);v.set("from","bottom");v=new n;v.set("duration",500);v.set("to","bottom");this.ma({creationPolicy:d.AB,
verticalAlign:c.le,horizontalAlign:c.Oe,visible:!1,showEffect:this.C$a,hideEffect:this.D$a});this.hda="";v=this.jQa();!0===v?setTimeout(function(){this.trigger(k.YF)}.bind(this),0):void 0===v&&(this.uc.bind(k.D("cookiesPolicy"),this.Gna,this),setTimeout(function(){this.Gna()}.bind(this),0))});a.prototype.Db=function(){p.prototype.Db.call(this);this.ma({backgroundColor:"#1a1a1a",width:"100%",left:0,bottom:0});null==this.im&&(this.im=new r,this.im.ma({content:this.hda,fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Open Sans, Arial, sans-serif",width:"100%"}),this.Wa(this.im));null==this.zy&&(this.zy=new p,this.Wa(this.zy),this.zy.ma({creationPolicy:d.AB,verticalAlign:c.le,layout:f.Ag}));null==this.ZB&&(this.ZB=new g,this.ZB.ma({backgroundColor:"#2aabe2",fontColor:"#ffffff",fontFamily:"Open Sans, Arial, sans-serif",label:b("accept").toUpperCase(),verticalAlign:"middle"}),this.zy.Wa(this.ZB),this.ZB.bind(k.qa,this.yLa,this,!0));null==this.LG&&(this.LG=new g,this.LG.ma({backgroundColor:"#1a1a1a",fontColor:"#808080",
fontFamily:"Open Sans, Arial, sans-serif",label:b("reject").toUpperCase(),textDecoration:"underline",verticalAlign:"middle"}),this.zy.Wa(this.LG),this.LG.bind(k.qa,this.JLa,this,!0))};a.prototype.$s=function(){p.prototype.$s.apply(this,arguments);var v=this.ob();v&&(v.bind(k.oc,this.lm,this,!0),this.lm())};a.prototype.lm=function(){var v=this.ob();if(v){var w=h.lb(),x=v.yb()>v.Xa(),y=Math.min(v.Xa(),v.yb())/100;v=function(z){return Math.round(z*y)};this.ma({gap:w?v(4.63):20,paddingLeft:w?v(4.63):
20,paddingRight:w?v(4.63):20,paddingTop:w?v(4.63):14,paddingBottom:w?v(4.63):14,layout:w&&x?f.Mh:f.Ag});this.im&&this.im.ma({fontSize:w?v(3.15):14,textAlign:w&&x?"center":"left"});this.zy&&this.zy.ma({gap:w?0:13});this.ZB&&this.ZB.ma({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.LG&&this.LG.ma({borderRadius:w?v(4.63):15,fontSize:w?v(3.15):14,height:w?v(9.26):30,paddingLeft:w?v(6):20,paddingRight:w?v(6):20});this.Qd()}};a.prototype.Gna=
function(){var v=m.toArray(this.uc.get("cookiesPolicy"));this.bP!=v&&(this.bP=v,this.jVa())};a.prototype.jVa=function(){if(0==this.bP.length)this.xca(null);else{var v=this.bP[0];0==m.toArray(v.get("geographicArea")).length?this.xca(v):this.EPa(function(w){for(var x=null,y=0;y<this.bP.length&&!x;y++){var z=this.bP[y],E=m.toArray(z.get("geographicArea"));if(0==E.length)x=z;else for(var B=0;B<E.length&&!x;B++)0<=w.indexOf(E[B])&&(x=z)}this.xca(x)}.bind(this))}};a.prototype.xca=function(v){this.vI!==
v&&(this.vI&&this.vI.unbind(k.D("url"),this.jea,this),(this.vI=v)?(this.vI.bind(k.D("url"),this.jea,this),this.jea(),this.set("visible",!0)):(this.trigger(k.YF),this.set("visible",!1)))};a.prototype.jea=function(){var v=l(document.createElement("div")).html(b("cookies-notice"));v.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.vI.get("url"),target:"_blank"});this.hda=v.html();this.im&&this.im.set("content",this.hda)};a.prototype.yLa=function(){this.Nva(!0);
this.set("visible",!1);this.trigger(k.YF)};a.prototype.JLa=function(){this.Nva(!1);this.set("visible",!1)};var t="AT BE BG CY CZ DE DK EE EL ES FI FR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK".split(" ");a.prototype.EPa=function(v){this.rPa(function(w){var x=[w];t.indexOf(w)&&x.push("EU");v(x)})};a.prototype.rPa=function(v){var w=e("tdvp_country_code");w?v(w):this.Koa||(this.Koa=!0,l.get("https://geoloc.3dvista.com",function(x){this.Koa=!1;x=x.country.toUpperCase();try{window.localStorage.setItem("tdvp_country_code",
x)}catch(y){}v(x)}.bind(this)))};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.jQa=function(){var v=e(u);if("yes"==v)return!0;if("no"==v)return!1};a.prototype.Nva=function(v){try{window.localStorage.setItem(u,v?"yes":"no")}catch(w){}};return a});
define("ms",["require"],function(){function a(w){var x=w instanceof Request||w instanceof Response?w.url:w;x&&(x=x.split("#")[0]);x&&(x=x.split("?")[0]);return x&&-1==x.indexOf("://")?("undefined"!==typeof window?Promise.resolve(window.location.href):self.clients.matchAll({type:"window"}).then(function(y){if(y.length)return y[0].url})).then(function(y){return(new window.URL(x,y)).toString()}):Promise.resolve(x)}function e(w,x){return new Promise(function(y,z){(void 0===x?k():Promise.resolve(x)).then(function(E){(window.webkitRequestFileSystem||
window.requestFileSystem)(E?window.PERSISTENT:window.TEMPORARY,w,function(B){y(B)},function(B){console.log("Error getting file system access",B);z("error getting file system")})},function(E){console.log("error getting file system access",E);z("error getting file system")})})}function l(w,x){return w&&w.queryUsageAndQuota?new Promise(function(y,z){w.queryUsageAndQuota(function(E,B){console.log("UsedBytes:",E,"grantedBytes:",B,"freeBytesRequired:",x);var A=E+x;B>=A?y(A):w==navigator.webkitPersistentStorage||
w==navigator.persistentStorage?(console.log("requestQuota:",A),w.requestQuota(A,function(){console.log("Granted bytes:",A);y(A)},function(D){console.log("Not granted bytes:",A,D);z("not enough free space granted")})):(console.log("Not enough temporary free space."),z("not enough free space granted"))},function(E){console.log("Query quota error:",E);E&&E.message&&(E=E.message);z("not enough free space granted: "+E)})}):Promise.reject("unknown free space")}function m(){return(navigator.storage&&navigator.storage.persist?
navigator.storage.persist():Promise.resolve(!1)).then(function(w){console.log("Persistence granted:",w);return w?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function k(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(!1)}function b(){return v?Promise.resolve(v):Promise.reject("files uninitialized, no space was requested")}function h(w){w.length&&"/"==w[0]&&(w=w.substr(1));
return w.split("/").filter(function(x){return""!=x})}function g(w){return new Promise(function(x,y){w.remove(function(){x()},function(z){y("can't remove entry"+(z&&z.message?": "+z.message:"")+".")})})}function c(w){return d(w).then(function(x){return Promise.all(x.map(function(y){return y.isDirectory?c(y):g(y)}))}).then(function(){return g(w).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function d(w){return new Promise(function(x,y){w.createReader().readEntries(function(z){x(z)},
function(){y("can't list directory")})})}function f(w,x,y){return new Promise(function(z,E){w.getDirectory(x,y,function(B){z(B)},function(){E("can't get directory entry: "+x)})})}function p(w,x){return new Promise(function(y,z){f(w,x,{create:!1}).then(function(E){y(E)})["catch"](function(){f(w,x,{create:!0}).then(function(E){y(E)})["catch"](function(E){console.log("Can't create directory entry: "+x,E);z("can't create directory entry: "+x)})})})}function q(w,x){return 0==x.length?w:p(w,x[0]).then(function(y){return q(y,
x.slice(1))})}function n(w,x){return 0==x.length?w:f(w,x[0]).then(function(y){return n(y,x.slice(1))})}function r(w,x,y){return new Promise(function(z,E){w.getFile(x,y,function(B){z(B)},function(){E("can't get file entry: "+x)})})}function t(w){return new Promise(function(x,y){w.createWriter(function(z){x(z)},function(){y("can't create File for writing")})})}function u(w){var x=w.lastIndexOf(".");switch((0>x?"":w.substr(x)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject";
case ".gif":return"image/gif";case ".glb":return"model/gltf-binary";case ".htm":case ".html":return"text/html";case ".jpeg":case ".jpg":return"image/jpeg";case ".js":return"text/javascript";case ".json":return"application/json";case ".m3u8":return"application/vnd.apple.mpegurl";case ".m4a":return"audio/mp4";case ".m4v":return"video/mp4";case ".mp3":return"audio/mpeg";case ".mp4":return"video/mp4";case ".ogg":return"audio/ogg";case ".ogv":return"video/ogg";case ".otf":return"font/otf";case ".png":return"image/png";
case ".svg":return"image/svg+xml";case ".tif":return"image/tiff";case ".tiff":return"image/tiff";case ".ts":return"video/vnd.dlna.mpeg-tts";case ".ttf":return"application/font-sfnt";case ".tts":return"video/vnd.dlna.mpeg-tts";case ".txt":return"text/plain";case ".webm":return"video/webm";case ".woff":return"font/x-woff";case ".woff2":return"font/woff2";case ".xml":return"text/xml";default:return"application/octet-stream"}}var v=null;return{q2:function(){return k()},toURL:function(w,x){return a(w).then(function(y){y=
new window.URL(y);var z=x?"persistent":"temporary",E=y.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+y.origin+"/"+z+E})},F5a:function(w){return m().then(function(x){return l(x,w)}).then(function(x){return e(x)}).then(function(x){v=x})},q5a:function(w){w=h(w);var x=w[w.length-1],y=w.slice(0,-1);return b().then(function(z){return n(z.root,y)}).then(function(z){return r(z,x,{create:!0})},function(){return Promise.resolve(null)}).then(function(z){return z&&g(z)})},uEa:function(w,
x){var y=h(w);return e(1024,x).then(function(z){return n(z.root,y)}).then(function(z){return c(z)},function(){return Promise.resolve()})},sHa:function(w,x,y){var z=h(w),E=z[z.length-1],B=z.slice(0,-1);return b().then(function(A){return q(A.root,B)}).then(function(A){return r(A,E,{create:!1}).then(function(D){return Promise.resolve(D)},function(){return r(A,E,{create:!0})})}).then(function(A){return t(A)}).then(function(A){A.seek(A.length);return new Promise(function(D,C){A.onwriteend=function(){D()};
A.onerror=function(J){console.log("Error writing file:",w,J);C("error writing file: "+w)};A.write(new Blob([x],{type:y||u(E)}))})})}}});
define("cA",["require","ms","mB","v"],function(a){function e(c,d){this.Vs=c;this.By=!1;this.Co=null;this.aw=d||function(){}}function l(c){return 1048576<=c.OF}var m=a("ms"),k=a("mB"),b=a("v").yf()?3:5;a={File:function(c,d){this.url=c;this.OF=d;this.MS=this.DJ=0}};var h=a.Files=function(c,d,f,p){this.Tma=this.gLa=c;this.Ps=d.slice();this.Joa=[];var q=0;this.Ps.sort(function(n,r){return n.OF-r.OF});this.Ps.forEach(function(n){q+=n.OF});this.Kwa=q;this.uC=[];this.PU=void 0;this.As=[];this.J6=!1;this.eg=
f||function(){};this.KM=p||function(){}};h.prototype.At=function(){return this.fMa().then(function(){return this.gMa()}.bind(this))};h.prototype.fMa=function(){return self.caches["delete"](this.Tma)};h.prototype.gMa=function(){var c=(new window.URL(this.gLa)).pathname;return m.uEa(c,!1).then(function(){return m.uEa(c,!0)})};h.prototype.requestStorage=function(){return m.F5a(Math.round(1.1*this.Kwa+10485760)).then(function(){return m.q2()})};h.prototype.download=function(){this.J6=!1;this.PU=0;this.At().then(function(){this.FM()}.bind(this))["catch"](function(c){console.log("error cleaning storage",
c);m.q2().then(function(d){this.KM(!1,d)}.bind(this))}.bind(this))};h.prototype.cancelDownload=function(){this.J6=!0;this.As.forEach(function(c){c.cancel()});this.At()};h.prototype.FM=function(){if(!(this.J6||this.As.length>=b))if(0<this.Ps.length){if(1==b)var c=.5<Math.random()?this.Ps.shift():this.Ps.pop();else if(0==this.uC.filter(l).length)c=this.Ps.pop();else{if(l(this.Ps[0]))return;c=this.Ps.shift()}this.uC.push(c);var d=k.iA(c.url,"nc="+(new Date).getTime()),f=new e(d,function(q){c.DJ=q.DJ;
this.oj()}.bind(this));this.As.push(f);f.fetch().then(function(q){return this.vXa(c.url,q)}.bind(this)).then(function(){this.poa(c,f,!0)}.bind(this))["catch"](function(q){console.log("download error",c.url,c.OF,c.DJ,q);this.poa(c,f,!1)}.bind(this));this.FM()}else if(0==this.As.length){var p=5>=this.Joa.length;m.q2().then(function(q){this.KM(p,q)}.bind(this))}};h.prototype.poa=function(c,d,f){f?(this.uC.splice(this.uC.indexOf(c),1),this.As.splice(this.As.indexOf(d),1),this.PU+=c.OF,this.oj(),this.FM()):
(c.DJ=0,c.MS+=1,this.oj(),20<=c.MS?(console.log("Error downloading file: "+c.url+" after "+c.MS+" retries."),this.Aqa(c.url)?(this.Joa.push(c),this.As.splice(this.As.indexOf(d),1),this.FM()):(this.cancelDownload(),m.q2().then(function(p){this.KM(!1,p)}.bind(this)))):(console.log("Error downloading file: "+c.url+" attempt "+c.MS+" of 20. Will retry in 2000ms."),setTimeout(function(){this.uC.splice(this.uC.indexOf(c),1);this.As.splice(this.As.indexOf(d),1);l(c)?this.Ps.push(c):this.Ps.splice(0,0,c);
this.FM()}.bind(this),2E3)))};h.prototype.vXa=function(c,d){return this.xXa(c,d).then(function(){if(this.OZa(c))return this.wXa(c,d)}.bind(this))};h.prototype.wXa=function(c,d){d=d.clone();return 200!=d.status?Promise.reject("response status: "+d.status):self.caches.open(this.Tma).then(function(f){return f.put(c,d)})};h.prototype.xXa=function(c,d){d=d.clone();if(200!=d.status)return Promise.reject("response status: "+d.status);var f=(new window.URL(c)).pathname;return f.lastIndexOf("/")==f.length-
1?Promise.resolve():new Promise(function(p,q){function n(){x.read().then(function(y){var z=y.value,E=[];if(z){for(;10485760<=z.length+w;){var B=z.slice(0,10485760-w);v.push(B);E.push(r(v));v=[];w=0;z=z.slice(B.length,z.length)}0<z.length&&(v.push(z),w+=z.length)}var A=y.done;w&&A&&E.push(r(v));t(E).then(function(){A?p():n()})["catch"](u)})["catch"](u)}function r(y){if(0==y.length)return new Uint8Array(0);var z=0;y.forEach(function(D){z+=D.length});for(var E=new Uint8Array(z),B=0,A=0;A<y.length;B+=
y[A].length,A++)E.set(y[A],B);return E}function t(y){if(0==y.length)return Promise.resolve();var z=y.shift();return m.sHa(f,z).then(function(){t(y)})}function u(y){console.log("Error writing response to file system:",y);m.q5a(f).then(function(){q("Error reading response body")})}var v=[],w=0,x=d.body.getReader();n()})};var g=".bmp .gif .glb .jpeg .jpg .m3u8 .m4a .m4v .mp3 .mp4 .ogg .ogv .otf .png .svg .tif .tiff .ts .tts .webm .woff .woff2".split(" ");h.prototype.Aqa=function(c){c=(new window.URL(c)).pathname;
var d="."+c.split(".").pop().toLowerCase();return 0<=g.indexOf(d)&&0>c.indexOf("loading/")};h.prototype.OZa=function(c){var d=(new window.URL(c)).pathname;return 0<=d.indexOf("files/")||0<=d.indexOf("pdfjs/")?!0:this.Aqa(c)?!1:!0};h.prototype.oj=function(){var c=this.PU;this.uC.forEach(function(d){c+=d.DJ});this.eg(100*c/this.Kwa)};e.prototype.fetch=function(){return fetch(this.Vs).then(function(c){if(this.By)return c.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");
if(!c.ok)return Promise.resolve(c);var d=c.headers.get("content-length"),f=void 0,p=0;null!==d&&(f=parseInt(d,10));this.Co=c.body.getReader();var q=!1,n=function(u){this.By?u.close():q=!0}.bind(this),r=function(u){return this.Co.read().then(function(v){var w=v.value;w&&(p+=w.byteLength,u.enqueue(w));v.done&&(f=p,t(u));this.aw({OF:f,DJ:p})}.bind(this))["catch"](function(v){console.log("Error reading response",v);u.error(v)}.bind(this))}.bind(this),t=function(u){q&&(u.close(),q=!1,this.Co=null)}.bind(this);
return new Response(new ReadableStream({start:function(u){return n(u)},pull:function(u){return r(u)},cancel:function(){t()}}))}.bind(this))};e.prototype.cancel=function(){this.By=!0;this.Co&&this.Co.cancel()};a.At=function(c){return(new h(c,[])).At()};return a});
define("eY","require lE jquery.mod pf gv v cA ms mO mB lF dA".split(" "),function(a){function e(u){n=u}var l=a("lE"),m=a("jquery.mod"),k=a("pf"),b=a("gv"),h=a("v"),g=a("cA"),c=a("ms"),d=a("mO"),f=a("mB"),p=a("lF"),q=a("dA"),n=null;window.addEventListener("beforeinstallprompt",e);var r=l.extend(b,function(u){b.call(this);this.uc=u;this.C="initial";this.oca=this.dt=this.Ij=null;this.lw=!1;this.DC=null;this.D_=void 0;this.sC=n;this.XW=r.ZBa();this.H$=f.rj("vr");this.sC||this.XW||(window.removeEventListener("beforeinstallprompt",
e),window.addEventListener("beforeinstallprompt",this.ASa.bind(this)));this.XW||window.addEventListener("appinstalled",this.BKa.bind(this))});r.prototype.Mia=function(u){this.dt=u;this.Sm=f.Dx(this.dt.get(TDV.PlayerSettings.BASE_DIR_URL)||f.getDirectory(this.dt.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));"/"!=this.Sm[this.Sm.length-1]&&(this.Sm+="/");this.Ij=new t(this.Sm);this.D_=this.Cua=u.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.UQa=f.parse(f.getDirectory(window.location.href)).pathname;
this.xOa=f.iA(f.Dx("files.json",this.Sm),this.Cua);u=TDV.ub.$Aa();this.oca=f.iA(this.dt.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+u.MAJOR+"."+u.MINOR);this.Ij=new t(this.Sm);this.Ij.bind(k.Z,this.OXa,this,!0);this.Ij.load()};r.prototype.kK=function(){return this.Ij.state==t.tL};r.prototype.eza=function(){return"can_install"==this.C&&!this.H$};r.prototype.gza=function(){return this.kK()&&this.D_!=this.Ij.version&&!this.H$};r.prototype.dza=function(){return this.Ij.state!=t.Kja&&!this.H$};r.prototype.FBa=
function(){"can_install"==this.C&&(this.sC?(this.sC.userChoice.then(function(u){"accepted"!=u.outcome&&this.qd("unavailable")}.bind(this)),this.sC.prompt().then(function(){this.sC=null}.bind(this))):this.Z7())};r.prototype.cancel=function(){"downloading"==this.C&&(this.DC&&(this.DC.cancelDownload(),this.DC=null),this.Ij.At(),this.qd("unavailable"))};r.prototype.At=function(){g.At(this.Sm);this.Ij.At()};r.prototype.OXa=function(){this.dt&&this.dt.get(TDV.PlayerSettings.KT)?this.qd("unavailable"):!0!==
this.uc.get("downloadEnabled")?this.qd("unavailable"):!0!==d.UHa?this.qd("unavailable"):h.browser()!=h.Hm||h.Vb()==h.Ox||h.Vb()==h.UF?this.qd("unavailable"):this.oca?"serviceWorker"in navigator?this.kK()&&!this.gza()?this.qd("unavailable"):navigator.onLine?this.yUa():this.qd("unavailable"):this.qd("unavailable"):this.qd("unavailable")};r.prototype.qd=function(u){this.C!=u&&(this.C=u,u=0<=["can_install","unavailable"].indexOf(this.C),this.lw!=u&&(this.lw=u)&&this.trigger(k.$c))};r.prototype.yUa=function(){this.qd("registering_sw");
navigator.serviceWorker.register(this.oca,{scope:this.UQa}).then(function(){this.mva(!0)}.bind(this))["catch"](function(){this.mva(!1)}.bind(this))};r.prototype.mva=function(u){u?h.yf()?this.qd("can_install"):this.XW&&this.Ij.state==t.Z3?(this.qd("can_install"),this.Z7()):this.sC?this.qd("can_install"):(this.qd("sw_registered"),setTimeout(function(){"sw_registered"==this.C&&this.qd("can_install")}.bind(this),3E3)):this.qd("unavailable")};r.prototype.ASa=function(u){this.dt&&this.dt.get(TDV.PlayerSettings.KT)||
(this.sC=u,"sw_registered"==this.C&&this.qd("can_install"))};r.prototype.BKa=function(){this.dt&&this.dt.get(TDV.PlayerSettings.KT)||("sw_registered"==this.C&&this.qd("can_install"),this.Z7())};r.prototype.Z7=function(){this.qd("downloading");this.trigger(k.rp);this.axa(0);this.WRa()};r.prototype.WRa=function(){var u=f.iA(this.xOa,"nc="+(new Date).getTime());m.getJSON(u,function(v){if("downloading"==this.C){var w=[],x;for(x in v){var y=v[x].tags;if(y){Array.isArray(y)||(y=[y]);for(var z=0;z<y.length;z++)0>
w.indexOf(y[z])&&w.push(y[z])}}var E=[];0<=w.indexOf("mobilevr2gen")&&(h.u1()||h.v1())?E.push("mobilevr2gen"):0<=w.indexOf("mobilevr")&&h.yf()?E.push("mobilevr"):0<=w.indexOf("mobile")&&h.lb()?E.push("mobile"):0<=w.indexOf("desktop")&&!h.lb()&&E.push("desktop");w=[];for(x in v)if(!(-1<x.indexOf(".DS_Store"))){if(y=v[x].tags){var B=!1;if(Array.isArray(y)){z=0;for(var A=y.length;z<A&&!B;z++)B=0<=E.indexOf(y[z])}else B=0<=E.indexOf(y);if(!B)continue}y=f.Dx(x,this.Sm);w.push(new g.File(y,v[x].size))}var D=
(new window.URL(window.location.pathname,window.location.href)).toString();0==w.filter(function(C){return C.url==D}).length&&w.push(new g.File(D,1024));this.DC=new g.Files(this.Sm,w,this.axa.bind(this),this.ooa.bind(this));this.DC.requestStorage().then(function(C){this.Ij.storage=C?t.FL:t.m5;this.Ij.state=t.Z3;this.Ij.version=this.D_;this.Ij.save();this.DC.download()}.bind(this))["catch"](function(){this.ooa(!1,void 0)}.bind(this))}}.bind(this))};r.prototype.axa=function(u){this.trigger(new p(k.lc,
u))};r.prototype.ooa=function(u,v){this.DC=null;this.qd("unavailable");u&&(this.Ij.state=t.tL,this.Ij.save());u?this.trigger(k.Bb,{success:!0}):v?this.trigger(k.Bb,{success:!1,error:r.Nja}):h.yf()?this.trigger(k.Bb,{success:!1,error:r.Mja}):this.XW?this.trigger(k.Bb,{success:!1,error:r.Nja}):this.trigger(k.Bb,{success:!1,error:r.Oja})};r.ZBa=function(){return f.gg("installed",!1)};r.c5a=function(u,v){var w=new r.R4(u);w.bind(k.Z,function(){var x=!1;w.state==r.R4.tL&&(x=r.ZBa()?!0:!navigator.onLine);
x?c.toURL(u,w.storage==r.R4.FL).then(function(y){v(y)}):v(u)},this,!0);w.load()};r.Oja="launchFromHomeScreen";r.Mja="addToBookmark";r.Nja="errorDownloading";var t=l.extend(b,function(u){b.call(this);this.Sm=u;this.w$="installation_state_"+u;this.STa=f.parse(this.Sm).pathname+"installation_state.json";this.state=this.storage=this.version=void 0;this.tva()});t.prototype.load=function(){if(this.XRa()&&this.state==t.tL)this.Ewa(this.storage==t.FL).then(function(){this.trigger(k.Z)}.bind(this))["catch"](function(){this.Ewa(this.storage!=
t.FL).then(function(){this.storage=this.storage==t.m5?t.FL:t.m5;this.hca();this.trigger(k.Z)}.bind(this))["catch"](function(){this.state=t.Z3;this.hca();this.trigger(k.Z)}.bind(this))}.bind(this));else this.trigger(k.Z)};t.prototype.save=function(){this.hca();this.state==t.tL&&this.fVa()};t.prototype.XRa=function(){var u=q.getItem(this.w$);if(!u)return!1;this.QOa(u);return!0};t.prototype.hca=function(){q.setItem(this.w$,this.Jwa())};t.prototype.Ewa=function(u){return new Promise(function(v,w){c.toURL(this.Sm+
"installation_state.json",u).then(function(x){m.ajax({type:"GET",url:x,success:function(){v()},error:function(){w()}})}.bind(this))}.bind(this))};t.prototype.fVa=function(){c.sHa(this.STa,this.Jwa(),"text/json")};t.prototype.Jwa=function(){var u={};u.version=this.version;u.storage=this.storage;u.state=this.state;return JSON.stringify(u)};t.prototype.QOa=function(u){this.POa(JSON.parse(u))};t.prototype.POa=function(u){this.version=u.version;this.storage=u.storage;this.state=u.state};t.prototype.At=
function(){q.removeItem(this.w$);this.tva()};t.prototype.tva=function(){this.version="";this.storage=t.iJa;this.state=t.Kja};t.iJa="unkonwn";t.m5="temporary";t.FL="persistent";t.Kja="not started";t.Z3="started";t.tL="completed";r.R4=t;return r});
define("kU","require lE pf pd v eY gb gk nk d oz e dz".split(" "),function(a){function e(r){var t=new g;t.ma({label:r,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:d.le});return t}var l=a("lE"),m=a("pf"),k=a("pd"),b=a("v"),h=a("eY"),g=a("gb"),c=a("gk"),d=a("nk"),f=a("d"),p=a("oz"),q=a("e"),n=a("dz");a=l.extend(p,function(r,t){p.call(this);this.uc=r;this.pg=t;this.pg.bind(m.$c,
this.nRa,this,!0);this.pg.bind(m.rp,this.kRa,this,!0);this.pg.bind(m.lc,this.mRa,this,!0);this.pg.bind(m.Bb,this.lRa,this,!0);this.ra="hidden";this.IQ=void 0;this.oba=!1;this.eg=void 0;this.Yi=this.$u=this.$B=this.dC=this.aC=this.KZ=this.Ma=null;this.wKa();this.ma({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:d.le,layout:f.Ag});this.sg()});a.prototype.nRa=function(){this.pg.eza()||this.pg.kK()&&this.pg.dza()?(this.ra="ready",this.oba&&this.jwa()):
this.ra="hidden";this.sg()};a.prototype.kRa=function(){this.ra="installing";this.sg()};a.prototype.mRa=function(r){this.eg=r.Mg;this.sg()};a.prototype.lRa=function(r){this.ra=r.data.success?"installed":"failed";this.Foa=r.data.error;this.sg()};a.prototype.Hf=function(){this.uXa()};a.prototype.WX=function(){this.oba||(this.oba=!0,"ready"==this.ra&&this.jwa())};a.prototype.jwa=function(){this.IQ=setTimeout(function(){this.IQ=null;this.GTa()}.bind(this),5E3);this.sg()};a.prototype.uXa=function(){this.Mua();
this.IQ&&clearTimeout(this.IQ);this.IQ=null};a.prototype.GTa=function(){this.Mua();"ready"==this.ra&&(this.ra="hidden",this.sg())};a.prototype.wKa=function(){this.bind(m.kc,this.Hf,this);this.uc.bind(m.kc,this.WX,this);this.uc.bind(m.kb,this.WX,this)};a.prototype.Mua=function(){this.unbind(m.kc,this.Hf,this);this.uc.unbind(m.kc,this.WX,this);this.uc.unbind(m.kb,this.WX,this)};a.prototype.Db=function(){p.prototype.Db.call(this);null==this.Ma&&(this.Ma=new n,this.Ma.ma({fontColor:"#ffffff",fontWeight:"400",
fontFamily:"Arial, sans-serif",fontSize:14,text:k("download-tour")}),this.Wa(this.Ma));null==this.aC&&(this.aC=e(k("download")),this.Wa(this.aC),this.aC.bind(m.qa,this.CLa,this,!0));null==this.dC&&(this.dC=e(k("refresh-downloaded")),this.Wa(this.dC),this.dC.bind(m.qa,this.ILa,this,!0));null==this.$B&&(this.$B=e(k("delete-downloaded")),this.Wa(this.$B),this.$B.bind(m.qa,this.BLa,this,!0));null==this.KZ&&(this.KZ=new q,this.KZ.ma({width:"100%"}),this.Wa(this.KZ));null==this.$u&&(this.$u=new c,this.$u.ma({backgroundColor:"#ffffff",
borderRadius:2,iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31}),this.Wa(this.$u),this.$u.bind(m.qa,this.ALa,this,!0));null==this.Yi&&(this.Yi=e(k("cancel")),this.Wa(this.Yi),this.Yi.bind(m.qa,this.xy,this,!0));b.lb()&&this.lm();this.sg()};a.prototype.Qp=function(){p.prototype.Qp.call(this);b.lb()&&this.getParent().bind(m.oc,this.lm,this,!0)};a.prototype.zn=function(){b.lb()&&this.getParent().unbind(m.oc,this.lm,this,!0);p.prototype.zn.call(this)};a.prototype.lm=
function(){var r=this.getParent();if(r){var t=Math.min(r.Xa(),r.yb())/100,u=function(v){return Math.round(v*t)};this.ma({gap:u(3.9),height:u(11.9),paddingLeft:u(6),paddingRight:u(6)});this.Ma&&this.Ma.ma({fontSize:u(3)});[this.aC,this.Yi,this.dC,this.$B].forEach(function(v){v&&v.ma({borderRadius:u(.4),fontSize:u(3),paddingLeft:u(3),paddingRight:u(3),height:u(6.7)})});this.$u&&this.$u.ma({borderRadius:u(.4),iconLineWidth:u(.22),iconWidth:u(3.7),iconHeight:u(3.7),height:u(6.7),width:u(6.7)})}};a.prototype.sg=
function(){switch(this.ra){case "ready":var r=this.pg.kK()?k("downloaded"):k("download-tour");break;case "installing":r=k("downloading");void 0!==this.eg&&(r+="..."+this.eg.toFixed(1)+"%");break;case "installed":r=k("downloaded");break;case "failed":r=this.Foa==h.Oja?b.lb()?k("storage-not-provided-launch-from-homescreen"):k("storage-not-provided-launch-from-desktop"):this.Foa==h.Mja?k("storage-not-provided-bookmark"):k("download-failed")}this.Ma&&this.Ma.set("text",r);this.aC&&this.aC.set("visible",
"ready"==this.ra&&!this.pg.kK()&&this.pg.eza());this.$B&&this.$B.set("visible","ready"==this.ra&&this.pg.kK()&&this.pg.dza());this.dC&&this.dC.set("visible","ready"==this.ra&&this.pg.gza());this.Yi&&this.Yi.set("visible","installing"==this.ra);this.$u&&this.$u.set("visible","installing"!=this.ra);this.set("visible","hidden"!=this.ra)};a.prototype.CLa=function(){this.pg.FBa()};a.prototype.ILa=function(){this.pg.FBa()};a.prototype.BLa=function(){this.pg.At();this.ra="hidden";this.sg()};a.prototype.xy=
function(){this.pg.cancel();this.ra="hidden";this.sg()};a.prototype.ALa=function(){"installing"==this.ra&&this.pg.cancel();this.ra="hidden";this.sg()};return a});
define("nJ","require lE en pf pd v gb nk d oz nM oh dz jc jg".split(" "),function(a){function e(u,v){this.text=u;this.Xo=v}var l=a("lE"),m=a("en"),k=a("pf"),b=a("pd"),h=a("v"),g=a("gb"),c=a("nk"),d=a("d"),f=a("oz"),p=a("nM"),q=a("oh"),n=a("dz"),r=a("jc"),t=a("jg");a=l.extend(f,function(){f.call(this);this.qq=[];this.Yi=this.bC=this.Ma=this.OC=this.NI=this.dr=null;this.IG=this.IG.bind(this);this.xy=this.xy.bind(this);var u=new p;u.set("duration",500);u.set("easing","cubic_in");var v=new q;v.set("duration",
500);v.set("easing","cubic_out");this.ma({backgroundColor:"#000000",backgroundOpacity:.6,horizontalAlign:c.Oe,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:v,showEffect:u,visible:!1})});a.prototype.Db=function(){f.prototype.Db.call(this);null==this.dr&&(this.dr=new f,this.dr.ma({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:c.Oe,verticalAlign:c.le,layout:d.Mh,shadow:!0,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:.2}),this.Wa(this.dr));null==
this.Ma&&(this.Ma=new n,this.Ma.ma({fontColor:"#808080",fontWeight:"300",fontFamily:"Tahoma, Geneva, sans-serif"}),this.dr.Wa(this.Ma));null==this.OC&&(this.OC=new r,this.OC.ma({width:"80%"}),this.dr.Wa(this.OC));null==this.NI&&(this.NI=new f,this.NI.ma({backgroundColor:"#b3b3b3"}),this.dr.Wa(this.NI));null==this.Zi&&(this.Zi=new f,this.Zi.ma({horizontalAlign:c.Oe,verticalAlign:c.le,layout:d.Ag}),this.dr.Wa(this.Zi));null==this.bC&&(this.bC=new g,this.bC.ma({backgroundColor:"#606060",fontColor:"#FFFFFF",
fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:c.Oe,verticalAlign:c.le,label:b("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080",tabIndex:1}),this.bC.bind(k.qa,this.IG,this,!0),this.Zi.Wa(this.bC));null==this.Yi&&(this.Yi=new g,this.Yi.ma({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:c.Oe,verticalAlign:c.le,label:b("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080",tabIndex:1}),
this.Yi.bind(k.qa,this.xy,this,!0),this.Zi.Wa(this.Yi))};a.prototype.Qp=function(){f.prototype.Qp.call(this);this.getParent().bind(k.oc,this.lm,this,!0)};a.prototype.zn=function(){this.getParent().unbind(k.oc,this.lm,this,!0);f.prototype.zn.call(this)};a.prototype.lm=function(){var u=this.getParent();if(u){var v=u.Xa();u=u.yb();if(h.lb()){var w=Math.min(v,u);v=function(x){return Math.round(x*w/100)}}else v=function(x){return Math.round(4*x)};this.dr&&this.dr.ma({borderRadius:v(1),width:v(80),height:v(40),
gap:v(4),shadowBlurRadius:v(1),shadowSpread:v(1)});this.NI&&this.NI.ma({width:v(60),minHeight:2,height:v(.25)});this.Zi&&this.Zi.ma({gap:v(5)});this.Yi&&this.Yi.ma({borderRadius:v(1),width:v(20),height:v(10),fontSize:v(4.25)});this.bC&&this.bC.ma({borderRadius:v(1),width:v(20),height:v(10),fontSize:v(4.5)});this.Ma&&this.Ma.ma({fontSize:v(5)});this.t_()}};a.prototype.show=function(u,v){this.lm();var w=this.Hpa(v);0<=w&&this.Kua(w);this.pUa(new e(u,v));this.HG()};a.prototype.hide=function(u){u=this.Hpa(u);
0<=u&&this.Kua(u)};a.prototype.HG=function(){var u=this.getParent();u&&u.On(this,u.jb().length-1)};a.prototype.IG=function(){this.yU(!0)};a.prototype.xy=function(){this.yU(!1)};a.prototype.Hpa=function(u){for(var v=0;v<this.qq.length;v++)if(this.qq[v].Xo==u)return v;return-1};a.prototype.t_=function(){if(this.dr){t.B5a(this.IG);t.Tha(this.xy);var u=this.Wpa();u?(20>u.text.length?(this.OC.set("visible",!1),this.Ma.set("text",u.text),this.Ma.set("visible",!0)):(this.Ma.set("visible",!1),this.OC.set("html",
this.FPa(u.text)),this.OC.set("visible",!0)),this.Yi.set("visible",u.Xo?!0:!1),this.set("visible",!0),t.B_a(this.IG),t.Tea(this.xy)):this.set("visible",!1)}};a.prototype.FPa=function(u){return"<div style=\"color:#808080; font-weight:300; font-family:'Tahoma', 'Geneva', sans-serif; font-size: "+this.Ma.get("fontSize")+'px; text-align:center;" >'+u+"</div>"};a.prototype.yU=function(u){var v=this.Wpa();v&&(v=this.TPa(v.text),this.LUa(v),m(v).each(function(w){w.Xo&&w.Xo.call(this,u)},this))};a.prototype.pUa=
function(u){this.qq.push(u);this.t_()};a.prototype.TPa=function(u){return m(this.qq).filter(function(v){return v.text==u})};a.prototype.LUa=function(u){this.qq=m(this.qq).filter(function(v){return!m(u).contains(v)});this.t_()};a.prototype.Kua=function(u){this.qq.splice(u,1);u==this.qq.length&&this.t_()};a.prototype.Wpa=function(){return 0<this.qq.length?this.qq[this.qq.length-1]:null};return a});
define("jy","require lE pf cC gv v nu".split(" "),function(a){function e(H){return H.map(function(P){return String.fromCharCode(P)}).join("")}function l(H){for(;H&&H!=document;){if("Button"==H.getAttribute(r))return!0;H=H.parentNode}return!1}var m=a("lE"),k=a("pf"),b=a("cC"),h=a("gv"),g=a("v"),c=a("nu"),d=[];a=e([99,111,110,116,101,120,116,109,101,110,117]);var f=e([109,111,117,115,101,100,111,119,110]),p=e([109,111,117,115,101,117,112]),q=e([109,111,117,115,101,108,101,97,118,101]),n=e([109,111,
117,115,101,101,110,116,101,114]),r=e([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(H){if(!g.lb()||!l(H.target)){var P=g.td()==g.T4?200:0;setTimeout(function(){(void 0===t||void 0===u||void 0===v||void 0===w||10>Math.abs(v-t)+Math.abs(w-u))&&d.forEach(function(W){W(H)});t=u=v=w=void 0},P)}H.preventDefault();H.stopImmediatePropagation()},!0);var t,u,v,w;document.addEventListener("mousedown",function(H){v=t=H.screenX;w=u=H.screenY},!0);document.addEventListener("mousemove",function(H){v=
H.screenX;w=H.screenY},!0);var x=1;m=m.extend(h,function(H,P){h.call(this);this.gb=H;this.NPa=P;this.BX=this.BX.bind(this);this.Vd=this.Vd.bind(this);this.v$=!1;this.s$=this.s$.bind(this);this.t$=this.t$.bind(this);this.r$=this.r$.bind(this);this.u$=this.u$.bind(this);this.ta=document.createElement("div");this.ta.style.setProperty("z-index",x,J[C]);for(var W in J[y])this.ta.style.setProperty(W,J[y][W],J[C]);d.push(this.BX)});m.prototype.clear=function(){this.QRa()&&this.D9();this.ta=null;d.splice(d.indexOf(this.BX),
1)};m.prototype.BX=function(H){var P=this.NPa();if(0!=P.length){this.ta.replaceChildren();this.v$=!1;var W=0;P.forEach(function(U){var S=document.createElement("div");if(U){S.textContent=U;for(var X in J[E])S.style.setProperty(X,J[E][X],J[C]);var F=W;W++;S.addEventListener(n,function(M){this.s$(M,F)}.bind(this));S.addEventListener(q,function(M){this.t$(M,F)}.bind(this));S.addEventListener(f,function(M){this.r$(M,F)}.bind(this));S.addEventListener(p,function(M){this.u$(M,F)}.bind(this))}else for(X in J[B])S.style.setProperty(X,
J[B][X],J[C]);for(X in J[z])S.style.setProperty(X,J[z][X],J[C]);this.ta.appendChild(S)}.bind(this));(c.fullscreenElement()||document.body).appendChild(this.ta);this.ta.style.setProperty("display","block",J[C]);P=H.pageX;H=H.pageY;P+this.ta.clientWidth>document.body.clientWidth-5&&(P=document.body.clientWidth-this.ta.clientWidth-5);H+this.ta.clientHeight>document.body.clientHeight-5&&(H=document.body.clientHeight-this.ta.clientHeight-5);this.ta.style.setProperty("left",P+"px",J[C]);this.ta.style.setProperty("top",
H+"px",J[C]);this.gb.bind(k.kb,this.Vd,this);document.addEventListener("mousedown",this.Vd);this.f_a=setInterval(this.e_a.bind(this),200)}};m.prototype.QRa=function(){return!!this.ta&&!!this.ta.parentNode};m.prototype.D9=function(){clearInterval(this.f_a);this.ta.parentNode.removeChild(this.ta);document.removeEventListener("mousedown",this.Vd);this.gb.unbind(k.kb,this.Vd,this);this.ta.style.setProperty("display","none",J[C])};m.prototype.e_a=function(){this.ta.contains(document.elementFromPoint(this.ta.offsetLeft+
.5*this.ta.clientWidth,this.ta.offsetTop+.5*this.ta.clientHeight))||this.ta.style.setProperty("z-index",x*=10,J[C])};m.prototype.Vd=function(){this.D9()};m.prototype.r$=function(H){this.v$=!0;H.preventDefault();H.stopImmediatePropagation()};m.prototype.u$=function(H,P){this.v$&&(this.D9(),H.preventDefault(),H.stopImmediatePropagation(),this.trigger(new b(k.Kp,{index:P})))};m.prototype.s$=function(H){for(var P in J[A])H.currentTarget.style.setProperty(P,J[A][P],J[C])};m.prototype.t$=function(H){for(var P in J[D])H.currentTarget.style.setProperty(P,
J[D][P],J[C])};var y="0",z="1",E="2",B="3",A="4",D="5",C="6",J=function(H){return JSON.parse(H.map(function(P){return String.fromCharCode(P)}).join(""))}([123,34,48,34,58,123,34,98,111,114,100,101,114,34,58,34,49,112,120,32,115,111,108,105,100,32,35,98,98,98,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,111,115,105,116,105,111,110,34,58,34,97,98,115,111,108,117,116,101,34,44,34,100,105,115,112,108,97,121,34,58,34,110,111,110,101,34,44,34,98,97,99,107,103,
114,111,117,110,100,45,99,111,108,111,114,34,58,34,35,101,53,101,53,101,53,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,112,97,100,100,105,110,103,34,58,48,44,34,109,97,114,103,105,110,34,58,48,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,44,34,116,101,120,116,45,97,108,105,103,110,34,58,34,108,101,102,116,34,44,34,98,111,120,45,115,104,97,100,111,119,34,58,34,49,112,120,32,49,112,120,32,51,112,120,32,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,50,
41,34,125,44,34,49,34,58,123,34,102,111,110,116,45,102,97,109,105,108,121,34,58,34,65,114,105,97,108,34,44,34,102,111,110,116,45,115,105,122,101,34,58,34,49,51,112,120,34,44,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,100,105,115,112,108,97,121,34,58,34,98,108,111,99,107,34,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,125,44,34,50,34,58,123,34,99,117,114,115,111,114,34,58,34,112,111,105,110,116,101,114,
34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,97,100,100,105,110,103,34,58,34,55,112,120,32,50,48,112,120,34,44,34,119,104,105,116,101,45,115,112,97,99,101,34,58,34,110,111,119,114,97,112,34,125,44,34,51,34,58,123,34,109,97,114,103,105,110,34,58,34,55,112,120,32,53,112,120,34,44,34,98,111,114,100,101,114,45,116,111,112,34,58,34,49,112,120,32,115,111,108,105,100,32,35,97,97,97,34,44,34,98,111,114,100,101,114,45,98,111,116,116,111,109,34,58,34,49,112,120,
32,115,111,108,105,100,32,35,102,102,102,34,125,44,34,52,34,58,123,34,99,111,108,111,114,34,58,34,35,102,102,102,102,102,102,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,55,41,34,125,44,34,53,34,58,123,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,34,125,44,34,54,34,58,34,105,109,112,111,114,116,97,110,116,34,125]);return m});
define("mF",["require","mB","bd","cf"],function(a){function e(b){this.gb=b;this.gt={};this.gt[m.pka]="move";this.gt[m.GIa]="ew-resize";this.gt[m.IIa]="ns-resize";this.gt[m.HIa]="nesw-resize";this.gt[m.JIa]="nwse-resize";this.gt[m.ye]="pointer";this.gt[m.pu]="inherit";this.gt[m.xe]="default";this.ph={};this.ph[m.Yx]="grab.cur";this.ph[m.Lh]="grabbing.cur";this.ph[m.zka]="N.cur";this.ph[m.Aka]="NE.cur";this.ph[m.qka]="E.cur";this.ph[m.Dka]="SE.cur";this.ph[m.Cka]="S.cur";this.ph[m.Eka]="SW.cur";this.ph[m.Fka]=
"W.cur";this.ph[m.Bka]="NW.cur";this.ph[m.ska]="FN.cur";this.ph[m.tka]="FNE.cur";this.ph[m.rka]="FE.cur";this.ph[m.wka]="FSE.cur";this.ph[m.vka]="FS.cur";this.ph[m.xka]="FSW.cur";this.ph[m.yka]="FW.cur";this.ph[m.uka]="FNW.cur";this.k6={};this.k6[m.JB]=k.JB;this.Sma={}}var l=a("mB"),m=a("bd"),k=a("cf");e.prototype.nAa=function(b){return this.LRa(b)?this.Tpa(b):this.BRa(b)?this.sPa(b):this.vRa(b)?this.ZOa(b):this.Tpa(m.xe)};e.prototype.OLa=function(b){if(!(b in this.Sma)){var h=new Image;h.src=this.mpa(b);
this.Sma[b]=h}};e.prototype.LRa=function(b){return b in this.gt};e.prototype.Tpa=function(b){return this.gt[b]};e.prototype.BRa=function(b){return this.ph[b]};e.prototype.sPa=function(b){this.OLa(b);return"url("+this.mpa(b)+"), default"};e.prototype.mpa=function(b){return l.Dx(this.gb.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.ph[b]};e.prototype.vRa=function(b){return b in this.k6};e.prototype.ZOa=function(b){return"url("+this.k6[b]+"), auto"};return e});
define("cw",["require","en"],function(a){function e(){this.iw={};this.Lq=[];this.rM=0}var l=a("en");e.prototype.push=function(m,k){void 0==this.iw[k]?(this.iw[k]=[m],this.Lq.push(k),this.Lq.sort(function(b,h){return b-h}),this.rM++):(k=this.iw[k],l(k).contains(m)||(k.push(m),this.rM++))};e.prototype.pAa=function(){return this.rM};e.prototype.isEmpty=function(){return 0==this.Lq.length};e.prototype.aEa=function(){if(!this.isEmpty()){var m=this.Lq[0],k=this.iw[m].pop();0==this.iw[m].length&&(delete this.iw[m],
this.Lq=this.Lq.slice(1));this.rM--;return k}};e.prototype.Lha=function(){if(!this.isEmpty()){var m=this.Lq[this.Lq.length-1],k=this.iw[m].pop();0==this.iw[m].length&&(delete this.iw[m],this.Lq=this.Lq.slice(0,this.Lq.length-1));this.rM--;return k}};return e});
define("iY","require en lE gM cw bi lH".split(" "),function(a){function e(){this.Iz=!1;this.cua=void 0;this.T=!0;this.fY=this.fY.bind(this);this.$U=new m;this.PY=new m;this.GZ=new m;this.YW=new m;this.T7=new m;k.requestFrame(this.Qj,this)}a("en");a("lE");var l=a("gM"),m=a("cw"),k=a("bi"),b=a("lH");e.prototype.clear=function(){this.T=!1};e.prototype.WR=function(h){this.$U.push(h,this.vH(h));this.qw()};e.prototype.pe=function(h){this.PY.push(h,this.vH(h));this.qw()};e.prototype.$b=function(h){this.GZ.push(h,
this.vH(h));this.qw()};e.prototype.Qd=function(h){this.YW.push(h,this.vH(h));this.qw()};e.prototype.bl=function(h){this.T7.push(h,this.vH(h));this.qw()};e.prototype.ia=function(){this.PYa();this.FZa();this.RYa()};e.prototype.PYa=function(){do{for(;!this.$U.isEmpty();)this.$U.Lha().Db();this.PY.isEmpty()||this.PY.Lha().Za()}while(!this.PY.isEmpty()||!this.$U.isEmpty())};e.prototype.FZa=function(){for(;!this.GZ.isEmpty()||!this.YW.isEmpty();)this.y_(),this.Vda()};e.prototype.y_=function(){for(;!this.GZ.isEmpty();){var h=
this.GZ.Lha();if(h.b9a()){var g=h.getParent();g?(g.$b(),g.Qd()):h.bFa(0,0,h.Lt(),h.Kt())}}};e.prototype.Vda=function(){for(;!this.YW.isEmpty();)this.YW.aEa().fk()};e.prototype.RYa=function(){for(;!this.T7.isEmpty();)this.T7.aEa().gh();l.process()};e.prototype.qw=function(){this.Iz||(this.Iz=!0,this.cua=(new Date).getTime()+500,b.OA(this.fY))};e.prototype.fY=function(){this.Iz=!1;this.T&&this.ia()};e.prototype.vH=function(h){return(h=h.getParent())?this.vH(h)+1:0};e.prototype.Qj=function(){this.Iz&&
(new Date).getTime()>=this.cua&&this.fY();k.requestFrame(this.Qj,this)};return e});
define("hK","require jquery.mod en lE pf oz jy mF bl iY nu v jg".split(" "),function(a){var e=a("jquery.mod"),l=a("en"),m=a("lE"),k=a("pf"),b=a("oz"),h=a("jy"),g=a("mF"),c=a("bl"),d=a("iY"),f=a("nu"),p=a("v"),q=a("jg");a=m.extend(b,function(n,r){this.zG=new d;b.call(this);this.$s(this);this.Fe("Application");this.Df=e(n);this.vea=r;this.Df.css({overflow:"hidden","user-select":"none","-ms-user-select":"none","-moz-user-select":"none","-webkit-user-select":"none","-ms-touch-action":"none","touch-action":"none",
visibility:"visible","-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.yw=e(document.createElement("div"));this.yw.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.Df.append(this.yw);this.yw.append(this.Yc());this.Awa=this.yw.get(0);this.Kd=this.Cd=void 0;this.rRa=10;this.$La=500;this.pP=null;this.G7=new g(this);this.Sb=new c(this);this.ta.append(this.Sb.Yc());this.hV=new h(this,this.jpa.bind(this));this.hV.bind(k.Kp,this.zh(this.bsa),this,
!0);this.sra=!0;this.set("contentOpaque",!0);this.pC=null;this.lM=[];this.iH(["globalmousemove"]);this.hLa();this.J_=this.K_=0;this.Dz=1;try{this.K_=window.top.innerWidth,this.J_=window.top.innerHeight,this.w9=!0}catch(t){this.w9=!1}this.Vxa();this.th=new f(n);this.th.bind(k.ca,function(){this.F8(this.th.enabled())},this);q.$a()});a.prototype.start=function(){this.kwa||(this.kwa=!0,this.trigger(k.Un))};a.prototype.Qga=function(){return this.kwa};a.prototype.Vxa=function(){this.w9&&!f.enabled()&&(this.K_=
window.top.innerWidth,this.J_=window.top.innerHeight)};a.prototype.clear=function(){this.vF(null);this.vwa();this.lOa();this.zG.clear();this.Df&&(this.Yc().remove(),this.yw.remove(),this.Df=null);this.G7=null;this.th.nja();this.th=null;this.hV&&(this.hV.clear(),this.hV=null)};a.prototype.Z6a=function(n){this.sra=n};a.prototype.F8=function(n){n?this.sva():this.kMa()};a.prototype.Ov=function(){this.PN=this.Ol=this.yw.width();this.ON=this.Nl=this.yw.height()};a.prototype.vF=function(n){if(this.pC!=n){null!=
this.pC&&this.pC.kYa();this.pC=n;for(var r=[];null!=n;)r=[n].concat(r),n=n.getParent();n=this.lM.length-1;for(var t=!0;0<=n&&t;n--)l(r).contains(this.lM[n])?t=!1:this.lM.pop().nYa();for(n=0;n<r.length;n++)l(this.lM).contains(r[n])||r[n].oYa();this.lM=r;null!=this.pC&&this.pC.jYa();this.Sb.vF(this.pC)}};a.prototype.IQa=function(n){var r=this.LC(n);this.Eqa(n,r.x,r.y)?n.preventDefault():this.vF(null)};a.prototype.Zpa=function(n){var r=this.Xy(n);this.Eqa(n,r.x,r.y)?n.preventDefault():this.vF(null)};
a.prototype.jpa=function(){return[]};a.prototype.bsa=function(){};a.prototype.Eqa=function(n,r,t){return this.CRa(n.target)&&0<=r&&0<=t&&r<this.na&&t<this.wa};a.prototype.CRa=function(n){if(!this.Df)return!1;for(var r=this.Df.get(0);n;){if(n===r)return!0;n=n.parentElement}return!1};a.prototype.hLa=function(){this.iH(["globalresize"]);this.K6=setInterval(l.bind(function(){this.fna()},this),this.$La)};a.prototype.lOa=function(){this.BM(["globalresize"]);this.K6&&(clearInterval(this.K6),this.K6=null)};
a.prototype.fna=function(){this.th.enabled()?this.sva():this.Vxa();var n=this.Awa.clientWidth,r=this.Awa.clientHeight;if(this.Cd!=n||this.Kd!=r)this.Cd=n,this.Kd=r,this.iXa()};a.prototype.sva=function(){if(this.w9&&(p.td()==p.Kx&&p.browser()==p.Hm||p.td()==p.ri)){var n=f.fullscreenElement();var r=n.clientWidth;n=n.clientHeight;p.td()!=p.Kx||p.Vb()==p.VF||window.screen.availWidth!=r&&window.screen.availHeight!=n||(r=window.screen.availWidth,n=window.screen.availHeight);var t=(r>n?r:n)/(this.K_>this.J_?
this.K_:this.J_),u=Math.round(r/t),v=Math.round(n/t);this.Dz=t;r={left:Math.round(.5*(r-u))+"px",top:Math.round(.5*(n-v))+"px",right:"auto",bottom:"auto",width:u+"px",height:v+"px",transform:"scale("+[t,t].join(", ")+")",position:"absolute"}}else r={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"},this.Dz=1;this.yw.css(r)};a.prototype.kMa=function(){this.yw.css({position:"abolute",left:0,top:0,right:0,bottom:0,
width:"auto",height:"auto",transform:""});this.Dz=1};a.prototype.iXa=function(){this.vwa();var n=this;this.pP=setTimeout(function(){n.pP=null;n.$b()},this.rRa)};a.prototype.vwa=function(){this.pP&&(this.pP=null,clearTimeout(this.pP))};a.prototype.HQa=function(){this.fna()};a.prototype.S8=function(){return l(b.prototype.S8.call(this)).defaults({globaltouchmove:[{target:e(document),name:"touchmove",handler:this.zh(this.IQa)}],globalmousemove:[{target:e(document),name:"mousemove",handler:this.zh(this.Zpa)},
{target:e(window),name:"mouseout",handler:this.zh(this.Zpa)}],globalresize:[{target:e(window),name:"resize",handler:this.zh(this.HQa)}]})};return a});
define("gK","require jquery.mod pE cf nu pf gv pd v".split(" "),function(a){function e(){n=TDV.ub.rr();var v=q||n;p!=v&&(p=v,f.trigger(h.ca));v=!!q&&n!=q&&d.lb();r!=v&&(t||(t=l("<div/>"),t.css({position:"fixed","z-index":m.mIa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),t.html(['<div style="box-sizing:border-box; padding:0 10vmin; display:table; height:100%; width:100vw;">\n<div style="vertical-align:middle; text-align:center; display:table-cell;">','<img style="width:22vmin" src="'+
k.CL+'"/>','<div style="color:#000; font-family:Arial, Helvetica, sans-serif; font-size:3.6vmin; line-height:4.3vmin; margin:5vmin 0; text-align:center;">'+c("rotate-device")+"</div>","</div>\n</div>"].join("\n")),u=t.find("img")),r&&t.detach(),(r=v)&&(b.enabled()?l(b.fullscreenElement()):l("body")).append(t));r&&u.css("transform",p==f.ZIa?"translate(-11%, 0) rotate(-90deg)":"none")}var l=a("jquery.mod"),m=a("pE"),k=a("cf"),b=a("nu"),h=a("pf"),g=a("gv"),c=a("pd"),d=a("v"),f=new g;f.N9a=TDV.ub.X4;
f.ZIa=TDV.ub.Y4;f.$t=function(v){q!=v&&(q=v,e())};f.FAa=function(){return q};f.get=function(){return p};var p=void 0,q=void 0,n=void 0,r=!1,t=null,u=null;window.addEventListener("resize",function(){e();setTimeout(e,500)},!0);try{window.screen.orientation.addEventListener("change",e)}catch(v){window.addEventListener("orientationchange",e,!1)}e();return f});
define("iU","require lE en pf cC cI nU nq pd jX H kU nJ dY mo nV lY v hW eY cz jI mB oA ek hK oz di nu bF gK ml dA".split(" "),function(a){var e=a("lE"),l=a("en"),m=a("pf"),k=a("cC"),b=a("cI"),h=a("nU"),g=a("nq"),c=a("pd"),d=a("jX"),f=a("H"),p=a("kU"),q=a("nJ"),n=a("dY");a("mo");var r=a("nV"),t=a("lY"),u=a("v"),v=a("hW"),w=a("eY"),x=a("cz"),y=a("jI"),z=a("mB"),E=a("oA"),B=a("ek"),A=a("hK"),D=a("oz"),C=a("di"),J=a("nu"),H=a("bF"),P=a("gK"),W=a("ml"),U=a("dA"),S=h.define("Player",A,function(){A.apply(this,
arguments);this.pg=new w(this);this.noa=new p(this,this.pg);this.rs=new D;this.rs.ma({backgroundOpacity:0,visible:!0,width:"100%",height:"100%"});this.RH=new q;this.lJ=new n;this.kV=new f(this);var M=new C;M.U2(0);this.YS(M);this.Bf(!0);this.bind(m.D("settings"),this.uTa,this,!0);this.D_=TDV.ub.$Aa();P.bind(m.ca,this.fTa,this,!0);H.M8a();this.FLa=new d(this,"buttonMute",B.ze);this.FLa.bind(m.qa,this.Ssa,this,!0);this.NLa=new d(this,"buttonUnmute",B.ze);this.NLa.bind(m.qa,this.Gta,this,!0);this.MU=
new d(this,"buttonToggleMute",B.Bj);this.MU.bind(m.yj,this.Ssa,this,!0);this.MU.bind(m.sl,this.Gta,this,!0);this.bind(m.D("mute"),this.cTa,this);this.MU.set("pressed",this.get("mute"));this.DLa=new d(this,"buttonEnterFullscreen",B.ze);this.DLa.bind(m.qa,this.hsa,this,!0);this.ELa=new d(this,"buttonExitFullscreen",B.ze);this.ELa.bind(m.qa,this.isa,this,!0);this.IU=new d(this,"buttonToggleFullscreen",B.Bj);this.IU.bind(m.yj,this.hsa,this,!0);this.IU.bind(m.sl,this.isa,this,!0);this.IU.set("pressed",
this.get("fullscreenEnabled"));this.bind(m.D("fullscreenEnabled"),this.KSa,this,!0);this.set("fullscreenEnabled",this.th.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(m.Un,this.xTa,this,!0);[m.kb,m.Hb,m.Zr,m.Xx,m.$F].forEach(function(T){this.bind(T,function(Y){this.trigger(new k(m.LB,{$K:Y}))},this,!0)}.bind(this));["keydown","keyup"].forEach(function(T){document.addEventListener(T,function(Y){this.trigger(new k(m.LB,{$K:Y}))}.bind(this))}.bind(this));E.P.bind(m.ca,
function(){E.isPresenting?P.$t():P.$t(A.prototype.get.call(this,"lockedOrientation"))},this);this.th.bind(m.ca,function(){var T=P.FAa();P.$t();P.$t(T)},this)});S.cIa="orientationChange";S.prototype.logCapabilities=function(){this.dSa()};S.prototype.activateAudio=function(M){this.XJa(M)};S.prototype.F8=function(M){A.prototype.F8.apply(this,arguments);this.set("fullscreenEnabled",M)};S.prototype.vb=function(){A.prototype.vb.call(this);this.h("mute",!1);this.h("fullscreenEnabled",!1)};S.prototype.Db=
function(){A.prototype.Db.call(this);this.noa.getParent()!=this&&this.Wa(this.noa);this.rs.getParent()!=this&&(this.Wa(this.rs),this.rs.Wa(this.kV),this.rs.Wa(this.RH),this.rs.Wa(this.lJ))};S.prototype.eVa=function(M){var T=[];this.RH&&T.push(this.RH);this.lJ&&T.push(this.lJ);this.kV&&T.push(this.kV);for(var Y=!0,ca=0;ca<=T.length&&Y;ca++)Y=M.indexOf(T[ca]),Y=M.length-(T.length-ca)==Y;return Y?M:M.filter(function(da){return 0>T.indexOf(da)}).concat(T)};S.prototype.Za=function(){this.Bua||(this.Bua=
l.difference(this.lQa(),"backgroundOpacity visible includeInLayout state left right top bottom centerX centerY width height minWidth minHeight maxWidth maxHeight actualWidth actualHeight paddingLeft paddingTop paddingRight paddingBottom".split(" ")));this.pc(this.Bua,{},[this.rs],!0,!0);A.prototype.Za.call(this);!0===this.A$a&&this.z$a()};S.prototype.set=function(M,T){switch(M){case "children":this.rs.set(M,this.eVa(T));return;case "creationPolicy":this.rs.set(M,T);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrControllerAvailable":case "vrAvailable":T=
this.get(M);break;case "fullscreenEnabled":T=this.th.Xj()&&T;break;case "fullscreenFallback":J.uia(T);break;case "lockedOrientation":u.yf()&&(T=void 0);P.$t(T);break;case "installAvailable":T=this.pg.ready();break;case "mouseWheelEnabled":this.Z6a(z.gg("mousewheelenabled",T));break;case "backgroundPreloadEnabled":this.wVa(T);break;case "vrPolyfillScale":E.v2=T;break;case "desktopMipmappingEnabled":r.k6a(T);break;case "mobileMipmappingEnabled":r.X6a(T);break;case "defaultVRPointer":"gaze"==T?E.VFa(E.Rka.ZF):
E.VFa(E.Rka.xL)}A.prototype.set.call(this,M,T)};S.prototype.get=function(M,T){switch(M){case "children":case "creationPolicy":return this.rs.get(M,T);case "touchEnabled":return this.po;case "touchDevice":return u.ija();case "isMobile":return u.lb();case "orientation":return P.get();case "lockedOrientation":return P.FAa();case "gyroscopeAvailable":return v.Xj;case "cardboardAvailable":case "vrAvailable":return E.PF;case "vrControllerAvailable":return E.qHa;case "fullscreenAvailable":return this.th.Xj();
case "vrPolyfillScale":return E.v2;case "installAvailable":return this.pg.ready();case "surfaceSelectionAvailable":return!0;case "pageScale":return this.Dz;case F:return this.vea?A.prototype.get.apply(this,arguments):!0;default:return A.prototype.get.apply(this,arguments)}};S.prototype.Ssa=function(){this.set("mute",!0)};S.prototype.Gta=function(){this.set("mute",!1)};S.prototype.cTa=function(){this.MU.set("pressed",this.get("mute"))};S.prototype.hsa=function(){this.set("fullscreenEnabled",!0)};S.prototype.isa=
function(){this.set("fullscreenEnabled",!1)};S.prototype.KSa=function(){this.get("fullscreenEnabled")?this.th.s0():this.th.jr();this.IU.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.th.enabled())};S.prototype.uTa=function(){var M=this.get("settings");M&&(x.initialize(M),y.Mia(M),THREE.HHa=M.get(TDV.PlayerSettings.Bja),THREE.VHa=M.get(TDV.PlayerSettings.Lja),THREE.pG=M.get(TDV.PlayerSettings.pG),this.pg.Mia(M))};S.prototype.wVa=function(M){y.enabled(M)};S.prototype.jpa=
function(){var M=[];this.VG=[];(this.get("menu")||[]).forEach(function(ca){var da=ca.get("label");M.push(ca.get("label"));da&&this.VG.push(function(){ca.trigger("click")})}.bind(this));var T=this.get("defaultMenu",[]);if(0<=T.indexOf("rotation")){var Y=this.Oi("PanoramaPlayer");Y.length&&(M.push(Y[0].get("mouseControlMode")==b.jB?c("change-to-drag-and-release"):c("change-to-click-and-move")),this.VG.push(this.TXa.bind(this)))}0<=T.indexOf("fullscreen")&&this.th.Xj()&&(M.push(this.th.enabled()?c("exit-fullscreen"):
c("enter-fullscreen")),this.VG.push(this.RXa.bind(this)));0<=T.indexOf("mute")&&(M.push(this.get("mute")?c("unmute"):c("mute")),this.VG.push(this.SXa.bind(this)));T=[].concat(g.name?[g.name]:[],"false"!=g.R0a?g.fS?["v:"+g.fS+"."+g.kS]:["v:"+g.kS]:[]).join(" ");""!=T&&(0<M.length&&M.push(""),M.push(T),this.VG.push(this.JTa.bind(this)));return M};S.prototype.bsa=function(M){this.VG[M.data.index]()};S.prototype.TXa=function(){var M=this.Oi("PanoramaPlayer"),T=M[0].get("mouseControlMode")==b.jB?b.ju:
b.jB;M.forEach(function(Y){U.setItem(X,T);Y.set("mouseControlMode",T)})};S.prototype.xTa=function(){U.getItem(X)==b.ju&&this.Oi("PanoramaPlayer").forEach(function(M){M.set("mouseControlMode",b.ju)});z.rj("mute")&&this.set("mute",z.gg("mute",this.get("mute")))};S.prototype.RXa=function(){this.th.toggle()};S.prototype.SXa=function(){this.set("mute",!this.get("mute"))};S.prototype.JTa=function(){g.rHa&&window.open(g.rHa,"_blank")};S.prototype.fTa=function(){this.trigger(S.cIa)};S.prototype.dSa=function(){e.$0a(!0);
e.log("UA: "+navigator.userAgent);e.log("screen: ("+Math.max(window.screen.width,window.screen.height)+", "+Math.min(window.screen.width,window.screen.height)+") dpr: "+window.devicePixelRatio+" ("+Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio+", "+Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio+")");u.log();t.log();c.log();E.log()};S.prototype.XJa=function(M){H.active()?W.wait(M):(H.yja(M),H.request(this))};var X="tdvp_"+window.location.pathname+
"_rotation_mode",F=[119,97,116,101,114,109,97,114,107].map(function(M){return String.fromCharCode(M)}).join("");return S});define("nI",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("PlayerMenuItem",e,function(){e.call(this)})});
define("S","require lE mh pf lg nU kE".split(" "),function(a){a("lE");var e=a("mh"),l=a("pf"),m=a("lg"),k=a("nU"),b=a("kE");a=k.define("PopupPanoramaOverlay",e,function(){e.call(this);this.set("state",m.W);this.bind(l.D("state"),function(){this.trigger(l.se)},this,!0);this.jd=void 0});a.prototype.show=function(){this.set("visible",!0)};a.prototype.hide=function(){this.set("visible",!1)};a.prototype.play=function(){this.set("state",m.Y)};a.prototype.pause=function(){this.set("state",m.jG)};a.prototype.stop=
function(){this.set("state",m.W)};a.prototype.hide=a.prototype.hide;a.prototype.pause=a.prototype.pause;a.prototype.play=a.prototype.play;a.prototype.show=a.prototype.show;a.prototype.stop=a.prototype.stop;a.prototype.get=function(h,g){switch(h){case "playbackPositions":return void 0===this.jd&&(this.jd=b.l2a(this)),this.jd}return e.prototype.get.call(this,h,g)};a.prototype.set=function(h,g){var c=!1;switch(h){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.jd=
void 0,c=!0}e.prototype.set.call(this,h,g);c&&"playbackPositions"!=h&&this.trigger(l.D("playbackPositions"))};return a});define("pg",["require","A","nU"],function(a){var e=a("A");return a("nU").define("ProgressBar",e,function(){e.call(this)})});
define("gG",["require","mh","pf","nU","kE"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("kE");a=m.define("QuadFramePanoramaOverlay",e,function(){e.call(this);this.jd=void 0});a.prototype.set=function(b,h){var g=!1;switch(b){case "vertices":case "playbackPositions":this.jd=void 0,g=!0}e.prototype.set.call(this,b,h);g&&"playbackPositions"!=b&&this.trigger(l.D("playbackPositions"))};a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.jd&&(this.jd=k.pga(this)),
this.jd}return e.prototype.get.call(this,b,h)};return a});define("bH",["require","nU","cR"],function(a){var e=a("nU"),l=a("cR");return e.define("QuadHotspotPanoramaOverlay",l,function(){l.call(this)})});define("jd",["require","nU","u"],function(a){var e=a("nU"),l=a("u");return e.define("QuadHotspotPanoramaOverlayArea",l,function(){l.apply(this,arguments)})});
define("Z",["require","mh","pf","nU","kE"],function(a){var e=a("mh"),l=a("pf"),m=a("nU"),k=a("kE");a=m.define("QuadHotspotPanoramaOverlayImageBase",e,function(){e.call(this);this.jd=void 0});a.prototype.get=function(b,h){switch(b){case "playbackPositions":return void 0===this.jd&&(this.jd=k.pga(this)),this.jd}return e.prototype.get.call(this,b,h)};a.prototype.set=function(b,h){var g=!1;switch(b){case "opacity":case "distance":case "vertices":case "playbackPositions":this.jd=void 0,g=!0}e.prototype.set.call(this,
b,h);g&&"playbackPositions"!=b&&this.trigger(l.D("playbackPositions"))};return a});define("fE",["require","nU","Z"],function(a){var e=a("nU"),l=a("Z");return e.define("QuadHotspotPanoramaOverlayImage",l,function(){l.call(this)})});define("po",["require","nU","Z"],function(a){var e=a("nU"),l=a("Z");return e.define("QuadHotspotPanoramaOverlayMap",l,function(){l.call(this)})});
define("fa","require mh pf lg cC nU kE".split(" "),function(a){var e=a("mh"),l=a("pf"),m=a("lg"),k=a("cC"),b=a("nU"),h=a("kE");a=b.define("QuadVideoPanoramaOverlay",e,function(){e.call(this);this.jd=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.Y)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.W)};a.prototype.set=function(g,c){var d=!1;switch(g){case "state":var f=this.get("state")||
m.W;f==m.W&&c==m.Y&&this.trigger(l.Un);f!=c&&this.trigger(new k(l.se,{oldState:f,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.jd=void 0,d=!0}e.prototype.set.call(this,g,c);d&&"playbackPositions"!=g&&this.trigger(l.D("playbackPositions"))};a.prototype.get=function(g,c){switch(g){case "playbackPositions":return void 0===this.jd&&(this.jd=h.pga(this)),this.jd}return e.prototype.get.call(this,g,
c)};return a});define("mU",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("RainPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(l,m){"startState"==l&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,l,m)};return a});define("fr",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("RotationalCameraMovement",e,function(){e.call(this)})});
define("cn",["require","nK","nU"],function(a){var e=a("nK");return a("nU").define("SlideInEffect",e,function(){e.call(this)})});define("iE",["require","hP","nU"],function(a){var e=a("hP");return a("nU").define("SlideOutEffect",e,function(){e.call(this)})});
define("ok",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("SnowPanoramaOverlay",e,function(){e.call(this)});a.prototype.get=function(l,m){"startState"==l&&void 0===m&&(m=this.get("initialState"));return e.prototype.get.call(this,l,m)};return a});
define("mt",["require","nU","lM"],function(a){var e=a("nU"),l=a("lM");a=e.define("SphericPanoramaFrame",l,function(){l.call(this)});a.prototype.tm=function(){var m=this.get("sphere");return m&&e.Ia("Video360Resource",m)?!0:(m=this.get("stereoSphere"))&&e.Ia("Video360Resource",m)?!0:!1};return a});define("fG",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("SphereModel3DObject",l,function(){l.call(this)})});
define("oL",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");a=e.define("SpriteModel3DObject",l,function(){l.call(this)});a.prototype.getPixelScale=function(){return this.get("worldPixelScale")};return a});define("lP",["require","nU","iQ"],function(a){var e=a("nU"),l=a("iQ");return e.define("SurfaceReticleModel3DObject",l,function(){l.call(this);this.set("transparentAreaActive",!0)})});
define("cS","require en lE y oz nk V dz".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("y"),k=a("oz"),b=a("nk"),h=a("V"),g=a("dz"),c=l.extend(k,function(d){k.call(this);this.Fe("Tab");this.Waa=d;this.im="";this.gda=!1;this.Mqa=this.Ma=null;this.Aea=this.zea=!1;this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0)});c.prototype.vb=function(){k.prototype.vb.call(this);this.h("horizontalAlign",b.Oe);this.h("verticalAlign",b.le);this.h("fontFamily");this.h("fontSize");this.h("fontColor");
this.h("fontWeight");this.h("fontStyle");this.h("textDecoration");this.h("textShadowBlurRadius");this.h("textShadowColor");this.h("textShadowHorizontalLength");this.h("textShadowOpacity");this.h("textShadowVerticalLength")};c.prototype.WFa=function(d){this.zea!=d&&(this.zea=d,this.Aea=!0,this.pe())};c.prototype.Db=function(){k.prototype.Db.call(this);null==this.Ma&&(this.Ma=new g,this.Ma.set("horizontalAlign","center"),this.Wa(this.Ma))};c.prototype.Qp=function(){k.prototype.Qp.call(this);this.Mqa=
m.bu(this.Waa,"label",this.aI,this);this.Qva(this.Waa.get("label"))};c.prototype.Zba=function(){k.prototype.Zba.call(this);this.Mqa.$A()};c.prototype.aI=function(){var d=this.Waa.get("label");this.Qva(d?d:"")};c.prototype.Qva=function(d){this.im!=d&&(this.im=d,this.gda=!0,this.pe())};c.prototype.Za=function(){this.gda&&(this.gda=!1,this.Ma.set("text",this.im));this.Aea&&(this.Aea=!1,this.Ma.set("direction",this.zea?h.Mh:h.Ag));this.pc(c.Lla,c.wG,[this.Ma],!0,!0);k.prototype.Za.call(this)};c.Lla="fontFamily fontSize fontColor fontWeight fontStyle textDecoration textShadowColor textShadowHorizontalLength textShadowVerticalLength textShadowBlurRadius textShadowOpacity".split(" ");
c.wG={};e(c.Lla).each(function(d){c.wG[d]=d});return c});define("nA",["require"],function(){return{AL:"normal",cG:"inverse",Eja:"center"}});
define("dc","require en lE bj bd pf oz nk d hY cS nA iF".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("bj"),k=a("bd"),b=a("pf"),h=a("oz"),g=a("nk"),c=a("d"),d=a("hY"),f=a("cS"),p=a("nA"),q=a("iF");a=l.extend(h,function(){h.call(this);this.Fe("TabPanel");this.Te=-1;this.UD=!1;this.bQ=[];this.ZZ=!1;this.Sj=[];this.Yaa=!1;this.aQ=[];this.Vg=this.xh=null;this.WD(!1)});a.prototype.vb=function(){h.prototype.vb.call(this);this.h("pages",[]);this.h("selectedIndex",-1);this.h("tabsSize",25);this.h("tabsPosition",
q.yc);this.h("tabsGap",0);this.h("tabsPadding",10);this.h("tabsAlign",p.AL);this.h("tabsBackgroundOpacity",.6);this.h("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsBackgroundColorRatios",[0,.5]);this.h("tabsRollOverBackgroundOpacity",1);this.h("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.h("tabsRollOverBackgroundColorRatios",[0,.5]);this.h("backgroundColor","#FFFFFF");this.h("selectedTabBackgroundOpacity",1);this.h("selectedTabBackgroundColor");this.h("selectedTabBackgroundColorRatios");
this.h("borderRadius",6);this.h("pagePaddingLeft",4);this.h("pagePaddingTop",4);this.h("pagePaddingRight",4);this.h("pagePaddingBottom",4);this.h("borderColor","#AAAAAA");this.h("borderSize",1);this.h("selectedTabFontSize");this.h("selectedTabFontColor");this.h("selectedTabFontWeight");this.h("selectedTabFontStyle");this.h("selectedTabTextDecoration");this.h("selectedTabTextShadowBlurRadius");this.h("selectedTabTextShadowColor");this.h("selectedTabTextShadowHorizontalLength");this.h("selectedTabTextShadowOpacity");
this.h("selectedTabTextShadowVerticalLength");this.h("tabsFontFamily");this.h("tabsFontSize");this.h("tabsFontColor");this.h("tabsFontWeight");this.h("tabsFontStyle");this.h("tabsTextDecoration");this.h("tabsTextShadowBlurRadius");this.h("tabsTextShadowColor");this.h("tabsTextShadowHorizontalLength");this.h("tabsTextShadowOpacity");this.h("tabsTextShadowVerticalLength");this.h("tabsRollOverFontSize");this.h("tabsRollOverFontColor");this.h("tabsRollOverFontWeight");this.h("tabsRollOverFontStyle");
this.h("tabsRollOverTextDecoration");this.h("tabsRollOverTextShadowBlurRadius");this.h("tabsRollOverTextShadowColor");this.h("tabsRollOverTextShadowHorizontalLength");this.h("tabsRollOverTextShadowOpacity");this.h("tabsRollOverTextShadowVerticalLength")};a.prototype.Db=function(){h.prototype.Db.call(this);null==this.Vg&&(this.Vg=new h,this.Vg.WD(!1),this.Wa(this.Vg));null==this.xh&&(this.xh=new h,this.xh.WD(!1),this.Wa(this.xh))};a.prototype.set=function(n,r){"pages"==n?this.e7a(r||[]):"selectedIndex"==
n?this.TK(r):"layout"==n&&(r=c.B9a);h.prototype.set.call(this,n,r)};a.prototype.get=function(n,r){return"pages"==n?this.Sj:"selectedIndex"==n?this.Te:h.prototype.get.call(this,n,r)};a.prototype.TK=function(n){this.Te!=n&&(this.Te=n,this.Te=Math.min(Math.max(this.Te,-1),this.Sj.length),this.UD=!0,this.pe(),this.trigger(b.ca),this.trigger(b.D("selectedIndex")))};a.prototype.e7a=function(n){e.isEqual(this.Sj,n)||(this.Sj.forEach(function(r){r.unbind(b.bd,this.Wta,this);r.unbind(b.Tc,this.Vta,this)}.bind(this)),
this.Sj=n,this.Sj.forEach(function(r){r.bind(b.bd,this.Wta,this);r.bind(b.Tc,this.Vta,this)}.bind(this)),this.Yaa=!0,this.pe())};a.prototype.GXa=function(n){this.bQ=e(this.bQ).union([n.source]);this.ZZ=!0;this.pe()};a.prototype.FXa=function(n){this.bQ=e(this.bQ).difference([n.source]);this.ZZ=!0;this.pe()};a.prototype.EXa=function(n){this.TK(e(this.aQ).indexOf(n.source))};a.prototype.Wta=function(n){this.TK(this.Sj.indexOf(n.source))};a.prototype.Vta=function(n){if(this.Sj.indexOf(n.source)==this.Te){for(n=
this.Sj.length-1;0<=n;n--)if(this.Sj[n].get("visible")){this.TK(n);return}this.Te=-1;this.TK(0)}};a.prototype.Za=function(){var n=!1,r=!1,t=!1,u=!1,v=!1,w=this.B("tabsPosition"),x=this.B("tabsAlign");this.Yaa&&(this.aQ=[],this.xh.rEa(),this.Vg.rEa(),this.Sj.forEach(function(B){var A=new f(B);A.WD(!0);A.bind(b.ad,this.GXa,this);A.bind(b.Xb,this.FXa,this);A.bind(b.kb,this.EXa,this);this.aQ.push(A);this.xh.Wa(A);B.ma({top:void 0,left:void 0,right:void 0,bottom:void 0,width:"100%",height:"100%"});this.Vg.Wa(B)}.bind(this)),
this.Te=Math.min(Math.max(this.Te,0),this.Sj.length-1),this.Yaa=!1,r=n=v=!0);this.K("tabsPosition")&&(this.S("tabsPosition"),u=r=n=!0);this.UD&&(this.UD=!1,t=r=v=!0);this.ZZ&&(this.ZZ=!1,t=!0);this.K("overflow")&&this.xh.ma({contentOpaque:this.B("overflow")==d.Jp,overflow:this.B("overflow")});e(["tabsAlign","tabsGap","tabsSize"]).forEach(function(B){this.K(B)&&(this.S(B),n=!0)},this);e("borderRadius borderTopRadius borderBottomRadius borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderBottomLeftRadius borderBottomRightRadius borderSize borderLeftSize borderTopSize borderRightSize borderBottomSize borderColor borderLeftColor borderTopColor borderRightColor borderBottomColor shadow shadowHorizontalLength shadowVerticalLength shadowBlurRadius shadowSpread shadowColor backgroundOpacity backgroundColor backgroundColorRatios".split(" ")).forEach(function(B){this.K(B)&&
(this.S(B),u=r=!0)},this);e("tabsBackgroundOpacity tabsBackgroundColor tabsBackgroundColorRatios selectedTabBackgroundOpacity selectedTabBackgroundColor selectedTabBackgroundColorRatios selectedTabFontSize selectedTabFontColor selectedTabFontWeight selectedTabFontStyle selectedTabTextDecoration selectedTabTextShadowColor selectedTabTextShadowHorizontalLength selectedTabTextShadowVerticalLength selectedTabTextShadowBlurRadius selectedTabTextShadowOpacity tabsFontFamily tabsFontSize tabsFontColor tabsFontWeight tabsFontStyle tabsPadding tabsTextDecoration tabsRollOverFontSize tabsRollOverFontColor tabsTextShadowColor tabsTextShadowHorizontalLength tabsTextShadowVerticalLength tabsTextShadowBlurRadius tabsTextShadowOpacity tabsRollOverFontWeight tabsRollOverFontStyle tabsRollOverTextDecoration tabsRollOverTextShadowColor tabsRollOverTextShadowHorizontalLength tabsRollOverTextShadowVerticalLength tabsRollOverTextShadowBlurRadius tabsRollOverTextShadowOpacity".split(" ")).forEach(function(B){this.K(B)&&
(this.S(B),r=!0)},this);e(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(B){this.K(B)&&(this.S(B),u=!0)},this);this.K("backgroundColorDirection")&&this.S("backgroundColorDirection");if(n){switch(w){case q.Ya:this.xh.ma({left:0,right:void 0});break;case q.qb:this.xh.ma({left:void 0,right:0});break;case q.yc:this.xh.ma({bottom:void 0,top:0});break;case q.rc:this.xh.ma({bottom:0,top:void 0})}switch(w){case q.Ya:case q.qb:this.xh.ma({layout:c.Mh,top:0,bottom:0,
height:void 0,width:this.B("tabsSize")});switch(x){case p.cG:this.xh.set("verticalAlign",g.rc);break;case p.Eja:this.xh.set("verticalAlign",g.le);break;default:this.xh.set("verticalAlign",g.yc)}break;case q.yc:case q.rc:switch(this.xh.ma({layout:c.Ag,left:0,right:0,height:this.B("tabsSize"),width:void 0}),x){case p.cG:this.xh.set("horizontalAlign",g.qb);break;case p.Eja:this.xh.set("horizontalAlign",g.Oe);break;default:this.xh.set("horizontalAlign",g.Ya)}}this.xh.set("gap",this.B("tabsGap"))}if(r)for(var y=
0;y<this.Sj.length;y++){var z=this.aQ[y];w==q.rc||w==q.yc?(z.ma({layout:c.Ag,width:void 0,paddingLeft:this.B("tabsPadding"),paddingTop:0,paddingRight:this.B("tabsPadding"),paddingBottom:0,height:"100%",backgroundColorDirection:m.s5}),z.WFa(!1)):(z.ma({layout:c.Mh,width:"100%",paddingLeft:0,paddingTop:this.B("tabsPadding"),paddingRight:0,paddingBottom:this.B("tabsPadding"),height:void 0,backgroundColorDirection:m.S4}),z.WFa(!0));w==q.rc||w==q.qb?z.set("borderTopLeftRadius",0):z.set("borderTopLeftRadius",
this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));w==q.rc||w==q.Ya?z.set("borderTopRightRadius",0):z.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.yc||w==q.qb?z.set("borderBottomLeftRadius",0):z.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.yc||w==q.Ya?z.set("borderBottomRightRadius",0):z.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));w==q.qb&&z.set("borderSize",this.B("borderRightSize","borderSize"));w==q.Ya&&z.set("borderSize",this.B("borderLeftSize","borderSize"));w==q.yc&&z.set("borderSize",this.B("borderTopSize","borderSize"));w==q.rc&&z.set("borderSize",this.B("borderBottomSize","borderSize"));switch(w){case q.Ya:var E=this.B("borderLeftColor","borderColor");break;case q.qb:E=this.B("borderRightColor","borderColor");break;case q.rc:E=
this.B("borderBottomColor","borderColor");break;default:case q.yc:E=this.B("borderTopColor","borderColor")}z.set("borderColor",E);z.ma({fontFamily:this.B("tabsFontFamily"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor")})}if(r||t)for(y=0;y<this.Sj.length;y++)z=this.aQ[y],t=y==this.Te,E=e(this.bQ).contains(z),
t?(E=this.B("selectedTabBackgroundColor","tabsBackgroundColor"),e(E).isUndefined()&&(E=this.B("backgroundColor"),E=e(E).isArray()&&0<E.length?w==q.Ya||w==q.yc?E[0]:E[E.length-1]:E),z.ma({backgroundOpacity:this.B("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:E,backgroundColorRatios:this.B("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.xe,fontSize:this.B("selectedTabFontSize","tabsFontSize"),fontColor:this.B("selectedTabFontColor",
"tabsFontColor"),fontWeight:this.B("selectedTabFontWeight","tabsFontWeight"),fontStyle:this.B("selectedTabFontStyle","tabsFontStyle"),textDecoration:this.B("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.B("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("selectedTabTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})):E?z.ma({backgroundOpacity:this.B("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.B("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:k.ye,fontSize:this.B("tabsRollOverFontSize","tabsFontSize"),fontColor:this.B("tabsRollOverFontColor","tabsFontColor"),
fontWeight:this.B("tabsRollOverFontWeight","tabsFontWeight"),fontStyle:this.B("tabsRollOverFontStyle","tabsFontStyle"),textDecoration:this.B("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.B("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.B("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsRollOverTextShadowBlurRadius",
"tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):z.ma({backgroundOpacity:this.B("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.B("tabsBackgroundColor"),backgroundColorRatios:this.B("tabsBackgroundColorRatios"),fontSize:this.B("tabsFontSize"),fontColor:this.B("tabsFontColor"),fontWeight:this.B("tabsFontWeight"),fontStyle:this.B("tabsFontStyle"),textDecoration:this.B("tabsTextDecoration"),textShadowColor:this.B("tabsTextShadowColor"),
textShadowHorizontalLength:this.B("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.B("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.B("tabsTextShadowBlurRadius"),textShadowOpacity:this.B("tabsTextShadowOpacity")}),z.ma({borderLeftSize:w==q.qb&&t?0:void 0,borderRightSize:w==q.Ya&&t?0:void 0,borderBottomSize:w==q.yc&&t?0:void 0,borderTopSize:w==q.rc&&t?0:void 0});if(u){y=this.B("tabsSize");switch(w){case q.Ya:this.Vg.ma({left:y-(this.B("borderLeftSize","borderSize")||0),right:0,
top:0,bottom:0});break;case q.qb:this.Vg.ma({left:0,right:y-(this.B("borderRightSize","borderSize")||0),top:0,bottom:0});break;case q.yc:this.Vg.ma({left:0,right:0,top:y-(this.B("borderTopSize","borderSize")||0),bottom:0});break;case q.rc:this.Vg.ma({left:0,right:0,top:0,bottom:y-(this.B("borderBottomSize","borderSize")||0)})}w==q.yc&&x==p.AL||w==q.Ya&&x==p.AL?this.Vg.set("borderTopLeftRadius",0):this.Vg.set("borderTopLeftRadius",this.B("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));
w==q.yc&&x==p.cG||w==q.qb&&x==p.AL?this.Vg.set("borderTopRightRadius",0):this.Vg.set("borderTopRightRadius",this.B("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));w==q.rc&&x==p.AL||w==q.Ya&&x==p.cG?this.Vg.set("borderBottomLeftRadius",0):this.Vg.set("borderBottomLeftRadius",this.B("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));w==q.rc&&x==p.cG||w==q.qb&&x==p.cG?this.Vg.set("borderBottomRightRadius",0):this.Vg.set("borderBottomRightRadius",
this.B("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Vg.ma({paddingLeft:this.B("pagePaddingLeft"),paddingTop:this.B("pagePaddingTop"),paddingRight:this.B("pagePaddingRight"),paddingBottom:this.B("pagePaddingBottom"),borderLeftSize:this.B("borderLeftSize","borderSize"),borderTopSize:this.B("borderTopSize","borderSize"),borderRightSize:this.B("borderRightSize","borderSize"),borderBottomSize:this.B("borderBottomSize","borderSize"),borderLeftColor:this.B("borderLeftColor",
"borderColor"),borderTopColor:this.B("borderTopColor","borderColor"),borderRightColor:this.B("borderRightColor","borderColor"),borderBottomColor:this.B("borderBottomColor","borderColor"),shadow:this.B("shadow"),shadowHorizontalLength:this.B("shadowHorizontalLength"),shadowVerticalLength:this.B("shadowVerticalLength"),shadowBlurRadius:this.B("shadowBlurRadius"),shadowSpread:this.B("shadowSpread"),shadowColor:this.B("shadowColor"),backgroundOpacity:this.B("backgroundOpacity"),backgroundColor:this.B("backgroundColor"),
backgroundColorRatios:this.B("backgroundColorRatios")});w==q.yc||w==q.rc?this.Vg.set("backgroundColorDirection",m.s5):this.Vg.set("backgroundColorDirection",m.S4)}if(v)for(y=0;y<this.Sj.length;y++)this.Sj[y].set("visible",y==this.Te);h.prototype.Za.call(this)};return a});define("op",["require","dc","nU"],function(a){var e=a("dc");return a("nU").define("TabPanel",e,function(){e.call(this)})});
define("gd",["require","lE","oz"],function(a){var e=a("lE"),l=a("oz");a=e.extend(l,function(){l.call(this);this.Fe("Page");this.set("label","")});a.prototype.vb=function(){l.prototype.vb.call(this);this.h("visible")};return a});define("hc",["require","gd","nU"],function(a){var e=a("gd");return a("nU").define("TabPanelPage",e,function(){e.call(this)})});define("gI",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("TargetPanoramaCameraMovement",e,function(){e.call(this)})});
define("dt",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("TargetRotationalCameraDisplayMovement",e,function(){e.call(this)})});define("ig",["require","mq","nU"],function(a){var e=a("mq");return a("nU").define("TiledImageResourceLevel",e,function(){e.call(this)})});define("nf",["require","nU","ip"],function(a){var e=a("nU"),l=a("ip");return e.define("TripodCapPanoramaOverlay",l,function(){l.call(this)})});
define("it","require lE y pf nk cT bd d iF mu gW oz mQ dz en".split(" "),function(a){var e=a("lE"),l=a("y"),m=a("pf"),k=a("nk"),b=a("cT"),h=a("bd"),g=a("d"),c=a("iF"),d=a("mu"),f=a("gW"),p=a("oz"),q=a("mQ"),n=a("dz"),r=a("en"),t=e.extend(p,function(){p.call(this);this.Ma=this.Ve=null;this.hC=[];this.set("ariaRole","option");this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.AB);this.set("cursor",h.ye)});t.prototype.vb=function(){p.prototype.vb.call(this);
this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.J7);this.h("sourceProperties");this.h("labelFunction",this.H7);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelMaxWidth");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.v("rollOverBackgroundOpacity",f.X,"backgroundOpacity");this.v("rollOverBackgroundColor",f.X,"backgroundColor");this.v("rollOverBackgroundColorRatios",f.X,"backgroundColorRatios");this.v("rollOverBackgroundColorDirection",f.X,"backgroundColorDirection");this.v("rollOverBorderRadius",f.X,"borderRadius");this.v("rollOverBorderTopRadius",f.X,"borderTopRadius");this.v("rollOverBorderBottomRadius",f.X,"borderBottomRadius");this.v("rollOverBorderLeftRadius",f.X,"borderLeftRadius");
this.v("rollOverBorderRightRadius",f.X,"borderRightRadius");this.v("rollOverBorderTopLeftRadius",f.X,"borderTopLeftRadius");this.v("rollOverBorderTopRightRadius",f.X,"borderTopRightRadius");this.v("rollOverBorderBottomLeftRadius",f.X,"borderBottomLeftRadius");this.v("rollOverBorderBottomRightRadius",f.X,"borderBottomRightRadius");this.v("rollOverBorderSize",f.X,"borderSize");this.v("rollOverBorderLeftSize",f.X,"borderLeftSize");this.v("rollOverBorderTopSize",f.X,"borderTopSize");this.v("rollOverBorderRightSize",
f.X,"borderRightSize");this.v("rollOverBorderBottomSize",f.X,"borderBottomSize");this.v("rollOverBorderColor",f.X,"borderColor");this.v("rollOverBorderLeftColor",f.X,"borderLeftColor");this.v("rollOverBorderTopColor",f.X,"borderTopColor");this.v("rollOverBorderRightColor",f.X,"borderRightColor");this.v("rollOverBorderBottomColor",f.X,"borderBottomColor");this.v("rollOverLabelFontColor",f.X,"labelFontColor");this.v("rollOverLabelFontSize",f.X,"labelFontSize");this.v("rollOverLabelFontStyle",f.X,"labelFontStyle");
this.v("rollOverLabelFontWeight",f.X,"labelFontWeight");this.v("rollOverLabelTextDecoration",f.X,"labelTextDecoration");this.v("rollOverLabelTextShadowColor",f.X,"labelTextShadowColor");this.v("rollOverLabelTextShadowHorizontalLength",f.X,"labelTextShadowHorizontalLength");this.v("rollOverLabelTextShadowVerticalLength",f.X,"labelTextShadowVerticalLength");this.v("rollOverLabelTextShadowBlurRadius",f.X,"labelTextShadowBlurRadius");this.v("rollOverLabelTextShadowOpacity",f.X,"labelTextShadowOpacity");
this.v("rollOverOpacity",f.X,"opacity");this.v("rollOverPaddingLeft",f.X,"paddingLeft");this.v("rollOverPaddingTop",f.X,"paddingTop");this.v("rollOverPaddingRight",f.X,"paddingRight");this.v("rollOverPaddingBottom",f.X,"paddingBottom");this.v("rollOverShadow",f.X,"shadow");this.v("rollOverThumbnailOpacity",f.X,"thumbnailOpacity");this.v("rollOverThumbnailBorderSize",f.X,"thumbnailBorderSize");this.v("rollOverThumbnailBorderColor",f.X,"thumbnailBorderColor");this.v("rollOverThumbnailShadow",f.X,"thumbnailShadow");
this.v("rollOverThumbnailShadowHorizontalLength",f.X,"thumbnailShadowHorizontalLength");this.v("rollOverThumbnailShadowVerticalLength",f.X,"thumbnailShadowVerticalLength");this.v("rollOverThumbnailShadowBlurRadius",f.X,"thumbnailShadowBlurRadius");this.v("rollOverThumbnailShadowSpread",f.X,"thumbnailShadowSpread");this.v("rollOverThumbnailShadowColor",f.X,"thumbnailShadowColor");this.v("rollOverThumbnailShadowOpacity",f.X,"thumbnailShadowOpacity");this.v("selectedBackgroundOpacity",f.ea,"backgroundOpacity");
this.v("selectedBackgroundColor",f.ea,"backgroundColor");this.v("selectedBackgroundColorRatios",f.ea,"backgroundColorRatios");this.v("selectedBackgroundColorDirection",f.ea,"backgroundColorDirection");this.v("selectedBorderRadius",f.ea,"borderRadius");this.v("selectedBorderTopRadius",f.ea,"borderTopRadius");this.v("selectedBorderBottomRadius",f.ea,"borderBottomRadius");this.v("selectedBorderLeftRadius",f.ea,"borderLeftRadius");this.v("selectedBorderRightRadius",f.ea,"borderRightRadius");this.v("selectedBorderTopLeftRadius",
f.ea,"borderTopLeftRadius");this.v("selectedBorderTopRightRadius",f.ea,"borderTopRightRadius");this.v("selectedBorderBottomLeftRadius",f.ea,"borderBottomLeftRadius");this.v("selectedBorderBottomRightRadius",f.ea,"borderBottomRightRadius");this.v("selectedBorderSize",f.ea,"borderSize");this.v("selectedBorderLeftSize",f.ea,"borderLeftSize");this.v("selectedBorderTopSize",f.ea,"borderTopSize");this.v("selectedBorderRightSize",f.ea,"borderRightSize");this.v("selectedBorderBottomSize",f.ea,"borderBottomSize");
this.v("selectedBorderColor",f.ea,"borderColor");this.v("selectedBorderLeftColor",f.ea,"borderLeftColor");this.v("selectedBorderTopColor",f.ea,"borderTopColor");this.v("selectedBorderRightColor",f.ea,"borderRightColor");this.v("selectedBorderBottomColor",f.ea,"borderBottomColor");this.v("selectedLabelFontColor",f.ea,"labelFontColor");this.v("selectedLabelFontSize",f.ea,"labelFontSize");this.v("selectedLabelFontStyle",f.ea,"labelFontStyle");this.v("selectedLabelFontWeight",f.ea,"labelFontWeight");
this.v("selectedLabelTextDecoration",f.ea,"labelTextDecoration");this.v("selectedLabelTextShadowColor",f.ea,"labelTextShadowColor");this.v("selectedLabelTextShadowHorizontalLength",f.ea,"labelTextShadowHorizontalLength");this.v("selectedLabelTextShadowVerticalLength",f.ea,"labelTextShadowVerticalLength");this.v("selectedLabelTextShadowBlurRadius",f.ea,"labelTextShadowBlurRadius");this.v("selectedLabelTextShadowOpacity",f.ea,"labelTextShadowOpacity");this.v("selectedOpacity",f.ea,"opacity");this.v("selectedPaddingLeft",
f.ea,"paddingLeft");this.v("selectedPaddingTop",f.ea,"paddingTop");this.v("selectedPaddingRight",f.ea,"paddingRight");this.v("selectedPaddingBottom",f.ea,"paddingBottom");this.v("selectedShadow",f.ea,"shadow");this.v("selectedThumbnailOpacity",f.ea,"thumbnailOpacity");this.v("selectedThumbnailBorderSize",f.ea,"thumbnailBorderSize");this.v("selectedThumbnailBorderColor",f.ea,"thumbnailBorderColor");this.v("selectedThumbnailShadow",f.ea,"thumbnailShadow");this.v("selectedThumbnailShadowHorizontalLength",
f.ea,"thumbnailShadowHorizontalLength");this.v("selectedThumbnailShadowVerticalLength",f.ea,"thumbnailShadowVerticalLength");this.v("selectedThumbnailShadowBlurRadius",f.ea,"thumbnailShadowBlurRadius");this.v("selectedThumbnailShadowSpread",f.ea,"thumbnailShadowSpread");this.v("selectedThumbnailShadowColor",f.ea,"thumbnailShadowColor");this.v("selectedThumbnailShadowOpacity",f.ea,"thumbnailShadowOpacity")};t.prototype.gT=function(u){this.FP(u)};t.prototype.Db=function(){p.prototype.Db.call(this);
this.Ve||(this.Ve=new q,this.Wa(this.Ve),this.Ve.set("horizontalAlign",k.Oe),this.Ve.set("verticalAlign",k.le),this.Ve.bind(m.Z,this.kda,this));this.Ma||(this.Ma=new n,this.Wa(this.Ma))};t.prototype.J7=function(u){if(r(u).isString())return u;if(u&&u.gja)return u.gja};t.prototype.H7=function(u){if(u&&u.label)return u.label};t.prototype.Ru=function(){return this.Ma&&this.Ma.get("text")||p.prototype.Ru.call(this)};t.prototype.Za=function(){if(this.K("sourceProperties")||this.K("item")){for(;this.hC.length;)this.hC.pop().$A();
var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.hC.push(l.bu(v,x,this.Iaa,this,!0))}.bind(this))}if(this.K("sourceProperties")||this.K("item")||this.K("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.K("sourceProperties")||this.K("item")||this.K("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Ve.get("url")!=u&&this.Ve.ma({url:u,visible:!0,opacity:.5}):this.Ve.ma({url:void 0,visible:!1}),
this.S("thumbnailUrlFunction");if(this.K("sourceProperties")||this.K("item")||this.K("labelFunction"))v=this.B("item"),u=this.B("labelFunction")(v),this.Ma.ma({text:u,visible:u?!0:!1}),this.S("labelFunction");this.S("item");this.S("sourceProperties");if(this.K("labelPosition")||this.K("listLayout")||this.K("thumbnailWidth")||this.K("thumbnailHeight")){var w=this;u=function(x,y){x=w.B(x);return void 0!==x?x:y};switch(this.B("labelPosition")){case c.Ya:case c.qb:this.set("layout",g.Ag);this.Ma.set("width",
"100%");this.Ve.ma({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",d.kk)});break;default:this.set("layout",g.Mh),this.Ma.set("width","100%"),this.Ve.ma({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode",d.kk)})}switch(this.B("labelPosition")){case c.Ya:case c.yc:this.On(this.Ma,0);break;default:this.On(this.Ma,1)}this.S("labelPosition")}this.pc(t.F5,t.Kla,[this],!0,!0);this.pc(t.H5,t.Nla,[this.Ve],!0,
!0);this.pc(t.G5,t.Mla,[this.Ma],!0,!0);p.prototype.Za.call(this)};t.prototype.Iaa=function(){this.YD("item")};t.prototype.VD=function(u){p.prototype.VD.call(this,u)};t.prototype.kda=function(){this.Ve.set("opacity",1)};t.Kla={labelGap:"gap"};t.F5=r(t.Kla).keys();t.Mla={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelHorizontalAlign:"horizontalAlign",labelMaxWidth:"maxWidth",labelTextDecoration:"textDecoration",
labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity"};t.G5=r(t.Mla).keys();t.Nla={thumbnailMaxWidth:"maxWidth",thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",
thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};t.H5=r(t.Nla).keys();return t});
define("bU","require lE cC nk pf d hY iF oz it jg".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nk"),k=a("pf"),b=a("d"),h=a("hY"),g=a("iF"),c=a("oz"),d=a("it"),f=a("jg"),p=e.extend(c,function(){c.call(this);this.set("contentOpaque",!0);this.set("ariaRole","listbox")});p.prototype.vb=function(){c.prototype.vb.call(this);this.h("layout",b.Zx);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",h.Jp);this.h("itemHorizontalAlign",m.Oe);this.h("itemLabelFontFamily");this.h("itemLabelPosition",
g.rc);this.h("itemLabelFunction");this.h("itemLabelMaxWidth");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.Oe);this.h("itemSourceProperties");this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemVerticalAlign",m.le);this.h("itemBackgroundOpacity");this.h("itemBackgroundColor");
this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");this.h("itemBorderBottomSize");
this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelMaxWidth");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};p.prototype.vN=function(q){this.So=!0;this.set("selectedIndex",this.Z8(q.source))};p.prototype.Z8=function(q){for(var n=this.jb(),r=0;r<n.length;r++)if(n[r]==q)return r;return-1};p.prototype.Za=function(){this.K("layout")&&this.B("layout")!=b.Zx&&this.set("layout",b.Zx);
var q=!1;if(this.K("items")){q=!0;var n=this.B("items")||[],r=this.jb();if(r.length<n.length){for(var t=r.length;t<n.length;t++)r=new d,r.bind(k.qa,this.vN,this),this.pc(p.ML,p.OB,[r],!1,!1),this.pc(p.NL,p.PB,[r],!1,!1),this.Wa(r);r=this.jb()}if(r.length>n.length){for(t=n.length;t<r.length;t++){var u=r[t];u.unbind(k.qa,this.vN,this);this.removeChild(u)}r=this.jb()}for(t=0;t<n.length;t++)r[t].set("item",n[t]);this.S("items")}if(this.K("selectedIndex")||q){n=this.jb();q=Math.min(n.length-1,Math.max(-1,
this.B("selectedIndex")));this.set("selectedIndex",q);for(t=0;t<n.length;t++)n[t].gT(t==q);this.S("selectedIndex");this.So&&(this.So=!1,this.trigger(new l(k.ca)))}this.pc(p.ML,p.OB,this.jb(),!0,!1);this.pc(p.NL,p.PB,this.jb(),!0,!0);c.prototype.Za.call(this)};p.prototype.fk=function(){c.prototype.fk.call(this);f.p_a(this,this.jb().map(function(q){return q.ce()}),this.Kl.Zua,this.Kl.tna)};p.OB={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",
shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};p.PB={itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelMaxWidth:"labelMaxWidth",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",
itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",
itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",
itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",
itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",
itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",
rollOverItemBorderRadius:"rollOverBorderRadius",rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",
rollOverItemBorderSize:"rollOverBorderSize",rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",
rollOverItemLabelFontColor:"rollOverLabelFontColor",rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",
rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",
rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",
selectedItemBackgroundOpacity:"selectedBackgroundOpacity",selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",
selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",
selectedItemBorderColor:"selectedBorderColor",selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",
selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",
selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",
selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",tabIndex:"tabIndex",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",
toolTipDisplayTime:"toolTipDisplayTime",toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",
toolTipShadowOpacity:"toolTipShadowOpacity",toolTipShadowSpread:"toolTipShadowSpread",toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};p.ML=Object.keys(p.OB);p.NL=Object.keys(p.PB);
return p});
define("kt","require pf bU nU jX ek bR".split(" "),function(a){var e=a("pf"),l=a("bU"),m=a("nU"),k=a("jX"),b=a("ek"),h=a("bR");a=m.define("ThumbnailGrid",l,function(){l.call(this);this.yd=null;this.set("itemMode","normal");this.iq=!1;this.eM=new k(this,"buttonScrollDown",b.ze);this.eM.bind(e.qa,this.MEa,this);this.fM=new k(this,"buttonScrollLeft",b.ze);this.fM.bind(e.qa,this.scrollLeft,this);this.gM=new k(this,"buttonScrollRight",b.ze);this.gM.bind(e.qa,this.NEa,this);this.hM=new k(this,"buttonScrollUp",
b.ze);this.hM.bind(e.qa,this.OEa,this);this.bind(e.ca,this.zTa,this)});a.prototype.fk=function(){l.prototype.fk.call(this);this.nE()};a.prototype.Hw=function(){l.prototype.Hw.call(this);this.nE()};a.prototype.nE=function(){this.eM.set("visible",!this.iq||this.TU());this.hM.set("visible",!this.iq||this.WU());this.fM.set("visible",!this.iq||this.UU());this.gM.set("visible",!this.iq||this.VU())};a.prototype.set=function(g,c){if("itemMode"==g)switch(c){case "thumbnail-only":this.set("itemLabelFunction",
this.Jv);this.set("itemThumbnailUrlFunction",this.xN);this.set("itemTooltipFunction",this.$C);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.$C);this.set("itemThumbnailUrlFunction",this.Jv);this.set("itemTooltipFunction",this.Jv);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.$C),this.set("itemThumbnailUrlFunction",this.xN),
this.set("itemTooltipFunction",this.Jv),this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==g?(this.yd&&this.yd.unbind("change",this.Zv,this),(this.yd=c)?(this.set("items",this.yd.get("items")),this.set("selectedIndex",this.yd.get("selectedIndex")),this.yd.bind("change",this.Zv,this,!0)):this.set("items",[])):"hideScrollButtons"==g?(this.iq=c,this.nE()):l.prototype.set.call(this,g,c)};a.prototype.get=function(g,c){switch(g){case "playList":return this.yd;
default:return l.prototype.get.call(this,g,c)}};a.prototype.Zv=function(){this.set("items",this.yd.get("items"));this.set("selectedIndex",this.yd.get("selectedIndex"))};a.prototype.zTa=function(){this.yd&&this.yd.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Jv=function(){};a.prototype.$C=function(g){return g.get("label")||g.get("media").get("label")};a.prototype.xN=function(g){g=g.get("media");var c=g.get("thumbnailUrl");g.get("flipImageHorizontally")&&(c=h.xya(c));return c};return a});
define("kP","require lE y pf nk cT bd d iF mu gW oz mQ dz en".split(" "),function(a){var e=a("lE"),l=a("y"),m=a("pf"),k=a("nk"),b=a("cT"),h=a("bd"),g=a("d"),c=a("iF"),d=a("mu"),f=a("gW"),p=a("oz"),q=a("mQ"),n=a("dz"),r=a("en"),t=e.extend(p,function(){p.call(this);this.Ma=this.Ve=null;this.hC=[];this.set("ariaRole","option");this.set("autoRolledOver",!0);this.set("childrenInteractionEnabled",!1);this.set("contentOpaque",!0);this.set("creationPolicy",b.AB);this.set("cursor",h.ye)});t.prototype.vb=function(){p.prototype.vb.call(this);
this.h("listLayout");this.h("overflow","hidden");this.h("item");this.h("thumbnailUrlFunction",this.J7);this.h("sourceProperties");this.h("labelFunction",this.H7);this.h("labelFontFamily");this.h("labelFontColor");this.h("labelFontSize");this.h("labelFontStyle");this.h("labelFontWeight");this.h("labelGap");this.h("labelHorizontalAlign");this.h("labelPosition");this.h("labelTextDecoration");this.h("labelTextShadowColor");this.h("labelTextShadowHorizontalLength");this.h("labelTextShadowVerticalLength");
this.h("labelTextShadowBlurRadius");this.h("labelTextShadowOpacity");this.h("thumbnailBorderRadius");this.h("thumbnailOpacity");this.h("thumbnailBorderSize");this.h("thumbnailBorderColor");this.h("thumbnailWidth");this.h("thumbnailHeight");this.h("thumbnailMaxWidth");this.h("thumbnailMaxHeight");this.h("thumbnailShadow");this.h("thumbnailShadowHorizontalLength");this.h("thumbnailShadowVerticalLength");this.h("thumbnailShadowBlurRadius");this.h("thumbnailShadowSpread");this.h("thumbnailShadowColor");
this.h("thumbnailShadowOpacity");this.v("rollOverBackgroundOpacity",f.X,"backgroundOpacity");this.v("rollOverBackgroundColor",f.X,"backgroundColor");this.v("rollOverBackgroundColorRatios",f.X,"backgroundColorRatios");this.v("rollOverBackgroundColorDirection",f.X,"backgroundColorDirection");this.v("rollOverBorderRadius",f.X,"borderRadius");this.v("rollOverBorderTopRadius",f.X,"borderTopRadius");this.v("rollOverBorderBottomRadius",f.X,"borderBottomRadius");this.v("rollOverBorderLeftRadius",f.X,"borderLeftRadius");
this.v("rollOverBorderRightRadius",f.X,"borderRightRadius");this.v("rollOverBorderTopLeftRadius",f.X,"borderTopLeftRadius");this.v("rollOverBorderTopRightRadius",f.X,"borderTopRightRadius");this.v("rollOverBorderBottomLeftRadius",f.X,"borderBottomLeftRadius");this.v("rollOverBorderBottomRightRadius",f.X,"borderBottomRightRadius");this.v("rollOverBorderSize",f.X,"borderSize");this.v("rollOverBorderLeftSize",f.X,"borderLeftSize");this.v("rollOverBorderTopSize",f.X,"borderTopSize");this.v("rollOverBorderRightSize",
f.X,"borderRightSize");this.v("rollOverBorderBottomSize",f.X,"borderBottomSize");this.v("rollOverBorderColor",f.X,"borderColor");this.v("rollOverBorderLeftColor",f.X,"borderLeftColor");this.v("rollOverBorderTopColor",f.X,"borderTopColor");this.v("rollOverBorderRightColor",f.X,"borderRightColor");this.v("rollOverBorderBottomColor",f.X,"borderBottomColor");this.v("rollOverLabelFontColor",f.X,"labelFontColor");this.v("rollOverLabelFontSize",f.X,"labelFontSize");this.v("rollOverLabelFontStyle",f.X,"labelFontStyle");
this.v("rollOverLabelFontWeight",f.X,"labelFontWeight");this.v("rollOverLabelTextDecoration",f.X,"labelTextDecoration");this.v("rollOverLabelTextShadowColor",f.X,"labelTextShadowColor");this.v("rollOverLabelTextShadowHorizontalLength",f.X,"labelTextShadowHorizontalLength");this.v("rollOverLabelTextShadowVerticalLength",f.X,"labelTextShadowVerticalLength");this.v("rollOverLabelTextShadowBlurRadius",f.X,"labelTextShadowBlurRadius");this.v("rollOverLabelTextShadowOpacity",f.X,"labelTextShadowOpacity");
this.v("rollOverOpacity",f.X,"opacity");this.v("rollOverPaddingLeft",f.X,"paddingLeft");this.v("rollOverPaddingTop",f.X,"paddingTop");this.v("rollOverPaddingRight",f.X,"paddingRight");this.v("rollOverPaddingBottom",f.X,"paddingBottom");this.v("rollOverShadow",f.X,"shadow");this.v("rollOverThumbnailOpacity",f.X,"thumbnailOpacity");this.v("rollOverThumbnailBorderSize",f.X,"thumbnailBorderSize");this.v("rollOverThumbnailBorderColor",f.X,"thumbnailBorderColor");this.v("rollOverThumbnailShadow",f.X,"thumbnailShadow");
this.v("rollOverThumbnailShadowHorizontalLength",f.X,"thumbnailShadowHorizontalLength");this.v("rollOverThumbnailShadowVerticalLength",f.X,"thumbnailShadowVerticalLength");this.v("rollOverThumbnailShadowBlurRadius",f.X,"thumbnailShadowBlurRadius");this.v("rollOverThumbnailShadowSpread",f.X,"thumbnailShadowSpread");this.v("rollOverThumbnailShadowColor",f.X,"thumbnailShadowColor");this.v("rollOverThumbnailShadowOpacity",f.X,"thumbnailShadowOpacity");this.v("selectedBackgroundOpacity",f.ea,"backgroundOpacity");
this.v("selectedBackgroundColor",f.ea,"backgroundColor");this.v("selectedBackgroundColorRatios",f.ea,"backgroundColorRatios");this.v("selectedBackgroundColorDirection",f.ea,"backgroundColorDirection");this.v("selectedBorderRadius",f.ea,"borderRadius");this.v("selectedBorderTopRadius",f.ea,"borderTopRadius");this.v("selectedBorderBottomRadius",f.ea,"borderBottomRadius");this.v("selectedBorderLeftRadius",f.ea,"borderLeftRadius");this.v("selectedBorderRightRadius",f.ea,"borderRightRadius");this.v("selectedBorderTopLeftRadius",
f.ea,"borderTopLeftRadius");this.v("selectedBorderTopRightRadius",f.ea,"borderTopRightRadius");this.v("selectedBorderBottomLeftRadius",f.ea,"borderBottomLeftRadius");this.v("selectedBorderBottomRightRadius",f.ea,"borderBottomRightRadius");this.v("selectedBorderSize",f.ea,"borderSize");this.v("selectedBorderLeftSize",f.ea,"borderLeftSize");this.v("selectedBorderTopSize",f.ea,"borderTopSize");this.v("selectedBorderRightSize",f.ea,"borderRightSize");this.v("selectedBorderBottomSize",f.ea,"borderBottomSize");
this.v("selectedBorderColor",f.ea,"borderColor");this.v("selectedBorderLeftColor",f.ea,"borderLeftColor");this.v("selectedBorderTopColor",f.ea,"borderTopColor");this.v("selectedBorderRightColor",f.ea,"borderRightColor");this.v("selectedBorderBottomColor",f.ea,"borderBottomColor");this.v("selectedLabelFontColor",f.ea,"labelFontColor");this.v("selectedLabelFontSize",f.ea,"labelFontSize");this.v("selectedLabelFontStyle",f.ea,"labelFontStyle");this.v("selectedLabelFontWeight",f.ea,"labelFontWeight");
this.v("selectedLabelTextDecoration",f.ea,"labelTextDecoration");this.v("selectedLabelTextShadowColor",f.ea,"labelTextShadowColor");this.v("selectedLabelTextShadowHorizontalLength",f.ea,"labelTextShadowHorizontalLength");this.v("selectedLabelTextShadowVerticalLength",f.ea,"labelTextShadowVerticalLength");this.v("selectedLabelTextShadowBlurRadius",f.ea,"labelTextShadowBlurRadius");this.v("selectedLabelTextShadowOpacity",f.ea,"labelTextShadowOpacity");this.v("selectedOpacity",f.ea,"opacity");this.v("selectedPaddingLeft",
f.ea,"paddingLeft");this.v("selectedPaddingTop",f.ea,"paddingTop");this.v("selectedPaddingRight",f.ea,"paddingRight");this.v("selectedPaddingBottom",f.ea,"paddingBottom");this.v("selectedShadow",f.ea,"shadow");this.v("selectedThumbnailOpacity",f.ea,"thumbnailOpacity");this.v("selectedThumbnailBorderSize",f.ea,"thumbnailBorderSize");this.v("selectedThumbnailBorderColor",f.ea,"thumbnailBorderColor");this.v("selectedThumbnailShadow",f.ea,"thumbnailShadow");this.v("selectedThumbnailShadowHorizontalLength",
f.ea,"thumbnailShadowHorizontalLength");this.v("selectedThumbnailShadowVerticalLength",f.ea,"thumbnailShadowVerticalLength");this.v("selectedThumbnailShadowBlurRadius",f.ea,"thumbnailShadowBlurRadius");this.v("selectedThumbnailShadowSpread",f.ea,"thumbnailShadowSpread");this.v("selectedThumbnailShadowColor",f.ea,"thumbnailShadowColor");this.v("selectedThumbnailShadowOpacity",f.ea,"thumbnailShadowOpacity")};t.prototype.gT=function(u){this.FP(u)};t.prototype.Db=function(){p.prototype.Db.call(this);
this.Ve||(this.Ve=new q,this.Wa(this.Ve),this.Ve.set("horizontalAlign",k.Oe),this.Ve.set("verticalAlign",k.le),this.Ve.bind(m.Z,this.kda,this));this.Ma||(this.Ma=new n,this.Wa(this.Ma))};t.prototype.J7=function(u){if(r(u).isString())return u;if(u&&u.gja)return u.gja};t.prototype.H7=function(u){if(u&&u.label)return u.label};t.prototype.Ru=function(){return this.Ma&&this.Ma.get("text")||p.prototype.Ru.call(this)};t.prototype.Za=function(){if(this.K("sourceProperties")||this.K("item")){for(;this.hC.length;)this.hC.pop().$A();
var u=this.B("sourceProperties"),v=this.B("item");u&&v&&u.forEach(function(x){this.hC.push(l.bu(v,x,this.Iaa,this,!0))}.bind(this))}if(this.K("sourceProperties")||this.K("item")||this.K("tooltipFunction"))v=this.B("item"),u=this.B("tooltipFunction")(v),this.set("toolTip",u);if(this.K("sourceProperties")||this.K("item")||this.K("thumbnailUrlFunction"))v=this.B("item"),(u=this.B("thumbnailUrlFunction")(v))?this.Ve.get("url")!=u&&this.Ve.ma({url:u,visible:!0,opacity:.5}):this.Ve.ma({url:void 0,visible:!1}),
this.S("thumbnailUrlFunction");if(this.K("sourceProperties")||this.K("item")||this.K("labelFunction"))v=this.B("item"),u=this.B("labelFunction")(v),this.Ma.ma({text:u,visible:u?!0:!1}),this.S("labelFunction");this.S("sourceProperties");this.S("item");if(this.K("listLayout"))switch(this.B("listLayout")){case g.Mh:this.ma({width:"100%",height:void 0});break;default:this.ma({height:"100%",width:void 0})}if(this.K("labelPosition")||this.K("listLayout")||this.K("thumbnailWidth")||this.K("thumbnailHeight")){var w=
this;u=function(x,y){x=w.B(x);void 0===x&&(x=y);return x};switch(this.B("labelPosition")){case c.Ya:case c.qb:this.set("layout",g.Ag);this.Ma.set("width","100%");switch(this.B("listLayout")){case g.Mh:this.Ve.ma({height:u("thumbnailHeight"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",d.kk)});break;default:this.Ve.ma({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",d.kk)})}break;default:switch(this.set("layout",g.Mh),this.Ma.set("width",
void 0),this.B("listLayout")){case g.Mh:this.Ve.ma({height:u("thumbnailHeight"),width:u("thumbnailWidth","100%"),scaleMode:u("thumbnailScaleMode",d.Cp)});break;default:this.Ve.ma({height:u("thumbnailHeight","100%"),width:u("thumbnailWidth"),scaleMode:u("thumbnailScaleMode",d.kk)})}}switch(this.B("labelPosition")){case c.Ya:case c.yc:this.On(this.Ma,0);break;default:this.On(this.Ma,1)}this.S("labelPosition")}this.S("listLayout");this.pc(t.F5,t.wG,[this],!0,!0);this.pc(t.H5,t.wG,[this.Ve],!0,!0);this.pc(t.G5,
t.wG,[this.Ma],!0,!0);p.prototype.Za.call(this)};t.prototype.Iaa=function(){this.YD("item")};t.prototype.VD=function(u){p.prototype.VD.call(this,u)};t.prototype.kda=function(){this.Ve.set("opacity",1)};t.F5=["labelGap"];t.H5="thumbnailBorderColor thumbnailBorderRadius thumbnailBorderSize thumbnailMaxWidth thumbnailMaxHeight thumbnailOpacity thumbnailShadow thumbnailShadowHorizontalLength thumbnailShadowVerticalLength thumbnailShadowBlurRadius thumbnailShadowSpread thumbnailShadowColor thumbnailShadowOpacity".split(" ");
t.G5="labelFontFamily labelFontColor labelFontSize labelFontStyle labelFontWeight labelHorizontalAlign labelTextDecoration labelTextShadowColor labelTextShadowHorizontalLength labelTextShadowVerticalLength labelTextShadowBlurRadius labelTextShadowOpacity".split(" ");t.wG={labelFontFamily:"fontFamily",labelFontColor:"fontColor",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelGap:"gap",labelHorizontalAlign:"horizontalAlign",labelTextDecoration:"textDecoration",
labelTextShadowColor:"textShadowColor",labelTextShadowHorizontalLength:"textShadowHorizontalLength",labelTextShadowVerticalLength:"textShadowVerticalLength",labelTextShadowBlurRadius:"textShadowBlurRadius",labelTextShadowOpacity:"textShadowOpacity",thumbnailMaxWidth:"maxWidth",thumbnailMaxHeight:"maxHeight",thumbnailBorderRadius:"borderRadius",thumbnailOpacity:"opacity",thumbnailBorderSize:"borderSize",thumbnailBorderColor:"borderColor",thumbnailShadow:"shadow",thumbnailShadowHorizontalLength:"shadowHorizontalLength",
thumbnailShadowVerticalLength:"shadowVerticalLength",thumbnailShadowBlurRadius:"shadowBlurRadius",thumbnailShadowSpread:"shadowSpread",thumbnailShadowColor:"shadowColor",thumbnailShadowOpacity:"shadowOpacity"};return t});
define("L","require lE cC nk pf d hY iF oz kP jg".split(" "),function(a){var e=a("lE"),l=a("cC"),m=a("nk"),k=a("pf"),b=a("d"),h=a("hY"),g=a("iF"),c=a("oz"),d=a("kP"),f=a("jg"),p=e.extend(c,function(){c.call(this);this.set("ariaRole","listbox");this.set("contentOpaque",!0);this.bind(k.D("selectedIndex"),this.lVa,this);this.bind(k.oc,this.PXa,this)});p.prototype.vb=function(){c.prototype.vb.call(this);this.h("layout",b.Ag);this.h("selectedIndex",-1);this.h("items",[]);this.h("overflow",h.Jp);this.h("itemHorizontalAlign",
m.Oe);this.h("itemLabelFontFamily");this.h("itemLabelPosition",g.rc);this.h("itemLabelFunction");this.h("itemLabelGap");this.h("itemLabelHorizontalAlign",m.Oe);this.h("itemThumbnailBorderRadius");this.h("itemThumbnailScaleMode");this.h("itemThumbnailWidth");this.h("itemThumbnailHeight");this.h("itemThumbnailMaxWidth");this.h("itemThumbnailMaxHeight");this.h("itemThumbnailUrlFunction");this.h("itemTooltipFunction");this.h("itemSourceProperties");this.h("itemVerticalAlign",m.le);this.h("itemBackgroundOpacity");
this.h("itemBackgroundColor");this.h("itemBackgroundColorRatios");this.h("itemBackgroundColorDirection");this.h("itemBorderRadius");this.h("itemBorderTopRadius");this.h("itemBorderBottomRadius");this.h("itemBorderLeftRadius");this.h("itemBorderRightRadius");this.h("itemBorderTopLeftRadius");this.h("itemBorderTopRightRadius");this.h("itemBorderBottomLeftRadius");this.h("itemBorderBottomRightRadius");this.h("itemBorderSize");this.h("itemBorderLeftSize");this.h("itemBorderTopSize");this.h("itemBorderRightSize");
this.h("itemBorderBottomSize");this.h("itemBorderColor");this.h("itemBorderLeftColor");this.h("itemBorderTopColor");this.h("itemBorderRightColor");this.h("itemBorderBottomColor");this.h("itemLabelFontColor");this.h("itemLabelFontSize");this.h("itemLabelFontStyle");this.h("itemLabelFontWeight");this.h("itemLabelTextDecoration");this.h("itemLabelTextShadowColor");this.h("itemLabelTextShadowHorizontalLength");this.h("itemLabelTextShadowVerticalLength");this.h("itemLabelTextShadowBlurRadius");this.h("itemLabelTextShadowOpacity");
this.h("itemOpacity");this.h("itemPaddingLeft");this.h("itemPaddingTop");this.h("itemPaddingRight");this.h("itemPaddingBottom");this.h("itemShadow");this.h("itemThumbnailOpacity");this.h("itemThumbnailBorderSize");this.h("itemThumbnailBorderColor");this.h("itemThumbnailShadow");this.h("itemThumbnailShadowHorizontalLength");this.h("itemThumbnailShadowVerticalLength");this.h("itemThumbnailShadowBlurRadius");this.h("itemThumbnailShadowSpread");this.h("itemThumbnailShadowColor");this.h("itemThumbnailShadowOpacity");
this.h("rollOverItemBackgroundOpacity");this.h("rollOverItemBackgroundColor");this.h("rollOverItemBackgroundColorRatios");this.h("rollOverItemBackgroundColorDirection");this.h("rollOverItemBorderRadius");this.h("rollOverItemBorderTopRadius");this.h("rollOverItemBorderBottomRadius");this.h("rollOverItemBorderLeftRadius");this.h("rollOverItemBorderRightRadius");this.h("rollOverItemBorderTopLeftRadius");this.h("rollOverItemBorderTopRightRadius");this.h("rollOverItemBorderBottomLeftRadius");this.h("rollOverItemBorderBottomRightRadius");
this.h("rollOverItemBorderSize");this.h("rollOverItemBorderLeftSize");this.h("rollOverItemBorderTopSize");this.h("rollOverItemBorderRightSize");this.h("rollOverItemBorderBottomSize");this.h("rollOverItemBorderColor");this.h("rollOverItemBorderLeftColor");this.h("rollOverItemBorderTopColor");this.h("rollOverItemBorderRightColor");this.h("rollOverItemBorderBottomColor");this.h("rollOverItemLabelFontSize");this.h("rollOverItemLabelFontStyle");this.h("rollOverItemLabelFontWeight");this.h("rollOverItemLabelTextDecoration");
this.h("rollOverItemLabelTextShadowColor");this.h("rollOverItemLabelTextShadowHorizontalLength");this.h("rollOverItemLabelTextShadowVerticalLength");this.h("rollOverItemLabelTextShadowBlurRadius");this.h("rollOverItemLabelTextShadowOpacity");this.h("rollOverItemOpacity");this.h("rollOverItemPaddingLeft");this.h("rollOverItemPaddingTop");this.h("rollOverItemPaddingRight");this.h("rollOverItemPaddingBottom");this.h("rollOverItemShadow");this.h("rollOverItemThumbnailOpacity");this.h("rollOverItemThumbnailBorderSize");
this.h("rollOverItemThumbnailBorderColor");this.h("rollOverItemThumbnailShadow");this.h("rollOverItemThumbnailShadowHorizontalLength");this.h("rollOverItemThumbnailShadowVerticalLength");this.h("rollOverItemThumbnailShadowBlurRadius");this.h("rollOverItemThumbnailShadowSpread");this.h("rollOverItemThumbnailShadowColor");this.h("rollOverItemThumbnailShadowOpacity");this.h("selectedItemBackgroundOpacity");this.h("selectedItemBackgroundColor");this.h("selectedItemBackgroundColorRatios");this.h("selectedItemBackgroundColorDirection");
this.h("selectedItemBorderRadius");this.h("selectedItemBorderTopRadius");this.h("selectedItemBorderBottomRadius");this.h("selectedItemBorderLeftRadius");this.h("selectedItemBorderRightRadius");this.h("selectedItemBorderTopLeftRadius");this.h("selectedItemBorderTopRightRadius");this.h("selectedItemBorderBottomLeftRadius");this.h("selectedItemBorderBottomRightRadius");this.h("selectedItemBorderSize");this.h("selectedItemBorderLeftSize");this.h("selectedItemBorderTopSize");this.h("selectedItemBorderRightSize");
this.h("selectedItemBorderBottomSize");this.h("selectedItemBorderColor");this.h("selectedItemBorderLeftColor");this.h("selectedItemBorderTopColor");this.h("selectedItemBorderRightColor");this.h("selectedItemBorderBottomColor");this.h("selectedItemLabelFontSize");this.h("selectedItemLabelFontStyle");this.h("selectedItemLabelFontWeight");this.h("selectedItemLabelTextDecoration");this.h("selectedItemLabelTextShadowColor");this.h("selectedItemLabelTextShadowHorizontalLength");this.h("selectedItemLabelTextShadowVerticalLength");
this.h("selectedItemLabelTextShadowBlurRadius");this.h("selectedItemLabelTextShadowOpacity");this.h("selectedItemOpacity");this.h("selectedItemPaddingLeft");this.h("selectedItemPaddingTop");this.h("selectedItemPaddingRight");this.h("selectedItemPaddingBottom");this.h("selectedItemShadow");this.h("selectedItemThumbnailOpacity");this.h("selectedItemThumbnailBorderSize");this.h("selectedItemThumbnailBorderColor");this.h("selectedItemThumbnailShadow");this.h("selectedItemThumbnailShadowHorizontalLength");
this.h("selectedItemThumbnailShadowVerticalLength");this.h("selectedItemThumbnailShadowBlurRadius");this.h("selectedItemThumbnailShadowSpread");this.h("selectedItemThumbnailShadowColor");this.h("selectedItemThumbnailShadowOpacity")};p.prototype.vN=function(q){this.So=!0;this.set("selectedIndex",this.Z8(q.source))};p.prototype.lVa=function(){this.jva()};p.prototype.PXa=function(){setTimeout(function(){this.jva()}.bind(this),100)};p.prototype.jva=function(){var q=this.get("selectedIndex"),n=this.jb();
0<=q&&q<n.length&&this.scrollIntoView(n[q])};p.prototype.Z8=function(q){for(var n=this.jb(),r=0;r<n.length;r++)if(n[r]==q)return r;return-1};p.prototype.Za=function(){var q=!1;if(this.K("layout")){q=!0;var n=this.B("layout");n!=b.Mh&&n!=b.Ag&&this.set("layout",b.Ag)}n=!1;if(this.K("items")){n=!0;var r=this.B("items")||[],t=this.jb();if(t.length<r.length){for(var u=t.length;u<r.length;u++)t=new d,t.bind(k.qa,this.vN,this),this.pc(p.ML,p.OB,[t],!1,!1),this.pc(p.NL,p.PB,[t],!1,!1),this.Wa(t);t=this.jb()}if(t.length>
r.length){for(u=r.length;u<t.length;u++){var v=t[u];v.unbind(k.qa,this.vN,this);this.removeChild(v)}t=this.jb()}for(u=0;u<r.length;u++)t[u].set("item",r[u]);this.S("items")}if(this.K("selectedIndex")||n){r=this.jb();t=Math.min(r.length-1,Math.max(-1,this.B("selectedIndex")));this.set("selectedIndex",t);for(u=0;u<r.length;u++)r[u].gT(u==t);this.S("selectedIndex");this.So&&(this.So=!1,this.trigger(new l(k.ca)))}if(q||n)this.B("layout")==b.Ag?f.s_a(this,this.jb().map(function(w){return w.ce()})):f.Cya(this,
this.jb().map(function(w){return w.ce()}));this.pc(p.ML,p.OB,this.jb(),!0,!1);this.pc(p.NL,p.PB,this.jb(),!0,!0);c.prototype.Za.call(this)};p.OB={layout:"listLayout",shadowHorizontalLength:"shadowHorizontalLength",shadowVerticalLength:"shadowVerticalLength",shadowBlurRadius:"shadowBlurRadius",shadowSpread:"shadowSpread",shadowOpacity:"shadowOpacity",shadowColor:"shadowColor"};p.PB={itemHorizontalAlign:"horizontalAlign",itemLabelFunction:"labelFunction",itemLabelFontFamily:"labelFontFamily",itemLabelGap:"labelGap",
itemLabelHorizontalAlign:"labelHorizontalAlign",itemLabelPosition:"labelPosition",itemSourceProperties:"sourceProperties",itemThumbnailBorderRadius:"thumbnailBorderRadius",itemThumbnailScaleMode:"thumbnailScaleMode",itemThumbnailHeight:"thumbnailHeight",itemThumbnailWidth:"thumbnailWidth",itemThumbnailMaxHeight:"thumbnailMaxHeight",itemThumbnailMaxWidth:"thumbnailMaxWidth",itemThumbnailUrlFunction:"thumbnailUrlFunction",itemTooltipFunction:"tooltipFunction",itemVerticalAlign:"verticalAlign",itemBackgroundOpacity:"backgroundOpacity",
itemBackgroundColor:"backgroundColor",itemBackgroundColorRatios:"backgroundColorRatios",itemBackgroundColorDirection:"backgroundColorDirection",itemBorderRadius:"borderRadius",itemBorderTopRadius:"borderTopRadius",itemBorderBottomRadius:"borderBottomRadius",itemBorderLeftRadius:"borderLeftRadius",itemBorderRightRadius:"borderRightRadius",itemBorderTopLeftRadius:"borderTopLeftRadius",itemBorderTopRightRadius:"borderTopRightRadius",itemBorderBottomLeftRadius:"borderBottomLeftRadius",itemBorderBottomRightRadius:"borderBottomRightRadius",
itemBorderSize:"borderSize",itemBorderLeftSize:"borderLeftSize",itemBorderTopSize:"borderTopSize",itemBorderRightSize:"borderRightSize",itemBorderBottomSize:"borderBottomSize",itemBorderColor:"borderColor",itemBorderLeftColor:"borderLeftColor",itemBorderTopColor:"borderTopColor",itemBorderRightColor:"borderRightColor",itemBorderBottomColor:"borderBottomColor",itemLabelFontColor:"labelFontColor",itemLabelFontSize:"labelFontSize",itemLabelFontStyle:"labelFontStyle",itemLabelFontWeight:"labelFontWeight",
itemLabelTextDecoration:"labelTextDecoration",itemLabelTextShadowColor:"labelTextShadowColor",itemLabelTextShadowHorizontalLength:"labelTextShadowHorizontalLength",itemLabelTextShadowVerticalLength:"labelTextShadowVerticalLength",itemLabelTextShadowBlurRadius:"labelTextShadowBlurRadius",itemLabelTextShadowOpacity:"labelTextShadowOpacity",itemOpacity:"opacity",itemPaddingLeft:"paddingLeft",itemPaddingTop:"paddingTop",itemPaddingRight:"paddingRight",itemPaddingBottom:"paddingBottom",itemShadow:"shadow",
itemThumbnailOpacity:"thumbnailOpacity",itemThumbnailBorderSize:"thumbnailBorderSize",itemThumbnailBorderColor:"thumbnailBorderColor",itemThumbnailShadow:"thumbnailShadow",itemThumbnailShadowHorizontalLength:"thumbnailShadowHorizontalLength",itemThumbnailShadowVerticalLength:"thumbnailShadowVerticalLength",itemThumbnailShadowBlurRadius:"thumbnailShadowBlurRadius",itemThumbnailShadowSpread:"thumbnailShadowSpread",itemThumbnailShadowColor:"thumbnailShadowColor",itemThumbnailShadowOpacity:"thumbnailShadowOpacity",
rollOverItemBackgroundOpacity:"rollOverBackgroundOpacity",rollOverItemBackgroundColor:"rollOverBackgroundColor",rollOverItemBackgroundColorRatios:"rollOverBackgroundColorRatios",rollOverItemBackgroundColorDirection:"rollOverBackgroundColorDirection",rollOverItemBorderRadius:"rollOverBorderRadius",rollOverItemBorderTopRadius:"rollOverBorderTopRadius",rollOverItemBorderBottomRadius:"rollOverBorderBottomRadius",rollOverItemBorderLeftRadius:"rollOverBorderLeftRadius",rollOverItemBorderRightRadius:"rollOverBorderRightRadius",
rollOverItemBorderTopLeftRadius:"rollOverBorderTopLeftRadius",rollOverItemBorderTopRightRadius:"rollOverBorderTopRightRadius",rollOverItemBorderBottomLeftRadius:"rollOverBorderBottomLeftRadius",rollOverItemBorderBottomRightRadius:"rollOverBorderBottomRightRadius",rollOverItemBorderSize:"rollOverBorderSize",rollOverItemBorderLeftSize:"rollOverBorderLeftSize",rollOverItemBorderTopSize:"rollOverBorderTopSize",rollOverItemBorderRightSize:"rollOverBorderRightSize",rollOverItemBorderBottomSize:"rollOverBorderBottomSize",
rollOverItemBorderColor:"rollOverBorderColor",rollOverItemBorderLeftColor:"rollOverBorderLeftColor",rollOverItemBorderTopColor:"rollOverBorderTopColor",rollOverItemBorderRightColor:"rollOverBorderRightColor",rollOverItemBorderBottomColor:"rollOverBorderBottomColor",rollOverItemLabelFontColor:"rollOverLabelFontColor",rollOverItemLabelFontSize:"rollOverLabelFontSize",rollOverItemLabelFontStyle:"rollOverLabelFontStyle",rollOverItemLabelFontWeight:"rollOverLabelFontWeight",rollOverItemLabelTextDecoration:"rollOverLabelTextDecoration",
rollOverItemLabelTextShadowColor:"rollOverLabelTextShadowColor",rollOverItemLabelTextShadowHorizontalLength:"rollOverLabelTextShadowHorizontalLength",rollOverItemLabelTextShadowVerticalLength:"rollOverLabelTextShadowVerticalLength",rollOverItemLabelTextShadowBlurRadius:"rollOverLabelTextShadowBlurRadius",rollOverItemLabelTextShadowOpacity:"rollOverLabelTextShadowOpacity",rollOverItemOpacity:"rollOverOpacity",rollOverItemPaddingLeft:"rollOverPaddingLeft",rollOverItemPaddingTop:"rollOverPaddingTop",
rollOverItemPaddingRight:"rollOverPaddingRight",rollOverItemPaddingBottom:"rollOverPaddingBottom",rollOverItemShadow:"rollOverShadow",rollOverItemThumbnailOpacity:"rollOverThumbnailOpacity",rollOverItemThumbnailBorderSize:"rollOverThumbnailBorderSize",rollOverItemThumbnailBorderColor:"rollOverThumbnailBorderColor",rollOverItemThumbnailShadow:"rollOverThumbnailShadow",rollOverItemThumbnailShadowHorizontalLength:"rollOverThumbnailShadowHorizontalLength",rollOverItemThumbnailShadowVerticalLength:"rollOverThumbnailShadowVerticalLength",
rollOverItemThumbnailShadowBlurRadius:"rollOverThumbnailShadowBlurRadius",rollOverItemThumbnailShadowSpread:"rollOverThumbnailShadowSpread",rollOverItemThumbnailShadowColor:"rollOverThumbnailShadowColor",rollOverItemThumbnailShadowOpacity:"rollOverThumbnailShadowOpacity",selectedItemBackgroundOpacity:"selectedBackgroundOpacity",selectedItemBackgroundColor:"selectedBackgroundColor",selectedItemBackgroundColorRatios:"selectedBackgroundColorRatios",selectedItemBackgroundColorDirection:"selectedBackgroundColorDirection",
selectedItemBorderRadius:"selectedBorderRadius",selectedItemBorderTopRadius:"selectedBorderTopRadius",selectedItemBorderBottomRadius:"selectedBorderBottomRadius",selectedItemBorderLeftRadius:"selectedBorderLeftRadius",selectedItemBorderRightRadius:"selectedBorderRightRadius",selectedItemBorderTopLeftRadius:"selectedBorderTopLeftRadius",selectedItemBorderTopRightRadius:"selectedBorderTopRightRadius",selectedItemBorderBottomLeftRadius:"selectedBorderBottomLeftRadius",selectedItemBorderBottomRightRadius:"selectedBorderBottomRightRadius",
selectedItemBorderSize:"selectedBorderSize",selectedItemBorderLeftSize:"selectedBorderLeftSize",selectedItemBorderTopSize:"selectedBorderTopSize",selectedItemBorderRightSize:"selectedBorderRightSize",selectedItemBorderBottomSize:"selectedBorderBottomSize",selectedItemBorderColor:"selectedBorderColor",selectedItemBorderLeftColor:"selectedBorderLeftColor",selectedItemBorderTopColor:"selectedBorderTopColor",selectedItemBorderRightColor:"selectedBorderRightColor",selectedItemBorderBottomColor:"selectedBorderBottomColor",
selectedItemLabelFontColor:"selectedLabelFontColor",selectedItemLabelFontSize:"selectedLabelFontSize",selectedItemLabelFontStyle:"selectedLabelFontStyle",selectedItemLabelFontWeight:"selectedLabelFontWeight",selectedItemLabelTextDecoration:"selectedLabelTextDecoration",selectedItemLabelTextShadowColor:"selectedLabelTextShadowColor",selectedItemLabelTextShadowHorizontalLength:"selectedLabelTextShadowHorizontalLength",selectedItemLabelTextShadowVerticalLength:"selectedLabelTextShadowVerticalLength",
selectedItemLabelTextShadowBlurRadius:"selectedLabelTextShadowBlurRadius",selectedItemLabelTextShadowOpacity:"selectedLabelTextShadowOpacity",selectedItemOpacity:"selectedOpacity",selectedItemPaddingLeft:"selectedPaddingLeft",selectedItemPaddingTop:"selectedPaddingTop",selectedItemPaddingRight:"selectedPaddingRight",selectedItemPaddingBottom:"selectedPaddingBottom",selectedItemShadow:"selectedShadow",selectedItemThumbnailOpacity:"selectedThumbnailOpacity",selectedItemThumbnailBorderSize:"selectedThumbnailBorderSize",
selectedItemThumbnailBorderColor:"selectedThumbnailBorderColor",selectedItemThumbnailShadow:"selectedThumbnailShadow",selectedItemThumbnailShadowHorizontalLength:"selectedThumbnailShadowHorizontalLength",selectedItemThumbnailShadowVerticalLength:"selectedThumbnailShadowVerticalLength",selectedItemThumbnailShadowBlurRadius:"selectedThumbnailShadowBlurRadius",selectedItemThumbnailShadowSpread:"selectedThumbnailShadowSpread",selectedItemThumbnailShadowColor:"selectedThumbnailShadowColor",selectedItemThumbnailShadowOpacity:"selectedThumbnailShadowOpacity",
tabIndex:"tabIndex",toolTipBackgroundColor:"toolTipBackgroundColor",toolTipBackgroundOpacity:"toolTipBackgroundOpacity",toolTipBorderRadius:"toolTipBorderRadius",toolTipBorderColor:"toolTipBorderColor",toolTipBorderSize:"toolTipBorderSize",toolTipDisplayTime:"toolTipDisplayTime",toolTipFontFamily:"toolTipFontFamily",toolTipFontSize:"toolTipFontSize",toolTipFontColor:"toolTipFontColor",toolTipFontWeight:"toolTipFontWeight",toolTipFontStyle:"toolTipFontStyle",toolTipPaddingBottom:"toolTipPaddingBottom",
toolTipPaddingLeft:"toolTipPaddingLeft",toolTipPaddingTop:"toolTipPaddingTop",toolTipPaddingRight:"toolTipPaddingRight",toolTipShadowBlurRadius:"toolTipShadowBlurRadius",toolTipShadowColor:"toolTipShadowColor",toolTipShadowHorizontalLength:"toolTipShadowHorizontalLength",toolTipShadowOpacity:"toolTipShadowOpacity",toolTipShadowSpread:"toolTipShadowSpread",toolTipShadowVerticalLength:"toolTipShadowVerticalLength",toolTipOpacity:"toolTipOpacity",toolTipTextShadowBlurRadius:"toolTipTextShadowBlurRadius",
toolTipTextShadowColor:"toolTipTextShadowColor",toolTipTextShadowHorizontalLength:"toolTipTextShadowHorizontalLength",toolTipTextShadowOpacity:"toolTipTextShadowOpacity",toolTipTextShadowVerticalLength:"toolTipTextShadowVerticalLength"};p.ML=Object.keys(p.OB);p.NL=Object.keys(p.PB);return p});
define("hF","require pf L nU jX ek bR".split(" "),function(a){var e=a("pf"),l=a("L"),m=a("nU"),k=a("jX"),b=a("ek"),h=a("bR");a=m.define("ThumbnailList",l,function(){l.call(this);this.yd=null;this.iq=!1;this.eM=new k(this,"buttonScrollDown",b.ze);this.eM.bind(e.qa,this.MEa,this);this.fM=new k(this,"buttonScrollLeft",b.ze);this.fM.bind(e.qa,this.scrollLeft,this);this.gM=new k(this,"buttonScrollRight",b.ze);this.gM.bind(e.qa,this.NEa,this);this.hM=new k(this,"buttonScrollUp",b.ze);this.hM.bind(e.qa,
this.OEa,this);this.bind(e.ca,this.ATa,this)});a.prototype.fk=function(){l.prototype.fk.call(this);this.nE()};a.prototype.Hw=function(){l.prototype.Hw.call(this);this.nE()};a.prototype.nE=function(){this.eM.set("visible",!this.iq||this.TU());this.hM.set("visible",!this.iq||this.WU());this.fM.set("visible",!this.iq||this.UU());this.gM.set("visible",!this.iq||this.VU())};a.prototype.set=function(g,c){if("itemMode"==g)switch(c){case "thumbnail-only":this.set("itemLabelFunction",this.Jv);this.set("itemThumbnailUrlFunction",
this.xN);this.set("itemTooltipFunction",this.$C);this.set("itemSourceProperties",["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"]);break;case "label-only":this.set("itemLabelFunction",this.$C);this.set("itemThumbnailUrlFunction",this.Jv);this.set("itemTooltipFunction",this.Jv);this.set("itemSourceProperties",["label","media.label"]);break;default:this.set("itemLabelFunction",this.$C),this.set("itemThumbnailUrlFunction",this.xN),this.set("itemTooltipFunction",this.Jv),this.set("itemSourceProperties",
["label","media.label","media.thumbnailUrl","media.flipImageHorizontally"])}else"playList"==g?(this.yd&&this.yd.unbind("change",this.Zv,this),(this.yd=c)?(this.set("items",this.yd.get("items")),this.yd.bind("change",this.Zv,this)):this.set("items",[])):"hideScrollButtons"==g?(this.iq=c,this.nE()):l.prototype.set.call(this,g,c)};a.prototype.get=function(g,c){switch(g){case "playList":return this.yd;default:return l.prototype.get.call(this,g,c)}};a.prototype.Zv=function(){this.set("items",this.yd.get("items"));
this.set("selectedIndex",this.yd.get("selectedIndex"))};a.prototype.ATa=function(){this.yd&&this.yd.set("selectedIndex",this.get("selectedIndex"))};a.prototype.Jv=function(){};a.prototype.$C=function(g){return g.get("label")||g.get("media").get("label")};a.prototype.xN=function(g){g=g.get("media");var c=g.get("thumbnailUrl");g.get("flipImageHorizontally")&&(c=h.xya(c));return c};return a});define("bZ",["require","e","nU"],function(a){var e=a("e");return a("nU").define("UIComponent",e,function(){e.call(this)})});
define("iI",["require","nU","eu"],function(a){var e=a("nU"),l=a("eu");a=e.define("Video",l,function(){l.call(this);this.ya=void 0});a.prototype.Mt=function(){this.get("video");return[]};return a});define("hl",["require","nU","fh"],function(a){var e=a("nU"),l=a("fh");return e.define("VideoPanorama",l,function(){l.call(this)})});
define("jQ",["require","mh","nU"],function(a){var e=a("mh");a=a("nU").define("Video360Resource",e,function(){e.call(this)});a.prototype.get=function(l,m){if(void 0===m)switch(l){case "gain":m=1}switch(l){case "levels":m=[this];break;case "subtitlesURL":case "gain":for(var k=e.prototype.get.call(this,l),b=this.get("levels"),h=0;b&&h<b.length&&void 0===k;h++){var g=b[h];g!=this&&(k=g.get(l))}return void 0!==k?k:m}return e.prototype.get.call(this,l,m)};return a});
define("dG",["require","nU","mt","hl","jQ"],function(a){var e=a("nU"),l=a("mt"),m=a("hl"),k=a("jQ");a=e.define("Video360",m,function(){m.call(this);this.xo=this.pJ=this.wb=void 0});a.prototype.set=function(b,h){"video"==b?this.eLa(h):"videoStereo"==b?this.fLa(h):m.prototype.set.call(this,b,h)};a.prototype.get=function(b,h){return"video"==b?void 0!==this.wb?this.wb:h:"videoStereo"==b?void 0!==this.pJ?this.pJ:h:m.prototype.get.call(this,b,h)};a.prototype.eLa=function(b){this.wb!=b&&(this.wb=b,b=m.prototype.get.call(this,
"frames")||[],this.wb&&(0==b.length&&b.push(new l),b[0].set("sphere",this.Cra(this.wb))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.fLa=function(b){this.pJ!=b&&(this.pJ=b,b=m.prototype.get.call(this,"frames")||[],this.pJ&&(0==b.length&&b.push(new l),b[0].set("stereoSphere",this.Cra(this.pJ))),m.prototype.set.call(this,"frames",b.slice()))};a.prototype.Cra=function(b){if(Array.isArray(b)){if(0==b.length)return;if(1==b.length&&e.Ia("Video360Resource",b[0]))return b[0];var h=[];b.forEach(function(g){h=
h.concat(g.get("levels")||[g])});b=new k;b.set("levels",h)}return b};return a});define("bQ",["require","nU","oK"],function(a){var e=a("nU"),l=a("oK");return e.define("Video360Player",l,function(){l.call(this)})});
define("kp",["require","nU","dh","iy"],function(a){var e=a("nU"),l=a("dh"),m=a("iy");a=e.define("Video360PlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(l.hh,this.tn,this),k.set("video",this.get("media")),k.set("camera",this.get("camera")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(l.hh,this.tn,this),k.get("video")==this.get("media")&&k.set("video",
null));m.prototype.stop.call(this)};a.prototype.tn=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.hh,this.tn,this),this.get("player").bind(l.Im,this.Dq,this),this.kA())};a.prototype.Dq=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.Im,this.Dq,this),this.stop(),this.end())};return a});define("oT",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("Video360ResourceLevel",e,function(){e.call(this)})});
define("fY",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("VideoCue",e,function(){e.call(this)})});
define("ci","require mh pf lg cC nU kE".split(" "),function(a){var e=a("mh"),l=a("pf"),m=a("lg"),k=a("cC"),b=a("nU"),h=a("kE");a=b.define("VideoPanoramaOverlay",e,function(){e.call(this);this.jd=void 0});a.prototype.play=a.prototype.play=function(){this.set("state",m.Y)};a.prototype.pause=a.prototype.pause=function(){this.set("state",m.Ib)};a.prototype.stop=a.prototype.stop=function(){this.set("state",m.W)};a.prototype.set=function(g,c){var d=!1;switch(g){case "state":var f=this.get("state")||m.W;
f==m.W&&c==m.Y&&this.trigger(l.Un);f!=c&&this.trigger(new k(l.se,{oldState:f,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "hfov":case "opacity":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.jd=void 0,d=!0}e.prototype.set.call(this,g,c);d&&"playbackPositions"!=g&&this.trigger(l.D("playbackPositions"))};a.prototype.get=function(g,c){switch(g){case "playbackPositions":return void 0===
this.jd&&(this.jd=h.oga(this)),this.jd}return e.prototype.get.call(this,g,c)};return a});define("if",["require","nU","pz"],function(a){var e=a("nU"),l=a("pz");return e.define("VideoPlaneModel3DObject",l,function(){l.call(this)})});
define("du","require en lE pf cC gv lg".split(" "),function(a){function e(c,d,f){this.time=c;this.cue=d;this.action=f}var l=a("en"),m=a("lE"),k=a("pf"),b=a("cC"),h=a("gv"),g=a("lg");a=m.extend(h,function(c){h.call(this);this.j=c;this.Ic=null;this.Ik=!1;this.$i=[];this.Um=void 0;this.Ae=[]});a.prototype.clear=function(){this.j=null;this.kC();this.$i=[];this.Ae=[]};a.prototype.start=function(c){this.end();this.rca(c);this.m7();this.Uca();this.sE()};a.prototype.rca=function(c){this.kC();this.Ic=c;this.Ic.bind(k.D("currentTime"),
this.sE,this,!0);this.Ic.bind(k.D("state"),this.Uca,this,!0);this.Ic.bind(k.Bb,this.GQ,this,!0)};a.prototype.kC=function(){this.Ic&&(this.Ic.unbind(k.D("currentTime"),this.sE,this),this.Ic.unbind(k.D("state"),this.Uca,this),this.Ic.unbind(k.Bb,this.GQ,this),this.Ic=null)};a.prototype.end=function(){this.iM();this.kC();this.Ik=!1};a.prototype.Uca=function(c){c=c!=g.W;this.Ik!=c&&((this.Ik=c)?this.RZ():this.iM())};a.prototype.GQ=function(){this.sE()};a.prototype.RZ=function(){this.Um=this.ZG=0};a.prototype.sE=
function(){if(this.Ic&&this.Ik){var c=this.Ae.slice(),d=this.Ic.get("currentTime",0),f=d-this.ZG;0>f&&(this.Ae=[],this.Um=0);f=0<=f&&2>f;this.ZG=d;var p;for(p=this.Um;p<this.$i.length&&!(this.$i[p].time>d);p++);for(;this.Um<p;this.Um++)d=this.$i[this.Um],"start"==d.action?(this.Ae=l(this.Ae).union([d.cue]),f&&d.cue.trigger(new b(k.rp))):(this.Ae=l(this.Ae).difference([d.cue]),f&&d.cue.trigger(new b(k.Bb)));c.length==this.Ae.length&&l(c).intersection(this.Ae).length==this.Ae.length||this.pQ()}};a.prototype.iM=
function(){0<this.Ae.length&&(this.Ae=[],this.pQ())};a.prototype.pQ=function(){this.Ic.trigger(new b(k.hk,{activeCues:this.Ae.slice()}))};a.prototype.m7=function(){this.$i=[];var c=this.Ic.get("cues",[]);l(c).each(function(d){this.$i.push(new e(d.get("startTime",0),d,"start"));this.$i.push(new e(d.get("endTime",Number.POSITIVE_INFINITY),d,"end"))},this);this.$i.sort(function(d,f){return d.time==f.time?d.action==f.start?0:"start"==d.action?-1:1:d.time-f.time})};return a});
define("nX","require lE bi cC gv pf mu".split(" "),function(a){var e=a("lE"),l=a("bi"),m=a("cC"),k=a("gv");a("pf");a("mu");var b=e.extend(k,function(h,g){k.call(this);this.L=h;this.j=g;this.AD=[];this.ra=b.Nh;this.wi=null;this.N7=void 0;this.cj=null;this.jm=this.Zg=void 0});b.prototype.display=function(h,g){this.R6();if(this.cj!=h||this.ra!=b.Nh)this.AD.push({video:h,startTime:g}),this.Zsa()};b.prototype.hide=function(){this.R6();this.AD.push({video:null,startTime:void 0});this.Zsa()};b.prototype.clear=
function(){this.ra=b.Nh;this.R6();this.CUa();this.Hua();this.j=null};b.prototype.Ng=function(h){this.ra==b.Nh||this.ra!=b.tl&&this.ra!=b.ls&&this.ra!=b.Lu||(this.jm+=h,h=Math.min(1,this.jm/this.Zg),this.ra==b.tl?(this.wi.set("opacity",h),this.L.bc.NK(h)):this.ra==b.Lu?(this.wi.set("opacity",Math.min(1,2*h)),this.cj.set("opacity",Math.min(1,2*(1-h)))):this.L.bc.yF(h),this.jm<this.Zg?this.Oa():this.Sy())};b.prototype.Zsa=function(){0<this.AD.length&&this.ra==b.Nh&&this.Sp()};b.prototype.Sp=function(){this.cj&&
this.trigger(new m(b.wB,{video:this.cj}));if("fade_out_fade_in"==this.L.get("transitionMode","blending")&&this.cj)this.uy();else{var h=this.AD.shift();this.wi=h.video;this.N7=h.startTime;this.wi?this.wi.get("chromaColor")&&this.cj?this.v6():this.ZL():this.cj&&this.uy()}};b.prototype.ZL=function(){this.ema();this.jm=0;this.Zg=this.L.get("transitionDuration");this.ra=b.tl;this.L.bc.bL();this.j.mb(!0);this.Oa()};b.prototype.v6=function(){this.ema();this.jm=0;this.Zg=2*this.L.get("transitionDuration");
this.ra=b.Lu;this.Oa()};b.prototype.uy=function(){this.wi=null;this.jm=0;this.Zg=this.L.get("transitionDuration");this.ra=b.ls;this.L.bc.HF();this.cj.set("opacity",0);this.j.mb(!1);this.Oa()};b.prototype.Sy=function(){this.Hua();this.cj=this.wi;this.wi=null;this.ra==b.ls?this.L.bc.IE():this.ra==b.tl&&this.L.bc.OJ();this.ra=b.Nh;this.cj?this.trigger(new m(b.xB,{video:this.cj})):0==this.AD.length&&this.trigger(new m(b.Pja));0!=this.AD.length&&this.Sp()};b.prototype.Oa=function(){l.requestFrame(this.Ng,
this)};b.prototype.R6=function(){this.AD=[]};b.prototype.ema=function(){this.wi&&(this.wi.set("opacity",0),this.wi.set("zIndex",1),this.cj&&this.cj.set("zIndex",0),this.wi.set("currentTime",this.N7||0),this.j.C_a(this.wi),this.trigger(new m(b.L4,{video:this.wi,startTime:this.N7})))};b.prototype.Hua=function(){this.cj&&(this.j.xEa(this.cj),this.trigger(new m(b.ST,{video:this.cj})),this.cj=null)};b.prototype.CUa=function(){this.wi&&(this.j.xEa(this.wi),this.trigger(new m(b.ST,{video:this.wi})),this.wi=
null)};b.Nh="stopped";b.tl="blending";b.Lu="double blending";b.ls="disolving";b.Gb="request frame";b.L4="video added";b.ST="video removed";b.xB="video show";b.wB="video hide";b.Pja="all pending videos hidden";return b});
define("jB","require lE pf cC gv lg".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("cC"),k=a("gv"),b=a("lg"),h=e.extend(k,function(){k.call(this);this.Ic=null;this.qf=!1;this.A7=b.W});h.prototype.start=function(g){this.end();this.rca(g)};h.prototype.end=function(){this.stop();this.kC()};h.prototype.clear=function(){this.kC()};h.prototype.play=function(){this.Ic&&this.Ic.set("state",b.Y)};h.prototype.pause=function(){this.Ic&&this.Ic.set("state",b.Ib)};h.prototype.hja=function(){this.Ic&&(this.Ic.get("state")==
b.Y?this.pause():this.play())};h.prototype.stop=function(){this.Ic&&this.Ic.set("state",b.W)};h.prototype.Nf=function(g){this.qf=g;this.Ic&&this.Ic.set("mute",this.qf)};h.prototype.setTime=function(g){this.Ic&&this.Ic.set("currentTime",g)};h.prototype.getTime=function(){if(this.Ic)return this.Ic.get("currentTime")};h.prototype.rca=function(g){this.kC();this.Ic=g;this.Ic.set("mute",this.qf);this.Ic.bind(l.D("state"),this.WI,this,!0);this.Ic.bind(l.D("currentTime"),this.tE,this,!0);this.Ic.bind(l.Bb,
this.GQ,this,!0)};h.prototype.kC=function(){this.Ic&&(this.Ic.unbind(l.D("state"),this.WI,this),this.Ic.unbind(l.D("currentTime"),this.tE,this),this.Ic.unbind(l.Bb,this.GQ,this),this.Ic=null)};h.prototype.tE=function(){this.trigger(new m(h.yB,{video:this.Ic,time:this.Ic.get("currentTime"),duration:this.Ic.get("duration")}))};h.prototype.GQ=function(){this.trigger(new m(h.vL,{video:this.Ic}))};h.prototype.WI=function(){var g=this.Ic.get("state");this.A7!=g&&(this.A7=g,this.trigger(new m(h.Gc,{state:this.A7})))};
h.Gc="playback state change";h.vL="video end";h.yB="video time change";return h});
define("oq","require lE lg cC gv du nX jB".split(" "),function(a){var e=a("lE"),l=a("lg"),m=a("cC"),k=a("gv"),b=a("du"),h=a("nX"),g=a("jB"),c=e.extend(k,function(d,f){k.call(this);this.L=d;this.j=f;this.j.set("visible",!1);this.La=new h(this.L,this.j);this.Ja=new g(this.j);this.$p=new b(this.j);this.La.bind(h.wB,this.Dq,this,!0);this.La.bind(h.xB,this.tn,this,!0);this.La.bind(h.L4,this.Hta,this,!0);this.La.bind(h.ST,this.Ita,this,!0);this.La.bind(h.Pja,this.vSa,this,!0);this.Ja.bind(g.Gc,this.df,
this,!0);this.Ja.bind(g.vL,this.Cz,this,!0);this.Ja.bind(g.yB,this.OO,this,!0)});c.prototype.clear=function(){this.La.clear();this.Ja.clear();this.$p.clear();this.La.unbind(h.wB,this.Dq,this);this.La.unbind(h.xB,this.tn,this);this.La.unbind(h.L4,this.Hta,this);this.La.unbind(h.ST,this.Ita,this);this.Ja.unbind(g.Gc,this.df,this);this.Ja.unbind(g.vL,this.Cz,this);this.Ja.unbind(g.yB,this.OO,this);this.L=this.j=this.$p=this.Ja=this.La=null};c.prototype.V2=function(d,f){this.j.set("visible",!0);this.La.display(d,
f)};c.prototype.tx=function(){this.La.hide();this.Ja.end();this.$p.end()};c.prototype.play=function(){this.Ja.play()};c.prototype.stop=function(){this.Ja.stop()};c.prototype.pause=function(){this.Ja.pause()};c.prototype.Nf=function(d){this.Ja.Nf(d)};c.prototype.setTime=function(d){this.Ja.setTime(d)};c.prototype.getTime=function(){return this.Ja.getTime()};c.prototype.hja=function(){this.Ja.hja()};c.prototype.Hta=function(d){var f=d.data.video;this.Ja.start(f,d.data.startTime);this.$p.start(f)};c.prototype.Ita=
function(){};c.prototype.tn=function(d){d=d.data.video;d.get("autoplay")&&d.get("state")!=l.Y&&d.get("state")!=l.Ib&&d.set("state",l.Y);this.trigger(new m(c.xB,{video:d}))};c.prototype.Dq=function(d){this.trigger(new m(c.wB,{video:d.data.video}))};c.prototype.vSa=function(){this.j.set("visible",!1)};c.prototype.Cz=function(d){this.trigger(new m(c.vL,{video:d.data.video}))};c.prototype.OO=function(d){this.trigger(new m(c.yB,{video:d.data.video,time:d.data.time,duration:d.data.duration}))};c.prototype.df=
function(d){this.trigger(new m(c.Gc,{state:d.data.state}))};c.xB="videoShow";c.wB="videoHide";c.vL="videoEnd";c.yB="videoTimeChange";c.Gc="playbackStateChange";return c});
define("oP","require lE pf bd e dY".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("bd"),k=a("e"),b=a("dY");a=e.extend(k,function(h,g,c){k.call(this);this.uc=h;this.L=g;this.da=c;this.set("toolTipDisabled",!0);this.set("cursor",m.pu);this.bind(l.oc,this.Bc,this,!0);this.rI=new b.Jka;this.rI.zia(b.Jka.Q4);this.rI.Bf(this.EY=!1);[this.rI.Yc()].forEach(function(d,f){this.Pb().append(d);d.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden","z-index":f})}.bind(this))});a.prototype.Dia=
function(h,g){this.EY!=h&&(this.EY=h,this.rI.ZEa(g),this.rI.Bf(h))};a.prototype.Bc=function(){this.FZ=!0;this.rI.setSize(this.Xa(),this.yb())};return a});
define("mz","require lE pf bd d oz fK gw oP".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("bd"),k=a("d"),b=a("oz"),h=a("fK"),g=a("gw"),c=a("oP");a=e.extend(b,function(d,f,p){b.call(this);this.uc=d;this.L=f;this.da=p;this.Fe("Renderer");this.set("toolTipDisabled",!0);this.set("cursor",m.pu);this.set("layout",k.DT);this.T=!0;this.hc=this.Va=this.sd=null;this.I_=[];this.HQ=[];this.bind(l.oc,this.Bc,this,!0);this.wQ()});a.prototype.Db=function(){b.prototype.Db.call(this);null==this.sd&&(this.sd=
new g(this.uc,this.L,!1),this.sd.ma({left:0,top:0,right:0,bottom:0}),this.Wa(this.sd),this.sd.K2(this.da.get("useVideoFrameRate")?2:void 0),this.wNa(),this.QMa(),this.I_.forEach(function(d){this.Jna(d)}.bind(this)));null==this.hc&&(this.hc=new c(this.uc,this.L,this.da),this.hc.ma({left:0,top:0,right:0,bottom:0}),this.Wa(this.hc),this.wQ())};a.prototype.C_a=function(d){this.I_.push(d);this.sd&&this.Jna(d)};a.prototype.mb=function(d){this.T!=d&&(this.T=d,this.Va&&(this.Va.I(h.Scene).enabled=d))};a.prototype.wNa=
function(){this.Va=this.sd.gd("Scene");var d=this.Va.J(h.Scene);d.backgroundColor="transparent";d.outputEncoding="srgb";d.enabled=this.T;this.sd.zya(this.Va)};a.prototype.QMa=function(){this.Eb=this.sd.gd("Camera");var d=this.Eb.J(h.OrthographicCamera);d.width=this.uf();d.height=this.tf();this.Eb.J(h.nb).N=this.Va;this.Va.I(h.Scene).hb=this.Eb};a.prototype.Bc=function(){if(this.Eb){var d=this.Eb.I(h.OrthographicCamera);d.width=this.uf();d.height=this.tf()}};a.prototype.Jna=function(d){var f=this.sd.gd("Video");
f.J(h.nb).N=this.Va;f.J(h.Mesh).properties=d;var p=f.J(h.my);p.properties=d;p.hb=this.Eb;p=f.J(h.Xn);p.properties=d;p.wja=d.get("video");p.P=d;this.HQ.push(f);this.sd.K2(this.da.get("useVideoFrameRate")&&45>this.GQa(d)?2:void 0);this.wQ()};a.prototype.xEa=function(d){d=this.I_.indexOf(d);0>d||(this.I_.splice(d,1),this.sd&&this.QNa(this.HQ[d]))};a.prototype.QNa=function(d){var f=this.HQ.indexOf(d);0>f||(this.HQ.splice(f,1),this.sd.We(d),this.wQ())};a.prototype.Dia=function(d){this.EY=d;this.wQ()};
a.prototype.wQ=function(){this.hc&&this.hc.Dia(this.EY&&0<this.HQ.length)};a.prototype.GQa=function(d){d=d.get("video");return(d&&d.get("levels")||[]).reduce(function(f,p){return Math.max(f,p.get("framerate"))},0)||30};return a});
define("ly","require lE pf bn nU iL lg oq mz jg".split(" "),function(a){var e=a("lE"),l=a("pf"),m=a("bn"),k=a("nU"),b=a("iL"),h=a("lg"),g=a("oq"),c=a("mz"),d=a("jg");a=k.define("VideoPlayer",b,function(){b.call(this,"video");this.rD=this.rD.bind(this);this.bq=this.QZ=this.tE=this.fi=!1;this.M=this.j=null;this.Ob=this.gf=0;this.dn=!1;this.Dd=e.ip(this.$g,this)});a.prototype.seek=function(f){this.SD(f)};a.prototype.play=function(){this.wD()};a.prototype.pause=function(){this.vD()};a.prototype.stop=
function(){this.Az()};a.prototype.restart=function(){this.zz()};a.prototype.set=function(f,p){if(this.get(f)!=p){switch(f){case "startTime":this.QZ=!0;this.Dd();break;case "video":this.tE=!0;this.Dd();break;case "viewerArea":this.fi=!0;this.Dd();break;case "displayPlaybackBar":this.bq=!0,this.Dd()}b.prototype.set.call(this,f,p)}};a.prototype.get=function(f,p){switch(f){case "currentTime":return this.M&&this.M.getTime()||0}return b.prototype.get.call(this,f,p)};a.prototype.np=function(f){this.dn!==
f&&((this.dn=f)?document.addEventListener("keydown",this.rD,!0):document.removeEventListener("keydown",this.rD,!0))};a.prototype.rD=function(f){d.bp()||(f.code==m.ja.lG||f.code==m.ja.LT)&&this.M&&this.M.hja()};a.prototype.$g=function(){this.fi&&(this.fi=!1,this.jv(),this.get("viewerArea")&&this.gv(),this.IP(this.get("viewerArea")),this.tE=!0);var f=!1;if(this.j&&(this.tE||this.QZ)){var p=this.get("video"),q=this.get("startTime")||0;if(p&&!this.j.ob()){this.Dd();return}this.QZ=this.tE=!1;this.Ob=this.gf=
0;f=!0;p?(this.get("viewerArea").bc.n8a(),this.sF(),this.M.V2(p,q)):this.M.tx()}this.bq&&(this.bq=!1,f=!0);f&&this.Iw()};a.prototype.YI=function(){this.set("video",null)};a.prototype.gv=function(){var f=this.get("application"),p=this.get("viewerArea");this.j=new c(f,p,this);this.j.ma({left:0,top:0,bottom:0,right:0});p.Wa(this.j);p.bind(l.qa,this.Mta,this,!0);this.M=new g(p,this.j);this.M.bind(g.xB,this.tn,this);this.M.bind(g.wB,this.Dq,this);this.M.bind(g.yB,this.OO,this,!0);this.M.bind(g.Gc,this.df,
this);f.bind(l.D("mute"),this.xO,this);this.M.Nf(f.get("mute",!1));this.Wz(!0)};a.prototype.jv=function(){if(this.j){this.M.unbind(g.xB,this.tn,this);this.M.unbind(g.wB,this.Dq,this);this.M.unbind(g.yB,this.OO,this);this.M.unbind(g.Gc,this.df,this);this.M.clear();this.get("application").unbind(l.D("mute"),this.xO,this);var f=this.j.getParent();f.removeChild(this.j);f.unbind(l.qa,this.Mta,this,!0);this.j=null;this.Wz(!1)}};a.prototype.xO=function(){this.j&&this.M.Nf(this.get("application").get("mute",
!1))};a.prototype.df=function(f){f=f.data.state;this.j&&this.j.Dia(this.get("displayPlayOverlay")&&f!=h.Y,.5>this.gf);this.qd(f)};a.prototype.tn=function(f){var p=this.get("viewerArea");(this.Xd=p&&p.Xd)&&this.Xd.bind(l.qa,this.Nta,this,!0);this.kba=!1;this.RN(f.data.video)};a.prototype.Dq=function(f){this.Xd&&this.Xd.unbind(l.qa,this.Nta,this,!0);this.Xd=null;this.QN(f.data.video)};a.prototype.OO=function(f){this.gf=f.data.time;this.Ob=f.data.duration;this.Iw()};a.prototype.Mta=function(){if(this.kba)this.kba=
!1;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=h.Y?this.M.play():this.M.pause()}};a.prototype.Nta=function(){this.kba=!0};a.prototype.YO=function(f){this.SD(f.data.position)};a.prototype.Gk=function(){this.M.play()};a.prototype.Lo=function(){this.M.stop()};a.prototype.Fq=function(){this.M.pause()};a.prototype.SD=function(f){this.M&&this.M.setTime(f)};a.prototype.Iw=function(){if(this.j){var f=this.j.getParent();0<this.Ob&&this.get("displayPlaybackBar")?f.ma({playbackBarPosition:this.gf,
playbackBarDuration:this.Ob,playbackBarVisible:!0}):f.set("playbackBarVisible",!1)}};return a});
define("bb",["require","nU","dh","iy"],function(a){var e=a("nU"),l=a("dh"),m=a("iy");a=e.define("VideoPlayListItem",m,function(){m.call(this)});a.prototype.start=function(){m.prototype.start.call(this);var k=this.get("player");k&&(k.bind(l.hh,this.tn,this),k.set("video",this.get("media")),k.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var k=this.get("player");k&&(k.unbind(l.hh,this.tn,this),k.get("video")==this.get("media")&&k.set("video",null));m.prototype.stop.call(this)};
a.prototype.tn=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.hh,this.tn,this),this.get("player").bind(l.Im,this.Dq,this),this.kA())};a.prototype.Dq=function(k){k.data.media==this.get("media")&&(this.get("player").unbind(l.Im,this.Dq,this),this.stop(),this.end())};return a});define("hL",["require","mh","nU"],function(a){var e=a("mh");return a("nU").define("VideoResourceLevel",e,function(){e.call(this)})});
define("eB",["require","mh","nU","lY","hL"],function(a){var e=a("mh"),l=a("nU"),m=a("lY"),k=a("hL");a=l.define("VideoResource",e,function(){e.call(this);this.iaa=new k;this.iaa.set("type","video/mp4");this.laa=new k;this.laa.set("type","video/ogg");this.Kea=new k;this.Kea.set("type","video/webm")});a.prototype.get=function(b,h){switch(b){case "levels":h=[];var g=this.get("mp4Url");g&&(this.iaa.set("url",g),h.push(this.iaa));if(g=this.get("oggUrl"))this.laa.set("url",g),h.push(this.laa);if(g=this.get("webmUrl"))this.Kea.set("url",
g),h.push(this.Kea);h.forEach(function(c){c.set("width",this.get("width"));c.set("height",this.get("height"))}.bind(this))}return e.prototype.get.call(this,b,h)};a.prototype.Pi=function(){var b=this.get("webmUrl"),h=this.get("oggUrl"),g=this.get("mp4Url");return g&&m.e1?g:b&&m.xga?b:h&&m.wga?h:g||b||h};return a});define("dC",["require","nU","fn"],function(a){var e=a("nU"),l=a("fn");return e.define("VignetteModel3DPostprocessing",l,function(){l.call(this)})});
define("dR","require jquery.mod lE pf v mB e gM".split(" "),function(a){var e=a("jquery.mod"),l=a("lE"),m=a("pf"),k=a("v"),b=a("mB"),h=a("e"),g=a("gM");a=l.extend(h,function(){h.call(this);this.Fe("WebFrame");this.IN=this.zC=this.Ac=this.be=null;this.zaa=this.zaa.bind(this);this.KX=this.KX.bind(this);this.bind(m.bd,this.ITa,this,!0);this.bind(m.Tc,this.HTa,this,!0)});a.prototype.vb=function(){h.prototype.vb.call(this);this.h("url");this.h("backgroundColor","#ffffff");this.h("insetBorder",!1);this.h("scrollEnabled",
!0);this.h("unloadWhenHidden",!0)};a.prototype.ITa=function(){this.YD("url")};a.prototype.HTa=function(){this.YD("url")};a.prototype.Db=function(){h.prototype.Db.call(this);this.be||(this.be=e("<div></div>"),this.be.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"}),this.Pb().append(this.be));this.Ac||(this.Ac=e("<iframe></iframe>"),this.Ac.css({position:"absolute",left:0,top:0}),this.Ac.attr("allowfullscreen","true"),this.Ac.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"),
this.be.append(this.Ac));this.zC||(this.zC=e("<div></div>"),this.zC.css({"text-shadow":"0 0 5px rgba(255,255,255,0.5)",display:"none",color:"#000000","font-weight":"300","font-family":"Tahoma, Geneva, sans-serif","font-size":k.lb()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"}),this.be.append(this.zC))};a.prototype.Za=function(){if(this.K("url")){var c=this.B("url");c&&this.fz?this.xva(c):(!c||this.get("unloadWhenHidden"))&&
this.xva("");this.S("url")}this.K("insetBorder")&&(this.B("insetBorder")?this.Ac.attr("frameborder","1"):this.Ac.attr("frameborder","0"),this.S("insetBorder"));this.K("scrollEnabled")&&(this.B("scrollEnabled")?(this.Ac.attr("scrolling","auto"),this.be.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})):(this.Ac.attr("scrolling","no"),this.be.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})),this.S("scrollEnabled"));h.prototype.Za.call(this)};a.prototype.gh=function(){this.Ac&&
g.css(this.Ac.get(0),{width:this.na+"px",height:this.wa+"px"});h.prototype.gh.call(this)};a.prototype.refresh=function(){this.B("url")&&this.fz&&(this.G9(),this.Ey(),this.Dda(),this.Ac.attr("src",""),setTimeout(function(){this.hwa();this.Hma();this.Ac.attr("src",this.B("url"))}.bind(this),30))};a.prototype.xva=function(c){this.Ac.attr("src")!=c&&(this.G9(),c?(this.hwa(),this.Hma()):(this.Ey(),this.Dda()),this.Ac.attr("src",c))};a.prototype.zaa=function(){this.IN=null;this.FRa()&&this.SWa()};a.prototype.KX=
function(){this.G9();this.Ey();this.Dda()};a.prototype.Hma=function(){this.Ac.on("load",this.KX)};a.prototype.Dda=function(){this.Ac.off("load",this.KX)};a.prototype.Ey=function(){this.IN&&(clearTimeout(this.IN),this.IN=null)};a.prototype.hwa=function(){this.Ey();this.IN=setTimeout(this.zaa.bind(this),3E3)};a.prototype.FRa=function(){if("https:"==window.location.protocol){var c=this.Ac.attr("src");if("https:"!=b.parse(c).protocol)return!0}return!1};a.prototype.SWa=function(){this.zC.text("A secure web page served over HTTPS can not display insecure content served over HTTP.");
this.zC.show()};a.prototype.G9=function(){this.zC.hide()};return a});define("cr",["require","dR","nU"],function(a){var e=a("dR");a=a("nU").define("WebFrame",e,function(){e.call(this)});a.prototype.refresh=function(){e.prototype.refresh.call(this)};return a});define("lZ",["require","en","lE","oz","d"],function(a){var e=a("en"),l=a("lE"),m=a("oz");a=a("d");var k=l.extend(m,function(){m.call(this)});k.zc={layout:a.Ag};e.defaults(k.zc,m.zc);k.prototype.vb=function(){this.io(k.zc)};return k});
define("mN","require en lE pf cC nk d oz lZ hC gk dz".split(" "),function(a){var e=a("en"),l=a("lE"),m=a("pf"),k=a("cC"),b=a("nk"),h=a("d"),g=a("oz"),c=a("lZ"),d=a("hC"),f=a("gk"),p=a("dz"),q=l.extend(d,function(){d.call(this);this.Fe("Window");this.vy=this.TG=this.gQ=this.Fl=null;this.A6=new g;this.rH=null;this.z9=this.y9=0;this.Gca=this.Xva=!1;this.Lea=this.Mea=void 0;for(var n in q.j$a)this.YD(n);this.bind(m.oc,this.b_a,this);this.bind(m.wL,this.$Za,this);this.bind(m.DL,this.c_a,this);this.bind(m.qa,
this.ZZa,this);this.C_=0;this.Kf=new g;this.Kf.ma({visible:!1,includeInLayout:!1,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:!1});this.Kf.bind(m.oc,this.bya,this);this.Kf.bind(m.DL,this.TZa,this);this.Kf.bind(m.wL,this.SZa,this);this.Kf.bind(m.qa,this.RZa,this);this.Kf.Wa(this)});q.prototype.set=function(n,r){switch(n){case "maxWidth":this.Mea=r;this.s_();break;case "maxHeight":this.Lea=r;this.s_();break;case "children":this.A6.set(n,r);break;case "shadow":this.Xva=
r;this.Xxa();break;default:d.prototype.set.call(this,n,r)}};q.prototype.show=function(n,r){this.s_(n);this.set("visible",!1);this.Kf.set("visible",!1);this.dLa();r&&this.b0a();r=n.get("children");n.set("children",r.concat([this.Kf]));l.defer(function(){this.Kf.set("visible",!0)}.bind(this))};q.prototype.dLa=function(){var n=this.B("modal"),r=this.B("veilShowEffect"),t=this.B("veilHideEffect");n&&r?this.Kf.set("showEffect",r):this.Kf.set("showEffect",null);n&&t?this.Kf.set("hideEffect",t):this.Kf.set("hideEffect",
null)};q.prototype.hide=function(){this.get("visible")&&this.trigger(m.IHa);this.C_=0;this.zZ(!1);this.set("visible",!1)};q.prototype.b0a=function(){this.set("centerX",0);this.set("centerY",0)};q.prototype.get=function(n,r){return"children"==n?this.A6.get(n,r):d.prototype.get.call(this,n,r)};q.Fla={headerBackgroundOpacity:"backgroundOpacity",headerBackgroundColor:"backgroundColor",headerBackgroundColorRatios:"backgroundColorRatios",headerBackgroundColorDirection:"backgroundColorDirection",headerBorderSize:"borderSize",
headerBorderLeftSize:"borderLeftSize",headerBorderTopSize:"borderTopSize",headerBorderRightSize:"borderRightSize",headerBorderBottomSize:"borderBottomSize",headerBorderColor:"borderColor",headerBorderLeftColor:"borderLeftColor",headerBorderTopColor:"borderTopColor",headerBorderRightColor:"borderRightColor",headerBorderBottomColor:"borderBottomColor",headerHeight:"height",headerPaddingLeft:"paddingLeft",headerPaddingTop:"paddingTop",headerPaddingRight:"paddingRight",headerPaddingBottom:"paddingBottom",
headerVerticalAlign:"verticalAlign"};q.Ela=Object.keys(q.Fla);q.D5={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};q.C5="borderLeftRadius borderRightRadius borderTopLeftRadius borderTopRightRadius borderTopRadius borderRadius".split(" ");q.Xla={title:"text",titleFontFamily:"fontFamily",titleFontSize:"fontSize",titleFontColor:"fontColor",
titleFontWeight:"fontWeight",titleFontStyle:"fontStyle",titleHorizontalAlign:"horizontalAlign",titlePaddingLeft:"paddingLeft",titlePaddingTop:"paddingTop",titlePaddingRight:"paddingRight",titlePaddingBottom:"paddingBottom",titleTextDecoration:"textDecoration",titleTextShadowColor:"textShadowColor",titleTextShadowHorizontalLength:"textShadowHorizontalLength",titleTextShadowVerticalLength:"textShadowVerticalLength",titleTextShadowBlurRadius:"textShadowBlurRadius",titleTextShadowOpacity:"textShadowOpacity"};
q.Wla=Object.keys(q.Xla);q.zla={closeButtonBackgroundColor:"backgroundColor",closeButtonBackgroundColorDirection:"backgroundColorDirection",closeButtonBackgroundColorRatios:"backgroundColorRatios",closeButtonBackgroundOpacity:"backgroundOpacity",closeButtonBorderColor:"borderColor",closeButtonBorderRadius:"borderRadius",closeButtonBorderSize:"borderSize",closeButtonHeight:"height",closeButtonIconColor:"iconColor",closeButtonIconHeight:"iconHeight",closeButtonIconLineWidth:"iconLineWidth",closeButtonIconWidth:"iconWidth",
closeButtonOpacity:"opacity",closeButtonWidth:"width",closeButtonPaddingBottom:"paddingBottom",closeButtonPaddingLeft:"paddingLeft",closeButtonPaddingRight:"paddingRight",closeButtonPaddingTop:"paddingTop",closeButtonRollOverBackgroundColor:"rollOverBackgroundColor",closeButtonRollOverBackgroundColorDirection:"rollOverBackgroundColorDirection",closeButtonRollOverBackgroundColorRatios:"rollOverBackgroundColorRatios",closeButtonRollOverBackgroundOpacity:"rollOverBackgroundOpacity",closeButtonRollOverBorderColor:"rollOverBorderColor",
closeButtonRollOverBorderSize:"rollOverBorderSize",closeButtonRollOverIconColor:"rollOverIconColor",closeButtonRollOverIconLineWidth:"rollOverIconLineWidth",closeButtonRollOverOpacity:"rollOverOpacity",closeButtonPressedBackgroundColor:"pressedBackgroundColor",closeButtonPressedBackgroundColorDirection:"pressedBackgroundColorDirection",closeButtonPressedBackgroundColorRatios:"pressedBackgroundColorRatios",closeButtonPressedBackgroundOpacity:"pressedBackgroundOpacity",closeButtonPressedBorderColor:"pressedBorderColor",
closeButtonPressedBorderSize:"pressedBorderSize",closeButtonPressedIconColor:"pressedIconColor",closeButtonPressedIconLineWidth:"pressedIconLineWidth",closeButtonPressedOpacity:"pressedOpacity"};q.yla=Object.keys(q.zla);q.Bla={footerBackgroundOpacity:"backgroundOpacity",footerBackgroundColor:"backgroundColor",footerBackgroundColorRatios:"backgroundColorRatios",footerBackgroundColorDirection:"backgroundColorDirection",footerBorderSize:"borderSize",footerBorderLeftSize:"borderLeftSize",footerBorderTopSize:"borderTopSize",
footerBorderRightSize:"borderRightSize",footerBorderBottomSize:"borderBottomSize",footerBorderColor:"borderColor",footerBorderLeftColor:"borderLeftColor",footerBorderTopColor:"borderTopColor",footerBorderRightColor:"borderRightColor",footerBorderBottomColor:"borderBottomColor",footerHeight:"height"};q.Ala=Object.keys(q.Bla);q.Dla={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",
borderBottomRightRadius:"borderBottomRightRadius"};q.Cla="borderLeftRadius borderRightRadius borderBottomLeftRadius borderBottomRightRadius borderBottomRadius borderRadius".split(" ");q.vla={bodyBackgroundOpacity:"backgroundOpacity",bodyBackgroundColor:"backgroundColor",bodyBackgroundColorRatios:"backgroundColorRatios",bodyBackgroundColorDirection:"backgroundColorDirection",bodyBorderSize:"borderSize",bodyBorderLeftSize:"borderLeftSize",bodyBorderTopSize:"borderTopSize",bodyBorderRightSize:"borderRightSize",
bodyBorderBottomSize:"borderBottomSize",bodyBorderColor:"borderColor",bodyBorderLeftColor:"borderLeftColor",bodyBorderTopColor:"borderTopColor",bodyBorderRightColor:"borderRightColor",bodyBorderBottomColor:"borderBottomColor",bodyPaddingLeft:"paddingLeft",bodyPaddingTop:"paddingTop",bodyPaddingRight:"paddingRight",bodyPaddingBottom:"paddingBottom",overflow:"overflow",scrollBarColor:"scrollBarColor",scrollBarWidth:"scrollBarWidth",scrollBarMargin:"scrollBarMargin",scrollBarHorizontalMargin:"scrollBarHorizontalMargin",
scrollBarVerticalMargin:"scrollBarVerticalMargin",scrollBarOpacity:"scrollBarOpacity",gap:"gap"};q.ula=Object.keys(q.vla);q.wla={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};q.FJa=Object.keys(q.wla);q.Zla={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};q.Yla=Object.keys(q.Zla);q.zc=function(){var n={modal:!1,visible:!1,centerX:0,centerY:0,veilShowEffect:void 0,veilHideEffect:void 0};
e.defaults(n,g.zc);for(var r=[].concat(q.Ela,q.Wla,q.yla,q.ula,q.Ala,q.Yla),t=0;t<r.length;t++)n[r[t]]=void 0;return n}();q.prototype.vb=function(){this.io(q.zc)};q.prototype.Db=function(){d.prototype.Db.call(this);null==this.Fl&&(this.Fl=new c,this.Fl.set("width","100%"),this.Fl.bind(m.kb,this.RQa,this),this.Wa(this.Fl));null==this.gQ&&(this.gQ=new p,this.gQ.set("width","100%"),this.Fl.Wa(this.gQ));null==this.TG&&(this.TG=new f,this.TG.ma({horizontalAlign:b.Oe,verticalAlign:b.le}),this.TG.bind(m.qa,
this.wMa,this),this.Fl.Wa(this.TG));null==this.vy&&(this.vy=this.A6,this.vy.ma({width:"100%",height:"100%"}),this.Wa(this.vy));null==this.rH&&(this.rH=new g,this.rH.set("width","100%"),this.Wa(this.rH))};q.prototype.RZa=function(){this.C_++;setTimeout(function(){0<this.C_&&this.hide()}.bind(this),100)};q.prototype.ZZa=function(){this.C_--};q.prototype.wMa=function(){this.hide()};q.prototype.RQa=function(n){this.y9=n.pageX;this.z9=n.pageY;this.ob().bind(m.kc,this.mya,this,!0);this.ob().bind(m.Hb,this.nya,
this,!0)};q.prototype.mya=function(n){this.set("centerX",this.get("centerX")+(n.pageX-this.y9));this.set("centerY",this.get("centerY")+(n.pageY-this.z9));this.y9=n.pageX;this.z9=n.pageY;this.Wxa()};q.prototype.nya=function(){this.ob().unbind(m.kc,this.mya,this);this.ob().unbind(m.Hb,this.nya,this)};q.prototype.bya=function(){this.s_()};q.prototype.TZa=function(){this.set("visible",!0)};q.prototype.SZa=function(){this.Kf.unbind(m.oc,this.bya,this);var n=this.Kf.getParent();n&&n.removeChild(this.Kf);
this.trigger(new k(m.WF))};q.prototype.b_a=function(){this.Wxa()};q.prototype.c_a=function(){this.zZ(!0)};q.prototype.$Za=function(){this.Kf.set("visible",!1)};q.prototype.zZ=function(n){this.Gca=n;this.Xxa()};q.prototype.Xxa=function(){d.prototype.set.call(this,"shadow",this.Gca&&this.Xva)};q.prototype.s_=function(n){n||(n=this.oa);void 0!==this.Mea?d.prototype.set.call(this,"maxWidth",this.Mea):n?d.prototype.set.call(this,"maxWidth",n.Xa()):d.prototype.set.call(this,"maxWidth",void 0);void 0!==
this.Lea?d.prototype.set.call(this,"maxHeight",this.Lea):n?d.prototype.set.call(this,"maxHeight",n.yb()):d.prototype.set.call(this,"maxHeight",void 0)};q.prototype.Wxa=function(){var n=this.Kf.Xa(),r=this.Xa(),t=this.get("centerX");r=.5*n+t-.5*r;var u=this.Fl.qm(),v=this.Fl.Xa(),w=Math.min(v,30);n=n-u-w;u=-(u+v-w);r<u?this.set("centerX",t+(u-r)):r>n&&this.set("centerX",t-(r-n));n=this.Kf.yb();r=this.yb();t=this.get("centerY");r=.5*n+t-.5*r;u=this.Fl.Gt();v=this.Fl.yb();w=Math.min(v,5);n=n-u-w;u=-(u+
v-w);r<u?this.set("centerY",t+(u-r)):r>n&&this.set("centerY",t-(r-n))};q.prototype.Za=function(){this.pc(q.Ela,q.Fla,[this.Fl],!0,!0);this.pc(q.C5,q.D5,[this.Fl],!0,!1);0===this.get("headerHeight")?this.pc(q.C5,q.D5,[this.vy],!0,!1):this.pc(q.C5,q.D5,[this.Fl],!0,!1);this.pc(q.Wla,q.Xla,[this.gQ],!0,!0);this.pc(q.yla,q.zla,[this.TG],!0,!0);this.pc(q.ula,q.vla,[this.vy],!0,!0);this.pc(q.FJa,q.wla,[this.vy],!0,!1);this.pc(q.Ala,q.Bla,[this.rH],!0,!0);0===this.get("footerHeight")?this.pc(q.Cla,q.Dla,
[this.vy],!0,!1):this.pc(q.Cla,q.Dla,[this.rH],!0,!1);this.B("modal")?(this.pc(q.Yla,q.Zla,[this.Kf],!0,!0),this.Kf.set("contentOpaque",!0)):(this.Kf.set("backgroundOpacity",0),this.Kf.set("contentOpaque",!1));this.ma({layout:h.Mh,horizontalAlign:b.Oe,verticalAlign:b.le});d.prototype.Za.call(this);this.Kl.U2(0)};return q});
define("eo",["require","mN","nU"],function(a){var e=a("mN");a=a("nU").define("Window",e,function(){e.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a});
define("no","require jquery.mod en kS pf ik cC gv bi oH bG gY mu v lE".split(" "),function(a){function e(v){this.source=v;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.hK=this.source.get("grayscale");this.bx=new q(h.ol)}var l=a("jquery.mod"),m=a("en"),k=a("kS"),b=a("pf"),h=a("ik"),g=a("cC"),c=a("gv"),d=a("bi"),f=a("oH"),p=a("bG"),q=a("gY"),n=a("mu"),r=a("v"),t=a("lE"),u=t.extend(c,function(){c.call(this);this.JX=this.JX.bind(this);this.Qg=
null;this.Be=[];this.ln=[];this.Yb=this.Jb=this.Kd=this.Cd=100;this.rf=1;this.Dy=this.Cy=.5;this.Fc=1;this.Ej=this.fj=null;this.xY=!1;this.q7={};this.YG={};this.YG.low={};this.YG.hight={};r.BJ()==r.oL&&(this.YG.low.transform="translateZ(0)",this.YG.hight.transform="");this.T=!1;this.Sh="inherit";this.ta=l("<div/>").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.gN=null;this.bf=t.ip(this.ia,this)});u.prototype.Yc=function(){return this.ta};u.prototype.VA=function(v){this.Jf!=
v&&(this.Jf=v,this.p6(1),this.bf())};u.prototype.I2=function(v){this.Sh!=v&&(this.Sh=v,this.Ej&&this.Ej.css("cursor",this.Sh),this.fj&&this.fj.css("cursor",this.Sh))};u.prototype.C6a=function(v){this.Be!=v&&(this.Be&&k.ba(this.Be,["levels.url"],this.JX),(this.Be=v)&&k.ha(this.Be,["levels.url"],this.JX,!0))};u.prototype.JX=function(){this.P6();this.Qg=null;this.fj&&(this.fj.detach(),this.fj=null);this.Ej&&(this.Ej.detach(),this.Ej=null);this.ng&&(this.ng=null);this.P6();this.xY=!1;m(this.ln).each(function(w){w.bx.cancel();
w.bx.unbind(b.Z,this.Pqa,this)},this);var v=(this.Be&&this.Be.get("levels")||[]).filter(function(w){return w.get("url")});this.ln=m(v).map(function(w){w=new e(w);w.bx.bind(b.Z,this.Pqa,this);return w},this);(v=this.RPa())?(this.Jb=v.width,this.Yb=v.height):this.Yb=this.Jb=100;this.Dy=this.Cy=.5;this.p6(1);this.bf()};u.prototype.wF=function(v,w){if(this.Cd!=v||this.Kd!=w)this.Cd=v,this.Kd=w,this.bf()};u.prototype.j6a=function(v,w){if(this.Vna!=v||this.Una!=w)this.Vna=v,this.Una=w,this.bf()};u.prototype.mb=
function(v){this.T!=v&&(this.T=v,this.bf())};u.prototype.move=function(v,w){var x=this.rf*this.Fc;this.Cy+=v/(this.Jb*x);this.Dy+=w/(this.Yb*x);this.$Y()};u.prototype.QE=function(){return this.Fc};u.prototype.setScale=function(v){this.p6(Math.max(1,Math.min(1/this.rf,v)));this.Qg&&this.Qg.width<this.Fc*this.rf*this.Jb&&this.Qg.width<this.Jb?this.ia():this.$Y()};u.prototype.PBa=function(v){if(!this.fj)return!1;var w=this.fj.offset(),x=v.pageX-w.left;v=v.pageY-w.top;return 0<=x&&0<=v&&x<this.fj.width()&&
v<this.fj.height()};u.prototype.ia=function(){if(this.T){this.DZa();var v=this.YPa();v&&v.bx.ki()?(v!=this.Qg&&(this.Qg||(this.bf(),this.xY=!0),this.ONa(v),this.Qg=v),this.Cva(null)):this.Cva(v);this.$Y()}};u.prototype.DZa=function(){switch(this.Jf){case n.Cp:var v=this.Cd/this.Jb;break;case n.kk:v=this.Kd/this.Yb;break;case n.Ur:v=this.Jb*this.Kd>this.Yb*this.Cd?this.Kd/this.Yb:this.Cd/this.Jb;break;case n.NHa:v=Math.min(this.Vna/this.Jb,this.Una/this.Yb);break;default:v=this.Jb*this.Kd>this.Yb*
this.Cd?this.Cd/this.Jb:this.Kd/this.Yb}this.ZKa(v)};u.prototype.Pqa=function(){this.bf()};u.prototype.ONa=function(v){this.Ej&&(this.uca(this.Ej,1),this.fj&&this.fj.detach(),this.fj=this.Ej);this.Ej=this.gNa(v);this.uca(this.Ej,0);this.ta.append(this.Ej);this.ng=this.YMa();this.q7={}};u.prototype.YPa=function(){return this.Qg?this.cPa(this.Fc*this.rf*this.Jb):this.uQa()};u.prototype.Cva=function(v){m(this.ln).each(function(w){w==v?w.bx.Pi()!=w.url&&w.bx.load(w.url):w.bx.ki()||w.bx.cancel()})};u.prototype.RPa=
function(){return m(this.ln).reduce(function(v,w){v||(v=w);if(w.width>v.width||w.width==v.width&&!w.hK&&v.hK)v=w;return v},null)};u.prototype.uQa=function(){return m(this.ln).reduce(function(v,w){v||(v=w);if(w.width<v.width||w.width==v.width&&w.hK&&!v.hK)v=w;return v},null)};u.prototype.cPa=function(v){return m(this.ln).reduce(function(w,x){w||(w=x);if(x.width>=v&&w.width<v||x.width>=v&&x.width<w.width||x.width<v&&x.width>w.width||!x.hK&&w.hK)w=x;return w},null)};u.prototype.gNa=function(v){v=l(v.bx.wf(!0));
v.css({position:"absolute",cursor:this.Sh,"pointer-events":"none"});return v};u.prototype.YMa=function(){return new f("linear",[new p("alpha",0,1)],200)};u.prototype.$Y=function(){d.requestFrame(function(v){this.VY(v,"low")},this)};u.prototype.fga=function(){return this.Jb*this.Fc*this.rf};u.prototype.ega=function(){return this.Yb*this.Fc*this.rf};u.prototype.yAa=function(){var v=this.fga();return v>this.Cd?Math.max(this.Cd-v,Math.min(0,.5*this.Cd-v*this.Cy)):.5*(this.Cd-v)};u.prototype.zAa=function(){var v=
this.ega();return v>this.Kd?Math.max(this.Kd-v,Math.min(0,.5*this.Kd-v*this.Dy)):.5*(this.Kd-v)};u.prototype.VY=function(v,w){w=w||"low";var x=this.fga(),y=this.yAa(),z=this.ega(),E=this.zAa();this.Cy=(.5*this.Cd-y)/x;this.Dy=(.5*this.Kd-E)/z;x={left:Math.round(y)+"px",top:Math.round(E)+"px",width:Math.round(x)+"px",height:Math.round(z)+"px",display:"block"};for(var B in this.YG[w])x[B]=this.YG[w][B];this.q7!=x&&(this.fj&&this.fj.css(x),this.Ej&&this.Ej.css(x),this.q7=x);this.P6();this.ng?(this.ng.Cb(v),
this.uca(this.Ej,this.ng.fb("alpha")),this.ng.Ye()&&(this.ng=null,this.fj&&this.fj.detach(),this.fj=this.Ej,this.Ej=null),this.$Y()):"low"==w&&this.cXa();!this.ng&&this.xY&&(this.xY=!1,this.trigger(new g(b.Z)))};u.prototype.uca=function(v,w){v.css({opacity:w,filter:"alpha(opacity="+Math.round(100*w)+")","-ms-filter":"alpha(opacity="+Math.round(100*w)+")"})};u.prototype.P6=function(){null!=this.gN&&(clearTimeout(this.gN),this.gN=null)};u.prototype.cXa=function(){var v=this;this.gN=setTimeout(function(){v.gN=
null;v.VY(50,"hight")},50)};u.prototype.p6=function(v){this.Fc!=v&&(this.Fc=v,this.pYa())};u.prototype.ZKa=function(v){this.rf!=v&&(this.rf=v)};u.prototype.pYa=function(){this.trigger(new g(u.RT,{scale:this.Fc}))};u.RT="scaleChange";return u});
define("kD","require jquery.mod pf cC no lE e R".split(" "),function(a){a("jquery.mod");var e=a("pf"),l=a("cC"),m=a("no"),k=a("lE"),b=a("e"),h=a("R"),g=k.extend(b,function(){b.call(this);this.Fe("ZoomImage");this.gw=this.yn=void 0;this.Jk=!1;this.kua=void 0;this.pqa=this.Fc;this.EQ=null;this.j=new m;this.j.bind(e.Z,this.oTa,this);this.j.bind(m.RT,this.pTa,this);this.Pb().append(this.j.Yc());this.bind(e.oc,this.Bc,this,!0);this.bind(e.bd,this.ij,this,!0);this.bind(e.Tc,this.hj,this,!0);this.bind(e.kb,
this.Vd,this,!0);this.bind(e.kc,this.Mj,this,!0);this.bind(e.Hb,this.Nj,this,!0);this.bind(e.Zr,this.jD,this,!0);this.bind(e.aG,this.HC,this,!0)});g.prototype.set=function(c,d){switch(c){case "scale":this.j.setScale(d);d=this.j.QE();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}b.prototype.set.call(this,c,d)};g.prototype.get=function(c,d){switch(c){case "scale":return this.j.QE();case "imageLeft":return this.j.yAa();case "imageTop":return this.j.zAa();case "imageWidth":return this.j.fga();
case "imageHeight":return this.j.ega()}return b.prototype.get.call(this,c,d)};g.prototype.vb=function(){b.prototype.vb.call(this);this.h("image");this.h("scaleMode");this.h("customHeight");this.h("customWidth");this.h("imageCursor");this.h("imageLeft");this.h("imageTop");this.h("imageWidth");this.h("imageHeight")};g.prototype.Za=function(){this.K("scaleMode")&&(this.j.VA(this.B("scaleMode")),this.S("scaleMode"));this.K("image")&&(this.j.C6a(this.B("image")),this.S("image"),this.pqa=this.Fc);if(this.K("customHeight")||
this.K("customWidth"))this.S("customHeight"),this.S("customWidth"),this.Bc();this.K("imageCursor")&&(this.S("imageCursor"),this.j.I2(this.gb.G7.nAa(this.get("imageCursor"))));b.prototype.Za.call(this)};g.prototype.Bc=function(){var c=this.Xa(),d=this.yb(),f=this.get("customWidth","100%"),p=h.jp(f);f=void 0!==p?c*p/100:f;p=this.get("customHeight","100%");var q=h.jp(p);this.j.j6a(f,void 0!==q?d*q/100:p);this.j.wF(c,d)};g.prototype.ij=function(){this.j.mb(!0)};g.prototype.hj=function(){this.j.mb(!1)};
g.prototype.Vd=function(c){this.yn=c.x;this.gw=c.y;this.Jk=!0;this.kua=this.j.PBa(c)};g.prototype.Mj=function(c){this.Jk&&(this.tea(),this.j.move(-(c.x-this.yn),-(c.y-this.gw)),this.yn=c.x,this.gw=c.y)};g.prototype.Nj=function(c){this.Jk=!1;this.kua||this.j.PBa(c)||this.trigger(new l(g.WHa))};g.prototype.jD=function(c){this.tea();this.j.setScale((1+c.delta/20)*this.j.QE())};g.prototype.HC=function(c){this.tea();this.j.setScale(c.scale/this.pqa)};g.prototype.oTa=function(){this.trigger(new l(e.Z))};
g.prototype.pTa=function(){b.prototype.set.call(this,"scale",this.j.QE());this.trigger(new l(g.RT))};g.prototype.tea=function(){this.EQ?(clearTimeout(this.EQ),this.EQ=null):this.trigger(new l(g.Vi));this.EQ=setTimeout(function(){this.EQ=null;this.trigger(new l(g.Ui))}.bind(this),300)};g.WHa="backgroundClick";g.RT="scaleChange";g.Vi="userInteractionStart";g.Ui="userInteractionEnd";return g});define("oj",["require","kD","nU"],function(a){var e=a("kD");return a("nU").define("ZoomImage",e,function(){e.call(this)})});
define("ju","require nU jE im oc ex ej eW oE jV jG gr ga ie k jD ks mf oN hv iv ll gZ fR dv bB ke nY jY kY mS fJ q jA ed ei oU ng cZ kd nC iA mm hr N cR u lT gt X ky bx bm nB ox jr fm mq lQ jw bM cL oF jK nx lo Q pL gl dq eu ji bX bf gi fs hb iQ bI py pK fn kg mD iN p dP kQ mE iP el fh pH hz lf ff mI bP lM iM bk pw gu oK cE cG lI pe jO gN kw hg lS nL ia kH kW pz eF iU nI eV iy S pg dV gG bH jd fE Z po fa mU lW fr gS eX cn iE ok mt fG oL lP op hc ft gI dt nh cs ig nf kt hF bZ iI dG bQ kp jQ oT fY hl ci if ly bb eB hL dC bz cr eo oj".split(" "),
function(a){a("nU");a("jE");a("im");a("oc");a("ex");a("ej");a("eW");a("oE");a("jV");a("jG");a("gr");a("ga");a("ie");a("k");a("jD");a("ks");a("mf");a("oN");a("hv");a("iv");a("ll");a("gZ");a("fR");a("dv");a("bB");a("ke");a("nY");a("jY");a("kY");a("mS");a("fJ");a("q");a("jA");a("ed");a("ei");a("oU");a("ng");a("cZ");a("kd");a("nC");a("iA");a("mm");a("hr");a("N");a("cR");a("u");a("lT");a("gt");a("X");a("ky");a("bx");a("bm");a("nB");a("ox");a("jr");a("fm");a("mq");a("lQ");a("jw");a("bM");a("cL");a("oF");
a("jK");a("nx");a("lo");a("Q");a("pL");a("gl");a("dq");a("eu");a("ji");a("bX");a("bf");a("gi");a("fs");a("hb");a("iQ");a("bI");a("py");a("pK");a("fn");a("kg");a("mD");a("iN");a("p");a("dP");a("kQ");a("mE");a("iP");a("el");a("fh");a("pH");a("hz");a("lf");a("ff");a("mI");a("bP");a("lM");a("iM");a("bk");a("pw");a("gu");a("oK");a("cE");a("cG");a("lI");a("pe");a("jO");a("gN");a("kw");a("hg");a("lS");a("nL");a("ia");a("kH");a("kW");a("pz");a("eF");a("iU");a("nI");a("eV");a("iy");a("S");a("pg");a("dV");
a("gG");a("bH");a("jd");a("fE");a("Z");a("po");a("fa");a("mU");a("lW");a("fr");a("gS");a("eX");a("cn");a("iE");a("ok");a("mt");a("fG");a("oL");a("lP");a("op");a("hc");a("ft");a("gI");a("dt");a("nh");a("cs");a("ig");a("nf");a("kt");a("hF");a("bZ");a("iI");a("dG");a("bQ");a("kp");a("jQ");a("oT");a("fY");a("hl");a("ci");a("if");a("ly");a("bb");a("eB");a("hL");a("dC");a("bz");a("cr");a("eo");a("oj");return!0});
define("gB","require en jquery.mod lE nU bY ju mB".split(" "),function(a){function e(n,r){this.type=n;this.stack=r}function l(){}var m=a("en"),k=a("jquery.mod"),b=a("lE"),h=a("nU"),g=a("bY");a("ju");a("mB");l.prototype.O4a=function(n,r,t,u){this.p8=[];this.Qz=this.BI(n);this.UC=void 0;this.Qz.zt.CAa()?(this.vea=g.validate(n),this.UC=this.Zoa(this.Qz,c.TYPE),this.jNa(this.UC,this.Qz,r,t,u),this.UKa(this.Qz),this.SKa(this.Qz,this.UC),this.VKa(this.UC,this.Qz),this.nLa(this.UC,this.Qz)):this.Zn("Invalid root class",
[]);return 0==this.p8.length};l.prototype.ob=function(){return this.Qz.instance};l.prototype.BI=function(n,r){r=r||[];return m(n).isArray()?this.sUa(n,r):k.isPlainObject(n)&&n["class"]?this.vUa(n,r):k.isPlainObject(n)?this.tUa(n,r):m(n).isFunction()?this.uUa(n,r):this.wUa(n,r)};l.prototype.sUa=function(n,r){for(var t=[],u=0;u<n.length;u++)r.push("Item["+u+"]"),t.push(this.BI(n[u],r)),r.pop();return new d(r.slice(),t)};l.prototype.vUa=function(n,r){var t=n["class"],u=h.Oi(n["class"]);if(u){t={};var v=
{},w;for(w in n){r.push(w);var x=n[w];switch(w){case "class":break;case "scripts":var y=this.BI(x,r);break;default:u.hasAttribute(w)?t[w]=this.BI(x,r):u.iBa(w)||u.jBa(w)?v[w]=this.BI(x,r):this.Zn(u.NE()+" object doesn't have any attribute named "+w,r)}r.pop()}return new c(r.slice(),u,n.id,t,v,y)}this.Zn("Undefined class name: "+t,r.slice());return new q(r.slice(),null)};l.prototype.tUa=function(n,r){var t={},u;for(u in n)r.push(u),t[u]=this.BI(n[u],r),r.pop();return new f(r.slice(),t)};l.prototype.uUa=
function(n,r){return new p(r.slice(),n)};l.prototype.wUa=function(n,r){return new q(r.slice(),n)};l.prototype.Zoa=function(n,r){var t=r&&n.type!=r?[]:[n],u=0;for(n=n.jb();u<n.length;u++)t=t.concat(this.Zoa(n[u],r));return t};l.prototype.jNa=function(n,r,t,u,v){r.instance=r.zt.pm(null,u,v,[t,this.vea]);r.instance.set("application",r.instance);for(t=0;t<n.length;t++){var w=n[t];w!=r&&(w.instance=w.zt.pm(r.instance,u,v))}};l.prototype.UKa=function(n){if(n.scripts)if(n.scripts.type==f.TYPE)for(var r in n.scripts.value)this.TKa(n,
r);else this.Zn("Invalid content.",n.scripts.stack)};l.prototype.TKa=function(n,r){var t=n.instance,u=n.scripts.value[r];m(t[r]).isUndefined()?u&&u.type==p.TYPE?t[r]=function(){return u.Ot().apply(t,arguments)}:this.Zn("Invalid content.",u.stack):this.Zn("Identifier: "+r+" is already in use",u.stack)};l.prototype.SKa=function(n,r){n=n.instance;for(var t=0;t<r.length;t++){var u=r[t],v=u.id;v&&(m(n[v]).isUndefined()?n[v]=u.instance:this.Zn("Identifier: "+v+" is arleady in use",u.stack))}};l.prototype.VKa=
function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v=u.attributes,w;for(w in v)this.RKa(u,w,r)}};l.prototype.RKa=function(n,r,t){var u=n.zt;if(u.hasAttribute(r)){try{var v=n.attributes[r].Ot()}catch(w){this.Zn("Invalid value for property "+r+" of "+u.NE()+" instance",n.stack)}try{v=u.Xfa(r)(v,t.instance),n.instance.set(r,v)}catch(w){this.Zn("Invalid value for property "+r+" of "+u.NE()+" instance",n.stack)}}else this.Zn(u.NE()+" object doesn't have any property named "+r,n.stack)};l.prototype.nLa=
function(n,r){for(var t=0;t<n.length;t++){var u=n[t],v;for(v in u.KE)this.mLa(u,v,r)}};l.prototype.mLa=function(n,r,t){var u=n.zt,v=n.instance,w=u.iBa(r),x=u.jBa(r);if(w||x){n=n.KE[r];var y=n.Ot();m(y).isFunction()?v.bind(r,y,t.instance,x,y,!0):"string"==typeof y?v.bind(r,function(){try{eval("var event = arguments[0];"+y)}catch(z){throw z;}},t.instance,x,y,!0):this.Zn("Invalid value.",n.stack)}else this.Zn(u.NE()+" object doesn't have any event named "+r,n.stack)};l.prototype.Zn=function(n,r){this.p8.push("In "+
r.join(" >> ")+": "+n)};e.prototype.jb=function(){return[]};e.prototype.Ot=function(){};var c=b.extend(e,function(n,r,t,u,v,w){e.call(this,c.TYPE,n);this.zt=r;this.id=t;this.attributes=u;this.KE=v;this.scripts=w;this.instance=null});c.prototype.jb=function(){var n=this.zt.NAa(),r=[],t=m(this.attributes).clone();if(n)for(var u=0;u<n.length;u++){var v=n[u];void 0!=t[v]&&(r.push(t[v]),delete t[v])}return r=r.concat(m(t).values())};c.prototype.Ot=function(){return this.instance};c.TYPE="instance";var d=
b.extend(e,function(n,r){e.call(this,d.TYPE,n);this.items=r});d.prototype.jb=function(){return this.items.slice()};d.prototype.Ot=function(){for(var n=[],r=0;r<this.items.length;r++)n.push(this.items[r].Ot());return n};d.TYPE="array";var f=b.extend(e,function(n,r){e.call(this,f.TYPE,n);this.value=r});f.prototype.jb=function(){return m(this.value).values()};f.prototype.Ot=function(){var n={},r;for(r in this.value)n[r]=this.value[r].Ot();return n};f.TYPE="dict";var p=b.extend(e,function(n,r){e.call(this,
p.TYPE,n);this.value=r});p.prototype.Ot=function(){return this.value};p.TYPE="function";var q=b.extend(e,function(n,r){e.call(this,q.TYPE,n);this.value=r});q.prototype.Ot=function(){return this.value};q.TYPE="simple";return l});
define("ni","require en pf cC nU gB v eY mB oA hJ nq pd nu lE".split(" "),function(a){function e(v,w){this.cQ=v;this.Oi=this.Oi.bind(this);this.pm=this.pm.bind(this);this.JJ=this.JJ.bind(this);this.Ia=this.Ia.bind(this);this.K0=this.K0.bind(this);g.lb()&&!g.yf()&&r.jr();this.oV=[];v=q.name;var x=[];v&&x.push(v);0<q.fS?x.push("v:"+q.fS+"."+q.kS):x.push("v:"+q.kS);t.log(x.join(" "));this.pp=w;d.w3a()||0<=[g.TF,g.Mx].indexOf(g.browser())?(this.Ek=new h,(w=this.pp.get(TDV.PlayerSettings.BASE_DIR_URL))?
(w=d.Dx(w),"/"!=w[w.length-1]&&(w+="/")):w=d.getDirectory(this.pp.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)),this.Rha=this.pp.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS),c.c5a(w,function(y){this.bfa=y;this.RTa()}.bind(this))):window.alert(n("web-server-required"))}var l=a("en"),m=a("pf"),k=a("cC"),b=a("nU"),h=a("gB"),g=a("v"),c=a("eY"),d=a("mB"),f=a("oA"),p=a("hJ"),q=a("nq"),n=a("pd"),r=a("nu"),t=a("lE");e.prototype.RTa=function(){this.cQ.trigger(new TDV.bU(m.aJa,{},[],void 0));l.defer(function(){if(!this.Ek.O4a(this.pp.get(TDV.PlayerSettings.SCRIPT_DATA),
this.pp.get(TDV.PlayerSettings.CONTAINER),this.bfa,this.Rha)){if("false"!=q.p8a){window.alert(this.Mpa());return}t.log(this.Mpa())}this.lLa();this.JKa(this.pp);this.XKa();f.VDa=this.Ek.ob();f.initialize(function(){this.rYa()}.bind(this))}.bind(this))};e.prototype.clear=function(){this.Ek&&(this.Cpa().forEach(function(v){v.instance.nja();v.zt.zR().forEach(function(w){switch(w){case "VideoPlayer":v.instance.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":v.instance.set("viewerArea",
null);break;case "ZoomImage":v.instance.set("image",null);break;case "Audio":v.instance.stop();break;case "Effect":v.instance.end();break;case "Media":v.instance.y5a()}})}),p.U4a(),this.Ek.ob().clear(),u={},this.pp=this.Ek=null)};e.prototype.q2a=function(v){return this.Ek.ob()[v]};e.prototype.Oi=function(v){if(v in u)return u[v].slice();var w=[];this.Cpa().forEach(function(x){var y=x.zt.zR();l(y).contains(v)&&w.push(x.instance)});u[v]=w;return w.slice()};e.prototype.Cpa=function(){return this.Ek?
this.Ek.UC.concat(this.oV):[]};var u={};e.prototype.pm=function(v){var w=b.Oi(v);if(!w)throw"Invalid className: "+v;u={};v=this.Ek.ob();var x={};x.zt=w;x.instance=w.pm(v,this.bfa,this.Rha);this.oV.push(x);this.Gma(w,x.instance);this.dYa(v,x.instance);return x.instance};e.prototype.JJ=function(v){var w=this.oV.findIndex(function(x){return x.instance==v});0>w||(u={},this.oV.splice(w,1),v.nja(),v.dispose&&v.dispose())};e.prototype.Mpa=function(){for(var v=this.Ek.p8,w=["Errors parsing script file:"],
x=0;x<v.length;x++)w.push(v[x]);return w.join("\n")};e.prototype.lLa=function(){this.Ek.UC.forEach(function(w){this.Gma(w.zt,w.instance,w.id)}.bind(this));var v=this.Ek.ob().kV;v.bind(m.YF,function(){v.R8a(m.YF);this.cQ.cookiesEnabled=this.cQ.t0a=!0;this.cQ.trigger(new TDV.bU(m.YF,{},[],void 0))},this,!0)};e.prototype.Gma=function(v,w,x){var y=v.zR();l.union(v.aga(),v.gga()).forEach(function(z){w.bind(z,function(E){this.cQ.trigger(new TDV.bU(z,E,y,x))}.bind(this),this,!0)}.bind(this))};e.prototype.dYa=
function(v,w){v.trigger(new k(m.zIa,{instance:w}))};e.prototype.JKa=function(v){this.Ek.ob().set("settings",v)};e.prototype.Ia=function(){return b.Ia.apply(b,arguments)};e.prototype.K0=function(v){!v||d.yA(v)||d.n1(v)||(v=d.iA(d.Dx(v,this.bfa),this.Rha));return v};e.prototype.XKa=function(){var v=this.Ek.ob();v.getByClassName=v.Oi=this.Oi;v.createInstance=v.pm=this.pm;v.disposeInstance=v.JJ=this.JJ;v.isInstanceOfClass=v.Ia=this.Ia;v.getAbsoluteURL=v.K0=this.K0};e.prototype.rYa=function(){this.Ek.ob().start()};
e.O8a=function(v){v.trigger(new TDV.bU(m.AIa,{},[],void 0))};return e});define("main",["require","jquery.mod","ni"],function(a){var e=a("jquery.mod"),l=a("ni");e(document).ready(function(){TDV.ub.i7a(l)})});
(function(t,e){e(t.THREE=t.THREE||{})})(this,function(t){"use strict";const e="151",n=0,i=1,r=2,s=1,a=2,o=3,l=0,c=1,h=2,u=0,d=1,p=2,m=3,f=4,g=5,v=100,_=101,x=102,y=103,M=104,S=200,b=201,w=202,T=203,E=204,A=205,C=206,L=207,P=208,R=209,I=210,D=0,U=1,N=2,O=3,z=4,B=5,F=6,k=7,G=0,V=1,H=2,W=0,j=1,q=2,X=3,Y=4,Z=5,J=300,K=301,$=302,Q=303,tt=304,et=306,nt=1e3,it=1001,rt=1002,st=1003,at=1004,ot=1005,lt=1006,ct=1007,ht=1008,ut=1009,dt=1010,pt=1011,mt=1012,ft=1013,gt=1014,vt=1015,_t=1016,xt=1017,yt=1018,Mt=1020,St=1021,bt=1023,wt=1024,Tt=1025,Et=1026,At=1027,Ct=1028,Lt=1029,Pt=1030,Rt=1031,It=1033,Dt=33776,Ut=33777,Nt=33778,Ot=33779,zt=35840,Bt=35841,Ft=35842,kt=35843,Gt=36196,Vt=37492,Ht=37496,Wt=37808,jt=37809,qt=37810,Xt=37811,Yt=37812,Zt=37813,Jt=37814,Kt=37815,$t=37816,Qt=37817,te=37818,ee=37819,ne=37820,ie=37821,re=36492,se=36283,ae=36284,oe=36285,le=36286,ce=2300,he=2301,ue=2302,de=2400,pe=2401,me=2402,fe=2500,ge=2501,ve=3e3,_e=3001,xe=3201,ye=0,Me=1,Se="srgb",be="srgb-linear",we="display-p3",Te=7680,Ee=35044,Ae="300 es",Ce=1035;class Le{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e<i;e++)n[e].call(this,t);t.target=null}}}const Pe=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let Re=1234567;const Ie=Math.PI/180,De=180/Math.PI;function Ue(){const t=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(Pe[255&t]+Pe[t>>8&255]+Pe[t>>16&255]+Pe[t>>24&255]+"-"+Pe[255&e]+Pe[e>>8&255]+"-"+Pe[e>>16&15|64]+Pe[e>>24&255]+"-"+Pe[63&n|128]+Pe[n>>8&255]+"-"+Pe[n>>16&255]+Pe[n>>24&255]+Pe[255&i]+Pe[i>>8&255]+Pe[i>>16&255]+Pe[i>>24&255]).toLowerCase()}function Ne(t,e,n){return Math.max(e,Math.min(n,t))}function Oe(t,e){return(t%e+e)%e}function ze(t,e,n){return(1-n)*t+n*e}function Be(t){return 0==(t&t-1)&&0!==t}function Fe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function ke(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Ge(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.");}}function Ve(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.");}}const He={DEG2RAD:Ie,RAD2DEG:De,generateUUID:Ue,clamp:Ne,euclideanModulo:Oe,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:ze,damp:function(t,e,n,i){return ze(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(Oe(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){void 0!==t&&(Re=t);let e=Re+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*Ie},radToDeg:function(t){return t*De},isPowerOfTwo:Be,ceilPowerOfTwo:Fe,floorPowerOfTwo:ke,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r);}},normalize:Ve,denormalize:Ge};class We{constructor(t=0,e=0){We.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Ne(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class je{constructor(){je.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],v=i[1],_=i[4],x=i[7],y=i[2],M=i[5],S=i[8];return r[0]=s*m+a*v+o*y,r[3]=s*f+a*_+o*M,r[6]=s*g+a*x+o*S,r[1]=l*m+c*v+h*y,r[4]=l*f+c*_+h*M,r[7]=l*g+c*x+h*S,r[2]=u*m+d*v+p*y,r[5]=u*f+d*_+p*M,r[8]=u*g+d*x+p*S,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(qe.makeScale(t,e)),this}rotate(t){return this.premultiply(qe.makeRotation(-t)),this}translate(t,e){return this.premultiply(qe.makeTranslation(t,e)),this}makeTranslation(t,e){return this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return new this.constructor().fromArray(this.elements)}}const qe=new je;function Xe(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const Ye={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Ze(t,e){return new Ye[t](e)}function Je(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Ke(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function $e(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const Qe=new je().fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),tn=new je().fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);const en={[be]:t=>t,[Se]:t=>t.convertSRGBToLinear(),[we]:function(t){return t.convertSRGBToLinear().applyMatrix3(tn)}},nn={[be]:t=>t,[Se]:t=>t.convertLinearToSRGB(),[we]:function(t){return t.applyMatrix3(Qe).convertLinearToSRGB()}},rn={enabled:!1,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(t){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!t},get workingColorSpace(){return be},set workingColorSpace(t){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(t,e,n){if(!1===this.enabled||e===n||!e||!n)return t;const i=en[e],r=nn[n];if(void 0===i||void 0===r)throw new Error(`Unsupported color space conversion, "${e}" to "${n}".`);return r(i(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)}};let sn;class an{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===sn&&(sn=Je("canvas")),sn.width=t.width,sn.height=t.height;const n=sn.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=sn}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=Je("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),r=i.data;for(let t=0;t<r.length;t++)r[t]=255*Ke(r[t]/255);return n.putImageData(i,0,0),e}if(t.data){const e=t.data.slice(0);for(let t=0;t<e.length;t++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[t]=Math.floor(255*Ke(e[t]/255)):e[t]=Ke(e[t]);return{data:e,width:t.width,height:t.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),t}}class on{constructor(t=null){this.isSource=!0,this.uuid=Ue(),this.data=t,this.version=0}set needsUpdate(t){!0===t&&this.version++}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.images[this.uuid])return t.images[this.uuid];const n={uuid:this.uuid,url:""},i=this.data;if(null!==i){let t;if(Array.isArray(i)){t=[];for(let e=0,n=i.length;e<n;e++)i[e].isDataTexture?t.push(ln(i[e].image)):t.push(ln(i[e]))}else t=ln(i);n.url=t}return e||(t.images[this.uuid]=n),n}}function ln(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?an.getDataURL(t):t.data?{data:Array.from(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let cn=0;class hn extends Le{constructor(t=hn.DEFAULT_IMAGE,e=hn.DEFAULT_MAPPING,n=it,i=it,r=lt,s=ht,a=bt,o=ut,l=hn.DEFAULT_ANISOTROPY,c=ve){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:cn++}),this.uuid=Ue(),this.name="",this.source=new on(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new We(0,0),this.repeat=new We(1,1),this.center=new We(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new je,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==J)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case nt:t.x=t.x-Math.floor(t.x);break;case it:t.x=t.x<0?0:1;break;case rt:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);}if(t.y<0||t.y>1)switch(this.wrapT){case nt:t.y=t.y-Math.floor(t.y);break;case it:t.y=t.y<0?0:1;break;case rt:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}}hn.DEFAULT_IMAGE=null,hn.DEFAULT_MAPPING=J,hn.DEFAULT_ANISOTROPY=1;class un{constructor(t=0,e=0,n=0,i=1){un.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)<s&&Math.abs(h-m)<s&&Math.abs(p-f)<s){if(Math.abs(c+u)<a&&Math.abs(h+m)<a&&Math.abs(p+f)<a&&Math.abs(l+d+g-3)<a)return this.set(1,0,0,0),this;e=Math.PI;const t=(l+1)/2,o=(d+1)/2,v=(g+1)/2,_=(c+u)/4,x=(h+m)/4,y=(p+f)/4;return t>o&&t>v?t<s?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(t),i=_/n,r=x/n):o>v?o<s?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(o),n=_/i,r=y/i):v<s?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(v),n=x/r,i=y/r),this.set(n,i,r,e),this}let v=Math.sqrt((f-p)*(f-p)+(h-m)*(h-m)+(u-c)*(u-c));return Math.abs(v)<.001&&(v=1),this.x=(f-p)/v,this.y=(h-m)/v,this.z=(u-c)/v,this.w=Math.acos((l+d+g-1)/2),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this.w=Math.max(t,Math.min(e,this.w)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this.w=t.w+(e.w-t.w)*n,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class dn extends Le{constructor(t=1,e=1,n={}){super(),this.isWebGLRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new un(0,0,t,e),this.scissorTest=!1,this.viewport=new un(0,0,t,e);const i={width:t,height:e,depth:1};this.texture=new hn(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:lt,this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null,this.samples=void 0!==n.samples?n.samples:0}setSize(t,e,n=1){this.width===t&&this.height===e&&this.depth===n||(this.width=t,this.height=e,this.depth=n,this.texture.image.width=t,this.texture.image.height=e,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)}clone(){return new this.constructor().copy(this)}copy(t){this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},t.texture.image);return this.texture.source=new on(e),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.samples=t.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class pn extends hn{constructor(t=null,e=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=st,this.minFilter=st,this.wrapR=it,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class mn extends hn{constructor(t=null,e=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:t,width:e,height:n,depth:i},this.magFilter=st,this.minFilter=st,this.wrapR=it,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class fn{constructor(t=0,e=0,n=0,i=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=n,this._w=i}static slerpFlat(t,e,n,i,r,s,a){let o=n[i+0],l=n[i+1],c=n[i+2],h=n[i+3];const u=r[s+0],d=r[s+1],p=r[s+2],m=r[s+3];if(0===a)return t[e+0]=o,t[e+1]=l,t[e+2]=c,void(t[e+3]=h);if(1===a)return t[e+0]=u,t[e+1]=d,t[e+2]=p,void(t[e+3]=m);if(h!==m||o!==u||l!==d||c!==p){let t=1-a;const e=o*u+l*d+c*p+h*m,n=e>=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s);}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return n<Number.EPSILON?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Ne(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(r),n*Math.cos(r),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class gn{constructor(t=0,e=0,n=0){gn.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(_n.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(_n.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*i-a*n,c=o*n+a*e-r*i,h=o*i+r*n-s*e,u=-r*e-s*n-a*i;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return vn.copy(this).projectOnVector(t),this.sub(vn)}reflect(t){return this.sub(vn.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(Ne(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const vn=new gn,_n=new fn;class xn{constructor(t=new gn(1/0,1/0,1/0),e=new gn(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e+=3)this.expandByPoint(Mn.fromArray(t,e));return this}setFromBufferAttribute(t){this.makeEmpty();for(let e=0,n=t.count;e<n;e++)this.expandByPoint(Mn.fromBufferAttribute(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Mn.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}setFromObject(t,e=!1){return this.makeEmpty(),this.expandByObject(t,e)}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(t){return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t,e=!1){if(t.updateWorldMatrix(!1,!1),void 0!==t.boundingBox)null===t.boundingBox&&t.computeBoundingBox(),Sn.copy(t.boundingBox),Sn.applyMatrix4(t.matrixWorld),this.union(Sn);else{const n=t.geometry;if(void 0!==n)if(e&&void 0!==n.attributes&&void 0!==n.attributes.position){const e=n.attributes.position;for(let n=0,i=e.count;n<i;n++)Mn.fromBufferAttribute(e,n).applyMatrix4(t.matrixWorld),this.expandByPoint(Mn)}else null===n.boundingBox&&n.computeBoundingBox(),Sn.copy(n.boundingBox),Sn.applyMatrix4(t.matrixWorld),this.union(Sn)}const n=t.children;for(let t=0,i=n.length;t<i;t++)this.expandByObject(n[t],e);return this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)}intersectsSphere(t){return this.clampPoint(t.center,Mn),Mn.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Ln),Pn.subVectors(this.max,Ln),bn.subVectors(t.a,Ln),wn.subVectors(t.b,Ln),Tn.subVectors(t.c,Ln),En.subVectors(wn,bn),An.subVectors(Tn,wn),Cn.subVectors(bn,Tn);let e=[0,-En.z,En.y,0,-An.z,An.y,0,-Cn.z,Cn.y,En.z,0,-En.x,An.z,0,-An.x,Cn.z,0,-Cn.x,-En.y,En.x,0,-An.y,An.x,0,-Cn.y,Cn.x,0];return!!Dn(e,bn,wn,Tn,Pn)&&(e=[1,0,0,0,1,0,0,0,1],!!Dn(e,bn,wn,Tn,Pn)&&(Rn.crossVectors(En,An),e=[Rn.x,Rn.y,Rn.z],Dn(e,bn,wn,Tn,Pn)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Mn).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(Mn).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(yn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),yn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),yn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),yn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),yn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),yn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),yn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),yn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(yn)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const yn=[new gn,new gn,new gn,new gn,new gn,new gn,new gn,new gn],Mn=new gn,Sn=new xn,bn=new gn,wn=new gn,Tn=new gn,En=new gn,An=new gn,Cn=new gn,Ln=new gn,Pn=new gn,Rn=new gn,In=new gn;function Dn(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){In.fromArray(t,s);const a=r.x*Math.abs(In.x)+r.y*Math.abs(In.y)+r.z*Math.abs(In.z),o=e.dot(In),l=n.dot(In),c=i.dot(In);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Un=new xn,Nn=new gn,On=new gn;class zn{constructor(t=new gn,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Un.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;e<r;e++)i=Math.max(i,n.distanceToSquared(t[e]));return this.radius=Math.sqrt(i),this}copy(t){return this.center.copy(t.center),this.radius=t.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(t){return t.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(t){return t.distanceTo(this.center)-this.radius}intersectsSphere(t){const e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e}intersectsBox(t){return t.intersectsSphere(this)}intersectsPlane(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius}clampPoint(t,e){const n=this.center.distanceToSquared(t);return e.copy(t),n>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;Nn.subVectors(t,this.center);const e=Nn.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.addScaledVector(Nn,n/t),this.radius+=n}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(On.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(Nn.copy(t.center).add(On)),this.expandByPoint(Nn.copy(t.center).sub(On))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Bn=new gn,Fn=new gn,kn=new gn,Gn=new gn,Vn=new gn,Hn=new gn,Wn=new gn;class jn{constructor(t=new gn,e=new gn(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Bn)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Bn.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Bn.copy(this.origin).addScaledVector(this.direction,e),Bn.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){Fn.copy(t).add(e).multiplyScalar(.5),kn.copy(e).sub(t).normalize(),Gn.copy(this.origin).sub(Fn);const r=.5*t.distanceTo(e),s=-this.direction.dot(kn),a=Gn.dot(this.direction),o=-Gn.dot(kn),l=Gn.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0){if(h=s*o-a,u=s*a-o,p=r*c,h>=0){if(u>=-p){if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);}else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(Fn).addScaledVector(kn,u),d}intersectSphere(t,e){Bn.subVectors(t.center,this.origin);const n=Bn.dot(this.direction),i=Bn.dot(Bn)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||isNaN(n))&&(n=r),(s<i||isNaN(i))&&(i=s),h>=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!=n)&&(n=a),(o<i||i!=i)&&(i=o),i<0?null:this.at(n>=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,Bn)}intersectTriangle(t,e,n,i,r){Vn.subVectors(e,t),Hn.subVectors(n,t),Wn.crossVectors(Vn,Hn);let s,a=this.direction.dot(Wn);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Gn.subVectors(this.origin,t);const o=s*this.direction.dot(Hn.crossVectors(Gn,Hn));if(o<0)return null;const l=s*this.direction.dot(Vn.cross(Gn));if(l<0)return null;if(o+l>a)return null;const c=-s*Gn.dot(Wn);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class qn{constructor(){qn.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new qn().fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/Xn.setFromMatrixColumn(t,0).length(),r=1/Xn.setFromMatrixColumn(t,1).length(),s=1/Xn.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(Zn,t,Jn)}lookAt(t,e,n){const i=this.elements;return Qn.subVectors(t,e),0===Qn.lengthSq()&&(Qn.z=1),Qn.normalize(),Kn.crossVectors(n,Qn),0===Kn.lengthSq()&&(1===Math.abs(n.z)?Qn.x+=1e-4:Qn.z+=1e-4,Qn.normalize(),Kn.crossVectors(n,Qn)),Kn.normalize(),$n.crossVectors(Qn,Kn),i[0]=Kn.x,i[4]=$n.x,i[8]=Qn.x,i[1]=Kn.y,i[5]=$n.y,i[9]=Qn.y,i[2]=Kn.z,i[6]=$n.z,i[10]=Qn.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],v=n[3],_=n[7],x=n[11],y=n[15],M=i[0],S=i[4],b=i[8],w=i[12],T=i[1],E=i[5],A=i[9],C=i[13],L=i[2],P=i[6],R=i[10],I=i[14],D=i[3],U=i[7],N=i[11],O=i[15];return r[0]=s*M+a*T+o*L+l*D,r[4]=s*S+a*E+o*P+l*U,r[8]=s*b+a*A+o*R+l*N,r[12]=s*w+a*C+o*I+l*O,r[1]=c*M+h*T+u*L+d*D,r[5]=c*S+h*E+u*P+d*U,r[9]=c*b+h*A+u*R+d*N,r[13]=c*w+h*C+u*I+d*O,r[2]=p*M+m*T+f*L+g*D,r[6]=p*S+m*E+f*P+g*U,r[10]=p*b+m*A+f*R+g*N,r[14]=p*w+m*C+f*I+g*O,r[3]=v*M+_*T+x*L+y*D,r[7]=v*S+_*E+x*P+y*U,r[11]=v*b+_*A+x*R+y*N,r[15]=v*w+_*C+x*I+y*O,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,_=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,y=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,M=e*v+n*_+i*x+r*y;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/M;return t[0]=v*S,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*S,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*S,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*S,t[4]=_*S,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*S,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*S,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*S,t[8]=x*S,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*S,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*S,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*S,t[12]=y*S,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*S,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*S,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*S,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,_=o*c,x=o*h,y=n.x,M=n.y,S=n.z;return i[0]=(1-(m+g))*y,i[1]=(d+x)*y,i[2]=(p-_)*y,i[3]=0,i[4]=(d-x)*M,i[5]=(1-(u+g))*M,i[6]=(f+v)*M,i[7]=0,i[8]=(p+_)*S,i[9]=(f-v)*S,i[10]=(1-(u+m))*S,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=Xn.set(i[0],i[1],i[2]).length();const s=Xn.set(i[4],i[5],i[6]).length(),a=Xn.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],Yn.copy(this);const o=1/r,l=1/s,c=1/a;return Yn.elements[0]*=o,Yn.elements[1]*=o,Yn.elements[2]*=o,Yn.elements[4]*=l,Yn.elements[5]*=l,Yn.elements[6]*=l,Yn.elements[8]*=c,Yn.elements[9]*=c,Yn.elements[10]*=c,e.setFromRotationMatrix(Yn),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s){const a=this.elements,o=2*r/(e-t),l=2*r/(n-i),c=(e+t)/(e-t),h=(n+i)/(n-i),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,i,r,s){const a=this.elements,o=1/(e-t),l=1/(n-i),c=1/(s-r),h=(e+t)*o,u=(n+i)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const Xn=new gn,Yn=new qn,Zn=new gn(0,0,0),Jn=new gn(1,1,1),Kn=new gn,$n=new gn,Qn=new gn,ti=new qn,ei=new fn;class ni{constructor(t=0,e=0,n=0,i=ni.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(Ne(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Ne(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(Ne(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-Ne(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(Ne(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-Ne(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e);}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return ti.makeRotationFromQuaternion(t),this.setFromRotationMatrix(ti,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return ei.setFromEuler(this),this.setFromQuaternion(ei,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}ni.DEFAULT_ORDER="XYZ";class ii{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return 0!=(this.mask&t.mask)}isEnabled(t){return 0!=(this.mask&(1<<t|0))}}let ri=0;const si=new gn,ai=new fn,oi=new qn,li=new gn,ci=new gn,hi=new gn,ui=new fn,di=new gn(1,0,0),pi=new gn(0,1,0),mi=new gn(0,0,1),fi={type:"added"},gi={type:"removed"};class vi extends Le{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:ri++}),this.uuid=Ue(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=vi.DEFAULT_UP.clone();const t=new gn,e=new ni,n=new fn,i=new gn(1,1,1);e._onChange(function(){n.setFromEuler(e,!1)}),n._onChange(function(){e.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new qn},normalMatrix:{value:new je}}),this.matrix=new qn,this.matrixWorld=new qn,this.matrixAutoUpdate=vi.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=vi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new ii,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return ai.setFromAxisAngle(t,e),this.quaternion.multiply(ai),this}rotateOnWorldAxis(t,e){return ai.setFromAxisAngle(t,e),this.quaternion.premultiply(ai),this}rotateX(t){return this.rotateOnAxis(di,t)}rotateY(t){return this.rotateOnAxis(pi,t)}rotateZ(t){return this.rotateOnAxis(mi,t)}translateOnAxis(t,e){return si.copy(t).applyQuaternion(this.quaternion),this.position.add(si.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(di,t)}translateY(t){return this.translateOnAxis(pi,t)}translateZ(t){return this.translateOnAxis(mi,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(oi.copy(this.matrixWorld).invert())}lookAt(t,e,n){t.isVector3?li.copy(t):li.set(t,e,n);const i=this.parent;this.updateWorldMatrix(!0,!1),ci.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?oi.lookAt(ci,li,this.up):oi.lookAt(li,ci,this.up),this.quaternion.setFromRotationMatrix(oi),i&&(oi.extractRotation(i.matrixWorld),ai.setFromRotationMatrix(oi),this.quaternion.premultiply(ai.invert()))}add(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.dispatchEvent(fi)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}const e=this.children.indexOf(t);return-1!==e&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(gi)),this}removeFromParent(){const t=this.parent;return null!==t&&t.remove(this),this}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=null,e.dispatchEvent(gi)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),oi.copy(this.matrixWorld).invert(),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),oi.multiply(t.parent.matrixWorld)),t.applyMatrix4(oi),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n].getObjectByProperty(t,e);if(void 0!==i)return i}}getObjectsByProperty(t,e){let n=[];this[t]===e&&n.push(this);for(let i=0,r=this.children.length;i<r;i++){const r=this.children[i].getObjectsByProperty(t,e);r.length>0&&(n=n.concat(r))}return n}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ci,t,hi),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(ci,ui,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverse(t)}traverseVisible(t){if(!1===this.visible)return;t(this);const e=this.children;for(let n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}traverseAncestors(t){const e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);const e=this.children;for(let n=0,i=e.length;n<i;n++){const i=e[n];!0!==i.matrixWorldAutoUpdate&&!0!==t||i.updateMatrixWorld(t)}}updateWorldMatrix(t,e){const n=this.parent;if(!0===t&&null!==n&&!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e){const t=this.children;for(let e=0,n=t.length;e<n;e++){const n=t[e];!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!1,!0)}}}toJSON(t){const e=void 0===t||"string"==typeof t,n={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const i={};function r(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e<i;e++){const i=n[e];r(t.shapes,i)}else r(t.shapes,n)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(t.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let n=0,i=this.material.length;n<i;n++)e.push(r(t.materials,this.material[n]));i.material=e}else i.material=r(t.materials,this.material);if(this.children.length>0){i.children=[];for(let e=0;e<this.children.length;e++)i.children.push(this.children[e].toJSON(t).object)}if(this.animations.length>0){i.animations=[];for(let e=0;e<this.animations.length;e++){const n=this.animations[e];i.animations.push(r(t.animations,n))}}if(e){const e=s(t.geometries),i=s(t.materials),r=s(t.textures),a=s(t.images),o=s(t.shapes),l=s(t.skeletons),c=s(t.animations),h=s(t.nodes);e.length>0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),h.length>0&&(n.nodes=h)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e<t.children.length;e++){const n=t.children[e];this.add(n.clone())}return this}}vi.DEFAULT_UP=new gn(0,1,0),vi.DEFAULT_MATRIX_AUTO_UPDATE=!0,vi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const _i=new gn,xi=new gn,yi=new gn,Mi=new gn,Si=new gn,bi=new gn,wi=new gn,Ti=new gn,Ei=new gn,Ai=new gn;let Ci=!1;class Li{constructor(t=new gn,e=new gn,n=new gn){this.a=t,this.b=e,this.c=n}static getNormal(t,e,n,i){i.subVectors(n,e),_i.subVectors(t,e),i.cross(_i);const r=i.lengthSq();return r>0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){_i.subVectors(i,e),xi.subVectors(n,e),yi.subVectors(t,e);const s=_i.dot(_i),a=_i.dot(xi),o=_i.dot(yi),l=xi.dot(xi),c=xi.dot(yi),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,Mi),Mi.x>=0&&Mi.y>=0&&Mi.x+Mi.y<=1}static getUV(t,e,n,i,r,s,a,o){return!1===Ci&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ci=!0),this.getInterpolation(t,e,n,i,r,s,a,o)}static getInterpolation(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,Mi),o.setScalar(0),o.addScaledVector(r,Mi.x),o.addScaledVector(s,Mi.y),o.addScaledVector(a,Mi.z),o}static isFrontFacing(t,e,n,i){return _i.subVectors(n,e),xi.subVectors(t,e),_i.cross(xi).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return _i.subVectors(this.c,this.b),xi.subVectors(this.a,this.b),.5*_i.cross(xi).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Li.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Li.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return!1===Ci&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ci=!0),Li.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}getInterpolation(t,e,n,i,r){return Li.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return Li.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Li.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;Si.subVectors(i,n),bi.subVectors(r,n),Ti.subVectors(t,n);const o=Si.dot(Ti),l=bi.dot(Ti);if(o<=0&&l<=0)return e.copy(n);Ei.subVectors(t,i);const c=Si.dot(Ei),h=bi.dot(Ei);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(Si,s);Ai.subVectors(t,r);const d=Si.dot(Ai),p=bi.dot(Ai);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(bi,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return wi.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(wi,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(Si,s).addScaledVector(bi,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let Pi=0;class Ri extends Le{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:Pi++}),this.uuid=Ue(),this.name="",this.type="Material",this.blending=d,this.side=l,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=E,this.blendDst=A,this.blendEquation=v,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=O,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Te,this.stencilZFail=Te,this.stencilZPass=Te,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==d&&(n.blending=this.blending),this.side!==l&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}const Ii={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Di={h:0,s:0,l:0},Ui={h:0,s:0,l:0};function Ni(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}class Oi{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=Se){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,rn.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=rn.workingColorSpace){return this.r=t,this.g=e,this.b=n,rn.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=rn.workingColorSpace){if(t=Oe(t,1),e=Ne(e,0,1),n=Ne(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=Ni(r,i,t+1/3),this.g=Ni(r,i,t),this.b=Ni(r,i,t-1/3)}return rn.toWorkingColorSpace(this,i),this}setStyle(t,e=Se){function n(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let r;const s=i[1],a=i[2];switch(s){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,rn.toWorkingColorSpace(this,e),n(r[4]),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,rn.toWorkingColorSpace(this,e),n(r[4]),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){const t=parseFloat(r[1])/360,i=parseFloat(r[2])/100,s=parseFloat(r[3])/100;return n(r[4]),this.setHSL(t,i,s,e)}break;default:console.warn("THREE.Color: Unknown color model "+t);}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const n=i[1],r=n.length;if(3===r)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(6===r)return this.setHex(parseInt(n,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=Se){const n=Ii[t.toLowerCase()];return void 0!==n?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Ke(t.r),this.g=Ke(t.g),this.b=Ke(t.b),this}copyLinearToSRGB(t){return this.r=$e(t.r),this.g=$e(t.g),this.b=$e(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=Se){return rn.fromWorkingColorSpace(zi.copy(this),t),Ne(255*zi.r,0,255)<<16^Ne(255*zi.g,0,255)<<8^Ne(255*zi.b,0,255)<<0}getHexString(t=Se){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=rn.workingColorSpace){rn.fromWorkingColorSpace(zi.copy(this),e);const n=zi.r,i=zi.g,r=zi.b,s=Math.max(n,i,r),a=Math.min(n,i,r);let o,l;const c=(a+s)/2;if(a===s)o=0,l=0;else{const t=s-a;switch(l=c<=.5?t/(s+a):t/(2-s-a),s){case n:o=(i-r)/t+(i<r?6:0);break;case i:o=(r-n)/t+2;break;case r:o=(n-i)/t+4;}o/=6}return t.h=o,t.s=l,t.l=c,t}getRGB(t,e=rn.workingColorSpace){return rn.fromWorkingColorSpace(zi.copy(this),e),t.r=zi.r,t.g=zi.g,t.b=zi.b,t}getStyle(t=Se){rn.fromWorkingColorSpace(zi.copy(this),t);const e=zi.r,n=zi.g,i=zi.b;return t!==Se?`color(${t} ${e.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${255*e|0},${255*n|0},${255*i|0})`}offsetHSL(t,e,n){return this.getHSL(Di),Di.h+=t,Di.s+=e,Di.l+=n,this.setHSL(Di.h,Di.s,Di.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,n){return this.r=t.r+(e.r-t.r)*n,this.g=t.g+(e.g-t.g)*n,this.b=t.b+(e.b-t.b)*n,this}lerpHSL(t,e){this.getHSL(Di),t.getHSL(Ui);const n=ze(Di.h,Ui.h,e),i=ze(Di.s,Ui.s,e),r=ze(Di.l,Ui.l,e);return this.setHSL(n,i,r),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){const e=this.r,n=this.g,i=this.b,r=t.elements;return this.r=r[0]*e+r[3]*n+r[6]*i,this.g=r[1]*e+r[4]*n+r[7]*i,this.b=r[2]*e+r[5]*n+r[8]*i,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const zi=new Oi;Oi.NAMES=Ii;class Bi extends Ri{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Oi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Fi=ki();function ki(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),i=new Uint32Array(512),r=new Uint32Array(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(i[t]=0,i[256|t]=32768,r[t]=24,r[256|t]=24):e<-14?(i[t]=1024>>-e-14,i[256|t]=1024>>-e-14|32768,r[t]=-e-1,r[256|t]=-e-1):e<=15?(i[t]=e+15<<10,i[256|t]=e+15<<10|32768,r[t]=13,r[256|t]=13):e<128?(i[t]=31744,i[256|t]=64512,r[t]=24,r[256|t]=24):(i[t]=31744,i[256|t]=64512,r[t]=13,r[256|t]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13,n=0;for(;0==(8388608&e);)e<<=1,n-=8388608;e&=-8388609,n+=947912704,s[t]=e|n}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944,a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(o[t]=1024);return{floatView:e,uint32View:n,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function Gi(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=Ne(t,-65504,65504),Fi.floatView[0]=t;const e=Fi.uint32View[0],n=e>>23&511;return Fi.baseTable[n]+((8388607&e)>>Fi.shiftTable[n])}function Vi(t){const e=t>>10;return Fi.uint32View[0]=Fi.mantissaTable[Fi.offsetTable[e]+(1023&t)]+Fi.exponentTable[e],Fi.floatView[0]}const Hi={toHalfFloat:Gi,fromHalfFloat:Vi},Wi=new gn,ji=new We;class qi{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n,this.usage=Ee,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this}copyArray(t){return this.array.set(t),this}applyMatrix3(t){if(2===this.itemSize)for(let e=0,n=this.count;e<n;e++)ji.fromBufferAttribute(this,e),ji.applyMatrix3(t),this.setXY(e,ji.x,ji.y);else if(3===this.itemSize)for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyMatrix3(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}applyMatrix4(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyMatrix4(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.applyNormalMatrix(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)Wi.fromBufferAttribute(this,e),Wi.transformDirection(t),this.setXYZ(e,Wi.x,Wi.y,Wi.z);return this}set(t,e=0){return this.array.set(t,e),this}getX(t){let e=this.array[t*this.itemSize];return this.normalized&&(e=Ge(e,this.array)),e}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize]=e,this}getY(t){let e=this.array[t*this.itemSize+1];return this.normalized&&(e=Ge(e,this.array)),e}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+1]=e,this}getZ(t){let e=this.array[t*this.itemSize+2];return this.normalized&&(e=Ge(e,this.array)),e}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+2]=e,this}getW(t){let e=this.array[t*this.itemSize+3];return this.normalized&&(e=Ge(e,this.array)),e}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+3]=e,this}setXY(t,e,n){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.array[t+0]=e,this.array[t+1]=n,this}setXYZ(t,e,n,i){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this}onUpload(t){return this.onUploadCallback=t,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const t={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(t.name=this.name),this.usage!==Ee&&(t.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(t.updateRange=this.updateRange),t}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}}class Xi extends qi{constructor(t,e,n){super(new Uint16Array(t),e,n)}}class Yi extends qi{constructor(t,e,n){super(new Uint32Array(t),e,n)}}class Zi extends qi{constructor(t,e,n){super(new Float32Array(t),e,n)}}let Ji=0;const Ki=new qn,$i=new vi,Qi=new gn,tr=new xn,er=new xn,nr=new gn;class ir extends Le{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:Ji++}),this.uuid=Ue(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(Xe(t)?Yi:Xi)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=new je().getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return Ki.makeRotationFromQuaternion(t),this.applyMatrix4(Ki),this}rotateX(t){return Ki.makeRotationX(t),this.applyMatrix4(Ki),this}rotateY(t){return Ki.makeRotationY(t),this.applyMatrix4(Ki),this}rotateZ(t){return Ki.makeRotationZ(t),this.applyMatrix4(Ki),this}translate(t,e,n){return Ki.makeTranslation(t,e,n),this.applyMatrix4(Ki),this}scale(t,e,n){return Ki.makeScale(t,e,n),this.applyMatrix4(Ki),this}lookAt(t){return $i.lookAt(t),$i.updateMatrix(),this.applyMatrix4($i.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Qi).negate(),this.translate(Qi.x,Qi.y,Qi.z),this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n];e.push(i.x,i.y,i.z||0)}return this.setAttribute("position",new Zi(e,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new xn);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingBox.set(new gn(-1/0,-1/0,-1/0),new gn(1/0,1/0,1/0));if(void 0!==t){if(this.boundingBox.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];tr.setFromBufferAttribute(n),this.morphTargetsRelative?(nr.addVectors(this.boundingBox.min,tr.min),this.boundingBox.expandByPoint(nr),nr.addVectors(this.boundingBox.max,tr.max),this.boundingBox.expandByPoint(nr)):(this.boundingBox.expandByPoint(tr.min),this.boundingBox.expandByPoint(tr.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error("THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.",this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new zn);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute)return console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".",this),void this.boundingSphere.set(new gn,1/0);if(t){const n=this.boundingSphere.center;if(tr.setFromBufferAttribute(t),e)for(let t=0,n=e.length;t<n;t++){const n=e[t];er.setFromBufferAttribute(n),this.morphTargetsRelative?(nr.addVectors(tr.min,er.min),tr.expandByPoint(nr),nr.addVectors(tr.max,er.max),tr.expandByPoint(nr)):(tr.expandByPoint(er.min),tr.expandByPoint(er.max))}tr.getCenter(n);let i=0;for(let e=0,r=t.count;e<r;e++)nr.fromBufferAttribute(t,e),i=Math.max(i,n.distanceToSquared(nr));if(e)for(let r=0,s=e.length;r<s;r++){const s=e[r],a=this.morphTargetsRelative;for(let e=0,r=s.count;e<r;e++)nr.fromBufferAttribute(s,e),a&&(Qi.fromBufferAttribute(t,e),nr.add(Qi)),i=Math.max(i,n.distanceToSquared(nr))}this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error("THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.",this)}}computeTangents(){const t=this.index,e=this.attributes;if(null===t||void 0===e.position||void 0===e.normal||void 0===e.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const n=t.array,i=e.position.array,r=e.normal.array,s=e.uv.array,a=i.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new qi(new Float32Array(4*a),4));const o=this.getAttribute("tangent").array,l=[],c=[];for(let t=0;t<a;t++)l[t]=new gn,c[t]=new gn;const h=new gn,u=new gn,d=new gn,p=new We,m=new We,f=new We,g=new gn,v=new gn;function _(t,e,n){h.fromArray(i,3*t),u.fromArray(i,3*e),d.fromArray(i,3*n),p.fromArray(s,2*t),m.fromArray(s,2*e),f.fromArray(s,2*n),u.sub(h),d.sub(h),m.sub(p),f.sub(p);const r=1/(m.x*f.y-f.x*m.y);isFinite(r)&&(g.copy(u).multiplyScalar(f.y).addScaledVector(d,-m.y).multiplyScalar(r),v.copy(d).multiplyScalar(m.x).addScaledVector(u,-f.x).multiplyScalar(r),l[t].add(g),l[e].add(g),l[n].add(g),c[t].add(v),c[e].add(v),c[n].add(v))}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let t=0,e=x.length;t<e;++t){const e=x[t],i=e.start;for(let t=i,r=i+e.count;t<r;t+=3)_(n[t+0],n[t+1],n[t+2])}const y=new gn,M=new gn,S=new gn,b=new gn;function w(t){S.fromArray(r,3*t),b.copy(S);const e=l[t];y.copy(e),y.sub(S.multiplyScalar(S.dot(e))).normalize(),M.crossVectors(b,e);const n=M.dot(c[t])<0?-1:1;o[4*t]=y.x,o[4*t+1]=y.y,o[4*t+2]=y.z,o[4*t+3]=n}for(let t=0,e=x.length;t<e;++t){const e=x[t],i=e.start;for(let t=i,r=i+e.count;t<r;t+=3)w(n[t+0]),w(n[t+1]),w(n[t+2])}}computeVertexNormals(){const t=this.index,e=this.getAttribute("position");if(void 0!==e){let n=this.getAttribute("normal");if(void 0===n)n=new qi(new Float32Array(3*e.count),3),this.setAttribute("normal",n);else for(let t=0,e=n.count;t<e;t++)n.setXYZ(t,0,0,0);const i=new gn,r=new gn,s=new gn,a=new gn,o=new gn,l=new gn,c=new gn,h=new gn;if(t)for(let u=0,d=t.count;u<d;u+=3){const d=t.getX(u+0),p=t.getX(u+1),m=t.getX(u+2);i.fromBufferAttribute(e,d),r.fromBufferAttribute(e,p),s.fromBufferAttribute(e,m),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),a.fromBufferAttribute(n,d),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,m),a.add(c),o.add(c),l.add(c),n.setXYZ(d,a.x,a.y,a.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(m,l.x,l.y,l.z)}else for(let t=0,a=e.count;t<a;t+=3)i.fromBufferAttribute(e,t+0),r.fromBufferAttribute(e,t+1),s.fromBufferAttribute(e,t+2),c.subVectors(s,r),h.subVectors(i,r),c.cross(h),n.setXYZ(t+0,c.x,c.y,c.z),n.setXYZ(t+1,c.x,c.y,c.z),n.setXYZ(t+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeGeometries() instead."),this}normalizeNormals(){const t=this.attributes.normal;for(let e=0,n=t.count;e<n;e++)nr.fromBufferAttribute(t,e),nr.normalize(),t.setXYZ(e,nr.x,nr.y,nr.z)}toNonIndexed(){function t(t,e){const n=t.array,i=t.itemSize,r=t.normalized,s=new n.constructor(e.length*i);let a=0,o=0;for(let r=0,l=e.length;r<l;r++){a=t.isInterleavedBufferAttribute?e[r]*t.data.stride+t.offset:e[r]*i;for(let t=0;t<i;t++)s[o++]=n[a++]}return new qi(s,i,r)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const e=new ir,n=this.index.array,i=this.attributes;for(const r in i){const s=t(i[r],n);e.setAttribute(r,s)}const r=this.morphAttributes;for(const i in r){const s=[],a=r[i];for(let e=0,i=a.length;e<i;e++){const i=t(a[e],n);s.push(i)}e.morphAttributes[i]=s}e.morphTargetsRelative=this.morphTargetsRelative;const s=this.groups;for(let t=0,n=s.length;t<n;t++){const n=s[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],s=[];for(let e=0,i=n.length;e<i;e++){const i=n[e];s.push(i.toJSON(t.data))}s.length>0&&(i[e]=s,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t<r;t++)n.push(i[t].clone(e));this.morphAttributes[t]=n}this.morphTargetsRelative=t.morphTargetsRelative;const s=t.groups;for(let t=0,e=s.length;t<e;t++){const e=s[t];this.addGroup(e.start,e.count,e.materialIndex)}const a=t.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=t.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const rr=new qn,sr=new jn,ar=new zn,or=new gn,lr=new gn,cr=new gn,hr=new gn,ur=new gn,dr=new gn,pr=new We,mr=new We,fr=new We,gr=new gn,vr=new gn,_r=new gn,xr=new gn,yr=new gn;class Mr extends vi{constructor(t=new ir,e=new Bi){super(),this.isMesh=!0,this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=t.material,this.geometry=t.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}getVertexPosition(t,e){const n=this.geometry,i=n.attributes.position,r=n.morphAttributes.position,s=n.morphTargetsRelative;e.fromBufferAttribute(i,t);const a=this.morphTargetInfluences;if(r&&a){dr.set(0,0,0);for(let n=0,i=r.length;n<i;n++){const i=a[n],o=r[n];0!==i&&(ur.fromBufferAttribute(o,t),s?dr.addScaledVector(ur,i):dr.addScaledVector(ur.sub(e),i))}e.add(dr)}return this.isSkinnedMesh&&this.applyBoneTransform(t,e),e}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),ar.copy(n.boundingSphere),ar.applyMatrix4(r),sr.copy(t.ray).recast(t.near),!1===ar.containsPoint(sr.origin)){if(null===sr.intersectSphere(ar,or))return;if(sr.origin.distanceToSquared(or)>(t.far-t.near)**2)return}if(rr.copy(r).invert(),sr.copy(t.ray).applyMatrix4(rr),null!==n.boundingBox&&!1===sr.intersectsBox(n.boundingBox))return;let s;const a=n.index,o=n.attributes.position,l=n.attributes.uv,c=n.attributes.uv2,h=n.attributes.normal,u=n.groups,d=n.drawRange;if(null!==a){if(Array.isArray(i))for(let n=0,r=u.length;n<r;n++){const r=u[n],o=i[r.materialIndex];for(let n=Math.max(r.start,d.start),i=Math.min(a.count,Math.min(r.start+r.count,d.start+d.count));n<i;n+=3){const i=a.getX(n),u=a.getX(n+1),d=a.getX(n+2);s=Sr(this,o,t,sr,l,c,h,i,u,d),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),r=Math.min(a.count,d.start+d.count);n<r;n+=3){const r=a.getX(n),o=a.getX(n+1),u=a.getX(n+2);s=Sr(this,i,t,sr,l,c,h,r,o,u),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}}else if(void 0!==o)if(Array.isArray(i))for(let n=0,r=u.length;n<r;n++){const r=u[n],a=i[r.materialIndex];for(let n=Math.max(r.start,d.start),i=Math.min(o.count,Math.min(r.start+r.count,d.start+d.count));n<i;n+=3){s=Sr(this,a,t,sr,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),s.face.materialIndex=r.materialIndex,e.push(s))}}else{for(let n=Math.max(0,d.start),r=Math.min(o.count,d.start+d.count);n<r;n+=3){s=Sr(this,i,t,sr,l,c,h,n,n+1,n+2),s&&(s.faceIndex=Math.floor(n/3),e.push(s))}}}}function Sr(t,e,n,i,r,s,a,o,h,u){t.getVertexPosition(o,lr),t.getVertexPosition(h,cr),t.getVertexPosition(u,hr);const d=function(t,e,n,i,r,s,a,o){let h;if(h=e.side===c?i.intersectTriangle(a,s,r,!0,o):i.intersectTriangle(r,s,a,e.side===l,o),null===h)return null;yr.copy(o),yr.applyMatrix4(t.matrixWorld);const u=n.ray.origin.distanceTo(yr);return u<n.near||u>n.far?null:{distance:u,point:yr.clone(),object:t}}(t,e,n,i,lr,cr,hr,xr);if(d){r&&(pr.fromBufferAttribute(r,o),mr.fromBufferAttribute(r,h),fr.fromBufferAttribute(r,u),d.uv=Li.getInterpolation(xr,lr,cr,hr,pr,mr,fr,new We)),s&&(pr.fromBufferAttribute(s,o),mr.fromBufferAttribute(s,h),fr.fromBufferAttribute(s,u),d.uv2=Li.getInterpolation(xr,lr,cr,hr,pr,mr,fr,new We)),a&&(gr.fromBufferAttribute(a,o),vr.fromBufferAttribute(a,h),_r.fromBufferAttribute(a,u),d.normal=Li.getInterpolation(xr,lr,cr,hr,gr,vr,_r,new gn),d.normal.dot(i.direction)>0&&d.normal.multiplyScalar(-1));const t={a:o,b:h,c:u,normal:new gn,materialIndex:0};Li.getNormal(lr,cr,hr,t.normal),d.face=t}return d}class br extends ir{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,v){const _=s/f,x=p/g,y=s/2,M=p/2,S=m/2,b=f+1,w=g+1;let T=0,E=0;const A=new gn;for(let s=0;s<w;s++){const a=s*x-M;for(let o=0;o<b;o++){const u=o*_-y;A[t]=u*i,A[e]=a*r,A[n]=S,l.push(A.x,A.y,A.z),A[t]=0,A[e]=0,A[n]=m>0?1:-1,c.push(A.x,A.y,A.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t<g;t++)for(let e=0;e<f;e++){const n=u+e+b*t,i=u+e+b*(t+1),r=u+(e+1)+b*(t+1),s=u+(e+1)+b*t;o.push(n,i,s),o.push(i,r,s),E+=6}a.addGroup(d,E,v),d+=E,u+=T}p("z","y","x",-1,-1,n,e,t,s,r,0),p("z","y","x",1,-1,n,e,-t,s,r,1),p("x","z","y",1,1,t,n,e,i,s,2),p("x","z","y",1,-1,t,n,-e,i,s,3),p("x","y","z",1,-1,t,e,n,i,r,4),p("x","y","z",-1,-1,t,e,-n,i,r,5),this.setIndex(o),this.setAttribute("position",new Zi(l,3)),this.setAttribute("normal",new Zi(c,3)),this.setAttribute("uv",new Zi(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new br(t.width,t.height,t.depth,t.widthSegments,t.heightSegments,t.depthSegments)}}function wr(t){const e={};for(const n in t){e[n]={};for(const i in t[n]){const r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[n][i]=null):e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}function Tr(t){const e={};for(let n=0;n<t.length;n++){const i=wr(t[n]);for(const t in i)e[t]=i[t]}return e}function Er(t){return null===t.getRenderTarget()&&t.outputEncoding===_e?Se:be}const Ar={clone:wr,merge:Tr};class Cr extends Ri{constructor(t){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==t&&this.setValues(t)}copy(t){return super.copy(t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=wr(t.uniforms),this.uniformsGroups=function(t){const e=[];for(let n=0;n<t.length;n++)e.push(t[n].clone());return e}(t.uniformsGroups),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.fog=t.fog,this.lights=t.lights,this.clipping=t.clipping,this.extensions=Object.assign({},t.extensions),this.glslVersion=t.glslVersion,this}toJSON(t){const e=super.toJSON(t);e.glslVersion=this.glslVersion,e.uniforms={};for(const n in this.uniforms){const i=this.uniforms[n].value;i&&i.isTexture?e.uniforms[n]={type:"t",value:i.toJSON(t).uuid}:i&&i.isColor?e.uniforms[n]={type:"c",value:i.getHex()}:i&&i.isVector2?e.uniforms[n]={type:"v2",value:i.toArray()}:i&&i.isVector3?e.uniforms[n]={type:"v3",value:i.toArray()}:i&&i.isVector4?e.uniforms[n]={type:"v4",value:i.toArray()}:i&&i.isMatrix3?e.uniforms[n]={type:"m3",value:i.toArray()}:i&&i.isMatrix4?e.uniforms[n]={type:"m4",value:i.toArray()}:e.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class Lr extends vi{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new qn,this.projectionMatrix=new qn,this.projectionMatrixInverse=new qn}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class Pr extends Lr{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*De*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*Ie*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*De*Math.atan(Math.tan(.5*Ie*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*Ie*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const Rr=-90;class Ir extends vi{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n;const i=new Pr(Rr,1,t,e);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(1,0,0),this.add(i);const r=new Pr(Rr,1,t,e);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(-1,0,0),this.add(r);const s=new Pr(Rr,1,t,e);s.layers=this.layers,s.up.set(0,0,-1),s.lookAt(0,1,0),this.add(s);const a=new Pr(Rr,1,t,e);a.layers=this.layers,a.up.set(0,0,1),a.lookAt(0,-1,0),this.add(a);const o=new Pr(Rr,1,t,e);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,1),this.add(o);const l=new Pr(Rr,1,t,e);l.layers=this.layers,l.up.set(0,1,0),l.lookAt(0,0,-1),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,s,a,o,l]=this.children,c=t.getRenderTarget(),h=t.toneMapping,u=t.xr.enabled;t.toneMapping=W,t.xr.enabled=!1;const d=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,s),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=d,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(c),t.toneMapping=h,t.xr.enabled=u,n.texture.needsPMREMUpdate=!0}}class Dr extends hn{constructor(t,e,n,i,r,s,a,o,l,c){super(t=void 0!==t?t:[],e=void 0!==e?e:K,n,i,r,s,a,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class Ur extends dn{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];this.texture=new Dr(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:lt}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new br(5,5,5),r=new Cr({name:"CubemapFromEquirect",uniforms:wr(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:c,blending:u});r.uniforms.tEquirect.value=e;const s=new Mr(i,r),a=e.minFilter;e.minFilter===ht&&(e.minFilter=lt);return new Ir(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}const Nr=new gn,Or=new gn,zr=new je;class Br{constructor(t=new gn(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=Nr.subVectors(n,e).cross(Or.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(Nr),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(t.start).addScaledVector(n,r)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||zr.getNormalMatrix(t),i=this.coplanarPoint(Nr).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Fr=new zn,kr=new gn;class Gr{constructor(t=new Br,e=new Br,n=new Br,i=new Br,r=new Br,s=new Br){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],s=n[2],a=n[3],o=n[4],l=n[5],c=n[6],h=n[7],u=n[8],d=n[9],p=n[10],m=n[11],f=n[12],g=n[13],v=n[14],_=n[15];return e[0].setComponents(a-i,h-o,m-u,_-f).normalize(),e[1].setComponents(a+i,h+o,m+u,_+f).normalize(),e[2].setComponents(a+r,h+l,m+d,_+g).normalize(),e[3].setComponents(a-r,h-l,m-d,_-g).normalize(),e[4].setComponents(a-s,h-c,m-p,_-v).normalize(),e[5].setComponents(a+s,h+c,m+p,_+v).normalize(),this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),Fr.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),Fr.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Fr)}intersectsSprite(t){return Fr.center.set(0,0,0),Fr.radius=.7071067811865476,Fr.applyMatrix4(t.matrixWorld),this.intersectsSphere(Fr)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)<i)return!1}return!0}intersectsBox(t){const e=this.planes;for(let n=0;n<6;n++){const i=e[n];if(kr.x=i.normal.x>0?t.max.x:t.min.x,kr.y=i.normal.y>0?t.max.y:t.min.y,kr.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(kr)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function Vr(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function Hr(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version<e.version)&&i.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version}))}e.isInterleavedBufferAttribute&&(e=e.data);const s=i.get(e);void 0===s?i.set(e,function(e,i){const r=e.array,s=e.usage,a=t.createBuffer();let o;if(t.bindBuffer(i,a),t.bufferData(i,r,s),e.onUploadCallback(),r instanceof Float32Array)o=5126;else if(r instanceof Uint16Array){if(e.isFloat16BufferAttribute){if(!n)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");o=5131}else o=5123;}else if(r instanceof Int16Array)o=5122;else if(r instanceof Uint32Array)o=5125;else if(r instanceof Int32Array)o=5124;else if(r instanceof Int8Array)o=5120;else if(r instanceof Uint8Array)o=5121;else{if(!(r instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+r);o=5121}return{buffer:a,type:o,bytesPerElement:r.BYTES_PER_ELEMENT,version:e.version}}(e,r)):s.version<e.version&&(!function(e,i,r){const s=i.array,a=i.updateRange;t.bindBuffer(r,e),-1===a.count?t.bufferSubData(r,0,s):(n?t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):t.bufferSubData(r,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count)),a.count=-1),i.onUploadCallback()}(s.buffer,e,r),s.version=e.version)}}}class Wr extends ir{constructor(t=1,e=1,n=1,i=1){super(),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};const r=t/2,s=e/2,a=Math.floor(n),o=Math.floor(i),l=a+1,c=o+1,h=t/a,u=e/o,d=[],p=[],m=[],f=[];for(let t=0;t<c;t++){const e=t*u-s;for(let n=0;n<l;n++){const i=n*h-r;p.push(i,-e,0),m.push(0,0,1),f.push(n/a),f.push(1-t/o)}}for(let t=0;t<o;t++)for(let e=0;e<a;e++){const n=e+l*t,i=e+l*(t+1),r=e+1+l*(t+1),s=e+1+l*t;d.push(n,i,s),d.push(i,r,s)}this.setIndex(d),this.setAttribute("position",new Zi(p,3)),this.setAttribute("normal",new Zi(m,3)),this.setAttribute("uv",new Zi(f,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Wr(t.width,t.height,t.widthSegments,t.heightSegments)}}const jr={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"float G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n} // validated",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660,  0.0556434,\n\t\t-1.5371385,  1.8760108, -0.2040259,\n\t\t-0.4985314,  0.0415560,  1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n    float x2 = x * x;\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_NORMALMAP_TANGENTSPACE\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, vec2 fullSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\t\n\t\tvec2 lodFudge = pow( 1.95, lod ) / fullSize;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec2 fullSize = vec2( textureSize( sampler, 0 ) );\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), fullSize, floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), fullSize, ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_UV2\n\tattribute vec2 uv2;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <logdepthbuf_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}"},qr={common:{diffuse:{value:new Oi(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new je},alphaMap:{value:null},alphaMapTransform:{value:new je},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new je}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new je}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new je}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new je},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new je},normalScale:{value:new We(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new je},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new je}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new je}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new je}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Oi(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Oi(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new je}},sprite:{diffuse:{value:new Oi(16777215)},opacity:{value:1},center:{value:new We(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new je},alphaMap:{value:null},alphaTest:{value:0}}},Xr={basic:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.fog]),vertexShader:jr.meshbasic_vert,fragmentShader:jr.meshbasic_frag},lambert:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)}}]),vertexShader:jr.meshlambert_vert,fragmentShader:jr.meshlambert_frag},phong:{uniforms:Tr([qr.common,qr.specularmap,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)},specular:{value:new Oi(1118481)},shininess:{value:30}}]),vertexShader:jr.meshphong_vert,fragmentShader:jr.meshphong_frag},standard:{uniforms:Tr([qr.common,qr.envmap,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.roughnessmap,qr.metalnessmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:jr.meshphysical_vert,fragmentShader:jr.meshphysical_frag},toon:{uniforms:Tr([qr.common,qr.aomap,qr.lightmap,qr.emissivemap,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.gradientmap,qr.fog,qr.lights,{emissive:{value:new Oi(0)}}]),vertexShader:jr.meshtoon_vert,fragmentShader:jr.meshtoon_frag},matcap:{uniforms:Tr([qr.common,qr.bumpmap,qr.normalmap,qr.displacementmap,qr.fog,{matcap:{value:null}}]),vertexShader:jr.meshmatcap_vert,fragmentShader:jr.meshmatcap_frag},points:{uniforms:Tr([qr.points,qr.fog]),vertexShader:jr.points_vert,fragmentShader:jr.points_frag},dashed:{uniforms:Tr([qr.common,qr.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:jr.linedashed_vert,fragmentShader:jr.linedashed_frag},depth:{uniforms:Tr([qr.common,qr.displacementmap]),vertexShader:jr.depth_vert,fragmentShader:jr.depth_frag},normal:{uniforms:Tr([qr.common,qr.bumpmap,qr.normalmap,qr.displacementmap,{opacity:{value:1}}]),vertexShader:jr.meshnormal_vert,fragmentShader:jr.meshnormal_frag},sprite:{uniforms:Tr([qr.sprite,qr.fog]),vertexShader:jr.sprite_vert,fragmentShader:jr.sprite_frag},background:{uniforms:{uvTransform:{value:new je},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:jr.background_vert,fragmentShader:jr.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:jr.backgroundCube_vert,fragmentShader:jr.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:jr.cube_vert,fragmentShader:jr.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:jr.equirect_vert,fragmentShader:jr.equirect_frag},distanceRGBA:{uniforms:Tr([qr.common,qr.displacementmap,{referencePosition:{value:new gn},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:jr.distanceRGBA_vert,fragmentShader:jr.distanceRGBA_frag},shadow:{uniforms:Tr([qr.lights,qr.fog,{color:{value:new Oi(0)},opacity:{value:1}}]),vertexShader:jr.shadow_vert,fragmentShader:jr.shadow_frag}};Xr.physical={uniforms:Tr([Xr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new je},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new je},clearcoatNormalScale:{value:new We(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new je},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new je},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new je},sheen:{value:0},sheenColor:{value:new Oi(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new je},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new je},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new je},transmissionSamplerSize:{value:new We},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new je},attenuationDistance:{value:0},attenuationColor:{value:new Oi(0)},specularColor:{value:new Oi(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new je},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new je}}]),vertexShader:jr.meshphysical_vert,fragmentShader:jr.meshphysical_frag};const Yr={r:0,b:0,g:0};function Zr(t,e,n,i,r,s,a){const o=new Oi(0);let h,u,d=!0===s?0:1,p=null,m=0,f=null;function g(e,n){e.getRGB(Yr,Er(t)),i.buffers.color.setClear(Yr.r,Yr.g,Yr.b,n,a)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),d=e,g(o,d)},getClearAlpha:function(){return d},setClearAlpha:function(t){d=t,g(o,d)},render:function(i,s){let a=!1,v=!0===s.isScene?s.background:null;if(v&&v.isTexture){v=(s.backgroundBlurriness>0?n:e).get(v)}const _=t.xr,x=_.getSession&&_.getSession();x&&"additive"===x.environmentBlendMode&&(v=null),null===v?g(o,d):v&&v.isColor&&(g(v,1),a=!0),(t.autoClear||a)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),v&&(v.isCubeTexture||v.mapping===et)?(void 0===u&&(u=new Mr(new br(1,1,1),new Cr({name:"BackgroundCubeMaterial",uniforms:wr(Xr.backgroundCube.uniforms),vertexShader:Xr.backgroundCube.vertexShader,fragmentShader:Xr.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),u.material.uniforms.envMap.value=v,u.material.uniforms.flipEnvMap.value=v.isCubeTexture&&!1===v.isRenderTargetTexture?-1:1,u.material.uniforms.backgroundBlurriness.value=s.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=s.backgroundIntensity,u.material.toneMapped=v.encoding!==_e,p===v&&m===v.version&&f===t.toneMapping||(u.material.needsUpdate=!0,p=v,m=v.version,f=t.toneMapping),u.layers.enableAll(),i.unshift(u,u.geometry,u.material,0,0,null)):v&&v.isTexture&&(void 0===h&&(h=new Mr(new Wr(2,2),new Cr({name:"BackgroundMaterial",uniforms:wr(Xr.background.uniforms),vertexShader:Xr.background.vertexShader,fragmentShader:Xr.background.fragmentShader,side:l,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(h)),h.material.uniforms.t2D.value=v,h.material.uniforms.backgroundIntensity.value=s.backgroundIntensity,h.material.toneMapped=v.encoding!==_e,!0===v.matrixAutoUpdate&&v.updateMatrix(),h.material.uniforms.uvTransform.value.copy(v.matrix),p===v&&m===v.version&&f===t.toneMapping||(h.material.needsUpdate=!0,p=v,m=v.version,f=t.toneMapping),h.layers.enableAll(),i.unshift(h,h.geometry,h.material,0,0,null))}}}function Jr(t,e,n,i){const r=t.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=p(null);let c=l,h=!1;function u(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function d(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function p(t){const e=[],n=[],i=[];for(let t=0;t<r;t++)e[t]=0,n[t]=0,i[t]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:n,attributeDivisors:i,object:t,attributes:{},index:null}}function m(){const t=c.newAttributes;for(let e=0,n=t.length;e<n;e++)t[e]=0}function f(t){g(t,0)}function g(n,r){const s=c.newAttributes,a=c.enabledAttributes,o=c.attributeDivisors;if(s[n]=1,0===a[n]&&(t.enableVertexAttribArray(n),a[n]=1),o[n]!==r){(i.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,r),o[n]=r}}function v(){const e=c.newAttributes,n=c.enabledAttributes;for(let i=0,r=n.length;i<r;i++)n[i]!==e[i]&&(t.disableVertexAttribArray(i),n[i]=0)}function _(e,n,r,s,a,o){!0!==i.isWebGL2||5124!==r&&5125!==r?t.vertexAttribPointer(e,n,r,s,a,o):t.vertexAttribIPointer(e,n,r,a,o)}function x(){y(),h=!0,c!==l&&(c=l,u(c.object))}function y(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,d,x,y){let M=!1;if(a){const e=function(e,n,r){const a=!0===r.wireframe;let l=o[e.id];void 0===l&&(l={},o[e.id]=l);let c=l[n.id];void 0===c&&(c={},l[n.id]=c);let h=c[a];void 0===h&&(h=p(i.isWebGL2?t.createVertexArray():s.createVertexArrayOES()),c[a]=h);return h}(x,d,l);c!==e&&(c=e,u(c.object)),M=function(t,e,n,i){const r=c.attributes,s=e.attributes;let a=0;const o=n.getAttributes();for(const e in o){if(o[e].location>=0){const n=r[e];let i=s[e];if(void 0===i&&("instanceMatrix"===e&&t.instanceMatrix&&(i=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(i=t.instanceColor)),void 0===n)return!0;if(n.attribute!==i)return!0;if(i&&n.data!==i.data)return!0;a++}}return c.attributesNum!==a||c.index!==i}(r,x,d,y),M&&function(t,e,n,i){const r={},s=e.attributes;let a=0;const o=n.getAttributes();for(const e in o){if(o[e].location>=0){let n=s[e];void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor));const i={};i.attribute=n,n&&n.data&&(i.data=n.data),r[e]=i,a++}}c.attributes=r,c.attributesNum=a,c.index=i}(r,x,d,y)}else{const t=!0===l.wireframe;c.geometry===x.id&&c.program===d.id&&c.wireframe===t||(c.geometry=x.id,c.program=d.id,c.wireframe=t,M=!0)}null!==y&&n.update(y,34963),(M||h)&&(h=!1,function(r,s,a,o){if(!1===i.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;m();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const i=c[e];if(i.location>=0){let s=l[e];if(void 0===s&&("instanceMatrix"===e&&r.instanceMatrix&&(s=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(s=r.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,l=n.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,l=n.stride,d=s.offset;if(n.isInstancedInterleavedBuffer){for(let t=0;t<i.locationSize;t++)g(i.location+t,n.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let t=0;t<i.locationSize;t++)f(i.location+t);t.bindBuffer(34962,c);for(let t=0;t<i.locationSize;t++)_(i.location+t,a/i.locationSize,h,e,l*u,(d+a/i.locationSize*t)*u)}else{if(s.isInstancedBufferAttribute){for(let t=0;t<i.locationSize;t++)g(i.location+t,s.meshPerAttribute);!0!==r.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let t=0;t<i.locationSize;t++)f(i.location+t);t.bindBuffer(34962,c);for(let t=0;t<i.locationSize;t++)_(i.location+t,a/i.locationSize,h,e,a*u,a/i.locationSize*t*u)}}else if(void 0!==h){const n=h[e];if(void 0!==n)switch(n.length){case 2:t.vertexAttrib2fv(i.location,n);break;case 3:t.vertexAttrib3fv(i.location,n);break;case 4:t.vertexAttrib4fv(i.location,n);break;default:t.vertexAttrib1fv(i.location,n);}}}}v()}(r,l,d,x),null!==y&&t.bindBuffer(34963,n.get(y).buffer))},reset:x,resetDefaultState:y,dispose:function(){x();for(const t in o){const e=o[t];for(const t in e){const n=e[t];for(const t in n)d(n[t].object),delete n[t];delete e[t]}delete o[t]}},releaseStatesOfGeometry:function(t){if(void 0===o[t.id])return;const e=o[t.id];for(const t in e){const n=e[t];for(const t in n)d(n[t].object),delete n[t];delete e[t]}delete o[t.id]},releaseStatesOfProgram:function(t){for(const e in o){const n=o[e];if(void 0===n[t.id])continue;const i=n[t.id];for(const t in i)d(i[t].object),delete i[t];delete n[t.id]}},initAttributes:m,enableAttribute:f,disableUnusedAttributes:v}}function Kr(t,e,n,i){const r=i.isWebGL2;let s;this.setMode=function(t){s=t},this.render=function(e,i){t.drawArrays(s,e,i),n.update(i,s,1)},this.renderInstances=function(i,a,o){if(0===o)return;let l,c;if(r)l=t,c="drawArraysInstanced";else if(l=e.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](s,i,a,o),n.update(a,s,o)}}function $r(t,e,n){let i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),_=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:_,floatFragmentTextures:x,floatVertexTextures:_&&x,maxSamples:s?t.getParameter(36183):0}}function Qr(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new Br,o=new je,l={value:null,needsUpdate:!1};function c(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length<e)&&(c=new Float32Array(e));for(let e=0,n=i;e!==s;++e,n+=4)a.copy(t[e]).applyMatrix4(r,o),a.normal.toArray(c,n),c[n+3]=a.constant}l.value=c,l.needsUpdate=!0}return e.numPlanes=s,e.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(t,e){const n=0!==t.length||e||0!==i||r;return r=e,i=t.length,n},this.beginShadows=function(){s=!0,c(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(t,e){n=c(t,e,0)},this.setState=function(a,o,h){const u=a.clippingPlanes,d=a.clipIntersection,p=a.clipShadows,m=t.get(a);if(!r||null===u||0===u.length||s&&!p)s?c(null):function(){l.value!==n&&(l.value=n,l.needsUpdate=i>0);e.numPlanes=i,e.numIntersection=0}();else{const t=s?0:i,e=4*t;let r=m.clippingState||null;l.value=r,r=c(u,o,e,h);for(let t=0;t!==e;++t)r[t]=n[t];m.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function ts(t){let e=new WeakMap;function n(t,e){return e===Q?t.mapping=K:e===tt&&(t.mapping=$),t}function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture&&!1===r.isRenderTargetTexture){const s=r.mapping;if(s===Q||s===tt){if(e.has(r)){return n(e.get(r).texture,r.mapping)}{const s=r.image;if(s&&s.height>0){const a=new Ur(s.height/2);return a.fromEquirectangularTexture(t,r),e.set(r,a),r.addEventListener("dispose",i),n(a.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}class es extends Lr{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const ns=4,is=[.125,.215,.35,.446,.526,.582],rs=20,ss=new es,as=new Oi;let os=null;const ls=(1+Math.sqrt(5))/2,cs=1/ls,hs=[new gn(1,1,1),new gn(-1,1,1),new gn(1,1,-1),new gn(-1,1,-1),new gn(0,ls,cs),new gn(0,ls,-cs),new gn(cs,0,ls),new gn(-cs,0,ls),new gn(ls,cs,0),new gn(-ls,cs,0)];class us{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){os=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=fs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ms(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;t<this._lodPlanes.length;t++)this._lodPlanes[t].dispose()}_cleanup(t){this._renderer.setRenderTarget(os),t.scissorTest=!1,ps(t,0,0,t.width,t.height)}_fromTexture(t,e){t.mapping===K||t.mapping===$?this._setSize(0===t.image.length?16:t.image[0].width||t.image[0].image.width):this._setSize(t.image.width/4),os=this._renderer.getRenderTarget();const n=e||this._allocateTargets();return this._textureToCubeUV(t,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){const t=3*Math.max(this._cubeSize,112),e=4*this._cubeSize,n={magFilter:lt,minFilter:lt,generateMipmaps:!1,type:_t,format:bt,encoding:ve,depthBuffer:!1},i=ds(t,e,n);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==t||this._pingPongRenderTarget.height!==e){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=ds(t,e,n);const{_lodMax:i}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(t){const e=[],n=[],i=[];let r=t;const s=t-ns+1+is.length;for(let a=0;a<s;a++){const s=Math.pow(2,r);n.push(s);let o=1/s;a>t-ns?o=is[a-t+ns-1]:0===a&&(o=0),i.push(o);const l=1/(s-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,m=3,f=2,g=1,v=new Float32Array(m*p*d),_=new Float32Array(f*p*d),x=new Float32Array(g*p*d);for(let t=0;t<d;t++){const e=t%3*2/3-1,n=t>2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];v.set(i,m*p*t),_.set(u,f*p*t);const r=[t,t,t,t,t,t];x.set(r,g*p*t)}const y=new ir;y.setAttribute("position",new qi(v,m)),y.setAttribute("uv",new qi(_,f)),y.setAttribute("faceIndex",new qi(x,g)),e.push(y),r>ns&&r--}return{lodPlanes:e,sizeLods:n,sigmas:i}}(i)),this._blurMaterial=function(t,e,n){const i=new Float32Array(rs),r=new gn(0,1,0),s=new Cr({name:"SphericalGaussianBlur",defines:{n:rs,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1});return s}(i,t,e)}return i}_compileMaterial(t){const e=new Mr(this._lodPlanes[0],t);this._renderer.compile(e,ss)}_sceneToCubeUV(t,e,n,i){const r=new Pr(90,1,e,n),s=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,h=o.toneMapping;o.getClearColor(as),o.toneMapping=W,o.autoClear=!1;const u=new Bi({name:"PMREM.Background",side:c,depthWrite:!1,depthTest:!1}),d=new Mr(new br(),u);let p=!1;const m=t.background;m?m.isColor&&(u.color.copy(m),t.background=null,p=!0):(u.color.copy(as),p=!0);for(let e=0;e<6;e++){const n=e%3;0===n?(r.up.set(0,s[e],0),r.lookAt(a[e],0,0)):1===n?(r.up.set(0,0,s[e]),r.lookAt(0,a[e],0)):(r.up.set(0,s[e],0),r.lookAt(0,0,a[e]));const l=this._cubeSize;ps(i,n*l,e>2?l:0,l,l),o.setRenderTarget(i),p&&o.render(d,r),o.render(t,r)}d.geometry.dispose(),d.material.dispose(),o.toneMapping=h,o.autoClear=l,t.background=m}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===K||t.mapping===$;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=fs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ms());const r=i?this._cubemapMaterial:this._equirectMaterial,s=new Mr(this._lodPlanes[0],r);r.uniforms.envMap.value=t;const a=this._cubeSize;ps(e,0,0,3*a,2*a),n.setRenderTarget(e),n.render(s,ss)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;e<this._lodPlanes.length;e++){const n=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]),i=hs[(e-1)%hs.length];this._blur(t,e-1,e,n,i)}e.autoClear=n}_blur(t,e,n,i,r){const s=this._pingPongRenderTarget;this._halfBlur(t,s,e,n,i,"latitudinal",r),this._halfBlur(s,t,n,n,i,"longitudinal",r)}_halfBlur(t,e,n,i,r,s,a){const o=this._renderer,l=this._blurMaterial;"latitudinal"!==s&&"longitudinal"!==s&&console.error("blur direction must be either latitudinal or longitudinal!");const c=new Mr(this._lodPlanes[i],l),h=l.uniforms,u=this._sizeLods[n]-1,d=isFinite(r)?Math.PI/(2*u):2*Math.PI/(2*rs-1),p=r/d,m=isFinite(r)?1+Math.floor(3*p):rs;m>rs&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${rs}`);const f=[];let g=0;for(let t=0;t<rs;++t){const e=t/p,n=Math.exp(-e*e/2);f.push(n),0===t?g+=n:t<m&&(g+=2*n)}for(let t=0;t<f.length;t++)f[t]=f[t]/g;h.envMap.value=t.texture,h.samples.value=m,h.weights.value=f,h.latitudinal.value="latitudinal"===s,a&&(h.poleAxis.value=a);const{_lodMax:v}=this;h.dTheta.value=d,h.mipInt.value=v-n;const _=this._sizeLods[i];ps(e,3*_*(i>v-ns?i-v+ns:0),4*(this._cubeSize-_),3*_,2*_),o.setRenderTarget(e),o.render(c,ss)}}function ds(t,e,n){const i=new dn(t,e,n);return i.texture.mapping=et,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function ps(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function ms(){return new Cr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1})}function fs(){return new Cr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:gs(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:u,depthTest:!1,depthWrite:!1})}function gs(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function vs(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const s=r.mapping,a=s===Q||s===tt,o=s===K||s===$;if(a||o){if(r.isRenderTargetTexture&&!0===r.needsPMREMUpdate){r.needsPMREMUpdate=!1;let i=e.get(r);return null===n&&(n=new us(t)),i=a?n.fromEquirectangular(r,i):n.fromCubemap(r,i),e.set(r,i),i.texture}if(e.has(r))return e.get(r).texture;{const s=r.image;if(a&&s&&s.height>0||o&&s&&function(t){let e=0;const n=6;for(let i=0;i<n;i++)void 0!==t[i]&&e++;return e===n}(s)){null===n&&(n=new us(t));const s=a?n.fromEquirectangular(r):n.fromCubemap(r);return e.set(r,s),r.addEventListener("dispose",i),s.texture}return null}}}return r},dispose:function(){e=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function _s(t){const e={};function n(n){if(void 0!==e[n])return e[n];let i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n);}return e[n]=i,i}return{has:function(t){return null!==n(t)},init:function(t){t.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(t){const e=n(t);return null===e&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e}}}function xs(t,e,n,i){const r={},s=new WeakMap;function a(t){const o=t.target;null!==o.index&&e.remove(o.index);for(const t in o.attributes)e.remove(o.attributes[t]);o.removeEventListener("dispose",a),delete r[o.id];const l=s.get(o);l&&(e.remove(l),s.delete(o)),i.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(t){const n=[],i=t.index,r=t.attributes.position;let a=0;if(null!==i){const t=i.array;a=i.version;for(let e=0,i=t.length;e<i;e+=3){const i=t[e+0],r=t[e+1],s=t[e+2];n.push(i,r,r,s,s,i)}}else{const t=r.array;a=r.version;for(let e=0,i=t.length/3-1;e<i;e+=3){const t=e+0,i=e+1,r=e+2;n.push(t,i,i,r,r,t)}}const o=new(Xe(n)?Yi:Xi)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t<i;t++)e.update(n[t],34962)}},getWireframeAttribute:function(t){const e=s.get(t);if(e){const n=t.index;null!==n&&e.version<n.version&&o(t)}else o(t);return s.get(t)}}}function ys(t,e,n,i){const r=i.isWebGL2;let s,a,o;this.setMode=function(t){s=t},this.setIndex=function(t){a=t.type,o=t.bytesPerElement},this.render=function(e,i){t.drawElements(s,i,a,e*o),n.update(i,s,1)},this.renderInstances=function(i,l,c){if(0===c)return;let h,u;if(r)h=t,u="drawElementsInstanced";else if(h=e.get("ANGLE_instanced_arrays"),u="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[u](s,l,a,i*o,c),n.update(l,s,c)}}function Ms(t){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,n,i){switch(e.calls++,n){case 4:e.triangles+=i*(t/3);break;case 1:e.lines+=i*(t/2);break;case 3:e.lines+=i*(t-1);break;case 2:e.lines+=i*t;break;case 0:e.points+=i*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n);}}}}function Ss(t,e){return t[0]-e[0]}function bs(t,e){return Math.abs(e[1])-Math.abs(t[1])}function ws(t,e,n){const i={},r=new Float32Array(8),s=new WeakMap,a=new un,o=[];for(let t=0;t<8;t++)o[t]=[t,0];return{update:function(l,c,h){const u=l.morphTargetInfluences;if(!0===e.isWebGL2){const d=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,p=void 0!==d?d.length:0;let m=s.get(c);if(void 0===m||m.count!==p){void 0!==m&&m.texture.dispose();const v=void 0!==c.morphAttributes.position,_=void 0!==c.morphAttributes.normal,x=void 0!==c.morphAttributes.color,y=c.morphAttributes.position||[],M=c.morphAttributes.normal||[],S=c.morphAttributes.color||[];let b=0;!0===v&&(b=1),!0===_&&(b=2),!0===x&&(b=3);let w=c.attributes.position.count*b,T=1;w>e.maxTextureSize&&(T=Math.ceil(w/e.maxTextureSize),w=e.maxTextureSize);const E=new Float32Array(w*T*4*p),A=new pn(E,w,T,p);A.type=vt,A.needsUpdate=!0;const C=4*b;for(let P=0;P<p;P++){const R=y[P],I=M[P],D=S[P],U=w*T*4*P;for(let N=0;N<R.count;N++){const O=N*C;!0===v&&(a.fromBufferAttribute(R,N),E[U+O+0]=a.x,E[U+O+1]=a.y,E[U+O+2]=a.z,E[U+O+3]=0),!0===_&&(a.fromBufferAttribute(I,N),E[U+O+4]=a.x,E[U+O+5]=a.y,E[U+O+6]=a.z,E[U+O+7]=0),!0===x&&(a.fromBufferAttribute(D,N),E[U+O+8]=a.x,E[U+O+9]=a.y,E[U+O+10]=a.z,E[U+O+11]=4===D.itemSize?a.w:1)}}function L(){A.dispose(),s.delete(c),c.removeEventListener("dispose",L)}m={count:p,texture:A,size:new We(w,T)},s.set(c,m),c.addEventListener("dispose",L)}let f=0;for(let z=0;z<u.length;z++)f+=u[z];const g=c.morphTargetsRelative?1:1-f;h.getUniforms().setValue(t,"morphTargetBaseInfluence",g),h.getUniforms().setValue(t,"morphTargetInfluences",u),h.getUniforms().setValue(t,"morphTargetsTexture",m.texture,n),h.getUniforms().setValue(t,"morphTargetsTextureSize",m.size)}else{const B=void 0===u?0:u.length;let F=i[c.id];if(void 0===F||F.length!==B){F=[];for(let W=0;W<B;W++)F[W]=[W,0];i[c.id]=F}for(let j=0;j<B;j++){const q=F[j];q[0]=j,q[1]=u[j]}F.sort(bs);for(let X=0;X<8;X++)X<B&&F[X][1]?(o[X][0]=F[X][0],o[X][1]=F[X][1]):(o[X][0]=Number.MAX_SAFE_INTEGER,o[X][1]=0);o.sort(Ss);const k=c.morphAttributes.position,G=c.morphAttributes.normal;let V=0;for(let Y=0;Y<8;Y++){const Z=o[Y],J=Z[0],K=Z[1];J!==Number.MAX_SAFE_INTEGER&&K?(k&&c.getAttribute("morphTarget"+Y)!==k[J]&&c.setAttribute("morphTarget"+Y,k[J]),G&&c.getAttribute("morphNormal"+Y)!==G[J]&&c.setAttribute("morphNormal"+Y,G[J]),r[Y]=K,V+=K):(k&&!0===c.hasAttribute("morphTarget"+Y)&&c.deleteAttribute("morphTarget"+Y),G&&!0===c.hasAttribute("morphNormal"+Y)&&c.deleteAttribute("morphNormal"+Y),r[Y]=0)}const H=c.morphTargetsRelative?1:1-V;h.getUniforms().setValue(t,"morphTargetBaseInfluence",H),h.getUniforms().setValue(t,"morphTargetInfluences",r)}}}}function Ts(t,e,n,i){let r=new WeakMap;function s(t){const e=t.target;e.removeEventListener("dispose",s),n.remove(e.instanceMatrix),null!==e.instanceColor&&n.remove(e.instanceColor)}return{update:function(t){const a=i.render.frame,o=t.geometry,l=e.get(t,o);return r.get(l)!==a&&(e.update(l),r.set(l,a)),t.isInstancedMesh&&(!1===t.hasEventListener("dispose",s)&&t.addEventListener("dispose",s),n.update(t.instanceMatrix,34962),null!==t.instanceColor&&n.update(t.instanceColor,34962)),l},dispose:function(){r=new WeakMap}}}const Es=new hn,As=new pn,Cs=new mn,Ls=new Dr,Ps=[],Rs=[],Is=new Float32Array(16),Ds=new Float32Array(9),Us=new Float32Array(4);function Ns(t,e,n){const i=t[0];if(i<=0||i>0)return t;const r=e*n;let s=Ps[r];if(void 0===s&&(s=new Float32Array(r),Ps[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function Os(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function zs(t,e){for(let n=0,i=e.length;n<i;n++)t[n]=e[n]}function Bs(t,e){let n=Rs[e];void 0===n&&(n=new Int32Array(e),Rs[e]=n);for(let i=0;i!==e;++i)n[i]=t.allocateTextureUnit();return n}function Fs(t,e){const n=this.cache;n[0]!==e&&(t.uniform1f(this.addr,e),n[0]=e)}function ks(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2fv(this.addr,e),zs(n,e)}}function Gs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else if(void 0!==e.r)n[0]===e.r&&n[1]===e.g&&n[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),n[0]=e.r,n[1]=e.g,n[2]=e.b);else{if(Os(n,e))return;t.uniform3fv(this.addr,e),zs(n,e)}}function Vs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4fv(this.addr,e),zs(n,e)}}function Hs(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix2fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Us.set(i),t.uniformMatrix2fv(this.addr,!1,Us),zs(n,i)}}function Ws(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix3fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Ds.set(i),t.uniformMatrix3fv(this.addr,!1,Ds),zs(n,i)}}function js(t,e){const n=this.cache,i=e.elements;if(void 0===i){if(Os(n,e))return;t.uniformMatrix4fv(this.addr,!1,e),zs(n,e)}else{if(Os(n,i))return;Is.set(i),t.uniformMatrix4fv(this.addr,!1,Is),zs(n,i)}}function qs(t,e){const n=this.cache;n[0]!==e&&(t.uniform1i(this.addr,e),n[0]=e)}function Xs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2i(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2iv(this.addr,e),zs(n,e)}}function Ys(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3i(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Os(n,e))return;t.uniform3iv(this.addr,e),zs(n,e)}}function Zs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4i(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4iv(this.addr,e),zs(n,e)}}function Js(t,e){const n=this.cache;n[0]!==e&&(t.uniform1ui(this.addr,e),n[0]=e)}function Ks(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2ui(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(Os(n,e))return;t.uniform2uiv(this.addr,e),zs(n,e)}}function $s(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3ui(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else{if(Os(n,e))return;t.uniform3uiv(this.addr,e),zs(n,e)}}function Qs(t,e){const n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4ui(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(Os(n,e))return;t.uniform4uiv(this.addr,e),zs(n,e)}}function ta(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2D(e||Es,r)}function ea(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(e||Cs,r)}function na(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTextureCube(e||Ls,r)}function ia(t,e,n){const i=this.cache,r=n.allocateTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2DArray(e||As,r)}function ra(t,e){t.uniform1fv(this.addr,e)}function sa(t,e){const n=Ns(e,this.size,2);t.uniform2fv(this.addr,n)}function aa(t,e){const n=Ns(e,this.size,3);t.uniform3fv(this.addr,n)}function oa(t,e){const n=Ns(e,this.size,4);t.uniform4fv(this.addr,n)}function la(t,e){const n=Ns(e,this.size,4);t.uniformMatrix2fv(this.addr,!1,n)}function ca(t,e){const n=Ns(e,this.size,9);t.uniformMatrix3fv(this.addr,!1,n)}function ha(t,e){const n=Ns(e,this.size,16);t.uniformMatrix4fv(this.addr,!1,n)}function ua(t,e){t.uniform1iv(this.addr,e)}function da(t,e){t.uniform2iv(this.addr,e)}function pa(t,e){t.uniform3iv(this.addr,e)}function ma(t,e){t.uniform4iv(this.addr,e)}function fa(t,e){t.uniform1uiv(this.addr,e)}function ga(t,e){t.uniform2uiv(this.addr,e)}function va(t,e){t.uniform3uiv(this.addr,e)}function _a(t,e){t.uniform4uiv(this.addr,e)}function xa(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture2D(e[t]||Es,s[t])}function ya(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture3D(e[t]||Cs,s[t])}function Ma(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTextureCube(e[t]||Ls,s[t])}function Sa(t,e,n){const i=this.cache,r=e.length,s=Bs(n,r);Os(i,s)||(t.uniform1iv(this.addr,s),zs(i,s));for(let t=0;t!==r;++t)n.setTexture2DArray(e[t]||As,s[t])}class ba{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.setValue=function(t){switch(t){case 5126:return Fs;case 35664:return ks;case 35665:return Gs;case 35666:return Vs;case 35674:return Hs;case 35675:return Ws;case 35676:return js;case 5124:case 35670:return qs;case 35667:case 35671:return Xs;case 35668:case 35672:return Ys;case 35669:case 35673:return Zs;case 5125:return Js;case 36294:return Ks;case 36295:return $s;case 36296:return Qs;case 35678:case 36198:case 36298:case 36306:case 35682:return ta;case 35679:case 36299:case 36307:return ea;case 35680:case 36300:case 36308:case 36293:return na;case 36289:case 36303:case 36311:case 36292:return ia;}}(e.type)}}class wa{constructor(t,e,n){this.id=t,this.addr=n,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return ra;case 35664:return sa;case 35665:return aa;case 35666:return oa;case 35674:return la;case 35675:return ca;case 35676:return ha;case 5124:case 35670:return ua;case 35667:case 35671:return da;case 35668:case 35672:return pa;case 35669:case 35673:return ma;case 5125:return fa;case 36294:return ga;case 36295:return va;case 36296:return _a;case 35678:case 36198:case 36298:case 36306:case 35682:return xa;case 35679:case 36299:case 36307:return ya;case 35680:case 36300:case 36308:case 36293:return Ma;case 36289:case 36303:case 36311:case 36292:return Sa;}}(e.type)}}class Ta{constructor(t){this.id=t,this.seq=[],this.map={}}setValue(t,e,n){const i=this.seq;for(let r=0,s=i.length;r!==s;++r){const s=i[r];s.setValue(t,e[s.id],n)}}}const Ea=/(\w+)(\])?(\[|\.)?/g;function Aa(t,e){t.seq.push(e),t.map[e.id]=e}function Ca(t,e,n){const i=t.name,r=i.length;for(Ea.lastIndex=0;;){const s=Ea.exec(i),a=Ea.lastIndex;let o=s[1];const l="]"===s[2],c=s[3];if(l&&(o|=0),void 0===c||"["===c&&a+2===r){Aa(n,void 0===c?new ba(o,t,e):new wa(o,t,e));break}{let t=n.map[o];void 0===t&&(t=new Ta(o),Aa(n,t)),n=t}}}class La{constructor(t,e){this.seq=[],this.map={};const n=t.getProgramParameter(e,35718);for(let i=0;i<n;++i){const n=t.getActiveUniform(e,i);Ca(n,t.getUniformLocation(e,n.name),this)}}setValue(t,e,n,i){const r=this.map[e];void 0!==r&&r.setValue(t,n,i)}setOptional(t,e,n){const i=e[n];void 0!==i&&this.setValue(t,n,i)}static upload(t,e,n,i){for(let r=0,s=e.length;r!==s;++r){const s=e[r],a=n[s.id];!1!==a.needsUpdate&&s.setValue(t,a.value,i)}}static seqWithValue(t,e){const n=[];for(let i=0,r=t.length;i!==r;++i){const r=t[i];r.id in e&&n.push(r)}return n}}function Pa(t,e,n){const i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),i}let Ra=0;function Ia(t,e,n){const i=t.getShaderParameter(e,35713),r=t.getShaderInfoLog(e).trim();if(i&&""===r)return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const i=parseInt(s[1]);return n.toUpperCase()+"\n\n"+r+"\n\n"+function(t,e){const n=t.split("\n"),i=[],r=Math.max(e-6,0),s=Math.min(e+6,n.length);for(let t=r;t<s;t++){const r=t+1;i.push(`${r===e?">":" "} ${r}: ${n[t]}`)}return i.join("\n")}(t.getShaderSource(e),i)}return r}function Da(t,e){const n=function(t){switch(t){case ve:return["Linear","( value )"];case _e:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",t),["Linear","( value )"];}}(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function Ua(t,e){let n;switch(e){case j:n="Linear";break;case q:n="Reinhard";break;case X:n="OptimizedCineon";break;case Y:n="ACESFilmic";break;case Z:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear";}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Na(t){return""!==t}function Oa(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function za(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const Ba=/^[ \t]*#include +<([\w\d./]+)>/gm;function Fa(t){return t.replace(Ba,ka)}function ka(t,e){const n=jr[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return Fa(n)}const Ga=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Va(t){return t.replace(Ga,Ha)}function Ha(t,e,n,i){let r="";for(let t=parseInt(e);t<parseInt(n);t++)r+=i.replace(/\[\s*i\s*\]/g,"[ "+t+" ]").replace(/UNROLLED_LOOP_INDEX/g,t);return r}function Wa(t){let e="precision "+t.precision+" float;\nprecision "+t.precision+" int;";return"highp"===t.precision?e+="\n#define HIGH_PRECISION":"mediump"===t.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===t.precision&&(e+="\n#define LOW_PRECISION"),e}function ja(t,e,n,i){const r=t.getContext(),l=n.defines;let c=n.vertexShader,h=n.fragmentShader;const u=function(t){let e="SHADOWMAP_TYPE_BASIC";return t.shadowMapType===s?e="SHADOWMAP_TYPE_PCF":t.shadowMapType===a?e="SHADOWMAP_TYPE_PCF_SOFT":t.shadowMapType===o&&(e="SHADOWMAP_TYPE_VSM"),e}(n),d=function(t){let e="ENVMAP_TYPE_CUBE";if(t.envMap)switch(t.envMapMode){case K:case $:e="ENVMAP_TYPE_CUBE";break;case et:e="ENVMAP_TYPE_CUBE_UV";}return e}(n),p=function(t){let e="ENVMAP_MODE_REFLECTION";t.envMap&&t.envMapMode===$&&(e="ENVMAP_MODE_REFRACTION");return e}(n),m=function(t){let e="ENVMAP_BLENDING_NONE";if(t.envMap)switch(t.combine){case G:e="ENVMAP_BLENDING_MULTIPLY";break;case V:e="ENVMAP_BLENDING_MIX";break;case H:e="ENVMAP_BLENDING_ADD";}return e}(n),f=function(t){const e=t.envMapCubeUVHeight;if(null===e)return null;const n=Math.log2(e)-2,i=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:i,maxMip:n}}(n),g=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUVHeight||t.bumpMap||t.normalMapTangentSpace||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Na).join("\n")}(n),v=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(l),_=r.createProgram();let x,y,M=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(x=[v].filter(Na).join("\n"),x.length>0&&(x+="\n"),y=[g,v].filter(Na).join("\n"),y.length>0&&(y+="\n")):(x=[Wa(n),"#define SHADER_NAME "+n.shaderName,v,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs2?"#define USE_UV2":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Na).join("\n"),y=[g,Wa(n),"#define SHADER_NAME "+n.shaderName,v,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs2?"#define USE_UV2":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==W?"#define TONE_MAPPING":"",n.toneMapping!==W?jr.tonemapping_pars_fragment:"",n.toneMapping!==W?Ua("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",jr.encodings_pars_fragment,Da("linearToOutputTexel",n.outputEncoding),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Na).join("\n")),c=Fa(c),c=Oa(c,n),c=za(c,n),h=Fa(h),h=Oa(h,n),h=za(h,n),c=Va(c),h=Va(h),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(M="#version 300 es\n",x=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+x,y=["#define varying in",n.glslVersion===Ae?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===Ae?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+y);const S=M+y+h,b=Pa(r,35633,M+x+c),w=Pa(r,35632,S);if(r.attachShader(_,b),r.attachShader(_,w),void 0!==n.index0AttributeName?r.bindAttribLocation(_,0,n.index0AttributeName):!0===n.morphTargets&&r.bindAttribLocation(_,0,"position"),r.linkProgram(_),t.debug.checkShaderErrors){const e=r.getProgramInfoLog(_).trim(),n=r.getShaderInfoLog(b).trim(),i=r.getShaderInfoLog(w).trim();let s=!0,a=!0;if(!1===r.getProgramParameter(_,35714)){if(s=!1,"function"==typeof t.debug.onShaderError)t.debug.onShaderError(r,_,b,w);else{const t=Ia(r,b,"vertex"),n=Ia(r,w,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(_,35715)+"\n\nProgram Info Log: "+e+"\n"+t+"\n"+n)}}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==n&&""!==i||(a=!1);a&&(this.diagnostics={runnable:s,programLog:e,vertexShader:{log:n,prefix:x},fragmentShader:{log:i,prefix:y}})}let T,E;return r.deleteShader(b),r.deleteShader(w),this.getUniforms=function(){return void 0===T&&(T=new La(r,_)),T},this.getAttributes=function(){return void 0===E&&(E=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r<i;r++){const i=t.getActiveAttrib(e,r),s=i.name;let a=1;35674===i.type&&(a=2),35675===i.type&&(a=3),35676===i.type&&(a=4),n[s]={type:i.type,location:t.getAttribLocation(e,s),locationSize:a}}return n}(r,_)),E},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(_),this.program=void 0},this.name=n.shaderName,this.id=Ra++,this.cacheKey=e,this.usedTimes=1,this.program=_,this.vertexShader=b,this.fragmentShader=w,this}let qa=0;class Xa{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(t){const e=t.vertexShader,n=t.fragmentShader,i=this._getShaderStage(e),r=this._getShaderStage(n),s=this._getShaderCacheForMaterial(t);return!1===s.has(i)&&(s.add(i),i.usedTimes++),!1===s.has(r)&&(s.add(r),r.usedTimes++),this}remove(t){const e=this.materialCache.get(t);for(const t of e)t.usedTimes--,0===t.usedTimes&&this.shaderCache.delete(t.code);return this.materialCache.delete(t),this}getVertexShaderID(t){return this._getShaderStage(t.vertexShader).id}getFragmentShaderID(t){return this._getShaderStage(t.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(t){const e=this.materialCache;let n=e.get(t);return void 0===n&&(n=new Set,e.set(t,n)),n}_getShaderStage(t){const e=this.shaderCache;let n=e.get(t);return void 0===n&&(n=new Ya(t),e.set(t,n)),n}}class Ya{constructor(t){this.id=qa++,this.code=t,this.usedTimes=0}}function Za(t,e,n,i,r,s,a){const o=new ii,l=new Xa,u=[],p=r.isWebGL2,m=r.logarithmicDepthBuffer,f=r.vertexTextures;let g=r.precision;const v={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function _(t){return 1===t?"uv2":"uv"}return{getParameters:function(s,o,u,x,y){const M=x.fog,S=y.geometry,b=s.isMeshStandardMaterial?x.environment:null,w=(s.isMeshStandardMaterial?n:e).get(s.envMap||b),T=w&&w.mapping===et?w.image.height:null,E=v[s.type];null!==s.precision&&(g=r.getMaxPrecision(s.precision),g!==s.precision&&console.warn("THREE.WebGLProgram.getParameters:",s.precision,"not supported, using",g,"instead."));const A=S.morphAttributes.position||S.morphAttributes.normal||S.morphAttributes.color,C=void 0!==A?A.length:0;let L,P,R,I,D=0;if(void 0!==S.morphAttributes.position&&(D=1),void 0!==S.morphAttributes.normal&&(D=2),void 0!==S.morphAttributes.color&&(D=3),E){const t=Xr[E];L=t.vertexShader,P=t.fragmentShader}else L=s.vertexShader,P=s.fragmentShader,l.update(s),R=l.getVertexShaderID(s),I=l.getFragmentShaderID(s);const U=t.getRenderTarget(),N=!0===y.isInstancedMesh,O=!!s.map,z=!!s.matcap,B=!!w,F=!!s.aoMap,k=!!s.lightMap,G=!!s.bumpMap,V=!!s.normalMap,H=!!s.displacementMap,j=!!s.emissiveMap,q=!!s.metalnessMap,X=!!s.roughnessMap,Y=s.clearcoat>0,Z=s.iridescence>0,J=s.sheen>0,K=s.transmission>0,$=Y&&!!s.clearcoatMap,Q=Y&&!!s.clearcoatNormalMap,tt=Y&&!!s.clearcoatRoughnessMap,nt=Z&&!!s.iridescenceMap,it=Z&&!!s.iridescenceThicknessMap,rt=J&&!!s.sheenColorMap,st=J&&!!s.sheenRoughnessMap,at=!!s.specularMap,ot=!!s.specularColorMap,lt=!!s.specularIntensityMap,ct=K&&!!s.transmissionMap,ht=K&&!!s.thicknessMap,ut=!!s.gradientMap,dt=!!s.alphaMap,pt=s.alphaTest>0,mt=!!s.extensions,ft=!!S.attributes.uv2;return{isWebGL2:p,shaderID:E,shaderName:s.type,vertexShader:L,fragmentShader:P,defines:s.defines,customVertexShaderID:R,customFragmentShaderID:I,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:g,instancing:N,instancingColor:N&&null!==y.instanceColor,supportsVertexTextures:f,outputEncoding:null===U?t.outputEncoding:!0===U.isXRRenderTarget?U.texture.encoding:ve,map:O,matcap:z,envMap:B,envMapMode:B&&w.mapping,envMapCubeUVHeight:T,aoMap:F,lightMap:k,bumpMap:G,normalMap:V,displacementMap:f&&H,emissiveMap:j,normalMapObjectSpace:V&&s.normalMapType===Me,normalMapTangentSpace:V&&s.normalMapType===ye,decodeVideoTexture:O&&!0===s.map.isVideoTexture&&s.map.encoding===_e,metalnessMap:q,roughnessMap:X,clearcoat:Y,clearcoatMap:$,clearcoatNormalMap:Q,clearcoatRoughnessMap:tt,iridescence:Z,iridescenceMap:nt,iridescenceThicknessMap:it,sheen:J,sheenColorMap:rt,sheenRoughnessMap:st,specularMap:at,specularColorMap:ot,specularIntensityMap:lt,transmission:K,transmissionMap:ct,thicknessMap:ht,gradientMap:ut,opaque:!1===s.transparent&&s.blending===d,alphaMap:dt,alphaTest:pt,combine:s.combine,mapUv:O&&_(s.map.channel),aoMapUv:F&&_(s.aoMap.channel),lightMapUv:k&&_(s.lightMap.channel),bumpMapUv:G&&_(s.bumpMap.channel),normalMapUv:V&&_(s.normalMap.channel),displacementMapUv:H&&_(s.displacementMap.channel),emissiveMapUv:j&&_(s.emissiveMap.channel),metalnessMapUv:q&&_(s.metalnessMap.channel),roughnessMapUv:X&&_(s.roughnessMap.channel),clearcoatMapUv:$&&_(s.clearcoatMap.channel),clearcoatNormalMapUv:Q&&_(s.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:tt&&_(s.clearcoatRoughnessMap.channel),iridescenceMapUv:nt&&_(s.iridescenceMap.channel),iridescenceThicknessMapUv:it&&_(s.iridescenceThicknessMap.channel),sheenColorMapUv:rt&&_(s.sheenColorMap.channel),sheenRoughnessMapUv:st&&_(s.sheenRoughnessMap.channel),specularMapUv:at&&_(s.specularMap.channel),specularColorMapUv:ot&&_(s.specularColorMap.channel),specularIntensityMapUv:lt&&_(s.specularIntensityMap.channel),transmissionMapUv:ct&&_(s.transmissionMap.channel),thicknessMapUv:ht&&_(s.thicknessMap.channel),alphaMapUv:dt&&_(s.alphaMap.channel),vertexTangents:V&&!!S.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!S.attributes.color&&4===S.attributes.color.itemSize,vertexUvs2:ft,pointsUvs:!0===y.isPoints&&!!S.attributes.uv&&(O||dt),fog:!!M,useFog:!0===s.fog,fogExp2:M&&M.isFogExp2,flatShading:!0===s.flatShading,sizeAttenuation:!0===s.sizeAttenuation,logarithmicDepthBuffer:m,skinning:!0===y.isSkinnedMesh,morphTargets:void 0!==S.morphAttributes.position,morphNormals:void 0!==S.morphAttributes.normal,morphColors:void 0!==S.morphAttributes.color,morphTargetsCount:C,morphTextureStride:D,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&u.length>0,shadowMapType:t.shadowMap.type,toneMapping:s.toneMapped?t.toneMapping:W,useLegacyLights:t.useLegacyLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===h,flipSided:s.side===c,useDepthPacking:s.depthPacking>=0,depthPacking:s.depthPacking||0,index0AttributeName:s.index0AttributeName,extensionDerivatives:mt&&!0===s.extensions.derivatives,extensionFragDepth:mt&&!0===s.extensions.fragDepth,extensionDrawBuffers:mt&&!0===s.extensions.drawBuffers,extensionShaderTextureLOD:mt&&!0===s.extensions.shaderTextureLOD,rendererExtensionFragDepth:p||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:p||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:p||i.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.mapUv),t.push(e.alphaMapUv),t.push(e.lightMapUv),t.push(e.aoMapUv),t.push(e.bumpMapUv),t.push(e.normalMapUv),t.push(e.displacementMapUv),t.push(e.emissiveMapUv),t.push(e.metalnessMapUv),t.push(e.roughnessMapUv),t.push(e.clearcoatMapUv),t.push(e.clearcoatNormalMapUv),t.push(e.clearcoatRoughnessMapUv),t.push(e.iridescenceMapUv),t.push(e.iridescenceThicknessMapUv),t.push(e.sheenColorMapUv),t.push(e.sheenRoughnessMapUv),t.push(e.specularMapUv),t.push(e.specularColorMapUv),t.push(e.specularIntensityMapUv),t.push(e.transmissionMapUv),t.push(e.thicknessMapUv),t.push(e.combine),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numSpotLightMaps),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.numSpotLightShadowsWithMaps),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(n,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUvs2&&o.enable(13);e.vertexTangents&&o.enable(14);t.push(o.mask),o.disableAll(),e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.skinning&&o.enable(4);e.morphTargets&&o.enable(5);e.morphNormals&&o.enable(6);e.morphColors&&o.enable(7);e.premultipliedAlpha&&o.enable(8);e.shadowMapEnabled&&o.enable(9);e.useLegacyLights&&o.enable(10);e.doubleSided&&o.enable(11);e.flipSided&&o.enable(12);e.useDepthPacking&&o.enable(13);e.dithering&&o.enable(14);e.transmission&&o.enable(15);e.sheen&&o.enable(16);e.decodeVideoTexture&&o.enable(17);e.opaque&&o.enable(18);e.pointsUvs&&o.enable(19);t.push(o.mask)}(n,e),n.push(t.outputEncoding)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=v[t.type];let n;if(e){const t=Xr[e];n=Ar.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let i;for(let t=0,e=u.length;t<e;t++){const e=u[t];if(e.cacheKey===n){i=e,++i.usedTimes;break}}return void 0===i&&(i=new ja(t,n,e,s),u.push(i)),i},releaseProgram:function(t){if(0==--t.usedTimes){const e=u.indexOf(t);u[e]=u[u.length-1],u.pop(),t.destroy()}},releaseShaderCache:function(t){l.remove(t)},programs:u,dispose:function(){l.dispose()}}}function Ja(){let t=new WeakMap;return{get:function(e){let n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n},remove:function(e){t.delete(e)},update:function(e,n,i){t.get(e)[n]=i},dispose:function(){t=new WeakMap}}}function Ka(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function $a(t,e){return t.groupOrder!==e.groupOrder?t.groupOrder-e.groupOrder:t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Qa(){const t=[];let e=0;const n=[],i=[],r=[];function s(n,i,r,s,a,o){let l=t[e];return void 0===l?(l={id:n.id,object:n,geometry:i,material:r,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o},t[e]=l):(l.id=n.id,l.object=n,l.geometry=i,l.material=r,l.groupOrder=s,l.renderOrder=n.renderOrder,l.z=a,l.group=o),e++,l}return{opaque:n,transmissive:i,transparent:r,init:function(){e=0,n.length=0,i.length=0,r.length=0},push:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?i.push(h):!0===a.transparent?r.push(h):n.push(h)},unshift:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?i.unshift(h):!0===a.transparent?r.unshift(h):n.unshift(h)},finish:function(){for(let n=e,i=t.length;n<i;n++){const e=t[n];if(null===e.id)break;e.id=null,e.object=null,e.geometry=null,e.material=null,e.group=null}},sort:function(t,e){n.length>1&&n.sort(t||Ka),i.length>1&&i.sort(e||$a),r.length>1&&r.sort(e||$a)}}}function to(){let t=new WeakMap;return{get:function(e,n){const i=t.get(e);let r;return void 0===i?(r=new Qa,t.set(e,[r])):n>=i.length?(r=new Qa,i.push(r)):r=i[n],r},dispose:function(){t=new WeakMap}}}function eo(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new gn,color:new Oi};break;case"SpotLight":n={position:new gn,direction:new gn,color:new Oi,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new gn,color:new Oi,distance:0,decay:0};break;case"HemisphereLight":n={direction:new gn,skyColor:new Oi,groundColor:new Oi};break;case"RectAreaLight":n={color:new Oi,position:new gn,halfWidth:new gn,halfHeight:new gn};}return t[e.id]=n,n}}}let no=0;function io(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function ro(t,e){const n=new eo,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new We};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new We,shadowCameraNear:1,shadowCameraFar:1e3};}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let t=0;t<9;t++)r.probe.push(new gn);const s=new gn,a=new qn,o=new qn;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,v=0,_=0,x=0;s.sort(io);const y=!0===a?Math.PI:1;for(let t=0,e=s.length;t<e;t++){const e=s[t],a=e.color,M=e.intensity,S=e.distance,b=e.shadow&&e.shadow.map?e.shadow.map.texture:null;if(e.isAmbientLight)o+=a.r*M*y,l+=a.g*M*y,c+=a.b*M*y;else if(e.isLightProbe)for(let t=0;t<9;t++)r.probe[t].addScaledVector(e.sh.coefficients[t],M);else if(e.isDirectionalLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*y),e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,r.directionalShadow[h]=n,r.directionalShadowMap[h]=b,r.directionalShadowMatrix[h]=e.shadow.matrix,f++}r.directional[h]=t,h++}else if(e.isSpotLight){const t=n.get(e);t.position.setFromMatrixPosition(e.matrixWorld),t.color.copy(a).multiplyScalar(M*y),t.distance=S,t.coneCos=Math.cos(e.angle),t.penumbraCos=Math.cos(e.angle*(1-e.penumbra)),t.decay=e.decay,r.spot[d]=t;const s=e.shadow;if(e.map&&(r.spotLightMap[_]=e.map,_++,s.updateMatrices(e),e.castShadow&&x++),r.spotLightMatrix[d]=s.matrix,e.castShadow){const t=i.get(e);t.shadowBias=s.bias,t.shadowNormalBias=s.normalBias,t.shadowRadius=s.radius,t.shadowMapSize=s.mapSize,r.spotShadow[d]=t,r.spotShadowMap[d]=b,v++}d++}else if(e.isRectAreaLight){const t=n.get(e);t.color.copy(a).multiplyScalar(M),t.halfWidth.set(.5*e.width,0,0),t.halfHeight.set(0,.5*e.height,0),r.rectArea[p]=t,p++}else if(e.isPointLight){const t=n.get(e);if(t.color.copy(e.color).multiplyScalar(e.intensity*y),t.distance=e.distance,t.decay=e.decay,e.castShadow){const t=e.shadow,n=i.get(e);n.shadowBias=t.bias,n.shadowNormalBias=t.normalBias,n.shadowRadius=t.radius,n.shadowMapSize=t.mapSize,n.shadowCameraNear=t.camera.near,n.shadowCameraFar=t.camera.far,r.pointShadow[u]=n,r.pointShadowMap[u]=b,r.pointShadowMatrix[u]=e.shadow.matrix,g++}r.point[u]=t,u++}else if(e.isHemisphereLight){const t=n.get(e);t.skyColor.copy(e.color).multiplyScalar(M*y),t.groundColor.copy(e.groundColor).multiplyScalar(M*y),r.hemi[m]=t,m++}}p>0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=qr.LTC_FLOAT_1,r.rectAreaLTC2=qr.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=qr.LTC_HALF_1,r.rectAreaLTC2=qr.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const M=r.hash;M.directionalLength===h&&M.pointLength===u&&M.spotLength===d&&M.rectAreaLength===p&&M.hemiLength===m&&M.numDirectionalShadows===f&&M.numPointShadows===g&&M.numSpotShadows===v&&M.numSpotMaps===_||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=v,r.spotShadowMap.length=v,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotLightMatrix.length=v+_-x,r.spotLightMap.length=_,r.numSpotLightShadowsWithMaps=x,M.directionalLength=h,M.pointLength=u,M.spotLength=d,M.rectAreaLength=p,M.hemiLength=m,M.numDirectionalShadows=f,M.numPointShadows=g,M.numSpotShadows=v,M.numSpotMaps=_,r.version=no++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e<d;e++){const d=t[e];if(d.isDirectionalLight){const t=r.directional[n];t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),n++}else if(d.isSpotLight){const t=r.spot[l];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),t.direction.setFromMatrixPosition(d.matrixWorld),s.setFromMatrixPosition(d.target.matrixWorld),t.direction.sub(s),t.direction.transformDirection(u),l++}else if(d.isRectAreaLight){const t=r.rectArea[c];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),o.identity(),a.copy(d.matrixWorld),a.premultiply(u),o.extractRotation(a),t.halfWidth.set(.5*d.width,0,0),t.halfHeight.set(0,.5*d.height,0),t.halfWidth.applyMatrix4(o),t.halfHeight.applyMatrix4(o),c++}else if(d.isPointLight){const t=r.point[i];t.position.setFromMatrixPosition(d.matrixWorld),t.position.applyMatrix4(u),i++}else if(d.isHemisphereLight){const t=r.hemi[h];t.direction.setFromMatrixPosition(d.matrixWorld),t.direction.transformDirection(u),h++}}},state:r}}function so(t,e){const n=new ro(t,e),i=[],r=[];return{init:function(){i.length=0,r.length=0},state:{lightsArray:i,shadowsArray:r,lights:n},setupLights:function(t){n.setup(i,t)},setupLightsView:function(t){n.setupView(i,t)},pushLight:function(t){i.push(t)},pushShadow:function(t){r.push(t)}}}function ao(t,e){let n=new WeakMap;return{get:function(i,r=0){const s=n.get(i);let a;return void 0===s?(a=new so(t,e),n.set(i,[a])):r>=s.length?(a=new so(t,e),s.push(a)):a=s[r],a},dispose:function(){n=new WeakMap}}}class oo extends Ri{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class lo extends Ri{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}const co="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",ho="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}";function uo(t,e,n){let i=new Gr;const r=new We,a=new We,d=new un,p=new oo({depthPacking:xe}),m=new lo,f={},g=n.maxTextureSize,v={[l]:c,[c]:l,[h]:h},_=new Cr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new We},radius:{value:4}},vertexShader:co,fragmentShader:ho}),x=_.clone();x.defines.HORIZONTAL_PASS=1;const y=new ir;y.setAttribute("position",new qi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Mr(y,_),S=this;function b(n,i){const s=e.update(M);_.defines.VSM_SAMPLES!==n.blurSamples&&(_.defines.VSM_SAMPLES=n.blurSamples,x.defines.VSM_SAMPLES=n.blurSamples,_.needsUpdate=!0,x.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new dn(r.x,r.y)),_.uniforms.shadow_pass.value=n.map.texture,_.uniforms.resolution.value=n.mapSize,_.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,s,_,M,null),x.uniforms.shadow_pass.value=n.mapPass.texture,x.uniforms.resolution.value=n.mapSize,x.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,s,x,M,null)}function w(e,n,i,r){let s=null;const a=!0===i.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==a)s=a;else if(s=!0===i.isPointLight?m:p,t.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=s.uuid,e=n.uuid;let i=f[t];void 0===i&&(i={},f[t]=i);let r=i[e];void 0===r&&(r=s.clone(),i[e]=r),s=r}if(s.visible=n.visible,s.wireframe=n.wireframe,s.side=r===o?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:v[n.side],s.alphaMap=n.alphaMap,s.alphaTest=n.alphaTest,s.map=n.map,s.clipShadows=n.clipShadows,s.clippingPlanes=n.clippingPlanes,s.clipIntersection=n.clipIntersection,s.displacementMap=n.displacementMap,s.displacementScale=n.displacementScale,s.displacementBias=n.displacementBias,s.wireframeLinewidth=n.wireframeLinewidth,s.linewidth=n.linewidth,!0===i.isPointLight&&!0===s.isMeshDistanceMaterial){t.properties.get(s).light=i}return s}function T(n,r,s,a,l){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&l===o)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let o=0,c=e.length;o<c;o++){const c=e[o],h=r[c.materialIndex];if(h&&h.visible){const e=w(n,h,a,l);t.renderBufferDirect(s,null,i,e,n,c)}}}else if(r.visible){const e=w(n,r,a,l);t.renderBufferDirect(s,null,i,e,n,null)}}const c=n.children;for(let t=0,e=c.length;t<e;t++)T(c[t],r,s,a,l)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=s,this.render=function(e,n,s){if(!1===S.enabled)return;if(!1===S.autoUpdate&&!1===S.needsUpdate)return;if(0===e.length)return;const l=t.getRenderTarget(),c=t.getActiveCubeFace(),h=t.getActiveMipmapLevel(),p=t.state;p.setBlending(u),p.buffers.color.setClear(1,1,1,1),p.buffers.depth.setTest(!0),p.setScissorTest(!1);for(let l=0,c=e.length;l<c;l++){const c=e[l],h=c.shadow;if(void 0===h){console.warn("THREE.WebGLShadowMap:",c,"has no shadow.");continue}if(!1===h.autoUpdate&&!1===h.needsUpdate)continue;r.copy(h.mapSize);const u=h.getFrameExtents();if(r.multiply(u),a.copy(h.mapSize),(r.x>g||r.y>g)&&(r.x>g&&(a.x=Math.floor(g/u.x),r.x=a.x*u.x,h.mapSize.x=a.x),r.y>g&&(a.y=Math.floor(g/u.y),r.y=a.y*u.y,h.mapSize.y=a.y)),null===h.map){const t=this.type!==o?{minFilter:st,magFilter:st}:{};h.map=new dn(r.x,r.y,t),h.map.texture.name=c.name+".shadowMap",h.camera.updateProjectionMatrix()}t.setRenderTarget(h.map),t.clear();const m=h.getViewportCount();for(let t=0;t<m;t++){const e=h.getViewport(t);d.set(a.x*e.x,a.y*e.y,a.x*e.z,a.y*e.w),p.viewport(d),h.updateMatrices(c,t),i=h.getFrustum(),T(n,s,h.camera,c,this.type)}!0!==h.isPointLightShadow&&this.type===o&&b(h,s),h.needsUpdate=!1}S.needsUpdate=!1,t.setRenderTarget(l,c,h)}}function po(t,e,s){const a=s.isWebGL2;const o=new function(){let e=!1;const n=new un;let i=null;const r=new un(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,s,a,o){!0===o&&(e*=a,i*=a,s*=a),n.set(e,i,s,a),!1===r.equals(n)&&(t.clearColor(e,i,s,a),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},l=new function(){let e=!1,n=null,i=null,r=null;return{setTest:function(t){t?Mt(2929):St(2929)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){switch(e){case D:t.depthFunc(512);break;case U:t.depthFunc(519);break;case N:t.depthFunc(513);break;case O:t.depthFunc(515);break;case z:t.depthFunc(514);break;case B:t.depthFunc(518);break;case F:t.depthFunc(516);break;case k:t.depthFunc(517);break;default:t.depthFunc(515);}i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}},G=new function(){let e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null;return{setTest:function(t){e||(t?Mt(2960):St(2960))},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&s===a||(t.stencilFunc(e,n,a),i=e,r=n,s=a)},setOp:function(e,n,i){a===e&&o===n&&l===i||(t.stencilOp(e,n,i),a=e,o=n,l=i)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null}}},V=new WeakMap,H=new WeakMap;let W={},j={},q=new WeakMap,X=[],Y=null,Z=!1,J=null,K=null,$=null,Q=null,tt=null,et=null,nt=null,it=!1,rt=null,st=null,at=null,ot=null,lt=null;const ct=t.getParameter(35661);let ht=!1,ut=0;const dt=t.getParameter(7938);-1!==dt.indexOf("WebGL")?(ut=parseFloat(/^WebGL (\d)/.exec(dt)[1]),ht=ut>=1):-1!==dt.indexOf("OpenGL ES")&&(ut=parseFloat(/^OpenGL ES (\d)/.exec(dt)[1]),ht=ut>=2);let pt=null,mt={};const ft=t.getParameter(3088),gt=t.getParameter(2978),vt=new un().fromArray(ft),_t=new un().fromArray(gt);function xt(e,n,i){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;e<i;e++)t.texImage2D(n+e,0,6408,1,1,0,6408,5121,r);return s}const yt={};function Mt(e){!0!==W[e]&&(t.enable(e),W[e]=!0)}function St(e){!1!==W[e]&&(t.disable(e),W[e]=!1)}yt[3553]=xt(3553,3553,1),yt[34067]=xt(34067,34069,6),o.setClear(0,0,0,1),l.setClear(1),G.setClear(0),Mt(2929),l.setFunc(O),Et(!1),At(i),Mt(2884),Tt(u);const bt={[v]:32774,[_]:32778,[x]:32779};if(a)bt[y]=32775,bt[M]=32776;else{const t=e.get("EXT_blend_minmax");null!==t&&(bt[y]=t.MIN_EXT,bt[M]=t.MAX_EXT)}const wt={[S]:0,[b]:1,[w]:768,[E]:770,[I]:776,[P]:774,[C]:772,[T]:769,[A]:771,[R]:775,[L]:773};function Tt(e,n,i,r,s,a,o,l){if(e!==u){if(!1===Z&&(Mt(3042),Z=!0),e===g)s=s||n,a=a||i,o=o||r,n===K&&s===tt||(t.blendEquationSeparate(bt[n],bt[s]),K=n,tt=s),i===$&&r===Q&&a===et&&o===nt||(t.blendFuncSeparate(wt[i],wt[r],wt[a],wt[o]),$=i,Q=r,et=a,nt=o),J=e,it=!1;else if(e!==J||l!==it){if(K===v&&tt===v||(t.blendEquation(32774),K=v,tt=v),l)switch(e){case d:t.blendFuncSeparate(1,771,1,771);break;case p:t.blendFunc(1,1);break;case m:t.blendFuncSeparate(0,769,0,1);break;case f:t.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}else switch(e){case d:t.blendFuncSeparate(770,771,1,771);break;case p:t.blendFunc(770,1);break;case m:t.blendFuncSeparate(0,769,0,1);break;case f:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e);}$=null,Q=null,et=null,nt=null,J=e,it=l}}else!0===Z&&(St(3042),Z=!1)}function Et(e){rt!==e&&(e?t.frontFace(2304):t.frontFace(2305),rt=e)}function At(e){e!==n?(Mt(2884),e!==st&&(e===i?t.cullFace(1029):e===r?t.cullFace(1028):t.cullFace(1032))):St(2884),st=e}function Ct(e,n,i){e?(Mt(32823),ot===n&&lt===i||(t.polygonOffset(n,i),ot=n,lt=i)):St(32823)}return{buffers:{color:o,depth:l,stencil:G},enable:Mt,disable:St,bindFramebuffer:function(e,n){return j[e]!==n&&(t.bindFramebuffer(e,n),j[e]=n,a&&(36009===e&&(j[36160]=n),36160===e&&(j[36009]=n)),!0)},drawBuffers:function(n,i){let r=X,a=!1;if(n){if(r=q.get(i),void 0===r&&(r=[],q.set(i,r)),n.isWebGLMultipleRenderTargets){const t=n.texture;if(r.length!==t.length||36064!==r[0]){for(let e=0,n=t.length;e<n;e++)r[e]=36064+e;r.length=t.length,a=!0}}else 36064!==r[0]&&(r[0]=36064,a=!0);}else 1029!==r[0]&&(r[0]=1029,a=!0);a&&(s.isWebGL2?t.drawBuffers(r):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(r))},useProgram:function(e){return Y!==e&&(t.useProgram(e),Y=e,!0)},setBlending:Tt,setMaterial:function(t,e){t.side===h?St(2884):Mt(2884);let n=t.side===c;e&&(n=!n),Et(n),t.blending===d&&!1===t.transparent?Tt(u):Tt(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),l.setFunc(t.depthFunc),l.setTest(t.depthTest),l.setMask(t.depthWrite),o.setMask(t.colorWrite);const i=t.stencilWrite;G.setTest(i),i&&(G.setMask(t.stencilWriteMask),G.setFunc(t.stencilFunc,t.stencilRef,t.stencilFuncMask),G.setOp(t.stencilFail,t.stencilZFail,t.stencilZPass)),Ct(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits),!0===t.alphaToCoverage?Mt(32926):St(32926)},setFlipSided:Et,setCullFace:At,setLineWidth:function(e){e!==at&&(ht&&t.lineWidth(e),at=e)},setPolygonOffset:Ct,setScissorTest:function(t){t?Mt(3089):St(3089)},activeTexture:function(e){void 0===e&&(e=33984+ct-1),pt!==e&&(t.activeTexture(e),pt=e)},bindTexture:function(e,n,i){void 0===i&&(i=null===pt?33984+ct-1:pt);let r=mt[i];void 0===r&&(r={type:void 0,texture:void 0},mt[i]=r),r.type===e&&r.texture===n||(pt!==i&&(t.activeTexture(i),pt=i),t.bindTexture(e,n||yt[e]),r.type=e,r.texture=n)},unbindTexture:function(){const e=mt[pt];void 0!==e&&void 0!==e.type&&(t.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{t.compressedTexImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexImage3D:function(){try{t.compressedTexImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage2D:function(){try{t.texImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage3D:function(){try{t.texImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},updateUBOMapping:function(e,n){let i=H.get(n);void 0===i&&(i=new WeakMap,H.set(n,i));let r=i.get(e);void 0===r&&(r=t.getUniformBlockIndex(n,e.name),i.set(e,r))},uniformBlockBinding:function(e,n){const i=H.get(n).get(e);V.get(n)!==i&&(t.uniformBlockBinding(n,i,e.__bindingPointIndex),V.set(n,i))},texStorage2D:function(){try{t.texStorage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texStorage3D:function(){try{t.texStorage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage2D:function(){try{t.texSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage3D:function(){try{t.texSubImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage2D:function(){try{t.compressedTexSubImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage3D:function(){try{t.compressedTexSubImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},scissor:function(e){!1===vt.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),vt.copy(e))},viewport:function(e){!1===_t.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),_t.copy(e))},reset:function(){t.disable(3042),t.disable(2884),t.disable(2929),t.disable(32823),t.disable(3089),t.disable(2960),t.disable(32926),t.blendEquation(32774),t.blendFunc(1,0),t.blendFuncSeparate(1,0,1,0),t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.depthMask(!0),t.depthFunc(513),t.clearDepth(1),t.stencilMask(4294967295),t.stencilFunc(519,0,4294967295),t.stencilOp(7680,7680,7680),t.clearStencil(0),t.cullFace(1029),t.frontFace(2305),t.polygonOffset(0,0),t.activeTexture(33984),t.bindFramebuffer(36160,null),!0===a&&(t.bindFramebuffer(36009,null),t.bindFramebuffer(36008,null)),t.useProgram(null),t.lineWidth(1),t.scissor(0,0,t.canvas.width,t.canvas.height),t.viewport(0,0,t.canvas.width,t.canvas.height),W={},pt=null,mt={},j={},q=new WeakMap,X=[],Y=null,Z=!1,J=null,K=null,$=null,Q=null,tt=null,et=null,nt=null,it=!1,rt=null,st=null,at=null,ot=null,lt=null,vt.set(0,0,t.canvas.width,t.canvas.height),_t.set(0,0,t.canvas.width,t.canvas.height),o.reset(),l.reset(),G.reset()}}}function mo(t,e,n,i,r,s,a){const o=r.isWebGL2,l=r.maxTextures,c=r.maxCubemapSize,h=r.maxTextureSize,u=r.maxSamples,d=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,p="undefined"!=typeof navigator&&/OculusBrowser/g.test(navigator.userAgent),m=new WeakMap;let f;const g=new WeakMap;let v=!1;try{v="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(t){}function _(t,e){return v?new OffscreenCanvas(t,e):Je("canvas")}function x(t,e,n,i){let r=1;if((t.width>i||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?ke:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===f&&(f=_(s,a));const o=n?_(s,a):f;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function y(t){return Be(t.width)&&Be(t.height)}function M(t,e){return t.generateMipmaps&&e&&t.minFilter!==st&&t.minFilter!==lt}function S(e){t.generateMipmap(e)}function b(n,i,r,s,a=!1){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let l=i;return 6403===i&&(5126===r&&(l=33326),5131===r&&(l=33325),5121===r&&(l=33321)),33319===i&&(5126===r&&(l=33328),5131===r&&(l=33327),5121===r&&(l=33323)),6408===i&&(5126===r&&(l=34836),5131===r&&(l=34842),5121===r&&(l=s===_e&&!1===a?35907:32856),32819===r&&(l=32854),32820===r&&(l=32855)),33325!==l&&33326!==l&&33327!==l&&33328!==l&&34842!==l&&34836!==l||e.get("EXT_color_buffer_float"),l}function w(t,e,n){return!0===M(t,n)||t.isFramebufferTexture&&t.minFilter!==st&&t.minFilter!==lt?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function T(t){return t===st||t===at||t===ot?9728:9729}function E(t){const e=t.target;e.removeEventListener("dispose",E),function(t){const e=i.get(t);if(void 0===e.__webglInit)return;const n=t.source,r=g.get(n);if(r){const i=r[e.__cacheKey];i.usedTimes--,0===i.usedTimes&&C(t),0===Object.keys(r).length&&g.delete(n)}i.remove(t)}(e),e.isVideoTexture&&m.delete(e)}function A(e){const n=e.target;n.removeEventListener("dispose",A),function(e){const n=e.texture,r=i.get(e),s=i.get(n);void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(r.__webglFramebuffer[e]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[e]);else{if(t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer)for(let e=0;e<r.__webglColorRenderbuffer.length;e++)r.__webglColorRenderbuffer[e]&&t.deleteRenderbuffer(r.__webglColorRenderbuffer[e]);r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer)}if(e.isWebGLMultipleRenderTargets)for(let e=0,r=n.length;e<r;e++){const r=i.get(n[e]);r.__webglTexture&&(t.deleteTexture(r.__webglTexture),a.memory.textures--),i.remove(n[e])}i.remove(n),i.remove(e)}(n)}function C(e){const n=i.get(e);t.deleteTexture(n.__webglTexture);const r=e.source;delete g.get(r)[n.__cacheKey],a.memory.textures--}let L=0;function P(t,e){const r=i.get(t);if(t.isVideoTexture&&function(t){const e=a.render.frame;m.get(t)!==e&&(m.set(t,e),t.update())}(t),!1===t.isRenderTargetTexture&&t.version>0&&r.__version!==t.version){const n=t.image;if(null===n)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==n.complete)return void N(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(3553,r.__webglTexture,33984+e)}const R={[nt]:10497,[it]:33071,[rt]:33648},I={[st]:9728,[at]:9984,[ot]:9986,[lt]:9729,[ct]:9985,[ht]:9987};function D(n,s,a){if(a?(t.texParameteri(n,10242,R[s.wrapS]),t.texParameteri(n,10243,R[s.wrapT]),32879!==n&&35866!==n||t.texParameteri(n,32882,R[s.wrapR]),t.texParameteri(n,10240,I[s.magFilter]),t.texParameteri(n,10241,I[s.minFilter])):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),32879!==n&&35866!==n||t.texParameteri(n,32882,33071),s.wrapS===it&&s.wrapT===it||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,T(s.magFilter)),t.texParameteri(n,10241,T(s.minFilter)),s.minFilter!==st&&s.minFilter!==lt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.magFilter===st)return;if(s.minFilter!==ot&&s.minFilter!==ht)return;if(s.type===vt&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===_t&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function U(e,n){let i=!1;void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",E));const r=n.source;let s=g.get(r);void 0===s&&(s={},g.set(r,s));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.wrapR||0),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.encoding),e.join()}(n);if(o!==e.__cacheKey){void 0===s[o]&&(s[o]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,i=!0),s[o].usedTimes++;const r=s[e.__cacheKey];void 0!==r&&(s[e.__cacheKey].usedTimes--,0===r.usedTimes&&C(n)),e.__cacheKey=o,e.__webglTexture=s[o].texture}return i}function N(e,r,a){let l=3553;(r.isDataArrayTexture||r.isCompressedArrayTexture)&&(l=35866),r.isData3DTexture&&(l=32879);const c=U(e,r),u=r.source;n.bindTexture(l,e.__webglTexture,33984+a);const d=i.get(u);if(u.version!==d.__version||!0===c){n.activeTexture(33984+a),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const e=function(t){return!o&&(t.wrapS!==it||t.wrapT!==it||t.minFilter!==st&&t.minFilter!==lt)}(r)&&!1===y(r.image);let i=x(r.image,e,!1,h);i=G(r,i);const p=y(i)||o,m=s.convert(r.format,r.encoding);let f,g=s.convert(r.type),v=b(r.internalFormat,m,g,r.encoding,r.isVideoTexture);D(l,r,p);const _=r.mipmaps,T=o&&!0!==r.isVideoTexture,E=void 0===d.__version||!0===c,A=w(r,i,p);if(r.isDepthTexture)v=6402,o?v=r.type===vt?36012:r.type===gt?33190:r.type===Mt?35056:33189:r.type===vt&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),r.format===Et&&6402===v&&r.type!==mt&&r.type!==gt&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=gt,g=s.convert(r.type)),r.format===At&&6402===v&&(v=34041,r.type!==Mt&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=Mt,g=s.convert(r.type))),E&&(T?n.texStorage2D(3553,1,v,i.width,i.height):n.texImage2D(3553,0,v,i.width,i.height,0,m,g,null));else if(r.isDataTexture){if(_.length>0&&p){T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],T?n.texSubImage2D(3553,t,0,0,f.width,f.height,m,g,f.data):n.texImage2D(3553,t,v,f.width,f.height,0,m,g,f.data);r.generateMipmaps=!1}else T?(E&&n.texStorage2D(3553,A,v,i.width,i.height),n.texSubImage2D(3553,0,0,0,i.width,i.height,m,g,i.data)):n.texImage2D(3553,0,v,i.width,i.height,0,m,g,i.data);}else if(r.isCompressedTexture){if(r.isCompressedArrayTexture){T&&E&&n.texStorage3D(35866,A,v,_[0].width,_[0].height,i.depth);for(let t=0,e=_.length;t<e;t++)f=_[t],r.format!==bt?null!==m?T?n.compressedTexSubImage3D(35866,t,0,0,0,f.width,f.height,i.depth,m,f.data,0,0):n.compressedTexImage3D(35866,t,v,f.width,f.height,i.depth,0,f.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):T?n.texSubImage3D(35866,t,0,0,0,f.width,f.height,i.depth,m,g,f.data):n.texImage3D(35866,t,v,f.width,f.height,i.depth,0,m,g,f.data)}else{T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],r.format!==bt?null!==m?T?n.compressedTexSubImage2D(3553,t,0,0,f.width,f.height,m,f.data):n.compressedTexImage2D(3553,t,v,f.width,f.height,0,f.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):T?n.texSubImage2D(3553,t,0,0,f.width,f.height,m,g,f.data):n.texImage2D(3553,t,v,f.width,f.height,0,m,g,f.data)}}else if(r.isDataArrayTexture)T?(E&&n.texStorage3D(35866,A,v,i.width,i.height,i.depth),n.texSubImage3D(35866,0,0,0,0,i.width,i.height,i.depth,m,g,i.data)):n.texImage3D(35866,0,v,i.width,i.height,i.depth,0,m,g,i.data);else if(r.isData3DTexture)T?(E&&n.texStorage3D(32879,A,v,i.width,i.height,i.depth),n.texSubImage3D(32879,0,0,0,0,i.width,i.height,i.depth,m,g,i.data)):n.texImage3D(32879,0,v,i.width,i.height,i.depth,0,m,g,i.data);else if(r.isFramebufferTexture){if(E)if(T)n.texStorage2D(3553,A,v,i.width,i.height);else{let t=i.width,e=i.height;for(let i=0;i<A;i++)n.texImage2D(3553,i,v,t,e,0,m,g,null),t>>=1,e>>=1}}else if(_.length>0&&p){T&&E&&n.texStorage2D(3553,A,v,_[0].width,_[0].height);for(let t=0,e=_.length;t<e;t++)f=_[t],T?n.texSubImage2D(3553,t,0,0,m,g,f):n.texImage2D(3553,t,v,m,g,f);r.generateMipmaps=!1}else T?(E&&n.texStorage2D(3553,A,v,i.width,i.height),n.texSubImage2D(3553,0,0,0,m,g,i)):n.texImage2D(3553,0,v,m,g,i);M(r,p)&&S(l),d.__version=u.version,r.onUpdate&&r.onUpdate(r)}e.__version=r.version}function O(e,r,a,o,l){const c=s.convert(a.format,a.encoding),h=s.convert(a.type),u=b(a.internalFormat,c,h,a.encoding);i.get(r).__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,u,r.width,r.height,r.depth,0,c,h,null):n.texImage2D(l,0,u,r.width,r.height,0,c,h,null)),n.bindFramebuffer(36160,e),k(r)?d.framebufferTexture2DMultisampleEXT(36160,o,l,i.get(a).__webglTexture,0,F(r)):(3553===l||l>=34069&&l<=34074)&&t.framebufferTexture2D(36160,o,l,i.get(a).__webglTexture,0),n.bindFramebuffer(36160,null)}function z(e,n,i){if(t.bindRenderbuffer(36161,e),n.depthBuffer&&!n.stencilBuffer){let r=33189;if(i||k(n)){const e=n.depthTexture;e&&e.isDepthTexture&&(e.type===vt?r=36012:e.type===gt&&(r=33190));const i=F(n);k(n)?d.renderbufferStorageMultisampleEXT(36161,i,r,n.width,n.height):t.renderbufferStorageMultisample(36161,i,r,n.width,n.height)}else t.renderbufferStorage(36161,r,n.width,n.height);t.framebufferRenderbuffer(36160,36096,36161,e)}else if(n.depthBuffer&&n.stencilBuffer){const r=F(n);i&&!1===k(n)?t.renderbufferStorageMultisample(36161,r,35056,n.width,n.height):k(n)?d.renderbufferStorageMultisampleEXT(36161,r,35056,n.width,n.height):t.renderbufferStorage(36161,34041,n.width,n.height),t.framebufferRenderbuffer(36160,33306,36161,e)}else{const e=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let r=0;r<e.length;r++){const a=e[r],o=s.convert(a.format,a.encoding),l=s.convert(a.type),c=b(a.internalFormat,o,l,a.encoding),h=F(n);i&&!1===k(n)?t.renderbufferStorageMultisample(36161,h,c,n.width,n.height):k(n)?d.renderbufferStorageMultisampleEXT(36161,h,c,n.width,n.height):t.renderbufferStorage(36161,c,n.width,n.height)}}t.bindRenderbuffer(36161,null)}function B(e){const r=i.get(e),s=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture&&!r.__autoAllocateDepthBuffer){if(s)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(n.bindFramebuffer(36160,e),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(r.depthTexture).__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),P(r.depthTexture,0);const s=i.get(r.depthTexture).__webglTexture,a=F(r);if(r.depthTexture.format===Et)k(r)?d.framebufferTexture2DMultisampleEXT(36160,36096,3553,s,0,a):t.framebufferTexture2D(36160,36096,3553,s,0);else{if(r.depthTexture.format!==At)throw new Error("Unknown depthTexture format");k(r)?d.framebufferTexture2DMultisampleEXT(36160,33306,3553,s,0,a):t.framebufferTexture2D(36160,33306,3553,s,0)}}(r.__webglFramebuffer,e)}else if(s){r.__webglDepthbuffer=[];for(let i=0;i<6;i++)n.bindFramebuffer(36160,r.__webglFramebuffer[i]),r.__webglDepthbuffer[i]=t.createRenderbuffer(),z(r.__webglDepthbuffer[i],e,!1)}else n.bindFramebuffer(36160,r.__webglFramebuffer),r.__webglDepthbuffer=t.createRenderbuffer(),z(r.__webglDepthbuffer,e,!1);n.bindFramebuffer(36160,null)}function F(t){return Math.min(u,t.samples)}function k(t){const n=i.get(t);return o&&t.samples>0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function G(t,n){const i=t.encoding,r=t.format,s=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===Ce||i!==ve&&(i===_e?!1===o?!0===e.has("EXT_sRGB")&&r===bt?(t.format=Ce,t.minFilter=lt,t.generateMipmaps=!1):n=an.sRGBToLinear(n):r===bt&&s===ut||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",i)),n}this.allocateTextureUnit=function(){const t=L;return t>=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),L+=1,t},this.resetTextureUnits=function(){L=0},this.setTexture2D=P,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?N(r,t,e):n.bindTexture(35866,r.__webglTexture,33984+e)},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?N(r,t,e):n.bindTexture(32879,r.__webglTexture,33984+e)},this.setTextureCube=function(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?function(e,r,a){if(6!==r.image.length)return;const l=U(e,r),h=r.source;n.bindTexture(34067,e.__webglTexture,33984+a);const u=i.get(h);if(h.version!==u.__version||!0===l){n.activeTexture(33984+a),t.pixelStorei(37440,r.flipY),t.pixelStorei(37441,r.premultiplyAlpha),t.pixelStorei(3317,r.unpackAlignment),t.pixelStorei(37443,0);const e=r.isCompressedTexture||r.image[0].isCompressedTexture,i=r.image[0]&&r.image[0].isDataTexture,d=[];for(let t=0;t<6;t++)d[t]=e||i?i?r.image[t].image:r.image[t]:x(r.image[t],!1,!0,c),d[t]=G(r,d[t]);const p=d[0],m=y(p)||o,f=s.convert(r.format,r.encoding),g=s.convert(r.type),v=b(r.internalFormat,f,g,r.encoding),_=o&&!0!==r.isVideoTexture,T=void 0===u.__version||!0===l;let E,A=w(r,p,m);if(D(34067,r,m),e){_&&T&&n.texStorage2D(34067,A,v,p.width,p.height);for(let t=0;t<6;t++){E=d[t].mipmaps;for(let e=0;e<E.length;e++){const i=E[e];r.format!==bt?null!==f?_?n.compressedTexSubImage2D(34069+t,e,0,0,i.width,i.height,f,i.data):n.compressedTexImage2D(34069+t,e,v,i.width,i.height,0,i.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):_?n.texSubImage2D(34069+t,e,0,0,i.width,i.height,f,g,i.data):n.texImage2D(34069+t,e,v,i.width,i.height,0,f,g,i.data)}}}else{E=r.mipmaps,_&&T&&(E.length>0&&A++,n.texStorage2D(34067,A,v,d[0].width,d[0].height));for(let t=0;t<6;t++)if(i){_?n.texSubImage2D(34069+t,0,0,0,d[t].width,d[t].height,f,g,d[t].data):n.texImage2D(34069+t,0,v,d[t].width,d[t].height,0,f,g,d[t].data);for(let e=0;e<E.length;e++){const i=E[e].image[t].image;_?n.texSubImage2D(34069+t,e+1,0,0,i.width,i.height,f,g,i.data):n.texImage2D(34069+t,e+1,v,i.width,i.height,0,f,g,i.data)}}else{_?n.texSubImage2D(34069+t,0,0,0,f,g,d[t]):n.texImage2D(34069+t,0,v,f,g,d[t]);for(let e=0;e<E.length;e++){const i=E[e];_?n.texSubImage2D(34069+t,e+1,0,0,f,g,i.image[t]):n.texImage2D(34069+t,e+1,v,f,g,i.image[t])}}}M(r,m)&&S(34067),u.__version=h.version,r.onUpdate&&r.onUpdate(r)}e.__version=r.version}(a,e,r):n.bindTexture(34067,a.__webglTexture,33984+r)},this.rebindTextures=function(t,e,n){const r=i.get(t);void 0!==e&&O(r.__webglFramebuffer,t,t.texture,36064,3553),void 0!==n&&B(t)},this.setupRenderTarget=function(e){const l=e.texture,c=i.get(e),h=i.get(l);e.addEventListener("dispose",A),!0!==e.isWebGLMultipleRenderTargets&&(void 0===h.__webglTexture&&(h.__webglTexture=t.createTexture()),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=y(e)||o;if(u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else{if(c.__webglFramebuffer=t.createFramebuffer(),d)if(r.drawBuffers){const n=e.texture;for(let e=0,r=n.length;e<r;e++){const r=i.get(n[e]);void 0===r.__webglTexture&&(r.__webglTexture=t.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&e.samples>0&&!1===k(e)){const i=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let n=0;n<i.length;n++){const r=i[n];c.__webglColorRenderbuffer[n]=t.createRenderbuffer(),t.bindRenderbuffer(36161,c.__webglColorRenderbuffer[n]);const a=s.convert(r.format,r.encoding),o=s.convert(r.type),l=b(r.internalFormat,a,o,r.encoding,!0===e.isXRRenderTarget),h=F(e);t.renderbufferStorageMultisample(36161,h,l,e.width,e.height),t.framebufferRenderbuffer(36160,36064+n,36161,c.__webglColorRenderbuffer[n])}t.bindRenderbuffer(36161,null),e.depthBuffer&&(c.__webglDepthRenderbuffer=t.createRenderbuffer(),z(c.__webglDepthRenderbuffer,e,!0)),n.bindFramebuffer(36160,null)}}if(u){n.bindTexture(34067,h.__webglTexture),D(34067,l,p);for(let t=0;t<6;t++)O(c.__webglFramebuffer[t],e,l,36064,34069+t);M(l,p)&&S(34067),n.unbindTexture()}else if(d){const t=e.texture;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=i.get(s);n.bindTexture(3553,a.__webglTexture),D(3553,s,p),O(c.__webglFramebuffer,e,s,36064+r,3553),M(s,p)&&S(3553)}n.unbindTexture()}else{let t=3553;(e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(o?t=e.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),n.bindTexture(t,h.__webglTexture),D(t,l,p),O(c.__webglFramebuffer,e,l,36064,t),M(l,p)&&S(t),n.unbindTexture()}e.depthBuffer&&B(e)},this.updateRenderTargetMipmap=function(t){const e=y(t)||o,r=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let s=0,a=r.length;s<a;s++){const a=r[s];if(M(a,e)){const e=t.isWebGLCubeRenderTarget?34067:3553,r=i.get(a).__webglTexture;n.bindTexture(e,r),S(e),n.unbindTexture()}}},this.updateMultisampleRenderTarget=function(e){if(o&&e.samples>0&&!1===k(e)){const r=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],s=e.width,a=e.height;let o=16384;const l=[],c=e.stencilBuffer?33306:36096,h=i.get(e),u=!0===e.isWebGLMultipleRenderTargets;if(u)for(let e=0;e<r.length;e++)n.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,null),n.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,null,0);n.bindFramebuffer(36008,h.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,h.__webglFramebuffer);for(let n=0;n<r.length;n++){l.push(36064+n),e.depthBuffer&&l.push(c);const d=void 0!==h.__ignoreDepthValues&&h.__ignoreDepthValues;if(!1===d&&(e.depthBuffer&&(o|=256),e.stencilBuffer&&(o|=1024)),u&&t.framebufferRenderbuffer(36008,36064,36161,h.__webglColorRenderbuffer[n]),!0===d&&(t.invalidateFramebuffer(36008,[c]),t.invalidateFramebuffer(36009,[c])),u){const e=i.get(r[n]).__webglTexture;t.framebufferTexture2D(36009,36064,3553,e,0)}t.blitFramebuffer(0,0,s,a,0,0,s,a,o,9728),p&&t.invalidateFramebuffer(36008,l)}if(n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,null),u)for(let e=0;e<r.length;e++){n.bindFramebuffer(36160,h.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064+e,36161,h.__webglColorRenderbuffer[e]);const s=i.get(r[e]).__webglTexture;n.bindFramebuffer(36160,h.__webglFramebuffer),t.framebufferTexture2D(36009,36064+e,3553,s,0)}n.bindFramebuffer(36009,h.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=B,this.setupFrameBufferTexture=O,this.useMultisampledRTT=k}function fo(t,e,n){const i=n.isWebGL2;return{convert:function(n,r=null){let s;if(n===ut)return 5121;if(n===xt)return 32819;if(n===yt)return 32820;if(n===dt)return 5120;if(n===pt)return 5122;if(n===mt)return 5123;if(n===ft)return 5124;if(n===gt)return 5125;if(n===vt)return 5126;if(n===_t)return i?5131:(s=e.get("OES_texture_half_float"),null!==s?s.HALF_FLOAT_OES:null);if(n===St)return 6406;if(n===bt)return 6408;if(n===wt)return 6409;if(n===Tt)return 6410;if(n===Et)return 6402;if(n===At)return 34041;if(n===Ce)return s=e.get("EXT_sRGB"),null!==s?s.SRGB_ALPHA_EXT:null;if(n===Ct)return 6403;if(n===Lt)return 36244;if(n===Pt)return 33319;if(n===Rt)return 33320;if(n===It)return 36249;if(n===Dt||n===Ut||n===Nt||n===Ot)if(r===_e){if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),null===s)return null;if(n===Dt)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Ut)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Nt)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Ot)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(s=e.get("WEBGL_compressed_texture_s3tc"),null===s)return null;if(n===Dt)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Ut)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Nt)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Ot)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===zt||n===Bt||n===Ft||n===kt){if(s=e.get("WEBGL_compressed_texture_pvrtc"),null===s)return null;if(n===zt)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===Bt)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Ft)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===kt)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===Gt)return s=e.get("WEBGL_compressed_texture_etc1"),null!==s?s.COMPRESSED_RGB_ETC1_WEBGL:null;if(n===Vt||n===Ht){if(s=e.get("WEBGL_compressed_texture_etc"),null===s)return null;if(n===Vt)return r===_e?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===Ht)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}if(n===Wt||n===jt||n===qt||n===Xt||n===Yt||n===Zt||n===Jt||n===Kt||n===$t||n===Qt||n===te||n===ee||n===ne||n===ie){if(s=e.get("WEBGL_compressed_texture_astc"),null===s)return null;if(n===Wt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===jt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===qt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Xt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===Yt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===Zt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Jt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===Kt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===$t)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===Qt)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===te)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===ee)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===ne)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===ie)return r===_e?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===re){if(s=e.get("EXT_texture_compression_bptc"),null===s)return null;if(n===re)return r===_e?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(n===se||n===ae||n===oe||n===le){if(s=e.get("EXT_texture_compression_rgtc"),null===s)return null;if(n===re)return s.COMPRESSED_RED_RGTC1_EXT;if(n===ae)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===oe)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===le)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===Mt?i?34042:(s=e.get("WEBGL_depth_texture"),null!==s?s.UNSIGNED_INT_24_8_WEBGL:null):void 0!==t[n]?t[n]:null}}}class go extends Pr{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class vo extends vi{constructor(){super(),this.isGroup=!0,this.type="Group"}}const _o={type:"move"};class xo{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new vo,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new vo,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new gn,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new gn),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new vo,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new gn,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new gn),this._grip}dispatchEvent(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this}connect(t){if(t&&t.hand){const e=this._hand;if(e)for(const n of t.hand.values())this._getHandJoint(e,n)}return this.dispatchEvent({type:"connected",data:t}),this}disconnect(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(t,e,n){let i=null,r=null,s=null;const a=this._targetRay,o=this._grip,l=this._hand;if(t&&"visible-blurred"!==e.session.visibilityState){if(l&&t.hand){s=!0;for(const i of t.hand.values()){const t=e.getJointPose(i,n),r=this._getHandJoint(l,i);null!==t&&(r.matrix.fromArray(t.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=t.radius),r.visible=null!==t}const i=l.joints["index-finger-tip"],r=l.joints["thumb-tip"],a=i.position.distanceTo(r.position),o=.02,c=.005;l.inputState.pinching&&a>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));null!==a&&(i=e.getPose(t.targetRaySpace,n),null===i&&null!==r&&(i=r),null!==i&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(_o)))}return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}_getHandJoint(t,e){if(void 0===t.joints[e.jointName]){const n=new vo;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}class yo extends hn{constructor(t,e,n,i,r,s,a,o,l,c){if((c=void 0!==c?c:Et)!==Et&&c!==At)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===Et&&(n=gt),void 0===n&&c===At&&(n=Mt),super(null,i,r,s,a,o,c,n,l),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=void 0!==a?a:st,this.minFilter=void 0!==o?o:st,this.flipY=!1,this.generateMipmaps=!1}}class Mo extends Le{constructor(t,e){super();const n=this;let i=null,r=1,s=null,a="local-floor",o=1,l=null,c=null,h=null,u=null,d=null,p=null;const m=e.getContextAttributes();let f=null,g=null;const v=[],_=[],x=new Set,y=new Map,M=new Pr;M.layers.enable(1),M.viewport=new un;const S=new Pr;S.layers.enable(2),S.viewport=new un;const b=[M,S],w=new go;w.layers.enable(1),w.layers.enable(2);let T=null,E=null;function A(t){const e=_.indexOf(t.inputSource);if(-1===e)return;const n=v[e];void 0!==n&&n.dispatchEvent({type:t.type,data:t.inputSource})}function C(){i.removeEventListener("select",A),i.removeEventListener("selectstart",A),i.removeEventListener("selectend",A),i.removeEventListener("squeeze",A),i.removeEventListener("squeezestart",A),i.removeEventListener("squeezeend",A),i.removeEventListener("end",C),i.removeEventListener("inputsourceschange",L);for(let t=0;t<v.length;t++){const e=_[t];null!==e&&(_[t]=null,v[t].disconnect(e))}T=null,E=null,t.setRenderTarget(f),d=null,u=null,h=null,i=null,g=null,U.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function L(t){for(let e=0;e<t.removed.length;e++){const n=t.removed[e],i=_.indexOf(n);i>=0&&(_[i]=null,v[i].disconnect(n))}for(let e=0;e<t.added.length;e++){const n=t.added[e];let i=_.indexOf(n);if(-1===i){for(let t=0;t<v.length;t++){if(t>=_.length){_.push(n),i=t;break}if(null===_[t]){_[t]=n,i=t;break}}if(-1===i)break}const r=v[i];r&&r.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getGripSpace()},this.getHand=function(t){let e=v[t];return void 0===e&&(e=new xo,v[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){a=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||s},this.setReferenceSpace=function(t){l=t},this.getBaseLayer=function(){return null!==u?u:d},this.getBinding=function(){return h},this.getFrame=function(){return p},this.getSession=function(){return i},this.setSession=async function(c){if(i=c,null!==i){if(f=t.getRenderTarget(),i.addEventListener("select",A),i.addEventListener("selectstart",A),i.addEventListener("selectend",A),i.addEventListener("squeeze",A),i.addEventListener("squeezestart",A),i.addEventListener("squeezeend",A),i.addEventListener("end",C),i.addEventListener("inputsourceschange",L),!0!==m.xrCompatible&&(await e.makeXRCompatible()),void 0===i.renderState.layers||!1===t.capabilities.isWebGL2){const n={antialias:void 0!==i.renderState.layers||m.antialias,alpha:m.alpha,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:r};d=new XRWebGLLayer(i,e,n),i.updateRenderState({baseLayer:d}),g=new dn(d.framebufferWidth,d.framebufferHeight,{format:bt,type:ut,encoding:t.outputEncoding,stencilBuffer:m.stencil})}else{let n=null,s=null,a=null;m.depth&&(a=m.stencil?35056:33190,n=m.stencil?At:Et,s=m.stencil?Mt:gt);const o={colorFormat:32856,depthFormat:a,scaleFactor:r};h=new XRWebGLBinding(i,e),u=h.createProjectionLayer(o),i.updateRenderState({layers:[u]}),g=new dn(u.textureWidth,u.textureHeight,{format:bt,type:ut,depthTexture:new yo(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:m.stencil,encoding:t.outputEncoding,samples:m.antialias?4:0});t.properties.get(g).__ignoreDepthValues=u.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(o),l=null,s=await i.requestReferenceSpace(a),U.setContext(i),U.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};const P=new gn,R=new gn;function I(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===i)return;w.near=S.near=M.near=t.near,w.far=S.far=M.far=t.far,T===w.near&&E===w.far||(i.updateRenderState({depthNear:w.near,depthFar:w.far}),T=w.near,E=w.far);const e=t.parent,n=w.cameras;I(w,e);for(let t=0;t<n.length;t++)I(n[t],e);2===n.length?function(t,e,n){P.setFromMatrixPosition(e.matrixWorld),R.setFromMatrixPosition(n.matrixWorld);const i=P.distanceTo(R),r=e.projectionMatrix.elements,s=n.projectionMatrix.elements,a=r[14]/(r[10]-1),o=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],u=(s[8]+1)/s[0],d=a*h,p=a*u,m=i/(-h+u),f=m*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(f),t.translateZ(m),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.copy(t.matrixWorld).invert();const g=a+m,v=o+m,_=d-f,x=p+(i-f),y=l*o/v*g,M=c*o/v*g;t.projectionMatrix.makePerspective(_,x,y,M,g,v),t.projectionMatrixInverse.copy(t.projectionMatrix).invert()}(w,M,S):w.projectionMatrix.copy(M.projectionMatrix),function(t,e,n){null===n?t.matrix.copy(e.matrixWorld):(t.matrix.copy(n.matrixWorld),t.matrix.invert(),t.matrix.multiply(e.matrixWorld));t.matrix.decompose(t.position,t.quaternion,t.scale),t.updateMatrixWorld(!0);const i=t.children;for(let t=0,e=i.length;t<e;t++)i[t].updateMatrixWorld(!0);t.projectionMatrix.copy(e.projectionMatrix),t.projectionMatrixInverse.copy(e.projectionMatrixInverse),t.isPerspectiveCamera&&(t.fov=2*De*Math.atan(1/t.projectionMatrix.elements[5]),t.zoom=1)}(t,w,e)},this.getCamera=function(){return w},this.getFoveation=function(){if(null!==u||null!==d)return o},this.setFoveation=function(t){o=t,null!==u&&(u.fixedFoveation=t),null!==d&&void 0!==d.fixedFoveation&&(d.fixedFoveation=t)},this.getPlanes=function(){return x};let D=null;const U=new Vr;U.setAnimationLoop(function(e,i){if(c=i.getViewerPose(l||s),p=i,null!==c){const e=c.views;null!==d&&(t.setRenderTargetFramebuffer(g,d.framebuffer),t.setRenderTarget(g));let n=!1;e.length!==w.cameras.length&&(w.cameras.length=0,n=!0);for(let i=0;i<e.length;i++){const r=e[i];let s=null;if(null!==d)s=d.getViewport(r);else{const e=h.getViewSubImage(u,r);s=e.viewport,0===i&&(t.setRenderTargetTextures(g,e.colorTexture,u.ignoreDepthValues?void 0:e.depthStencilTexture),t.setRenderTarget(g))}let a=b[i];void 0===a&&(a=new Pr,a.layers.enable(i),a.viewport=new un,b[i]=a),a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.quaternion,a.scale),a.projectionMatrix.fromArray(r.projectionMatrix),a.projectionMatrixInverse.copy(a.projectionMatrix).invert(),a.viewport.set(s.x,s.y,s.width,s.height),0===i&&(w.matrix.copy(a.matrix),w.matrix.decompose(w.position,w.quaternion,w.scale)),!0===n&&w.cameras.push(a)}}for(let t=0;t<v.length;t++){const e=_[t],n=v[t];null!==e&&void 0!==n&&n.update(e,i,l||s)}if(D&&D(e,i),i.detectedPlanes){n.dispatchEvent({type:"planesdetected",data:i.detectedPlanes});let t=null;for(const e of x)i.detectedPlanes.has(e)||(null===t&&(t=[]),t.push(e));if(null!==t)for(const e of t)x.delete(e),y.delete(e),n.dispatchEvent({type:"planeremoved",data:e});for(const t of i.detectedPlanes)if(x.has(t)){const e=y.get(t);t.lastChangedTime>e&&(y.set(t,t.lastChangedTime),n.dispatchEvent({type:"planechanged",data:t}))}else x.add(t),y.set(t,i.lastChangedTime),n.dispatchEvent({type:"planeadded",data:t})}p=null}),this.setAnimationLoop=function(t){D=t},this.dispose=function(){}}}function So(t,e){function n(t,e){!0===t.matrixAutoUpdate&&t.updateMatrix(),e.value.copy(t.matrix)}function i(i,r){i.opacity.value=r.opacity,r.color&&i.diffuse.value.copy(r.color),r.emissive&&i.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(i.map.value=r.map,n(r.map,i.mapTransform)),r.alphaMap&&(i.alphaMap.value=r.alphaMap,n(r.alphaMap,i.alphaMapTransform)),r.bumpMap&&(i.bumpMap.value=r.bumpMap,n(r.bumpMap,i.bumpMapTransform),i.bumpScale.value=r.bumpScale,r.side===c&&(i.bumpScale.value*=-1)),r.normalMap&&(i.normalMap.value=r.normalMap,n(r.normalMap,i.normalMapTransform),i.normalScale.value.copy(r.normalScale),r.side===c&&i.normalScale.value.negate()),r.displacementMap&&(i.displacementMap.value=r.displacementMap,n(r.displacementMap,i.displacementMapTransform),i.displacementScale.value=r.displacementScale,i.displacementBias.value=r.displacementBias),r.emissiveMap&&(i.emissiveMap.value=r.emissiveMap,n(r.emissiveMap,i.emissiveMapTransform)),r.specularMap&&(i.specularMap.value=r.specularMap,n(r.specularMap,i.specularMapTransform)),r.alphaTest>0&&(i.alphaTest.value=r.alphaTest);const s=e.get(r).envMap;if(s&&(i.envMap.value=s,i.flipEnvMap.value=s.isCubeTexture&&!1===s.isRenderTargetTexture?-1:1,i.reflectivity.value=r.reflectivity,i.ior.value=r.ior,i.refractionRatio.value=r.refractionRatio),r.lightMap){i.lightMap.value=r.lightMap;const e=!0===t.useLegacyLights?Math.PI:1;i.lightMapIntensity.value=r.lightMapIntensity*e,n(r.lightMap,i.lightMapTransform)}r.aoMap&&(i.aoMap.value=r.aoMap,i.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,i.aoMapTransform))}return{refreshFogUniforms:function(e,n){n.color.getRGB(e.fogColor.value,Er(t)),n.isFog?(e.fogNear.value=n.near,e.fogFar.value=n.far):n.isFogExp2&&(e.fogDensity.value=n.density)},refreshMaterialUniforms:function(t,r,s,a,o){r.isMeshBasicMaterial||r.isMeshLambertMaterial?i(t,r):r.isMeshToonMaterial?(i(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,r)):r.isMeshPhongMaterial?(i(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,r)):r.isMeshStandardMaterial?(i(t,r),function(t,i){t.metalness.value=i.metalness,i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap,n(i.metalnessMap,t.metalnessMapTransform));t.roughness.value=i.roughness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap,n(i.roughnessMap,t.roughnessMapTransform));const r=e.get(i).envMap;r&&(t.envMapIntensity.value=i.envMapIntensity)}(t,r),r.isMeshPhysicalMaterial&&function(t,e,i){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap,n(e.sheenColorMap,t.sheenColorMapTransform)),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap,n(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap,n(e.clearcoatMap,t.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,n(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(t.clearcoatNormalMap.value=e.clearcoatNormalMap,n(e.clearcoatNormalMap,t.clearcoatNormalMapTransform),t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),e.side===c&&t.clearcoatNormalScale.value.negate()));e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap,n(e.iridescenceMap,t.iridescenceMapTransform)),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap,n(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap,n(e.transmissionMap,t.transmissionMapTransform)),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap,n(e.thicknessMap,t.thicknessMapTransform)),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap,n(e.specularColorMap,t.specularColorMapTransform));e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap,n(e.specularIntensityMap,t.specularIntensityMapTransform))}(t,r,o)):r.isMeshMatcapMaterial?(i(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,r)):r.isMeshDepthMaterial?i(t,r):r.isMeshDistanceMaterial?(i(t,r),function(t,n){const i=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(i.matrixWorld),t.nearDistance.value=i.shadow.camera.near,t.farDistance.value=i.shadow.camera.far}(t,r)):r.isMeshNormalMaterial?i(t,r):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform))}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,i,r){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*r,e.map&&(t.map.value=e.map,n(e.map,t.uvTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r,s,a):r.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function bo(t,e,n,i){let r={},s={},a=[];const o=n.isWebGL2?t.getParameter(35375):0;function l(t,e,n){const i=t.value;if(void 0===n[e]){if("number"==typeof i)n[e]=i;else{const t=Array.isArray(i)?i:[i],r=[];for(let e=0;e<t.length;e++)r.push(t[e].clone());n[e]=r}return!0}if("number"==typeof i){if(n[e]!==i)return n[e]=i,!0}else{const t=Array.isArray(n[e])?n[e]:[n[e]],r=Array.isArray(i)?i:[i];for(let e=0;e<t.length;e++){const n=t[e];if(!1===n.equals(r[e]))return n.copy(r[e]),!0}}return!1}function c(t){const e={boundary:0,storage:0};return"number"==typeof t?(e.boundary=4,e.storage=4):t.isVector2?(e.boundary=8,e.storage=8):t.isVector3||t.isColor?(e.boundary=16,e.storage=12):t.isVector4?(e.boundary=16,e.storage=16):t.isMatrix3?(e.boundary=48,e.storage=48):t.isMatrix4?(e.boundary=64,e.storage=64):t.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",t),e}function h(e){const n=e.target;n.removeEventListener("dispose",h);const i=a.indexOf(n.__bindingPointIndex);a.splice(i,1),t.deleteBuffer(r[n.id]),delete r[n.id],delete s[n.id]}return{bind:function(t,e){const n=e.program;i.uniformBlockBinding(t,n)},update:function(n,u){let d=r[n.id];void 0===d&&(!function(t){const e=t.uniforms;let n=0;const i=16;let r=0;for(let t=0,s=e.length;t<s;t++){const s=e[t],a={boundary:0,storage:0},o=Array.isArray(s.value)?s.value:[s.value];for(let t=0,e=o.length;t<e;t++){const e=c(o[t]);a.boundary+=e.boundary,a.storage+=e.storage}if(s.__data=new Float32Array(a.storage/Float32Array.BYTES_PER_ELEMENT),s.__offset=n,t>0){r=n%i;0!==r&&i-r-a.boundary<0&&(n+=i-r,s.__offset=n)}n+=a.storage}r=n%i,r>0&&(n+=i-r);t.__size=n,t.__cache={}}(n),d=function(e){const n=function(){for(let t=0;t<o;t++)if(-1===a.indexOf(t))return a.push(t),t;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();e.__bindingPointIndex=n;const i=t.createBuffer(),r=e.__size,s=e.usage;return t.bindBuffer(35345,i),t.bufferData(35345,r,s),t.bindBuffer(35345,null),t.bindBufferBase(35345,n,i),i}(n),r[n.id]=d,n.addEventListener("dispose",h));const p=u.program;i.updateUBOMapping(n,p);const m=e.render.frame;s[n.id]!==m&&(!function(e){const n=r[e.id],i=e.uniforms,s=e.__cache;t.bindBuffer(35345,n);for(let e=0,n=i.length;e<n;e++){const n=i[e];if(!0===l(n,e,s)){const e=n.__offset,i=Array.isArray(n.value)?n.value:[n.value];let r=0;for(let s=0;s<i.length;s++){const a=i[s],o=c(a);"number"==typeof a?(n.__data[0]=a,t.bufferSubData(35345,e+r,n.__data)):a.isMatrix3?(n.__data[0]=a.elements[0],n.__data[1]=a.elements[1],n.__data[2]=a.elements[2],n.__data[3]=a.elements[0],n.__data[4]=a.elements[3],n.__data[5]=a.elements[4],n.__data[6]=a.elements[5],n.__data[7]=a.elements[0],n.__data[8]=a.elements[6],n.__data[9]=a.elements[7],n.__data[10]=a.elements[8],n.__data[11]=a.elements[0]):(a.toArray(n.__data,r),r+=o.storage/Float32Array.BYTES_PER_ELEMENT)}t.bufferSubData(35345,e,n.__data)}}t.bindBuffer(35345,null)}(n),s[n.id]=m)},dispose:function(){for(const e in r)t.deleteBuffer(r[e]);a=[],r={},s={}}}}function wo(){const t=Je("canvas");return t.style.display="block",t}class To{constructor(t={}){const{canvas:n=wo(),context:i=null,depth:r=!0,stencil:s=!0,alpha:a=!1,antialias:o=!1,premultipliedAlpha:u=!0,preserveDrawingBuffer:d=!1,powerPreference:p="default",failIfMajorPerformanceCaveat:m=!1}=t;let f;this.isWebGLRenderer=!0,f=null!==i?i.getContextAttributes().alpha:a;let g=null,v=null;const _=[],x=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=ve,this.useLegacyLights=!0,this.toneMapping=W,this.toneMappingExposure=1;const y=this;let M=!1,S=0,b=0,w=null,T=-1,E=null;const A=new un,C=new un;let L=null,P=n.width,R=n.height,I=1,D=null,U=null;const N=new un(0,0,P,R),O=new un(0,0,P,R);let z=!1;const B=new Gr;let F=!1,k=!1,G=null;const V=new qn,H=new gn,j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function q(){return null===w?I:1}let X,Y,Z,J,K,$,Q,tt,et,nt,it,rt,st,at,ot,lt,ct,dt,pt,mt,ft,gt,xt,yt,Mt=i;function St(t,e){for(let i=0;i<t.length;i++){const r=t[i],s=n.getContext(r,e);if(null!==s)return s}return null}try{const t={alpha:!0,depth:r,stencil:s,antialias:o,premultipliedAlpha:u,preserveDrawingBuffer:d,powerPreference:p,failIfMajorPerformanceCaveat:m};if("setAttribute"in n&&n.setAttribute("data-engine",`three.js r${e}`),n.addEventListener("webglcontextlost",Et,!1),n.addEventListener("webglcontextrestored",At,!1),n.addEventListener("webglcontextcreationerror",Ct,!1),null===Mt){const e=["webgl2","webgl","experimental-webgl"];if(!0===y.isWebGL1Renderer&&e.shift(),Mt=St(e,t),null===Mt)throw St(e)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===Mt.getShaderPrecisionFormat&&(Mt.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(t){throw console.error("THREE.WebGLRenderer: "+t.message),t}function wt(){X=new _s(Mt),Y=new $r(Mt,X,t),X.init(Y),gt=new fo(Mt,X,Y),Z=new po(Mt,X,Y),J=new Ms,K=new Ja,$=new mo(Mt,X,Z,K,Y,gt,J),Q=new ts(y),tt=new vs(y),et=new Hr(Mt,Y),xt=new Jr(Mt,X,et,Y),nt=new xs(Mt,et,J,xt),it=new Ts(Mt,nt,et,J),pt=new ws(Mt,Y,$),lt=new Qr(K),rt=new Za(y,Q,tt,X,Y,xt,lt),st=new So(y,K),at=new to,ot=new ao(X,Y),dt=new Zr(y,Q,tt,Z,it,f,u),ct=new uo(y,it,Y),yt=new bo(Mt,J,Y,Z),mt=new Kr(Mt,X,J,Y),ft=new ys(Mt,X,J,Y),J.programs=rt.programs,y.capabilities=Y,y.extensions=X,y.properties=K,y.renderLists=at,y.shadowMap=ct,y.state=Z,y.info=J}wt();const Tt=new Mo(y,Mt);function Et(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),M=!0}function At(){console.log("THREE.WebGLRenderer: Context Restored."),M=!1;const t=J.autoReset,e=ct.enabled,n=ct.autoUpdate,i=ct.needsUpdate,r=ct.type;wt(),J.autoReset=t,ct.enabled=e,ct.autoUpdate=n,ct.needsUpdate=i,ct.type=r}function Ct(t){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",t.statusMessage)}function Lt(t){const e=t.target;e.removeEventListener("dispose",Lt),function(t){(function(t){const e=K.get(t).programs;void 0!==e&&(e.forEach(function(t){rt.releaseProgram(t)}),t.isShaderMaterial&&rt.releaseShaderCache(t))})(t),K.remove(t)}(e)}this.xr=Tt,this.getContext=function(){return Mt},this.getContextAttributes=function(){return Mt.getContextAttributes()},this.forceContextLoss=function(){const t=X.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){const t=X.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return I},this.setPixelRatio=function(t){void 0!==t&&(I=t,this.setSize(P,R,!1))},this.getSize=function(t){return t.set(P,R)},this.setSize=function(t,e,i=!0){Tt.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(P=t,R=e,n.width=Math.floor(t*I),n.height=Math.floor(e*I),!0===i&&(n.style.width=t+"px",n.style.height=e+"px"),this.setViewport(0,0,t,e))},this.getDrawingBufferSize=function(t){return t.set(P*I,R*I).floor()},this.setDrawingBufferSize=function(t,e,i){P=t,R=e,I=i,n.width=Math.floor(t*i),n.height=Math.floor(e*i),this.setViewport(0,0,t,e)},this.getCurrentViewport=function(t){return t.copy(A)},this.getViewport=function(t){return t.copy(N)},this.setViewport=function(t,e,n,i){t.isVector4?N.set(t.x,t.y,t.z,t.w):N.set(t,e,n,i),Z.viewport(A.copy(N).multiplyScalar(I).floor())},this.getScissor=function(t){return t.copy(O)},this.setScissor=function(t,e,n,i){t.isVector4?O.set(t.x,t.y,t.z,t.w):O.set(t,e,n,i),Z.scissor(C.copy(O).multiplyScalar(I).floor())},this.getScissorTest=function(){return z},this.setScissorTest=function(t){Z.setScissorTest(z=t)},this.setOpaqueSort=function(t){D=t},this.setTransparentSort=function(t){U=t},this.getClearColor=function(t){return t.copy(dt.getClearColor())},this.setClearColor=function(){dt.setClearColor.apply(dt,arguments)},this.getClearAlpha=function(){return dt.getClearAlpha()},this.setClearAlpha=function(){dt.setClearAlpha.apply(dt,arguments)},this.clear=function(t=!0,e=!0,n=!0){let i=0;t&&(i|=16384),e&&(i|=256),n&&(i|=1024),Mt.clear(i)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){n.removeEventListener("webglcontextlost",Et,!1),n.removeEventListener("webglcontextrestored",At,!1),n.removeEventListener("webglcontextcreationerror",Ct,!1),at.dispose(),ot.dispose(),K.dispose(),Q.dispose(),tt.dispose(),it.dispose(),xt.dispose(),yt.dispose(),rt.dispose(),Tt.dispose(),Tt.removeEventListener("sessionstart",Rt),Tt.removeEventListener("sessionend",It),G&&(G.dispose(),G=null),Dt.stop()},this.renderBufferDirect=function(t,e,n,i,r,s){null===e&&(e=j);const a=r.isMesh&&r.matrixWorld.determinant()<0,o=function(t,e,n,i,r){!0!==e.isScene&&(e=j);$.resetTextureUnits();const s=e.fog,a=i.isMeshStandardMaterial?e.environment:null,o=null===w?y.outputEncoding:!0===w.isXRRenderTarget?w.texture.encoding:ve,l=(i.isMeshStandardMaterial?tt:Q).get(i.envMap||a),c=!0===i.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize,h=!!i.normalMap&&!!n.attributes.tangent,u=!!n.morphAttributes.position,d=!!n.morphAttributes.normal,p=!!n.morphAttributes.color,m=i.toneMapped?y.toneMapping:W,f=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=void 0!==f?f.length:0,_=K.get(i),x=v.state.lights;if(!0===F&&(!0===k||t!==E)){const e=t===E&&i.id===T;lt.setState(i,t,e)}let M=!1;i.version===_.__version?_.needsLights&&_.lightsStateVersion!==x.state.version||_.outputEncoding!==o||r.isInstancedMesh&&!1===_.instancing?M=!0:r.isInstancedMesh||!0!==_.instancing?r.isSkinnedMesh&&!1===_.skinning?M=!0:r.isSkinnedMesh||!0!==_.skinning?_.envMap!==l||!0===i.fog&&_.fog!==s?M=!0:void 0===_.numClippingPlanes||_.numClippingPlanes===lt.numPlanes&&_.numIntersection===lt.numIntersection?(_.vertexAlphas!==c||_.vertexTangents!==h||_.morphTargets!==u||_.morphNormals!==d||_.morphColors!==p||_.toneMapping!==m||!0===Y.isWebGL2&&_.morphTargetsCount!==g)&&(M=!0):M=!0:M=!0:M=!0:(M=!0,_.__version=i.version);let S=_.currentProgram;!0===M&&(S=Bt(i,e,r));let b=!1,A=!1,C=!1;const L=S.getUniforms(),P=_.uniforms;Z.useProgram(S.program)&&(b=!0,A=!0,C=!0);i.id!==T&&(T=i.id,A=!0);if(b||E!==t){if(L.setValue(Mt,"projectionMatrix",t.projectionMatrix),Y.logarithmicDepthBuffer&&L.setValue(Mt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),E!==t&&(E=t,A=!0,C=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshStandardMaterial||i.envMap){const e=L.map.cameraPosition;void 0!==e&&e.setValue(Mt,H.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&L.setValue(Mt,"isOrthographic",!0===t.isOrthographicCamera),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.isShadowMaterial||r.isSkinnedMesh)&&L.setValue(Mt,"viewMatrix",t.matrixWorldInverse)}if(r.isSkinnedMesh){L.setOptional(Mt,r,"bindMatrix"),L.setOptional(Mt,r,"bindMatrixInverse");const t=r.skeleton;t&&(Y.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),L.setValue(Mt,"boneTexture",t.boneTexture,$),L.setValue(Mt,"boneTextureSize",t.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const D=n.morphAttributes;(void 0!==D.position||void 0!==D.normal||void 0!==D.color&&!0===Y.isWebGL2)&&pt.update(r,n,S);(A||_.receiveShadow!==r.receiveShadow)&&(_.receiveShadow=r.receiveShadow,L.setValue(Mt,"receiveShadow",r.receiveShadow));i.isMeshGouraudMaterial&&null!==i.envMap&&(P.envMap.value=l,P.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1);A&&(L.setValue(Mt,"toneMappingExposure",y.toneMappingExposure),_.needsLights&&(N=C,(U=P).ambientLightColor.needsUpdate=N,U.lightProbe.needsUpdate=N,U.directionalLights.needsUpdate=N,U.directionalLightShadows.needsUpdate=N,U.pointLights.needsUpdate=N,U.pointLightShadows.needsUpdate=N,U.spotLights.needsUpdate=N,U.spotLightShadows.needsUpdate=N,U.rectAreaLights.needsUpdate=N,U.hemisphereLights.needsUpdate=N),s&&!0===i.fog&&st.refreshFogUniforms(P,s),st.refreshMaterialUniforms(P,i,I,R,G),La.upload(Mt,_.uniformsList,P,$));var U,N;i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(La.upload(Mt,_.uniformsList,P,$),i.uniformsNeedUpdate=!1);i.isSpriteMaterial&&L.setValue(Mt,"center",r.center);if(L.setValue(Mt,"modelViewMatrix",r.modelViewMatrix),L.setValue(Mt,"normalMatrix",r.normalMatrix),L.setValue(Mt,"modelMatrix",r.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const t=i.uniformsGroups;for(let e=0,n=t.length;e<n;e++)if(Y.isWebGL2){const n=t[e];yt.update(n,S),yt.bind(n,S)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return S}(t,e,n,i,r);Z.setMaterial(i,a);let l=n.index,c=1;!0===i.wireframe&&(l=nt.getWireframeAttribute(n),c=2);const h=n.drawRange,u=n.attributes.position;let d=h.start*c,p=(h.start+h.count)*c;null!==s&&(d=Math.max(d,s.start*c),p=Math.min(p,(s.start+s.count)*c)),null!==l?(d=Math.max(d,0),p=Math.min(p,l.count)):null!=u&&(d=Math.max(d,0),p=Math.min(p,u.count));const m=p-d;if(m<0||m===1/0)return;let f;xt.setup(r,i,o,n,l);let g=mt;if(null!==l&&(f=et.get(l),g=ft,g.setIndex(f)),r.isMesh)!0===i.wireframe?(Z.setLineWidth(i.wireframeLinewidth*q()),g.setMode(1)):g.setMode(4);else if(r.isLine){let t=i.linewidth;void 0===t&&(t=1),Z.setLineWidth(t*q()),r.isLineSegments?g.setMode(1):r.isLineLoop?g.setMode(2):g.setMode(3)}else r.isPoints?g.setMode(0):r.isSprite&&g.setMode(4);if(r.isInstancedMesh)g.renderInstances(d,m,r.count);else if(n.isInstancedBufferGeometry){const t=void 0!==n._maxInstanceCount?n._maxInstanceCount:1/0,e=Math.min(n.instanceCount,t);g.renderInstances(d,m,e)}else g.render(d,m)},this.compile=function(t,e){function n(t,e,n){!0===t.transparent&&t.side===h&&!1===t.forceSinglePass?(t.side=c,t.needsUpdate=!0,Bt(t,e,n),t.side=l,t.needsUpdate=!0,Bt(t,e,n),t.side=h):Bt(t,e,n)}v=ot.get(t),v.init(),x.push(v),t.traverseVisible(function(t){t.isLight&&t.layers.test(e.layers)&&(v.pushLight(t),t.castShadow&&v.pushShadow(t))}),v.setupLights(y.useLegacyLights),t.traverse(function(e){const i=e.material;if(i)if(Array.isArray(i))for(let r=0;r<i.length;r++){n(i[r],t,e)}else n(i,t,e)}),x.pop(),v=null};let Pt=null;function Rt(){Dt.stop()}function It(){Dt.start()}const Dt=new Vr;function Ut(t,e,n,i){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)v.pushLight(t),t.castShadow&&v.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||B.intersectsSprite(t)){i&&H.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=it.update(t),r=t.material;r.visible&&g.push(t,e,r,n,H.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.frame!==J.render.frame&&(t.skeleton.update(),t.skeleton.frame=J.render.frame),!t.frustumCulled||B.intersectsObject(t))){i&&H.setFromMatrixPosition(t.matrixWorld).applyMatrix4(V);const e=it.update(t),r=t.material;if(Array.isArray(r)){const i=e.groups;for(let s=0,a=i.length;s<a;s++){const a=i[s],o=r[a.materialIndex];o&&o.visible&&g.push(t,e,o,n,H.z,a)}}else r.visible&&g.push(t,e,r,n,H.z,null)}const r=t.children;for(let t=0,s=r.length;t<s;t++)Ut(r[t],e,n,i)}function Nt(t,e,n,i){const r=t.opaque,s=t.transmissive,a=t.transparent;v.setupLightsView(n),!0===F&&lt.setGlobalState(y.clippingPlanes,n),s.length>0&&function(t,e,n,i){if(null===G){const t=Y.isWebGL2;G=new dn(1024,1024,{generateMipmaps:!0,type:X.has("EXT_color_buffer_half_float")?_t:ut,minFilter:ht,samples:t&&!0===o?4:0})}const r=y.getRenderTarget();y.setRenderTarget(G),y.clear();const s=y.toneMapping;y.toneMapping=W,Ot(t,n,i),$.updateMultisampleRenderTarget(G),$.updateRenderTargetMipmap(G);let a=!1;for(let t=0,r=e.length;t<r;t++){const r=e[t],s=r.object,o=r.geometry,l=r.material,u=r.group;if(l.side===h&&s.layers.test(i.layers)){const t=l.side;l.side=c,l.needsUpdate=!0,zt(s,n,i,o,l,u),l.side=t,l.needsUpdate=!0,a=!0}}!0===a&&($.updateMultisampleRenderTarget(G),$.updateRenderTargetMipmap(G));y.setRenderTarget(r),y.toneMapping=s}(r,s,e,n),i&&Z.viewport(A.copy(i)),r.length>0&&Ot(r,e,n),s.length>0&&Ot(s,e,n),a.length>0&&Ot(a,e,n),Z.buffers.depth.setTest(!0),Z.buffers.depth.setMask(!0),Z.buffers.color.setMask(!0),Z.setPolygonOffset(!1)}function Ot(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r<s;r++){const s=t[r],a=s.object,o=s.geometry,l=null===i?s.material:i,c=s.group;a.layers.test(n.layers)&&zt(a,e,n,o,l,c)}}function zt(t,e,n,i,r,s){t.onBeforeRender(y,e,n,i,r,s),t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),r.onBeforeRender(y,e,n,i,t,s),!0===r.transparent&&r.side===h&&!1===r.forceSinglePass?(r.side=c,r.needsUpdate=!0,y.renderBufferDirect(n,e,i,r,t,s),r.side=l,r.needsUpdate=!0,y.renderBufferDirect(n,e,i,r,t,s),r.side=h):y.renderBufferDirect(n,e,i,r,t,s),t.onAfterRender(y,e,n,i,r,s)}function Bt(t,e,n){!0!==e.isScene&&(e=j);const i=K.get(t),r=v.state.lights,s=v.state.shadowsArray,a=r.state.version,o=rt.getParameters(t,r.state,s,e,n),l=rt.getProgramCacheKey(o);let c=i.programs;i.environment=t.isMeshStandardMaterial?e.environment:null,i.fog=e.fog,i.envMap=(t.isMeshStandardMaterial?tt:Q).get(t.envMap||i.environment),void 0===c&&(t.addEventListener("dispose",Lt),c=new Map,i.programs=c);let h=c.get(l);if(void 0!==h){if(i.currentProgram===h&&i.lightsStateVersion===a)return Ft(t,o),h}else o.uniforms=rt.getUniforms(t),t.onBuild(n,o,y),t.onBeforeCompile(o,y),h=rt.acquireProgram(o,l),c.set(l,h),i.uniforms=o.uniforms;const u=i.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(u.clippingPlanes=lt.uniform),Ft(t,o),i.needsLights=function(t){return t.isMeshLambertMaterial||t.isMeshToonMaterial||t.isMeshPhongMaterial||t.isMeshStandardMaterial||t.isShadowMaterial||t.isShaderMaterial&&!0===t.lights}(t),i.lightsStateVersion=a,i.needsLights&&(u.ambientLightColor.value=r.state.ambient,u.lightProbe.value=r.state.probe,u.directionalLights.value=r.state.directional,u.directionalLightShadows.value=r.state.directionalShadow,u.spotLights.value=r.state.spot,u.spotLightShadows.value=r.state.spotShadow,u.rectAreaLights.value=r.state.rectArea,u.ltc_1.value=r.state.rectAreaLTC1,u.ltc_2.value=r.state.rectAreaLTC2,u.pointLights.value=r.state.point,u.pointLightShadows.value=r.state.pointShadow,u.hemisphereLights.value=r.state.hemi,u.directionalShadowMap.value=r.state.directionalShadowMap,u.directionalShadowMatrix.value=r.state.directionalShadowMatrix,u.spotShadowMap.value=r.state.spotShadowMap,u.spotLightMatrix.value=r.state.spotLightMatrix,u.spotLightMap.value=r.state.spotLightMap,u.pointShadowMap.value=r.state.pointShadowMap,u.pointShadowMatrix.value=r.state.pointShadowMatrix);const d=h.getUniforms(),p=La.seqWithValue(d.seq,u);return i.currentProgram=h,i.uniformsList=p,h}function Ft(t,e){const n=K.get(t);n.outputEncoding=e.outputEncoding,n.instancing=e.instancing,n.skinning=e.skinning,n.morphTargets=e.morphTargets,n.morphNormals=e.morphNormals,n.morphColors=e.morphColors,n.morphTargetsCount=e.morphTargetsCount,n.numClippingPlanes=e.numClippingPlanes,n.numIntersection=e.numClipIntersection,n.vertexAlphas=e.vertexAlphas,n.vertexTangents=e.vertexTangents,n.toneMapping=e.toneMapping}Dt.setAnimationLoop(function(t){Pt&&Pt(t)}),"undefined"!=typeof self&&Dt.setContext(self),this.setAnimationLoop=function(t){Pt=t,Tt.setAnimationLoop(t),null===t?Dt.stop():Dt.start()},Tt.addEventListener("sessionstart",Rt),Tt.addEventListener("sessionend",It),this.render=function(t,e){if(void 0!==e&&!0!==e.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===M)return;!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),null===e.parent&&!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),!0===Tt.enabled&&!0===Tt.isPresenting&&(!0===Tt.cameraAutoUpdate&&Tt.updateCamera(e),e=Tt.getCamera()),!0===t.isScene&&t.onBeforeRender(y,t,e,w),v=ot.get(t,x.length),v.init(),x.push(v),V.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),B.setFromProjectionMatrix(V),k=this.localClippingEnabled,F=lt.init(this.clippingPlanes,k),g=at.get(t,_.length),g.init(),_.push(g),Ut(t,e,0,y.sortObjects),g.finish(),!0===y.sortObjects&&g.sort(D,U),!0===F&&lt.beginShadows();const n=v.state.shadowsArray;if(ct.render(n,t,e),!0===F&&lt.endShadows(),!0===this.info.autoReset&&this.info.reset(),dt.render(g,t),v.setupLights(y.useLegacyLights),e.isArrayCamera){const n=e.cameras;for(let e=0,i=n.length;e<i;e++){const i=n[e];Nt(g,t,i,i.viewport)}}else Nt(g,t,e);null!==w&&($.updateMultisampleRenderTarget(w),$.updateRenderTargetMipmap(w)),!0===t.isScene&&t.onAfterRender(y,t,e),xt.resetDefaultState(),T=-1,E=null,x.pop(),v=x.length>0?x[x.length-1]:null,_.pop(),g=_.length>0?_[_.length-1]:null},this.getActiveCubeFace=function(){return S},this.getActiveMipmapLevel=function(){return b},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(t,e,n){K.get(t.texture).__webglTexture=e,K.get(t.depthTexture).__webglTexture=n;const i=K.get(t);i.__hasExternalTextures=!0,i.__hasExternalTextures&&(i.__autoAllocateDepthBuffer=void 0===n,i.__autoAllocateDepthBuffer||!0===X.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const n=K.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){w=t,S=e,b=n;let i=!0,r=null,s=!1,a=!1;if(t){const n=K.get(t);void 0!==n.__useDefaultFramebuffer?(Z.bindFramebuffer(36160,null),i=!1):void 0===n.__webglFramebuffer?$.setupRenderTarget(t):n.__hasExternalTextures&&$.rebindTextures(t,K.get(t.texture).__webglTexture,K.get(t.depthTexture).__webglTexture);const o=t.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(a=!0);const l=K.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=l[e],s=!0):r=Y.isWebGL2&&t.samples>0&&!1===$.useMultisampledRTT(t)?K.get(t).__webglMultisampledFramebuffer:l,A.copy(t.viewport),C.copy(t.scissor),L=t.scissorTest}else A.copy(N).multiplyScalar(I).floor(),C.copy(O).multiplyScalar(I).floor(),L=z;if(Z.bindFramebuffer(36160,r)&&Y.drawBuffers&&i&&Z.drawBuffers(t,r),Z.viewport(A),Z.scissor(C),Z.setScissorTest(L),s){const i=K.get(t.texture);Mt.framebufferTexture2D(36160,36064,34069+e,i.__webglTexture,n)}else if(a){const i=K.get(t.texture),r=e||0;Mt.framebufferTextureLayer(36160,36064,i.__webglTexture,n||0,r)}T=-1},this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=K.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){Z.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==bt&&gt.convert(o)!==Mt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===_t&&(X.has("EXT_color_buffer_half_float")||Y.isWebGL2&&X.has("EXT_color_buffer_float"));if(!(l===ut||gt.convert(l)===Mt.getParameter(35738)||l===vt&&(Y.isWebGL2||X.has("OES_texture_float")||X.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&Mt.readPixels(e,n,i,r,gt.convert(o),gt.convert(l),s)}finally{const t=null!==w?K.get(w).__webglFramebuffer:null;Z.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);$.setTexture2D(e,0),Mt.copyTexSubImage2D(3553,n,0,0,t.x,t.y,r,s),Z.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=gt.convert(n.format),o=gt.convert(n.type);$.setTexture2D(n,0),Mt.pixelStorei(37440,n.flipY),Mt.pixelStorei(37441,n.premultiplyAlpha),Mt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?Mt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?Mt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):Mt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&Mt.generateMipmap(3553),Z.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(y.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=gt.convert(i.format),c=gt.convert(i.type);let h;if(i.isData3DTexture)$.setTexture3D(i,0),h=32879;else{if(!i.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");$.setTexture2DArray(i,0),h=35866}Mt.pixelStorei(37440,i.flipY),Mt.pixelStorei(37441,i.premultiplyAlpha),Mt.pixelStorei(3317,i.unpackAlignment);const u=Mt.getParameter(3314),d=Mt.getParameter(32878),p=Mt.getParameter(3316),m=Mt.getParameter(3315),f=Mt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;Mt.pixelStorei(3314,g.width),Mt.pixelStorei(32878,g.height),Mt.pixelStorei(3316,t.min.x),Mt.pixelStorei(3315,t.min.y),Mt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isData3DTexture?Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Mt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),Mt.pixelStorei(3314,u),Mt.pixelStorei(32878,d),Mt.pixelStorei(3316,p),Mt.pixelStorei(3315,m),Mt.pixelStorei(32877,f),0===r&&i.generateMipmaps&&Mt.generateMipmap(h),Z.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?$.setTextureCube(t,0):t.isData3DTexture?$.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?$.setTexture2DArray(t,0):$.setTexture2D(t,0),Z.unbindTexture()},this.resetState=function(){S=0,b=0,w=null,Z.reset(),xt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(t){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!t}}class Eo extends To{}Eo.prototype.isWebGL1Renderer=!0;class Ao{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new Oi(t),this.density=e}clone(){return new Ao(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Co{constructor(t,e=1,n=1e3){this.isFog=!0,this.name="",this.color=new Oi(t),this.near=e,this.far=n}clone(){return new Co(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class Lo extends vi{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(t){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=t}}class Po{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=Ee,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ue()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ue()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(e,this.stride);return n.setUsage(this.usage),n}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return void 0===t.arrayBuffers&&(t.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ue()),void 0===t.arrayBuffers[this.array.buffer._uuid]&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Ro=new gn;class Io{constructor(t,e,n,i=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=n,this.normalized=i}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,n=this.data.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.applyMatrix4(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}applyNormalMatrix(t){for(let e=0,n=this.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.applyNormalMatrix(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}transformDirection(t){for(let e=0,n=this.count;e<n;e++)Ro.fromBufferAttribute(this,e),Ro.transformDirection(t),this.setXYZ(e,Ro.x,Ro.y,Ro.z);return this}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=Ge(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=Ge(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=Ge(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=Ge(e,this.array)),e}setXY(t,e,n){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this}setXYZ(t,e,n,i){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this}setXYZW(t,e,n,i,r){return t=t*this.data.stride+this.offset,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this.data.array[t+3]=r,this}clone(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return new qi(new this.array.constructor(t),this.itemSize,this.normalized)}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new Io(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(void 0===t){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let e=0;e<this.count;e++){const n=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)t.push(this.data.array[n+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}return void 0===t.interleavedBuffers&&(t.interleavedBuffers={}),void 0===t.interleavedBuffers[this.data.uuid]&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class Do extends Ri{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Oi(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}let Uo;const No=new gn,Oo=new gn,zo=new gn,Bo=new We,Fo=new We,ko=new qn,Go=new gn,Vo=new gn,Ho=new gn,Wo=new We,jo=new We,qo=new We;class Xo extends vi{constructor(t){if(super(),this.isSprite=!0,this.type="Sprite",void 0===Uo){Uo=new ir;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),e=new Po(t,5);Uo.setIndex([0,1,2,0,2,3]),Uo.setAttribute("position",new Io(e,3,0,!1)),Uo.setAttribute("uv",new Io(e,2,3,!1))}this.geometry=Uo,this.material=void 0!==t?t:new Do,this.center=new We(.5,.5)}raycast(t,e){null===t.camera&&console.error("THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites."),Oo.setFromMatrixScale(this.matrixWorld),ko.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),zo.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&Oo.multiplyScalar(-zo.z);const n=this.material.rotation;let i,r;0!==n&&(r=Math.cos(n),i=Math.sin(n));const s=this.center;Yo(Go.set(-.5,-.5,0),zo,s,Oo,i,r),Yo(Vo.set(.5,-.5,0),zo,s,Oo,i,r),Yo(Ho.set(.5,.5,0),zo,s,Oo,i,r),Wo.set(0,0),jo.set(1,0),qo.set(1,1);let a=t.ray.intersectTriangle(Go,Vo,Ho,!1,No);if(null===a&&(Yo(Vo.set(-.5,.5,0),zo,s,Oo,i,r),jo.set(0,1),a=t.ray.intersectTriangle(Go,Ho,Vo,!1,No),null===a))return;const o=t.ray.origin.distanceTo(No);o<t.near||o>t.far||e.push({distance:o,point:No.clone(),uv:Li.getInterpolation(No,Go,Vo,Ho,Wo,jo,qo,new We),face:null,object:this})}copy(t,e){return super.copy(t,e),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function Yo(t,e,n,i,r,s){Bo.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(Fo.x=s*Bo.x-r*Bo.y,Fo.y=r*Bo.x+s*Bo.y):Fo.copy(Bo),t.copy(e),t.x+=Fo.x,t.y+=Fo.y,t.applyMatrix4(ko)}const Zo=new gn,Jo=new gn;class Ko extends vi{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t<n;t++){const n=e[t];this.addLevel(n.object.clone(),n.distance,n.hysteresis)}return this.autoUpdate=t.autoUpdate,this}addLevel(t,e=0,n=0){e=Math.abs(e);const i=this.levels;let r;for(r=0;r<i.length&&!(e<i[r].distance);r++);return i.splice(r,0,{distance:e,hysteresis:n,object:t}),this.add(t),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(t){const e=this.levels;if(e.length>0){let n,i;for(n=1,i=e.length;n<i;n++){let i=e[n].distance;if(e[n].object.visible&&(i-=i*e[n].hysteresis),t<i)break}return e[n-1].object}return null}raycast(t,e){if(this.levels.length>0){Zo.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(Zo);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){Zo.setFromMatrixPosition(t.matrixWorld),Jo.setFromMatrixPosition(this.matrixWorld);const n=Zo.distanceTo(Jo)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i<r;i++){let t=e[i].distance;if(e[i].object.visible&&(t-=t*e[i].hysteresis),!(n>=t))break;e[i-1].object.visible=!1,e[i].object.visible=!0}for(this._currentLevel=i-1;i<r;i++)e[i].object.visible=!1}}toJSON(t){const e=super.toJSON(t);!1===this.autoUpdate&&(e.object.autoUpdate=!1),e.object.levels=[];const n=this.levels;for(let t=0,i=n.length;t<i;t++){const i=n[t];e.object.levels.push({object:i.object.uuid,distance:i.distance,hysteresis:i.hysteresis})}return e}}const $o=new gn,Qo=new un,tl=new un,el=new gn,nl=new qn,il=new gn;class rl extends Mr{constructor(t,e){super(t,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new qn,this.bindMatrixInverse=new qn,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const t=this.geometry;null===this.boundingBox&&(this.boundingBox=new xn),this.boundingBox.makeEmpty();const e=t.getAttribute("position");for(let t=0;t<e.count;t++)il.fromBufferAttribute(e,t),this.applyBoneTransform(t,il),this.boundingBox.expandByPoint(il)}computeBoundingSphere(){const t=this.geometry;null===this.boundingSphere&&(this.boundingSphere=new zn),this.boundingSphere.makeEmpty();const e=t.getAttribute("position");for(let t=0;t<e.count;t++)il.fromBufferAttribute(e,t),this.applyBoneTransform(t,il),this.boundingSphere.expandByPoint(il)}copy(t,e){return super.copy(t,e),this.bindMode=t.bindMode,this.bindMatrix.copy(t.bindMatrix),this.bindMatrixInverse.copy(t.bindMatrixInverse),this.skeleton=t.skeleton,this}bind(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const t=new un,e=this.geometry.attributes.skinWeight;for(let n=0,i=e.count;n<i;n++){t.fromBufferAttribute(e,n);const i=1/t.manhattanLength();i!==1/0?t.multiplyScalar(i):t.set(1,0,0,0),e.setXYZW(n,t.x,t.y,t.z,t.w)}}updateMatrixWorld(t){super.updateMatrixWorld(t),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(t,e){const n=this.skeleton,i=this.geometry;Qo.fromBufferAttribute(i.attributes.skinIndex,t),tl.fromBufferAttribute(i.attributes.skinWeight,t),$o.copy(e).applyMatrix4(this.bindMatrix),e.set(0,0,0);for(let t=0;t<4;t++){const i=tl.getComponent(t);if(0!==i){const r=Qo.getComponent(t);nl.multiplyMatrices(n.bones[r].matrixWorld,n.boneInverses[r]),e.addScaledVector(el.copy($o).applyMatrix4(nl),i)}}return e.applyMatrix4(this.bindMatrixInverse)}boneTransform(t,e){return console.warn("THREE.SkinnedMesh: .boneTransform() was renamed to .applyBoneTransform() in r151."),this.applyBoneTransform(t,e)}}class sl extends vi{constructor(){super(),this.isBone=!0,this.type="Bone"}}class al extends hn{constructor(t=null,e=1,n=1,i,r,s,a,o,l=st,c=st,h,u){super(null,s,a,o,l,c,i,r,h,u),this.isDataTexture=!0,this.image={data:t,width:e,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const ol=new qn,ll=new qn;class cl{constructor(t=[],e=[]){this.uuid=Ue(),this.bones=t.slice(0),this.boneInverses=e,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const t=this.bones,e=this.boneInverses;if(this.boneMatrices=new Float32Array(16*t.length),0===e.length)this.calculateInverses();else if(t.length!==e.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let t=0,e=this.bones.length;t<e;t++)this.boneInverses.push(new qn)}}calculateInverses(){this.boneInverses.length=0;for(let t=0,e=this.bones.length;t<e;t++){const e=new qn;this.bones[t]&&e.copy(this.bones[t].matrixWorld).invert(),this.boneInverses.push(e)}}pose(){for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&e.matrixWorld.copy(this.boneInverses[t]).invert()}for(let t=0,e=this.bones.length;t<e;t++){const e=this.bones[t];e&&(e.parent&&e.parent.isBone?(e.matrix.copy(e.parent.matrixWorld).invert(),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))}}update(){const t=this.bones,e=this.boneInverses,n=this.boneMatrices,i=this.boneTexture;for(let i=0,r=t.length;i<r;i++){const r=t[i]?t[i].matrixWorld:ll;ol.multiplyMatrices(r,e[i]),ol.toArray(n,16*i)}null!==i&&(i.needsUpdate=!0)}clone(){return new cl(this.bones,this.boneInverses)}computeBoneTexture(){let t=Math.sqrt(4*this.bones.length);t=Fe(t),t=Math.max(t,4);const e=new Float32Array(t*t*4);e.set(this.boneMatrices);const n=new al(e,t,t,bt,vt);return n.needsUpdate=!0,this.boneMatrices=e,this.boneTexture=n,this.boneTextureSize=t,this}getBoneByName(t){for(let e=0,n=this.bones.length;e<n;e++){const n=this.bones[e];if(n.name===t)return n}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(t,e){this.uuid=t.uuid;for(let n=0,i=t.bones.length;n<i;n++){const i=t.bones[n];let r=e[i];void 0===r&&(console.warn("THREE.Skeleton: No bone found with UUID:",i),r=new sl),this.bones.push(r),this.boneInverses.push(new qn().fromArray(t.boneInverses[n]))}return this.init(),this}toJSON(){const t={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};t.uuid=this.uuid;const e=this.bones,n=this.boneInverses;for(let i=0,r=e.length;i<r;i++){const r=e[i];t.bones.push(r.uuid);const s=n[i];t.boneInverses.push(s.toArray())}return t}}class hl extends qi{constructor(t,e,n,i=1){super(t,e,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}toJSON(){const t=super.toJSON();return t.meshPerAttribute=this.meshPerAttribute,t.isInstancedBufferAttribute=!0,t}}const ul=new qn,dl=new qn,pl=[],ml=new xn,fl=new qn,gl=new Mr,vl=new zn;class _l extends Mr{constructor(t,e,n){super(t,e),this.isInstancedMesh=!0,this.instanceMatrix=new hl(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let t=0;t<n;t++)this.setMatrixAt(t,fl)}computeBoundingBox(){const t=this.geometry,e=this.count;null===this.boundingBox&&(this.boundingBox=new xn),null===t.boundingBox&&t.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<e;n++)this.getMatrixAt(n,ul),ml.copy(t.boundingBox).applyMatrix4(ul),this.boundingBox.union(ml)}computeBoundingSphere(){const t=this.geometry,e=this.count;null===this.boundingSphere&&(this.boundingSphere=new zn),null===t.boundingSphere&&t.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<e;n++)this.getMatrixAt(n,ul),vl.copy(t.boundingSphere).applyMatrix4(ul),this.boundingSphere.union(vl)}copy(t,e){return super.copy(t,e),this.instanceMatrix.copy(t.instanceMatrix),null!==t.instanceColor&&(this.instanceColor=t.instanceColor.clone()),this.count=t.count,this}getColorAt(t,e){e.fromArray(this.instanceColor.array,3*t)}getMatrixAt(t,e){e.fromArray(this.instanceMatrix.array,16*t)}raycast(t,e){const n=this.matrixWorld,i=this.count;if(gl.geometry=this.geometry,gl.material=this.material,void 0!==gl.material&&(null===this.boundingSphere&&this.computeBoundingSphere(),vl.copy(this.boundingSphere),vl.applyMatrix4(n),!1!==t.ray.intersectsSphere(vl)))for(let r=0;r<i;r++){this.getMatrixAt(r,ul),dl.multiplyMatrices(n,ul),gl.matrixWorld=dl,gl.raycast(t,pl);for(let t=0,n=pl.length;t<n;t++){const n=pl[t];n.instanceId=r,n.object=this,e.push(n)}pl.length=0}}setColorAt(t,e){null===this.instanceColor&&(this.instanceColor=new hl(new Float32Array(3*this.instanceMatrix.count),3)),e.toArray(this.instanceColor.array,3*t)}setMatrixAt(t,e){e.toArray(this.instanceMatrix.array,16*t)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class xl extends Ri{constructor(t){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Oi(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this.fog=t.fog,this}}const yl=new gn,Ml=new gn,Sl=new qn,bl=new jn,wl=new zn;class Tl extends vi{constructor(t=new ir,e=new xl){super(),this.isLine=!0,this.type="Line",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,n=[0];for(let t=1,i=e.count;t<i;t++)yl.fromBufferAttribute(e,t-1),Ml.fromBufferAttribute(e,t),n[t]=n[t-1],n[t]+=yl.distanceTo(Ml);t.setAttribute("lineDistance",new Zi(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Line.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),wl.copy(n.boundingSphere),wl.applyMatrix4(i),wl.radius+=r,!1===t.ray.intersectsSphere(wl))return;Sl.copy(i).invert(),bl.copy(t.ray).applyMatrix4(Sl);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=new gn,c=new gn,h=new gn,u=new gn,d=this.isLineSegments?2:1,p=n.index,m=n.attributes.position;if(null!==p){for(let n=Math.max(0,s.start),i=Math.min(p.count,s.start+s.count)-1;n<i;n+=d){const i=p.getX(n),r=p.getX(n+1);l.fromBufferAttribute(m,i),c.fromBufferAttribute(m,r);if(bl.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);s<t.near||s>t.far||e.push({distance:s,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(m.count,s.start+s.count)-1;n<i;n+=d){l.fromBufferAttribute(m,n),c.fromBufferAttribute(m,n+1);if(bl.distanceSqToSegment(l,c,u,h)>o)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);i<t.near||i>t.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}const El=new gn,Al=new gn;class Cl extends Tl{constructor(t,e){super(t,e),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;t<i;t+=2)El.fromBufferAttribute(e,t),Al.fromBufferAttribute(e,t+1),n[t]=0===t?0:n[t-1],n[t+1]=n[t]+El.distanceTo(Al);t.setAttribute("lineDistance",new Zi(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class Ll extends Tl{constructor(t,e){super(t,e),this.isLineLoop=!0,this.type="LineLoop"}}class Pl extends Ri{constructor(t){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Oi(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}}const Rl=new qn,Il=new jn,Dl=new zn,Ul=new gn;class Nl extends vi{constructor(t=new ir,e=new Pl){super(),this.isPoints=!0,this.type="Points",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),this.material=t.material,this.geometry=t.geometry,this}raycast(t,e){const n=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold,s=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),Dl.copy(n.boundingSphere),Dl.applyMatrix4(i),Dl.radius+=r,!1===t.ray.intersectsSphere(Dl))return;Rl.copy(i).invert(),Il.copy(t.ray).applyMatrix4(Rl);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),o=a*a,l=n.index,c=n.attributes.position;if(null!==l){for(let n=Math.max(0,s.start),r=Math.min(l.count,s.start+s.count);n<r;n++){const r=l.getX(n);Ul.fromBufferAttribute(c,r),Ol(Ul,r,o,i,t,e,this)}}else{for(let n=Math.max(0,s.start),r=Math.min(c.count,s.start+s.count);n<r;n++)Ul.fromBufferAttribute(c,n),Ol(Ul,n,o,i,t,e,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t<e;t++){const e=n[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=t}}}}}function Ol(t,e,n,i,r,s,a){const o=Il.distanceSqToPoint(t);if(o<n){const n=new gn;Il.closestPointToPoint(t,n),n.applyMatrix4(i);const l=r.ray.origin.distanceTo(n);if(l<r.near||l>r.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}class zl extends hn{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.isCompressedTexture=!0,this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class Bl{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)n=this.getPoint(s/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),a=n[i]-s,a<0)o=i+1;else{if(!(a>0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new We:new gn);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new gn,i=[],r=[],s=[],a=new gn,o=new qn;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new gn)}r[0]=new gn,s[0]=new gn;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(i[e-1],i[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(Ne(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(Ne(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Fl extends Bl{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new We,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)<Number.EPSILON;for(;r<0;)r+=i;for(;r>i;)r-=i;r<Number.EPSILON&&(r=s?0:i),!0!==this.aClockwise||s||(r===i?r=-i:r-=i);const a=this.aStartAngle+t*r;let o=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const t=Math.cos(this.aRotation),e=Math.sin(this.aRotation),n=o-this.aX,i=l-this.aY;o=n*t-i*e+this.aX,l=n*e+i*t+this.aY}return n.set(o,l)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){const t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}}class kl extends Fl{constructor(t,e,n,i,r,s){super(t,e,n,n,i,r,s),this.isArcCurve=!0,this.type="ArcCurve"}}function Gl(){let t=0,e=0,n=0,i=0;function r(r,s,a,o){t=r,e=a,n=-3*r+3*s-2*a-o,i=2*r-2*s+a+o}return{initCatmullRom:function(t,e,n,i,s){r(e,n,s*(n-t),s*(i-e))},initNonuniformCatmullRom:function(t,e,n,i,s,a,o){let l=(e-t)/s-(n-t)/(s+a)+(n-e)/a,c=(n-e)/a-(i-e)/(a+o)+(i-n)/o;l*=a,c*=a,r(e,n,l,c)},calc:function(r){const s=r*r;return t+e*r+n*s+i*(s*r)}}}const Vl=new gn,Hl=new Gl,Wl=new Gl,jl=new Gl;class ql extends Bl{constructor(t=[],e=!1,n="centripetal",i=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=n,this.tension=i}getPoint(t,e=new gn){const n=e,i=this.points,r=i.length,s=(r-(this.closed?0:1))*t;let a,o,l=Math.floor(s),c=s-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(Vl.subVectors(i[0],i[1]).add(i[0]),a=Vl);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2<r?o=i[(l+2)%r]:(Vl.subVectors(i[r-1],i[r-2]).add(i[r-1]),o=Vl),"centripetal"===this.curveType||"chordal"===this.curveType){const t="chordal"===this.curveType?.5:.25;let e=Math.pow(a.distanceToSquared(h),t),n=Math.pow(h.distanceToSquared(u),t),i=Math.pow(u.distanceToSquared(o),t);n<1e-4&&(n=1),e<1e-4&&(e=n),i<1e-4&&(i=n),Hl.initNonuniformCatmullRom(a.x,h.x,u.x,o.x,e,n,i),Wl.initNonuniformCatmullRom(a.y,h.y,u.y,o.y,e,n,i),jl.initNonuniformCatmullRom(a.z,h.z,u.z,o.z,e,n,i)}else"catmullrom"===this.curveType&&(Hl.initCatmullRom(a.x,h.x,u.x,o.x,this.tension),Wl.initCatmullRom(a.y,h.y,u.y,o.y,this.tension),jl.initCatmullRom(a.z,h.z,u.z,o.z,this.tension));return n.set(Hl.calc(c),Wl.calc(c),jl.calc(c)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(new gn().fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}}function Xl(t,e,n,i,r){const s=.5*(i-e),a=.5*(r-n),o=t*t;return(2*n-2*i+s+a)*(t*o)+(-3*n+3*i-2*s-a)*o+s*t+n}function Yl(t,e,n,i){return function(t,e){const n=1-t;return n*n*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,n)+function(t,e){return t*t*e}(t,i)}function Zl(t,e,n,i,r){return function(t,e){const n=1-t;return n*n*n*e}(t,e)+function(t,e){const n=1-t;return 3*n*n*t*e}(t,n)+function(t,e){return 3*(1-t)*t*t*e}(t,i)+function(t,e){return t*t*t*e}(t,r)}class Jl extends Bl{constructor(t=new We,e=new We,n=new We,i=new We){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new We){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(Zl(t,i.x,r.x,s.x,a.x),Zl(t,i.y,r.y,s.y,a.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class Kl extends Bl{constructor(t=new gn,e=new gn,n=new gn,i=new gn){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=n,this.v3=i}getPoint(t,e=new gn){const n=e,i=this.v0,r=this.v1,s=this.v2,a=this.v3;return n.set(Zl(t,i.x,r.x,s.x,a.x),Zl(t,i.y,r.y,s.y,a.y),Zl(t,i.z,r.z,s.z,a.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}}class $l extends Bl{constructor(t=new We,e=new We){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new We){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new We){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class Ql extends Bl{constructor(t=new gn,e=new gn){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=t,this.v2=e}getPoint(t,e=new gn){const n=e;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new gn){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class tc extends Bl{constructor(t=new We,e=new We,n=new We){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new We){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(Yl(t,i.x,r.x,s.x),Yl(t,i.y,r.y,s.y)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class ec extends Bl{constructor(t=new gn,e=new gn,n=new gn){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=n}getPoint(t,e=new gn){const n=e,i=this.v0,r=this.v1,s=this.v2;return n.set(Yl(t,i.x,r.x,s.x),Yl(t,i.y,r.y,s.y),Yl(t,i.z,r.z,s.z)),n}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){const t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}}class nc extends Bl{constructor(t=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=t}getPoint(t,e=new We){const n=e,i=this.points,r=(i.length-1)*t,s=Math.floor(r),a=r-s,o=i[0===s?s:s-1],l=i[s],c=i[s>i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(Xl(a,o.x,l.x,c.x,h.x),Xl(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.points=[];for(let e=0,n=this.points.length;e<n;e++){const n=this.points[e];t.points.push(n.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,n=t.points.length;e<n;e++){const n=t.points[e];this.points.push(new We().fromArray(n))}return this}}var ic=Object.freeze({__proto__:null,ArcCurve:kl,CatmullRomCurve3:ql,CubicBezierCurve:Jl,CubicBezierCurve3:Kl,EllipseCurve:Fl,LineCurve:$l,LineCurve3:Ql,QuadraticBezierCurve:tc,QuadraticBezierCurve3:ec,SplineCurve:nc});class rc extends Bl{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new $l(e,t))}getPoint(t,e){const n=t*this.getLength(),i=this.getCurveLengths();let r=0;for(;r<i.length;){if(i[r]>=n){const t=i[r]-n,s=this.curves[r],a=s.getLength(),o=0===a?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n<i;n++)e+=this.curves[n].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){const e=[];let n;for(let i=0,r=this.curves;i<r.length;i++){const s=r[i],a=s.isEllipseCurve?2*t:s.isLineCurve||s.isLineCurve3?1:s.isSplineCurve?t*s.points.length:t,o=s.getPoints(a);for(let t=0;t<o.length;t++){const i=o[t];n&&n.equals(i)||(e.push(i),n=i)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(n.clone())}return this.autoClose=t.autoClose,this}toJSON(){const t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,n=this.curves.length;e<n;e++){const n=this.curves[e];t.curves.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,n=t.curves.length;e<n;e++){const n=t.curves[e];this.curves.push(new ic[n.type]().fromJSON(n))}return this}}class sc extends rc{constructor(t){super(),this.type="Path",this.currentPoint=new We,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){const n=new $l(this.currentPoint.clone(),new We(t,e));return this.curves.push(n),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,n,i){const r=new tc(this.currentPoint.clone(),new We(t,e),new We(n,i));return this.curves.push(r),this.currentPoint.set(n,i),this}bezierCurveTo(t,e,n,i,r,s){const a=new Jl(this.currentPoint.clone(),new We(t,e),new We(n,i),new We(r,s));return this.curves.push(a),this.currentPoint.set(r,s),this}splineThru(t){const e=[this.currentPoint.clone()].concat(t),n=new nc(e);return this.curves.push(n),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,n,i,r,s){const a=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(t+a,e+o,n,i,r,s),this}absarc(t,e,n,i,r,s){return this.absellipse(t,e,n,n,i,r,s),this}ellipse(t,e,n,i,r,s,a,o){const l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(t+l,e+c,n,i,r,s,a,o),this}absellipse(t,e,n,i,r,s,a,o){const l=new Fl(t,e,n,i,r,s,a,o);if(this.curves.length>0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class ac extends ir{constructor(t=[new We(0,-.5),new We(.5,0),new We(0,.5)],e=12,n=0,i=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},e=Math.floor(e),i=Ne(i,0,2*Math.PI);const r=[],s=[],a=[],o=[],l=[],c=1/e,h=new gn,u=new We,d=new gn,p=new gn,m=new gn;let f=0,g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,m.copy(d),d.normalize(),o.push(d.x,d.y,d.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,p.copy(d),d.x+=m.x,d.y+=m.y,d.z+=m.z,d.normalize(),o.push(d.x,d.y,d.z),m.copy(p);}for(let r=0;r<=e;r++){const d=n+r*c*i,p=Math.sin(d),m=Math.cos(d);for(let n=0;n<=t.length-1;n++){h.x=t[n].x*p,h.y=t[n].y,h.z=t[n].x*m,s.push(h.x,h.y,h.z),u.x=r/e,u.y=n/(t.length-1),a.push(u.x,u.y);const i=o[3*n+0]*p,c=o[3*n+1],d=o[3*n+0]*m;l.push(i,c,d)}}for(let n=0;n<e;n++)for(let e=0;e<t.length-1;e++){const i=e+n*t.length,s=i,a=i+t.length,o=i+t.length+1,l=i+1;r.push(s,a,l),r.push(o,l,a)}this.setIndex(r),this.setAttribute("position",new Zi(s,3)),this.setAttribute("uv",new Zi(a,2)),this.setAttribute("normal",new Zi(l,3))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new ac(t.points,t.segments,t.phiStart,t.phiLength)}}class oc extends ac{constructor(t=1,e=1,n=4,i=8){const r=new sc;r.absarc(0,-e/2,t,1.5*Math.PI,0),r.absarc(0,e/2,t,0,.5*Math.PI),super(r.getPoints(n),i),this.type="CapsuleGeometry",this.parameters={radius:t,height:e,capSegments:n,radialSegments:i}}static fromJSON(t){return new oc(t.radius,t.length,t.capSegments,t.radialSegments)}}class lc extends ir{constructor(t=1,e=32,n=0,i=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},e=Math.max(3,e);const r=[],s=[],a=[],o=[],l=new gn,c=new We;s.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=n+r/e*i;l.x=t*Math.cos(u),l.y=t*Math.sin(u),s.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(s[h]/t+1)/2,c.y=(s[h+1]/t+1)/2,o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r),this.setAttribute("position",new Zi(s,3)),this.setAttribute("normal",new Zi(a,3)),this.setAttribute("uv",new Zi(o,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new lc(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class cc extends ir{constructor(t=1,e=1,n=1,i=32,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=n/2;let g=0;function v(n){const r=p,s=new We,m=new gn;let v=0;const _=!0===n?t:e,x=!0===n?1:-1;for(let t=1;t<=i;t++)h.push(0,f*x,0),u.push(0,x,0),d.push(.5,.5),p++;const y=p;for(let t=0;t<=i;t++){const e=t/i*o+a,n=Math.cos(e),r=Math.sin(e);m.x=_*r,m.y=f*x,m.z=_*n,h.push(m.x,m.y,m.z),u.push(0,x,0),s.x=.5*n+.5,s.y=.5*r*x+.5,d.push(s.x,s.y),p++}for(let t=0;t<i;t++){const e=r+t,i=y+t;!0===n?c.push(i,i+1,e):c.push(i+1,i,e),v+=3}l.addGroup(g,v,!0===n?1:2),g+=v}!function(){const s=new gn,v=new gn;let _=0;const x=(e-t)/n;for(let l=0;l<=r;l++){const c=[],g=l/r,_=g*(e-t)+t;for(let t=0;t<=i;t++){const e=t/i,r=e*o+a,l=Math.sin(r),m=Math.cos(r);v.x=_*l,v.y=-g*n+f,v.z=_*m,h.push(v.x,v.y,v.z),s.set(l,x,m).normalize(),u.push(s.x,s.y,s.z),d.push(e,1-g),c.push(p++)}m.push(c)}for(let t=0;t<i;t++)for(let e=0;e<r;e++){const n=m[e][t],i=m[e+1][t],r=m[e+1][t+1],s=m[e][t+1];c.push(n,i,s),c.push(i,r,s),_+=6}l.addGroup(g,_,0),g+=_}(),!1===s&&(t>0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new Zi(h,3)),this.setAttribute("normal",new Zi(u,3)),this.setAttribute("uv",new Zi(d,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new cc(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class hc extends cc{constructor(t=1,e=1,n=32,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new hc(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class uc extends ir{constructor(t=[],e=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],s=[];function a(t,e,n,i){const r=i+1,s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r),o=e.clone().lerp(n,i/r),l=r-i;for(let t=0;t<=l;t++)s[i][t]=0===t&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t<r;t++)for(let e=0;e<2*(r-t)-1;e++){const n=Math.floor(e/2);e%2==0?(o(s[t][n+1]),o(s[t+1][n]),o(s[t][n])):(o(s[t][n+1]),o(s[t+1][n+1]),o(s[t+1][n]))}}function o(t){r.push(t.x,t.y,t.z)}function l(e,n){const i=3*e;n.x=t[i+0],n.y=t[i+1],n.z=t[i+2]}function c(t,e,n,i){i<0&&1===t.x&&(s[e]=t.x-1),0===n.x&&0===n.z&&(s[e]=i/2/Math.PI+.5)}function h(t){return Math.atan2(t.z,-t.x)}!function(t){const n=new gn,i=new gn,r=new gn;for(let s=0;s<e.length;s+=3)l(e[s+0],n),l(e[s+1],i),l(e[s+2],r),a(n,i,r,t)}(i),function(t){const e=new gn;for(let n=0;n<r.length;n+=3)e.x=r[n+0],e.y=r[n+1],e.z=r[n+2],e.normalize().multiplyScalar(t),r[n+0]=e.x,r[n+1]=e.y,r[n+2]=e.z}(n),function(){const t=new gn;for(let n=0;n<r.length;n+=3){t.x=r[n+0],t.y=r[n+1],t.z=r[n+2];const i=h(t)/2/Math.PI+.5,a=(e=t,Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))/Math.PI+.5);s.push(i,1-a)}var e;(function(){const t=new gn,e=new gn,n=new gn,i=new gn,a=new We,o=new We,l=new We;for(let u=0,d=0;u<r.length;u+=9,d+=6){t.set(r[u+0],r[u+1],r[u+2]),e.set(r[u+3],r[u+4],r[u+5]),n.set(r[u+6],r[u+7],r[u+8]),a.set(s[d+0],s[d+1]),o.set(s[d+2],s[d+3]),l.set(s[d+4],s[d+5]),i.copy(t).add(e).add(n).divideScalar(3);const p=h(i);c(a,d+0,t,p),c(o,d+2,e,p),c(l,d+4,n,p)}})(),function(){for(let t=0;t<s.length;t+=6){const e=s[t+0],n=s[t+2],i=s[t+4],r=Math.max(e,n,i),a=Math.min(e,n,i);r>.9&&a<.1&&(e<.2&&(s[t+0]+=1),n<.2&&(s[t+2]+=1),i<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new Zi(r,3)),this.setAttribute("normal",new Zi(r.slice(),3)),this.setAttribute("uv",new Zi(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new uc(t.vertices,t.indices,t.radius,t.details)}}class dc extends uc{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new dc(t.radius,t.detail)}}const pc=new gn,mc=new gn,fc=new gn,gc=new Li;class vc extends ir{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,i=Math.pow(10,n),r=Math.cos(Ie*e),s=t.getIndex(),a=t.getAttribute("position"),o=s?s.count:a.count,l=[0,0,0],c=["a","b","c"],h=new Array(3),u={},d=[];for(let t=0;t<o;t+=3){s?(l[0]=s.getX(t),l[1]=s.getX(t+1),l[2]=s.getX(t+2)):(l[0]=t,l[1]=t+1,l[2]=t+2);const{a:e,b:n,c:o}=gc;if(e.fromBufferAttribute(a,l[0]),n.fromBufferAttribute(a,l[1]),o.fromBufferAttribute(a,l[2]),gc.getNormal(fc),h[0]=`${Math.round(e.x*i)},${Math.round(e.y*i)},${Math.round(e.z*i)}`,h[1]=`${Math.round(n.x*i)},${Math.round(n.y*i)},${Math.round(n.z*i)}`,h[2]=`${Math.round(o.x*i)},${Math.round(o.y*i)},${Math.round(o.z*i)}`,h[0]!==h[1]&&h[1]!==h[2]&&h[2]!==h[0])for(let t=0;t<3;t++){const e=(t+1)%3,n=h[t],i=h[e],s=gc[c[t]],a=gc[c[e]],o=`${n}_${i}`,p=`${i}_${n}`;p in u&&u[p]?(fc.dot(u[p].normal)<=r&&(d.push(s.x,s.y,s.z),d.push(a.x,a.y,a.z)),u[p]=null):o in u||(u[o]={index0:l[t],index1:l[e],normal:fc.clone()})}}for(const t in u)if(u[t]){const{index0:e,index1:n}=u[t];pc.fromBufferAttribute(a,e),mc.fromBufferAttribute(a,n),d.push(pc.x,pc.y,pc.z),d.push(mc.x,mc.y,mc.z)}this.setAttribute("position",new Zi(d,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}}class _c extends sc{constructor(t){super(t),this.uuid=Ue(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(n.clone())}return this}toJSON(){const t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,n=this.holes.length;e<n;e++){const n=this.holes[e];t.holes.push(n.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,n=t.holes.length;e<n;e++){const n=t.holes[e];this.holes.push(new sc().fromJSON(n))}return this}}const xc=function(t,e,n=2){const i=e&&e.length,r=i?e[0]*n:t.length;let s=yc(t,0,r,n,!0);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,h,u,d,p;if(i&&(s=function(t,e,n,i){const r=[];let s,a,o,l,c;for(s=0,a=e.length;s<a;s++)o=e[s]*i,l=s<a-1?e[s+1]*i:t.length,c=yc(t,o,l,i,!1),c===c.next&&(c.steiner=!0),r.push(Rc(c));for(r.sort(Ac),s=0;s<r.length;s++)n=Cc(r[s],n);return n}(t,e,s,n)),t.length>80*n){o=c=t[0],l=h=t[1];for(let e=n;e<r;e+=n)u=t[e],d=t[e+1],u<o&&(o=u),d<l&&(l=d),u>c&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?32767/p:0}return Sc(s,a,n,o,l,p,0),a};function yc(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s<n;s+=i)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}(t,e,n,i)>0)for(s=e;s<n;s+=i)a=Gc(s,t[s],t[s+1],a);else for(s=n-i;s>=e;s-=i)a=Gc(s,t[s],t[s+1],a);return a&&Nc(a,a.next)&&(Vc(a),a=a.next),a}function Mc(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Nc(i,i.next)&&0!==Uc(i.prev,i,i.next))i=i.next;else{if(Vc(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function Sc(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{0===r.z&&(r.z=Pc(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e<c&&(o++,i=i.nextZ,i);e++);for(l=c;o>0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?wc(t,i,r,s):bc(t))e.push(o.i/n|0),e.push(t.i/n|0),e.push(l.i/n|0),Vc(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Sc(t=Tc(Mc(t),e,n),e,n,i,r,s,2):2===a&&Ec(t,e,n,i,r,s):Sc(Mc(t),e,n,i,r,s,1);break}}function bc(t){const e=t.prev,n=t,i=t.next;if(Uc(e,n,i)>=0)return!1;const r=e.x,s=n.x,a=i.x,o=e.y,l=n.y,c=i.y,h=r<s?r<a?r:a:s<a?s:a,u=o<l?o<c?o:c:l<c?l:c,d=r>s?r>a?r:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c;let m=i.next;for(;m!==e;){if(m.x>=h&&m.x<=d&&m.y>=u&&m.y<=p&&Ic(r,o,s,l,a,c,m.x,m.y)&&Uc(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function wc(t,e,n,i){const r=t.prev,s=t,a=t.next;if(Uc(r,s,a)>=0)return!1;const o=r.x,l=s.x,c=a.x,h=r.y,u=s.y,d=a.y,p=o<l?o<c?o:c:l<c?l:c,m=h<u?h<d?h:d:u<d?u:d,f=o>l?o>c?o:c:l>c?l:c,g=h>u?h>d?h:d:u>d?u:d,v=Pc(p,m,e,n,i),_=Pc(f,g,e,n,i);let x=t.prevZ,y=t.nextZ;for(;x&&x.z>=v&&y&&y.z<=_;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ic(o,h,l,u,c,d,x.x,x.y)&&Uc(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ic(o,h,l,u,c,d,y.x,y.y)&&Uc(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;x&&x.z>=v;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ic(o,h,l,u,c,d,x.x,x.y)&&Uc(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;y&&y.z<=_;){if(y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ic(o,h,l,u,c,d,y.x,y.y)&&Uc(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function Tc(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!Nc(r,s)&&Oc(r,i,i.next,s)&&Fc(r,s)&&Fc(s,r)&&(e.push(r.i/n|0),e.push(i.i/n|0),e.push(s.i/n|0),Vc(i),Vc(i.next),i=t=s),i=i.next}while(i!==t);return Mc(i)}function Ec(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Dc(a,t)){let o=kc(a,t);return a=Mc(a,a.next),o=Mc(o,o.next),Sc(a,e,n,i,r,s,0),void Sc(o,e,n,i,r,s,0)}t=t.next}a=a.next}while(a!==t)}function Ac(t,e){return t.x-e.x}function Cc(t,e){const n=function(t,e){let n,i=e,r=-1/0;const s=t.x,a=t.y;do{if(a<=i.y&&a>=i.next.y&&i.next.y!==i.y){const t=i.x+(a-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=s&&t>r&&(r=t,n=i.x<i.next.x?i:i.next,t===s))return n}i=i.next}while(i!==e);if(!n)return null;const o=n,l=n.x,c=n.y;let h,u=1/0;i=n;do{s>=i.x&&i.x>=l&&s!==i.x&&Ic(a<c?s:r,a,l,c,a<c?r:s,a,i.x,i.y)&&(h=Math.abs(a-i.y)/(s-i.x),Fc(i,t)&&(h<u||h===u&&(i.x>n.x||i.x===n.x&&Lc(n,i)))&&(n=i,u=h)),i=i.next}while(i!==o);return n}(t,e);if(!n)return e;const i=kc(n,t);return Mc(i,i.next),Mc(n,n.next)}function Lc(t,e){return Uc(t.prev,t,e.prev)<0&&Uc(e.next,t,t.next)<0}function Pc(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Rc(t){let e=t,n=t;do{(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e),e=e.next}while(e!==t);return n}function Ic(t,e,n,i,r,s,a,o){return(r-a)*(e-o)>=(t-a)*(s-o)&&(t-a)*(i-o)>=(n-a)*(e-o)&&(n-a)*(s-o)>=(r-a)*(i-o)}function Dc(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Oc(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Fc(t,e)&&Fc(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Uc(t.prev,t,e.prev)||Uc(t,e.prev,e))||Nc(t,e)&&Uc(t.prev,t,t.next)>0&&Uc(e.prev,e,e.next)>0)}function Uc(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Nc(t,e){return t.x===e.x&&t.y===e.y}function Oc(t,e,n,i){const r=Bc(Uc(t,e,n)),s=Bc(Uc(t,e,i)),a=Bc(Uc(n,i,t)),o=Bc(Uc(n,i,e));return r!==s&&a!==o||!(0!==r||!zc(t,n,e))||!(0!==s||!zc(t,i,e))||!(0!==a||!zc(n,t,i))||!(0!==o||!zc(n,e,i))}function zc(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Bc(t){return t>0?1:t<0?-1:0}function Fc(t,e){return Uc(t.prev,t,t.next)<0?Uc(t,e,t.next)>=0&&Uc(t,t.prev,e)>=0:Uc(t,e,t.prev)<0||Uc(t,t.next,e)<0}function kc(t,e){const n=new Hc(t.i,t.x,t.y),i=new Hc(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function Gc(t,e,n,i){const r=new Hc(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Vc(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Hc(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Wc{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return .5*n}static isClockWise(t){return Wc.area(t)<0}static triangulateShape(t,e){const n=[],i=[],r=[];jc(t),qc(n,t);let s=t.length;e.forEach(jc);for(let t=0;t<e.length;t++)i.push(s),s+=e[t].length,qc(n,e[t]);const a=xc(n,i);for(let t=0;t<a.length;t+=3)r.push(a.slice(t,t+3));return r}}function jc(t){const e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function qc(t,e){for(let n=0;n<e.length;n++)t.push(e[n].x),t.push(e[n].y)}class Xc extends ir{constructor(t=new _c([new We(.5,.5),new We(-.5,.5),new We(-.5,-.5),new We(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];const n=this,i=[],r=[];for(let e=0,n=t.length;e<n;e++){s(t[e])}function s(t){const s=[],a=void 0!==e.curveSegments?e.curveSegments:12,o=void 0!==e.steps?e.steps:1,l=void 0!==e.depth?e.depth:1;let c=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:.2,u=void 0!==e.bevelSize?e.bevelSize:h-.1,d=void 0!==e.bevelOffset?e.bevelOffset:0,p=void 0!==e.bevelSegments?e.bevelSegments:3;const m=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:Yc;let g,v,_,x,y,M=!1;m&&(g=m.getSpacedPoints(o),M=!0,c=!1,v=m.computeFrenetFrames(o,!1),_=new gn,x=new gn,y=new gn),c||(p=0,h=0,u=0,d=0);const S=t.extractPoints(a);let b=S.shape;const w=S.holes;if(!Wc.isClockWise(b)){b=b.reverse();for(let t=0,e=w.length;t<e;t++){const e=w[t];Wc.isClockWise(e)&&(w[t]=e.reverse())}}const T=Wc.triangulateShape(b,w),E=b;for(let t=0,e=w.length;t<e;t++){const e=w[t];b=b.concat(e)}function A(t,e,n){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().addScaledVector(e,n)}const C=b.length,L=T.length;function P(t,e,n){let i,r,s;const a=t.x-e.x,o=t.y-e.y,l=n.x-t.x,c=n.y-t.y,h=a*a+o*o,u=a*c-o*l;if(Math.abs(u)>Number.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new We(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new We(i/s,r/s)}const R=[];for(let t=0,e=E.length,n=e-1,i=t+1;t<e;t++,n++,i++)n===e&&(n=0),i===e&&(i=0),R[t]=P(E[t],E[n],E[i]);const I=[];let D,U=R.concat();for(let t=0,e=w.length;t<e;t++){const e=w[t];D=[];for(let t=0,n=e.length,i=n-1,r=t+1;t<n;t++,i++,r++)i===n&&(i=0),r===n&&(r=0),D[t]=P(e[t],e[i],e[r]);I.push(D),U=U.concat(D)}for(let t=0;t<p;t++){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t<e;t++){const e=A(E[t],R[t],i);z(e.x,e.y,-n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=A(e[t],D[t],i);z(r.x,r.y,-n)}}}const N=u+d;for(let t=0;t<C;t++){const e=c?A(b[t],U[t],N):b[t];M?(x.copy(v.normals[0]).multiplyScalar(e.x),_.copy(v.binormals[0]).multiplyScalar(e.y),y.copy(g[0]).add(x).add(_),z(y.x,y.y,y.z)):z(e.x,e.y,0)}for(let t=1;t<=o;t++)for(let e=0;e<C;e++){const n=c?A(b[e],U[e],N):b[e];M?(x.copy(v.normals[t]).multiplyScalar(n.x),_.copy(v.binormals[t]).multiplyScalar(n.y),y.copy(g[t]).add(x).add(_),z(y.x,y.y,y.z)):z(n.x,n.y,l/o*t)}for(let t=p-1;t>=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t<e;t++){const e=A(E[t],R[t],i);z(e.x,e.y,l+n)}for(let t=0,e=w.length;t<e;t++){const e=w[t];D=I[t];for(let t=0,r=e.length;t<r;t++){const r=A(e[t],D[t],i);M?z(r.x,r.y+g[o-1].y,g[o-1].x+n):z(r.x,r.y,l+n)}}}function O(t,e){let n=t.length;for(;--n>=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t<n;t++){const n=C*t,s=C*(t+1);F(e+i+n,e+r+n,e+r+s,e+i+s)}}}function z(t,e,n){s.push(t),s.push(e),s.push(n)}function B(t,e,r){k(t),k(e),k(r);const s=i.length/3,a=f.generateTopUV(n,i,s-3,s-2,s-1);G(a[0]),G(a[1]),G(a[2])}function F(t,e,r,s){k(t),k(e),k(s),k(e),k(r),k(s);const a=i.length/3,o=f.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);G(o[0]),G(o[1]),G(o[3]),G(o[1]),G(o[2]),G(o[3])}function k(t){i.push(s[3*t+0]),i.push(s[3*t+1]),i.push(s[3*t+2])}function G(t){r.push(t.x),r.push(t.y)}!function(){const t=i.length/3;if(c){let t=0,e=C*t;for(let t=0;t<L;t++){const n=T[t];B(n[2]+e,n[1]+e,n[0]+e)}t=o+2*p,e=C*t;for(let t=0;t<L;t++){const n=T[t];B(n[0]+e,n[1]+e,n[2]+e)}}else{for(let t=0;t<L;t++){const e=T[t];B(e[2],e[1],e[0])}for(let t=0;t<L;t++){const e=T[t];B(e[0]+C*o,e[1]+C*o,e[2]+C*o)}}n.addGroup(t,i.length/3-t,0)}(),function(){const t=i.length/3;let e=0;O(E,e),e+=E.length;for(let t=0,n=w.length;t<n;t++){const n=w[t];O(n,e),e+=n.length}n.addGroup(t,i.length/3-t,1)}()}this.setAttribute("position",new Zi(i,3)),this.setAttribute("uv",new Zi(r,2)),this.computeVertexNormals()}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return function(t,e,n){if(n.shapes=[],Array.isArray(t))for(let e=0,i=t.length;e<i;e++){const i=t[e];n.shapes.push(i.uuid)}else n.shapes.push(t.uuid);n.options=Object.assign({},e),void 0!==e.extrudePath&&(n.options.extrudePath=e.extrudePath.toJSON());return n}(this.parameters.shapes,this.parameters.options,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}const i=t.options.extrudePath;return void 0!==i&&(t.options.extrudePath=new ic[i.type]().fromJSON(i)),new Xc(n,t.options)}}const Yc={generateTopUV:function(t,e,n,i,r){const s=e[3*n],a=e[3*n+1],o=e[3*i],l=e[3*i+1],c=e[3*r],h=e[3*r+1];return[new We(s,a),new We(o,l),new We(c,h)]},generateSideWallUV:function(t,e,n,i,r,s){const a=e[3*n],o=e[3*n+1],l=e[3*n+2],c=e[3*i],h=e[3*i+1],u=e[3*i+2],d=e[3*r],p=e[3*r+1],m=e[3*r+2],f=e[3*s],g=e[3*s+1],v=e[3*s+2];return Math.abs(o-h)<Math.abs(a-c)?[new We(a,1-l),new We(c,1-u),new We(d,1-m),new We(f,1-v)]:[new We(o,1-l),new We(h,1-u),new We(p,1-m),new We(g,1-v)]}};class Zc extends uc{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2;super([-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],t,e),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Zc(t.radius,t.detail)}}class Jc extends uc{constructor(t=1,e=0){super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],t,e),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new Jc(t.radius,t.detail)}}class Kc extends ir{constructor(t=.5,e=1,n=32,i=1,r=0,s=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:s},n=Math.max(3,n);const a=[],o=[],l=[],c=[];let h=t;const u=(e-t)/(i=Math.max(1,i)),d=new gn,p=new We;for(let t=0;t<=i;t++){for(let t=0;t<=n;t++){const i=r+t/n*s;d.x=h*Math.cos(i),d.y=h*Math.sin(i),o.push(d.x,d.y,d.z),l.push(0,0,1),p.x=(d.x/e+1)/2,p.y=(d.y/e+1)/2,c.push(p.x,p.y)}h+=u}for(let t=0;t<i;t++){const e=t*(n+1);for(let t=0;t<n;t++){const i=t+e,r=i,s=i+n+1,o=i+n+2,l=i+1;a.push(r,s,l),a.push(s,o,l)}}this.setIndex(a),this.setAttribute("position",new Zi(o,3)),this.setAttribute("normal",new Zi(l,3)),this.setAttribute("uv",new Zi(c,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Kc(t.innerRadius,t.outerRadius,t.thetaSegments,t.phiSegments,t.thetaStart,t.thetaLength)}}class $c extends ir{constructor(t=new _c([new We(0,.5),new We(-.5,-.5),new We(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};const n=[],i=[],r=[],s=[];let a=0,o=0;if(!1===Array.isArray(t))l(t);else for(let e=0;e<t.length;e++)l(t[e]),this.addGroup(a,o,e),a+=o,o=0;function l(t){const a=i.length/3,l=t.extractPoints(e);let c=l.shape;const h=l.holes;!1===Wc.isClockWise(c)&&(c=c.reverse());for(let t=0,e=h.length;t<e;t++){const e=h[t];!0===Wc.isClockWise(e)&&(h[t]=e.reverse())}const u=Wc.triangulateShape(c,h);for(let t=0,e=h.length;t<e;t++){const e=h[t];c=c.concat(e)}for(let t=0,e=c.length;t<e;t++){const e=c[t];i.push(e.x,e.y,0),r.push(0,0,1),s.push(e.x,e.y)}for(let t=0,e=u.length;t<e;t++){const e=u[t],i=e[0]+a,r=e[1]+a,s=e[2]+a;n.push(i,r,s),o+=3}}this.setIndex(n),this.setAttribute("position",new Zi(i,3)),this.setAttribute("normal",new Zi(r,3)),this.setAttribute("uv",new Zi(s,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return function(t,e){if(e.shapes=[],Array.isArray(t))for(let n=0,i=t.length;n<i;n++){const i=t[n];e.shapes.push(i.uuid)}else e.shapes.push(t.uuid);return e}(this.parameters.shapes,t)}static fromJSON(t,e){const n=[];for(let i=0,r=t.shapes.length;i<r;i++){const r=e[t.shapes[i]];n.push(r)}return new $c(n,t.curveSegments)}}class Qc extends ir{constructor(t=1,e=32,n=16,i=0,r=2*Math.PI,s=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:s,thetaLength:a},e=Math.max(3,Math.floor(e)),n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[],h=new gn,u=new gn,d=[],p=[],m=[],f=[];for(let d=0;d<=n;d++){const g=[],v=d/n;let _=0;0===d&&0===s?_=.5/e:d===n&&o===Math.PI&&(_=-.5/e);for(let n=0;n<=e;n++){const o=n/e;h.x=-t*Math.cos(i+o*r)*Math.sin(s+v*a),h.y=t*Math.cos(s+v*a),h.z=t*Math.sin(i+o*r)*Math.sin(s+v*a),p.push(h.x,h.y,h.z),u.copy(h).normalize(),m.push(u.x,u.y,u.z),f.push(o+_,1-v),g.push(l++)}c.push(g)}for(let t=0;t<n;t++)for(let i=0;i<e;i++){const e=c[t][i+1],r=c[t][i],a=c[t+1][i],l=c[t+1][i+1];(0!==t||s>0)&&d.push(e,r,l),(t!==n-1||o<Math.PI)&&d.push(r,a,l)}this.setIndex(d),this.setAttribute("position",new Zi(p,3)),this.setAttribute("normal",new Zi(m,3)),this.setAttribute("uv",new Zi(f,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Qc(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class th extends uc{constructor(t=1,e=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],t,e),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new th(t.radius,t.detail)}}class eh extends ir{constructor(t=1,e=.4,n=12,i=48,r=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},n=Math.floor(n),i=Math.floor(i);const s=[],a=[],o=[],l=[],c=new gn,h=new gn,u=new gn;for(let s=0;s<=n;s++)for(let d=0;d<=i;d++){const p=d/i*r,m=s/n*Math.PI*2;h.x=(t+e*Math.cos(m))*Math.cos(p),h.y=(t+e*Math.cos(m))*Math.sin(p),h.z=e*Math.sin(m),a.push(h.x,h.y,h.z),c.x=t*Math.cos(p),c.y=t*Math.sin(p),u.subVectors(h,c).normalize(),o.push(u.x,u.y,u.z),l.push(d/i),l.push(s/n)}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*t+e-1,r=(i+1)*(t-1)+e-1,a=(i+1)*(t-1)+e,o=(i+1)*t+e;s.push(n,r,o),s.push(r,a,o)}this.setIndex(s),this.setAttribute("position",new Zi(a,3)),this.setAttribute("normal",new Zi(o,3)),this.setAttribute("uv",new Zi(l,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new eh(t.radius,t.tube,t.radialSegments,t.tubularSegments,t.arc)}}class nh extends ir{constructor(t=1,e=.4,n=64,i=8,r=2,s=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:s},n=Math.floor(n),i=Math.floor(i);const a=[],o=[],l=[],c=[],h=new gn,u=new gn,d=new gn,p=new gn,m=new gn,f=new gn,g=new gn;for(let a=0;a<=n;++a){const _=a/n*r*Math.PI*2;v(_,r,s,t,d),v(_+.01,r,s,t,p),f.subVectors(p,d),g.addVectors(p,d),m.crossVectors(f,g),g.crossVectors(m,f),m.normalize(),g.normalize();for(let t=0;t<=i;++t){const r=t/i*Math.PI*2,s=-e*Math.cos(r),p=e*Math.sin(r);h.x=d.x+(s*g.x+p*m.x),h.y=d.y+(s*g.y+p*m.y),h.z=d.z+(s*g.z+p*m.z),o.push(h.x,h.y,h.z),u.subVectors(h,d).normalize(),l.push(u.x,u.y,u.z),c.push(a/n),c.push(t/i)}}for(let t=1;t<=n;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1),r=(i+1)*t+(e-1),s=(i+1)*t+e,o=(i+1)*(t-1)+e;a.push(n,r,o),a.push(r,s,o)}function v(t,e,n,i,r){const s=Math.cos(t),a=Math.sin(t),o=n/e*t,l=Math.cos(o);r.x=i*(2+l)*.5*s,r.y=i*(2+l)*a*.5,r.z=i*Math.sin(o)*.5}this.setIndex(a),this.setAttribute("position",new Zi(o,3)),this.setAttribute("normal",new Zi(l,3)),this.setAttribute("uv",new Zi(c,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new nh(t.radius,t.tube,t.tubularSegments,t.radialSegments,t.p,t.q)}}class ih extends ir{constructor(t=new ec(new gn(-1,-1,0),new gn(-1,1,0),new gn(1,1,0)),e=64,n=1,i=8,r=!1){super(),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r};const s=t.computeFrenetFrames(e,r);this.tangents=s.tangents,this.normals=s.normals,this.binormals=s.binormals;const a=new gn,o=new gn,l=new We;let c=new gn;const h=[],u=[],d=[],p=[];function m(r){c=t.getPointAt(r/e,c);const l=s.normals[r],d=s.binormals[r];for(let t=0;t<=i;t++){const e=t/i*Math.PI*2,r=Math.sin(e),s=-Math.cos(e);o.x=s*l.x+r*d.x,o.y=s*l.y+r*d.y,o.z=s*l.z+r*d.z,o.normalize(),u.push(o.x,o.y,o.z),a.x=c.x+n*o.x,a.y=c.y+n*o.y,a.z=c.z+n*o.z,h.push(a.x,a.y,a.z)}}!function(){for(let t=0;t<e;t++)m(t);m(!1===r?e:0),function(){for(let t=0;t<=e;t++)for(let n=0;n<=i;n++)l.x=t/e,l.y=n/i,d.push(l.x,l.y)}(),function(){for(let t=1;t<=e;t++)for(let e=1;e<=i;e++){const n=(i+1)*(t-1)+(e-1),r=(i+1)*t+(e-1),s=(i+1)*t+e,a=(i+1)*(t-1)+e;p.push(n,r,a),p.push(r,s,a)}}()}(),this.setIndex(p),this.setAttribute("position",new Zi(h,3)),this.setAttribute("normal",new Zi(u,3)),this.setAttribute("uv",new Zi(d,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){const t=super.toJSON();return t.path=this.parameters.path.toJSON(),t}static fromJSON(t){return new ih(new ic[t.path.type]().fromJSON(t.path),t.tubularSegments,t.radius,t.radialSegments,t.closed)}}class rh extends ir{constructor(t=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:t},null!==t){const e=[],n=new Set,i=new gn,r=new gn;if(null!==t.index){const s=t.attributes.position,a=t.index;let o=t.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let t=0,l=o.length;t<l;++t){const l=o[t],c=l.start;for(let t=c,o=c+l.count;t<o;t+=3)for(let o=0;o<3;o++){const l=a.getX(t+o),c=a.getX(t+(o+1)%3);i.fromBufferAttribute(s,l),r.fromBufferAttribute(s,c),!0===sh(i,r,n)&&(e.push(i.x,i.y,i.z),e.push(r.x,r.y,r.z))}}}else{const s=t.attributes.position;for(let t=0,a=s.count/3;t<a;t++)for(let a=0;a<3;a++){const o=3*t+a,l=3*t+(a+1)%3;i.fromBufferAttribute(s,o),r.fromBufferAttribute(s,l),!0===sh(i,r,n)&&(e.push(i.x,i.y,i.z),e.push(r.x,r.y,r.z))}}this.setAttribute("position",new Zi(e,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}}function sh(t,e,n){const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`,r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;return!0!==n.has(i)&&!0!==n.has(r)&&(n.add(i),n.add(r),!0)}var ah=Object.freeze({__proto__:null,BoxGeometry:br,CapsuleGeometry:oc,CircleGeometry:lc,ConeGeometry:hc,CylinderGeometry:cc,DodecahedronGeometry:dc,EdgesGeometry:vc,ExtrudeGeometry:Xc,IcosahedronGeometry:Zc,LatheGeometry:ac,OctahedronGeometry:Jc,PlaneGeometry:Wr,PolyhedronGeometry:uc,RingGeometry:Kc,ShapeGeometry:$c,SphereGeometry:Qc,TetrahedronGeometry:th,TorusGeometry:eh,TorusKnotGeometry:nh,TubeGeometry:ih,WireframeGeometry:rh});class oh extends Ri{constructor(t){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new Oi(0),this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.fog=t.fog,this}}class lh extends Cr{constructor(t){super(t),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class ch extends Ri{constructor(t){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Oi(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class hh extends ch{constructor(t){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new We(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Ne(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Oi(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Oi(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Oi(1,1,1),this.specularColorMap=null,this._sheen=0,this._clearcoat=0,this._iridescence=0,this._transmission=0,this.setValues(t)}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class uh extends Ri{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Oi(16777215),this.specular=new Oi(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class dh extends Ri{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Oi(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class ph extends Ri{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}class mh extends Ri{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Oi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Oi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=G,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class fh extends Ri{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Oi(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ye,this.normalScale=new We(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this.fog=t.fog,this}}class gh extends xl{constructor(t){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}function vh(t,e,n){return xh(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)}function _h(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)}function xh(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function yh(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort(function(e,n){return t[e]-t[n]}),n}function Mh(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r}function Sh(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)}const bh={arraySlice:vh,convertArray:_h,isTypedArray:xh,getKeyframeOrder:yh,sortedArray:Mh,flattenJSON:Sh,subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t<s.tracks.length;++t){const e=s.tracks[t],o=e.getValueSize(),l=[],c=[];for(let t=0;t<e.times.length;++t){const s=e.times[t]*r;if(!(s<n||s>=i)){l.push(e.times[t]);for(let n=0;n<o;++n)c.push(e.values[t*o+n])}}0!==l.length&&(e.times=_h(l,e.times.constructor),e.values=_h(c,e.values.constructor),a.push(e))}s.tracks=a;let o=1/0;for(let t=0;t<s.tracks.length;++t)o>s.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t<s.tracks.length;++t)s.tracks[t].shift(-1*o);return s.resetDuration(),s},makeClipAdditive:function(t,e=0,n=t,i=30){i<=0&&(i=30);const r=n.tracks.length,s=e/i;for(let e=0;e<r;++e){const i=n.tracks[e],r=i.ValueTypeName;if("bool"===r||"string"===r)continue;const a=t.tracks.find(function(t){return t.name===i.name&&t.ValueTypeName===r});if(void 0===a)continue;let o=0;const l=i.getValueSize();i.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const h=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const u=i.times.length-1;let d;if(s<=i.times[0]){const t=o,e=l-o;d=vh(i.values,t,e)}else if(s>=i.times[u]){const t=u*l+o,e=t+l-o;d=vh(i.values,t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=vh(t.resultBuffer,e,n)}if("quaternion"===r){new fn().fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t<p;++t){const e=t*h+c;if("quaternion"===r)fn.multiplyQuaternionsFlat(a.values,e,d,0,a.values,e);else{const t=h-2*c;for(let n=0;n<t;++n)a.values[e+n]-=d[n]}}}return t.blendMode=ge,t}};class wh{constructor(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(t){const e=this.parameterPositions;let n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{let s;n:{i:if(!(t<i)){for(let s=n+2;;){if(void 0===i){if(t<r)break i;return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===s)break;if(r=i,i=e[++n],t<i)break e}s=e.length;break n}if(t>=r)break t;{const a=e[1];t<a&&(n=2,r=a);for(let s=n-2;;){if(void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(n===s)break;if(i=r,r=e[--n-1],t>=r)break e}s=n,n=0}}for(;n<s;){const i=n+s>>>1;t<e[i]?s=i:n=i+1}if(i=e[n],r=e[n-1],void 0===r)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===i)return n=e.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){const e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i;for(let t=0;t!==i;++t)e[t]=n[r+t];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class Th extends wh{constructor(t,e,n,i){super(t,e,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:de,endingEnd:de}}intervalChanged_(t,e,n){const i=this.parameterPositions;let r=t-2,s=t+1,a=i[r],o=i[s];if(void 0===a)switch(this.getSettings_().endingStart){case pe:r=t,a=2*e-n;break;case me:r=i.length-2,a=e+i[r]-i[r+1];break;default:r=t,a=n;}if(void 0===o)switch(this.getSettings_().endingEnd){case pe:s=t,o=2*n-e;break;case me:s=1,o=n+i[1]-i[0];break;default:s=t-1,o=e;}const l=.5*(n-e),c=this.valueSize;this._weightPrev=l/(e-a),this._weightNext=l/(o-n),this._offsetPrev=r*c,this._offsetNext=s*c}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=this._offsetPrev,h=this._offsetNext,u=this._weightPrev,d=this._weightNext,p=(n-e)/(i-e),m=p*p,f=m*p,g=-u*f+2*u*m-u*p,v=(1+u)*f+(-1.5-2*u)*m+(-.5+u)*p+1,_=(-1-d)*f+(1.5+d)*m+.5*p,x=d*f-d*m;for(let t=0;t!==a;++t)r[t]=g*s[c+t]+v*s[l+t]+_*s[o+t]+x*s[h+t];return r}}class Eh extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=t*a,l=o-a,c=(n-e)/(i-e),h=1-c;for(let t=0;t!==a;++t)r[t]=s[l+t]*h+s[o+t]*c;return r}}class Ah extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t){return this.copySampleValue_(t-1)}}class Ch{constructor(t,e,n,i){if(void 0===t)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=_h(e,this.TimeBufferType),this.values=_h(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}static toJSON(t){const e=t.constructor;let n;if(e.toJSON!==this.toJSON)n=e.toJSON(t);else{n={name:t.name,times:_h(t.times,Array),values:_h(t.values,Array)};const e=t.getInterpolation();e!==t.DefaultInterpolation&&(n.interpolation=e)}return n.type=t.ValueTypeName,n}InterpolantFactoryMethodDiscrete(t){return new Ah(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Eh(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Th(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case ce:e=this.InterpolantFactoryMethodDiscrete;break;case he:e=this.InterpolantFactoryMethodLinear;break;case ue:e=this.InterpolantFactoryMethodSmooth;}if(void 0===e){const e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ce;case this.InterpolantFactoryMethodLinear:return he;case this.InterpolantFactoryMethodSmooth:return ue;}}getValueSize(){return this.values.length/this.times.length}shift(t){if(0!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]+=t}return this}scale(t){if(1!==t){const e=this.times;for(let n=0,i=e.length;n!==i;++n)e[n]*=t}return this}trim(t,e){const n=this.times,i=n.length;let r=0,s=i-1;for(;r!==i&&n[r]<t;)++r;for(;-1!==s&&n[s]>e;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=vh(n,r,s),this.values=vh(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==s&&s>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,s),t=!1;break}s=i}if(void 0!==i&&xh(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=vh(this.times),e=vh(this.values),n=this.getValueSize(),i=this.getInterpolation()===ue,r=t.length-1;let s=1;for(let a=1;a<r;++a){let r=!1;const o=t[a];if(o!==t[a+1]&&(1!==a||o!==t[0]))if(i)r=!0;else{const t=a*n,i=t-n,s=t+n;for(let a=0;a!==n;++a){const n=e[t+a];if(n!==e[i+a]||n!==e[s+a]){r=!0;break}}}if(r){if(a!==s){t[s]=t[a];const i=a*n,r=s*n;for(let t=0;t!==n;++t)e[r+t]=e[i+t]}++s}}if(r>0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=vh(t,0,s),this.values=vh(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=vh(this.times,0),e=vh(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}Ch.prototype.TimeBufferType=Float32Array,Ch.prototype.ValueBufferType=Float32Array,Ch.prototype.DefaultInterpolation=he;class Lh extends Ch{}Lh.prototype.ValueTypeName="bool",Lh.prototype.ValueBufferType=Array,Lh.prototype.DefaultInterpolation=ce,Lh.prototype.InterpolantFactoryMethodLinear=void 0,Lh.prototype.InterpolantFactoryMethodSmooth=void 0;class Ph extends Ch{}Ph.prototype.ValueTypeName="color";class Rh extends Ch{}Rh.prototype.ValueTypeName="number";class Ih extends wh{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)fn.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Dh extends Ch{InterpolantFactoryMethodLinear(t){return new Ih(this.times,this.values,this.getValueSize(),t)}}Dh.prototype.ValueTypeName="quaternion",Dh.prototype.DefaultInterpolation=he,Dh.prototype.InterpolantFactoryMethodSmooth=void 0;class Uh extends Ch{}Uh.prototype.ValueTypeName="string",Uh.prototype.ValueBufferType=Array,Uh.prototype.DefaultInterpolation=ce,Uh.prototype.InterpolantFactoryMethodLinear=void 0,Uh.prototype.InterpolantFactoryMethodSmooth=void 0;class Nh extends Ch{}Nh.prototype.ValueTypeName="vector";class Oh{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=Ue(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(zh(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(Ch.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let t=0;t<r;t++){let a=[],o=[];a.push((t+r-1)%r,t,(t+1)%r),o.push(0,1,0);const l=yh(a);a=Mh(a,1,l),o=Mh(o,1,l),i||0!==a[0]||(a.push(r),o.push(o[0])),s.push(new Rh(".morphTargetInfluences["+e[t].name+"]",a,o).scale(1/n))}return new this(t,-1,s)}static findByName(t,e){let n=t;if(!Array.isArray(t)){const e=t;n=e.geometry&&e.geometry.animations||e.animations}for(let t=0;t<n.length;t++)if(n[t].name===e)return n[t];return null}static CreateClipsFromMorphTargetSequences(t,e,n){const i={},r=/^([\w-]*?)([\d]+)$/;for(let e=0,n=t.length;e<n;e++){const n=t[e],s=n.name.match(r);if(s&&s.length>1){const t=s[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];Sh(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t<l.length;t++){const r=l[t].keys;if(r&&0!==r.length)if(r[0].morphTargets){const t={};let e;for(e=0;e<r.length;e++)if(r[e].morphTargets)for(let n=0;n<r[e].morphTargets.length;n++)t[r[e].morphTargets[n]]=-1;for(const n in t){const t=[],s=[];for(let i=0;i!==r[e].morphTargets.length;++i){const i=r[e];t.push(i.time),s.push(i.morphTarget===n?1:0)}i.push(new Rh(".morphTargetInfluence["+n+"]",t,s))}o=t.length*s}else{const s=".bones["+e[t].name+"]";n(Nh,s+".position",r,"pos",i),n(Dh,s+".quaternion",r,"rot",i),n(Nh,s+".scale",r,"scl",i)}}if(0===i.length)return null;return new this(r,o,i,a)}resetDuration(){let t=0;for(let e=0,n=this.tracks.length;e!==n;++e){const n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this}trim(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this}validate(){let t=!0;for(let e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t}optimize(){for(let t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}clone(){const t=[];for(let e=0;e<this.tracks.length;e++)t.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,t,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function zh(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Rh;case"vector":case"vector2":case"vector3":case"vector4":return Nh;case"color":return Ph;case"quaternion":return Dh;case"bool":case"boolean":return Lh;case"string":return Uh;}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){const e=[],n=[];Sh(t.keys,e,n,"value"),t.times=e,t.values=n}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}const Bh={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};class Fh{constructor(t,e,n){const i=this;let r,s=!1,a=0,o=0;const l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){o++,!1===s&&void 0!==i.onStart&&i.onStart(t,a,o),s=!0},this.itemEnd=function(t){a++,void 0!==i.onProgress&&i.onProgress(t,a,o),a===o&&(s=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)},this.resolveURL=function(t){return r?r(t):t},this.setURLModifier=function(t){return r=t,this},this.addHandler=function(t,e){return l.push(t,e),this},this.removeHandler=function(t){const e=l.indexOf(t);return-1!==e&&l.splice(e,2),this},this.getHandler=function(t){for(let e=0,n=l.length;e<n;e+=2){const n=l[e],i=l[e+1];if(n.global&&(n.lastIndex=0),n.test(t))return i}return null}}}const kh=new Fh;class Gh{constructor(t){this.manager=void 0!==t?t:kh,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){const n=this;return new Promise(function(i,r){n.load(t,i,e,r)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const Vh={};class Hh extends Error{constructor(t,e){super(t),this.response=e}}class Wh extends Gh{constructor(t){super(t)}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=Bh.get(t);if(void 0!==r)return this.manager.itemStart(t),setTimeout(()=>{e&&e(r),this.manager.itemEnd(t)},0),r;if(void 0!==Vh[t])return void Vh[t].push({onLoad:e,onProgress:n,onError:i});Vh[t]=[],Vh[t].push({onLoad:e,onProgress:n,onError:i});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(s).then(e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const n=Vh[t],i=e.body.getReader(),r=e.headers.get("Content-Length")||e.headers.get("X-File-Size"),s=r?parseInt(r):0,a=0!==s;let o=0;const l=new ReadableStream({start(t){!function e(){i.read().then(({done:i,value:r})=>{if(i)t.close();else{o+=r.byteLength;const i=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=n.length;t<e;t++){const e=n[t];e.onProgress&&e.onProgress(i)}t.enqueue(r),e()}})}()}});return new Response(l)}throw new Hh(`fetch for "${e.url}" responded with ${e.status}: ${e.statusText}`,e)}).then(t=>{switch(o){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(t=>new DOMParser().parseFromString(t,a));case"json":return t.json();default:if(void 0===a)return t.text();{const e=/charset="?([^;"\s]*)"?/i.exec(a),n=e&&e[1]?e[1].toLowerCase():void 0,i=new TextDecoder(n);return t.arrayBuffer().then(t=>i.decode(t))}}}).then(e=>{Bh.add(t,e);const n=Vh[t];delete Vh[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onLoad&&i.onLoad(e)}}).catch(e=>{const n=Vh[t];if(void 0===n)throw this.manager.itemError(t),e;delete Vh[t];for(let t=0,i=n.length;t<i;t++){const i=n[t];i.onError&&i.onError(e)}this.manager.itemError(t)}).finally(()=>{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class jh extends Gh{constructor(t){super(t)}load(t,e,n,i){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=Bh.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a=Je("img");function o(){c(),Bh.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){c(),i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}function c(){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1)}return a.addEventListener("load",o,!1),a.addEventListener("error",l,!1),"data:"!==t.slice(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a}}class qh extends vi{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Oi(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}class Xh extends qh{constructor(t,e,n){super(t,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.groundColor=new Oi(e)}copy(t,e){return super.copy(t,e),this.groundColor.copy(t.groundColor),this}}const Yh=new qn,Zh=new gn,Jh=new gn;class Kh{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new We(512,512),this.map=null,this.mapPass=null,this.matrix=new qn,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Gr,this._frameExtents=new We(1,1),this._viewportCount=1,this._viewports=[new un(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,n=this.matrix;Zh.setFromMatrixPosition(t.matrixWorld),e.position.copy(Zh),Jh.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(Jh),e.updateMatrixWorld(),Yh.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Yh),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Yh)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return 0!==this.bias&&(t.bias=this.bias),0!==this.normalBias&&(t.normalBias=this.normalBias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class $h extends Kh{constructor(){super(new Pr(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,n=2*De*t.angle*this.focus,i=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;n===e.fov&&i===e.aspect&&r===e.far||(e.fov=n,e.aspect=i,e.far=r,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class Qh extends qh{constructor(t,e,n=0,i=Math.PI/3,r=0,s=2){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.target=new vi,this.distance=n,this.angle=i,this.penumbra=r,this.decay=s,this.map=null,this.shadow=new $h}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}const tu=new qn,eu=new gn,nu=new gn;class iu extends Kh{constructor(){super(new Pr(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new We(4,2),this._viewportCount=6,this._viewports=[new un(2,1,1,1),new un(0,1,1,1),new un(3,1,1,1),new un(1,1,1,1),new un(3,0,1,1),new un(1,0,1,1)],this._cubeDirections=[new gn(1,0,0),new gn(-1,0,0),new gn(0,0,1),new gn(0,0,-1),new gn(0,1,0),new gn(0,-1,0)],this._cubeUps=[new gn(0,1,0),new gn(0,1,0),new gn(0,1,0),new gn(0,1,0),new gn(0,0,1),new gn(0,0,-1)]}updateMatrices(t,e=0){const n=this.camera,i=this.matrix,r=t.distance||n.far;r!==n.far&&(n.far=r,n.updateProjectionMatrix()),eu.setFromMatrixPosition(t.matrixWorld),n.position.copy(eu),nu.copy(n.position),nu.add(this._cubeDirections[e]),n.up.copy(this._cubeUps[e]),n.lookAt(nu),n.updateMatrixWorld(),i.makeTranslation(-eu.x,-eu.y,-eu.z),tu.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(tu)}}class ru extends qh{constructor(t,e,n=0,i=2){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new iu}get power(){return 4*this.intensity*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class su extends Kh{constructor(){super(new es(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class au extends qh{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(vi.DEFAULT_UP),this.updateMatrix(),this.target=new vi,this.shadow=new su}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class ou extends qh{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class lu extends qh{constructor(t,e,n=10,i=10){super(t,e),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=n,this.height=i}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){const e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}}class cu{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new gn)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.282095),e.addScaledVector(s[1],.488603*i),e.addScaledVector(s[2],.488603*r),e.addScaledVector(s[3],.488603*n),e.addScaledVector(s[4],n*i*1.092548),e.addScaledVector(s[5],i*r*1.092548),e.addScaledVector(s[6],.315392*(3*r*r-1)),e.addScaledVector(s[7],n*r*1.092548),e.addScaledVector(s[8],.546274*(n*n-i*i)),e}getIrradianceAt(t,e){const n=t.x,i=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.886227),e.addScaledVector(s[1],1.023328*i),e.addScaledVector(s[2],1.023328*r),e.addScaledVector(s[3],1.023328*n),e.addScaledVector(s[4],.858086*n*i),e.addScaledVector(s[5],.858086*i*r),e.addScaledVector(s[6],.743125*r*r-.247708),e.addScaledVector(s[7],.858086*n*r),e.addScaledVector(s[8],.429043*(n*n-i*i)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(t.coefficients[n],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let n=0;n<9;n++)this.coefficients[n].lerp(t.coefficients[n],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(t,e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(t,e+3*i);return this}toArray(t=[],e=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(t,e+3*i);return t}static getBasisAt(t,e){const n=t.x,i=t.y,r=t.z;e[0]=.282095,e[1]=.488603*i,e[2]=.488603*r,e[3]=.488603*n,e[4]=1.092548*n*i,e[5]=1.092548*i*r,e[6]=.315392*(3*r*r-1),e[7]=1.092548*n*r,e[8]=.546274*(n*n-i*i)}}class hu extends qh{constructor(t=new cu,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}fromJSON(t){return this.intensity=t.intensity,this.sh.fromArray(t.sh),this}toJSON(t){const e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}}class uu extends Gh{constructor(t){super(t),this.textures={}}load(t,e,n,i){const r=this,s=new Wh(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e=this.textures;function n(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}const i=uu.createMaterialFromType(t.type);if(void 0!==t.uuid&&(i.uuid=t.uuid),void 0!==t.name&&(i.name=t.name),void 0!==t.color&&void 0!==i.color&&i.color.setHex(t.color),void 0!==t.roughness&&(i.roughness=t.roughness),void 0!==t.metalness&&(i.metalness=t.metalness),void 0!==t.sheen&&(i.sheen=t.sheen),void 0!==t.sheenColor&&(i.sheenColor=new Oi().setHex(t.sheenColor)),void 0!==t.sheenRoughness&&(i.sheenRoughness=t.sheenRoughness),void 0!==t.emissive&&void 0!==i.emissive&&i.emissive.setHex(t.emissive),void 0!==t.specular&&void 0!==i.specular&&i.specular.setHex(t.specular),void 0!==t.specularIntensity&&(i.specularIntensity=t.specularIntensity),void 0!==t.specularColor&&void 0!==i.specularColor&&i.specularColor.setHex(t.specularColor),void 0!==t.shininess&&(i.shininess=t.shininess),void 0!==t.clearcoat&&(i.clearcoat=t.clearcoat),void 0!==t.clearcoatRoughness&&(i.clearcoatRoughness=t.clearcoatRoughness),void 0!==t.iridescence&&(i.iridescence=t.iridescence),void 0!==t.iridescenceIOR&&(i.iridescenceIOR=t.iridescenceIOR),void 0!==t.iridescenceThicknessRange&&(i.iridescenceThicknessRange=t.iridescenceThicknessRange),void 0!==t.transmission&&(i.transmission=t.transmission),void 0!==t.thickness&&(i.thickness=t.thickness),void 0!==t.attenuationDistance&&(i.attenuationDistance=t.attenuationDistance),void 0!==t.attenuationColor&&void 0!==i.attenuationColor&&i.attenuationColor.setHex(t.attenuationColor),void 0!==t.fog&&(i.fog=t.fog),void 0!==t.flatShading&&(i.flatShading=t.flatShading),void 0!==t.blending&&(i.blending=t.blending),void 0!==t.combine&&(i.combine=t.combine),void 0!==t.side&&(i.side=t.side),void 0!==t.shadowSide&&(i.shadowSide=t.shadowSide),void 0!==t.opacity&&(i.opacity=t.opacity),void 0!==t.transparent&&(i.transparent=t.transparent),void 0!==t.alphaTest&&(i.alphaTest=t.alphaTest),void 0!==t.depthTest&&(i.depthTest=t.depthTest),void 0!==t.depthWrite&&(i.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(i.colorWrite=t.colorWrite),void 0!==t.stencilWrite&&(i.stencilWrite=t.stencilWrite),void 0!==t.stencilWriteMask&&(i.stencilWriteMask=t.stencilWriteMask),void 0!==t.stencilFunc&&(i.stencilFunc=t.stencilFunc),void 0!==t.stencilRef&&(i.stencilRef=t.stencilRef),void 0!==t.stencilFuncMask&&(i.stencilFuncMask=t.stencilFuncMask),void 0!==t.stencilFail&&(i.stencilFail=t.stencilFail),void 0!==t.stencilZFail&&(i.stencilZFail=t.stencilZFail),void 0!==t.stencilZPass&&(i.stencilZPass=t.stencilZPass),void 0!==t.wireframe&&(i.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(i.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(i.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(i.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(i.rotation=t.rotation),1!==t.linewidth&&(i.linewidth=t.linewidth),void 0!==t.dashSize&&(i.dashSize=t.dashSize),void 0!==t.gapSize&&(i.gapSize=t.gapSize),void 0!==t.scale&&(i.scale=t.scale),void 0!==t.polygonOffset&&(i.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(i.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(i.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.dithering&&(i.dithering=t.dithering),void 0!==t.alphaToCoverage&&(i.alphaToCoverage=t.alphaToCoverage),void 0!==t.premultipliedAlpha&&(i.premultipliedAlpha=t.premultipliedAlpha),void 0!==t.forceSinglePass&&(i.forceSinglePass=t.forceSinglePass),void 0!==t.visible&&(i.visible=t.visible),void 0!==t.toneMapped&&(i.toneMapped=t.toneMapped),void 0!==t.userData&&(i.userData=t.userData),void 0!==t.vertexColors&&("number"==typeof t.vertexColors?i.vertexColors=t.vertexColors>0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=new Oi().setHex(r.value);break;case"v2":i.uniforms[e].value=new We().fromArray(r.value);break;case"v3":i.uniforms[e].value=new gn().fromArray(r.value);break;case"v4":i.uniforms[e].value=new un().fromArray(r.value);break;case"m3":i.uniforms[e].value=new je().fromArray(r.value);break;case"m4":i.uniforms[e].value=new qn().fromArray(r.value);break;default:i.uniforms[e].value=r.value;}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.glslVersion&&(i.glslVersion=t.glslVersion),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=new We().fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(i.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(i.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=new We().fromArray(t.clearcoatNormalScale)),void 0!==t.iridescenceMap&&(i.iridescenceMap=n(t.iridescenceMap)),void 0!==t.iridescenceThicknessMap&&(i.iridescenceThicknessMap=n(t.iridescenceThicknessMap)),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(i.thicknessMap=n(t.thicknessMap)),void 0!==t.sheenColorMap&&(i.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(i.sheenRoughnessMap=n(t.sheenRoughnessMap)),i}setTextures(t){return this.textures=t,this}static createMaterialFromType(t){return new{ShadowMaterial:oh,SpriteMaterial:Do,RawShaderMaterial:lh,ShaderMaterial:Cr,PointsMaterial:Pl,MeshPhysicalMaterial:hh,MeshStandardMaterial:ch,MeshPhongMaterial:uh,MeshToonMaterial:dh,MeshNormalMaterial:ph,MeshLambertMaterial:mh,MeshDepthMaterial:oo,MeshDistanceMaterial:lo,MeshBasicMaterial:Bi,MeshMatcapMaterial:fh,LineDashedMaterial:gh,LineBasicMaterial:xl,Material:Ri}[t]}}class du{static decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let n=0,i=t.length;n<i;n++)e+=String.fromCharCode(t[n]);try{return decodeURIComponent(escape(e))}catch(t){return e}}static extractUrlBase(t){const e=t.lastIndexOf("/");return-1===e?"./":t.slice(0,e+1)}static resolveURL(t,e){return"string"!=typeof t||""===t?"":(/^https?:\/\//i.test(e)&&/^\//.test(t)&&(e=e.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(t)||/^data:.*,.*$/i.test(t)||/^blob:.*$/i.test(t)?t:e+t)}}class pu extends ir{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}toJSON(){const t=super.toJSON();return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}}class mu extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e={},n={};function i(t,i){if(void 0!==e[i])return e[i];const r=t.interleavedBuffers[i],s=function(t,e){if(void 0!==n[e])return n[e];const i=t.arrayBuffers,r=i[e],s=new Uint32Array(r).buffer;return n[e]=s,s}(t,r.buffer),a=Ze(r.type,s),o=new Po(a,r.stride);return o.uuid=r.uuid,e[i]=o,o}const r=t.isInstancedBufferGeometry?new pu:new ir,s=t.data.index;if(void 0!==s){const t=Ze(s.type,s.array);r.setIndex(new qi(t,1))}const a=t.data.attributes;for(const e in a){const n=a[e];let s;if(n.isInterleavedBufferAttribute){const e=i(t.data,n.data);s=new Io(e,n.itemSize,n.offset,n.normalized)}else{const t=Ze(n.type,n.array);s=new(n.isInstancedBufferAttribute?hl:qi)(t,n.itemSize,n.normalized)}void 0!==n.name&&(s.name=n.name),void 0!==n.usage&&s.setUsage(n.usage),void 0!==n.updateRange&&(s.updateRange.offset=n.updateRange.offset,s.updateRange.count=n.updateRange.count),r.setAttribute(e,s)}const o=t.data.morphAttributes;if(o)for(const e in o){const n=o[e],s=[];for(let e=0,r=n.length;e<r;e++){const r=n[e];let a;if(r.isInterleavedBufferAttribute){const e=i(t.data,r.data);a=new Io(e,r.itemSize,r.offset,r.normalized)}else{const t=Ze(r.type,r.array);a=new qi(t,r.itemSize,r.normalized)}void 0!==r.name&&(a.name=r.name),s.push(a)}r.morphAttributes[e]=s}t.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);const l=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==l)for(let t=0,e=l.length;t!==e;++t){const e=l[t];r.addGroup(e.start,e.count,e.materialIndex)}const c=t.data.boundingSphere;if(void 0!==c){const t=new gn;void 0!==c.center&&t.fromArray(c.center),r.boundingSphere=new zn(t,c.radius)}return t.name&&(r.name=t.name),t.userData&&(r.userData=t.userData),r}}const fu={UVMapping:J,CubeReflectionMapping:K,CubeRefractionMapping:$,EquirectangularReflectionMapping:Q,EquirectangularRefractionMapping:tt,CubeUVReflectionMapping:et},gu={RepeatWrapping:nt,ClampToEdgeWrapping:it,MirroredRepeatWrapping:rt},vu={NearestFilter:st,NearestMipmapNearestFilter:at,NearestMipmapLinearFilter:ot,LinearFilter:lt,LinearMipmapNearestFilter:ct,LinearMipmapLinearFilter:ht};let _u;class xu{static getContext(){return void 0===_u&&(_u=new(window.AudioContext||window.webkitAudioContext)),_u}static setContext(t){_u=t}}const yu=new qn,Mu=new qn,Su=new qn;class bu{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=wu(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=wu();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function wu(){return("undefined"==typeof performance?Date:performance).now()}const Tu=new gn,Eu=new fn,Au=new gn,Cu=new gn;class Lu extends vi{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,null!==this.source&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(t){return t||(t=[]),!0===this._connected?(this.disconnect(),this.filters=t.slice(),this.connect()):this.filters=t.slice(),this}setDetune(t){if(this.detune=t,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(t){return this.setFilters(t?[t]:[])}setPlaybackRate(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(t){if(!1!==this.hasPlaybackControl)return this.loop=t,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(t){return this.loopStart=t,this}setLoopEnd(t){return this.loopEnd=t,this}getVolume(){return this.gain.gain.value}setVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}const Pu=new gn,Ru=new fn,Iu=new gn,Du=new gn;class Uu{constructor(t,e,n){let i,r,s;switch(this.binding=t,this.valueSize=n,e){case"quaternion":i=this._slerp,r=this._slerpAdditive,s=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":i=this._select,r=this._select,s=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:i=this._lerp,r=this._lerpAdditive,s=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n);}this._mixBufferRegion=i,this._mixBufferRegionAdditive=r,this._setIdentity=s,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(t,e){const n=this.buffer,i=this.valueSize,r=t*i+i;let s=this.cumulativeWeight;if(0===s){for(let t=0;t!==i;++t)n[r+t]=n[t];s=e}else{s+=e;const t=e/s;this._mixBufferRegion(n,r,0,t,i)}this.cumulativeWeight=s}accumulateAdditive(t){const e=this.buffer,n=this.valueSize,i=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(e,i,0,t,n),this.cumulativeWeightAdditive+=t}apply(t){const e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,r<1){const t=e*this._origIndex;this._mixBufferRegion(n,i,t,1-r,e)}s>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n<e;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const t=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[e+n]=this.buffer[t+n]}_select(t,e,n,i,r){if(i>=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){fn.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;fn.multiplyQuaternionsFlat(t,s,t,e,t,n),fn.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const Nu="\\[\\]\\.:\\/",Ou=new RegExp("["+Nu+"]","g"),zu="[^"+Nu+"]",Bu="[^"+Nu.replace("\\.","")+"]",Fu=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",zu)+/(WCOD+)?/.source.replace("WCOD",Bu)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",zu)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",zu)+"$"),ku=["material","materials","bones","map"];class Gu{constructor(t,e,n){this.path=e,this.parsedPath=n||Gu.parseTrackName(e),this.node=Gu.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Gu.Composite(t,e,n):new Gu(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Ou,"")}static parseTrackName(t){const e=Fu.exec(t);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==ku.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(void 0===e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i<t.length;i++){const r=t[i];if(r.name===e||r.uuid===e)return r;const s=n(r.children);if(s)return s}return null},i=n(t.children);if(i)return i}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)t[e++]=n[i]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++]}_setValue_array_setNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){const n=this.resolvedProperty;for(let i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node;const e=this.parsedPath,n=e.objectName,i=e.propertyName;let r=e.propertyIndex;if(t||(t=Gu.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let i=e.objectIndex;switch(n){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(let e=0;e<t.length;e++)if(t[e].name===i){i=e;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);t=t.material.map;break;default:if(void 0===t[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[n];}if(void 0!==i){if(void 0===t[i])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[i]}}const s=t[i];if(void 0===s){const n=e.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+n+"."+i+" but it wasn't found.",t)}let a=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==t.morphTargetDictionary[r]&&(r=t.morphTargetDictionary[r])}o=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(o=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}Gu.Composite=class{constructor(t,e,n){const i=n||Gu.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}getValue(t,e){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)}setValue(t,e){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}},Gu.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Gu.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},Gu.prototype.GetterByBindingType=[Gu.prototype._getValue_direct,Gu.prototype._getValue_array,Gu.prototype._getValue_arrayElement,Gu.prototype._getValue_toArray],Gu.prototype.SetterByBindingTypeAndVersioning=[[Gu.prototype._setValue_direct,Gu.prototype._setValue_direct_setNeedsUpdate,Gu.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_array,Gu.prototype._setValue_array_setNeedsUpdate,Gu.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_arrayElement,Gu.prototype._setValue_arrayElement_setNeedsUpdate,Gu.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Gu.prototype._setValue_fromArray,Gu.prototype._setValue_fromArray_setNeedsUpdate,Gu.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class Vu{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:de,endingEnd:de};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;i<0||0===n?e=0:(this._startTime=null,e=n*i)}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===ge)for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);else for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1==(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=pe,i.endingEnd=pe):(i.endingStart=t?this.zeroSlopeAtStart?pe:de:me,i.endingEnd=e?this.zeroSlopeAtEnd?pe:de:me)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}const Hu=new Float32Array(1);class Wu{constructor(t){this.value=t}clone(){return new Wu(void 0===this.value.clone?this.value:this.value.clone())}}let ju=0;function qu(t,e){return t.distance-e.distance}function Xu(t,e,n,i){if(t.layers.test(e.layers)&&t.raycast(e,n),!0===i){const i=t.children;for(let t=0,r=i.length;t<r;t++)Xu(i[t],e,n,!0)}}const Yu=new We;const Zu=new gn,Ju=new gn;const Ku=new gn;const $u=new gn,Qu=new qn,td=new qn;function ed(t){const e=[];!0===t.isBone&&e.push(t);for(let n=0;n<t.children.length;n++)e.push.apply(e,ed(t.children[n]));return e}const nd=new gn,id=new Oi,rd=new Oi;const sd=new gn,ad=new gn,od=new gn;const ld=new gn,cd=new Lr;function hd(t,e,n,i,r,s,a){ld.set(r,s,a).unproject(i);const o=e[t];if(void 0!==o){const t=n.getAttribute("position");for(let e=0,n=o.length;e<n;e++)t.setXYZ(o[e],ld.x,ld.y,ld.z)}}const ud=new xn;const dd=new gn;let pd,md;"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:e}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=e),t.ACESFilmicToneMapping=Y,t.AddEquation=v,t.AddOperation=H,t.AdditiveAnimationBlendMode=ge,t.AdditiveBlending=p,t.AlphaFormat=St,t.AlwaysDepth=U,t.AlwaysStencilFunc=519,t.AmbientLight=ou,t.AmbientLightProbe=class extends hu{constructor(t,e=1){super(void 0,e),this.isAmbientLightProbe=!0;const n=new Oi().set(t);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}},t.AnimationAction=Vu,t.AnimationClip=Oh,t.AnimationLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}parse(t){const e=[];for(let n=0;n<t.length;n++){const i=Oh.parse(t[n]);e.push(i)}return e}},t.AnimationMixer=class extends Le{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(void 0!==h)++h.referenceCount,s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new Uu(Gu.create(n,l,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e<this._nActiveActions}_addInactiveAction(t,e,n){const i=this._actions,r=this._actionsByClip;let s=r[e];if(void 0===s)s={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=s;else{const e=s.knownActions;t._byClipCacheIndex=e.length,e.push(t)}t._cacheIndex=i.length,i.push(t),s.actionByRoot[n]=t}_removeInactiveAction(t){const e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i,e[i]=n,e.pop(),t._cacheIndex=null;const r=t._clip.uuid,s=this._actionsByClip,a=s[r],o=a.knownActions,l=o[o.length-1],c=t._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),t._byClipCacheIndex=null;delete a.actionByRoot[(t._localRoot||this._root).uuid],0===o.length&&delete s[r],this._removeInactiveBindingsForAction(t)}_removeInactiveBindingsForAction(t){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.referenceCount&&this._removeInactiveBinding(n)}}_lendAction(t){const e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackAction(t){const e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_addInactiveBinding(t,e,n){const i=this._bindingsByRootAndName,r=this._bindings;let s=i[e];void 0===s&&(s={},i[e]=s),s[n]=t,t._cacheIndex=r.length,r.push(t)}_removeInactiveBinding(t){const e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,s=this._bindingsByRootAndName,a=s[i],o=e[e.length-1],l=t._cacheIndex;o._cacheIndex=l,e[l]=o,e.pop(),delete a[r],0===Object.keys(a).length&&delete s[i]}_lendBinding(t){const e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_takeBackBinding(t){const e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r}_lendControlInterpolant(){const t=this._controlInterpolants,e=this._nActiveControlInterpolants++;let n=t[e];return void 0===n&&(n=new Eh(new Float32Array(2),new Float32Array(2),1,Hu),n.__cacheIndex=e,t[e]=n),n}_takeBackControlInterpolant(t){const e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i,e[i]=t,r.__cacheIndex=n,e[n]=r}clipAction(t,e,n){const i=e||this._root,r=i.uuid;let s="string"==typeof t?Oh.findByName(i,t):t;const a=null!==s?s.uuid:t,o=this._actionsByClip[a];let l=null;if(void 0===n&&(n=null!==s?s.blendMode:fe),void 0!==o){const t=o.actionByRoot[r];if(void 0!==t&&t.blendMode===n)return t;l=o.knownActions[0],null===s&&(s=l._clip)}if(null===s)return null;const c=new Vu(this,s,e,n);return this._bindAction(c,l),this._addInactiveAction(c,a,r),c}existingAction(t,e){const n=e||this._root,i=n.uuid,r="string"==typeof t?Oh.findByName(n,t):t,s=r?r.uuid:t,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[i]||null}stopAllAction(){const t=this._actions;for(let e=this._nActiveActions-1;e>=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){e[a]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(t)}getRoot(){return this._root}uncacheClip(t){const e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){const t=r.knownActions;for(let n=0,i=t.length;n!==i;++n){const i=t[n];this._deactivateAction(i);const r=i._cacheIndex,s=e[e.length-1];i._cacheIndex=null,i._byClipCacheIndex=null,s._cacheIndex=r,e[r]=s,e.pop(),this._removeInactiveBindingsForAction(i)}delete i[n]}}uncacheRoot(t){const e=t.uuid,n=this._actionsByClip;for(const t in n){const i=n[t].actionByRoot[e];void 0!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}const i=this._bindingsByRootAndName[e];if(void 0!==i)for(const t in i){const e=i[t];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(t,e){const n=this.existingAction(t,e);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}},t.AnimationObjectGroup=class{constructor(){this.isAnimationObjectGroup=!0,this.uuid=Ue(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const t={};this._indicesByUUID=t;for(let e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const t=this._objects,e=this._indicesByUUID,n=this._paths,i=this._parsedPaths,r=this._bindings,s=r.length;let a,o=t.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],u=h.uuid;let d=e[u];if(void 0===d){d=o++,e[u]=d,t.push(h);for(let t=0,e=s;t!==e;++t)r[t].push(new Gu(h,n[t],i[t]))}else if(d<l){a=t[d];const o=--l,c=t[o];e[c.uuid]=d,t[d]=c,e[u]=o,t[o]=h;for(let t=0,e=s;t!==e;++t){const e=r[t],s=e[o];let a=e[d];e[d]=s,void 0===a&&(a=new Gu(h,n[t],i[t])),e[o]=a}}else t[d]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l}remove(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=e[o];if(void 0!==l&&l>=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l<r){const a=--r,o=t[a],c=--s,h=t[c];e[o.uuid]=l,t[l]=o,e[h.uuid]=a,t[a]=h,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[a],r=e[c];e[l]=i,e[a]=r,e.pop()}}else{const r=--s,a=t[r];r>0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new Gu(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}},t.AnimationUtils=bh,t.ArcCurve=kl,t.ArrayCamera=go,t.ArrowHelper=class extends vi{constructor(t=new gn(0,0,1),e=new gn(0,0,0),n=1,i=16776960,r=.2*n,s=.2*r){super(),this.type="ArrowHelper",void 0===pd&&(pd=new ir,pd.setAttribute("position",new Zi([0,0,0,0,1,0],3)),md=new cc(0,.5,1,5,1),md.translate(0,-.5,0)),this.position.copy(e),this.line=new Tl(pd,new xl({color:i,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Mr(md,new Bi({color:i,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(n,r,s)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{dd.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(dd,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}},t.Audio=Lu,t.AudioAnalyser=class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let n=0;n<e.length;n++)t+=e[n];return t/e.length}},t.AudioContext=xu,t.AudioListener=class extends vi{constructor(){super(),this.type="AudioListener",this.context=xu.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new bu}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Tu,Eu,Au),Cu.set(0,0,-1).applyQuaternion(Eu),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Tu.x,t),e.positionY.linearRampToValueAtTime(Tu.y,t),e.positionZ.linearRampToValueAtTime(Tu.z,t),e.forwardX.linearRampToValueAtTime(Cu.x,t),e.forwardY.linearRampToValueAtTime(Cu.y,t),e.forwardZ.linearRampToValueAtTime(Cu.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Tu.x,Tu.y,Tu.z),e.setOrientation(Cu.x,Cu.y,Cu.z,n.x,n.y,n.z)}},t.AudioLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new Wh(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(n){try{const t=n.slice(0);xu.getContext().decodeAudioData(t,function(t){e(t)})}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}},n,i)}},t.AxesHelper=class extends Cl{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new ir;n.setAttribute("position",new Zi(e,3)),n.setAttribute("color",new Zi([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(n,new xl({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,n){const i=new Oi,r=this.geometry.attributes.color.array;return i.set(t),i.toArray(r,0),i.toArray(r,3),i.set(e),i.toArray(r,6),i.toArray(r,9),i.set(n),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BackSide=c,t.BasicDepthPacking=3200,t.BasicShadowMap=0,t.Bone=sl,t.BooleanKeyframeTrack=Lh,t.Box2=class{constructor(t=new We(1/0,1/0),e=new We(-1/0,-1/0)){this.isBox2=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const n=Yu.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(n),this.max.copy(t).add(n),this}clone(){return new this.constructor().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Yu).distanceTo(t)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}},t.Box3=xn,t.Box3Helper=class extends Cl{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new ir;i.setIndex(new qi(n,1)),i.setAttribute("position",new Zi([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(i,new xl({color:e,toneMapped:!1})),this.box=t,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BoxBufferGeometry=class extends br{constructor(t,e,n,i,r,s){console.warn("THREE.BoxBufferGeometry has been renamed to THREE.BoxGeometry."),super(t,e,n,i,r,s)}},t.BoxGeometry=br,t.BoxHelper=class extends Cl{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Float32Array(24),r=new ir;r.setIndex(new qi(n,1)),r.setAttribute("position",new qi(i,3)),super(r,new xl({color:e,toneMapped:!1})),this.object=t,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&ud.setFromObject(this.object),ud.isEmpty())return;const e=ud.min,n=ud.max,i=this.geometry.attributes.position,r=i.array;r[0]=n.x,r[1]=n.y,r[2]=n.z,r[3]=e.x,r[4]=n.y,r[5]=n.z,r[6]=e.x,r[7]=e.y,r[8]=n.z,r[9]=n.x,r[10]=e.y,r[11]=n.z,r[12]=n.x,r[13]=n.y,r[14]=e.z,r[15]=e.x,r[16]=n.y,r[17]=e.z,r[18]=e.x,r[19]=e.y,r[20]=e.z,r[21]=n.x,r[22]=e.y,r[23]=e.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(t){return this.object=t,this.update(),this}copy(t,e){return super.copy(t,e),this.object=t.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}},t.BufferAttribute=qi,t.BufferGeometry=ir,t.BufferGeometryLoader=mu,t.ByteType=dt,t.Cache=Bh,t.Camera=Lr,t.CameraHelper=class extends Cl{constructor(t){const e=new ir,n=new xl({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],r=[],s={};function a(t,e){o(t),o(e)}function o(t){i.push(0,0,0),r.push(0,0,0),void 0===s[t]&&(s[t]=[]),s[t].push(i.length/3-1)}a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4"),e.setAttribute("position",new Zi(i,3)),e.setAttribute("color",new Zi(r,3)),super(e,n),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update();const l=new Oi(16755200),c=new Oi(16711680),h=new Oi(43775),u=new Oi(16777215),d=new Oi(3355443);this.setColors(l,c,h,u,d)}setColors(t,e,n,i,r){const s=this.geometry.getAttribute("color");s.setXYZ(0,t.r,t.g,t.b),s.setXYZ(1,t.r,t.g,t.b),s.setXYZ(2,t.r,t.g,t.b),s.setXYZ(3,t.r,t.g,t.b),s.setXYZ(4,t.r,t.g,t.b),s.setXYZ(5,t.r,t.g,t.b),s.setXYZ(6,t.r,t.g,t.b),s.setXYZ(7,t.r,t.g,t.b),s.setXYZ(8,t.r,t.g,t.b),s.setXYZ(9,t.r,t.g,t.b),s.setXYZ(10,t.r,t.g,t.b),s.setXYZ(11,t.r,t.g,t.b),s.setXYZ(12,t.r,t.g,t.b),s.setXYZ(13,t.r,t.g,t.b),s.setXYZ(14,t.r,t.g,t.b),s.setXYZ(15,t.r,t.g,t.b),s.setXYZ(16,t.r,t.g,t.b),s.setXYZ(17,t.r,t.g,t.b),s.setXYZ(18,t.r,t.g,t.b),s.setXYZ(19,t.r,t.g,t.b),s.setXYZ(20,t.r,t.g,t.b),s.setXYZ(21,t.r,t.g,t.b),s.setXYZ(22,t.r,t.g,t.b),s.setXYZ(23,t.r,t.g,t.b),s.setXYZ(24,e.r,e.g,e.b),s.setXYZ(25,e.r,e.g,e.b),s.setXYZ(26,e.r,e.g,e.b),s.setXYZ(27,e.r,e.g,e.b),s.setXYZ(28,e.r,e.g,e.b),s.setXYZ(29,e.r,e.g,e.b),s.setXYZ(30,e.r,e.g,e.b),s.setXYZ(31,e.r,e.g,e.b),s.setXYZ(32,n.r,n.g,n.b),s.setXYZ(33,n.r,n.g,n.b),s.setXYZ(34,n.r,n.g,n.b),s.setXYZ(35,n.r,n.g,n.b),s.setXYZ(36,n.r,n.g,n.b),s.setXYZ(37,n.r,n.g,n.b),s.setXYZ(38,i.r,i.g,i.b),s.setXYZ(39,i.r,i.g,i.b),s.setXYZ(40,r.r,r.g,r.b),s.setXYZ(41,r.r,r.g,r.b),s.setXYZ(42,r.r,r.g,r.b),s.setXYZ(43,r.r,r.g,r.b),s.setXYZ(44,r.r,r.g,r.b),s.setXYZ(45,r.r,r.g,r.b),s.setXYZ(46,r.r,r.g,r.b),s.setXYZ(47,r.r,r.g,r.b),s.setXYZ(48,r.r,r.g,r.b),s.setXYZ(49,r.r,r.g,r.b),s.needsUpdate=!0}update(){const t=this.geometry,e=this.pointMap;cd.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),hd("c",e,t,cd,0,0,-1),hd("t",e,t,cd,0,0,1),hd("n1",e,t,cd,-1,-1,-1),hd("n2",e,t,cd,1,-1,-1),hd("n3",e,t,cd,-1,1,-1),hd("n4",e,t,cd,1,1,-1),hd("f1",e,t,cd,-1,-1,1),hd("f2",e,t,cd,1,-1,1),hd("f3",e,t,cd,-1,1,1),hd("f4",e,t,cd,1,1,1),hd("u1",e,t,cd,.7,1.1,-1),hd("u2",e,t,cd,-.7,1.1,-1),hd("u3",e,t,cd,0,2,-1),hd("cf1",e,t,cd,-1,0,1),hd("cf2",e,t,cd,1,0,1),hd("cf3",e,t,cd,0,-1,1),hd("cf4",e,t,cd,0,1,1),hd("cn1",e,t,cd,-1,0,-1),hd("cn2",e,t,cd,1,0,-1),hd("cn3",e,t,cd,0,-1,-1),hd("cn4",e,t,cd,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasTexture=class extends hn{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},t.CapsuleBufferGeometry=class extends oc{constructor(t,e,n,i){console.warn("THREE.CapsuleBufferGeometry has been renamed to THREE.CapsuleGeometry."),super(t,e,n,i)}},t.CapsuleGeometry=oc,t.CatmullRomCurve3=ql,t.CineonToneMapping=X,t.CircleBufferGeometry=class extends lc{constructor(t,e,n,i){console.warn("THREE.CircleBufferGeometry has been renamed to THREE.CircleGeometry."),super(t,e,n,i)}},t.CircleGeometry=lc,t.ClampToEdgeWrapping=it,t.Clock=bu,t.Color=Oi,t.ColorKeyframeTrack=Ph,t.ColorManagement=rn,t.CompressedArrayTexture=class extends zl{constructor(t,e,n,i,r,s){super(t,e,n,r,s),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=it}},t.CompressedTexture=zl,t.CompressedTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=[],a=new zl,o=new Wh(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials);let l=0;function c(c){o.load(t[c],function(t){const n=r.parse(t,!0);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},l+=1,6===l&&(1===n.mipmapCount&&(a.minFilter=lt),a.image=s,a.format=n.format,a.needsUpdate=!0,e&&e(a))},n,i)}if(Array.isArray(t))for(let e=0,n=t.length;e<n;++e)c(e);else o.load(t,function(t){const n=r.parse(t,!0);if(n.isCubemap){const t=n.mipmaps.length/n.mipmapCount;for(let e=0;e<t;e++){s[e]={mipmaps:[]};for(let t=0;t<n.mipmapCount;t++)s[e].mipmaps.push(n.mipmaps[e*n.mipmapCount+t]),s[e].format=n.format,s[e].width=n.width,s[e].height=n.height}a.image=s}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=lt),a.format=n.format,a.needsUpdate=!0,e&&e(a)},n,i);return a}},t.ConeBufferGeometry=class extends hc{constructor(t,e,n,i,r,s,a){console.warn("THREE.ConeBufferGeometry has been renamed to THREE.ConeGeometry."),super(t,e,n,i,r,s,a)}},t.ConeGeometry=hc,t.CubeCamera=Ir,t.CubeReflectionMapping=K,t.CubeRefractionMapping=$,t.CubeTexture=Dr,t.CubeTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=new Dr,s=new jh(this.manager);s.setCrossOrigin(this.crossOrigin),s.setPath(this.path);let a=0;function o(n){s.load(t[n],function(t){r.images[n]=t,a++,6===a&&(r.needsUpdate=!0,e&&e(r))},void 0,i)}for(let e=0;e<t.length;++e)o(e);return r}},t.CubeUVReflectionMapping=et,t.CubicBezierCurve=Jl,t.CubicBezierCurve3=Kl,t.CubicInterpolant=Th,t.CullFaceBack=i,t.CullFaceFront=r,t.CullFaceFrontBack=3,t.CullFaceNone=n,t.Curve=Bl,t.CurvePath=rc,t.CustomBlending=g,t.CustomToneMapping=Z,t.CylinderBufferGeometry=class extends cc{constructor(t,e,n,i,r,s,a,o){console.warn("THREE.CylinderBufferGeometry has been renamed to THREE.CylinderGeometry."),super(t,e,n,i,r,s,a,o)}},t.CylinderGeometry=cc,t.Cylindrical=class{constructor(t=1,e=0,n=0){return this.radius=t,this.theta=e,this.y=n,this}set(t,e,n){return this.radius=t,this.theta=e,this.y=n,this}copy(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){return this.radius=Math.sqrt(t*t+n*n),this.theta=Math.atan2(t,n),this.y=e,this}clone(){return new this.constructor().copy(this)}},t.Data3DTexture=mn,t.DataArrayTexture=pn,t.DataTexture=al,t.DataTextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new al,a=new Wh(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(r.withCredentials),a.load(t,function(t){const n=r.parse(t);n&&(void 0!==n.image?s.image=n.image:void 0!==n.data&&(s.image.width=n.width,s.image.height=n.height,s.image.data=n.data),s.wrapS=void 0!==n.wrapS?n.wrapS:it,s.wrapT=void 0!==n.wrapT?n.wrapT:it,s.magFilter=void 0!==n.magFilter?n.magFilter:lt,s.minFilter=void 0!==n.minFilter?n.minFilter:lt,s.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.encoding&&(s.encoding=n.encoding),void 0!==n.flipY&&(s.flipY=n.flipY),void 0!==n.format&&(s.format=n.format),void 0!==n.type&&(s.type=n.type),void 0!==n.mipmaps&&(s.mipmaps=n.mipmaps,s.minFilter=ht),1===n.mipmapCount&&(s.minFilter=lt),void 0!==n.generateMipmaps&&(s.generateMipmaps=n.generateMipmaps),s.needsUpdate=!0,e&&e(s,n))},n,i),s}},t.DataUtils=Hi,t.DecrementStencilOp=7683,t.DecrementWrapStencilOp=34056,t.DefaultLoadingManager=kh,t.DepthFormat=Et,t.DepthStencilFormat=At,t.DepthTexture=yo,t.DirectionalLight=au,t.DirectionalLightHelper=class extends vi{constructor(t,e,n){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",void 0===e&&(e=1);let i=new ir;i.setAttribute("position",new Zi([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new xl({fog:!1,toneMapped:!1});this.lightPlane=new Tl(i,r),this.add(this.lightPlane),i=new ir,i.setAttribute("position",new Zi([0,0,0,0,0,1],3)),this.targetLine=new Tl(i,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),sd.setFromMatrixPosition(this.light.matrixWorld),ad.setFromMatrixPosition(this.light.target.matrixWorld),od.subVectors(ad,sd),this.lightPlane.lookAt(ad),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(ad),this.targetLine.scale.z=od.length()}},t.DiscreteInterpolant=Ah,t.DisplayP3ColorSpace=we,t.DodecahedronBufferGeometry=class extends dc{constructor(t,e){console.warn("THREE.DodecahedronBufferGeometry has been renamed to THREE.DodecahedronGeometry."),super(t,e)}},t.DodecahedronGeometry=dc,t.DoubleSide=h,t.DstAlphaFactor=C,t.DstColorFactor=P,t.DynamicCopyUsage=35050,t.DynamicDrawUsage=35048,t.DynamicReadUsage=35049,t.EdgesGeometry=vc,t.EllipseCurve=Fl,t.EqualDepth=z,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=Q,t.EquirectangularRefractionMapping=tt,t.Euler=ni,t.EventDispatcher=Le,t.ExtrudeBufferGeometry=class extends Xc{constructor(t,e){console.warn("THREE.ExtrudeBufferGeometry has been renamed to THREE.ExtrudeGeometry."),super(t,e)}},t.ExtrudeGeometry=Xc,t.FileLoader=Wh,t.Float16BufferAttribute=class extends qi{constructor(t,e,n){super(new Uint16Array(t),e,n),this.isFloat16BufferAttribute=!0}getX(t){let e=Vi(this.array[t*this.itemSize]);return this.normalized&&(e=Ge(e,this.array)),e}setX(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize]=Gi(e),this}getY(t){let e=Vi(this.array[t*this.itemSize+1]);return this.normalized&&(e=Ge(e,this.array)),e}setY(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+1]=Gi(e),this}getZ(t){let e=Vi(this.array[t*this.itemSize+2]);return this.normalized&&(e=Ge(e,this.array)),e}setZ(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+2]=Gi(e),this}getW(t){let e=Vi(this.array[t*this.itemSize+3]);return this.normalized&&(e=Ge(e,this.array)),e}setW(t,e){return this.normalized&&(e=Ve(e,this.array)),this.array[t*this.itemSize+3]=Gi(e),this}setXY(t,e,n){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this}setXYZ(t,e,n,i){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this.array[t+2]=Gi(i),this}setXYZW(t,e,n,i,r){return t*=this.itemSize,this.normalized&&(e=Ve(e,this.array),n=Ve(n,this.array),i=Ve(i,this.array),r=Ve(r,this.array)),this.array[t+0]=Gi(e),this.array[t+1]=Gi(n),this.array[t+2]=Gi(i),this.array[t+3]=Gi(r),this}},t.Float32BufferAttribute=Zi,t.Float64BufferAttribute=class extends qi{constructor(t,e,n){super(new Float64Array(t),e,n)}},t.FloatType=vt,t.Fog=Co,t.FogExp2=Ao,t.FramebufferTexture=class extends hn{constructor(t,e,n){super({width:t,height:e}),this.isFramebufferTexture=!0,this.format=n,this.magFilter=st,this.minFilter=st,this.generateMipmaps=!1,this.needsUpdate=!0}},t.FrontSide=l,t.Frustum=Gr,t.GLBufferAttribute=class{constructor(t,e,n,i,r){this.isGLBufferAttribute=!0,this.name="",this.buffer=t,this.type=e,this.itemSize=n,this.elementSize=i,this.count=r,this.version=0}set needsUpdate(t){!0===t&&this.version++}setBuffer(t){return this.buffer=t,this}setType(t,e){return this.type=t,this.elementSize=e,this}setItemSize(t){return this.itemSize=t,this}setCount(t){return this.count=t,this}},t.GLSL1="100",t.GLSL3=Ae,t.GreaterDepth=F,t.GreaterEqualDepth=B,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=class extends Cl{constructor(t=10,e=10,n=4473924,i=8947848){n=new Oi(n),i=new Oi(i);const r=e/2,s=t/e,a=t/2,o=[],l=[];for(let t=0,c=0,h=-a;t<=e;t++,h+=s){o.push(-a,0,h,a,0,h),o.push(h,0,-a,h,0,a);const e=t===r?n:i;e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3,e.toArray(l,c),c+=3}const c=new ir;c.setAttribute("position",new Zi(o,3)),c.setAttribute("color",new Zi(l,3));super(c,new xl({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}},t.Group=vo,t.HalfFloatType=_t,t.HemisphereLight=Xh,t.HemisphereLightHelper=class extends vi{constructor(t,e,n){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="HemisphereLightHelper";const i=new Jc(e);i.rotateY(.5*Math.PI),this.material=new Bi({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=i.getAttribute("position"),s=new Float32Array(3*r.count);i.setAttribute("color",new qi(s,3)),this.add(new Mr(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const t=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=t.geometry.getAttribute("color");id.copy(this.light.color),rd.copy(this.light.groundColor);for(let t=0,n=e.count;t<n;t++){const i=t<n/2?id:rd;e.setXYZ(t,i.r,i.g,i.b)}e.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),t.lookAt(nd.setFromMatrixPosition(this.light.matrixWorld).negate())}},t.HemisphereLightProbe=class extends hu{constructor(t,e,n=1){super(void 0,n),this.isHemisphereLightProbe=!0;const i=new Oi().set(t),r=new Oi().set(e),s=new gn(i.r,i.g,i.b),a=new gn(r.r,r.g,r.b),o=Math.sqrt(Math.PI),l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o),this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}},t.IcosahedronBufferGeometry=class extends Zc{constructor(t,e){console.warn("THREE.IcosahedronBufferGeometry has been renamed to THREE.IcosahedronGeometry."),super(t,e)}},t.IcosahedronGeometry=Zc,t.ImageBitmapLoader=class extends Gh{constructor(t){super(t),this.isImageBitmapLoader=!0,"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(t){return this.options=t,this}load(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=Bh.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader,fetch(t,a).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(n){Bh.add(t,n),e&&e(n),r.manager.itemEnd(t)}).catch(function(e){i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}),r.manager.itemStart(t)}},t.ImageLoader=jh,t.ImageUtils=an,t.IncrementStencilOp=7682,t.IncrementWrapStencilOp=34055,t.InstancedBufferAttribute=hl,t.InstancedBufferGeometry=pu,t.InstancedInterleavedBuffer=class extends Po{constructor(t,e,n=1){super(t,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){const e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){const e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}},t.InstancedMesh=_l,t.Int16BufferAttribute=class extends qi{constructor(t,e,n){super(new Int16Array(t),e,n)}},t.Int32BufferAttribute=class extends qi{constructor(t,e,n){super(new Int32Array(t),e,n)}},t.Int8BufferAttribute=class extends qi{constructor(t,e,n){super(new Int8Array(t),e,n)}},t.IntType=ft,t.InterleavedBuffer=Po,t.InterleavedBufferAttribute=Io,t.Interpolant=wh,t.InterpolateDiscrete=ce,t.InterpolateLinear=he,t.InterpolateSmooth=ue,t.InvertStencilOp=5386,t.KeepStencilOp=Te,t.KeyframeTrack=Ch,t.LOD=Ko,t.LatheBufferGeometry=class extends ac{constructor(t,e,n,i){console.warn("THREE.LatheBufferGeometry has been renamed to THREE.LatheGeometry."),super(t,e,n,i)}},t.LatheGeometry=ac,t.Layers=ii,t.LessDepth=N,t.LessEqualDepth=O,t.LessEqualStencilFunc=515,t.LessStencilFunc=513,t.Light=qh,t.LightProbe=hu,t.Line=Tl,t.Line3=class{constructor(t=new gn,e=new gn){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Zu.subVectors(t,this.start),Ju.subVectors(this.end,this.start);const n=Ju.dot(Ju);let i=Ju.dot(Zu)/n;return e&&(i=Ne(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}},t.LineBasicMaterial=xl,t.LineCurve=$l,t.LineCurve3=Ql,t.LineDashedMaterial=gh,t.LineLoop=Ll,t.LineSegments=Cl,t.LinearEncoding=ve,t.LinearFilter=lt,t.LinearInterpolant=Eh,t.LinearMipMapLinearFilter=1008,t.LinearMipMapNearestFilter=1007,t.LinearMipmapLinearFilter=ht,t.LinearMipmapNearestFilter=ct,t.LinearSRGBColorSpace=be,t.LinearToneMapping=j,t.Loader=Gh,t.LoaderUtils=du,t.LoadingManager=Fh,t.LoopOnce=2200,t.LoopPingPong=2202,t.LoopRepeat=2201,t.LuminanceAlphaFormat=Tt,t.LuminanceFormat=wt,t.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},t.Material=Ri,t.MaterialLoader=uu,t.MathUtils=He,t.Matrix3=je,t.Matrix4=qn,t.MaxEquation=M,t.Mesh=Mr,t.MeshBasicMaterial=Bi,t.MeshDepthMaterial=oo,t.MeshDistanceMaterial=lo,t.MeshLambertMaterial=mh,t.MeshMatcapMaterial=fh,t.MeshNormalMaterial=ph,t.MeshPhongMaterial=uh,t.MeshPhysicalMaterial=hh,t.MeshStandardMaterial=ch,t.MeshToonMaterial=dh,t.MinEquation=y,t.MirroredRepeatWrapping=rt,t.MixOperation=V,t.MultiplyBlending=f,t.MultiplyOperation=G,t.NearestFilter=st,t.NearestMipMapLinearFilter=1005,t.NearestMipMapNearestFilter=1004,t.NearestMipmapLinearFilter=ot,t.NearestMipmapNearestFilter=at,t.NeverDepth=D,t.NeverStencilFunc=512,t.NoBlending=u,t.NoColorSpace="",t.NoToneMapping=W,t.NormalAnimationBlendMode=fe,t.NormalBlending=d,t.NotEqualDepth=k,t.NotEqualStencilFunc=517,t.NumberKeyframeTrack=Rh,t.Object3D=vi,t.ObjectLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=this,s=""===this.path?du.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||s;const a=new Wh(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(t,function(n){let s=null;try{s=JSON.parse(n)}catch(e){return void 0!==i&&i(e),void console.error("THREE:ObjectLoader: Can't parse "+t+".",e.message)}const a=s.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())return void 0!==i&&i(new Error("THREE.ObjectLoader: Can't load "+t)),void console.error("THREE.ObjectLoader: Can't load "+t);r.parse(s,e)},n,i)}async loadAsync(t,e){const n=""===this.path?du.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||n;const i=new Wh(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials);const r=await i.loadAsync(t,e),s=JSON.parse(r),a=s.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())throw new Error("THREE.ObjectLoader: Can't load "+t);return await this.parseAsync(s)}parse(t,e){const n=this.parseAnimations(t.animations),i=this.parseShapes(t.shapes),r=this.parseGeometries(t.geometries,i),s=this.parseImages(t.images,function(){void 0!==e&&e(l)}),a=this.parseTextures(t.textures,s),o=this.parseMaterials(t.materials,a),l=this.parseObject(t.object,r,o,a,n),c=this.parseSkeletons(t.skeletons,l);if(this.bindSkeletons(l,c),void 0!==e){let t=!1;for(const e in s)if(s[e].data instanceof HTMLImageElement){t=!0;break}!1===t&&e(l)}return l}async parseAsync(t){const e=this.parseAnimations(t.animations),n=this.parseShapes(t.shapes),i=this.parseGeometries(t.geometries,n),r=await this.parseImagesAsync(t.images),s=this.parseTextures(t.textures,r),a=this.parseMaterials(t.materials,s),o=this.parseObject(t.object,i,a,s,e),l=this.parseSkeletons(t.skeletons,o);return this.bindSkeletons(o,l),o}parseShapes(t){const e={};if(void 0!==t)for(let n=0,i=t.length;n<i;n++){const i=new _c().fromJSON(t[n]);e[i.uuid]=i}return e}parseSkeletons(t,e){const n={},i={};if(e.traverse(function(t){t.isBone&&(i[t.uuid]=t)}),void 0!==t)for(let e=0,r=t.length;e<r;e++){const r=new cl().fromJSON(t[e],i);n[r.uuid]=r}return n}parseGeometries(t,e){const n={};if(void 0!==t){const i=new mu;for(let r=0,s=t.length;r<s;r++){let s;const a=t[r];switch(a.type){case"BufferGeometry":case"InstancedBufferGeometry":s=i.parse(a);break;default:a.type in ah?s=ah[a.type].fromJSON(a,e):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${a.type}"`);}s.uuid=a.uuid,void 0!==a.name&&(s.name=a.name),void 0!==a.userData&&(s.userData=a.userData),n[a.uuid]=s}}return n}parseMaterials(t,e){const n={},i={};if(void 0!==t){const r=new uu;r.setTextures(e);for(let e=0,s=t.length;e<s;e++){const s=t[e];void 0===n[s.uuid]&&(n[s.uuid]=r.parse(s)),i[s.uuid]=n[s.uuid]}}return i}parseAnimations(t){const e={};if(void 0!==t)for(let n=0;n<t.length;n++){const i=t[n],r=Oh.parse(i);e[r.uuid]=r}return e}parseImages(t,e){const n=this,i={};let r;function s(t){if("string"==typeof t){const e=t;return function(t){return n.manager.itemStart(t),r.load(t,function(){n.manager.itemEnd(t)},void 0,function(){n.manager.itemError(t),n.manager.itemEnd(t)})}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(e)?e:n.resourcePath+e)}return t.data?{data:Ze(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){const n=new Fh(e);r=new jh(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e<n;e++){const n=t[e],r=n.url;if(Array.isArray(r)){const t=[];for(let e=0,n=r.length;e<n;e++){const n=s(r[e]);null!==n&&(n instanceof HTMLImageElement?t.push(n):t.push(new al(n.data,n.width,n.height)))}i[n.uuid]=new on(t)}else{const t=s(n.url);i[n.uuid]=new on(t)}}}return i}async parseImagesAsync(t){const e=this,n={};let i;async function r(t){if("string"==typeof t){const n=t,r=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(n)?n:e.resourcePath+n;return await i.loadAsync(r)}return t.data?{data:Ze(t.type,t.data),width:t.width,height:t.height}:null}if(void 0!==t&&t.length>0){i=new jh(this.manager),i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e<i;e++){const i=t[e],s=i.url;if(Array.isArray(s)){const t=[];for(let e=0,n=s.length;e<n;e++){const n=s[e],i=await r(n);null!==i&&(i instanceof HTMLImageElement?t.push(i):t.push(new al(i.data,i.width,i.height)))}n[i.uuid]=new on(t)}else{const t=await r(i.url);n[i.uuid]=new on(t)}}}return n}parseTextures(t,e){function n(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}const i={};if(void 0!==t)for(let r=0,s=t.length;r<s;r++){const s=t[r];void 0===s.image&&console.warn("THREE.ObjectLoader: No \"image\" specified for",s.uuid),void 0===e[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image);const a=e[s.image],o=a.data;let l;Array.isArray(o)?(l=new Dr,6===o.length&&(l.needsUpdate=!0)):(l=o&&o.data?new al:new hn,o&&(l.needsUpdate=!0)),l.source=a,l.uuid=s.uuid,void 0!==s.name&&(l.name=s.name),void 0!==s.mapping&&(l.mapping=n(s.mapping,fu)),void 0!==s.channel&&(l.channel=s.channel),void 0!==s.offset&&l.offset.fromArray(s.offset),void 0!==s.repeat&&l.repeat.fromArray(s.repeat),void 0!==s.center&&l.center.fromArray(s.center),void 0!==s.rotation&&(l.rotation=s.rotation),void 0!==s.wrap&&(l.wrapS=n(s.wrap[0],gu),l.wrapT=n(s.wrap[1],gu)),void 0!==s.format&&(l.format=s.format),void 0!==s.internalFormat&&(l.internalFormat=s.internalFormat),void 0!==s.type&&(l.type=s.type),void 0!==s.encoding&&(l.encoding=s.encoding),void 0!==s.minFilter&&(l.minFilter=n(s.minFilter,vu)),void 0!==s.magFilter&&(l.magFilter=n(s.magFilter,vu)),void 0!==s.anisotropy&&(l.anisotropy=s.anisotropy),void 0!==s.flipY&&(l.flipY=s.flipY),void 0!==s.generateMipmaps&&(l.generateMipmaps=s.generateMipmaps),void 0!==s.premultiplyAlpha&&(l.premultiplyAlpha=s.premultiplyAlpha),void 0!==s.unpackAlignment&&(l.unpackAlignment=s.unpackAlignment),void 0!==s.userData&&(l.userData=s.userData),i[s.uuid]=l}return i}parseObject(t,e,n,i,r){let s,a,o;function l(t){return void 0===e[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),e[t]}function c(t){if(void 0!==t){if(Array.isArray(t)){const e=[];for(let i=0,r=t.length;i<r;i++){const r=t[i];void 0===n[r]&&console.warn("THREE.ObjectLoader: Undefined material",r),e.push(n[r])}return e}return void 0===n[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),n[t]}}function h(t){return void 0===i[t]&&console.warn("THREE.ObjectLoader: Undefined texture",t),i[t]}switch(t.type){case"Scene":s=new Lo,void 0!==t.background&&(Number.isInteger(t.background)?s.background=new Oi(t.background):s.background=h(t.background)),void 0!==t.environment&&(s.environment=h(t.environment)),void 0!==t.fog&&("Fog"===t.fog.type?s.fog=new Co(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(s.fog=new Ao(t.fog.color,t.fog.density))),void 0!==t.backgroundBlurriness&&(s.backgroundBlurriness=t.backgroundBlurriness),void 0!==t.backgroundIntensity&&(s.backgroundIntensity=t.backgroundIntensity);break;case"PerspectiveCamera":s=new Pr(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(s.focus=t.focus),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.filmGauge&&(s.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(s.filmOffset=t.filmOffset),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"OrthographicCamera":s=new es(t.left,t.right,t.top,t.bottom,t.near,t.far),void 0!==t.zoom&&(s.zoom=t.zoom),void 0!==t.view&&(s.view=Object.assign({},t.view));break;case"AmbientLight":s=new ou(t.color,t.intensity);break;case"DirectionalLight":s=new au(t.color,t.intensity);break;case"PointLight":s=new ru(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":s=new lu(t.color,t.intensity,t.width,t.height);break;case"SpotLight":s=new Qh(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":s=new Xh(t.color,t.groundColor,t.intensity);break;case"LightProbe":s=new hu().fromJSON(t);break;case"SkinnedMesh":a=l(t.geometry),o=c(t.material),s=new rl(a,o),void 0!==t.bindMode&&(s.bindMode=t.bindMode),void 0!==t.bindMatrix&&s.bindMatrix.fromArray(t.bindMatrix),void 0!==t.skeleton&&(s.skeleton=t.skeleton);break;case"Mesh":a=l(t.geometry),o=c(t.material),s=new Mr(a,o);break;case"InstancedMesh":a=l(t.geometry),o=c(t.material);const e=t.count,n=t.instanceMatrix,i=t.instanceColor;s=new _l(a,o,e),s.instanceMatrix=new hl(new Float32Array(n.array),16),void 0!==i&&(s.instanceColor=new hl(new Float32Array(i.array),i.itemSize));break;case"LOD":s=new Ko;break;case"Line":s=new Tl(l(t.geometry),c(t.material));break;case"LineLoop":s=new Ll(l(t.geometry),c(t.material));break;case"LineSegments":s=new Cl(l(t.geometry),c(t.material));break;case"PointCloud":case"Points":s=new Nl(l(t.geometry),c(t.material));break;case"Sprite":s=new Xo(c(t.material));break;case"Group":s=new vo;break;case"Bone":s=new sl;break;default:s=new vi;}if(s.uuid=t.uuid,void 0!==t.name&&(s.name=t.name),void 0!==t.matrix?(s.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(s.matrixAutoUpdate=t.matrixAutoUpdate),s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)):(void 0!==t.position&&s.position.fromArray(t.position),void 0!==t.rotation&&s.rotation.fromArray(t.rotation),void 0!==t.quaternion&&s.quaternion.fromArray(t.quaternion),void 0!==t.scale&&s.scale.fromArray(t.scale)),void 0!==t.up&&s.up.fromArray(t.up),void 0!==t.castShadow&&(s.castShadow=t.castShadow),void 0!==t.receiveShadow&&(s.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(s.shadow.bias=t.shadow.bias),void 0!==t.shadow.normalBias&&(s.shadow.normalBias=t.shadow.normalBias),void 0!==t.shadow.radius&&(s.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&s.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(s.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(s.visible=t.visible),void 0!==t.frustumCulled&&(s.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(s.renderOrder=t.renderOrder),void 0!==t.userData&&(s.userData=t.userData),void 0!==t.layers&&(s.layers.mask=t.layers),void 0!==t.children){const a=t.children;for(let t=0;t<a.length;t++)s.add(this.parseObject(a[t],e,n,i,r))}if(void 0!==t.animations){const e=t.animations;for(let t=0;t<e.length;t++){const n=e[t];s.animations.push(r[n])}}if("LOD"===t.type){void 0!==t.autoUpdate&&(s.autoUpdate=t.autoUpdate);const e=t.levels;for(let t=0;t<e.length;t++){const n=e[t],i=s.getObjectByProperty("uuid",n.object);void 0!==i&&s.addLevel(i,n.distance,n.hysteresis)}}return s}bindSkeletons(t,e){0!==Object.keys(e).length&&t.traverse(function(t){if(!0===t.isSkinnedMesh&&void 0!==t.skeleton){const n=e[t.skeleton];void 0===n?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",t.skeleton):t.bind(n,t.bindMatrix)}})}},t.ObjectSpaceNormalMap=Me,t.OctahedronBufferGeometry=class extends Jc{constructor(t,e){console.warn("THREE.OctahedronBufferGeometry has been renamed to THREE.OctahedronGeometry."),super(t,e)}},t.OctahedronGeometry=Jc,t.OneFactor=b,t.OneMinusDstAlphaFactor=L,t.OneMinusDstColorFactor=R,t.OneMinusSrcAlphaFactor=A,t.OneMinusSrcColorFactor=T,t.OrthographicCamera=es,t.PCFShadowMap=s,t.PCFSoftShadowMap=a,t.PMREMGenerator=us,t.Path=sc,t.PerspectiveCamera=Pr,t.Plane=Br,t.PlaneBufferGeometry=class extends Wr{constructor(t,e,n,i){console.warn("THREE.PlaneBufferGeometry has been renamed to THREE.PlaneGeometry."),super(t,e,n,i)}},t.PlaneGeometry=Wr,t.PlaneHelper=class extends Tl{constructor(t,e=1,n=16776960){const i=n,r=new ir;r.setAttribute("position",new Zi([1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3)),r.computeBoundingSphere(),super(r,new xl({color:i,toneMapped:!1})),this.type="PlaneHelper",this.plane=t,this.size=e;const s=new ir;s.setAttribute("position",new Zi([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3)),s.computeBoundingSphere(),this.add(new Mr(s,new Bi({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(t){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(t)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}},t.PointLight=ru,t.PointLightHelper=class extends Mr{constructor(t,e,n){super(new Qc(e,4,2),new Bi({wireframe:!0,fog:!1,toneMapped:!1})),this.light=t,this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},t.Points=Nl,t.PointsMaterial=Pl,t.PolarGridHelper=class extends Cl{constructor(t=10,e=16,n=8,i=64,r=4473924,s=8947848){r=new Oi(r),s=new Oi(s);const a=[],o=[];if(e>1)for(let n=0;n<e;n++){const i=n/e*(2*Math.PI),l=Math.sin(i)*t,c=Math.cos(i)*t;a.push(0,0,0),a.push(l,0,c);const h=1&n?r:s;o.push(h.r,h.g,h.b),o.push(h.r,h.g,h.b)}for(let e=0;e<n;e++){const l=1&e?r:s,c=t-t/n*e;for(let t=0;t<i;t++){let e=t/i*(2*Math.PI),n=Math.sin(e)*c,r=Math.cos(e)*c;a.push(n,0,r),o.push(l.r,l.g,l.b),e=(t+1)/i*(2*Math.PI),n=Math.sin(e)*c,r=Math.cos(e)*c,a.push(n,0,r),o.push(l.r,l.g,l.b)}}const l=new ir;l.setAttribute("position",new Zi(a,3)),l.setAttribute("color",new Zi(o,3));super(l,new xl({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}},t.PolyhedronBufferGeometry=class extends uc{constructor(t,e,n,i){console.warn("THREE.PolyhedronBufferGeometry has been renamed to THREE.PolyhedronGeometry."),super(t,e,n,i)}},t.PolyhedronGeometry=uc,t.PositionalAudio=class extends Lu{constructor(t){super(t),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(t){return this.panner.refDistance=t,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(t){return this.panner.rolloffFactor=t,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(t){return this.panner.distanceModel=t,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(t){return this.panner.maxDistance=t,this}setDirectionalCone(t,e,n){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=n,this}updateMatrixWorld(t){if(super.updateMatrixWorld(t),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(Pu,Ru,Iu),Du.set(0,0,1).applyQuaternion(Ru);const e=this.panner;if(e.positionX){const t=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(Pu.x,t),e.positionY.linearRampToValueAtTime(Pu.y,t),e.positionZ.linearRampToValueAtTime(Pu.z,t),e.orientationX.linearRampToValueAtTime(Du.x,t),e.orientationY.linearRampToValueAtTime(Du.y,t),e.orientationZ.linearRampToValueAtTime(Du.z,t)}else e.setPosition(Pu.x,Pu.y,Pu.z),e.setOrientation(Du.x,Du.y,Du.z)}},t.PropertyBinding=Gu,t.PropertyMixer=Uu,t.QuadraticBezierCurve=tc,t.QuadraticBezierCurve3=ec,t.Quaternion=fn,t.QuaternionKeyframeTrack=Dh,t.QuaternionLinearInterpolant=Ih,t.RED_GREEN_RGTC2_Format=oe,t.RED_RGTC1_Format=se,t.REVISION=e,t.RGBADepthPacking=xe,t.RGBAFormat=bt,t.RGBAIntegerFormat=It,t.RGBA_ASTC_10x10_Format=ee,t.RGBA_ASTC_10x5_Format=$t,t.RGBA_ASTC_10x6_Format=Qt,t.RGBA_ASTC_10x8_Format=te,t.RGBA_ASTC_12x10_Format=ne,t.RGBA_ASTC_12x12_Format=ie,t.RGBA_ASTC_4x4_Format=Wt,t.RGBA_ASTC_5x4_Format=jt,t.RGBA_ASTC_5x5_Format=qt,t.RGBA_ASTC_6x5_Format=Xt,t.RGBA_ASTC_6x6_Format=Yt,t.RGBA_ASTC_8x5_Format=Zt,t.RGBA_ASTC_8x6_Format=Jt,t.RGBA_ASTC_8x8_Format=Kt,t.RGBA_BPTC_Format=re,t.RGBA_ETC2_EAC_Format=Ht,t.RGBA_PVRTC_2BPPV1_Format=kt,t.RGBA_PVRTC_4BPPV1_Format=Ft,t.RGBA_S3TC_DXT1_Format=Ut,t.RGBA_S3TC_DXT3_Format=Nt,t.RGBA_S3TC_DXT5_Format=Ot,t.RGB_ETC1_Format=Gt,t.RGB_ETC2_Format=Vt,t.RGB_PVRTC_2BPPV1_Format=Bt,t.RGB_PVRTC_4BPPV1_Format=zt,t.RGB_S3TC_DXT1_Format=Dt,t.RGFormat=Pt,t.RGIntegerFormat=Rt,t.RawShaderMaterial=lh,t.Ray=jn,t.Raycaster=class{constructor(t,e,n=0,i=1/0){this.ray=new jn(t,e),this.near=n,this.far=i,this.camera=null,this.layers=new ii,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(t,e){this.ray.set(t,e)}setFromCamera(t,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(t,e=!0,n=[]){return Xu(t,this,n,e),n.sort(qu),n}intersectObjects(t,e=!0,n=[]){for(let i=0,r=t.length;i<r;i++)Xu(t[i],this,n,e);return n.sort(qu),n}},t.RectAreaLight=lu,t.RedFormat=Ct,t.RedIntegerFormat=Lt,t.ReinhardToneMapping=q,t.RepeatWrapping=nt,t.ReplaceStencilOp=7681,t.ReverseSubtractEquation=x,t.RingBufferGeometry=class extends Kc{constructor(t,e,n,i,r,s){console.warn("THREE.RingBufferGeometry has been renamed to THREE.RingGeometry."),super(t,e,n,i,r,s)}},t.RingGeometry=Kc,t.SIGNED_RED_GREEN_RGTC2_Format=le,t.SIGNED_RED_RGTC1_Format=ae,t.SRGBColorSpace=Se,t.Scene=Lo,t.ShaderChunk=jr,t.ShaderLib=Xr,t.ShaderMaterial=Cr,t.ShadowMaterial=oh,t.Shape=_c,t.ShapeBufferGeometry=class extends $c{constructor(t,e){console.warn("THREE.ShapeBufferGeometry has been renamed to THREE.ShapeGeometry."),super(t,e)}},t.ShapeGeometry=$c,t.ShapePath=class{constructor(){this.type="ShapePath",this.color=new Oi,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new sc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,i){return this.currentPath.quadraticCurveTo(t,e,n,i),this}bezierCurveTo(t,e,n,i,r,s){return this.currentPath.bezierCurveTo(t,e,n,i,r,s),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t){function e(t,e){const n=e.length;let i=!1;for(let r=n-1,s=0;s<n;r=s++){let n=e[r],a=e[s],o=a.x-n.x,l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.y<n.y||t.y>a.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const n=Wc.isClockWise,i=this.subPaths;if(0===i.length)return[];let r,s,a;const o=[];if(1===i.length)return s=i[0],a=new _c,a.curves=s.curves,o.push(a),o;let l=!n(i[0].getPoints());l=t?!l:l;const c=[],h=[];let u,d,p=[],m=0;h[m]=void 0,p[m]=[];for(let e=0,a=i.length;e<a;e++)s=i[e],u=s.getPoints(),r=n(u),r=t?!r:r,r?(!l&&h[m]&&m++,h[m]={s:new _c,p:u},h[m].s.curves=s.curves,l&&m++,p[m]=[]):p[m].push({h:s,p:u[0]});if(!h[0])return function(t){const e=[];for(let n=0,i=t.length;n<i;n++){const i=t[n],r=new _c;r.curves=i.curves,e.push(r)}return e}(i);if(h.length>1){let t=!1,n=0;for(let t=0,e=h.length;t<e;t++)c[t]=[];for(let i=0,r=h.length;i<r;i++){const r=p[i];for(let s=0;s<r.length;s++){const a=r[s];let o=!0;for(let r=0;r<h.length;r++)e(a.p,h[r].p)&&(i!==r&&n++,o?(o=!1,c[r].push(a)):t=!0);o&&c[i].push(a)}}n>0&&!1===t&&(p=c)}for(let t=0,e=h.length;t<e;t++){a=h[t].s,o.push(a),d=p[t];for(let t=0,e=d.length;t<e;t++)a.holes.push(d[t].h)}return o}},t.ShapeUtils=Wc,t.ShortType=pt,t.Skeleton=cl,t.SkeletonHelper=class extends Cl{constructor(t){const e=ed(t),n=new ir,i=[],r=[],s=new Oi(0,0,1),a=new Oi(0,1,0);for(let t=0;t<e.length;t++){const n=e[t];n.parent&&n.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),r.push(s.r,s.g,s.b),r.push(a.r,a.g,a.b))}n.setAttribute("position",new Zi(i,3)),n.setAttribute("color",new Zi(r,3));super(n,new xl({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(t){const e=this.bones,n=this.geometry,i=n.getAttribute("position");td.copy(this.root.matrixWorld).invert();for(let t=0,n=0;t<e.length;t++){const r=e[t];r.parent&&r.parent.isBone&&(Qu.multiplyMatrices(td,r.matrixWorld),$u.setFromMatrixPosition(Qu),i.setXYZ(n,$u.x,$u.y,$u.z),Qu.multiplyMatrices(td,r.parent.matrixWorld),$u.setFromMatrixPosition(Qu),i.setXYZ(n+1,$u.x,$u.y,$u.z),n+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(t)}dispose(){this.geometry.dispose(),this.material.dispose()}},t.SkinnedMesh=rl,t.Source=on,t.Sphere=zn,t.SphereBufferGeometry=class extends Qc{constructor(t,e,n,i,r,s,a){console.warn("THREE.SphereBufferGeometry has been renamed to THREE.SphereGeometry."),super(t,e,n,i,r,s,a)}},t.SphereGeometry=Qc,t.Spherical=class{constructor(t=1,e=0,n=0){return this.radius=t,this.phi=e,this.theta=n,this}set(t,e,n){return this.radius=t,this.phi=e,this.theta=n,this}copy(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this}makeSafe(){const t=1e-6;return this.phi=Math.max(t,Math.min(Math.PI-t,this.phi)),this}setFromVector3(t){return this.setFromCartesianCoords(t.x,t.y,t.z)}setFromCartesianCoords(t,e,n){return this.radius=Math.sqrt(t*t+e*e+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,n),this.phi=Math.acos(Ne(e/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}},t.SphericalHarmonics3=cu,t.SplineCurve=nc,t.SpotLight=Qh,t.SpotLightHelper=class extends vi{constructor(t,e){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e,this.type="SpotLightHelper";const n=new ir,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t<n;t++,e++){const r=t/n*Math.PI*2,s=e/n*Math.PI*2;i.push(Math.cos(r),Math.sin(r),1,Math.cos(s),Math.sin(s),1)}n.setAttribute("position",new Zi(i,3));const r=new xl({fog:!1,toneMapped:!1});this.cone=new Cl(n,r),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1);const t=this.light.distance?this.light.distance:1e3,e=t*Math.tan(this.light.angle);this.cone.scale.set(e,e,t),Ku.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Ku),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},t.Sprite=Xo,t.SpriteMaterial=Do,t.SrcAlphaFactor=E,t.SrcAlphaSaturateFactor=I,t.SrcColorFactor=w,t.StaticCopyUsage=35046,t.StaticDrawUsage=Ee,t.StaticReadUsage=35045,t.StereoCamera=class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Pr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Pr,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,Su.copy(t.projectionMatrix);const n=e.eyeSep/2,i=n*e.near/e.focus,r=e.near*Math.tan(Ie*e.fov*.5)/e.zoom;let s,a;Mu.elements[12]=-n,yu.elements[12]=n,s=-r*e.aspect+i,a=r*e.aspect+i,Su.elements[0]=2*e.near/(a-s),Su.elements[8]=(a+s)/(a-s),this.cameraL.projectionMatrix.copy(Su),s=-r*e.aspect-i,a=r*e.aspect-i,Su.elements[0]=2*e.near/(a-s),Su.elements[8]=(a+s)/(a-s),this.cameraR.projectionMatrix.copy(Su)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Mu),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(yu)}},t.StreamCopyUsage=35042,t.StreamDrawUsage=35040,t.StreamReadUsage=35041,t.StringKeyframeTrack=Uh,t.SubtractEquation=_,t.SubtractiveBlending=m,t.TOUCH={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},t.TangentSpaceNormalMap=ye,t.TetrahedronBufferGeometry=class extends th{constructor(t,e){console.warn("THREE.TetrahedronBufferGeometry has been renamed to THREE.TetrahedronGeometry."),super(t,e)}},t.TetrahedronGeometry=th,t.Texture=hn,t.TextureLoader=class extends Gh{constructor(t){super(t)}load(t,e,n,i){const r=new hn,s=new jh(this.manager);return s.setCrossOrigin(this.crossOrigin),s.setPath(this.path),s.load(t,function(t){r.image=t,r.needsUpdate=!0,void 0!==e&&e(r)},n,i),r}},t.TorusBufferGeometry=class extends eh{constructor(t,e,n,i,r){console.warn("THREE.TorusBufferGeometry has been renamed to THREE.TorusGeometry."),super(t,e,n,i,r)}},t.TorusGeometry=eh,t.TorusKnotBufferGeometry=class extends nh{constructor(t,e,n,i,r,s){console.warn("THREE.TorusKnotBufferGeometry has been renamed to THREE.TorusKnotGeometry."),super(t,e,n,i,r,s)}},t.TorusKnotGeometry=nh,t.Triangle=Li,t.TriangleFanDrawMode=2,t.TriangleStripDrawMode=1,t.TrianglesDrawMode=0,t.TubeBufferGeometry=class extends ih{constructor(t,e,n,i,r){console.warn("THREE.TubeBufferGeometry has been renamed to THREE.TubeGeometry."),super(t,e,n,i,r)}},t.TubeGeometry=ih,t.TwoPassDoubleSide=2,t.UVMapping=J,t.Uint16BufferAttribute=Xi,t.Uint32BufferAttribute=Yi,t.Uint8BufferAttribute=class extends qi{constructor(t,e,n){super(new Uint8Array(t),e,n)}},t.Uint8ClampedBufferAttribute=class extends qi{constructor(t,e,n){super(new Uint8ClampedArray(t),e,n)}},t.Uniform=Wu,t.UniformsGroup=class extends Le{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:ju++}),this.name="",this.usage=Ee,this.uniforms=[]}add(t){return this.uniforms.push(t),this}remove(t){const e=this.uniforms.indexOf(t);return-1!==e&&this.uniforms.splice(e,1),this}setName(t){return this.name=t,this}setUsage(t){return this.usage=t,this}dispose(){return this.dispatchEvent({type:"dispose"}),this}copy(t){this.name=t.name,this.usage=t.usage;const e=t.uniforms;this.uniforms.length=0;for(let t=0,n=e.length;t<n;t++)this.uniforms.push(e[t].clone());return this}clone(){return new this.constructor().copy(this)}},t.UniformsLib=qr,t.UniformsUtils=Ar,t.UnsignedByteType=ut,t.UnsignedInt248Type=Mt,t.UnsignedIntType=gt,t.UnsignedShort4444Type=xt,t.UnsignedShort5551Type=yt,t.UnsignedShortType=mt,t.VSMShadowMap=o,t.Vector2=We,t.Vector3=gn,t.Vector4=un,t.VectorKeyframeTrack=Nh,t.VideoTexture=class extends hn{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==s?s:lt,this.magFilter=void 0!==r?r:lt,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback(function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)})}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},t.WebGL1Renderer=Eo,t.WebGL3DRenderTarget=class extends dn{constructor(t=1,e=1,n=1){super(t,e),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new mn(null,t,e,n),this.texture.isRenderTargetTexture=!0}},t.WebGLArrayRenderTarget=class extends dn{constructor(t=1,e=1,n=1){super(t,e),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new pn(null,t,e,n),this.texture.isRenderTargetTexture=!0}},t.WebGLCubeRenderTarget=Ur,t.WebGLMultipleRenderTargets=class extends dn{constructor(t=1,e=1,n=1,i={}){super(t,e,i),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let t=0;t<n;t++)this.texture[t]=r.clone(),this.texture[t].isRenderTargetTexture=!0}setSize(t,e,n=1){if(this.width!==t||this.height!==e||this.depth!==n){this.width=t,this.height=e,this.depth=n;for(let i=0,r=this.texture.length;i<r;i++)this.texture[i].image.width=t,this.texture[i].image.height=e,this.texture[i].image.depth=n;this.dispose()}return this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e),this}copy(t){this.dispose(),this.width=t.width,this.height=t.height,this.depth=t.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,null!==t.depthTexture&&(this.depthTexture=t.depthTexture.clone()),this.texture.length=0;for(let e=0,n=t.texture.length;e<n;e++)this.texture[e]=t.texture[e].clone(),this.texture[e].isRenderTargetTexture=!0;return this}},t.WebGLRenderTarget=dn,t.WebGLRenderer=To,t.WebGLUtils=fo,t.WireframeGeometry=rh,t.WrapAroundEnding=me,t.ZeroCurvatureEnding=de,t.ZeroFactor=S,t.ZeroSlopeEnding=pe,t.ZeroStencilOp=0,t._SRGBAFormat=Ce,t.sRGBEncoding=_e});(function(t,e){e(t.MeshBVHLib=t.MeshBVHLib||{},t.THREE=t.THREE||{})})(this,function(exports,three){const CENTER=0;const AVERAGE=1;const SAH=2;const NOT_INTERSECTED=0;const INTERSECTED=1;const CONTAINED=2;const TRIANGLE_INTERSECT_COST=1.25;const TRAVERSAL_COST=1;const BYTES_PER_NODE=6*4+4+4;const IS_LEAFNODE_FLAG=65535;const FLOAT32_EPSILON=Math.pow(2,-24);class MeshBVHNode{constructor(){}}function arrayToBox(nodeIndex32,array,target){target.min.x=array[nodeIndex32];target.min.y=array[nodeIndex32+1];target.min.z=array[nodeIndex32+2];target.max.x=array[nodeIndex32+3];target.max.y=array[nodeIndex32+4];target.max.z=array[nodeIndex32+5];return target}function getLongestEdgeIndex(bounds){let splitDimIdx=-1;let splitDist=-Infinity;for(let i=0;i<3;i++){const dist=bounds[i+3]-bounds[i];if(dist>splitDist){splitDist=dist;splitDimIdx=i}}return splitDimIdx}function copyBounds(source,target){target.set(source)}function unionBounds(a,b,target){let aVal,bVal;for(let d=0;d<3;d++){const d3=d+3;aVal=a[d];bVal=b[d];target[d]=aVal<bVal?aVal:bVal;aVal=a[d3];bVal=b[d3];target[d3]=aVal>bVal?aVal:bVal}}function expandByTriangleBounds(startIndex,triangleBounds,bounds){for(let d=0;d<3;d++){const tCenter=triangleBounds[startIndex+2*d];const tHalf=triangleBounds[startIndex+2*d+1];const tMin=tCenter-tHalf;const tMax=tCenter+tHalf;if(tMin<bounds[d]){bounds[d]=tMin}if(tMax>bounds[d+3]){bounds[d+3]=tMax}}}function computeSurfaceArea(bounds){const d0=bounds[3]-bounds[0];const d1=bounds[4]-bounds[1];const d2=bounds[5]-bounds[2];return 2*(d0*d1+d1*d2+d2*d0)}function ensureIndex(geo,options){if(!geo.index){const vertexCount=geo.attributes.position.count;const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;let index;if(vertexCount>65535){index=new Uint32Array(new BufferConstructor(4*vertexCount))}else{index=new Uint16Array(new BufferConstructor(2*vertexCount))}geo.setIndex(new three.BufferAttribute(index,1));for(let i=0;i<vertexCount;i++){index[i]=i}}}function getRootIndexRanges(geo){if(!geo.groups||!geo.groups.length){return[{offset:0,count:geo.index.count/3}]}const ranges=[];const rangeBoundaries=new Set;for(const group of geo.groups){rangeBoundaries.add(group.start);rangeBoundaries.add(group.start+group.count)}const sortedBoundaries=Array.from(rangeBoundaries.values()).sort((a,b)=>a-b);for(let i=0;i<sortedBoundaries.length-1;i++){const start=sortedBoundaries[i],end=sortedBoundaries[i+1];ranges.push({offset:start/3,count:(end-start)/3})}return ranges}function getBounds(triangleBounds,offset,count,target,centroidTarget=null){let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;const includeCentroid=centroidTarget!==null;for(let i=offset*6,end=(offset+count)*6;i<end;i+=6){const cx=triangleBounds[i+0];const hx=triangleBounds[i+1];const lx=cx-hx;const rx=cx+hx;if(lx<minx)minx=lx;if(rx>maxx)maxx=rx;if(includeCentroid&&cx<cminx)cminx=cx;if(includeCentroid&&cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];const hy=triangleBounds[i+3];const ly=cy-hy;const ry=cy+hy;if(ly<miny)miny=ly;if(ry>maxy)maxy=ry;if(includeCentroid&&cy<cminy)cminy=cy;if(includeCentroid&&cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];const hz=triangleBounds[i+5];const lz=cz-hz;const rz=cz+hz;if(lz<minz)minz=lz;if(rz>maxz)maxz=rz;if(includeCentroid&&cz<cminz)cminz=cz;if(includeCentroid&&cz>cmaxz)cmaxz=cz}target[0]=minx;target[1]=miny;target[2]=minz;target[3]=maxx;target[4]=maxy;target[5]=maxz;if(includeCentroid){centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}}function getCentroidBounds(triangleBounds,offset,count,centroidTarget){let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;for(let i=offset*6,end=(offset+count)*6;i<end;i+=6){const cx=triangleBounds[i+0];if(cx<cminx)cminx=cx;if(cx>cmaxx)cmaxx=cx;const cy=triangleBounds[i+2];if(cy<cminy)cminy=cy;if(cy>cmaxy)cmaxy=cy;const cz=triangleBounds[i+4];if(cz<cminz)cminz=cz;if(cz>cmaxz)cmaxz=cz}centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}function partition(index,triangleBounds,offset,count,split){let left=offset;let right=offset+count-1;const pos=split.pos;const axisOffset=split.axis*2;while(true){while(left<=right&&triangleBounds[left*6+axisOffset]<pos){left++}while(left<=right&&triangleBounds[right*6+axisOffset]>=pos){right--}if(left<right){for(let i=0;i<3;i++){let t0=index[left*3+i];index[left*3+i]=index[right*3+i];index[right*3+i]=t0;let t1=triangleBounds[left*6+i*2+0];triangleBounds[left*6+i*2+0]=triangleBounds[right*6+i*2+0];triangleBounds[right*6+i*2+0]=t1;let t2=triangleBounds[left*6+i*2+1];triangleBounds[left*6+i*2+1]=triangleBounds[right*6+i*2+1];triangleBounds[right*6+i*2+1]=t2}left++;right--}else{return left}}}const BIN_COUNT=32;const binsSort=(a,b)=>a.candidate-b.candidate;const sahBins=new Array(BIN_COUNT).fill().map(()=>{return{count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}});const leftBounds=new Float32Array(6);function getOptimalSplit(nodeBoundingData,centroidBoundingData,triangleBounds,offset,count,strategy){let axis=-1;let pos=0;if(strategy===CENTER){axis=getLongestEdgeIndex(centroidBoundingData);if(axis!==-1){pos=(centroidBoundingData[axis]+centroidBoundingData[axis+3])/2}}else if(strategy===AVERAGE){axis=getLongestEdgeIndex(nodeBoundingData);if(axis!==-1){pos=getAverage(triangleBounds,offset,count,axis)}}else if(strategy===SAH){const rootSurfaceArea=computeSurfaceArea(nodeBoundingData);let bestCost=TRIANGLE_INTERSECT_COST*count;const cStart=offset*6;const cEnd=(offset+count)*6;for(let a=0;a<3;a++){const axisLeft=centroidBoundingData[a];const axisRight=centroidBoundingData[a+3];const axisLength=axisRight-axisLeft;const binWidth=axisLength/BIN_COUNT;if(count<BIN_COUNT/4){const truncatedBins=[...sahBins];truncatedBins.length=count;let b=0;for(let c=cStart;c<cEnd;c+=6,b++){const bin=truncatedBins[b];bin.candidate=triangleBounds[c+2*a];bin.count=0;const{bounds,leftCacheBounds,rightCacheBounds}=bin;for(let d=0;d<3;d++){rightCacheBounds[d]=Infinity;rightCacheBounds[d+3]=-Infinity;leftCacheBounds[d]=Infinity;leftCacheBounds[d+3]=-Infinity;bounds[d]=Infinity;bounds[d+3]=-Infinity}expandByTriangleBounds(c,triangleBounds,bounds)}truncatedBins.sort(binsSort);let splitCount=count;for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];while(bi+1<splitCount&&truncatedBins[bi+1].candidate===bin.candidate){truncatedBins.splice(bi+1,1);splitCount--}}for(let c=cStart;c<cEnd;c+=6){const center=triangleBounds[c+2*a];for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];if(center>=bin.candidate){expandByTriangleBounds(c,triangleBounds,bin.rightCacheBounds)}else{expandByTriangleBounds(c,triangleBounds,bin.leftCacheBounds);bin.count++}}}for(let bi=0;bi<splitCount;bi++){const bin=truncatedBins[bi];const leftCount=bin.count;const rightCount=count-bin.count;const leftBounds=bin.leftCacheBounds;const rightBounds=bin.rightCacheBounds;let leftProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}let rightProb=0;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}else{for(let i=0;i<BIN_COUNT;i++){const bin=sahBins[i];bin.count=0;bin.candidate=axisLeft+binWidth+i*binWidth;const bounds=bin.bounds;for(let d=0;d<3;d++){bounds[d]=Infinity;bounds[d+3]=-Infinity}}for(let c=cStart;c<cEnd;c+=6){const triCenter=triangleBounds[c+2*a];const relativeCenter=triCenter-axisLeft;let binIndex=~~(relativeCenter/binWidth);if(binIndex>=BIN_COUNT)binIndex=BIN_COUNT-1;const bin=sahBins[binIndex];bin.count++;expandByTriangleBounds(c,triangleBounds,bin.bounds)}const lastBin=sahBins[BIN_COUNT-1];copyBounds(lastBin.bounds,lastBin.rightCacheBounds);for(let i=BIN_COUNT-2;i>=0;i--){const bin=sahBins[i];const nextBin=sahBins[i+1];unionBounds(bin.bounds,nextBin.rightCacheBounds,bin.rightCacheBounds)}let leftCount=0;for(let i=0;i<BIN_COUNT-1;i++){const bin=sahBins[i];const binCount=bin.count;const bounds=bin.bounds;const nextBin=sahBins[i+1];const rightBounds=nextBin.rightCacheBounds;if(binCount!==0){if(leftCount===0){copyBounds(bounds,leftBounds)}else{unionBounds(bounds,leftBounds,leftBounds)}}leftCount+=binCount;let leftProb=0;let rightProb=0;if(leftCount!==0){leftProb=computeSurfaceArea(leftBounds)/rootSurfaceArea}const rightCount=count-leftCount;if(rightCount!==0){rightProb=computeSurfaceArea(rightBounds)/rootSurfaceArea}const cost=TRAVERSAL_COST+TRIANGLE_INTERSECT_COST*(leftProb*leftCount+rightProb*rightCount);if(cost<bestCost){axis=a;bestCost=cost;pos=bin.candidate}}}}}else{console.warn(`MeshBVH: Invalid build strategy value ${strategy} used.`)}return{axis,pos}}function getAverage(triangleBounds,offset,count,axis){let avg=0;for(let i=offset,end=offset+count;i<end;i++){avg+=triangleBounds[i*6+axis*2]}return avg/count}function computeTriangleBounds(geo,fullBounds){const posAttr=geo.attributes.position;const index=geo.index.array;const triCount=index.length/3;const triangleBounds=new Float32Array(triCount*6);const normalized=posAttr.normalized;const posArr=posAttr.array;const bufferOffset=posAttr.offset||0;let stride=3;if(posAttr.isInterleavedBufferAttribute){stride=posAttr.data.stride}const getters=["getX","getY","getZ"];for(let tri=0;tri<triCount;tri++){const tri3=tri*3;const tri6=tri*6;let ai,bi,ci;if(normalized){ai=index[tri3+0];bi=index[tri3+1];ci=index[tri3+2]}else{ai=index[tri3+0]*stride+bufferOffset;bi=index[tri3+1]*stride+bufferOffset;ci=index[tri3+2]*stride+bufferOffset}for(let el=0;el<3;el++){let a,b,c;if(normalized){a=posAttr[getters[el]](ai);b=posAttr[getters[el]](bi);c=posAttr[getters[el]](ci)}else{a=posArr[ai+el];b=posArr[bi+el];c=posArr[ci+el]}let min=a;if(b<min)min=b;if(c<min)min=c;let max=a;if(b>max)max=b;if(c>max)max=c;const halfExtents=(max-min)/2;const el2=el*2;triangleBounds[tri6+el2+0]=min+halfExtents;triangleBounds[tri6+el2+1]=halfExtents+(Math.abs(min)+halfExtents)*FLOAT32_EPSILON;if(min<fullBounds[el])fullBounds[el]=min;if(max>fullBounds[el+3])fullBounds[el+3]=max}}return triangleBounds}function buildTree(geo,options){function triggerProgress(trianglesProcessed){if(onProgress){onProgress(trianglesProcessed/totalTriangles)}}function splitNode(node,offset,count,centroidBoundingData=null,depth=0){if(!reachedMaxDepth&&depth>=maxDepth){reachedMaxDepth=true;if(verbose){console.warn(`MeshBVH: Max depth of ${maxDepth} reached when generating BVH. Consider increasing maxDepth.`);console.warn(geo)}}if(count<=maxLeafTris||depth>=maxDepth){triggerProgress(offset+count);node.offset=offset;node.count=count;return node}const split=getOptimalSplit(node.boundingData,centroidBoundingData,triangleBounds,offset,count,strategy);if(split.axis===-1){triggerProgress(offset+count);node.offset=offset;node.count=count;return node}const splitOffset=partition(indexArray,triangleBounds,offset,count,split);if(splitOffset===offset||splitOffset===offset+count){triggerProgress(offset+count);node.offset=offset;node.count=count}else{node.splitAxis=split.axis;const left=new MeshBVHNode;const lstart=offset;const lcount=splitOffset-offset;node.left=left;left.boundingData=new Float32Array(6);getBounds(triangleBounds,lstart,lcount,left.boundingData,cacheCentroidBoundingData);splitNode(left,lstart,lcount,cacheCentroidBoundingData,depth+1);const right=new MeshBVHNode;const rstart=splitOffset;const rcount=count-lcount;node.right=right;right.boundingData=new Float32Array(6);getBounds(triangleBounds,rstart,rcount,right.boundingData,cacheCentroidBoundingData);splitNode(right,rstart,rcount,cacheCentroidBoundingData,depth+1)}return node}ensureIndex(geo,options);const fullBounds=new Float32Array(6);const cacheCentroidBoundingData=new Float32Array(6);const triangleBounds=computeTriangleBounds(geo,fullBounds);const indexArray=geo.index.array;const maxDepth=options.maxDepth;const verbose=options.verbose;const maxLeafTris=options.maxLeafTris;const strategy=options.strategy;const onProgress=options.onProgress;const totalTriangles=geo.index.count/3;let reachedMaxDepth=false;const roots=[];const ranges=getRootIndexRanges(geo);if(ranges.length===1){const range=ranges[0];const root=new MeshBVHNode;root.boundingData=fullBounds;getCentroidBounds(triangleBounds,range.offset,range.count,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}else{for(let range of ranges){const root=new MeshBVHNode;root.boundingData=new Float32Array(6);getBounds(triangleBounds,range.offset,range.count,root.boundingData,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}}return roots}function buildPackedTree(geo,options){const roots=buildTree(geo,options);let float32Array;let uint32Array;let uint16Array;const packedRoots=[];const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let i=0;i<roots.length;i++){const root=roots[i];let nodeCount=countNodes(root);const buffer=new BufferConstructor(BYTES_PER_NODE*nodeCount);float32Array=new Float32Array(buffer);uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);populateBuffer(0,root);packedRoots.push(buffer)}return packedRoots;function countNodes(node){if(node.count){return 1}else{return 1+countNodes(node.left)+countNodes(node.right)}}function populateBuffer(byteOffset,node){const stride4Offset=byteOffset/4;const stride2Offset=byteOffset/2;const isLeaf=!!node.count;const boundingData=node.boundingData;for(let i=0;i<6;i++){float32Array[stride4Offset+i]=boundingData[i]}if(isLeaf){const offset=node.offset;const count=node.count;uint32Array[stride4Offset+6]=offset;uint16Array[stride2Offset+14]=count;uint16Array[stride2Offset+15]=IS_LEAFNODE_FLAG;return byteOffset+BYTES_PER_NODE}else{const left=node.left;const right=node.right;const splitAxis=node.splitAxis;let nextUnusedPointer;nextUnusedPointer=populateBuffer(byteOffset+BYTES_PER_NODE,left);if(nextUnusedPointer/4>Math.pow(2,32)){throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.")}uint32Array[stride4Offset+6]=nextUnusedPointer/4;nextUnusedPointer=populateBuffer(nextUnusedPointer,right);uint32Array[stride4Offset+7]=splitAxis;return nextUnusedPointer}}}class SeparatingAxisBounds{constructor(){this.min=Infinity;this.max=-Infinity}setFromPointsField(points,field){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;i<l;i++){const p=points[i];const val=p[field];min=val<min?val:min;max=val>max?val:max}this.min=min;this.max=max}setFromPoints(axis,points){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;i<l;i++){const p=points[i];const val=axis.dot(p);min=val<min?val:min;max=val>max?val:max}this.min=min;this.max=max}isSeparated(other){return this.min>other.max||other.min>this.max}}SeparatingAxisBounds.prototype.setFromBox=function(){const p=new three.Vector3;return function setFromBox(axis,box){const boxMin=box.min;const boxMax=box.max;let min=Infinity;let max=-Infinity;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){p.x=boxMin.x*x+boxMax.x*(1-x);p.y=boxMin.y*y+boxMax.y*(1-y);p.z=boxMin.z*z+boxMax.z*(1-z);const val=axis.dot(p);min=Math.min(val,min);max=Math.max(val,max)}}}this.min=min;this.max=max}}();const areIntersecting=function(){const cacheSatBounds=new SeparatingAxisBounds;return function areIntersecting(shape1,shape2){const points1=shape1.points;const satAxes1=shape1.satAxes;const satBounds1=shape1.satBounds;const points2=shape2.points;const satAxes2=shape2.satAxes;const satBounds2=shape2.satBounds;for(let i=0;i<3;i++){const sb=satBounds1[i];const sa=satAxes1[i];cacheSatBounds.setFromPoints(sa,points2);if(sb.isSeparated(cacheSatBounds))return false}for(let i=0;i<3;i++){const sb=satBounds2[i];const sa=satAxes2[i];cacheSatBounds.setFromPoints(sa,points1);if(sb.isSeparated(cacheSatBounds))return false}}}();const closestPointLineToLine=function(){const dir1=new three.Vector3;const dir2=new three.Vector3;const v02=new three.Vector3;return function closestPointLineToLine(l1,l2,result){const v0=l1.start;const v10=dir1;const v2=l2.start;const v32=dir2;v02.subVectors(v0,v2);dir1.subVectors(l1.end,l1.start);dir2.subVectors(l2.end,l2.start);const d0232=v02.dot(v32);const d3210=v32.dot(v10);const d3232=v32.dot(v32);const d0210=v02.dot(v10);const d1010=v10.dot(v10);const denom=d1010*d3232-d3210*d3210;let d,d2;if(denom!==0){d=(d0232*d3210-d0210*d3232)/denom}else{d=0}d2=(d0232+d*d3210)/d3232;result.x=d;result.y=d2}}();const closestPointsSegmentToSegment=function(){const paramResult=new three.Vector2;const temp1=new three.Vector3;const temp2=new three.Vector3;return function closestPointsSegmentToSegment(l1,l2,target1,target2){closestPointLineToLine(l1,l2,paramResult);let d=paramResult.x;let d2=paramResult.y;if(d>=0&&d<=1&&d2>=0&&d2<=1){l1.at(d,target1);l2.at(d2,target2);return}else if(d>=0&&d<=1){if(d2<0){l2.at(0,target2)}else{l2.at(1,target2)}l1.closestPointToPoint(target2,true,target1);return}else if(d2>=0&&d2<=1){if(d<0){l1.at(0,target1)}else{l1.at(1,target1)}l2.closestPointToPoint(target1,true,target2);return}else{let p;if(d<0){p=l1.start}else{p=l1.end}let p2;if(d2<0){p2=l2.start}else{p2=l2.end}const closestPoint=temp1;const closestPoint2=temp2;l1.closestPointToPoint(p2,true,temp1);l2.closestPointToPoint(p,true,temp2);if(closestPoint.distanceToSquared(p2)<=closestPoint2.distanceToSquared(p)){target1.copy(closestPoint);target2.copy(p2);return}else{target1.copy(p);target2.copy(closestPoint2);return}}}}();const sphereIntersectTriangle=function(){const closestPointTemp=new three.Vector3;const projectedPointTemp=new three.Vector3;const planeTemp=new three.Plane;const lineTemp=new three.Line3;return function sphereIntersectTriangle(sphere,triangle){const{radius,center}=sphere;const{a,b,c}=triangle;lineTemp.start=a;lineTemp.end=b;const closestPoint1=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint1.distanceTo(center)<=radius)return true;lineTemp.start=a;lineTemp.end=c;const closestPoint2=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint2.distanceTo(center)<=radius)return true;lineTemp.start=b;lineTemp.end=c;const closestPoint3=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint3.distanceTo(center)<=radius)return true;const plane=triangle.getPlane(planeTemp);const dp=Math.abs(plane.distanceToPoint(center));if(dp<=radius){const pp=plane.projectPoint(center,projectedPointTemp);const cp=triangle.containsPoint(pp);if(cp)return true}return false}}();const DIST_EPSILON=1e-15;function isNearZero(value){return Math.abs(value)<DIST_EPSILON}class ExtendedTriangle extends three.Triangle{constructor(...args){super(...args);this.isExtendedTriangle=true;this.satAxes=new Array(4).fill().map(()=>new three.Vector3);this.satBounds=new Array(4).fill().map(()=>new SeparatingAxisBounds);this.points=[this.a,this.b,this.c];this.sphere=new three.Sphere;this.plane=new three.Plane;this.needsUpdate=true}intersectsSphere(sphere){return sphereIntersectTriangle(sphere,this)}update(){const a=this.a;const b=this.b;const c=this.c;const points=this.points;const satAxes=this.satAxes;const satBounds=this.satBounds;const axis0=satAxes[0];const sab0=satBounds[0];this.getNormal(axis0);sab0.setFromPoints(axis0,points);const axis1=satAxes[1];const sab1=satBounds[1];axis1.subVectors(a,b);sab1.setFromPoints(axis1,points);const axis2=satAxes[2];const sab2=satBounds[2];axis2.subVectors(b,c);sab2.setFromPoints(axis2,points);const axis3=satAxes[3];const sab3=satBounds[3];axis3.subVectors(c,a);sab3.setFromPoints(axis3,points);this.sphere.setFromPoints(this.points);this.plane.setFromNormalAndCoplanarPoint(axis0,a);this.needsUpdate=false}}ExtendedTriangle.prototype.closestPointToSegment=function(){const point1=new three.Vector3;const point2=new three.Vector3;const edge=new three.Line3;return function distanceToSegment(segment,target1=null,target2=null){const{start,end}=segment;const points=this.points;let distSq;let closestDistanceSq=Infinity;for(let i=0;i<3;i++){const nexti=(i+1)%3;edge.start.copy(points[i]);edge.end.copy(points[nexti]);closestPointsSegmentToSegment(edge,segment,point1,point2);distSq=point1.distanceToSquared(point2);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(point2)}}this.closestPointToPoint(start,point1);distSq=start.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(start)}this.closestPointToPoint(end,point1);distSq=end.distanceToSquared(point1);if(distSq<closestDistanceSq){closestDistanceSq=distSq;if(target1)target1.copy(point1);if(target2)target2.copy(end)}return Math.sqrt(closestDistanceSq)}}();ExtendedTriangle.prototype.intersectsTriangle=function(){const saTri2=new ExtendedTriangle;const arr1=new Array(3);const arr2=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;const dir1=new three.Vector3;const dir2=new three.Vector3;const tempDir=new three.Vector3;const edge=new three.Line3;const edge1=new three.Line3;const edge2=new three.Line3;return function intersectsTriangle(other,target=null,suppressLog=false){if(this.needsUpdate){this.update()}if(!other.isExtendedTriangle){saTri2.copy(other);saTri2.update();other=saTri2}else if(other.needsUpdate){other.update()}const plane1=this.plane;const plane2=other.plane;if(Math.abs(plane1.normal.dot(plane2.normal))>1-1e-10){const satBounds1=this.satBounds;const satAxes1=this.satAxes;arr2[0]=other.a;arr2[1]=other.b;arr2[2]=other.c;for(let i=0;i<4;i++){const sb=satBounds1[i];const sa=satAxes1[i];cachedSatBounds.setFromPoints(sa,arr2);if(sb.isSeparated(cachedSatBounds))return false}const satBounds2=other.satBounds;const satAxes2=other.satAxes;arr1[0]=this.a;arr1[1]=this.b;arr1[2]=this.c;for(let i=0;i<4;i++){const sb=satBounds2[i];const sa=satAxes2[i];cachedSatBounds.setFromPoints(sa,arr1);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<4;i++){const sa1=satAxes1[i];for(let i2=0;i2<4;i2++){const sa2=satAxes2[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,arr1);cachedSatBounds2.setFromPoints(cachedAxis,arr2);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}if(target){if(!suppressLog){console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.")}target.start.set(0,0,0);target.end.set(0,0,0)}return true}else{const points1=this.points;let found1=false;let count1=0;for(let i=0;i<3;i++){const p=points1[i];const pNext=points1[(i+1)%3];edge.start.copy(p);edge.end.copy(pNext);edge.delta(dir1);const targetPoint=found1?edge1.start:edge1.end;const startIntersects=isNearZero(plane2.distanceToPoint(p));if(isNearZero(plane2.normal.dot(dir1))&&startIntersects){edge1.copy(edge);count1=2;break}const doesIntersect=plane2.intersectLine(edge,targetPoint)||startIntersects;if(doesIntersect&&!isNearZero(targetPoint.distanceTo(pNext))){count1++;if(found1){break}found1=true}}if(count1===1&&other.containsPoint(edge1.end)){if(target){target.start.copy(edge1.end);target.end.copy(edge1.end)}return true}else if(count1!==2){return false}const points2=other.points;let found2=false;let count2=0;for(let i=0;i<3;i++){const p=points2[i];const pNext=points2[(i+1)%3];edge.start.copy(p);edge.end.copy(pNext);edge.delta(dir2);const targetPoint=found2?edge2.start:edge2.end;const startIntersects=isNearZero(plane1.distanceToPoint(p));if(isNearZero(plane1.normal.dot(dir2))&&startIntersects){edge2.copy(edge);count2=2;break}const doesIntersect=plane1.intersectLine(edge,targetPoint)||startIntersects;if(doesIntersect&&!isNearZero(targetPoint.distanceTo(pNext))){count2++;if(found2){break}found2=true}}if(count2===1&&this.containsPoint(edge2.end)){if(target){target.start.copy(edge2.end);target.end.copy(edge2.end)}return true}else if(count2!==2){return false}edge1.delta(dir1);edge2.delta(dir2);if(dir1.dot(dir2)<0){let tmp=edge2.start;edge2.start=edge2.end;edge2.end=tmp}const s1=edge1.start.dot(dir1);const e1=edge1.end.dot(dir1);const s2=edge2.start.dot(dir1);const e2=edge2.end.dot(dir1);const separated1=e1<s2;const separated2=s1<e2;if(s1!==e2&&s2!==e1&&separated1===separated2){return false}if(target){tempDir.subVectors(edge1.start,edge2.start);if(tempDir.dot(dir1)>0){target.start.copy(edge1.start)}else{target.start.copy(edge2.start)}tempDir.subVectors(edge1.end,edge2.end);if(tempDir.dot(dir1)<0){target.end.copy(edge1.end)}else{target.end.copy(edge2.end)}}return true}}}();ExtendedTriangle.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();ExtendedTriangle.prototype.distanceToTriangle=function(){const point=new three.Vector3;const point2=new three.Vector3;const cornerFields=["a","b","c"];const line1=new three.Line3;const line2=new three.Line3;return function distanceToTriangle(other,target1=null,target2=null){const lineTarget=target1||target2?line1:null;if(this.intersectsTriangle(other,lineTarget)){if(target1||target2){if(target1)lineTarget.getCenter(target1);if(target2)lineTarget.getCenter(target2)}return 0}let closestDistanceSq=Infinity;for(let i=0;i<3;i++){let dist;const field=cornerFields[i];const otherVec=other[field];this.closestPointToPoint(otherVec,point);dist=otherVec.distanceToSquared(point);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(otherVec)}const thisVec=this[field];other.closestPointToPoint(thisVec,point);dist=thisVec.distanceToSquared(point);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(thisVec);if(target2)target2.copy(point)}}for(let i=0;i<3;i++){const f11=cornerFields[i];const f12=cornerFields[(i+1)%3];line1.set(this[f11],this[f12]);for(let i2=0;i2<3;i2++){const f21=cornerFields[i2];const f22=cornerFields[(i2+1)%3];line2.set(other[f21],other[f22]);closestPointsSegmentToSegment(line1,line2,point,point2);const dist=point.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point);if(target2)target2.copy(point2)}}}return Math.sqrt(closestDistanceSq)}}();class OrientedBox{constructor(min,max,matrix){this.isOrientedBox=true;this.min=new three.Vector3;this.max=new three.Vector3;this.matrix=new three.Matrix4;this.invMatrix=new three.Matrix4;this.points=new Array(8).fill().map(()=>new three.Vector3);this.satAxes=new Array(3).fill().map(()=>new three.Vector3);this.satBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.alignedSatBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.needsUpdate=false;if(min)this.min.copy(min);if(max)this.max.copy(max);if(matrix)this.matrix.copy(matrix)}set(min,max,matrix){this.min.copy(min);this.max.copy(max);this.matrix.copy(matrix);this.needsUpdate=true}copy(other){this.min.copy(other.min);this.max.copy(other.max);this.matrix.copy(other.matrix);this.needsUpdate=true}}OrientedBox.prototype.update=function(){return function update(){const matrix=this.matrix;const min=this.min;const max=this.max;const points=this.points;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){const i=(1<<0)*x|(1<<1)*y|(1<<2)*z;const v=points[i];v.x=x?max.x:min.x;v.y=y?max.y:min.y;v.z=z?max.z:min.z;v.applyMatrix4(matrix)}}}const satBounds=this.satBounds;const satAxes=this.satAxes;const minVec=points[0];for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];const index=1<<i;const pi=points[index];axis.subVectors(minVec,pi);sb.setFromPoints(axis,points)}const alignedSatBounds=this.alignedSatBounds;alignedSatBounds[0].setFromPointsField(points,"x");alignedSatBounds[1].setFromPointsField(points,"y");alignedSatBounds[2].setFromPointsField(points,"z");this.invMatrix.copy(this.matrix).invert();this.needsUpdate=false}}();OrientedBox.prototype.intersectsBox=function(){const aabbBounds=new SeparatingAxisBounds;return function intersectsBox(box){if(this.needsUpdate){this.update()}const min=box.min;const max=box.max;const satBounds=this.satBounds;const satAxes=this.satAxes;const alignedSatBounds=this.alignedSatBounds;aabbBounds.min=min.x;aabbBounds.max=max.x;if(alignedSatBounds[0].isSeparated(aabbBounds))return false;aabbBounds.min=min.y;aabbBounds.max=max.y;if(alignedSatBounds[1].isSeparated(aabbBounds))return false;aabbBounds.min=min.z;aabbBounds.max=max.z;if(alignedSatBounds[2].isSeparated(aabbBounds))return false;for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];aabbBounds.setFromBox(axis,box);if(sb.isSeparated(aabbBounds))return false}return true}}();OrientedBox.prototype.intersectsTriangle=function(){const saTri=new ExtendedTriangle;const pointsArr=new Array(3);const cachedSatBounds=new SeparatingAxisBounds;const cachedSatBounds2=new SeparatingAxisBounds;const cachedAxis=new three.Vector3;return function intersectsTriangle(triangle){if(this.needsUpdate){this.update()}if(!triangle.isExtendedTriangle){saTri.copy(triangle);saTri.update();triangle=saTri}else if(triangle.needsUpdate){triangle.update()}const satBounds=this.satBounds;const satAxes=this.satAxes;pointsArr[0]=triangle.a;pointsArr[1]=triangle.b;pointsArr[2]=triangle.c;for(let i=0;i<3;i++){const sb=satBounds[i];const sa=satAxes[i];cachedSatBounds.setFromPoints(sa,pointsArr);if(sb.isSeparated(cachedSatBounds))return false}const triSatBounds=triangle.satBounds;const triSatAxes=triangle.satAxes;const points=this.points;for(let i=0;i<3;i++){const sb=triSatBounds[i];const sa=triSatAxes[i];cachedSatBounds.setFromPoints(sa,points);if(sb.isSeparated(cachedSatBounds))return false}for(let i=0;i<3;i++){const sa1=satAxes[i];for(let i2=0;i2<4;i2++){const sa2=triSatAxes[i2];cachedAxis.crossVectors(sa1,sa2);cachedSatBounds.setFromPoints(cachedAxis,pointsArr);cachedSatBounds2.setFromPoints(cachedAxis,points);if(cachedSatBounds.isSeparated(cachedSatBounds2))return false}}return true}}();OrientedBox.prototype.closestPointToPoint=function(){return function closestPointToPoint(point,target1){if(this.needsUpdate){this.update()}target1.copy(point).applyMatrix4(this.invMatrix).clamp(this.min,this.max).applyMatrix4(this.matrix);return target1}}();OrientedBox.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();OrientedBox.prototype.distanceToBox=function(){const xyzFields=["x","y","z"];const segments1=new Array(12).fill().map(()=>new three.Line3);const segments2=new Array(12).fill().map(()=>new three.Line3);const point1=new three.Vector3;const point2=new three.Vector3;return function distanceToBox(box,threshold=0,target1=null,target2=null){if(this.needsUpdate){this.update()}if(this.intersectsBox(box)){if(target1||target2){box.getCenter(point2);this.closestPointToPoint(point2,point1);box.closestPointToPoint(point1,point2);if(target1)target1.copy(point1);if(target2)target2.copy(point2)}return 0}const threshold2=threshold*threshold;const min=box.min;const max=box.max;const points=this.points;let closestDistanceSq=Infinity;for(let i=0;i<8;i++){const p=points[i];point2.copy(p).clamp(min,max);const dist=p.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(p);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}let count=0;for(let i=0;i<3;i++){for(let i1=0;i1<=1;i1++){for(let i2=0;i2<=1;i2++){const nextIndex=(i+1)%3;const nextIndex2=(i+2)%3;const index=i1<<nextIndex|i2<<nextIndex2;const index2=1<<i|i1<<nextIndex|i2<<nextIndex2;const p1=points[index];const p2=points[index2];const line1=segments1[count];line1.set(p1,p2);const f1=xyzFields[i];const f2=xyzFields[nextIndex];const f3=xyzFields[nextIndex2];const line2=segments2[count];const start=line2.start;const end=line2.end;start[f1]=min[f1];start[f2]=i1?min[f2]:max[f2];start[f3]=i2?min[f3]:max[f2];end[f1]=max[f1];end[f2]=i1?min[f2]:max[f2];end[f3]=i2?min[f3]:max[f2];count++}}}for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){point2.x=x?max.x:min.x;point2.y=y?max.y:min.y;point2.z=z?max.z:min.z;this.closestPointToPoint(point2,point1);const dist=point2.distanceToSquared(point1);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}}for(let i=0;i<12;i++){const l1=segments1[i];for(let i2=0;i2<12;i2++){const l2=segments2[i2];closestPointsSegmentToSegment(l1,l2,point1,point2);const dist=point1.distanceToSquared(point2);if(dist<closestDistanceSq){closestDistanceSq=dist;if(target1)target1.copy(point1);if(target2)target2.copy(point2);if(dist<threshold2)return Math.sqrt(dist)}}}return Math.sqrt(closestDistanceSq)}}();const _vA=new three.Vector3;const _vB=new three.Vector3;const _vC=new three.Vector3;const _uvA=new three.Vector2;const _uvB=new three.Vector2;const _uvC=new three.Vector2;const _normalA=new three.Vector3;const _normalB=new three.Vector3;const _normalC=new three.Vector3;const _intersectionPoint=new three.Vector3;function checkIntersection(ray,pA,pB,pC,point,side){let intersect;if(side===three.BackSide){intersect=ray.intersectTriangle(pC,pB,pA,true,point)}else{intersect=ray.intersectTriangle(pA,pB,pC,side!==three.DoubleSide,point)}if(intersect===null)return null;const distance=ray.origin.distanceTo(point);return{distance:distance,point:point.clone()}}function checkBufferGeometryIntersection(ray,position,normal,uv,uv1,a,b,c,side){_vA.fromBufferAttribute(position,a);_vB.fromBufferAttribute(position,b);_vC.fromBufferAttribute(position,c);const intersection=checkIntersection(ray,_vA,_vB,_vC,_intersectionPoint,side);if(intersection){if(uv){_uvA.fromBufferAttribute(uv,a);_uvB.fromBufferAttribute(uv,b);_uvC.fromBufferAttribute(uv,c);intersection.uv=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_uvA,_uvB,_uvC,new three.Vector2)}if(uv1){_uvA.fromBufferAttribute(uv1,a);_uvB.fromBufferAttribute(uv1,b);_uvC.fromBufferAttribute(uv1,c);intersection.uv1=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_uvA,_uvB,_uvC,new three.Vector2)}if(normal){_normalA.fromBufferAttribute(normal,a);_normalB.fromBufferAttribute(normal,b);_normalC.fromBufferAttribute(normal,c);intersection.normal=three.Triangle.getInterpolation(_intersectionPoint,_vA,_vB,_vC,_normalA,_normalB,_normalC,new three.Vector3);if(intersection.normal.dot(ray.direction)>0){intersection.normal.multiplyScalar(-1)}}const face={a:a,b:b,c:c,normal:new three.Vector3,materialIndex:0};three.Triangle.getNormal(_vA,_vB,_vC,face.normal);intersection.face=face;intersection.faceIndex=a}return intersection}function intersectTri(geo,side,ray,tri,intersections){const triOffset=tri*3;const a=geo.index.getX(triOffset);const b=geo.index.getX(triOffset+1);const c=geo.index.getX(triOffset+2);const{position,normal,uv,uv1}=geo.attributes;const intersection=checkBufferGeometryIntersection(ray,position,normal,uv,uv1,a,b,c,side);if(intersection){intersection.faceIndex=tri;if(intersections)intersections.push(intersection);return intersection}return null}function intersectTris(geo,side,ray,offset,count,intersections){for(let i=offset,end=offset+count;i<end;i++){intersectTri(geo,side,ray,i,intersections)}}function intersectClosestTri(geo,side,ray,offset,count){let dist=Infinity;let res=null;for(let i=offset,end=offset+count;i<end;i++){const intersection=intersectTri(geo,side,ray,i);if(intersection&&intersection.distance<dist){res=intersection;dist=intersection.distance}}return res}function convertRaycastIntersect(hit,object,raycaster){if(hit===null){return null}hit.point.applyMatrix4(object.matrixWorld);hit.distance=hit.point.distanceTo(raycaster.ray.origin);hit.object=object;if(hit.distance<raycaster.near||hit.distance>raycaster.far){return null}else{return hit}}function setTriangle(tri,i,index,pos){const ta=tri.a;const tb=tri.b;const tc=tri.c;let i0=i;let i1=i+1;let i2=i+2;if(index){i0=index.getX(i);i1=index.getX(i+1);i2=index.getX(i+2)}ta.x=pos.getX(i0);ta.y=pos.getY(i0);ta.z=pos.getZ(i0);tb.x=pos.getX(i1);tb.y=pos.getY(i1);tb.z=pos.getZ(i1);tc.x=pos.getX(i2);tc.y=pos.getY(i2);tc.z=pos.getZ(i2)}function iterateOverTriangles(offset,count,geometry,intersectsTriangleFunc,contained,depth,triangle){const index=geometry.index;const pos=geometry.attributes.position;for(let i=offset,l=count+offset;i<l;i++){setTriangle(triangle,i*3,index,pos);triangle.needsUpdate=true;if(intersectsTriangleFunc(triangle,i,contained,depth)){return true}}return false}const tempV1=new three.Vector3;const tempV2=new three.Vector3;const tempV3=new three.Vector3;const tempUV1=new three.Vector2;const tempUV2=new three.Vector2;const tempUV3=new three.Vector2;function getTriangleHitPointInfo(point,geometry,triangleIndex,target){const indices=geometry.getIndex().array;const positions=geometry.getAttribute("position");const uvs=geometry.getAttribute("uv");const a=indices[triangleIndex*3];const b=indices[triangleIndex*3+1];const c=indices[triangleIndex*3+2];tempV1.fromBufferAttribute(positions,a);tempV2.fromBufferAttribute(positions,b);tempV3.fromBufferAttribute(positions,c);let materialIndex=0;const groups=geometry.groups;const firstVertexIndex=triangleIndex*3;for(let i=0,l=groups.length;i<l;i++){const group=groups[i];const{start,count}=group;if(firstVertexIndex>=start&&firstVertexIndex<start+count){materialIndex=group.materialIndex;break}}let uv=null;if(uvs){tempUV1.fromBufferAttribute(uvs,a);tempUV2.fromBufferAttribute(uvs,b);tempUV3.fromBufferAttribute(uvs,c);if(target&&target.uv)uv=target.uv;else uv=new three.Vector2;three.Triangle.getInterpolation(point,tempV1,tempV2,tempV3,tempUV1,tempUV2,tempUV3,uv)}if(target){if(!target.face)target.face={};target.face.a=a;target.face.b=b;target.face.c=c;target.face.materialIndex=materialIndex;if(!target.face.normal)target.face.normal=new three.Vector3;three.Triangle.getNormal(tempV1,tempV2,tempV3,target.face.normal);if(uv)target.uv=uv;return target}else{return{face:{a:a,b:b,c:c,materialIndex:materialIndex,normal:three.Triangle.getNormal(tempV1,tempV2,tempV3,new three.Vector3)},uv:uv}}}class PrimitivePool{constructor(getNewPrimitive){this._getNewPrimitive=getNewPrimitive;this._primitives=[]}getPrimitive(){const primitives=this._primitives;if(primitives.length===0){return this._getNewPrimitive()}else{return primitives.pop()}}releasePrimitive(primitive){this._primitives.push(primitive)}}function IS_LEAF(n16,uint16Array){return uint16Array[n16+15]===65535}function OFFSET(n32,uint32Array){return uint32Array[n32+6]}function COUNT(n16,uint16Array){return uint16Array[n16+14]}function LEFT_NODE(n32){return n32+8}function RIGHT_NODE(n32,uint32Array){return uint32Array[n32+6]}function SPLIT_AXIS(n32,uint32Array){return uint32Array[n32+7]}function BOUNDING_DATA_INDEX(n32){return n32}const boundingBox$1=new three.Box3;const boxIntersection=new three.Vector3;const xyzFields=["x","y","z"];function raycast(nodeIndex32,geometry,side,ray,intersects){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);intersectTris(geometry,side,ray,offset,count,intersects)}else{const leftIndex=LEFT_NODE(nodeIndex32);if(intersectRay(leftIndex,float32Array,ray,boxIntersection)){raycast(leftIndex,geometry,side,ray,intersects)}const rightIndex=RIGHT_NODE(nodeIndex32,uint32Array);if(intersectRay(rightIndex,float32Array,ray,boxIntersection)){raycast(rightIndex,geometry,side,ray,intersects)}}}function raycastFirst(nodeIndex32,geometry,side,ray){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);return intersectClosestTri(geometry,side,ray,offset,count)}else{const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);const xyzAxis=xyzFields[splitAxis];const rayDir=ray.direction[xyzAxis];const leftToRight=rayDir>=0;let c1,c2;if(leftToRight){c1=LEFT_NODE(nodeIndex32);c2=RIGHT_NODE(nodeIndex32,uint32Array)}else{c1=RIGHT_NODE(nodeIndex32,uint32Array);c2=LEFT_NODE(nodeIndex32)}const c1Intersection=intersectRay(c1,float32Array,ray,boxIntersection);const c1Result=c1Intersection?raycastFirst(c1,geometry,side,ray):null;if(c1Result){const point=c1Result.point[xyzAxis];const isOutside=leftToRight?point<=float32Array[c2+splitAxis]:point>=float32Array[c2+splitAxis+3];if(isOutside){return c1Result}}const c2Intersection=intersectRay(c2,float32Array,ray,boxIntersection);const c2Result=c2Intersection?raycastFirst(c2,geometry,side,ray):null;if(c1Result&&c2Result){return c1Result.distance<=c2Result.distance?c1Result:c2Result}else{return c1Result||c2Result||null}}}const shapecast=function(){let _box1,_box2;const boxStack=[];const boxPool=new PrimitivePool(()=>new three.Box3);return function shapecast(...args){_box1=boxPool.getPrimitive();_box2=boxPool.getPrimitive();boxStack.push(_box1,_box2);const result=shapecastTraverse(...args);boxPool.releasePrimitive(_box1);boxPool.releasePrimitive(_box2);boxStack.pop();boxStack.pop();const length=boxStack.length;if(length>0){_box2=boxStack[length-1];_box1=boxStack[length-2]}return result};function shapecastTraverse(nodeIndex32,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc=null,nodeIndexByteOffset=0,depth=0){function getLeftOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=LEFT_NODE(nodeIndex32);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)}function getRightEndOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=RIGHT_NODE(nodeIndex32,uint32Array);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)+COUNT(nodeIndex16,uint16Array)}let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,_box1);return intersectsRangeFunc(offset,count,false,depth,nodeIndexByteOffset+nodeIndex32,_box1)}else{const left=LEFT_NODE(nodeIndex32);const right=RIGHT_NODE(nodeIndex32,uint32Array);let c1=left;let c2=right;let score1,score2;let box1,box2;if(nodeScoreFunc){box1=_box1;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1);arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);score1=nodeScoreFunc(box1);score2=nodeScoreFunc(box2);if(score2<score1){c1=right;c2=left;const temp=score1;score1=score2;score2=temp;box1=box2}}if(!box1){box1=_box1;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1)}const isC1Leaf=IS_LEAF(c1*2,uint16Array);const c1Intersection=intersectsBoundsFunc(box1,isC1Leaf,score1,depth+1,nodeIndexByteOffset+c1);let c1StopTraversal;if(c1Intersection===CONTAINED){const offset=getLeftOffset(c1);const end=getRightEndOffset(c1);const count=end-offset;c1StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c1,box1)}else{c1StopTraversal=c1Intersection&&shapecastTraverse(c1,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c1StopTraversal)return true;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);const isC2Leaf=IS_LEAF(c2*2,uint16Array);const c2Intersection=intersectsBoundsFunc(box2,isC2Leaf,score2,depth+1,nodeIndexByteOffset+c2);let c2StopTraversal;if(c2Intersection===CONTAINED){const offset=getLeftOffset(c2);const end=getRightEndOffset(c2);const count=end-offset;c2StopTraversal=intersectsRangeFunc(offset,count,true,depth+1,nodeIndexByteOffset+c2,box2)}else{c2StopTraversal=c2Intersection&&shapecastTraverse(c2,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc,nodeIndexByteOffset,depth+1)}if(c2StopTraversal)return true;return false}}}();const intersectsGeometry=function(){const triangle=new ExtendedTriangle;const triangle2=new ExtendedTriangle;const invertedMat=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;return function intersectsGeometry(nodeIndex32,geometry,otherGeometry,geometryToBvh,cachedObb=null){let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;if(cachedObb===null){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);cachedObb=obb}const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const thisGeometry=geometry;const thisIndex=thisGeometry.index;const thisPos=thisGeometry.attributes.position;const index=otherGeometry.index;const pos=otherGeometry.attributes.position;const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);invertedMat.copy(geometryToBvh).invert();if(otherGeometry.boundsTree){arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,obb2);obb2.matrix.copy(invertedMat);obb2.needsUpdate=true;const res=otherGeometry.boundsTree.shapecast({intersectsBounds:box=>obb2.intersectsBox(box),intersectsTriangle:tri=>{tri.a.applyMatrix4(geometryToBvh);tri.b.applyMatrix4(geometryToBvh);tri.c.applyMatrix4(geometryToBvh);tri.needsUpdate=true;for(let i=offset*3,l=(count+offset)*3;i<l;i+=3){setTriangle(triangle2,i,thisIndex,thisPos);triangle2.needsUpdate=true;if(tri.intersectsTriangle(triangle2)){return true}}return false}});return res}else{for(let i=offset*3,l=count+offset*3;i<l;i+=3){setTriangle(triangle,i,thisIndex,thisPos);triangle.a.applyMatrix4(invertedMat);triangle.b.applyMatrix4(invertedMat);triangle.c.applyMatrix4(invertedMat);triangle.needsUpdate=true;for(let i2=0,l2=index.count;i2<l2;i2+=3){setTriangle(triangle2,i2,index,pos);triangle2.needsUpdate=true;if(triangle.intersectsTriangle(triangle2)){return true}}}}}else{const left=nodeIndex32+8;const right=uint32Array[nodeIndex32+6];arrayToBox(BOUNDING_DATA_INDEX(left),float32Array,boundingBox$1);const leftIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(left,geometry,otherGeometry,geometryToBvh,cachedObb);if(leftIntersection)return true;arrayToBox(BOUNDING_DATA_INDEX(right),float32Array,boundingBox$1);const rightIntersection=cachedObb.intersectsBox(boundingBox$1)&&intersectsGeometry(right,geometry,otherGeometry,geometryToBvh,cachedObb);if(rightIntersection)return true;return false}}}();function intersectRay(nodeIndex32,array,ray,target){arrayToBox(nodeIndex32,array,boundingBox$1);return ray.intersectBox(boundingBox$1,target)}const bufferStack=[];let _prevBuffer;let _float32Array;let _uint16Array;let _uint32Array;function setBuffer(buffer){if(_prevBuffer){bufferStack.push(_prevBuffer)}_prevBuffer=buffer;_float32Array=new Float32Array(buffer);_uint16Array=new Uint16Array(buffer);_uint32Array=new Uint32Array(buffer)}function clearBuffer(){_prevBuffer=null;_float32Array=null;_uint16Array=null;_uint32Array=null;if(bufferStack.length){setBuffer(bufferStack.pop())}}const SKIP_GENERATION=Symbol("skip tree generation");const aabb=new three.Box3;const aabb2=new three.Box3;const tempMatrix=new three.Matrix4;const obb=new OrientedBox;const obb2=new OrientedBox;const temp=new three.Vector3;const temp1=new three.Vector3;const temp2=new three.Vector3;const temp3=new three.Vector3;const temp4=new three.Vector3;const tempBox=new three.Box3;const trianglePool=new PrimitivePool(()=>new ExtendedTriangle);class MeshBVH{static serialize(bvh,options={}){if(options.isBufferGeometry){console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.serialize(arguments[0],{cloneBuffers:arguments[2]===undefined?true:arguments[2]})}options={cloneBuffers:true,...options};const geometry=bvh.geometry;const rootData=bvh._roots;const indexAttribute=geometry.getIndex();let result;if(options.cloneBuffers){result={roots:rootData.map(root=>root.slice()),index:indexAttribute.array.slice()}}else{result={roots:rootData,index:indexAttribute.array}}return result}static deserialize(data,geometry,options={}){if(typeof options==="boolean"){console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.deserialize(arguments[0],arguments[1],{setIndex:arguments[2]===undefined?true:arguments[2]})}options={setIndex:true,...options};const{index,roots}=data;const bvh=new MeshBVH(geometry,{...options,[SKIP_GENERATION]:true});bvh._roots=roots;if(options.setIndex){const indexAttribute=geometry.getIndex();if(indexAttribute===null){const newIndex=new three.BufferAttribute(data.index,1,false);geometry.setIndex(newIndex)}else if(indexAttribute.array!==index){indexAttribute.array.set(index);indexAttribute.needsUpdate=true}}return bvh}constructor(geometry,options={}){if(!geometry.isBufferGeometry){throw new Error("MeshBVH: Only BufferGeometries are supported.")}else if(geometry.index&&geometry.index.isInterleavedBufferAttribute){throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}options=Object.assign({strategy:CENTER,maxDepth:40,maxLeafTris:10,verbose:true,useSharedArrayBuffer:false,setBoundingBox:true,onProgress:null,[SKIP_GENERATION]:false},options);if(options.useSharedArrayBuffer&&typeof SharedArrayBuffer==="undefined"){throw new Error("MeshBVH: SharedArrayBuffer is not available.")}this._roots=null;if(!options[SKIP_GENERATION]){this._roots=buildPackedTree(geometry,options);if(!geometry.boundingBox&&options.setBoundingBox){geometry.boundingBox=this.getBoundingBox(new three.Box3)}}this.geometry=geometry}refit(nodeIndices=null){if(nodeIndices&&Array.isArray(nodeIndices)){nodeIndices=new Set(nodeIndices)}const geometry=this.geometry;const indexArr=geometry.index.array;const posAttr=geometry.attributes.position;let buffer,uint32Array,uint16Array,float32Array;let byteOffset=0;const roots=this._roots;for(let i=0,l=roots.length;i<l;i++){buffer=roots[i];uint32Array=new Uint32Array(buffer);uint16Array=new Uint16Array(buffer);float32Array=new Float32Array(buffer);_traverse(0,byteOffset);byteOffset+=buffer.byteLength}function _traverse(node32Index,byteOffset,force=false){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];let minx=Infinity;let miny=Infinity;let minz=Infinity;let maxx=-Infinity;let maxy=-Infinity;let maxz=-Infinity;for(let i=3*offset,l=3*(offset+count);i<l;i++){const index=indexArr[i];const x=posAttr.getX(index);const y=posAttr.getY(index);const z=posAttr.getZ(index);if(x<minx)minx=x;if(x>maxx)maxx=x;if(y<miny)miny=y;if(y>maxy)maxy=y;if(z<minz)minz=z;if(z>maxz)maxz=z}if(float32Array[node32Index+0]!==minx||float32Array[node32Index+1]!==miny||float32Array[node32Index+2]!==minz||float32Array[node32Index+3]!==maxx||float32Array[node32Index+4]!==maxy||float32Array[node32Index+5]!==maxz){float32Array[node32Index+0]=minx;float32Array[node32Index+1]=miny;float32Array[node32Index+2]=minz;float32Array[node32Index+3]=maxx;float32Array[node32Index+4]=maxy;float32Array[node32Index+5]=maxz;return true}else{return false}}else{const left=node32Index+8;const right=uint32Array[node32Index+6];const offsetLeft=left+byteOffset;const offsetRight=right+byteOffset;let forceChildren=force;let includesLeft=false;let includesRight=false;if(nodeIndices){if(!forceChildren){includesLeft=nodeIndices.has(offsetLeft);includesRight=nodeIndices.has(offsetRight);forceChildren=!includesLeft&&!includesRight}}else{includesLeft=true;includesRight=true}const traverseLeft=forceChildren||includesLeft;const traverseRight=forceChildren||includesRight;let leftChange=false;if(traverseLeft){leftChange=_traverse(left,byteOffset,forceChildren)}let rightChange=false;if(traverseRight){rightChange=_traverse(right,byteOffset,forceChildren)}const didChange=leftChange||rightChange;if(didChange){for(let i=0;i<3;i++){const lefti=left+i;const righti=right+i;const minLeftValue=float32Array[lefti];const maxLeftValue=float32Array[lefti+3];const minRightValue=float32Array[righti];const maxRightValue=float32Array[righti+3];float32Array[node32Index+i]=minLeftValue<minRightValue?minLeftValue:minRightValue;float32Array[node32Index+i+3]=maxLeftValue>maxRightValue?maxLeftValue:maxRightValue}}return didChange}}}traverse(callback,rootIndex=0){const buffer=this._roots[rootIndex];const uint32Array=new Uint32Array(buffer);const uint16Array=new Uint16Array(buffer);_traverse(0);function _traverse(node32Index,depth=0){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),offset,count)}else{const left=node32Index+BYTES_PER_NODE/4;const right=uint32Array[node32Index+6];const splitAxis=uint32Array[node32Index+7];const stopTraversal=callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),splitAxis);if(!stopTraversal){_traverse(left,depth+1);_traverse(right,depth+1)}}}}raycast(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const intersects=[];const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;const startCount=intersects.length;setBuffer(roots[i]);raycast(0,geometry,materialSide,ray,intersects);clearBuffer();if(isArrayMaterial){const materialIndex=groups[i].materialIndex;for(let j=startCount,jl=intersects.length;j<jl;j++){intersects[j].face.materialIndex=materialIndex}}}return intersects}raycastFirst(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);let closestResult=null;const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i<l;i++){const materialSide=isArrayMaterial?materialOrSide[groups[i].materialIndex].side:side;setBuffer(roots[i]);const result=raycastFirst(0,geometry,materialSide,ray);clearBuffer();if(result!=null&&(closestResult==null||result.distance<closestResult.distance)){closestResult=result;if(isArrayMaterial){result.face.materialIndex=groups[i].materialIndex}}}return closestResult}intersectsGeometry(otherGeometry,geomToMesh){const geometry=this.geometry;let result=false;for(const root of this._roots){setBuffer(root);result=intersectsGeometry(0,geometry,otherGeometry,geomToMesh);clearBuffer();if(result){break}}return result}shapecast(callbacks,_intersectsTriangleFunc,_orderNodesFunc){const geometry=this.geometry;if(callbacks instanceof Function){if(_intersectsTriangleFunc){const originalTriangleFunc=_intersectsTriangleFunc;_intersectsTriangleFunc=(tri,index,contained,depth)=>{const i3=index*3;return originalTriangleFunc(tri,i3,i3+1,i3+2,contained,depth)}}callbacks={boundsTraverseOrder:_orderNodesFunc,intersectsBounds:callbacks,intersectsTriangle:_intersectsTriangleFunc,intersectsRange:null};console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const triangle=trianglePool.getPrimitive();let{boundsTraverseOrder,intersectsBounds,intersectsRange,intersectsTriangle}=callbacks;if(intersectsRange&&intersectsTriangle){const originalIntersectsRange=intersectsRange;intersectsRange=(offset,count,contained,depth,nodeIndex)=>{if(!originalIntersectsRange(offset,count,contained,depth,nodeIndex)){return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}return true}}else if(!intersectsRange){if(intersectsTriangle){intersectsRange=(offset,count,contained,depth)=>{return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}}else{intersectsRange=(offset,count,contained)=>{return contained}}}let result=false;let byteOffset=0;for(const root of this._roots){setBuffer(root);result=shapecast(0,geometry,intersectsBounds,intersectsRange,boundsTraverseOrder,byteOffset);clearBuffer();if(result){break}byteOffset+=root.byteLength}trianglePool.releasePrimitive(triangle);return result}bvhcast(otherBvh,matrixToLocal,callbacks){let{intersectsRanges,intersectsTriangles}=callbacks;const indexAttr=this.geometry.index;const positionAttr=this.geometry.attributes.position;const otherIndexAttr=otherBvh.geometry.index;const otherPositionAttr=otherBvh.geometry.attributes.position;tempMatrix.copy(matrixToLocal).invert();const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();if(intersectsTriangles){function iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2){for(let i2=offset2,l2=offset2+count2;i2<l2;i2++){setTriangle(triangle2,i2*3,otherIndexAttr,otherPositionAttr);triangle2.a.applyMatrix4(matrixToLocal);triangle2.b.applyMatrix4(matrixToLocal);triangle2.c.applyMatrix4(matrixToLocal);triangle2.needsUpdate=true;for(let i1=offset1,l1=offset1+count1;i1<l1;i1++){setTriangle(triangle,i1*3,indexAttr,positionAttr);triangle.needsUpdate=true;if(intersectsTriangles(triangle,triangle2,i1,i2,depth1,index1,depth2,index2)){return true}}}return false}if(intersectsRanges){const originalIntersectsRanges=intersectsRanges;intersectsRanges=function(offset1,count1,offset2,count2,depth1,index1,depth2,index2){if(!originalIntersectsRanges(offset1,count1,offset2,count2,depth1,index1,depth2,index2)){return iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2)}return true}}else{intersectsRanges=iterateOverDoubleTriangles}}otherBvh.getBoundingBox(aabb2);aabb2.applyMatrix4(matrixToLocal);const result=this.shapecast({intersectsBounds:box=>aabb2.intersectsBox(box),intersectsRange:(offset1,count1,contained,depth1,nodeIndex1,box)=>{aabb.copy(box);aabb.applyMatrix4(tempMatrix);return otherBvh.shapecast({intersectsBounds:box=>aabb.intersectsBox(box),intersectsRange:(offset2,count2,contained,depth2,nodeIndex2)=>{return intersectsRanges(offset1,count1,offset2,count2,depth1,nodeIndex1,depth2,nodeIndex2)}})}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);return result}intersectsBox(box,boxToMesh){obb.set(box.min,box.max,boxToMesh);obb.needsUpdate=true;return this.shapecast({intersectsBounds:box=>obb.intersectsBox(box),intersectsTriangle:tri=>obb.intersectsTriangle(tri)})}intersectsSphere(sphere){return this.shapecast({intersectsBounds:box=>sphere.intersectsBox(box),intersectsTriangle:tri=>tri.intersectsSphere(sphere)})}closestPointToGeometry(otherGeometry,geometryToBvh,target1={},target2={},minThreshold=0,maxThreshold=Infinity){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);obb.needsUpdate=true;const geometry=this.geometry;const pos=geometry.attributes.position;const index=geometry.index;const otherPos=otherGeometry.attributes.position;const otherIndex=otherGeometry.index;const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();let tempTarget1=temp1;let tempTargetDest1=temp2;let tempTarget2=null;let tempTargetDest2=null;if(target2){tempTarget2=temp3;tempTargetDest2=temp4}let closestDistance=Infinity;let closestDistanceTriIndex=null;let closestDistanceOtherTriIndex=null;tempMatrix.copy(geometryToBvh).invert();obb2.matrix.copy(tempMatrix);this.shapecast({boundsTraverseOrder:box=>{return obb.distanceToBox(box)},intersectsBounds:(box,isLeaf,score)=>{if(score<closestDistance&&score<maxThreshold){if(isLeaf){obb2.min.copy(box.min);obb2.max.copy(box.max);obb2.needsUpdate=true}return true}return false},intersectsRange:(offset,count)=>{if(otherGeometry.boundsTree){return otherGeometry.boundsTree.shapecast({boundsTraverseOrder:box=>{return obb2.distanceToBox(box)},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistance&&score<maxThreshold},intersectsRange:(otherOffset,otherCount)=>{for(let i2=otherOffset*3,l2=(otherOffset+otherCount)*3;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}})}else{const triCount=otherIndex?otherIndex.count:otherPos.count;for(let i2=0,l2=triCount;i2<l2;i2+=3){setTriangle(triangle2,i2,otherIndex,otherPos);triangle2.a.applyMatrix4(geometryToBvh);triangle2.b.applyMatrix4(geometryToBvh);triangle2.c.applyMatrix4(geometryToBvh);triangle2.needsUpdate=true;for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){setTriangle(triangle,i,index,pos);triangle.needsUpdate=true;const dist=triangle.distanceToTriangle(triangle2,tempTarget1,tempTarget2);if(dist<closestDistance){tempTargetDest1.copy(tempTarget1);if(tempTargetDest2){tempTargetDest2.copy(tempTarget2)}closestDistance=dist;closestDistanceTriIndex=i/3;closestDistanceOtherTriIndex=i2/3}if(dist<minThreshold){return true}}}}}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);if(closestDistance===Infinity)return null;if(!target1.point)target1.point=tempTargetDest1.clone();else target1.point.copy(tempTargetDest1);target1.distance=closestDistance,target1.faceIndex=closestDistanceTriIndex;if(target2){if(!target2.point)target2.point=tempTargetDest2.clone();else target2.point.copy(tempTargetDest2);target2.point.applyMatrix4(tempMatrix);tempTargetDest1.applyMatrix4(tempMatrix);target2.distance=tempTargetDest1.sub(target2.point).length();target2.faceIndex=closestDistanceOtherTriIndex}return target1}closestPointToPoint(point,target={},minThreshold=0,maxThreshold=Infinity){const minThresholdSq=minThreshold*minThreshold;const maxThresholdSq=maxThreshold*maxThreshold;let closestDistanceSq=Infinity;let closestDistanceTriIndex=null;this.shapecast({boundsTraverseOrder:box=>{temp.copy(point).clamp(box.min,box.max);return temp.distanceToSquared(point)},intersectsBounds:(box,isLeaf,score)=>{return score<closestDistanceSq&&score<maxThresholdSq},intersectsTriangle:(tri,triIndex)=>{tri.closestPointToPoint(point,temp);const distSq=point.distanceToSquared(temp);if(distSq<closestDistanceSq){temp1.copy(temp);closestDistanceSq=distSq;closestDistanceTriIndex=triIndex}if(distSq<minThresholdSq){return true}else{return false}}});if(closestDistanceSq===Infinity)return null;const closestDistance=Math.sqrt(closestDistanceSq);if(!target.point)target.point=temp1.clone();else target.point.copy(temp1);target.distance=closestDistance,target.faceIndex=closestDistanceTriIndex;return target}getBoundingBox(target){target.makeEmpty();const roots=this._roots;roots.forEach(buffer=>{arrayToBox(0,new Float32Array(buffer),tempBox);target.union(tempBox)});return target}}const boundingBox=new three.Box3;class MeshBVHRootVisualizer extends three.Object3D{get isMesh(){return!this.displayEdges}get isLineSegments(){return this.displayEdges}get isLine(){return this.displayEdges}constructor(mesh,material,depth=10,group=0){super();this.material=material;this.geometry=new three.BufferGeometry;this.name="MeshBVHRootVisualizer";this.depth=depth;this.displayParents=false;this.mesh=mesh;this.displayEdges=true;this._group=group}raycast(){}update(){const geometry=this.geometry;const boundsTree=this.mesh.geometry.boundsTree;const group=this._group;geometry.dispose();this.visible=false;if(boundsTree){const targetDepth=this.depth-1;const displayParents=this.displayParents;let boundsCount=0;boundsTree.traverse((depth,isLeaf)=>{if(depth===targetDepth||isLeaf){boundsCount++;return true}else if(displayParents){boundsCount++}},group);let posIndex=0;const positionArray=new Float32Array(8*3*boundsCount);boundsTree.traverse((depth,isLeaf,boundingData)=>{const terminate=depth===targetDepth||isLeaf;if(terminate||displayParents){arrayToBox(0,boundingData,boundingBox);const{min,max}=boundingBox;for(let x=-1;x<=1;x+=2){const xVal=x<0?min.x:max.x;for(let y=-1;y<=1;y+=2){const yVal=y<0?min.y:max.y;for(let z=-1;z<=1;z+=2){const zVal=z<0?min.z:max.z;positionArray[posIndex+0]=xVal;positionArray[posIndex+1]=yVal;positionArray[posIndex+2]=zVal;posIndex+=3}}}return terminate}},group);let indexArray;let indices;if(this.displayEdges){indices=new Uint8Array([0,4,1,5,2,6,3,7,0,2,1,3,4,6,5,7,0,1,2,3,4,5,6,7])}else{indices=new Uint8Array([0,1,2,2,1,3,4,6,5,6,7,5,1,4,5,0,4,1,2,3,6,3,7,6,0,2,4,2,6,4,1,5,3,3,5,7])}if(positionArray.length>65535){indexArray=new Uint32Array(indices.length*boundsCount)}else{indexArray=new Uint16Array(indices.length*boundsCount)}const indexLength=indices.length;for(let i=0;i<boundsCount;i++){const posOffset=i*8;const indexOffset=i*indexLength;for(let j=0;j<indexLength;j++){indexArray[indexOffset+j]=posOffset+indices[j]}}geometry.setIndex(new three.BufferAttribute(indexArray,1,false));geometry.setAttribute("position",new three.BufferAttribute(positionArray,3,false));this.visible=true}}}class MeshBVHVisualizer extends three.Group{get color(){return this.edgeMaterial.color}get opacity(){return this.edgeMaterial.opacity}set opacity(v){this.edgeMaterial.opacity=v;this.meshMaterial.opacity=v}constructor(mesh,depth=10){super();this.name="MeshBVHVisualizer";this.depth=depth;this.mesh=mesh;this.displayParents=false;this.displayEdges=true;this._roots=[];const edgeMaterial=new three.LineBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});const meshMaterial=new three.MeshBasicMaterial({color:65416,transparent:true,opacity:0.3,depthWrite:false});meshMaterial.color=edgeMaterial.color;this.edgeMaterial=edgeMaterial;this.meshMaterial=meshMaterial;this.update()}update(){const bvh=this.mesh.geometry.boundsTree;const totalRoots=bvh?bvh._roots.length:0;while(this._roots.length>totalRoots){const root=this._roots.pop();root.geometry.dispose();this.remove(root)}for(let i=0;i<totalRoots;i++){if(i>=this._roots.length){const root=new MeshBVHRootVisualizer(this.mesh,this.edgeMaterial,this.depth,i);this.add(root);this._roots.push(root)}const root=this._roots[i];root.depth=this.depth;root.mesh=this.mesh;root.displayParents=this.displayParents;root.displayEdges=this.displayEdges;root.material=this.displayEdges?this.edgeMaterial:this.meshMaterial;root.update()}}updateMatrixWorld(...args){this.position.copy(this.mesh.position);this.rotation.copy(this.mesh.rotation);this.scale.copy(this.mesh.scale);super.updateMatrixWorld(...args)}copy(source){this.depth=source.depth;this.mesh=source.mesh}clone(){return new MeshBVHVisualizer(this.mesh,this.depth)}dispose(){this.edgeMaterial.dispose();this.meshMaterial.dispose();const children=this.children;for(let i=0,l=children.length;i<l;i++){children[i].geometry.dispose()}}}const _box1=new three.Box3;const _box2=new three.Box3;const _vec=new three.Vector3;function getPrimitiveSize(el){switch(typeof el){case"number":return 8;case"string":return el.length*2;case"boolean":return 4;default:return 0;}}function isTypedArray(arr){const regex=/(Uint|Int|Float)(8|16|32)Array/;return regex.test(arr.constructor.name)}function getRootExtremes(bvh,group){const result={nodeCount:0,leafNodeCount:0,depth:{min:Infinity,max:-Infinity},tris:{min:Infinity,max:-Infinity},splits:[0,0,0],surfaceAreaScore:0};bvh.traverse((depth,isLeaf,boundingData,offsetOrSplit,count)=>{const l0=boundingData[0+3]-boundingData[0];const l1=boundingData[1+3]-boundingData[1];const l2=boundingData[2+3]-boundingData[2];const surfaceArea=2*(l0*l1+l1*l2+l2*l0);result.nodeCount++;if(isLeaf){result.leafNodeCount++;result.depth.min=Math.min(depth,result.depth.min);result.depth.max=Math.max(depth,result.depth.max);result.tris.min=Math.min(count,result.tris.min);result.tris.max=Math.max(count,result.tris.max);result.surfaceAreaScore+=surfaceArea*TRIANGLE_INTERSECT_COST*count}else{result.splits[offsetOrSplit]++;result.surfaceAreaScore+=surfaceArea*TRAVERSAL_COST}},group);if(result.tris.min===Infinity){result.tris.min=0;result.tris.max=0}if(result.depth.min===Infinity){result.depth.min=0;result.depth.max=0}return result}function getBVHExtremes(bvh){return bvh._roots.map((root,i)=>getRootExtremes(bvh,i))}function estimateMemoryInBytes(obj){const traversed=new Set;const stack=[obj];let bytes=0;while(stack.length){const curr=stack.pop();if(traversed.has(curr)){continue}traversed.add(curr);for(let key in curr){if(!curr.hasOwnProperty(key)){continue}bytes+=getPrimitiveSize(key);const value=curr[key];if(value&&(typeof value==="object"||typeof value==="function")){if(isTypedArray(value)){bytes+=value.byteLength}else if(value instanceof ArrayBuffer){bytes+=value.byteLength}else{stack.push(value)}}else{bytes+=getPrimitiveSize(value)}}}return bytes}function validateBounds(bvh){const geometry=bvh.geometry;const depthStack=[];const index=geometry.index;const position=geometry.getAttribute("position");let passes=true;bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={depth,isLeaf,boundingData,offset,count};depthStack[depth]=info;arrayToBox(0,boundingData,_box1);const parent=depthStack[depth-1];if(isLeaf){for(let i=offset*3,l=(offset+count)*3;i<l;i+=3){const i0=index.getX(i);const i1=index.getX(i+1);const i2=index.getX(i+2);let isContained;_vec.fromBufferAttribute(position,i0);isContained=_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i1);isContained=isContained&&_box1.containsPoint(_vec);_vec.fromBufferAttribute(position,i2);isContained=isContained&&_box1.containsPoint(_vec);console.assert(isContained,"Leaf bounds does not fully contain triangle.");passes=passes&&isContained}}if(parent){arrayToBox(0,boundingData,_box2);const isContained=_box2.containsBox(_box1);console.assert(isContained,"Parent bounds does not fully contain child.");passes=passes&&isContained}});return passes}function getJSONStructure(bvh){const depthStack=[];bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={bounds:arrayToBox(0,boundingData,new three.Box3)};if(isLeaf){info.count=count;info.offset=offset}else{info.left=null;info.right=null}depthStack[depth]=info;const parent=depthStack[depth-1];if(parent){if(parent.left===null){parent.left=info}else{parent.right=info}}});return depthStack[0]}const ray=new three.Ray;const tmpInverseMatrix=new three.Matrix4;const origMeshRaycastFunc=three.Mesh.prototype.raycast;function acceleratedRaycast(raycaster,intersects){if(this.geometry.boundsTree){if(this.material===undefined)return;tmpInverseMatrix.copy(this.matrixWorld).invert();ray.copy(raycaster.ray).applyMatrix4(tmpInverseMatrix);const bvh=this.geometry.boundsTree;if(raycaster.firstHitOnly===true){const hit=convertRaycastIntersect(bvh.raycastFirst(ray,this.material),this,raycaster);if(hit){intersects.push(hit)}}else{const hits=bvh.raycast(ray,this.material);for(let i=0,l=hits.length;i<l;i++){const hit=convertRaycastIntersect(hits[i],this,raycaster);if(hit){intersects.push(hit)}}}}else{origMeshRaycastFunc.call(this,raycaster,intersects)}}function computeBoundsTree(options){this.boundsTree=new MeshBVH(this,options);return this.boundsTree}function disposeBoundsTree(){this.boundsTree=null}function countToStringFormat(count){switch(count){case 1:return"R";case 2:return"RG";case 3:return"RGBA";case 4:return"RGBA";}throw new Error}function countToFormat(count){switch(count){case 1:return three.RedFormat;case 2:return three.RGFormat;case 3:return three.RGBAFormat;case 4:return three.RGBAFormat;}}function countToIntFormat(count){switch(count){case 1:return three.RedIntegerFormat;case 2:return three.RGIntegerFormat;case 3:return three.RGBAIntegerFormat;case 4:return three.RGBAIntegerFormat;}}class VertexAttributeTexture extends three.DataTexture{constructor(){super();this.minFilter=three.NearestFilter;this.magFilter=three.NearestFilter;this.generateMipmaps=false;this.overrideItemSize=null;this._forcedType=null}updateFrom(attr){const overrideItemSize=this.overrideItemSize;const originalItemSize=attr.itemSize;const originalCount=attr.count;if(overrideItemSize!==null){if(originalItemSize*originalCount%overrideItemSize!==0){throw new Error("VertexAttributeTexture: overrideItemSize must divide evenly into buffer length.")}attr.itemSize=overrideItemSize;attr.count=originalCount*originalItemSize/overrideItemSize}const itemSize=attr.itemSize;const count=attr.count;const normalized=attr.normalized;const originalBufferCons=attr.array.constructor;const byteCount=originalBufferCons.BYTES_PER_ELEMENT;let targetType=this._forcedType;let finalStride=itemSize;if(targetType===null){switch(originalBufferCons){case Float32Array:targetType=three.FloatType;break;case Uint8Array:case Uint16Array:case Uint32Array:targetType=three.UnsignedIntType;break;case Int8Array:case Int16Array:case Int32Array:targetType=three.IntType;break;}}let type,format,normalizeValue,targetBufferCons;let internalFormat=countToStringFormat(itemSize);switch(targetType){case three.FloatType:normalizeValue=1;format=countToFormat(itemSize);if(normalized&&byteCount===1){targetBufferCons=originalBufferCons;internalFormat+="8";if(originalBufferCons===Uint8Array){type=three.UnsignedByteType}else{type=three.ByteType;internalFormat+="_SNORM"}}else{targetBufferCons=Float32Array;internalFormat+="32F";type=three.FloatType}break;case three.IntType:internalFormat+=byteCount*8+"I";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Int8Array;type=three.ByteType}else if(byteCount===2){targetBufferCons=Int16Array;type=three.ShortType}else{targetBufferCons=Int32Array;type=three.IntType}break;case three.UnsignedIntType:internalFormat+=byteCount*8+"UI";normalizeValue=normalized?Math.pow(2,originalBufferCons.BYTES_PER_ELEMENT*8-1):1;format=countToIntFormat(itemSize);if(byteCount===1){targetBufferCons=Uint8Array;type=three.UnsignedByteType}else if(byteCount===2){targetBufferCons=Uint16Array;type=three.UnsignedShortType}else{targetBufferCons=Uint32Array;type=three.UnsignedIntType}break;}if(finalStride===3&&(format===three.RGBAFormat||format===three.RGBAIntegerFormat)){finalStride=4}const dimension=Math.ceil(Math.sqrt(count));const length=finalStride*dimension*dimension;const dataArray=new targetBufferCons(length);const originalNormalized=attr.normalized;attr.normalized=false;for(let i=0;i<count;i++){const ii=finalStride*i;dataArray[ii]=attr.getX(i)/normalizeValue;if(itemSize>=2){dataArray[ii+1]=attr.getY(i)/normalizeValue}if(itemSize>=3){dataArray[ii+2]=attr.getZ(i)/normalizeValue;if(finalStride===4){dataArray[ii+3]=1}}if(itemSize>=4){dataArray[ii+3]=attr.getW(i)/normalizeValue}}attr.normalized=originalNormalized;this.internalFormat=internalFormat;this.format=format;this.type=type;this.image.width=dimension;this.image.height=dimension;this.image.data=dataArray;this.needsUpdate=true;this.dispose();attr.itemSize=originalItemSize;attr.count=originalCount}}class UIntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.UnsignedIntType}}class IntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.IntType}}class FloatVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.FloatType}}function bvhToTextures(bvh,boundsTexture,contentsTexture){const roots=bvh._roots;if(roots.length!==1){throw new Error("MeshBVHUniformStruct: Multi-root BVHs not supported.")}const root=roots[0];const uint16Array=new Uint16Array(root);const uint32Array=new Uint32Array(root);const float32Array=new Float32Array(root);const nodeCount=root.byteLength/BYTES_PER_NODE;const boundsDimension=2*Math.ceil(Math.sqrt(nodeCount/2));const boundsArray=new Float32Array(4*boundsDimension*boundsDimension);const contentsDimension=Math.ceil(Math.sqrt(nodeCount));const contentsArray=new Uint32Array(2*contentsDimension*contentsDimension);for(let i=0;i<nodeCount;i++){const nodeIndex32=i*BYTES_PER_NODE/4;const nodeIndex16=nodeIndex32*2;const boundsIndex=BOUNDING_DATA_INDEX(nodeIndex32);for(let b=0;b<3;b++){boundsArray[8*i+0+b]=float32Array[boundsIndex+0+b];boundsArray[8*i+4+b]=float32Array[boundsIndex+3+b]}if(IS_LEAF(nodeIndex16,uint16Array)){const count=COUNT(nodeIndex16,uint16Array);const offset=OFFSET(nodeIndex32,uint32Array);const mergedLeafCount=4294901760|count;contentsArray[i*2+0]=mergedLeafCount;contentsArray[i*2+1]=offset}else{const rightIndex=4*RIGHT_NODE(nodeIndex32,uint32Array)/BYTES_PER_NODE;const splitAxis=SPLIT_AXIS(nodeIndex32,uint32Array);contentsArray[i*2+0]=splitAxis;contentsArray[i*2+1]=rightIndex}}boundsTexture.image.data=boundsArray;boundsTexture.image.width=boundsDimension;boundsTexture.image.height=boundsDimension;boundsTexture.format=three.RGBAFormat;boundsTexture.type=three.FloatType;boundsTexture.internalFormat="RGBA32F";boundsTexture.minFilter=three.NearestFilter;boundsTexture.magFilter=three.NearestFilter;boundsTexture.generateMipmaps=false;boundsTexture.needsUpdate=true;boundsTexture.dispose();contentsTexture.image.data=contentsArray;contentsTexture.image.width=contentsDimension;contentsTexture.image.height=contentsDimension;contentsTexture.format=three.RGIntegerFormat;contentsTexture.type=three.UnsignedIntType;contentsTexture.internalFormat="RG32UI";contentsTexture.minFilter=three.NearestFilter;contentsTexture.magFilter=three.NearestFilter;contentsTexture.generateMipmaps=false;contentsTexture.needsUpdate=true;contentsTexture.dispose()}class MeshBVHUniformStruct{constructor(){this.autoDispose=true;this.index=new UIntVertexAttributeTexture;this.position=new FloatVertexAttributeTexture;this.bvhBounds=new three.DataTexture;this.bvhContents=new three.DataTexture;this.index.overrideItemSize=3}updateFrom(bvh){const{geometry}=bvh;bvhToTextures(bvh,this.bvhBounds,this.bvhContents);this.index.updateFrom(geometry.index);this.position.updateFrom(geometry.attributes.position)}dispose(){const{index,position,bvhBounds,bvhContents}=this;if(index)index.dispose();if(position)position.dispose();if(bvhBounds)bvhBounds.dispose();if(bvhContents)bvhContents.dispose()}}const shaderStructs=`
#ifndef TRI_INTERSECT_EPSILON
#define TRI_INTERSECT_EPSILON 1e-5
#endif

#ifndef INFINITY
#define INFINITY 1e20
#endif

struct BVH {

	usampler2D index;
	sampler2D position;

	sampler2D bvhBounds;
	usampler2D bvhContents;

};
`;const shaderIntersectFunction=`

// Utilities
uvec4 uTexelFetch1D( usampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

ivec4 iTexelFetch1D( isampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 texelFetch1D( sampler2D tex, uint index ) {

	uint width = uint( textureSize( tex, 0 ).x );
	uvec2 uv;
	uv.x = index % width;
	uv.y = index / width;

	return texelFetch( tex, ivec2( uv ), 0 );

}

vec4 textureSampleBarycoord( sampler2D tex, vec3 barycoord, uvec3 faceIndices ) {

	return
		barycoord.x * texelFetch1D( tex, faceIndices.x ) +
		barycoord.y * texelFetch1D( tex, faceIndices.y ) +
		barycoord.z * texelFetch1D( tex, faceIndices.z );

}

void ndcToCameraRay(
	vec2 coord, mat4 cameraWorld, mat4 invProjectionMatrix,
	out vec3 rayOrigin, out vec3 rayDirection
) {

	// get camera look direction and near plane for camera clipping
	vec4 lookDirection = cameraWorld * vec4( 0.0, 0.0, - 1.0, 0.0 );
	vec4 nearVector = invProjectionMatrix * vec4( 0.0, 0.0, - 1.0, 1.0 );
	float near = abs( nearVector.z / nearVector.w );

	// get the camera direction and position from camera matrices
	vec4 origin = cameraWorld * vec4( 0.0, 0.0, 0.0, 1.0 );
	vec4 direction = invProjectionMatrix * vec4( coord, 0.5, 1.0 );
	direction /= direction.w;
	direction = cameraWorld * direction - origin;

	// slide the origin along the ray until it sits at the near clip plane position
	origin.xyz += direction.xyz * near / dot( direction, lookDirection );

	rayOrigin = origin.xyz;
	rayDirection = direction.xyz;

}

// Raycasting
float intersectsBounds( vec3 rayOrigin, vec3 rayDirection, vec3 boundsMin, vec3 boundsMax ) {

	// https://www.reddit.com/r/opengl/comments/8ntzz5/fast_glsl_ray_box_intersection/
	// https://tavianator.com/2011/ray_box.html
	vec3 invDir = 1.0 / rayDirection;

	// find intersection distances for each plane
	vec3 tMinPlane = invDir * ( boundsMin - rayOrigin );
	vec3 tMaxPlane = invDir * ( boundsMax - rayOrigin );

	// get the min and max distances from each intersection
	vec3 tMinHit = min( tMaxPlane, tMinPlane );
	vec3 tMaxHit = max( tMaxPlane, tMinPlane );

	// get the furthest hit distance
	vec2 t = max( tMinHit.xx, tMinHit.yz );
	float t0 = max( t.x, t.y );

	// get the minimum hit distance
	t = min( tMaxHit.xx, tMaxHit.yz );
	float t1 = min( t.x, t.y );

	// set distance to 0.0 if the ray starts inside the box
	float dist = max( t0, 0.0 );

	return t1 >= dist ? dist : INFINITY;

}

bool intersectsTriangle(
	vec3 rayOrigin, vec3 rayDirection, vec3 a, vec3 b, vec3 c,
	out vec3 barycoord, out vec3 norm, out float dist, out float side
) {

	// https://stackoverflow.com/questions/42740765/intersection-between-line-and-triangle-in-3d
	vec3 edge1 = b - a;
	vec3 edge2 = c - a;
	norm = cross( edge1, edge2 );

	float det = - dot( rayDirection, norm );
	float invdet = 1.0 / det;

	vec3 AO = rayOrigin - a;
	vec3 DAO = cross( AO, rayDirection );

	vec4 uvt;
	uvt.x = dot( edge2, DAO ) * invdet;
	uvt.y = - dot( edge1, DAO ) * invdet;
	uvt.z = dot( AO, norm ) * invdet;
	uvt.w = 1.0 - uvt.x - uvt.y;

	// set the hit information
	barycoord = uvt.wxy; // arranged in A, B, C order
	dist = uvt.z;
	side = sign( det );
	norm = side * normalize( norm );

	// add an epsilon to avoid misses between triangles
	uvt += vec4( TRI_INTERSECT_EPSILON );

	return all( greaterThanEqual( uvt, vec4( 0.0 ) ) );

}

bool intersectTriangles(
	BVH bvh, vec3 rayOrigin, vec3 rayDirection, uint offset, uint count,
	inout float minDistance,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out float dist
) {

	bool found = false;
	vec3 localBarycoord, localNormal;
	float localDist, localSide;
	for ( uint i = offset, l = offset + count; i < l; i ++ ) {

		uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz;
		vec3 a = texelFetch1D( bvh.position, indices.x ).rgb;
		vec3 b = texelFetch1D( bvh.position, indices.y ).rgb;
		vec3 c = texelFetch1D( bvh.position, indices.z ).rgb;

		if (
			intersectsTriangle( rayOrigin, rayDirection, a, b, c, localBarycoord, localNormal, localDist, localSide )
			&& localDist < minDistance
		) {

			found = true;
			minDistance = localDist;

			faceIndices = uvec4( indices.xyz, i );
			faceNormal = localNormal;

			side = localSide;
			barycoord = localBarycoord;
			dist = localDist;

		}

	}

	return found;

}

float intersectsBVHNodeBounds( vec3 rayOrigin, vec3 rayDirection, BVH bvh, uint currNodeIndex ) {

	vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz;
	vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz;
	return intersectsBounds( rayOrigin, rayDirection, boundsMin, boundsMax );

}

bool bvhIntersectFirstHit(
	BVH bvh, vec3 rayOrigin, vec3 rayDirection,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out float dist
) {

	// stack needs to be twice as long as the deepest tree we expect because
	// we push both the left and right child onto the stack every traversal
	int ptr = 0;
	uint stack[ 60 ];
	stack[ 0 ] = 0u;

	float triangleDistance = 1e20;
	bool found = false;
	while ( ptr > - 1 && ptr < 60 ) {

		uint currNodeIndex = stack[ ptr ];
		ptr --;

		// check if we intersect the current bounds
		float boundsHitDistance = intersectsBVHNodeBounds( rayOrigin, rayDirection, bvh, currNodeIndex );
		if ( boundsHitDistance == INFINITY || boundsHitDistance > triangleDistance ) {

			continue;

		}

		uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy;
		bool isLeaf = bool( boundsInfo.x & 0xffff0000u );

		if ( isLeaf ) {

			uint count = boundsInfo.x & 0x0000ffffu;
			uint offset = boundsInfo.y;

			found = intersectTriangles(
				bvh, rayOrigin, rayDirection, offset, count, triangleDistance,
				faceIndices, faceNormal, barycoord, side, dist
			) || found;

		} else {

			uint leftIndex = currNodeIndex + 1u;
			uint splitAxis = boundsInfo.x & 0x0000ffffu;
			uint rightIndex = boundsInfo.y;

			bool leftToRight = rayDirection[ splitAxis ] >= 0.0;
			uint c1 = leftToRight ? leftIndex : rightIndex;
			uint c2 = leftToRight ? rightIndex : leftIndex;

			// set c2 in the stack so we traverse it later. We need to keep track of a pointer in
			// the stack while we traverse. The second pointer added is the one that will be
			// traversed first
			ptr ++;
			stack[ ptr ] = c2;

			ptr ++;
			stack[ ptr ] = c1;

		}

	}

	return found;

}
`;const shaderDistanceFunction=`

float dot2( in vec3 v ) {

	return dot( v, v );

}


// https://www.shadertoy.com/view/ttfGWl
vec3 closestPointToTriangle( vec3 p, vec3 v0, vec3 v1, vec3 v2, out vec3 barycoord ) {

    vec3 v10 = v1 - v0;
    vec3 v21 = v2 - v1;
    vec3 v02 = v0 - v2;

	vec3 p0 = p - v0;
	vec3 p1 = p - v1;
	vec3 p2 = p - v2;

    vec3 nor = cross( v10, v02 );

    // method 2, in barycentric space
    vec3  q = cross( nor, p0 );
    float d = 1.0 / dot2( nor );
    float u = d * dot( q, v02 );
    float v = d * dot( q, v10 );
    float w = 1.0 - u - v;

	if( u < 0.0 ) {

		w = clamp( dot( p2, v02 ) / dot2( v02 ), 0.0, 1.0 );
		u = 0.0;
		v = 1.0 - w;

	} else if( v < 0.0 ) {

		u = clamp( dot( p0, v10 ) / dot2( v10 ), 0.0, 1.0 );
		v = 0.0;
		w = 1.0 - u;

	} else if( w < 0.0 ) {

		v = clamp( dot( p1, v21 ) / dot2( v21 ), 0.0, 1.0 );
		w = 0.0;
		u = 1.0-v;

	}

	barycoord = vec3( u, v, w );
    return u * v1 + v * v2 + w * v0;

}

float distanceToTriangles(
	BVH bvh, vec3 point, uint offset, uint count, float closestDistanceSquared,

	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out vec3 outPoint
) {

	bool found = false;
	uvec3 localIndices;
	vec3 localBarycoord;
	vec3 localNormal;
	for ( uint i = offset, l = offset + count; i < l; i ++ ) {

		uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz;
		vec3 a = texelFetch1D( bvh.position, indices.x ).rgb;
		vec3 b = texelFetch1D( bvh.position, indices.y ).rgb;
		vec3 c = texelFetch1D( bvh.position, indices.z ).rgb;

		// get the closest point and barycoord
		vec3 closestPoint = closestPointToTriangle( point, a, b, c, localBarycoord );
		vec3 delta = point - closestPoint;
		float sqDist = dot2( delta );
		if ( sqDist < closestDistanceSquared ) {

			// set the output results
			closestDistanceSquared = sqDist;
			faceIndices = uvec4( indices.xyz, i );
			faceNormal = normalize( cross( a - b, b - c ) );
			barycoord = localBarycoord;
			outPoint = closestPoint;
			side = sign( dot( faceNormal, delta ) );

		}

	}

	return closestDistanceSquared;

}

float distanceSqToBounds( vec3 point, vec3 boundsMin, vec3 boundsMax ) {

	vec3 clampedPoint = clamp( point, boundsMin, boundsMax );
	vec3 delta = point - clampedPoint;
	return dot( delta, delta );

}

float distanceSqToBVHNodeBoundsPoint( vec3 point, BVH bvh, uint currNodeIndex ) {

	vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz;
	vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz;
	return distanceSqToBounds( point, boundsMin, boundsMax );

}

float bvhClosestPointToPoint(
	BVH bvh, vec3 point,

	// output variables
	out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord,
	out float side, out vec3 outPoint
 ) {

	// stack needs to be twice as long as the deepest tree we expect because
	// we push both the left and right child onto the stack every traversal
	int ptr = 0;
	uint stack[ 60 ];
	stack[ 0 ] = 0u;
	float closestDistanceSquared = pow( 100000.0, 2.0 );
	bool found = false;
	while ( ptr > - 1 && ptr < 60 ) {

		uint currNodeIndex = stack[ ptr ];
		ptr --;

		// check if we intersect the current bounds
		float boundsHitDistance = distanceSqToBVHNodeBoundsPoint( point, bvh, currNodeIndex );
		if ( boundsHitDistance > closestDistanceSquared ) {

			continue;

		}

		uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy;
		bool isLeaf = bool( boundsInfo.x & 0xffff0000u );
		if ( isLeaf ) {

			uint count = boundsInfo.x & 0x0000ffffu;
			uint offset = boundsInfo.y;
			closestDistanceSquared = distanceToTriangles(
				bvh, point, offset, count, closestDistanceSquared,

				// outputs
				faceIndices, faceNormal, barycoord, side, outPoint
			);

		} else {

			uint leftIndex = currNodeIndex + 1u;
			uint splitAxis = boundsInfo.x & 0x0000ffffu;
			uint rightIndex = boundsInfo.y;
			bool leftToRight = distanceSqToBVHNodeBoundsPoint( point, bvh, leftIndex ) < distanceSqToBVHNodeBoundsPoint( point, bvh, rightIndex );//rayDirection[ splitAxis ] >= 0.0;
			uint c1 = leftToRight ? leftIndex : rightIndex;
			uint c2 = leftToRight ? rightIndex : leftIndex;

			// set c2 in the stack so we traverse it later. We need to keep track of a pointer in
			// the stack while we traverse. The second pointer added is the one that will be
			// traversed first
			ptr ++;
			stack[ ptr ] = c2;
			ptr ++;
			stack[ ptr ] = c1;

		}

	}

	return sqrt( closestDistanceSquared );

}
`;const _positionVector=new three.Vector3;const _normalVector=new three.Vector3;const _tangentVector=new three.Vector3;const _tangentVector4=new three.Vector4;const _morphVector=new three.Vector3;const _temp=new three.Vector3;const _skinIndex=new three.Vector4;const _skinWeight=new three.Vector4;const _matrix=new three.Matrix4;const _boneMatrix=new three.Matrix4;function validateAttributes(attr1,attr2){if(!attr1&&!attr2){return}const sameCount=attr1.count===attr2.count;const sameNormalized=attr1.normalized===attr2.normalized;const sameType=attr1.array.constructor===attr2.array.constructor;const sameItemSize=attr1.itemSize===attr2.itemSize;if(!sameCount||!sameNormalized||!sameType||!sameItemSize){throw new Error}}function createAttributeClone(attr,countOverride=null){const cons=attr.array.constructor;const normalized=attr.normalized;const itemSize=attr.itemSize;const count=countOverride===null?attr.count:countOverride;return new three.BufferAttribute(new cons(itemSize*count),itemSize,normalized)}function copyAttributeContents(attr,target,targetOffset=0){if(attr.isInterleavedBufferAttribute){const itemSize=attr.itemSize;for(let i=0,l=attr.count;i<l;i++){const io=i+targetOffset;target.setX(io,attr.getX(i));if(itemSize>=2)target.setY(io,attr.getY(i));if(itemSize>=3)target.setZ(io,attr.getZ(i));if(itemSize>=4)target.setW(io,attr.getW(i))}}else{const array=target.array;const cons=array.constructor;const byteOffset=array.BYTES_PER_ELEMENT*attr.itemSize*targetOffset;const temp=new cons(array.buffer,byteOffset,attr.array.length);temp.set(attr.array)}}function addScaledMatrix(target,matrix,scale){const targetArray=target.elements;const matrixArray=matrix.elements;for(let i=0,l=matrixArray.length;i<l;i++){targetArray[i]+=matrixArray[i]*scale}}function boneNormalTransform(mesh,index,target){const skeleton=mesh.skeleton;const geometry=mesh.geometry;const bones=skeleton.bones;const boneInverses=skeleton.boneInverses;_skinIndex.fromBufferAttribute(geometry.attributes.skinIndex,index);_skinWeight.fromBufferAttribute(geometry.attributes.skinWeight,index);_matrix.elements.fill(0);for(let i=0;i<4;i++){const weight=_skinWeight.getComponent(i);if(weight!==0){const boneIndex=_skinIndex.getComponent(i);_boneMatrix.multiplyMatrices(bones[boneIndex].matrixWorld,boneInverses[boneIndex]);addScaledMatrix(_matrix,_boneMatrix,weight)}}_matrix.multiply(mesh.bindMatrix).premultiply(mesh.bindMatrixInverse);target.transformDirection(_matrix);return target}function applyMorphTarget(morphData,morphInfluences,morphTargetsRelative,i,target){_morphVector.set(0,0,0);for(let j=0,jl=morphData.length;j<jl;j++){const influence=morphInfluences[j];const morphAttribute=morphData[j];if(influence===0)continue;_temp.fromBufferAttribute(morphAttribute,i);if(morphTargetsRelative){_morphVector.addScaledVector(_temp,influence)}else{_morphVector.addScaledVector(_temp.sub(target),influence)}}target.add(_morphVector)}function mergeBufferGeometries(geometries,options={useGroups:false,updateIndex:false,skipAttributes:[]},targetGeometry=new three.BufferGeometry){const isIndexed=geometries[0].index!==null;const{useGroups=false,updateIndex=false,skipAttributes=[]}=options;const attributesUsed=new Set(Object.keys(geometries[0].attributes));const attributes={};let offset=0;targetGeometry.clearGroups();for(let i=0;i<geometries.length;++i){const geometry=geometries[i];let attributesCount=0;if(isIndexed!==(geometry.index!==null)){throw new Error("StaticGeometryGenerator: All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.")}for(const name in geometry.attributes){if(!attributesUsed.has(name)){throw new Error("StaticGeometryGenerator: All geometries must have compatible attributes; make sure \""+name+"\" attribute exists among all geometries, or in none of them.")}if(attributes[name]===undefined){attributes[name]=[]}attributes[name].push(geometry.attributes[name]);attributesCount++}if(attributesCount!==attributesUsed.size){throw new Error("StaticGeometryGenerator: Make sure all geometries have the same number of attributes.")}if(useGroups){let count;if(isIndexed){count=geometry.index.count}else if(geometry.attributes.position!==undefined){count=geometry.attributes.position.count}else{throw new Error("StaticGeometryGenerator: The geometry must have either an index or a position attribute")}targetGeometry.addGroup(offset,count,i);offset+=count}}if(isIndexed){let forceUpdateIndex=false;if(!targetGeometry.index){let indexCount=0;for(let i=0;i<geometries.length;++i){indexCount+=geometries[i].index.count}targetGeometry.setIndex(new three.BufferAttribute(new Uint32Array(indexCount),1,false));forceUpdateIndex=true}if(updateIndex||forceUpdateIndex){const targetIndex=targetGeometry.index;let targetOffset=0;let indexOffset=0;for(let i=0;i<geometries.length;++i){const geometry=geometries[i];const index=geometry.index;if(skipAttributes[i]!==true){for(let j=0;j<index.count;++j){targetIndex.setX(targetOffset,index.getX(j)+indexOffset);targetOffset++}}indexOffset+=geometry.attributes.position.count}}}for(const name in attributes){const attrList=attributes[name];if(!(name in targetGeometry.attributes)){let count=0;for(const key in attrList){count+=attrList[key].count}targetGeometry.setAttribute(name,createAttributeClone(attributes[name][0],count))}const targetAttribute=targetGeometry.attributes[name];let offset=0;for(let i=0,l=attrList.length;i<l;i++){const attr=attrList[i];if(skipAttributes[i]!==true){copyAttributeContents(attr,targetAttribute,offset)}offset+=attr.count}}return targetGeometry}function checkTypedArrayEquality(a,b){if(a===null||b===null){return a===b}if(a.length!==b.length){return false}for(let i=0,l=a.length;i<l;i++){if(a[i]!==b[i]){return false}}return true}class GeometryDiff{constructor(mesh){this.matrixWorld=new three.Matrix4;this.geometryHash=null;this.boneMatrices=null;this.primitiveCount=-1;this.mesh=mesh;this.update()}update(){const mesh=this.mesh;const geometry=mesh.geometry;const skeleton=mesh.skeleton;const primitiveCount=(geometry.index?geometry.index.count:geometry.attributes.position.count)/3;this.matrixWorld.copy(mesh.matrixWorld);this.geometryHash=geometry.attributes.position.version;this.primitiveCount=primitiveCount;if(skeleton){if(!skeleton.boneTexture){skeleton.computeBoneTexture()}skeleton.update();const boneMatrices=skeleton.boneMatrices;if(!this.boneMatrices||this.boneMatrices.length!==boneMatrices.length){this.boneMatrices=boneMatrices.slice()}else{this.boneMatrices.set(boneMatrices)}}else{this.boneMatrices=null}}didChange(){const mesh=this.mesh;const geometry=mesh.geometry;const primitiveCount=(geometry.index?geometry.index.count:geometry.attributes.position.count)/3;const identical=this.matrixWorld.equals(mesh.matrixWorld)&&this.geometryHash===geometry.attributes.position.version&&checkTypedArrayEquality(mesh.skeleton&&mesh.skeleton.boneMatrices||null,this.boneMatrices)&&this.primitiveCount===primitiveCount;return!identical}}class StaticGeometryGenerator{constructor(meshes){if(!Array.isArray(meshes)){meshes=[meshes]}const finalMeshes=[];meshes.forEach(object=>{object.traverseVisible(c=>{if(c.isMesh){finalMeshes.push(c)}})});this.meshes=finalMeshes;this.useGroups=true;this.applyWorldTransforms=true;this.attributes=["position","normal","color","tangent","uv","uv2"];this._intermediateGeometry=new Array(finalMeshes.length).fill().map(()=>new three.BufferGeometry);this._diffMap=new WeakMap}getMaterials(){const materials=[];this.meshes.forEach(mesh=>{if(Array.isArray(mesh.material)){materials.push(...mesh.material)}else{materials.push(mesh.material)}});return materials}generate(targetGeometry=new three.BufferGeometry){let skipAttributes=[];const{meshes,useGroups,_intermediateGeometry,_diffMap}=this;for(let i=0,l=meshes.length;i<l;i++){const mesh=meshes[i];const geom=_intermediateGeometry[i];const diff=_diffMap.get(mesh);if(!diff||diff.didChange(mesh)){this._convertToStaticGeometry(mesh,geom);skipAttributes.push(false);if(!diff){_diffMap.set(mesh,new GeometryDiff(mesh))}else{diff.update()}}else{skipAttributes.push(true)}}mergeBufferGeometries(_intermediateGeometry,{useGroups,skipAttributes},targetGeometry);for(const key in targetGeometry.attributes){targetGeometry.attributes[key].needsUpdate=true}return targetGeometry}_convertToStaticGeometry(mesh,targetGeometry=new three.BufferGeometry){const geometry=mesh.geometry;const applyWorldTransforms=this.applyWorldTransforms;const includeNormal=this.attributes.includes("normal");const includeTangent=this.attributes.includes("tangent");const attributes=geometry.attributes;const targetAttributes=targetGeometry.attributes;if(!targetGeometry.index){targetGeometry.index=geometry.index}if(!targetAttributes.position){targetGeometry.setAttribute("position",createAttributeClone(attributes.position))}if(includeNormal&&!targetAttributes.normal&&attributes.normal){targetGeometry.setAttribute("normal",createAttributeClone(attributes.normal))}if(includeTangent&&!targetAttributes.tangent&&attributes.tangent){targetGeometry.setAttribute("tangent",createAttributeClone(attributes.tangent))}validateAttributes(geometry.index,targetGeometry.index);validateAttributes(attributes.position,targetAttributes.position);if(includeNormal){validateAttributes(attributes.normal,targetAttributes.normal)}if(includeTangent){validateAttributes(attributes.tangent,targetAttributes.tangent)}const position=attributes.position;const normal=includeNormal?attributes.normal:null;const tangent=includeTangent?attributes.tangent:null;const morphPosition=geometry.morphAttributes.position;const morphNormal=geometry.morphAttributes.normal;const morphTangent=geometry.morphAttributes.tangent;const morphTargetsRelative=geometry.morphTargetsRelative;const morphInfluences=mesh.morphTargetInfluences;const normalMatrix=new three.Matrix3;normalMatrix.getNormalMatrix(mesh.matrixWorld);for(let i=0,l=attributes.position.count;i<l;i++){_positionVector.fromBufferAttribute(position,i);if(normal){_normalVector.fromBufferAttribute(normal,i)}if(tangent){_tangentVector4.fromBufferAttribute(tangent,i);_tangentVector.fromBufferAttribute(tangent,i)}if(morphInfluences){if(morphPosition){applyMorphTarget(morphPosition,morphInfluences,morphTargetsRelative,i,_positionVector)}if(morphNormal){applyMorphTarget(morphNormal,morphInfluences,morphTargetsRelative,i,_normalVector)}if(morphTangent){applyMorphTarget(morphTangent,morphInfluences,morphTargetsRelative,i,_tangentVector)}}if(mesh.isSkinnedMesh){mesh.applyBoneTransform(i,_positionVector);if(normal){boneNormalTransform(mesh,i,_normalVector)}if(tangent){boneNormalTransform(mesh,i,_tangentVector)}}if(applyWorldTransforms){_positionVector.applyMatrix4(mesh.matrixWorld)}targetAttributes.position.setXYZ(i,_positionVector.x,_positionVector.y,_positionVector.z);if(normal){if(applyWorldTransforms){_normalVector.applyNormalMatrix(normalMatrix)}targetAttributes.normal.setXYZ(i,_normalVector.x,_normalVector.y,_normalVector.z)}if(tangent){if(applyWorldTransforms){_tangentVector.transformDirection(mesh.matrixWorld)}targetAttributes.tangent.setXYZW(i,_tangentVector.x,_tangentVector.y,_tangentVector.z,_tangentVector4.w)}}for(const i in this.attributes){const key=this.attributes[i];if(key==="position"||key==="tangent"||key==="normal"||!(key in attributes)){continue}if(!targetAttributes[key]){targetGeometry.setAttribute(key,createAttributeClone(attributes[key]))}validateAttributes(attributes[key],targetAttributes[key]);copyAttributeContents(attributes[key],targetAttributes[key])}return targetGeometry}}exports.AVERAGE=AVERAGE;exports.CENTER=CENTER;exports.CONTAINED=CONTAINED;exports.ExtendedTriangle=ExtendedTriangle;exports.FloatVertexAttributeTexture=FloatVertexAttributeTexture;exports.INTERSECTED=INTERSECTED;exports.IntVertexAttributeTexture=IntVertexAttributeTexture;exports.MeshBVH=MeshBVH;exports.MeshBVHUniformStruct=MeshBVHUniformStruct;exports.MeshBVHVisualizer=MeshBVHVisualizer;exports.NOT_INTERSECTED=NOT_INTERSECTED;exports.OrientedBox=OrientedBox;exports.SAH=SAH;exports.StaticGeometryGenerator=StaticGeometryGenerator;exports.UIntVertexAttributeTexture=UIntVertexAttributeTexture;exports.VertexAttributeTexture=VertexAttributeTexture;exports.acceleratedRaycast=acceleratedRaycast;exports.computeBoundsTree=computeBoundsTree;exports.disposeBoundsTree=disposeBoundsTree;exports.estimateMemoryInBytes=estimateMemoryInBytes;exports.getBVHExtremes=getBVHExtremes;exports.getJSONStructure=getJSONStructure;exports.getTriangleHitPointInfo=getTriangleHitPointInfo;exports.shaderDistanceFunction=shaderDistanceFunction;exports.shaderIntersectFunction=shaderIntersectFunction;exports.shaderStructs=shaderStructs;exports.validateBounds=validateBounds;Object.defineProperty(exports,"__esModule",{value:true});three.BufferGeometry.prototype.computeBoundsTree=computeBoundsTree;three.BufferGeometry.prototype.disposeBoundsTree=disposeBoundsTree;three.Mesh.prototype.raycast=acceleratedRaycast});THREE.MeshoptDecoder=function(){"use strict";var wasm_base="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";var wasm_simd="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";var detector=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);var wasmpack=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=="object"){return{supported:false}}var wasm=WebAssembly.validate(detector)?wasm_simd:wasm_base;var instance;var ready=WebAssembly.instantiate(unpack(wasm),{}).then(function(result){instance=result.instance;instance.exports.__wasm_call_ctors()});function unpack(data){var result=new Uint8Array(data.length);for(var i=0;i<data.length;++i){var ch=data.charCodeAt(i);result[i]=ch>96?ch-97:ch>64?ch-39:ch+4}var write=0;for(var i=0;i<data.length;++i){result[write++]=result[i]<60?wasmpack[result[i]]:(result[i]-60)*64+result[++i]}return result.buffer.slice(0,write)}function decode(fun,target,count,size,source,filter){var sbrk=instance.exports.sbrk;var count4=count+3&~3;var tp=sbrk(count4*size);var sp=sbrk(source.length);var heap=new Uint8Array(instance.exports.memory.buffer);heap.set(source,sp);var res=fun(tp,count,size,sp,source.length);if(res==0&&filter){filter(tp,count4,size)}target.set(heap.subarray(tp,tp+count*size));sbrk(tp-sbrk(0));if(res!=0){throw new Error("Malformed buffer data: "+res)}}var filters={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"};var decoders={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};var workers=[];var requestId=0;function createWorker(url){var worker={object:new Worker(url),pending:0,requests:{}};worker.object.onmessage=function(event){var data=event.data;worker.pending-=data.count;worker.requests[data.id][data.action](data.value);delete worker.requests[data.id]};return worker}function initWorkers(count){var source="var instance; var ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(unpack(wasm))+"]), {})"+".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });"+"self.onmessage = workerProcess;"+decode.toString()+workerProcess.toString();var blob=new Blob([source],{type:"text/javascript"});var url=URL.createObjectURL(blob);for(var i=0;i<count;++i){workers[i]=createWorker(url)}URL.revokeObjectURL(url)}function decodeWorker(count,size,source,mode,filter){var worker=workers[0];for(var i=1;i<workers.length;++i){if(workers[i].pending<worker.pending){worker=workers[i]}}return new Promise(function(resolve,reject){var data=new Uint8Array(source);var id=requestId++;worker.pending+=count;worker.requests[id]={resolve:resolve,reject:reject};worker.object.postMessage({id:id,count:count,size:size,source:data,mode:mode,filter:filter},[data.buffer])})}function workerProcess(event){ready.then(function(){var data=event.data;try{var target=new Uint8Array(data.count*data.size);decode(instance.exports[data.mode],target,data.count,data.size,data.source,instance.exports[data.filter]);self.postMessage({id:data.id,count:data.count,action:"resolve",value:target},[target.buffer])}catch(error){self.postMessage({id:data.id,count:data.count,action:"reject",value:error})}})}return{ready:ready,supported:true,useWorkers:function(count){initWorkers(count)},decodeVertexBuffer:function(target,count,size,source,filter){decode(instance.exports.meshopt_decodeVertexBuffer,target,count,size,source,instance.exports[filters[filter]])},decodeIndexBuffer:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexBuffer,target,count,size,source)},decodeIndexSequence:function(target,count,size,source){decode(instance.exports.meshopt_decodeIndexSequence,target,count,size,source)},decodeGltfBuffer:function(target,count,size,source,mode,filter){decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]])},decodeGltfBufferAsync:function(count,size,source,mode,filter){if(workers.length>0){return decodeWorker(count,size,source,decoders[mode],filters[filter])}return ready.then(function(){var target=new Uint8Array(count*size);decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]]);return target})}}}();(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Color=THREE.Color,Vector3=THREE.Vector3;class Face3{constructor(a,b,c,normal,color,materialIndex=0){this.a=a;this.b=b;this.c=c;this.normal=normal&&normal.isVector3?normal:new Vector3;this.vertexNormals=Array.isArray(normal)?normal:[];this.color=color&&color.isColor?color:new Color;this.vertexColors=Array.isArray(color)?color:[];this.materialIndex=materialIndex}clone(){return new this.constructor().copy(this)}copy(source){this.a=source.a;this.b=source.b;this.c=source.c;this.normal.copy(source.normal);this.color.copy(source.color);this.materialIndex=source.materialIndex;for(let i=0,il=source.vertexNormals.length;i<il;i++){this.vertexNormals[i]=source.vertexNormals[i].clone()}for(let i=0,il=source.vertexColors.length;i<il;i++){this.vertexColors[i]=source.vertexColors[i].clone()}return this}}THREE.Face3=Face3});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Color=THREE.Color,EventDispatcher=THREE.EventDispatcher,Float32BufferAttribute=THREE.Float32BufferAttribute,Matrix3=THREE.Matrix3,Matrix4=THREE.Matrix4,MathUtils=THREE.MathUtils,Object3D=THREE.Object3D,Sphere=THREE.Sphere,Vector2=THREE.Vector2,Vector3=THREE.Vector3;const _m1=new Matrix4;const _obj=new Object3D;const _offset=new Vector3;class Geometry extends EventDispatcher{constructor(){super();this.uuid=MathUtils.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.elementsNeedUpdate=false;this.verticesNeedUpdate=false;this.uvsNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.lineDistancesNeedUpdate=false;this.groupsNeedUpdate=false}applyMatrix4(matrix){const normalMatrix=new Matrix3().getNormalMatrix(matrix);for(let i=0,il=this.vertices.length;i<il;i++){const vertex=this.vertices[i];vertex.applyMatrix4(matrix)}for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.normal.applyMatrix3(normalMatrix).normalize();for(let j=0,jl=face.vertexNormals.length;j<jl;j++){face.vertexNormals[j].applyMatrix3(normalMatrix).normalize()}}if(this.boundingBox!==null){this.computeBoundingBox()}if(this.boundingSphere!==null){this.computeBoundingSphere()}this.verticesNeedUpdate=true;this.normalsNeedUpdate=true;return this}rotateX(angle){_m1.makeRotationX(angle);this.applyMatrix4(_m1);return this}rotateY(angle){_m1.makeRotationY(angle);this.applyMatrix4(_m1);return this}rotateZ(angle){_m1.makeRotationZ(angle);this.applyMatrix4(_m1);return this}translate(x,y,z){_m1.makeTranslation(x,y,z);this.applyMatrix4(_m1);return this}scale(x,y,z){_m1.makeScale(x,y,z);this.applyMatrix4(_m1);return this}lookAt(vector){_obj.lookAt(vector);_obj.updateMatrix();this.applyMatrix4(_obj.matrix);return this}fromBufferGeometry(geometry){const scope=this;const index=geometry.index!==null?geometry.index:undefined;const attributes=geometry.attributes;if(attributes.position===undefined){console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.");return this}const position=attributes.position;const normal=attributes.normal;const color=attributes.color;const uv=attributes.uv;const uv2=attributes.uv2;if(uv2!==undefined)this.faceVertexUvs[1]=[];for(let i=0;i<position.count;i++){scope.vertices.push(new Vector3().fromBufferAttribute(position,i));if(color!==undefined){scope.colors.push(new Color().fromBufferAttribute(color,i))}}function addFace(a,b,c,materialIndex){const vertexColors=color===undefined?[]:[scope.colors[a].clone(),scope.colors[b].clone(),scope.colors[c].clone()];const vertexNormals=normal===undefined?[]:[new Vector3().fromBufferAttribute(normal,a),new Vector3().fromBufferAttribute(normal,b),new Vector3().fromBufferAttribute(normal,c)];const face=new Face3(a,b,c,vertexNormals,vertexColors,materialIndex);scope.faces.push(face);if(uv!==undefined){scope.faceVertexUvs[0].push([new Vector2().fromBufferAttribute(uv,a),new Vector2().fromBufferAttribute(uv,b),new Vector2().fromBufferAttribute(uv,c)])}if(uv2!==undefined){scope.faceVertexUvs[1].push([new Vector2().fromBufferAttribute(uv2,a),new Vector2().fromBufferAttribute(uv2,b),new Vector2().fromBufferAttribute(uv2,c)])}}const groups=geometry.groups;if(groups.length>0){for(let i=0;i<groups.length;i++){const group=groups[i];const start=group.start;const count=group.count;for(let j=start,jl=start+count;j<jl;j+=3){if(index!==undefined){addFace(index.getX(j),index.getX(j+1),index.getX(j+2),group.materialIndex)}else{addFace(j,j+1,j+2,group.materialIndex)}}}}else{if(index!==undefined){for(let i=0;i<index.count;i+=3){addFace(index.getX(i),index.getX(i+1),index.getX(i+2))}}else{for(let i=0;i<position.count;i+=3){addFace(i,i+1,i+2)}}}this.computeFaceNormals();if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(_offset).negate();this.translate(_offset.x,_offset.y,_offset.z);return this}normalize(){this.computeBoundingSphere();const center=this.boundingSphere.center;const radius=this.boundingSphere.radius;const s=radius===0?1:1/radius;const matrix=new Matrix4;matrix.set(s,0,0,-s*center.x,0,s,0,-s*center.y,0,0,s,-s*center.z,0,0,0,1);this.applyMatrix4(matrix);return this}computeFaceNormals(){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);cb.normalize();face.normal.copy(cb)}}computeVertexNormals(areaWeighted=true){const vertices=new Array(this.vertices.length);for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v]=new Vector3}if(areaWeighted){const cb=new Vector3,ab=new Vector3;for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vA=this.vertices[face.a];const vB=this.vertices[face.b];const vC=this.vertices[face.c];cb.subVectors(vC,vB);ab.subVectors(vA,vB);cb.cross(ab);vertices[face.a].add(cb);vertices[face.b].add(cb);vertices[face.c].add(cb)}}else{this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];vertices[face.a].add(face.normal);vertices[face.b].add(face.normal);vertices[face.c].add(face.normal)}}for(let v=0,vl=this.vertices.length;v<vl;v++){vertices[v].normalize()}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(vertices[face.a]);vertexNormals[1].copy(vertices[face.b]);vertexNormals[2].copy(vertices[face.c])}else{vertexNormals[0]=vertices[face.a].clone();vertexNormals[1]=vertices[face.b].clone();vertexNormals[2]=vertices[face.c].clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeFlatVertexNormals(){this.computeFaceNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){vertexNormals[0].copy(face.normal);vertexNormals[1].copy(face.normal);vertexNormals[2].copy(face.normal)}else{vertexNormals[0]=face.normal.clone();vertexNormals[1]=face.normal.clone();vertexNormals[2]=face.normal.clone()}}if(this.faces.length>0){this.normalsNeedUpdate=true}}computeMorphNormals(){for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];if(!face.__originalFaceNormal){face.__originalFaceNormal=face.normal.clone()}else{face.__originalFaceNormal.copy(face.normal)}if(!face.__originalVertexNormals)face.__originalVertexNormals=[];for(let i=0,il=face.vertexNormals.length;i<il;i++){if(!face.__originalVertexNormals[i]){face.__originalVertexNormals[i]=face.vertexNormals[i].clone()}else{face.__originalVertexNormals[i].copy(face.vertexNormals[i])}}}const tmpGeo=new Geometry;tmpGeo.faces=this.faces;for(let i=0,il=this.morphTargets.length;i<il;i++){if(!this.morphNormals[i]){this.morphNormals[i]={};this.morphNormals[i].faceNormals=[];this.morphNormals[i].vertexNormals=[];const dstNormalsFace=this.morphNormals[i].faceNormals;const dstNormalsVertex=this.morphNormals[i].vertexNormals;for(let f=0,fl=this.faces.length;f<fl;f++){const faceNormal=new Vector3;const vertexNormals={a:new Vector3,b:new Vector3,c:new Vector3};dstNormalsFace.push(faceNormal);dstNormalsVertex.push(vertexNormals)}}const morphNormals=this.morphNormals[i];tmpGeo.vertices=this.morphTargets[i].vertices;tmpGeo.computeFaceNormals();tmpGeo.computeVertexNormals();for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];const faceNormal=morphNormals.faceNormals[f];const vertexNormals=morphNormals.vertexNormals[f];faceNormal.copy(face.normal);vertexNormals.a.copy(face.vertexNormals[0]);vertexNormals.b.copy(face.vertexNormals[1]);vertexNormals.c.copy(face.vertexNormals[2])}}for(let f=0,fl=this.faces.length;f<fl;f++){const face=this.faces[f];face.normal=face.__originalFaceNormal;face.vertexNormals=face.__originalVertexNormals}}computeBoundingBox(){if(this.boundingBox===null){this.boundingBox=new Box3}this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){if(this.boundingSphere===null){this.boundingSphere=new Sphere}this.boundingSphere.setFromPoints(this.vertices)}merge(geometry,matrix,materialIndexOffset=0){if(!(geometry&&geometry.isGeometry)){console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",geometry);return}let normalMatrix;const vertexOffset=this.vertices.length,vertices1=this.vertices,vertices2=geometry.vertices,faces1=this.faces,faces2=geometry.faces,colors1=this.colors,colors2=geometry.colors;if(matrix!==undefined){normalMatrix=new Matrix3().getNormalMatrix(matrix)}for(let i=0,il=vertices2.length;i<il;i++){const vertex=vertices2[i];const vertexCopy=vertex.clone();if(matrix!==undefined)vertexCopy.applyMatrix4(matrix);vertices1.push(vertexCopy)}for(let i=0,il=colors2.length;i<il;i++){colors1.push(colors2[i].clone())}for(let i=0,il=faces2.length;i<il;i++){const face=faces2[i];let normal,color;const faceVertexNormals=face.vertexNormals,faceVertexColors=face.vertexColors;const faceCopy=new Face3(face.a+vertexOffset,face.b+vertexOffset,face.c+vertexOffset);faceCopy.normal.copy(face.normal);if(normalMatrix!==undefined){faceCopy.normal.applyMatrix3(normalMatrix).normalize()}for(let j=0,jl=faceVertexNormals.length;j<jl;j++){normal=faceVertexNormals[j].clone();if(normalMatrix!==undefined){normal.applyMatrix3(normalMatrix).normalize()}faceCopy.vertexNormals.push(normal)}faceCopy.color.copy(face.color);for(let j=0,jl=faceVertexColors.length;j<jl;j++){color=faceVertexColors[j];faceCopy.vertexColors.push(color.clone())}faceCopy.materialIndex=face.materialIndex+materialIndexOffset;faces1.push(faceCopy)}for(let i=0,il=geometry.faceVertexUvs.length;i<il;i++){const faceVertexUvs2=geometry.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined)this.faceVertexUvs[i]=[];for(let j=0,jl=faceVertexUvs2.length;j<jl;j++){const uvs2=faceVertexUvs2[j],uvsCopy=[];for(let k=0,kl=uvs2.length;k<kl;k++){uvsCopy.push(uvs2[k].clone())}this.faceVertexUvs[i].push(uvsCopy)}}}mergeMesh(mesh){if(!(mesh&&mesh.isMesh)){console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",mesh);return}if(mesh.matrixAutoUpdate)mesh.updateMatrix();this.merge(mesh.geometry,mesh.matrix)}mergeVertices(precisionPoints=4){const verticesMap={};const unique=[],changes=[];const precision=Math.pow(10,precisionPoints);for(let i=0,il=this.vertices.length;i<il;i++){const v=this.vertices[i];const key=Math.round(v.x*precision)+"_"+Math.round(v.y*precision)+"_"+Math.round(v.z*precision);if(verticesMap[key]===undefined){verticesMap[key]=i;unique.push(this.vertices[i]);changes[i]=unique.length-1}else{changes[i]=changes[verticesMap[key]]}}const faceIndicesToRemove=[];for(let i=0,il=this.faces.length;i<il;i++){const face=this.faces[i];face.a=changes[face.a];face.b=changes[face.b];face.c=changes[face.c];const indices=[face.a,face.b,face.c];for(let n=0;n<3;n++){if(indices[n]===indices[(n+1)%3]){faceIndicesToRemove.push(i);break}}}for(let i=faceIndicesToRemove.length-1;i>=0;i--){const idx=faceIndicesToRemove[i];this.faces.splice(idx,1);for(let j=0,jl=this.faceVertexUvs.length;j<jl;j++){this.faceVertexUvs[j].splice(idx,1)}}const diff=this.vertices.length-unique.length;this.vertices=unique;return diff}setFromPoints(points){this.vertices=[];for(let i=0,l=points.length;i<l;i++){const point=points[i];this.vertices.push(new Vector3(point.x,point.y,point.z||0))}return this}sortFacesByMaterialIndex(){const faces=this.faces;const length=faces.length;for(let i=0;i<length;i++){faces[i]._id=i}function materialIndexSort(a,b){return a.materialIndex-b.materialIndex}faces.sort(materialIndexSort);const uvs1=this.faceVertexUvs[0];const uvs2=this.faceVertexUvs[1];let newUvs1,newUvs2;if(uvs1&&uvs1.length===length)newUvs1=[];if(uvs2&&uvs2.length===length)newUvs2=[];for(let i=0;i<length;i++){const id=faces[i]._id;if(newUvs1)newUvs1.push(uvs1[id]);if(newUvs2)newUvs2.push(uvs2[id])}if(newUvs1)this.faceVertexUvs[0]=newUvs1;if(newUvs2)this.faceVertexUvs[1]=newUvs2}toJSON(){const data={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};data.uuid=this.uuid;data.type=this.type;if(this.name!=="")data.name=this.name;if(this.parameters!==undefined){const parameters=this.parameters;for(const key in parameters){if(parameters[key]!==undefined)data[key]=parameters[key]}return data}const vertices=[];for(let i=0;i<this.vertices.length;i++){const vertex=this.vertices[i];vertices.push(vertex.x,vertex.y,vertex.z)}const faces=[];const normals=[];const normalsHash={};const colors=[];const colorsHash={};const uvs=[];const uvsHash={};for(let i=0;i<this.faces.length;i++){const face=this.faces[i];const hasMaterial=true;const hasFaceUv=false;const hasFaceVertexUv=this.faceVertexUvs[0][i]!==undefined;const hasFaceNormal=face.normal.length()>0;const hasFaceVertexNormal=face.vertexNormals.length>0;const hasFaceColor=face.color.r!==1||face.color.g!==1||face.color.b!==1;const hasFaceVertexColor=face.vertexColors.length>0;let faceType=0;faceType=setBit(faceType,0,0);faceType=setBit(faceType,1,hasMaterial);faceType=setBit(faceType,2,hasFaceUv);faceType=setBit(faceType,3,hasFaceVertexUv);faceType=setBit(faceType,4,hasFaceNormal);faceType=setBit(faceType,5,hasFaceVertexNormal);faceType=setBit(faceType,6,hasFaceColor);faceType=setBit(faceType,7,hasFaceVertexColor);faces.push(faceType);faces.push(face.a,face.b,face.c);faces.push(face.materialIndex);if(hasFaceVertexUv){const faceVertexUvs=this.faceVertexUvs[0][i];faces.push(getUvIndex(faceVertexUvs[0]),getUvIndex(faceVertexUvs[1]),getUvIndex(faceVertexUvs[2]))}if(hasFaceNormal){faces.push(getNormalIndex(face.normal))}if(hasFaceVertexNormal){const vertexNormals=face.vertexNormals;faces.push(getNormalIndex(vertexNormals[0]),getNormalIndex(vertexNormals[1]),getNormalIndex(vertexNormals[2]))}if(hasFaceColor){faces.push(getColorIndex(face.color))}if(hasFaceVertexColor){const vertexColors=face.vertexColors;faces.push(getColorIndex(vertexColors[0]),getColorIndex(vertexColors[1]),getColorIndex(vertexColors[2]))}}function setBit(value,position,enabled){return enabled?value|1<<position:value&~(1<<position)}function getNormalIndex(normal){const hash=normal.x.toString()+normal.y.toString()+normal.z.toString();if(normalsHash[hash]!==undefined){return normalsHash[hash]}normalsHash[hash]=normals.length/3;normals.push(normal.x,normal.y,normal.z);return normalsHash[hash]}function getColorIndex(color){const hash=color.r.toString()+color.g.toString()+color.b.toString();if(colorsHash[hash]!==undefined){return colorsHash[hash]}colorsHash[hash]=colors.length;colors.push(color.getHex());return colorsHash[hash]}function getUvIndex(uv){const hash=uv.x.toString()+uv.y.toString();if(uvsHash[hash]!==undefined){return uvsHash[hash]}uvsHash[hash]=uvs.length/2;uvs.push(uv.x,uv.y);return uvsHash[hash]}data.data={};data.data.vertices=vertices;data.data.normals=normals;if(colors.length>0)data.data.colors=colors;if(uvs.length>0)data.data.uvs=[uvs];data.data.faces=faces;return data}clone(){return new Geometry().copy(this)}copy(source){this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.name=source.name;const vertices=source.vertices;for(let i=0,il=vertices.length;i<il;i++){this.vertices.push(vertices[i].clone())}const colors=source.colors;for(let i=0,il=colors.length;i<il;i++){this.colors.push(colors[i].clone())}const faces=source.faces;for(let i=0,il=faces.length;i<il;i++){this.faces.push(faces[i].clone())}for(let i=0,il=source.faceVertexUvs.length;i<il;i++){const faceVertexUvs=source.faceVertexUvs[i];if(this.faceVertexUvs[i]===undefined){this.faceVertexUvs[i]=[]}for(let j=0,jl=faceVertexUvs.length;j<jl;j++){const uvs=faceVertexUvs[j],uvsCopy=[];for(let k=0,kl=uvs.length;k<kl;k++){const uv=uvs[k];uvsCopy.push(uv.clone())}this.faceVertexUvs[i].push(uvsCopy)}}const morphTargets=source.morphTargets;for(let i=0,il=morphTargets.length;i<il;i++){const morphTarget={};morphTarget.name=morphTargets[i].name;if(morphTargets[i].vertices!==undefined){morphTarget.vertices=[];for(let j=0,jl=morphTargets[i].vertices.length;j<jl;j++){morphTarget.vertices.push(morphTargets[i].vertices[j].clone())}}if(morphTargets[i].normals!==undefined){morphTarget.normals=[];for(let j=0,jl=morphTargets[i].normals.length;j<jl;j++){morphTarget.normals.push(morphTargets[i].normals[j].clone())}}this.morphTargets.push(morphTarget)}const morphNormals=source.morphNormals;for(let i=0,il=morphNormals.length;i<il;i++){const morphNormal={};if(morphNormals[i].vertexNormals!==undefined){morphNormal.vertexNormals=[];for(let j=0,jl=morphNormals[i].vertexNormals.length;j<jl;j++){const srcVertexNormal=morphNormals[i].vertexNormals[j];const destVertexNormal={};destVertexNormal.a=srcVertexNormal.a.clone();destVertexNormal.b=srcVertexNormal.b.clone();destVertexNormal.c=srcVertexNormal.c.clone();morphNormal.vertexNormals.push(destVertexNormal)}}if(morphNormals[i].faceNormals!==undefined){morphNormal.faceNormals=[];for(let j=0,jl=morphNormals[i].faceNormals.length;j<jl;j++){morphNormal.faceNormals.push(morphNormals[i].faceNormals[j].clone())}}this.morphNormals.push(morphNormal)}const skinWeights=source.skinWeights;for(let i=0,il=skinWeights.length;i<il;i++){this.skinWeights.push(skinWeights[i].clone())}const skinIndices=source.skinIndices;for(let i=0,il=skinIndices.length;i<il;i++){this.skinIndices.push(skinIndices[i].clone())}const lineDistances=source.lineDistances;for(let i=0,il=lineDistances.length;i<il;i++){this.lineDistances.push(lineDistances[i])}const boundingBox=source.boundingBox;if(boundingBox!==null){this.boundingBox=boundingBox.clone()}const boundingSphere=source.boundingSphere;if(boundingSphere!==null){this.boundingSphere=boundingSphere.clone()}this.elementsNeedUpdate=source.elementsNeedUpdate;this.verticesNeedUpdate=source.verticesNeedUpdate;this.uvsNeedUpdate=source.uvsNeedUpdate;this.normalsNeedUpdate=source.normalsNeedUpdate;this.colorsNeedUpdate=source.colorsNeedUpdate;this.lineDistancesNeedUpdate=source.lineDistancesNeedUpdate;this.groupsNeedUpdate=source.groupsNeedUpdate;return this}toBufferGeometry(){const geometry=new DirectGeometry().fromGeometry(this);const buffergeometry=new BufferGeometry;const positions=new Float32Array(geometry.vertices.length*3);buffergeometry.setAttribute("position",copyVector3sArray(new BufferAttribute(positions,3),geometry.vertices));if(geometry.normals.length>0){const normals=new Float32Array(geometry.normals.length*3);buffergeometry.setAttribute("normal",copyVector3sArray(new BufferAttribute(normals,3),geometry.normals))}if(geometry.colors.length>0){const colors=new Float32Array(geometry.colors.length*3);buffergeometry.setAttribute("color",copyColorsArray(new BufferAttribute(colors,3),geometry.colors))}if(geometry.uvs.length>0){const uvs=new Float32Array(geometry.uvs.length*2);buffergeometry.setAttribute("uv",copyVector2sArray(new BufferAttribute(uvs,2),geometry.uvs))}if(geometry.uvs2.length>0){const uvs2=new Float32Array(geometry.uvs2.length*2);buffergeometry.setAttribute("uv2",copyVector2sArray(new BufferAttribute(uvs2,2),geometry.uvs2))}buffergeometry.groups=geometry.groups;for(const name in geometry.morphTargets){const array=[];const morphTargets=geometry.morphTargets[name];for(let i=0,l=morphTargets.length;i<l;i++){const morphTarget=morphTargets[i];const attribute=new Float32BufferAttribute(morphTarget.data.length*3,3);attribute.name=morphTarget.name;array.push(copyVector3sArray(attribute,morphTarget.data))}buffergeometry.morphAttributes[name]=array}if(geometry.skinIndices.length>0){const skinIndices=new Float32BufferAttribute(geometry.skinIndices.length*4,4);buffergeometry.setAttribute("skinIndex",copyVector4sArray(skinIndices,geometry.skinIndices))}if(geometry.skinWeights.length>0){const skinWeights=new Float32BufferAttribute(geometry.skinWeights.length*4,4);buffergeometry.setAttribute("skinWeight",copyVector4sArray(skinWeights,geometry.skinWeights))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}return buffergeometry}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(matrix){console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");return this.applyMatrix4(matrix)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(object){let buffergeometry=new BufferGeometry;const geometry=object.geometry;if(object.isPoints||object.isLine){const positions=new Float32BufferAttribute(geometry.vertices.length*3,3);const colors=new Float32BufferAttribute(geometry.colors.length*3,3);buffergeometry.setAttribute("position",copyVector3sArray(positions,geometry.vertices));buffergeometry.setAttribute("color",copyColorsArray(colors,geometry.colors));if(geometry.lineDistances&&geometry.lineDistances.length===geometry.vertices.length){const lineDistances=new Float32BufferAttribute(geometry.lineDistances.length,1);buffergeometry.setAttribute("lineDistance",lineDistances.copyArray(geometry.lineDistances))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}}else if(object.isMesh){buffergeometry=geometry.toBufferGeometry()}return buffergeometry}}Geometry.prototype.isGeometry=true;class DirectGeometry{constructor(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingBox=null;this.boundingSphere=null;this.verticesNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.uvsNeedUpdate=false;this.groupsNeedUpdate=false}computeGroups(geometry){const groups=[];let group,i;let materialIndex=undefined;const faces=geometry.faces;for(i=0;i<faces.length;i++){const face=faces[i];if(face.materialIndex!==materialIndex){materialIndex=face.materialIndex;if(group!==undefined){group.count=i*3-group.start;groups.push(group)}group={start:i*3,materialIndex:materialIndex}}}if(group!==undefined){group.count=i*3-group.start;groups.push(group)}this.groups=groups}fromGeometry(geometry){const faces=geometry.faces;const vertices=geometry.vertices;const faceVertexUvs=geometry.faceVertexUvs;const hasFaceVertexUv=faceVertexUvs[0]&&faceVertexUvs[0].length>0;const hasFaceVertexUv2=faceVertexUvs[1]&&faceVertexUvs[1].length>0;const morphTargets=geometry.morphTargets;const morphTargetsLength=morphTargets.length;let morphTargetsPosition;if(morphTargetsLength>0){morphTargetsPosition=[];for(let i=0;i<morphTargetsLength;i++){morphTargetsPosition[i]={name:morphTargets[i].name,data:[]}}this.morphTargets.position=morphTargetsPosition}const morphNormals=geometry.morphNormals;const morphNormalsLength=morphNormals.length;let morphTargetsNormal;if(morphNormalsLength>0){morphTargetsNormal=[];for(let i=0;i<morphNormalsLength;i++){morphTargetsNormal[i]={name:morphNormals[i].name,data:[]}}this.morphTargets.normal=morphTargetsNormal}const skinIndices=geometry.skinIndices;const skinWeights=geometry.skinWeights;const hasSkinIndices=skinIndices.length===vertices.length;const hasSkinWeights=skinWeights.length===vertices.length;if(vertices.length>0&&faces.length===0){console.error("THREE.DirectGeometry: Faceless geometries are not supported.")}for(let i=0;i<faces.length;i++){const face=faces[i];this.vertices.push(vertices[face.a],vertices[face.b],vertices[face.c]);const vertexNormals=face.vertexNormals;if(vertexNormals.length===3){this.normals.push(vertexNormals[0],vertexNormals[1],vertexNormals[2])}else{const normal=face.normal;this.normals.push(normal,normal,normal)}const vertexColors=face.vertexColors;if(vertexColors.length===3){this.colors.push(vertexColors[0],vertexColors[1],vertexColors[2])}else{const color=face.color;this.colors.push(color,color,color)}if(hasFaceVertexUv===true){const vertexUvs=faceVertexUvs[0][i];if(vertexUvs!==undefined){this.uvs.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",i);this.uvs.push(new Vector2,new Vector2,new Vector2)}}if(hasFaceVertexUv2===true){const vertexUvs=faceVertexUvs[1][i];if(vertexUvs!==undefined){this.uvs2.push(vertexUvs[0],vertexUvs[1],vertexUvs[2])}else{console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",i);this.uvs2.push(new Vector2,new Vector2,new Vector2)}}for(let j=0;j<morphTargetsLength;j++){const morphTarget=morphTargets[j].vertices;morphTargetsPosition[j].data.push(morphTarget[face.a],morphTarget[face.b],morphTarget[face.c])}for(let j=0;j<morphNormalsLength;j++){const morphNormal=morphNormals[j].vertexNormals[i];morphTargetsNormal[j].data.push(morphNormal.a,morphNormal.b,morphNormal.c)}if(hasSkinIndices){this.skinIndices.push(skinIndices[face.a],skinIndices[face.b],skinIndices[face.c])}if(hasSkinWeights){this.skinWeights.push(skinWeights[face.a],skinWeights[face.b],skinWeights[face.c])}}this.computeGroups(geometry);this.verticesNeedUpdate=geometry.verticesNeedUpdate;this.normalsNeedUpdate=geometry.normalsNeedUpdate;this.colorsNeedUpdate=geometry.colorsNeedUpdate;this.uvsNeedUpdate=geometry.uvsNeedUpdate;this.groupsNeedUpdate=geometry.groupsNeedUpdate;if(geometry.boundingSphere!==null){this.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){this.boundingBox=geometry.boundingBox.clone()}return this}}function copyColorsArray(bufferAttribute,colors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=colors.length;i<l;i++){let color=colors[i];if(color===undefined){console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i);color=new Color}if(bufferAttribute.normalized){array[offset++]=normalize(color.r,array);array[offset++]=normalize(color.g,array);array[offset++]=normalize(color.b,array)}else{array[offset++]=color.r;array[offset++]=color.g;array[offset++]=color.b}}return bufferAttribute}function copyVector2sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i);vector=new Vector2}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array)}else{array[offset++]=vector.x;array[offset++]=vector.y}}return bufferAttribute}function copyVector3sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i);vector=new Vector3}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z}}return bufferAttribute}function copyVector4sArray(bufferAttribute,vectors){const array=bufferAttribute.array;let offset=0;for(let i=0,l=vectors.length;i<l;i++){let vector=vectors[i];if(vector===undefined){console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i);vector=new Vector4}if(bufferAttribute.normalized){array[offset++]=normalize(vector.x,array);array[offset++]=normalize(vector.y,array);array[offset++]=normalize(vector.z,array);array[offset++]=normalize(vector.w,array)}else{array[offset++]=vector.x;array[offset++]=vector.y;array[offset++]=vector.z;array[offset++]=vector.w}}return this}THREE.Geometry=Geometry});(function(){var BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Float32BufferAttribute=THREE.Float32BufferAttribute,InstancedBufferAttribute=THREE.InstancedBufferAttribute,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,TrianglesDrawMode=THREE.TrianglesDrawMode,Vector3=THREE.Vector3;function computeMikkTSpaceTangents(geometry,MikkTSpace,negateSign=true){if(!MikkTSpace||!MikkTSpace.isReady){throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required.")}if(!geometry.hasAttribute("position")||!geometry.hasAttribute("normal")||!geometry.hasAttribute("uv")){throw new Error("BufferGeometryUtils: Tangents require \"position\", \"normal\", and \"uv\" attributes.")}function getAttributeArray(attribute){if(attribute.normalized||attribute.isInterleavedBufferAttribute){const dstArray=new Float32Array(attribute.getCount()*attribute.itemSize);for(let i=0,j=0;i<attribute.getCount();i++){dstArray[j++]=attribute.getX(i);dstArray[j++]=attribute.getY(i);if(attribute.itemSize>2){dstArray[j++]=attribute.getZ(i)}}return dstArray}if(attribute.array instanceof Float32Array){return attribute.array}return new Float32Array(attribute.array)}const _geometry=geometry.index?geometry.toNonIndexed():geometry;const tangents=MikkTSpace.generateTangents(getAttributeArray(_geometry.attributes.position),getAttributeArray(_geometry.attributes.normal),getAttributeArray(_geometry.attributes.uv));if(negateSign){for(let i=3;i<tangents.length;i+=4){tangents[i]*=-1}}_geometry.setAttribute("tangent",new BufferAttribute(tangents,4));if(geometry!==_geometry){geometry.copy(_geometry)}return geometry}function mergeGeometries(geometries,useGroups=false){const isIndexed=geometries[0].index!==null;const attributesUsed=new Set(Object.keys(geometries[0].attributes));const morphAttributesUsed=new Set(Object.keys(geometries[0].morphAttributes));const attributes={};const morphAttributes={};const morphTargetsRelative=geometries[0].morphTargetsRelative;const mergedGeometry=new BufferGeometry;let offset=0;for(let i=0;i<geometries.length;++i){const geometry=geometries[i];let attributesCount=0;if(isIndexed!==(geometry.index!==null)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them.");return null}for(const name in geometry.attributes){if(!attributesUsed.has(name)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". All geometries must have compatible attributes; make sure \""+name+"\" attribute exists among all geometries, or in none of them.");return null}if(attributes[name]===undefined)attributes[name]=[];attributes[name].push(geometry.attributes[name]);attributesCount++}if(attributesCount!==attributesUsed.size){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". Make sure all geometries have the same number of attributes.");return null}if(morphTargetsRelative!==geometry.morphTargetsRelative){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". .morphTargetsRelative must be consistent throughout all geometries.");return null}for(const name in geometry.morphAttributes){if(!morphAttributesUsed.has(name)){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+".  .morphAttributes must be consistent throughout all geometries.");return null}if(morphAttributes[name]===undefined)morphAttributes[name]=[];morphAttributes[name].push(geometry.morphAttributes[name])}if(useGroups){let count;if(isIndexed){count=geometry.index.count}else if(geometry.attributes.position!==undefined){count=geometry.attributes.position.count}else{console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+i+". The geometry must have either an index or a position attribute");return null}mergedGeometry.addGroup(offset,count,i);offset+=count}}if(isIndexed){let indexOffset=0;const mergedIndex=[];for(let i=0;i<geometries.length;++i){const index=geometries[i].index;for(let j=0;j<index.count;++j){mergedIndex.push(index.getX(j)+indexOffset)}indexOffset+=geometries[i].attributes.position.count}mergedGeometry.setIndex(mergedIndex)}for(const name in attributes){const mergedAttribute=mergeAttributes(attributes[name]);if(!mergedAttribute){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+name+" attribute.");return null}mergedGeometry.setAttribute(name,mergedAttribute)}for(const name in morphAttributes){const numMorphTargets=morphAttributes[name][0].length;if(numMorphTargets===0)break;mergedGeometry.morphAttributes=mergedGeometry.morphAttributes||{};mergedGeometry.morphAttributes[name]=[];for(let i=0;i<numMorphTargets;++i){const morphAttributesToMerge=[];for(let j=0;j<morphAttributes[name].length;++j){morphAttributesToMerge.push(morphAttributes[name][j][i])}const mergedMorphAttribute=mergeAttributes(morphAttributesToMerge);if(!mergedMorphAttribute){console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+name+" morphAttribute.");return null}mergedGeometry.morphAttributes[name].push(mergedMorphAttribute)}}return mergedGeometry}function mergeAttributes(attributes){let TypedArray;let itemSize;let normalized;let arrayLength=0;for(let i=0;i<attributes.length;++i){const attribute=attributes[i];if(attribute.isInterleavedBufferAttribute){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. InterleavedBufferAttributes are not supported.");return null}if(TypedArray===undefined)TypedArray=attribute.array.constructor;if(TypedArray!==attribute.array.constructor){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes.");return null}if(itemSize===undefined)itemSize=attribute.itemSize;if(itemSize!==attribute.itemSize){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes.");return null}if(normalized===undefined)normalized=attribute.normalized;if(normalized!==attribute.normalized){console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes.");return null}arrayLength+=attribute.array.length}const array=new TypedArray(arrayLength);let offset=0;for(let i=0;i<attributes.length;++i){array.set(attributes[i].array,offset);offset+=attributes[i].array.length}return new BufferAttribute(array,itemSize,normalized)}function deepCloneAttribute(attribute){if(attribute.isInstancedInterleavedBufferAttribute||attribute.isInterleavedBufferAttribute){return deinterleaveAttribute(attribute)}if(attribute.isInstancedBufferAttribute){return new InstancedBufferAttribute().copy(attribute)}return new BufferAttribute().copy(attribute)}function interleaveAttributes(attributes){let TypedArray;let arrayLength=0;let stride=0;for(let i=0,l=attributes.length;i<l;++i){const attribute=attributes[i];if(TypedArray===undefined)TypedArray=attribute.array.constructor;if(TypedArray!==attribute.array.constructor){console.error("AttributeBuffers of different types cannot be interleaved");return null}arrayLength+=attribute.array.length;stride+=attribute.itemSize}const interleavedBuffer=new InterleavedBuffer(new TypedArray(arrayLength),stride);let offset=0;const res=[];const getters=["getX","getY","getZ","getW"];const setters=["setX","setY","setZ","setW"];for(let j=0,l=attributes.length;j<l;j++){const attribute=attributes[j];const itemSize=attribute.itemSize;const count=attribute.count;const iba=new InterleavedBufferAttribute(interleavedBuffer,itemSize,offset,attribute.normalized);res.push(iba);offset+=itemSize;for(let c=0;c<count;c++){for(let k=0;k<itemSize;k++){iba[setters[k]](c,attribute[getters[k]](c))}}}return res}function deinterleaveAttribute(attribute){const cons=attribute.data.array.constructor;const count=attribute.count;const itemSize=attribute.itemSize;const normalized=attribute.normalized;const array=new cons(count*itemSize);let newAttribute;if(attribute.isInstancedInterleavedBufferAttribute){newAttribute=new InstancedBufferAttribute(array,itemSize,normalized,attribute.meshPerAttribute)}else{newAttribute=new BufferAttribute(array,itemSize,normalized)}for(let i=0;i<count;i++){newAttribute.setX(i,attribute.getX(i));if(itemSize>=2){newAttribute.setY(i,attribute.getY(i))}if(itemSize>=3){newAttribute.setZ(i,attribute.getZ(i))}if(itemSize>=4){newAttribute.setW(i,attribute.getW(i))}}return newAttribute}function deinterleaveGeometry(geometry){const attributes=geometry.attributes;const morphTargets=geometry.morphTargets;const attrMap=new Map;for(const key in attributes){const attr=attributes[key];if(attr.isInterleavedBufferAttribute){if(!attrMap.has(attr)){attrMap.set(attr,deinterleaveAttribute(attr))}attributes[key]=attrMap.get(attr)}}for(const key in morphTargets){const attr=morphTargets[key];if(attr.isInterleavedBufferAttribute){if(!attrMap.has(attr)){attrMap.set(attr,deinterleaveAttribute(attr))}morphTargets[key]=attrMap.get(attr)}}}function estimateBytesUsed(geometry){let mem=0;for(const name in geometry.attributes){const attr=geometry.getAttribute(name);mem+=attr.count*attr.itemSize*attr.array.BYTES_PER_ELEMENT}const indices=geometry.getIndex();mem+=indices?indices.count*indices.itemSize*indices.array.BYTES_PER_ELEMENT:0;return mem}function mergeVertices(geometry,tolerance=1e-4){tolerance=Math.max(tolerance,Number.EPSILON);const hashToIndex={};const indices=geometry.getIndex();const positions=geometry.getAttribute("position");const vertexCount=indices?indices.count:positions.count;let nextIndex=0;const attributeNames=Object.keys(geometry.attributes);const tmpAttributes={};const tmpMorphAttributes={};const newIndices=[];const getters=["getX","getY","getZ","getW"];const setters=["setX","setY","setZ","setW"];for(let i=0,l=attributeNames.length;i<l;i++){const name=attributeNames[i];const attr=geometry.attributes[name];tmpAttributes[name]=new BufferAttribute(new attr.array.constructor(attr.count*attr.itemSize),attr.itemSize,attr.normalized);const morphAttr=geometry.morphAttributes[name];if(morphAttr){tmpMorphAttributes[name]=new BufferAttribute(new morphAttr.array.constructor(morphAttr.count*morphAttr.itemSize),morphAttr.itemSize,morphAttr.normalized)}}const decimalShift=Math.log10(1/tolerance);const shiftMultiplier=Math.pow(10,decimalShift);for(let i=0;i<vertexCount;i++){const index=indices?indices.getX(i):i;let hash="";for(let j=0,l=attributeNames.length;j<l;j++){const name=attributeNames[j];const attribute=geometry.getAttribute(name);const itemSize=attribute.itemSize;for(let k=0;k<itemSize;k++){hash+=`${~~(attribute[getters[k]](index)*shiftMultiplier)},`}}if(hash in hashToIndex){newIndices.push(hashToIndex[hash])}else{for(let j=0,l=attributeNames.length;j<l;j++){const name=attributeNames[j];const attribute=geometry.getAttribute(name);const morphAttr=geometry.morphAttributes[name];const itemSize=attribute.itemSize;const newarray=tmpAttributes[name];const newMorphArrays=tmpMorphAttributes[name];for(let k=0;k<itemSize;k++){const getterFunc=getters[k];const setterFunc=setters[k];newarray[setterFunc](nextIndex,attribute[getterFunc](index));if(morphAttr){for(let m=0,ml=morphAttr.length;m<ml;m++){newMorphArrays[m][setterFunc](nextIndex,morphAttr[m][getterFunc](index))}}}}hashToIndex[hash]=nextIndex;newIndices.push(nextIndex);nextIndex++}}const result=geometry.clone();for(const name in geometry.attributes){const tmpAttribute=tmpAttributes[name];result.setAttribute(name,new BufferAttribute(tmpAttribute.array.slice(0,nextIndex*tmpAttribute.itemSize),tmpAttribute.itemSize,tmpAttribute.normalized));if(!(name in tmpMorphAttributes))continue;for(let j=0;j<tmpMorphAttributes[name].length;j++){const tmpMorphAttribute=tmpMorphAttributes[name][j];result.morphAttributes[name][j]=new BufferAttribute(tmpMorphAttribute.array.slice(0,nextIndex*tmpMorphAttribute.itemSize),tmpMorphAttribute.itemSize,tmpMorphAttribute.normalized)}}result.setIndex(newIndices);return result}function toTrianglesDrawMode(geometry,drawMode){if(drawMode===TrianglesDrawMode){console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.");return geometry}if(drawMode===TriangleFanDrawMode||drawMode===TriangleStripDrawMode){let index=geometry.getIndex();if(index===null){const indices=[];const position=geometry.getAttribute("position");if(position!==undefined){for(let i=0;i<position.count;i++){indices.push(i)}geometry.setIndex(indices);index=geometry.getIndex()}else{console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.");return geometry}}const numberOfTriangles=index.count-2;const newIndices=[];if(drawMode===TriangleFanDrawMode){for(let i=1;i<=numberOfTriangles;i++){newIndices.push(index.getX(0));newIndices.push(index.getX(i));newIndices.push(index.getX(i+1))}}else{for(let i=0;i<numberOfTriangles;i++){if(i%2===0){newIndices.push(index.getX(i));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i+2))}else{newIndices.push(index.getX(i+2));newIndices.push(index.getX(i+1));newIndices.push(index.getX(i))}}}if(newIndices.length/3!==numberOfTriangles){console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.")}const newGeometry=geometry.clone();newGeometry.setIndex(newIndices);newGeometry.clearGroups();return newGeometry}else{console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",drawMode);return geometry}}function computeMorphedAttributes(object){const _vA=new Vector3;const _vB=new Vector3;const _vC=new Vector3;const _tempA=new Vector3;const _tempB=new Vector3;const _tempC=new Vector3;const _morphA=new Vector3;const _morphB=new Vector3;const _morphC=new Vector3;function _calculateMorphedAttributeData(object,attribute,morphAttribute,morphTargetsRelative,a,b,c,modifiedAttributeArray){_vA.fromBufferAttribute(attribute,a);_vB.fromBufferAttribute(attribute,b);_vC.fromBufferAttribute(attribute,c);const morphInfluences=object.morphTargetInfluences;if(morphAttribute&&morphInfluences){_morphA.set(0,0,0);_morphB.set(0,0,0);_morphC.set(0,0,0);for(let i=0,il=morphAttribute.length;i<il;i++){const influence=morphInfluences[i];const morph=morphAttribute[i];if(influence===0)continue;_tempA.fromBufferAttribute(morph,a);_tempB.fromBufferAttribute(morph,b);_tempC.fromBufferAttribute(morph,c);if(morphTargetsRelative){_morphA.addScaledVector(_tempA,influence);_morphB.addScaledVector(_tempB,influence);_morphC.addScaledVector(_tempC,influence)}else{_morphA.addScaledVector(_tempA.sub(_vA),influence);_morphB.addScaledVector(_tempB.sub(_vB),influence);_morphC.addScaledVector(_tempC.sub(_vC),influence)}}_vA.add(_morphA);_vB.add(_morphB);_vC.add(_morphC)}if(object.isSkinnedMesh){object.applyBoneTransform(a,_vA);object.applyBoneTransform(b,_vB);object.applyBoneTransform(c,_vC)}modifiedAttributeArray[a*3+0]=_vA.x;modifiedAttributeArray[a*3+1]=_vA.y;modifiedAttributeArray[a*3+2]=_vA.z;modifiedAttributeArray[b*3+0]=_vB.x;modifiedAttributeArray[b*3+1]=_vB.y;modifiedAttributeArray[b*3+2]=_vB.z;modifiedAttributeArray[c*3+0]=_vC.x;modifiedAttributeArray[c*3+1]=_vC.y;modifiedAttributeArray[c*3+2]=_vC.z}const geometry=object.geometry;const material=object.material;let a,b,c;const index=geometry.index;const positionAttribute=geometry.attributes.position;const morphPosition=geometry.morphAttributes.position;const morphTargetsRelative=geometry.morphTargetsRelative;const normalAttribute=geometry.attributes.normal;const morphNormal=geometry.morphAttributes.position;const groups=geometry.groups;const drawRange=geometry.drawRange;let i,j,il,jl;let group;let start,end;const modifiedPosition=new Float32Array(positionAttribute.count*positionAttribute.itemSize);const modifiedNormal=new Float32Array(normalAttribute.count*normalAttribute.itemSize);if(index!==null){if(Array.isArray(material)){for(i=0,il=groups.length;i<il;i++){group=groups[i];start=Math.max(group.start,drawRange.start);end=Math.min(group.start+group.count,drawRange.start+drawRange.count);for(j=start,jl=end;j<jl;j+=3){a=index.getX(j);b=index.getX(j+1);c=index.getX(j+2);_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{start=Math.max(0,drawRange.start);end=Math.min(index.count,drawRange.start+drawRange.count);for(i=start,il=end;i<il;i+=3){a=index.getX(i);b=index.getX(i+1);c=index.getX(i+2);_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{if(Array.isArray(material)){for(i=0,il=groups.length;i<il;i++){group=groups[i];start=Math.max(group.start,drawRange.start);end=Math.min(group.start+group.count,drawRange.start+drawRange.count);for(j=start,jl=end;j<jl;j+=3){a=j;b=j+1;c=j+2;_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}else{start=Math.max(0,drawRange.start);end=Math.min(positionAttribute.count,drawRange.start+drawRange.count);for(i=start,il=end;i<il;i+=3){a=i;b=i+1;c=i+2;_calculateMorphedAttributeData(object,positionAttribute,morphPosition,morphTargetsRelative,a,b,c,modifiedPosition);_calculateMorphedAttributeData(object,normalAttribute,morphNormal,morphTargetsRelative,a,b,c,modifiedNormal)}}}const morphedPositionAttribute=new Float32BufferAttribute(modifiedPosition,3);const morphedNormalAttribute=new Float32BufferAttribute(modifiedNormal,3);return{positionAttribute:positionAttribute,normalAttribute:normalAttribute,morphedPositionAttribute:morphedPositionAttribute,morphedNormalAttribute:morphedNormalAttribute}}function mergeGroups(geometry){if(geometry.groups.length===0){console.warn("THREE.BufferGeometryUtils.mergeGroups(): No groups are defined. Nothing to merge.");return geometry}let groups=geometry.groups;groups=groups.sort((a,b)=>{if(a.materialIndex!==b.materialIndex)return a.materialIndex-b.materialIndex;return a.start-b.start});if(geometry.getIndex()===null){const positionAttribute=geometry.getAttribute("position");const indices=[];for(let i=0;i<positionAttribute.count;i+=3){indices.push(i,i+1,i+2)}geometry.setIndex(indices)}const index=geometry.getIndex();const newIndices=[];for(let i=0;i<groups.length;i++){const group=groups[i];const groupStart=group.start;const groupLength=groupStart+group.count;for(let j=groupStart;j<groupLength;j++){newIndices.push(index.getX(j))}}geometry.dispose();geometry.setIndex(newIndices);let start=0;for(let i=0;i<groups.length;i++){const group=groups[i];group.start=start;start+=group.count}let currentGroup=groups[0];geometry.groups=[currentGroup];for(let i=1;i<groups.length;i++){const group=groups[i];if(currentGroup.materialIndex===group.materialIndex){currentGroup.count+=group.count}else{currentGroup=group;geometry.groups.push(currentGroup)}}return geometry}function toCreasedNormals(geometry,creaseAngle=Math.PI/3){const creaseDot=Math.cos(creaseAngle);const hashMultiplier=(1+1e-10)*100;const verts=[new Vector3,new Vector3,new Vector3];const tempVec1=new Vector3;const tempVec2=new Vector3;const tempNorm=new Vector3;const tempNorm2=new Vector3;function hashVertex(v){const x=~~(v.x*hashMultiplier);const y=~~(v.y*hashMultiplier);const z=~~(v.z*hashMultiplier);return`${x},${y},${z}`}const resultGeometry=geometry.toNonIndexed();const posAttr=resultGeometry.attributes.position;const vertexMap={};for(let i=0,l=posAttr.count/3;i<l;i++){const i3=3*i;const a=verts[0].fromBufferAttribute(posAttr,i3+0);const b=verts[1].fromBufferAttribute(posAttr,i3+1);const c=verts[2].fromBufferAttribute(posAttr,i3+2);tempVec1.subVectors(c,b);tempVec2.subVectors(a,b);const normal=new Vector3().crossVectors(tempVec1,tempVec2).normalize();for(let n=0;n<3;n++){const vert=verts[n];const hash=hashVertex(vert);if(!(hash in vertexMap)){vertexMap[hash]=[]}vertexMap[hash].push(normal)}}const normalArray=new Float32Array(posAttr.count*3);const normAttr=new BufferAttribute(normalArray,3,false);for(let i=0,l=posAttr.count/3;i<l;i++){const i3=3*i;const a=verts[0].fromBufferAttribute(posAttr,i3+0);const b=verts[1].fromBufferAttribute(posAttr,i3+1);const c=verts[2].fromBufferAttribute(posAttr,i3+2);tempVec1.subVectors(c,b);tempVec2.subVectors(a,b);tempNorm.crossVectors(tempVec1,tempVec2).normalize();for(let n=0;n<3;n++){const vert=verts[n];const hash=hashVertex(vert);const otherNormals=vertexMap[hash];tempNorm2.set(0,0,0);for(let k=0,lk=otherNormals.length;k<lk;k++){const otherNorm=otherNormals[k];if(tempNorm.dot(otherNorm)>creaseDot){tempNorm2.add(otherNorm)}}tempNorm2.normalize();normAttr.setXYZ(i3+n,tempNorm2.x,tempNorm2.y,tempNorm2.z)}}resultGeometry.setAttribute("normal",normAttr);return resultGeometry}function mergeBufferGeometries(geometries,useGroups=false){console.warn("THREE.BufferGeometryUtils: mergeBufferGeometries() has been renamed to mergeGeometries().");return mergeGeometries(geometries,useGroups)}function mergeBufferAttributes(attributes){console.warn("THREE.BufferGeometryUtils: mergeBufferAttributes() has been renamed to mergeAttributes().");return mergeAttributes(attributes)}var BufferGeometryUtils={computeMikkTSpaceTangents,deepCloneAttribute,deinterleaveAttribute,deinterleaveGeometry,mergeGeometries,mergeBufferGeometries,mergeAttributes,mergeBufferAttributes,interleaveAttributes,estimateBytesUsed,mergeVertices,toTrianglesDrawMode,computeMorphedAttributes,mergeGroups,toCreasedNormals};THREE.BufferGeometryUtils=BufferGeometryUtils})();(function(){class WorkerPool{constructor(pool=4){this.pool=pool;this.queue=[];this.workers=[];this.workersResolve=[];this.workerStatus=0}_initWorker(workerId){if(!this.workers[workerId]){const worker=this.workerCreator();worker.addEventListener("message",this._onMessage.bind(this,workerId));this.workers[workerId]=worker}}_getIdleWorker(){for(let i=0;i<this.pool;i++)if(!(this.workerStatus&1<<i))return i;return-1}_onMessage(workerId,msg){const resolve=this.workersResolve[workerId];resolve&&resolve(msg);if(this.queue.length){const{resolve,msg,transfer}=this.queue.shift();this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.workerStatus^=1<<workerId}}setWorkerCreator(workerCreator){this.workerCreator=workerCreator}setWorkerLimit(pool){this.pool=pool}postMessage(msg,transfer){return new Promise(resolve=>{const workerId=this._getIdleWorker();if(workerId!==-1){this._initWorker(workerId);this.workerStatus|=1<<workerId;this.workersResolve[workerId]=resolve;this.workers[workerId].postMessage(msg,transfer)}else{this.queue.push({resolve,msg,transfer})}})}dispose(){this.workers.forEach(worker=>worker.terminate());this.workersResolve.length=0;this.workers.length=0;this.queue.length=0;this.workerStatus=0}}THREE.WorkerPool=WorkerPool})();(function(){const t=0,e=1,n=2,i=3,s=0,a=0,r=2,o=0,l=1,f=160,U=161,c=162,h=163,_=0,p=1,g=0,y=1,x=2,u=3,b=4,d=5,m=6,w=7,D=8,B=9,L=10,A=11,k=12,v=13,S=14,I=15,O=16,T=17,V=18,E=0,F=1,P=2,C=3,z=4,M=5,W=6,N=7,H=8,K=9,X=10,j=11,R=0,Y=1,q=2,G=13,J=14,Q=15,Z=128,$=64,tt=32,et=16,nt=0,it=1,st=2,at=3,rt=4,ot=5,lt=6,ft=7,Ut=8,ct=9,ht=10,_t=13,pt=14,gt=15,yt=16,xt=17,ut=20,bt=21,dt=22,mt=23,wt=24,Dt=27,Bt=28,Lt=29,At=30,kt=31,vt=34,St=35,It=36,Ot=37,Tt=38,Vt=41,Et=42,Ft=43,Pt=44,Ct=45,zt=48,Mt=49,Wt=50,Nt=58,Ht=59,Kt=62,Xt=63,jt=64,Rt=65,Yt=68,qt=69,Gt=70,Jt=71,Qt=74,Zt=75,$t=76,te=77,ee=78,ne=81,ie=82,se=83,ae=84,re=85,oe=88,le=89,fe=90,Ue=91,ce=92,he=95,_e=96,pe=97,ge=98,ye=99,xe=100,ue=101,be=102,de=103,me=104,we=105,De=106,Be=107,Le=108,Ae=109,ke=110,ve=111,Se=112,Ie=113,Oe=114,Te=115,Ve=116,Ee=117,Fe=118,Pe=119,Ce=120,ze=121,Me=122,We=123,Ne=124,He=125,Ke=126,Xe=127,je=128,Re=129,Ye=130,qe=131,Ge=132,Je=133,Qe=134,Ze=135,$e=136,tn=137,en=138,nn=139,sn=140,an=141,rn=142,on=143,ln=144,fn=145,Un=146,cn=147,hn=148,_n=149,pn=150,gn=151,yn=152,xn=153,un=154,bn=155,dn=156,mn=157,wn=158,Dn=159,Bn=160,Ln=161,An=162,kn=163,vn=164,Sn=165,In=166,On=167,Tn=168,Vn=169,En=170,Fn=171,Pn=172,Cn=173,zn=174,Mn=175,Wn=176,Nn=177,Hn=178,Kn=179,Xn=180,jn=181,Rn=182,Yn=183,qn=184,Gn=1000156007,Jn=1000156008,Qn=1000156009,Zn=1000156010,$n=1000156011,ti=1000156017,ei=1000156018,ni=1000156019,ii=1000156020,si=1000156021,ai=1000054e3,ri=1000054001,oi=1000054002,li=1000054003,fi=1000054004,Ui=1000054005,ci=1000054006,hi=1000054007,_i=1000066e3,pi=1000066001,gi=1000066002,yi=1000066003,xi=1000066004,ui=1000066005,bi=1000066006,di=1000066007,mi=1000066008,wi=1000066009,Di=1000066010,Bi=1000066011,Li=1000066012,Ai=1000066013,ki=100034e4,vi=1000340001;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,e,n,i){this._dataView=new DataView(t.buffer,t.byteOffset+e,n),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,e=0){const n=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==e&&i<t;)i++,this._offset++;return i<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+n,i)}}const Oi=new Uint8Array([0]),Ti=[171,75,84,88,32,50,48,187,13,10,26,10];function Vi(t){return"undefined"!=typeof TextEncoder?new TextEncoder().encode(t):Buffer.from(t)}function Ei(t){return"undefined"!=typeof TextDecoder?new TextDecoder().decode(t):Buffer.from(t).toString("utf8")}function Fi(t){let e=0;for(const n of t)e+=n.byteLength;const n=new Uint8Array(e);let i=0;for(const e of t)n.set(new Uint8Array(e),i),i+=e.byteLength;return n}function Pi(t){const e=new Uint8Array(t.buffer,t.byteOffset,Ti.length);if(e[0]!==Ti[0]||e[1]!==Ti[1]||e[2]!==Ti[2]||e[3]!==Ti[3]||e[4]!==Ti[4]||e[5]!==Ti[5]||e[6]!==Ti[6]||e[7]!==Ti[7]||e[8]!==Ti[8]||e[9]!==Ti[9]||e[10]!==Ti[10]||e[11]!==Ti[11])throw new Error("Missing KTX 2.0 identifier.");const n=new Si,i=17*Uint32Array.BYTES_PER_ELEMENT,s=new Ii(t,Ti.length,i,!0);n.vkFormat=s._nextUint32(),n.typeSize=s._nextUint32(),n.pixelWidth=s._nextUint32(),n.pixelHeight=s._nextUint32(),n.pixelDepth=s._nextUint32(),n.layerCount=s._nextUint32(),n.faceCount=s._nextUint32();const a=s._nextUint32();n.supercompressionScheme=s._nextUint32();const r=s._nextUint32(),o=s._nextUint32(),l=s._nextUint32(),f=s._nextUint32(),U=s._nextUint64(),c=s._nextUint64(),h=new Ii(t,Ti.length+i,3*a*8,!0);for(let e=0;e<a;e++)n.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+h._nextUint64(),h._nextUint64()),uncompressedByteLength:h._nextUint64()});const _=new Ii(t,r,o,!0),p={vendorId:_._skip(4)._nextUint16(),descriptorType:_._nextUint16(),versionNumber:_._nextUint16(),descriptorBlockSize:_._nextUint16(),colorModel:_._nextUint8(),colorPrimaries:_._nextUint8(),transferFunction:_._nextUint8(),flags:_._nextUint8(),texelBlockDimension:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],bytesPlane:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],samples:[]},g=(p.descriptorBlockSize/4-6)/4;for(let t=0;t<g;t++){const e={bitOffset:_._nextUint16(),bitLength:_._nextUint8(),channelType:_._nextUint8(),samplePosition:[_._nextUint8(),_._nextUint8(),_._nextUint8(),_._nextUint8()],sampleLower:-Infinity,sampleUpper:Infinity};64&e.channelType?(e.sampleLower=_._nextInt32(),e.sampleUpper=_._nextInt32()):(e.sampleLower=_._nextUint32(),e.sampleUpper=_._nextUint32()),p.samples[t]=e}n.dataFormatDescriptor.length=0,n.dataFormatDescriptor.push(p);const y=new Ii(t,l,f,!0);for(;y._offset<f;){const t=y._nextUint32(),e=y._scan(t),i=Ei(e),s=y._scan(t-e.byteLength);n.keyValue[i]=i.match(/^ktx/i)?Ei(s):s,y._offset%4&&y._skip(4-y._offset%4)}if(c<=0)return n;const x=new Ii(t,U,c,!0),u=x._nextUint16(),b=x._nextUint16(),d=x._nextUint32(),m=x._nextUint32(),w=x._nextUint32(),D=x._nextUint32(),B=[];for(let t=0;t<a;t++)B.push({imageFlags:x._nextUint32(),rgbSliceByteOffset:x._nextUint32(),rgbSliceByteLength:x._nextUint32(),alphaSliceByteOffset:x._nextUint32(),alphaSliceByteLength:x._nextUint32()});const L=U+x._offset,A=L+d,k=A+m,v=k+w,S=new Uint8Array(t.buffer,t.byteOffset+L,d),I=new Uint8Array(t.buffer,t.byteOffset+A,m),O=new Uint8Array(t.buffer,t.byteOffset+k,w),T=new Uint8Array(t.buffer,t.byteOffset+v,D);return n.globalData={endpointCount:u,selectorCount:b,imageDescs:B,endpointsData:S,selectorsData:I,tablesData:O,extendedData:T},n}function Ci(){return(Ci=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}const zi={keepWriter:!1};function Mi(t,e={}){e=Ci({},zi,e);let n=new ArrayBuffer(0);if(t.globalData){const e=new ArrayBuffer(20+5*t.globalData.imageDescs.length*4),i=new DataView(e);i.setUint16(0,t.globalData.endpointCount,!0),i.setUint16(2,t.globalData.selectorCount,!0),i.setUint32(4,t.globalData.endpointsData.byteLength,!0),i.setUint32(8,t.globalData.selectorsData.byteLength,!0),i.setUint32(12,t.globalData.tablesData.byteLength,!0),i.setUint32(16,t.globalData.extendedData.byteLength,!0);for(let e=0;e<t.globalData.imageDescs.length;e++){const n=t.globalData.imageDescs[e];i.setUint32(20+5*e*4+0,n.imageFlags,!0),i.setUint32(20+5*e*4+4,n.rgbSliceByteOffset,!0),i.setUint32(20+5*e*4+8,n.rgbSliceByteLength,!0),i.setUint32(20+5*e*4+12,n.alphaSliceByteOffset,!0),i.setUint32(20+5*e*4+16,n.alphaSliceByteLength,!0)}n=Fi([e,t.globalData.endpointsData,t.globalData.selectorsData,t.globalData.tablesData,t.globalData.extendedData])}const i=[];let s=t.keyValue;e.keepWriter||(s=Ci({},t.keyValue,{KTXwriter:"KTX-Parse v0.3.1"}));for(const t in s){const e=s[t],n=Vi(t),a="string"==typeof e?Vi(e):e,r=n.byteLength+1+a.byteLength+1,o=r%4?4-r%4:0;i.push(Fi([new Uint32Array([r]),n,Oi,a,Oi,new Uint8Array(o).fill(0)]))}const a=Fi(i);if(1!==t.dataFormatDescriptor.length||0!==t.dataFormatDescriptor[0].descriptorType)throw new Error("Only BASICFORMAT Data Format Descriptor output supported.");const r=t.dataFormatDescriptor[0],o=new ArrayBuffer(28+16*r.samples.length),l=new DataView(o),f=24+16*r.samples.length;if(l.setUint32(0,o.byteLength,!0),l.setUint16(4,r.vendorId,!0),l.setUint16(6,r.descriptorType,!0),l.setUint16(8,r.versionNumber,!0),l.setUint16(10,f,!0),l.setUint8(12,r.colorModel),l.setUint8(13,r.colorPrimaries),l.setUint8(14,r.transferFunction),l.setUint8(15,r.flags),!Array.isArray(r.texelBlockDimension))throw new Error("texelBlockDimension is now an array. For dimensionality `d`, set `d - 1`.");l.setUint8(16,r.texelBlockDimension[0]),l.setUint8(17,r.texelBlockDimension[1]),l.setUint8(18,r.texelBlockDimension[2]),l.setUint8(19,r.texelBlockDimension[3]);for(let t=0;t<8;t++)l.setUint8(20+t,r.bytesPlane[t]);for(let t=0;t<r.samples.length;t++){const e=r.samples[t],n=28+16*t;if(e.channelID)throw new Error("channelID has been renamed to channelType.");l.setUint16(n+0,e.bitOffset,!0),l.setUint8(n+2,e.bitLength),l.setUint8(n+3,e.channelType),l.setUint8(n+4,e.samplePosition[0]),l.setUint8(n+5,e.samplePosition[1]),l.setUint8(n+6,e.samplePosition[2]),l.setUint8(n+7,e.samplePosition[3]),64&e.channelType?(l.setInt32(n+8,e.sampleLower,!0),l.setInt32(n+12,e.sampleUpper,!0)):(l.setUint32(n+8,e.sampleLower,!0),l.setUint32(n+12,e.sampleUpper,!0))}const U=Ti.length+68+3*t.levels.length*8,c=U+o.byteLength;let h=n.byteLength>0?c+a.byteLength:0;h%8&&(h+=8-h%8);const _=[],p=new DataView(new ArrayBuffer(3*t.levels.length*8));let g=(h||c+a.byteLength)+n.byteLength;for(let e=0;e<t.levels.length;e++){const n=t.levels[e];_.push(n.levelData),p.setBigUint64(24*e+0,BigInt(g),!0),p.setBigUint64(24*e+8,BigInt(n.levelData.byteLength),!0),p.setBigUint64(24*e+16,BigInt(n.uncompressedByteLength),!0),g+=n.levelData.byteLength}const y=new ArrayBuffer(68),x=new DataView(y);return x.setUint32(0,t.vkFormat,!0),x.setUint32(4,t.typeSize,!0),x.setUint32(8,t.pixelWidth,!0),x.setUint32(12,t.pixelHeight,!0),x.setUint32(16,t.pixelDepth,!0),x.setUint32(20,t.layerCount,!0),x.setUint32(24,t.faceCount,!0),x.setUint32(28,t.levels.length,!0),x.setUint32(32,t.supercompressionScheme,!0),x.setUint32(36,U,!0),x.setUint32(40,o.byteLength,!0),x.setUint32(44,c,!0),x.setUint32(48,a.byteLength,!0),x.setBigUint64(52,BigInt(n.byteLength>0?h:0),!0),x.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(Fi([new Uint8Array(Ti).buffer,y,p.buffer,o,a,h>0?new ArrayBuffer(h-(c+a.byteLength)):new ArrayBuffer(0),n,..._]))}var KTXParse=THREE.KTXParse={};KTXParse.KHR_DF_CHANNEL_RGBSDA_ALPHA=Q,KTXParse.KHR_DF_CHANNEL_RGBSDA_BLUE=q,KTXParse.KHR_DF_CHANNEL_RGBSDA_DEPTH=J,KTXParse.KHR_DF_CHANNEL_RGBSDA_GREEN=Y,KTXParse.KHR_DF_CHANNEL_RGBSDA_RED=R,KTXParse.KHR_DF_CHANNEL_RGBSDA_STENCIL=G,KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED=p,KTXParse.KHR_DF_FLAG_ALPHA_STRAIGHT=_,KTXParse.KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT=s,KTXParse.KHR_DF_MODEL_ASTC=c,KTXParse.KHR_DF_MODEL_ETC1=f,KTXParse.KHR_DF_MODEL_ETC1S=h,KTXParse.KHR_DF_MODEL_ETC2=U,KTXParse.KHR_DF_MODEL_RGBSDA=l,KTXParse.KHR_DF_MODEL_UNSPECIFIED=o,KTXParse.KHR_DF_PRIMARIES_ACES=W,KTXParse.KHR_DF_PRIMARIES_ACESCC=N,KTXParse.KHR_DF_PRIMARIES_ADOBERGB=j,KTXParse.KHR_DF_PRIMARIES_BT2020=z,KTXParse.KHR_DF_PRIMARIES_BT601_EBU=P,KTXParse.KHR_DF_PRIMARIES_BT601_SMPTE=C,KTXParse.KHR_DF_PRIMARIES_BT709=F,KTXParse.KHR_DF_PRIMARIES_CIEXYZ=M,KTXParse.KHR_DF_PRIMARIES_DISPLAYP3=X,KTXParse.KHR_DF_PRIMARIES_NTSC1953=H,KTXParse.KHR_DF_PRIMARIES_PAL525=K,KTXParse.KHR_DF_PRIMARIES_UNSPECIFIED=E,KTXParse.KHR_DF_SAMPLE_DATATYPE_EXPONENT=tt,KTXParse.KHR_DF_SAMPLE_DATATYPE_FLOAT=Z,KTXParse.KHR_DF_SAMPLE_DATATYPE_LINEAR=et,KTXParse.KHR_DF_SAMPLE_DATATYPE_SIGNED=$,KTXParse.KHR_DF_TRANSFER_ACESCC=O,KTXParse.KHR_DF_TRANSFER_ACESCCT=T,KTXParse.KHR_DF_TRANSFER_ADOBERGB=V,KTXParse.KHR_DF_TRANSFER_BT1886=w,KTXParse.KHR_DF_TRANSFER_DCIP3=k,KTXParse.KHR_DF_TRANSFER_HLG_EOTF=B,KTXParse.KHR_DF_TRANSFER_HLG_OETF=D,KTXParse.KHR_DF_TRANSFER_ITU=u,KTXParse.KHR_DF_TRANSFER_LINEAR=y,KTXParse.KHR_DF_TRANSFER_NTSC=b,KTXParse.KHR_DF_TRANSFER_PAL625_EOTF=S,KTXParse.KHR_DF_TRANSFER_PAL_OETF=v,KTXParse.KHR_DF_TRANSFER_PQ_EOTF=L,KTXParse.KHR_DF_TRANSFER_PQ_OETF=A,KTXParse.KHR_DF_TRANSFER_SLOG=d,KTXParse.KHR_DF_TRANSFER_SLOG2=m,KTXParse.KHR_DF_TRANSFER_SRGB=x,KTXParse.KHR_DF_TRANSFER_ST240=I,KTXParse.KHR_DF_TRANSFER_UNSPECIFIED=g,KTXParse.KHR_DF_VENDORID_KHRONOS=a,KTXParse.KHR_DF_VERSION=r,KTXParse.KHR_SUPERCOMPRESSION_BASISLZ=e,KTXParse.KHR_SUPERCOMPRESSION_NONE=t,KTXParse.KHR_SUPERCOMPRESSION_ZLIB=i,KTXParse.KHR_SUPERCOMPRESSION_ZSTD=n,KTXParse.KTX2Container=Si,KTXParse.VK_FORMAT_A1R5G5B5_UNORM_PACK16=Ut,KTXParse.VK_FORMAT_A2B10G10R10_SINT_PACK32=qt,KTXParse.VK_FORMAT_A2B10G10R10_SNORM_PACK32=Rt,KTXParse.VK_FORMAT_A2B10G10R10_UINT_PACK32=Yt,KTXParse.VK_FORMAT_A2B10G10R10_UNORM_PACK32=jt,KTXParse.VK_FORMAT_A2R10G10B10_SINT_PACK32=Xt,KTXParse.VK_FORMAT_A2R10G10B10_SNORM_PACK32=Ht,KTXParse.VK_FORMAT_A2R10G10B10_UINT_PACK32=Kt,KTXParse.VK_FORMAT_A2R10G10B10_UNORM_PACK32=Nt,KTXParse.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT=vi,KTXParse.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT=ki,KTXParse.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT=Bi,KTXParse.VK_FORMAT_ASTC_10x10_SRGB_BLOCK=Xn,KTXParse.VK_FORMAT_ASTC_10x10_UNORM_BLOCK=Kn,KTXParse.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT=mi,KTXParse.VK_FORMAT_ASTC_10x5_SRGB_BLOCK=zn,KTXParse.VK_FORMAT_ASTC_10x5_UNORM_BLOCK=Cn,KTXParse.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT=wi,KTXParse.VK_FORMAT_ASTC_10x6_SRGB_BLOCK=Wn,KTXParse.VK_FORMAT_ASTC_10x6_UNORM_BLOCK=Mn,KTXParse.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT=Di,KTXParse.VK_FORMAT_ASTC_10x8_SRGB_BLOCK=Hn,KTXParse.VK_FORMAT_ASTC_10x8_UNORM_BLOCK=Nn,KTXParse.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT=Li,KTXParse.VK_FORMAT_ASTC_12x10_SRGB_BLOCK=Rn,KTXParse.VK_FORMAT_ASTC_12x10_UNORM_BLOCK=jn,KTXParse.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT=Ai,KTXParse.VK_FORMAT_ASTC_12x12_SRGB_BLOCK=qn,KTXParse.VK_FORMAT_ASTC_12x12_UNORM_BLOCK=Yn,KTXParse.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT=_i,KTXParse.VK_FORMAT_ASTC_4x4_SRGB_BLOCK=wn,KTXParse.VK_FORMAT_ASTC_4x4_UNORM_BLOCK=mn,KTXParse.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT=pi,KTXParse.VK_FORMAT_ASTC_5x4_SRGB_BLOCK=Bn,KTXParse.VK_FORMAT_ASTC_5x4_UNORM_BLOCK=Dn,KTXParse.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT=gi,KTXParse.VK_FORMAT_ASTC_5x5_SRGB_BLOCK=An,KTXParse.VK_FORMAT_ASTC_5x5_UNORM_BLOCK=Ln,KTXParse.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT=yi,KTXParse.VK_FORMAT_ASTC_6x5_SRGB_BLOCK=vn,KTXParse.VK_FORMAT_ASTC_6x5_UNORM_BLOCK=kn,KTXParse.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT=xi,KTXParse.VK_FORMAT_ASTC_6x6_SRGB_BLOCK=In,KTXParse.VK_FORMAT_ASTC_6x6_UNORM_BLOCK=Sn,KTXParse.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT=ui,KTXParse.VK_FORMAT_ASTC_8x5_SRGB_BLOCK=Tn,KTXParse.VK_FORMAT_ASTC_8x5_UNORM_BLOCK=On,KTXParse.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT=bi,KTXParse.VK_FORMAT_ASTC_8x6_SRGB_BLOCK=En,KTXParse.VK_FORMAT_ASTC_8x6_UNORM_BLOCK=Vn,KTXParse.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT=di,KTXParse.VK_FORMAT_ASTC_8x8_SRGB_BLOCK=Pn,KTXParse.VK_FORMAT_ASTC_8x8_UNORM_BLOCK=Fn,KTXParse.VK_FORMAT_B10G11R11_UFLOAT_PACK32=Me,KTXParse.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16=$n,KTXParse.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16=si,KTXParse.VK_FORMAT_B4G4R4A4_UNORM_PACK16=at,KTXParse.VK_FORMAT_B5G5R5A1_UNORM_PACK16=ft,KTXParse.VK_FORMAT_B5G6R5_UNORM_PACK16=ot,KTXParse.VK_FORMAT_B8G8R8A8_SINT=Mt,KTXParse.VK_FORMAT_B8G8R8A8_SNORM=Ct,KTXParse.VK_FORMAT_B8G8R8A8_SRGB=Wt,KTXParse.VK_FORMAT_B8G8R8A8_UINT=zt,KTXParse.VK_FORMAT_B8G8R8A8_UNORM=Pt,KTXParse.VK_FORMAT_B8G8R8_SINT=St,KTXParse.VK_FORMAT_B8G8R8_SNORM=kt,KTXParse.VK_FORMAT_B8G8R8_SRGB=It,KTXParse.VK_FORMAT_B8G8R8_UINT=vt,KTXParse.VK_FORMAT_B8G8R8_UNORM=At,KTXParse.VK_FORMAT_BC1_RGBA_SRGB_BLOCK=Qe,KTXParse.VK_FORMAT_BC1_RGBA_UNORM_BLOCK=Je,KTXParse.VK_FORMAT_BC1_RGB_SRGB_BLOCK=Ge,KTXParse.VK_FORMAT_BC1_RGB_UNORM_BLOCK=qe,KTXParse.VK_FORMAT_BC2_SRGB_BLOCK=$e,KTXParse.VK_FORMAT_BC2_UNORM_BLOCK=Ze,KTXParse.VK_FORMAT_BC3_SRGB_BLOCK=en,KTXParse.VK_FORMAT_BC3_UNORM_BLOCK=tn,KTXParse.VK_FORMAT_BC4_SNORM_BLOCK=sn,KTXParse.VK_FORMAT_BC4_UNORM_BLOCK=nn,KTXParse.VK_FORMAT_BC5_SNORM_BLOCK=rn,KTXParse.VK_FORMAT_BC5_UNORM_BLOCK=an,KTXParse.VK_FORMAT_BC6H_SFLOAT_BLOCK=ln,KTXParse.VK_FORMAT_BC6H_UFLOAT_BLOCK=on,KTXParse.VK_FORMAT_BC7_SRGB_BLOCK=Un,KTXParse.VK_FORMAT_BC7_UNORM_BLOCK=fn,KTXParse.VK_FORMAT_D16_UNORM=Ne,KTXParse.VK_FORMAT_D16_UNORM_S8_UINT=je,KTXParse.VK_FORMAT_D24_UNORM_S8_UINT=Re,KTXParse.VK_FORMAT_D32_SFLOAT=Ke,KTXParse.VK_FORMAT_D32_SFLOAT_S8_UINT=Ye,KTXParse.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32=We,KTXParse.VK_FORMAT_EAC_R11G11_SNORM_BLOCK=dn,KTXParse.VK_FORMAT_EAC_R11G11_UNORM_BLOCK=bn,KTXParse.VK_FORMAT_EAC_R11_SNORM_BLOCK=un,KTXParse.VK_FORMAT_EAC_R11_UNORM_BLOCK=xn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK=pn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK=_n,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK=yn,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK=gn,KTXParse.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK=hn,KTXParse.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK=cn,KTXParse.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16=Zn,KTXParse.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16=ii,KTXParse.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG=fi,KTXParse.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG=ai,KTXParse.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG=Ui,KTXParse.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG=ri,KTXParse.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG=ci,KTXParse.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG=oi,KTXParse.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG=hi,KTXParse.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG=li,KTXParse.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16=Qn,KTXParse.VK_FORMAT_R10X6G10X6_UNORM_2PACK16=Jn,KTXParse.VK_FORMAT_R10X6_UNORM_PACK16=Gn,KTXParse.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16=ni,KTXParse.VK_FORMAT_R12X4G12X4_UNORM_2PACK16=ei,KTXParse.VK_FORMAT_R12X4_UNORM_PACK16=ti,KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT=pe,KTXParse.VK_FORMAT_R16G16B16A16_SINT=_e,KTXParse.VK_FORMAT_R16G16B16A16_SNORM=ce,KTXParse.VK_FORMAT_R16G16B16A16_UINT=he,KTXParse.VK_FORMAT_R16G16B16A16_UNORM=Ue,KTXParse.VK_FORMAT_R16G16B16_SFLOAT=fe,KTXParse.VK_FORMAT_R16G16B16_SINT=le,KTXParse.VK_FORMAT_R16G16B16_SNORM=re,KTXParse.VK_FORMAT_R16G16B16_UINT=oe,KTXParse.VK_FORMAT_R16G16B16_UNORM=ae,KTXParse.VK_FORMAT_R16G16_SFLOAT=se,KTXParse.VK_FORMAT_R16G16_SINT=ie,KTXParse.VK_FORMAT_R16G16_SNORM=ee,KTXParse.VK_FORMAT_R16G16_UINT=ne,KTXParse.VK_FORMAT_R16G16_UNORM=te,KTXParse.VK_FORMAT_R16_SFLOAT=$t,KTXParse.VK_FORMAT_R16_SINT=Zt,KTXParse.VK_FORMAT_R16_SNORM=Jt,KTXParse.VK_FORMAT_R16_UINT=Qt,KTXParse.VK_FORMAT_R16_UNORM=Gt,KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT=Ae,KTXParse.VK_FORMAT_R32G32B32A32_SINT=Le,KTXParse.VK_FORMAT_R32G32B32A32_UINT=Be,KTXParse.VK_FORMAT_R32G32B32_SFLOAT=De,KTXParse.VK_FORMAT_R32G32B32_SINT=we,KTXParse.VK_FORMAT_R32G32B32_UINT=me,KTXParse.VK_FORMAT_R32G32_SFLOAT=de,KTXParse.VK_FORMAT_R32G32_SINT=be,KTXParse.VK_FORMAT_R32G32_UINT=ue,KTXParse.VK_FORMAT_R32_SFLOAT=xe,KTXParse.VK_FORMAT_R32_SINT=ye,KTXParse.VK_FORMAT_R32_UINT=ge,KTXParse.VK_FORMAT_R4G4B4A4_UNORM_PACK16=st,KTXParse.VK_FORMAT_R4G4_UNORM_PACK8=it,KTXParse.VK_FORMAT_R5G5B5A1_UNORM_PACK16=lt,KTXParse.VK_FORMAT_R5G6B5_UNORM_PACK16=rt,KTXParse.VK_FORMAT_R64G64B64A64_SFLOAT=ze,KTXParse.VK_FORMAT_R64G64B64A64_SINT=Ce,KTXParse.VK_FORMAT_R64G64B64A64_UINT=Pe,KTXParse.VK_FORMAT_R64G64B64_SFLOAT=Fe,KTXParse.VK_FORMAT_R64G64B64_SINT=Ee,KTXParse.VK_FORMAT_R64G64B64_UINT=Ve,KTXParse.VK_FORMAT_R64G64_SFLOAT=Te,KTXParse.VK_FORMAT_R64G64_SINT=Oe,KTXParse.VK_FORMAT_R64G64_UINT=Ie,KTXParse.VK_FORMAT_R64_SFLOAT=Se,KTXParse.VK_FORMAT_R64_SINT=ve,KTXParse.VK_FORMAT_R64_UINT=ke,KTXParse.VK_FORMAT_R8G8B8A8_SINT=Et,KTXParse.VK_FORMAT_R8G8B8A8_SNORM=Tt,KTXParse.VK_FORMAT_R8G8B8A8_SRGB=Ft,KTXParse.VK_FORMAT_R8G8B8A8_UINT=Vt,KTXParse.VK_FORMAT_R8G8B8A8_UNORM=Ot,KTXParse.VK_FORMAT_R8G8B8_SINT=Bt,KTXParse.VK_FORMAT_R8G8B8_SNORM=wt,KTXParse.VK_FORMAT_R8G8B8_SRGB=Lt,KTXParse.VK_FORMAT_R8G8B8_UINT=Dt,KTXParse.VK_FORMAT_R8G8B8_UNORM=mt,KTXParse.VK_FORMAT_R8G8_SINT=bt,KTXParse.VK_FORMAT_R8G8_SNORM=xt,KTXParse.VK_FORMAT_R8G8_SRGB=dt,KTXParse.VK_FORMAT_R8G8_UINT=ut,KTXParse.VK_FORMAT_R8G8_UNORM=yt,KTXParse.VK_FORMAT_R8_SINT=pt,KTXParse.VK_FORMAT_R8_SNORM=ht,KTXParse.VK_FORMAT_R8_SRGB=gt,KTXParse.VK_FORMAT_R8_UINT=_t,KTXParse.VK_FORMAT_R8_UNORM=ct,KTXParse.VK_FORMAT_S8_UINT=Xe,KTXParse.VK_FORMAT_UNDEFINED=nt,KTXParse.VK_FORMAT_X8_D24_UNORM_PACK32=He,KTXParse.read=Pi,KTXParse.write=Mi})();(function(){var CompressedTexture=THREE.CompressedTexture,Data3DTexture=THREE.Data3DTexture,DataTexture=THREE.DataTexture,FileLoader=THREE.FileLoader,FloatType=THREE.FloatType,HalfFloatType=THREE.HalfFloatType,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,Loader=THREE.Loader,RedFormat=THREE.RedFormat,RGB_ETC1_Format=THREE.RGB_ETC1_Format,RGB_ETC2_Format=THREE.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format=THREE.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format=THREE.RGB_S3TC_DXT1_Format,RGBA_ASTC_4x4_Format=THREE.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format=THREE.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format=THREE.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format=THREE.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format=THREE.RGBA_S3TC_DXT5_Format,RGBAFormat=THREE.RGBAFormat,RGFormat=THREE.RGFormat,sRGBEncoding=THREE.sRGBEncoding,UnsignedByteType=THREE.UnsignedByteType,WorkerPool=THREE.WorkerPool;var read=THREE.KTXParse.read,KHR_DF_FLAG_ALPHA_PREMULTIPLIED=THREE.KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED,KHR_DF_TRANSFER_SRGB=THREE.KTXParse.KHR_DF_TRANSFER_SRGB,KHR_SUPERCOMPRESSION_NONE=THREE.KTXParse.KHR_SUPERCOMPRESSION_NONE,KHR_SUPERCOMPRESSION_ZSTD=THREE.KTXParse.KHR_SUPERCOMPRESSION_ZSTD,VK_FORMAT_UNDEFINED=THREE.KTXParse.VK_FORMAT_UNDEFINED,VK_FORMAT_R16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16_SFLOAT,VK_FORMAT_R16G16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16_SFLOAT,VK_FORMAT_R16G16B16A16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT,VK_FORMAT_R32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32_SFLOAT,VK_FORMAT_R32G32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32_SFLOAT,VK_FORMAT_R32G32B32A32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT,VK_FORMAT_R8_SRGB=THREE.KTXParse.VK_FORMAT_R8_SRGB,VK_FORMAT_R8_UNORM=THREE.KTXParse.VK_FORMAT_R8_UNORM,VK_FORMAT_R8G8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8_SRGB,VK_FORMAT_R8G8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8_UNORM,VK_FORMAT_R8G8B8A8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8B8A8_SRGB,VK_FORMAT_R8G8B8A8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8B8A8_UNORM;var ZSTDDecoder=THREE.ZSTDDecoder;const _taskCache=new WeakMap;let _activeLoaders=0;let _zstd;class KTX2Loader extends Loader{constructor(manager){super(manager);this.transcoderPath="";this.transcoderBinary=null;this.transcoderPending=null;this.workerPool=new WorkerPool;this.workerSourceURL="";this.workerConfig=null;if(typeof MSC_TRANSCODER!=="undefined"){console.warn("THREE.KTX2Loader: Please update to latest \"basis_transcoder\"."+" \"msc_basis_transcoder\" is no longer supported in three.js r125+.")}}setTranscoderPath(path){this.transcoderPath=path;return this}setWorkerLimit(num){this.workerPool.setWorkerLimit(num);return this}detectSupport(renderer){this.workerConfig={astcSupported:renderer.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:renderer.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:renderer.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:renderer.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:renderer.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:renderer.extensions.has("WEBGL_compressed_texture_pvrtc")||renderer.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")};if(renderer.capabilities.isWebGL2){this.workerConfig.etc1Supported=false}return this}init(){if(!this.transcoderPending){const jsLoader=new FileLoader(this.manager);jsLoader.setPath(this.transcoderPath);jsLoader.setWithCredentials(this.withCredentials);const jsContent=jsLoader.loadAsync("basis_transcoder.js");const binaryLoader=new FileLoader(this.manager);binaryLoader.setPath(this.transcoderPath);binaryLoader.setResponseType("arraybuffer");binaryLoader.setWithCredentials(this.withCredentials);const binaryContent=binaryLoader.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([jsContent,binaryContent]).then(([jsContent,binaryContent])=>{const fn=KTX2Loader.BasisWorker.toString();const body=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",jsContent,"/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]));this.transcoderBinary=binaryContent;this.workerPool.setWorkerCreator(()=>{const worker=new Worker(this.workerSourceURL);const transcoderBinary=this.transcoderBinary.slice(0);worker.postMessage({type:"init",config:this.workerConfig,transcoderBinary},[transcoderBinary]);return worker})});if(_activeLoaders>0){console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues."+" Use a single KTX2Loader instance, or call .dispose() on old instances.")}_activeLoaders++}return this.transcoderPending}load(url,onLoad,onProgress,onError){if(this.workerConfig===null){throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.")}const loader=new FileLoader(this.manager);loader.setResponseType("arraybuffer");loader.setWithCredentials(this.withCredentials);loader.load(url,buffer=>{if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);return cachedTask.promise.then(onLoad).catch(onError)}this._createTexture(buffer).then(texture=>onLoad?onLoad(texture):null).catch(onError)},onProgress,onError)}_createTextureFrom(transcodeResult){const{mipmaps,width,height,format,type,error,dfdTransferFn,dfdFlags}=transcodeResult;if(type==="error")return Promise.reject(error);const texture=new CompressedTexture(mipmaps,width,height,format,UnsignedByteType);texture.minFilter=mipmaps.length===1?LinearFilter:LinearMipmapLinearFilter;texture.magFilter=LinearFilter;texture.generateMipmaps=false;texture.needsUpdate=true;texture.encoding=dfdTransferFn===KHR_DF_TRANSFER_SRGB?sRGBEncoding:LinearEncoding;texture.premultiplyAlpha=!!(dfdFlags&KHR_DF_FLAG_ALPHA_PREMULTIPLIED);return texture}_createTexture(buffer,config={}){const container=read(new Uint8Array(buffer));if(container.vkFormat!==VK_FORMAT_UNDEFINED){return createDataTexture(container)}const taskConfig=config;const texturePending=this.init().then(()=>{return this.workerPool.postMessage({type:"transcode",buffer,taskConfig:taskConfig},[buffer])}).then(e=>this._createTextureFrom(e.data));_taskCache.set(buffer,{promise:texturePending});return texturePending}dispose(){this.workerPool.dispose();if(this.workerSourceURL)URL.revokeObjectURL(this.workerSourceURL);_activeLoaders--;return this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1};KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16};KTX2Loader.EngineFormat={RGBAFormat:RGBAFormat,RGBA_ASTC_4x4_Format:RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:RGB_ETC1_Format,RGB_ETC2_Format:RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:RGB_S3TC_DXT1_Format};KTX2Loader.BasisWorker=function(){let config;let transcoderPending;let BasisModule;const EngineFormat=_EngineFormat;const TranscoderFormat=_TranscoderFormat;const BasisFormat=_BasisFormat;self.addEventListener("message",function(e){const message=e.data;switch(message.type){case"init":config=message.config;init(message.transcoderBinary);break;case"transcode":transcoderPending.then(()=>{try{const{width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags}=transcode(message.buffer);const buffers=[];for(let i=0;i<mipmaps.length;++i){buffers.push(mipmaps[i].data.buffer)}self.postMessage({type:"transcode",id:message.id,width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags},buffers)}catch(error){console.error(error);self.postMessage({type:"error",id:message.id,error:error.message})}});break;}});function init(wasmBinary){transcoderPending=new Promise(resolve=>{BasisModule={wasmBinary,onRuntimeInitialized:resolve};BASIS(BasisModule)}).then(()=>{BasisModule.initializeBasis();if(BasisModule.KTX2File===undefined){console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}})}function transcode(buffer){const ktx2File=new BasisModule.KTX2File(new Uint8Array(buffer));function cleanup(){ktx2File.close();ktx2File.delete()}if(!ktx2File.isValid()){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file")}const basisFormat=ktx2File.isUASTC()?BasisFormat.UASTC_4x4:BasisFormat.ETC1S;const width=ktx2File.getWidth();const height=ktx2File.getHeight();const levels=ktx2File.getLevels();const hasAlpha=ktx2File.getHasAlpha();const dfdTransferFn=ktx2File.getDFDTransferFunc();const dfdFlags=ktx2File.getDFDFlags();const{transcoderFormat,engineFormat}=getTranscoderFormat(basisFormat,width,height,hasAlpha);if(!width||!height||!levels){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid texture")}if(!ktx2File.startTranscoding()){cleanup();throw new Error("THREE.KTX2Loader: .startTranscoding failed")}const mipmaps=[];for(let mip=0;mip<levels;mip++){const levelInfo=ktx2File.getImageLevelInfo(mip,0,0);const mipWidth=levelInfo.origWidth;const mipHeight=levelInfo.origHeight;const dst=new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip,0,0,transcoderFormat));const status=ktx2File.transcodeImage(dst,mip,0,0,transcoderFormat,0,-1,-1);if(!status){cleanup();throw new Error("THREE.KTX2Loader: .transcodeImage failed.")}mipmaps.push({data:dst,width:mipWidth,height:mipHeight})}cleanup();return{width,height,hasAlpha,mipmaps,format:engineFormat,dfdTransferFn,dfdFlags}}const FORMAT_OPTIONS=[{if:"astcSupported",basisFormat:[BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ASTC_4x4,TranscoderFormat.ASTC_4x4],engineFormat:[EngineFormat.RGBA_ASTC_4x4_Format,EngineFormat.RGBA_ASTC_4x4_Format],priorityETC1S:Infinity,priorityUASTC:1,needsPowerOfTwo:false},{if:"bptcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC7_M5,TranscoderFormat.BC7_M5],engineFormat:[EngineFormat.RGBA_BPTC_Format,EngineFormat.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:false},{if:"dxtSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.BC1,TranscoderFormat.BC3],engineFormat:[EngineFormat.RGB_S3TC_DXT1_Format,EngineFormat.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:false},{if:"etc2Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1,TranscoderFormat.ETC2],engineFormat:[EngineFormat.RGB_ETC2_Format,EngineFormat.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:false},{if:"etc1Supported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.ETC1],engineFormat:[EngineFormat.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:false},{if:"pvrtcSupported",basisFormat:[BasisFormat.ETC1S,BasisFormat.UASTC_4x4],transcoderFormat:[TranscoderFormat.PVRTC1_4_RGB,TranscoderFormat.PVRTC1_4_RGBA],engineFormat:[EngineFormat.RGB_PVRTC_4BPPV1_Format,EngineFormat.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:true}];const ETC1S_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityETC1S-b.priorityETC1S});const UASTC_OPTIONS=FORMAT_OPTIONS.sort(function(a,b){return a.priorityUASTC-b.priorityUASTC});function getTranscoderFormat(basisFormat,width,height,hasAlpha){let transcoderFormat;let engineFormat;const options=basisFormat===BasisFormat.ETC1S?ETC1S_OPTIONS:UASTC_OPTIONS;for(let i=0;i<options.length;i++){const opt=options[i];if(!config[opt.if])continue;if(!opt.basisFormat.includes(basisFormat))continue;if(hasAlpha&&opt.transcoderFormat.length<2)continue;if(opt.needsPowerOfTwo&&!(isPowerOfTwo(width)&&isPowerOfTwo(height)))continue;transcoderFormat=opt.transcoderFormat[hasAlpha?1:0];engineFormat=opt.engineFormat[hasAlpha?1:0];return{transcoderFormat,engineFormat}}console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32.");transcoderFormat=TranscoderFormat.RGBA32;engineFormat=EngineFormat.RGBAFormat;return{transcoderFormat,engineFormat}}function isPowerOfTwo(value){if(value<=2)return true;return(value&value-1)===0&&value!==0}};const FORMAT_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:RGBAFormat,[VK_FORMAT_R16G16B16A16_SFLOAT]:RGBAFormat,[VK_FORMAT_R8G8B8A8_UNORM]:RGBAFormat,[VK_FORMAT_R8G8B8A8_SRGB]:RGBAFormat,[VK_FORMAT_R32G32_SFLOAT]:RGFormat,[VK_FORMAT_R16G16_SFLOAT]:RGFormat,[VK_FORMAT_R8G8_UNORM]:RGFormat,[VK_FORMAT_R8G8_SRGB]:RGFormat,[VK_FORMAT_R32_SFLOAT]:RedFormat,[VK_FORMAT_R16_SFLOAT]:RedFormat,[VK_FORMAT_R8_SRGB]:RedFormat,[VK_FORMAT_R8_UNORM]:RedFormat};const TYPE_MAP={[VK_FORMAT_R32G32B32A32_SFLOAT]:FloatType,[VK_FORMAT_R16G16B16A16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8B8A8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8B8A8_SRGB]:UnsignedByteType,[VK_FORMAT_R32G32_SFLOAT]:FloatType,[VK_FORMAT_R16G16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8G8_UNORM]:UnsignedByteType,[VK_FORMAT_R8G8_SRGB]:UnsignedByteType,[VK_FORMAT_R32_SFLOAT]:FloatType,[VK_FORMAT_R16_SFLOAT]:HalfFloatType,[VK_FORMAT_R8_SRGB]:UnsignedByteType,[VK_FORMAT_R8_UNORM]:UnsignedByteType};const ENCODING_MAP={[VK_FORMAT_R8G8B8A8_SRGB]:sRGBEncoding,[VK_FORMAT_R8G8_SRGB]:sRGBEncoding,[VK_FORMAT_R8_SRGB]:sRGBEncoding};async function createDataTexture(container){const{vkFormat,pixelWidth,pixelHeight,pixelDepth}=container;if(FORMAT_MAP[vkFormat]===undefined){throw new Error("THREE.KTX2Loader: Unsupported vkFormat.")}const level=container.levels[0];let levelData;let view;if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_NONE){levelData=level.levelData}else if(container.supercompressionScheme===KHR_SUPERCOMPRESSION_ZSTD){if(!_zstd){_zstd=new Promise(async resolve=>{const zstd=new ZSTDDecoder;await zstd.init();resolve(zstd)})}levelData=(await _zstd).decode(level.levelData,level.uncompressedByteLength)}else{throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.")}if(TYPE_MAP[vkFormat]===FloatType){view=new Float32Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Float32Array.BYTES_PER_ELEMENT)}else if(TYPE_MAP[vkFormat]===HalfFloatType){view=new Uint16Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Uint16Array.BYTES_PER_ELEMENT)}else{view=levelData}const texture=pixelDepth===0?new DataTexture(view,pixelWidth,pixelHeight):new Data3DTexture(view,pixelWidth,pixelHeight,pixelDepth);texture.type=TYPE_MAP[vkFormat];texture.format=FORMAT_MAP[vkFormat];texture.encoding=ENCODING_MAP[vkFormat]||LinearEncoding;texture.needsUpdate=true;return Promise.resolve(texture)}THREE.KTX2Loader=KTX2Loader})();(function(){let A,I,B;const g={env:{emscripten_notify_memory_growth:function(A){B=new Uint8Array(I.exports.memory.buffer)}}};class Q{init(){return A||(A="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+C).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,g)).then(this._init):WebAssembly.instantiate(Buffer.from(C,"base64"),g).then(this._init),A)}_init(A){I=A.instance,g.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!I)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Q=A.byteLength,C=I.exports.malloc(Q);B.set(A,C),g=g||Number(I.exports.ZSTD_findDecompressedSize(C,Q));const E=I.exports.malloc(g),i=I.exports.ZSTD_decompress(E,g,C,Q),D=B.slice(E,E+i);return I.exports.free(C),I.exports.free(E),D}}const C=" ";THREE.ZSTDDecoder=Q})();(function(){var BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Color=THREE.Color,FileLoader=THREE.FileLoader,Loader=THREE.Loader,LinearSRGBColorSpace=THREE.LinearSRGBColorSpace,SRGBColorSpace=THREE.SRGBColorSpace;const _taskCache=new WeakMap;class DRACOLoader extends Loader{constructor(manager){super(manager);this.decoderPath="";this.decoderConfig={};this.decoderBinary=null;this.decoderPending=null;this.workerLimit=4;this.workerPool=[];this.workerNextTaskID=1;this.workerSourceURL="";this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"};this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(path){this.decoderPath=path;return this}setDecoderConfig(config){this.decoderConfig=config;return this}setWorkerLimit(workerLimit){this.workerLimit=workerLimit;return this}load(url,onLoad,onProgress,onError){const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,buffer=>{this.parse(buffer,onLoad,onError)},onProgress,onError)}parse(buffer,onLoad,onError){this.decodeDracoFile(buffer,onLoad,null,null,SRGBColorSpace).catch(onError)}decodeDracoFile(buffer,callback,attributeIDs,attributeTypes,vertexColorSpace=LinearSRGBColorSpace){const taskConfig={attributeIDs:attributeIDs||this.defaultAttributeIDs,attributeTypes:attributeTypes||this.defaultAttributeTypes,useUniqueIDs:!!attributeIDs,vertexColorSpace:vertexColorSpace};return this.decodeGeometry(buffer,taskConfig).then(callback)}decodeGeometry(buffer,taskConfig){const taskKey=JSON.stringify(taskConfig);if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);if(cachedTask.key===taskKey){return cachedTask.promise}else if(buffer.byteLength===0){throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different "+"settings. Buffer has already been transferred.")}}let worker;const taskID=this.workerNextTaskID++;const taskCost=buffer.byteLength;const geometryPending=this._getWorker(taskID,taskCost).then(_worker=>{worker=_worker;return new Promise((resolve,reject)=>{worker._callbacks[taskID]={resolve,reject};worker.postMessage({type:"decode",id:taskID,taskConfig,buffer},[buffer])})}).then(message=>this._createGeometry(message.geometry));geometryPending.catch(()=>true).then(()=>{if(worker&&taskID){this._releaseTask(worker,taskID)}});_taskCache.set(buffer,{key:taskKey,promise:geometryPending});return geometryPending}_createGeometry(geometryData){const geometry=new BufferGeometry;if(geometryData.index){geometry.setIndex(new BufferAttribute(geometryData.index.array,1))}for(let i=0;i<geometryData.attributes.length;i++){const result=geometryData.attributes[i];const name=result.name;const array=result.array;const itemSize=result.itemSize;const attribute=new BufferAttribute(array,itemSize);if(name==="color"){this._assignVertexColorSpace(attribute,result.vertexColorSpace);attribute.normalized=array instanceof Float32Array===false}geometry.setAttribute(name,attribute)}return geometry}_assignVertexColorSpace(attribute,inputColorSpace){if(inputColorSpace!==SRGBColorSpace)return;const _color=new Color;for(let i=0,il=attribute.count;i<il;i++){_color.fromBufferAttribute(attribute,i).convertSRGBToLinear();attribute.setXYZ(i,_color.r,_color.g,_color.b)}}_loadLibrary(url,responseType){const loader=new FileLoader(this.manager);loader.setPath(this.decoderPath);loader.setResponseType(responseType);loader.setWithCredentials(this.withCredentials);return new Promise((resolve,reject)=>{loader.load(url,resolve,undefined,reject)})}preload(){this._initDecoder();return this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const useJS=typeof WebAssembly!=="object"||this.decoderConfig.type==="js";const librariesPending=[];if(useJS){librariesPending.push(this._loadLibrary("draco_decoder.js","text"))}else{librariesPending.push(this._loadLibrary("draco_wasm_wrapper.js","text"));librariesPending.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))}this.decoderPending=Promise.all(librariesPending).then(libraries=>{const jsContent=libraries[0];if(!useJS){this.decoderConfig.wasmBinary=libraries[1]}const fn=DRACOWorker.toString();const body=["/* draco decoder */",jsContent,"","/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]))});return this.decoderPending}_getWorker(taskID,taskCost){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const worker=new Worker(this.workerSourceURL);worker._callbacks={};worker._taskCosts={};worker._taskLoad=0;worker.postMessage({type:"init",decoderConfig:this.decoderConfig});worker.onmessage=function(e){const message=e.data;switch(message.type){case"decode":worker._callbacks[message.id].resolve(message);break;case"error":worker._callbacks[message.id].reject(message);break;default:console.error("THREE.DRACOLoader: Unexpected message, \""+message.type+"\"");}};this.workerPool.push(worker)}else{this.workerPool.sort(function(a,b){return a._taskLoad>b._taskLoad?-1:1})}const worker=this.workerPool[this.workerPool.length-1];worker._taskCosts[taskID]=taskCost;worker._taskLoad+=taskCost;return worker})}_releaseTask(worker,taskID){worker._taskLoad-=worker._taskCosts[taskID];delete worker._callbacks[taskID];delete worker._taskCosts[taskID]}debug(){console.log("Task load: ",this.workerPool.map(worker=>worker._taskLoad))}dispose(){for(let i=0;i<this.workerPool.length;++i){this.workerPool[i].terminate()}this.workerPool.length=0;if(this.workerSourceURL!==""){URL.revokeObjectURL(this.workerSourceURL)}return this}}function DRACOWorker(){let decoderConfig;let decoderPending;onmessage=function(e){const message=e.data;switch(message.type){case"init":decoderConfig=message.decoderConfig;decoderPending=new Promise(function(resolve){decoderConfig.onModuleLoaded=function(draco){resolve({draco:draco})};DracoDecoderModule(decoderConfig)});break;case"decode":const buffer=message.buffer;const taskConfig=message.taskConfig;decoderPending.then(module=>{const draco=module.draco;const decoder=new draco.Decoder;try{const geometry=decodeGeometry(draco,decoder,new Int8Array(buffer),taskConfig);const buffers=geometry.attributes.map(attr=>attr.array.buffer);if(geometry.index)buffers.push(geometry.index.array.buffer);self.postMessage({type:"decode",id:message.id,geometry},buffers)}catch(error){console.error(error);self.postMessage({type:"error",id:message.id,error:error.message})}finally{draco.destroy(decoder)}});break;}};function decodeGeometry(draco,decoder,array,taskConfig){const attributeIDs=taskConfig.attributeIDs;const attributeTypes=taskConfig.attributeTypes;let dracoGeometry;let decodingStatus;const geometryType=decoder.GetEncodedGeometryType(array);if(geometryType===draco.TRIANGULAR_MESH){dracoGeometry=new draco.Mesh;decodingStatus=decoder.DecodeArrayToMesh(array,array.byteLength,dracoGeometry)}else if(geometryType===draco.POINT_CLOUD){dracoGeometry=new draco.PointCloud;decodingStatus=decoder.DecodeArrayToPointCloud(array,array.byteLength,dracoGeometry)}else{throw new Error("THREE.DRACOLoader: Unexpected geometry type.")}if(!decodingStatus.ok()||dracoGeometry.ptr===0){throw new Error("THREE.DRACOLoader: Decoding failed: "+decodingStatus.error_msg())}const geometry={index:null,attributes:[]};for(const attributeName in attributeIDs){const attributeType=self[attributeTypes[attributeName]];let attribute;let attributeID;if(taskConfig.useUniqueIDs){attributeID=attributeIDs[attributeName];attribute=decoder.GetAttributeByUniqueId(dracoGeometry,attributeID)}else{attributeID=decoder.GetAttributeId(dracoGeometry,draco[attributeIDs[attributeName]]);if(attributeID===-1)continue;attribute=decoder.GetAttribute(dracoGeometry,attributeID)}const attributeResult=decodeAttribute(draco,decoder,dracoGeometry,attributeName,attributeType,attribute);if(attributeName==="color"){attributeResult.vertexColorSpace=taskConfig.vertexColorSpace}geometry.attributes.push(attributeResult)}if(geometryType===draco.TRIANGULAR_MESH){geometry.index=decodeIndex(draco,decoder,dracoGeometry)}draco.destroy(dracoGeometry);return geometry}function decodeIndex(draco,decoder,dracoGeometry){const numFaces=dracoGeometry.num_faces();const numIndices=numFaces*3;const byteLength=numIndices*4;const ptr=draco._malloc(byteLength);decoder.GetTrianglesUInt32Array(dracoGeometry,byteLength,ptr);const index=new Uint32Array(draco.HEAPF32.buffer,ptr,numIndices).slice();draco._free(ptr);return{array:index,itemSize:1}}function decodeAttribute(draco,decoder,dracoGeometry,attributeName,attributeType,attribute){const numComponents=attribute.num_components();const numPoints=dracoGeometry.num_points();const numValues=numPoints*numComponents;const byteLength=numValues*attributeType.BYTES_PER_ELEMENT;const dataType=getDracoDataType(draco,attributeType);const ptr=draco._malloc(byteLength);decoder.GetAttributeDataArrayForAllPoints(dracoGeometry,attribute,dataType,byteLength,ptr);const array=new attributeType(draco.HEAPF32.buffer,ptr,numValues).slice();draco._free(ptr);return{name:attributeName,array:array,itemSize:numComponents}}function getDracoDataType(draco,attributeType){switch(attributeType){case Float32Array:return draco.DT_FLOAT32;case Int8Array:return draco.DT_INT8;case Int16Array:return draco.DT_INT16;case Int32Array:return draco.DT_INT32;case Uint8Array:return draco.DT_UINT8;case Uint16Array:return draco.DT_UINT16;case Uint32Array:return draco.DT_UINT32;}}}THREE.DRACOLoader=DRACOLoader})();(function(e){var modifiedJSON={};modifiedJSON.parse=function(data){json=JSON.parse(data);json.nodes&&json.nodes.forEach((node,index)=>{(node.extras||(node.extras={})).id=index.toString()});return json};e(modifiedJSON)})(function(JSON){(function(){var AnimationClip=THREE.AnimationClip,Bone=THREE.Bone,Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,ClampToEdgeWrapping=THREE.ClampToEdgeWrapping,Color=THREE.Color,DirectionalLight=THREE.DirectionalLight,DoubleSide=THREE.DoubleSide,FileLoader=THREE.FileLoader,FrontSide=THREE.FrontSide,Group=THREE.Group,ImageBitmapLoader=THREE.ImageBitmapLoader,InstancedMesh=THREE.InstancedMesh,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,Interpolant=THREE.Interpolant,InterpolateDiscrete=THREE.InterpolateDiscrete,InterpolateLinear=THREE.InterpolateLinear,Line=THREE.Line,LineBasicMaterial=THREE.LineBasicMaterial,LineLoop=THREE.LineLoop,LineSegments=THREE.LineSegments,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,LinearMipmapNearestFilter=THREE.LinearMipmapNearestFilter,Loader=THREE.Loader,LoaderUtils=THREE.LoaderUtils,Material=THREE.Material,MathUtils=THREE.MathUtils,Matrix4=THREE.Matrix4,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshPhysicalMaterial=THREE.MeshPhysicalMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,MirroredRepeatWrapping=THREE.MirroredRepeatWrapping,NearestFilter=THREE.NearestFilter,NearestMipmapLinearFilter=THREE.NearestMipmapLinearFilter,NearestMipmapNearestFilter=THREE.NearestMipmapNearestFilter,NumberKeyframeTrack=THREE.NumberKeyframeTrack,Object3D=THREE.Object3D,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,PointLight=THREE.PointLight,Points=THREE.Points,PointsMaterial=THREE.PointsMaterial,PropertyBinding=THREE.PropertyBinding,Quaternion=THREE.Quaternion,QuaternionKeyframeTrack=THREE.QuaternionKeyframeTrack,RepeatWrapping=THREE.RepeatWrapping,Skeleton=THREE.Skeleton,SkinnedMesh=THREE.SkinnedMesh,Sphere=THREE.Sphere,SpotLight=THREE.SpotLight,Texture=THREE.Texture,TextureLoader=THREE.TextureLoader,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,Vector2=THREE.Vector2,Vector3=THREE.Vector3,VectorKeyframeTrack=THREE.VectorKeyframeTrack,sRGBEncoding=THREE.sRGBEncoding;var toTrianglesDrawMode=THREE.BufferGeometryUtils.toTrianglesDrawMode;class GLTFLoader extends Loader{constructor(manager){super(manager);this.dracoLoader=null;this.ktx2Loader=null;this.meshoptDecoder=null;this.pluginCallbacks=[];this.register(function(parser){return new GLTFMaterialsClearcoatExtension(parser)});this.register(function(parser){return new GLTFTextureBasisUExtension(parser)});this.register(function(parser){return new GLTFTextureWebPExtension(parser)});this.register(function(parser){return new GLTFTextureAVIFExtension(parser)});this.register(function(parser){return new GLTFMaterialsSheenExtension(parser)});this.register(function(parser){return new GLTFMaterialsTransmissionExtension(parser)});this.register(function(parser){return new GLTFMaterialsVolumeExtension(parser)});this.register(function(parser){return new GLTFMaterialsIorExtension(parser)});this.register(function(parser){return new GLTFMaterialsEmissiveStrengthExtension(parser)});this.register(function(parser){return new GLTFMaterialsSpecularExtension(parser)});this.register(function(parser){return new GLTFMaterialsIridescenceExtension(parser)});this.register(function(parser){return new GLTFLightsExtension(parser)});this.register(function(parser){return new GLTFMeshoptCompression(parser)});this.register(function(parser){return new GLTFMeshGpuInstancing(parser)})}load(url,onLoad,onProgress,onError){const scope=this;let resourcePath;if(this.resourcePath!==""){resourcePath=this.resourcePath}else if(this.path!==""){resourcePath=this.path}else{resourcePath=LoaderUtils.extractUrlBase(url)}this.manager.itemStart(url);const _onError=function(e){if(onError){onError(e)}else{console.error(e)}scope.manager.itemError(url);scope.manager.itemEnd(url)};const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,function(data){try{scope.parse(data,resourcePath,function(gltf){onLoad(gltf);scope.manager.itemEnd(url)},_onError)}catch(e){_onError(e)}},onProgress,_onError)}setDRACOLoader(dracoLoader){this.dracoLoader=dracoLoader;return this}setDDSLoader(){throw new Error("THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".")}setKTX2Loader(ktx2Loader){this.ktx2Loader=ktx2Loader;return this}setMeshoptDecoder(meshoptDecoder){this.meshoptDecoder=meshoptDecoder;return this}register(callback){if(this.pluginCallbacks.indexOf(callback)===-1){this.pluginCallbacks.push(callback)}return this}unregister(callback){if(this.pluginCallbacks.indexOf(callback)!==-1){this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback),1)}return this}parse(data,path,onLoad,onError){let json;const extensions={};const plugins={};const textDecoder=new TextDecoder;if(typeof data==="string"){json=JSON.parse(data)}else if(data instanceof ArrayBuffer){const magic=textDecoder.decode(new Uint8Array(data,0,4));if(magic===BINARY_EXTENSION_HEADER_MAGIC){try{extensions[EXTENSIONS.KHR_BINARY_GLTF]=new GLTFBinaryExtension(data)}catch(error){if(onError)onError(error);return}json=JSON.parse(extensions[EXTENSIONS.KHR_BINARY_GLTF].content)}else{json=JSON.parse(textDecoder.decode(data))}}else{json=data}if(json.asset===undefined||json.asset.version[0]<2){if(onError)onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const parser=new GLTFParser(json,{path:path||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});parser.fileLoader.setRequestHeader(this.requestHeader);for(let i=0;i<this.pluginCallbacks.length;i++){const plugin=this.pluginCallbacks[i](parser);plugins[plugin.name]=plugin;extensions[plugin.name]=true}if(json.extensionsUsed){for(let i=0;i<json.extensionsUsed.length;++i){const extensionName=json.extensionsUsed[i];const extensionsRequired=json.extensionsRequired||[];switch(extensionName){case EXTENSIONS.KHR_MATERIALS_UNLIT:extensions[extensionName]=new GLTFMaterialsUnlitExtension;break;case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION:extensions[extensionName]=new GLTFDracoMeshCompressionExtension(json,this.dracoLoader);break;case EXTENSIONS.KHR_TEXTURE_TRANSFORM:extensions[extensionName]=new GLTFTextureTransformExtension;break;case EXTENSIONS.KHR_MESH_QUANTIZATION:extensions[extensionName]=new GLTFMeshQuantizationExtension;break;default:if(extensionsRequired.indexOf(extensionName)>=0&&plugins[extensionName]===undefined){console.warn("THREE.GLTFLoader: Unknown extension \""+extensionName+"\".")}}}}parser.setExtensions(extensions);parser.setPlugins(plugins);parser.parse(onLoad,onError)}parseAsync(data,path){const scope=this;return new Promise(function(resolve,reject){scope.parse(data,path,resolve,reject)})}}function GLTFRegistry(){let objects={};return{get:function(key){return objects[key]},add:function(key,object){objects[key]=object},remove:function(key){delete objects[key]},removeAll:function(){objects={}}}}const EXTENSIONS={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class GLTFLightsExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_LIGHTS_PUNCTUAL;this.cache={refs:{},uses:{}}}_markDefs(){const parser=this.parser;const nodeDefs=this.parser.json.nodes||[];for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.extensions&&nodeDef.extensions[this.name]&&nodeDef.extensions[this.name].light!==undefined){parser._addNodeRef(this.cache,nodeDef.extensions[this.name].light)}}}_loadLight(lightIndex){const parser=this.parser;const cacheKey="light:"+lightIndex;let dependency=parser.cache.get(cacheKey);if(dependency)return dependency;const json=parser.json;const extensions=json.extensions&&json.extensions[this.name]||{};const lightDefs=extensions.lights||[];const lightDef=lightDefs[lightIndex];let lightNode;const color=new Color(16777215);if(lightDef.color!==undefined)color.fromArray(lightDef.color);const range=lightDef.range!==undefined?lightDef.range:0;switch(lightDef.type){case"directional":lightNode=new DirectionalLight(color);lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;case"point":lightNode=new PointLight(color);lightNode.distance=range;break;case"spot":lightNode=new SpotLight(color);lightNode.distance=range;lightDef.spot=lightDef.spot||{};lightDef.spot.innerConeAngle=lightDef.spot.innerConeAngle!==undefined?lightDef.spot.innerConeAngle:0;lightDef.spot.outerConeAngle=lightDef.spot.outerConeAngle!==undefined?lightDef.spot.outerConeAngle:Math.PI/4;lightNode.angle=lightDef.spot.outerConeAngle;lightNode.penumbra=1-lightDef.spot.innerConeAngle/lightDef.spot.outerConeAngle;lightNode.target.position.set(0,0,-1);lightNode.add(lightNode.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+lightDef.type);}lightNode.position.set(0,0,0);lightNode.decay=2;assignExtrasToUserData(lightNode,lightDef);if(lightDef.intensity!==undefined)lightNode.intensity=lightDef.intensity;lightNode.name=parser.createUniqueName(lightDef.name||"light_"+lightIndex);dependency=Promise.resolve(lightNode);parser.cache.add(cacheKey,dependency);return dependency}getDependency(type,index){if(type!=="light")return;return this._loadLight(index)}createNodeAttachment(nodeIndex){const self=this;const parser=this.parser;const json=parser.json;const nodeDef=json.nodes[nodeIndex];const lightDef=nodeDef.extensions&&nodeDef.extensions[this.name]||{};const lightIndex=lightDef.light;if(lightIndex===undefined)return null;return this._loadLight(lightIndex).then(function(light){return parser._getNodeRef(self.cache,lightIndex,light)})}}class GLTFMaterialsUnlitExtension{constructor(){this.name=EXTENSIONS.KHR_MATERIALS_UNLIT}getMaterialType(){return MeshBasicMaterial}extendParams(materialParams,materialDef,parser){const pending=[];materialParams.color=new Color(1,1,1);materialParams.opacity=1;const metallicRoughness=materialDef.pbrMetallicRoughness;if(metallicRoughness){if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture,sRGBEncoding))}}return Promise.all(pending)}}class GLTFMaterialsEmissiveStrengthExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const emissiveStrength=materialDef.extensions[this.name].emissiveStrength;if(emissiveStrength!==undefined){materialParams.emissiveIntensity=emissiveStrength}return Promise.resolve()}}class GLTFMaterialsClearcoatExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_CLEARCOAT}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.clearcoatFactor!==undefined){materialParams.clearcoat=extension.clearcoatFactor}if(extension.clearcoatTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatMap",extension.clearcoatTexture))}if(extension.clearcoatRoughnessFactor!==undefined){materialParams.clearcoatRoughness=extension.clearcoatRoughnessFactor}if(extension.clearcoatRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatRoughnessMap",extension.clearcoatRoughnessTexture))}if(extension.clearcoatNormalTexture!==undefined){pending.push(parser.assignTexture(materialParams,"clearcoatNormalMap",extension.clearcoatNormalTexture));if(extension.clearcoatNormalTexture.scale!==undefined){const scale=extension.clearcoatNormalTexture.scale;materialParams.clearcoatNormalScale=new Vector2(scale,scale)}}return Promise.all(pending)}}class GLTFMaterialsIridescenceExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IRIDESCENCE}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.iridescenceFactor!==undefined){materialParams.iridescence=extension.iridescenceFactor}if(extension.iridescenceTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceMap",extension.iridescenceTexture))}if(extension.iridescenceIor!==undefined){materialParams.iridescenceIOR=extension.iridescenceIor}if(materialParams.iridescenceThicknessRange===undefined){materialParams.iridescenceThicknessRange=[100,400]}if(extension.iridescenceThicknessMinimum!==undefined){materialParams.iridescenceThicknessRange[0]=extension.iridescenceThicknessMinimum}if(extension.iridescenceThicknessMaximum!==undefined){materialParams.iridescenceThicknessRange[1]=extension.iridescenceThicknessMaximum}if(extension.iridescenceThicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"iridescenceThicknessMap",extension.iridescenceThicknessTexture))}return Promise.all(pending)}}class GLTFMaterialsSheenExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SHEEN}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];materialParams.sheenColor=new Color(0,0,0);materialParams.sheenRoughness=0;materialParams.sheen=1;const extension=materialDef.extensions[this.name];if(extension.sheenColorFactor!==undefined){materialParams.sheenColor.fromArray(extension.sheenColorFactor)}if(extension.sheenRoughnessFactor!==undefined){materialParams.sheenRoughness=extension.sheenRoughnessFactor}if(extension.sheenColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenColorMap",extension.sheenColorTexture,sRGBEncoding))}if(extension.sheenRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"sheenRoughnessMap",extension.sheenRoughnessTexture))}return Promise.all(pending)}}class GLTFMaterialsTransmissionExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_TRANSMISSION}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];if(extension.transmissionFactor!==undefined){materialParams.transmission=extension.transmissionFactor}if(extension.transmissionTexture!==undefined){pending.push(parser.assignTexture(materialParams,"transmissionMap",extension.transmissionTexture))}return Promise.all(pending)}}class GLTFMaterialsVolumeExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_VOLUME}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.thickness=extension.thicknessFactor!==undefined?extension.thicknessFactor:0;if(extension.thicknessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"thicknessMap",extension.thicknessTexture))}materialParams.attenuationDistance=extension.attenuationDistance||Infinity;const colorArray=extension.attenuationColor||[1,1,1];materialParams.attenuationColor=new Color(colorArray[0],colorArray[1],colorArray[2]);return Promise.all(pending)}}class GLTFMaterialsIorExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_IOR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const extension=materialDef.extensions[this.name];materialParams.ior=extension.ior!==undefined?extension.ior:1.5;return Promise.resolve()}}class GLTFMaterialsSpecularExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_MATERIALS_SPECULAR}getMaterialType(materialIndex){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name])return null;return MeshPhysicalMaterial}extendMaterialParams(materialIndex,materialParams){const parser=this.parser;const materialDef=parser.json.materials[materialIndex];if(!materialDef.extensions||!materialDef.extensions[this.name]){return Promise.resolve()}const pending=[];const extension=materialDef.extensions[this.name];materialParams.specularIntensity=extension.specularFactor!==undefined?extension.specularFactor:1;if(extension.specularTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularIntensityMap",extension.specularTexture))}const colorArray=extension.specularColorFactor||[1,1,1];materialParams.specularColor=new Color(colorArray[0],colorArray[1],colorArray[2]);if(extension.specularColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"specularColorMap",extension.specularColorTexture,sRGBEncoding))}return Promise.all(pending)}}class GLTFTextureBasisUExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_TEXTURE_BASISU}loadTexture(textureIndex){const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[this.name]){return null}const extension=textureDef.extensions[this.name];const loader=parser.options.ktx2Loader;if(!loader){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures")}else{return null}}return parser.loadTextureImage(textureIndex,extension.source,loader)}}class GLTFTextureWebPExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_WEBP;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,extension.source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFTextureAVIFExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_AVIF;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,extension.source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFMeshoptCompression{constructor(parser){this.name=EXTENSIONS.EXT_MESHOPT_COMPRESSION;this.parser=parser}loadBufferView(index){const json=this.parser.json;const bufferView=json.bufferViews[index];if(bufferView.extensions&&bufferView.extensions[this.name]){const extensionDef=bufferView.extensions[this.name];const buffer=this.parser.getDependency("buffer",extensionDef.buffer);const decoder=this.parser.options.meshoptDecoder;if(!decoder||!decoder.supported){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files")}else{return null}}return buffer.then(function(res){const byteOffset=extensionDef.byteOffset||0;const byteLength=extensionDef.byteLength||0;const count=extensionDef.count;const stride=extensionDef.byteStride;const source=new Uint8Array(res,byteOffset,byteLength);if(decoder.decodeGltfBufferAsync){return decoder.decodeGltfBufferAsync(count,stride,source,extensionDef.mode,extensionDef.filter).then(function(res){return res.buffer})}else{return decoder.ready.then(function(){const result=new ArrayBuffer(count*stride);decoder.decodeGltfBuffer(new Uint8Array(result),count,stride,source,extensionDef.mode,extensionDef.filter);return result})}})}else{return null}}}class GLTFMeshGpuInstancing{constructor(parser){this.name=EXTENSIONS.EXT_MESH_GPU_INSTANCING;this.parser=parser}createNodeMesh(nodeIndex){const json=this.parser.json;const nodeDef=json.nodes[nodeIndex];if(!nodeDef.extensions||!nodeDef.extensions[this.name]||nodeDef.mesh===undefined){return null}const meshDef=json.meshes[nodeDef.mesh];for(const primitive of meshDef.primitives){if(primitive.mode!==WEBGL_CONSTANTS.TRIANGLES&&primitive.mode!==WEBGL_CONSTANTS.TRIANGLE_STRIP&&primitive.mode!==WEBGL_CONSTANTS.TRIANGLE_FAN&&primitive.mode!==undefined){return null}}const extensionDef=nodeDef.extensions[this.name];const attributesDef=extensionDef.attributes;const pending=[];const attributes={};for(const key in attributesDef){pending.push(this.parser.getDependency("accessor",attributesDef[key]).then(accessor=>{attributes[key]=accessor;return attributes[key]}))}if(pending.length<1){return null}pending.push(this.parser.createNodeMesh(nodeIndex));return Promise.all(pending).then(results=>{const nodeObject=results.pop();const meshes=nodeObject.isGroup?nodeObject.children:[nodeObject];const count=results[0].count;const instancedMeshes=[];for(const mesh of meshes){const m=new Matrix4;const p=new Vector3;const q=new Quaternion;const s=new Vector3(1,1,1);const instancedMesh=new InstancedMesh(mesh.geometry,mesh.material,count);for(let i=0;i<count;i++){if(attributes.TRANSLATION){p.fromBufferAttribute(attributes.TRANSLATION,i)}if(attributes.ROTATION){q.fromBufferAttribute(attributes.ROTATION,i)}if(attributes.SCALE){s.fromBufferAttribute(attributes.SCALE,i)}instancedMesh.setMatrixAt(i,m.compose(p,q,s))}for(const attributeName in attributes){if(attributeName!=="TRANSLATION"&&attributeName!=="ROTATION"&&attributeName!=="SCALE"){mesh.geometry.setAttribute(attributeName,attributes[attributeName])}}Object3D.prototype.copy.call(instancedMesh,mesh);this.parser.assignFinalMaterial(instancedMesh);instancedMeshes.push(instancedMesh)}if(nodeObject.isGroup){nodeObject.clear();nodeObject.add(...instancedMeshes);return nodeObject}return instancedMeshes[0]})}}const BINARY_EXTENSION_HEADER_MAGIC="glTF";const BINARY_EXTENSION_HEADER_LENGTH=12;const BINARY_EXTENSION_CHUNK_TYPES={JSON:1313821514,BIN:5130562};class GLTFBinaryExtension{constructor(data){this.name=EXTENSIONS.KHR_BINARY_GLTF;this.content=null;this.body=null;const headerView=new DataView(data,0,BINARY_EXTENSION_HEADER_LENGTH);const textDecoder=new TextDecoder;this.header={magic:textDecoder.decode(new Uint8Array(data.slice(0,4))),version:headerView.getUint32(4,true),length:headerView.getUint32(8,true)};if(this.header.magic!==BINARY_EXTENSION_HEADER_MAGIC){throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.")}else if(this.header.version<2){throw new Error("THREE.GLTFLoader: Legacy binary file detected.")}const chunkContentsLength=this.header.length-BINARY_EXTENSION_HEADER_LENGTH;const chunkView=new DataView(data,BINARY_EXTENSION_HEADER_LENGTH);let chunkIndex=0;while(chunkIndex<chunkContentsLength){const chunkLength=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;const chunkType=chunkView.getUint32(chunkIndex,true);chunkIndex+=4;if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.JSON){const contentArray=new Uint8Array(data,BINARY_EXTENSION_HEADER_LENGTH+chunkIndex,chunkLength);this.content=textDecoder.decode(contentArray)}else if(chunkType===BINARY_EXTENSION_CHUNK_TYPES.BIN){const byteOffset=BINARY_EXTENSION_HEADER_LENGTH+chunkIndex;this.body=data.slice(byteOffset,byteOffset+chunkLength)}chunkIndex+=chunkLength}if(this.content===null){throw new Error("THREE.GLTFLoader: JSON content not found.")}}}class GLTFDracoMeshCompressionExtension{constructor(json,dracoLoader){if(!dracoLoader){throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.")}this.name=EXTENSIONS.KHR_DRACO_MESH_COMPRESSION;this.json=json;this.dracoLoader=dracoLoader;this.dracoLoader.preload()}decodePrimitive(primitive,parser){const json=this.json;const dracoLoader=this.dracoLoader;const bufferViewIndex=primitive.extensions[this.name].bufferView;const gltfAttributeMap=primitive.extensions[this.name].attributes;const threeAttributeMap={};const attributeNormalizedMap={};const attributeTypeMap={};for(const attributeName in gltfAttributeMap){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();threeAttributeMap[threeAttributeName]=gltfAttributeMap[attributeName]}for(const attributeName in primitive.attributes){const threeAttributeName=ATTRIBUTES[attributeName]||attributeName.toLowerCase();if(gltfAttributeMap[attributeName]!==undefined){const accessorDef=json.accessors[primitive.attributes[attributeName]];const componentType=WEBGL_COMPONENT_TYPES[accessorDef.componentType];attributeTypeMap[threeAttributeName]=componentType.name;attributeNormalizedMap[threeAttributeName]=accessorDef.normalized===true}}return parser.getDependency("bufferView",bufferViewIndex).then(function(bufferView){return new Promise(function(resolve){dracoLoader.decodeDracoFile(bufferView,function(geometry){for(const attributeName in geometry.attributes){const attribute=geometry.attributes[attributeName];const normalized=attributeNormalizedMap[attributeName];if(normalized!==undefined)attribute.normalized=normalized}resolve(geometry)},threeAttributeMap,attributeTypeMap)})})}}class GLTFTextureTransformExtension{constructor(){this.name=EXTENSIONS.KHR_TEXTURE_TRANSFORM}extendTexture(texture,transform){if((transform.texCoord===undefined||transform.texCoord===texture.channel)&&transform.offset===undefined&&transform.rotation===undefined&&transform.scale===undefined){return texture}texture=texture.clone();if(transform.texCoord!==undefined){texture.channel=transform.texCoord}if(transform.offset!==undefined){texture.offset.fromArray(transform.offset)}if(transform.rotation!==undefined){texture.rotation=transform.rotation}if(transform.scale!==undefined){texture.repeat.fromArray(transform.scale)}texture.needsUpdate=true;return texture}}class GLTFMeshQuantizationExtension{constructor(){this.name=EXTENSIONS.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends Interpolant{constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer)}copySampleValue_(index){const result=this.resultBuffer,values=this.sampleValues,valueSize=this.valueSize,offset=index*valueSize*3+valueSize;for(let i=0;i!==valueSize;i++){result[i]=values[offset+i]}return result}interpolate_(i1,t0,t,t1){const result=this.resultBuffer;const values=this.sampleValues;const stride=this.valueSize;const stride2=stride*2;const stride3=stride*3;const td=t1-t0;const p=(t-t0)/td;const pp=p*p;const ppp=pp*p;const offset1=i1*stride3;const offset0=offset1-stride3;const s2=-2*ppp+3*pp;const s3=ppp-pp;const s0=1-s2;const s1=s3-pp+p;for(let i=0;i!==stride;i++){const p0=values[offset0+i+stride];const m0=values[offset0+i+stride2]*td;const p1=values[offset1+i+stride];const m1=values[offset1+i]*td;result[i]=s0*p0+s1*m0+s2*p1+s3*m1}return result}}const _q=new Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(i1,t0,t,t1){const result=super.interpolate_(i1,t0,t,t1);_q.fromArray(result).normalize().toArray(result);return result}}const WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123};const WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};const WEBGL_FILTERS={9728:NearestFilter,9729:LinearFilter,9984:NearestMipmapNearestFilter,9985:LinearMipmapNearestFilter,9986:NearestMipmapLinearFilter,9987:LinearMipmapLinearFilter};const WEBGL_WRAPPINGS={33071:ClampToEdgeWrapping,33648:MirroredRepeatWrapping,10497:RepeatWrapping};const WEBGL_TYPE_SIZES={"SCALAR":1,"VEC2":2,"VEC3":3,"VEC4":4,"MAT2":4,"MAT3":9,"MAT4":16};const ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"};const PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"};const INTERPOLATION={CUBICSPLINE:undefined,LINEAR:InterpolateLinear,STEP:InterpolateDiscrete};const ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function createDefaultMaterial(cache){if(cache["DefaultMaterial"]===undefined){cache["DefaultMaterial"]=new MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:false,depthTest:true,side:FrontSide})}return cache["DefaultMaterial"]}function addUnknownExtensionsToUserData(knownExtensions,object,objectDef){for(const name in objectDef.extensions){if(knownExtensions[name]===undefined){object.userData.gltfExtensions=object.userData.gltfExtensions||{};object.userData.gltfExtensions[name]=objectDef.extensions[name]}}}function assignExtrasToUserData(object,gltfDef){if(gltfDef.extras!==undefined){if(typeof gltfDef.extras==="object"){Object.assign(object.userData,gltfDef.extras)}else{console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+gltfDef.extras)}}}function addMorphTargets(geometry,targets,parser){let hasMorphPosition=false;let hasMorphNormal=false;let hasMorphColor=false;for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(target.POSITION!==undefined)hasMorphPosition=true;if(target.NORMAL!==undefined)hasMorphNormal=true;if(target.COLOR_0!==undefined)hasMorphColor=true;if(hasMorphPosition&&hasMorphNormal&&hasMorphColor)break}if(!hasMorphPosition&&!hasMorphNormal&&!hasMorphColor)return Promise.resolve(geometry);const pendingPositionAccessors=[];const pendingNormalAccessors=[];const pendingColorAccessors=[];for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(hasMorphPosition){const pendingAccessor=target.POSITION!==undefined?parser.getDependency("accessor",target.POSITION):geometry.attributes.position;pendingPositionAccessors.push(pendingAccessor)}if(hasMorphNormal){const pendingAccessor=target.NORMAL!==undefined?parser.getDependency("accessor",target.NORMAL):geometry.attributes.normal;pendingNormalAccessors.push(pendingAccessor)}if(hasMorphColor){const pendingAccessor=target.COLOR_0!==undefined?parser.getDependency("accessor",target.COLOR_0):geometry.attributes.color;pendingColorAccessors.push(pendingAccessor)}}return Promise.all([Promise.all(pendingPositionAccessors),Promise.all(pendingNormalAccessors),Promise.all(pendingColorAccessors)]).then(function(accessors){const morphPositions=accessors[0];const morphNormals=accessors[1];const morphColors=accessors[2];if(hasMorphPosition)geometry.morphAttributes.position=morphPositions;if(hasMorphNormal)geometry.morphAttributes.normal=morphNormals;if(hasMorphColor)geometry.morphAttributes.color=morphColors;geometry.morphTargetsRelative=true;return geometry})}function updateMorphTargets(mesh,meshDef){mesh.updateMorphTargets();if(meshDef.weights!==undefined){for(let i=0,il=meshDef.weights.length;i<il;i++){mesh.morphTargetInfluences[i]=meshDef.weights[i]}}if(meshDef.extras&&Array.isArray(meshDef.extras.targetNames)){const targetNames=meshDef.extras.targetNames;if(mesh.morphTargetInfluences.length===targetNames.length){mesh.morphTargetDictionary={};for(let i=0,il=targetNames.length;i<il;i++){mesh.morphTargetDictionary[targetNames[i]]=i}}else{console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}}function createPrimitiveKey(primitiveDef){const dracoExtension=primitiveDef.extensions&&primitiveDef.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION];let geometryKey;if(dracoExtension){geometryKey="draco:"+dracoExtension.bufferView+":"+dracoExtension.indices+":"+createAttributesKey(dracoExtension.attributes)}else{geometryKey=primitiveDef.indices+":"+createAttributesKey(primitiveDef.attributes)+":"+primitiveDef.mode}return geometryKey}function createAttributesKey(attributes){let attributesKey="";const keys=Object.keys(attributes).sort();for(let i=0,il=keys.length;i<il;i++){attributesKey+=keys[i]+":"+attributes[keys[i]]+";"}return attributesKey}function getNormalizedComponentScale(constructor){switch(constructor){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");}}function getImageURIMimeType(uri){if(uri.search(/\.jpe?g($|\?)/i)>0||uri.search(/^data\:image\/jpeg/)===0)return"image/jpeg";if(uri.search(/\.webp($|\?)/i)>0||uri.search(/^data\:image\/webp/)===0)return"image/webp";return"image/png"}const _identityMatrix=new Matrix4;class GLTFParser{constructor(json={},options={}){this.json=json;this.extensions={};this.plugins={};this.options=options;this.cache=new GLTFRegistry;this.associations=new Map;this.primitiveCache={};this.nodeCache={};this.meshCache={refs:{},uses:{}};this.cameraCache={refs:{},uses:{}};this.lightCache={refs:{},uses:{}};this.sourceCache={};this.textureCache={};this.nodeNamesUsed={};let isSafari=false;let isFirefox=false;let firefoxVersion=-1;if(typeof navigator!=="undefined"){isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===true;isFirefox=navigator.userAgent.indexOf("Firefox")>-1;firefoxVersion=isFirefox?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1}if(typeof createImageBitmap==="undefined"||isSafari||isFirefox&&firefoxVersion<98){this.textureLoader=new TextureLoader(this.options.manager)}else{this.textureLoader=new ImageBitmapLoader(this.options.manager)}this.textureLoader.setCrossOrigin(this.options.crossOrigin);this.textureLoader.setRequestHeader(this.options.requestHeader);this.fileLoader=new FileLoader(this.options.manager);this.fileLoader.setResponseType("arraybuffer");if(this.options.crossOrigin==="use-credentials"){this.fileLoader.setWithCredentials(true)}}setExtensions(extensions){this.extensions=extensions}setPlugins(plugins){this.plugins=plugins}parse(onLoad,onError){const parser=this;const json=this.json;const extensions=this.extensions;this.cache.removeAll();this.nodeCache={};this._invokeAll(function(ext){return ext._markDefs&&ext._markDefs()});Promise.all(this._invokeAll(function(ext){return ext.beforeRoot&&ext.beforeRoot()})).then(function(){return Promise.all([parser.getDependencies("scene"),parser.getDependencies("animation"),parser.getDependencies("camera")])}).then(function(dependencies){const result={scene:dependencies[0][json.scene||0],scenes:dependencies[0],animations:dependencies[1],cameras:dependencies[2],asset:json.asset,parser:parser,userData:{}};addUnknownExtensionsToUserData(extensions,result,json);assignExtrasToUserData(result,json);Promise.all(parser._invokeAll(function(ext){return ext.afterRoot&&ext.afterRoot(result)})).then(function(){onLoad(result)})}).catch(onError)}_markDefs(){const nodeDefs=this.json.nodes||[];const skinDefs=this.json.skins||[];const meshDefs=this.json.meshes||[];for(let skinIndex=0,skinLength=skinDefs.length;skinIndex<skinLength;skinIndex++){const joints=skinDefs[skinIndex].joints;for(let i=0,il=joints.length;i<il;i++){nodeDefs[joints[i]].isBone=true}}for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex<nodeLength;nodeIndex++){const nodeDef=nodeDefs[nodeIndex];if(nodeDef.mesh!==undefined){this._addNodeRef(this.meshCache,nodeDef.mesh);if(nodeDef.skin!==undefined){meshDefs[nodeDef.mesh].isSkinnedMesh=true}}if(nodeDef.camera!==undefined){this._addNodeRef(this.cameraCache,nodeDef.camera)}}}_addNodeRef(cache,index){if(index===undefined)return;if(cache.refs[index]===undefined){cache.refs[index]=cache.uses[index]=0}cache.refs[index]++}_getNodeRef(cache,index,object){if(cache.refs[index]<=1)return object;const ref=object.clone();const updateMappings=(original,clone)=>{const mappings=this.associations.get(original);if(mappings!=null){this.associations.set(clone,mappings)}for(const[i,child]of original.children.entries()){updateMappings(child,clone.children[i])}};updateMappings(object,ref);ref.name+="_instance_"+cache.uses[index]++;return ref}_invokeOne(func){const extensions=Object.values(this.plugins);extensions.push(this);for(let i=0;i<extensions.length;i++){const result=func(extensions[i]);if(result)return result}return null}_invokeAll(func){const extensions=Object.values(this.plugins);extensions.unshift(this);const pending=[];for(let i=0;i<extensions.length;i++){const result=func(extensions[i]);if(result)pending.push(result)}return pending}getDependency(type,index){const cacheKey=type+":"+index;let dependency=this.cache.get(cacheKey);if(!dependency){switch(type){case"scene":dependency=this.loadScene(index);break;case"node":dependency=this._invokeOne(function(ext){return ext.loadNode&&ext.loadNode(index)});break;case"mesh":dependency=this._invokeOne(function(ext){return ext.loadMesh&&ext.loadMesh(index)});break;case"accessor":dependency=this.loadAccessor(index);break;case"bufferView":dependency=this._invokeOne(function(ext){return ext.loadBufferView&&ext.loadBufferView(index)});break;case"buffer":dependency=this.loadBuffer(index);break;case"material":dependency=this._invokeOne(function(ext){return ext.loadMaterial&&ext.loadMaterial(index)});break;case"texture":dependency=this._invokeOne(function(ext){return ext.loadTexture&&ext.loadTexture(index)});break;case"skin":dependency=this.loadSkin(index);break;case"animation":dependency=this._invokeOne(function(ext){return ext.loadAnimation&&ext.loadAnimation(index)});break;case"camera":dependency=this.loadCamera(index);break;default:dependency=this._invokeOne(function(ext){return ext!=this&&ext.getDependency&&ext.getDependency(type,index)});if(!dependency){throw new Error("Unknown type: "+type)}break;}this.cache.add(cacheKey,dependency)}return dependency}getDependencies(type){let dependencies=this.cache.get(type);if(!dependencies){const parser=this;const defs=this.json[type+(type==="mesh"?"es":"s")]||[];dependencies=Promise.all(defs.map(function(def,index){return parser.getDependency(type,index)}));this.cache.add(type,dependencies)}return dependencies}loadBuffer(bufferIndex){const bufferDef=this.json.buffers[bufferIndex];const loader=this.fileLoader;if(bufferDef.type&&bufferDef.type!=="arraybuffer"){throw new Error("THREE.GLTFLoader: "+bufferDef.type+" buffer type is not supported.")}if(bufferDef.uri===undefined&&bufferIndex===0){return Promise.resolve(this.extensions[EXTENSIONS.KHR_BINARY_GLTF].body)}const options=this.options;return new Promise(function(resolve,reject){loader.load(LoaderUtils.resolveURL(bufferDef.uri,options.path),resolve,undefined,function(){reject(new Error("THREE.GLTFLoader: Failed to load buffer \""+bufferDef.uri+"\"."))})})}loadBufferView(bufferViewIndex){const bufferViewDef=this.json.bufferViews[bufferViewIndex];return this.getDependency("buffer",bufferViewDef.buffer).then(function(buffer){const byteLength=bufferViewDef.byteLength||0;const byteOffset=bufferViewDef.byteOffset||0;return buffer.slice(byteOffset,byteOffset+byteLength)})}loadAccessor(accessorIndex){const parser=this;const json=this.json;const accessorDef=this.json.accessors[accessorIndex];if(accessorDef.bufferView===undefined&&accessorDef.sparse===undefined){const itemSize=WEBGL_TYPE_SIZES[accessorDef.type];const TypedArray=WEBGL_COMPONENT_TYPES[accessorDef.componentType];const normalized=accessorDef.normalized===true;const array=new TypedArray(accessorDef.count*itemSize);return Promise.resolve(new BufferAttribute(array,itemSize,normalized))}const pendingBufferViews=[];if(accessorDef.bufferView!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.bufferView))}else{pendingBufferViews.push(null)}if(accessorDef.sparse!==undefined){pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.indices.bufferView));pendingBufferViews.push(this.getDependency("bufferView",accessorDef.sparse.values.bufferView))}return Promise.all(pendingBufferViews).then(function(bufferViews){const bufferView=bufferViews[0];const itemSize=WEBGL_TYPE_SIZES[accessorDef.type];const TypedArray=WEBGL_COMPONENT_TYPES[accessorDef.componentType];const elementBytes=TypedArray.BYTES_PER_ELEMENT;const itemBytes=elementBytes*itemSize;const byteOffset=accessorDef.byteOffset||0;const byteStride=accessorDef.bufferView!==undefined?json.bufferViews[accessorDef.bufferView].byteStride:undefined;const normalized=accessorDef.normalized===true;let array,bufferAttribute;if(byteStride&&byteStride!==itemBytes){const ibSlice=Math.floor(byteOffset/byteStride);const ibCacheKey="InterleavedBuffer:"+accessorDef.bufferView+":"+accessorDef.componentType+":"+ibSlice+":"+accessorDef.count;let ib=parser.cache.get(ibCacheKey);if(!ib){array=new TypedArray(bufferView,ibSlice*byteStride,accessorDef.count*byteStride/elementBytes);ib=new InterleavedBuffer(array,byteStride/elementBytes);parser.cache.add(ibCacheKey,ib)}bufferAttribute=new InterleavedBufferAttribute(ib,itemSize,byteOffset%byteStride/elementBytes,normalized)}else{if(bufferView===null){array=new TypedArray(accessorDef.count*itemSize)}else{array=new TypedArray(bufferView,byteOffset,accessorDef.count*itemSize)}bufferAttribute=new BufferAttribute(array,itemSize,normalized)}if(accessorDef.sparse!==undefined){const itemSizeIndices=WEBGL_TYPE_SIZES.SCALAR;const TypedArrayIndices=WEBGL_COMPONENT_TYPES[accessorDef.sparse.indices.componentType];const byteOffsetIndices=accessorDef.sparse.indices.byteOffset||0;const byteOffsetValues=accessorDef.sparse.values.byteOffset||0;const sparseIndices=new TypedArrayIndices(bufferViews[1],byteOffsetIndices,accessorDef.sparse.count*itemSizeIndices);const sparseValues=new TypedArray(bufferViews[2],byteOffsetValues,accessorDef.sparse.count*itemSize);if(bufferView!==null){bufferAttribute=new BufferAttribute(bufferAttribute.array.slice(),bufferAttribute.itemSize,bufferAttribute.normalized)}for(let i=0,il=sparseIndices.length;i<il;i++){const index=sparseIndices[i];bufferAttribute.setX(index,sparseValues[i*itemSize]);if(itemSize>=2)bufferAttribute.setY(index,sparseValues[i*itemSize+1]);if(itemSize>=3)bufferAttribute.setZ(index,sparseValues[i*itemSize+2]);if(itemSize>=4)bufferAttribute.setW(index,sparseValues[i*itemSize+3]);if(itemSize>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return bufferAttribute})}loadTexture(textureIndex){const json=this.json;const options=this.options;const textureDef=json.textures[textureIndex];const sourceIndex=textureDef.source;const sourceDef=json.images[sourceIndex];let loader=this.textureLoader;if(sourceDef.uri){const handler=options.manager.getHandler(sourceDef.uri);if(handler!==null)loader=handler}return this.loadTextureImage(textureIndex,sourceIndex,loader)}loadTextureImage(textureIndex,sourceIndex,loader){const parser=this;const json=this.json;const textureDef=json.textures[textureIndex];const sourceDef=json.images[sourceIndex];const cacheKey=(sourceDef.uri||sourceDef.bufferView)+":"+textureDef.sampler;if(this.textureCache[cacheKey]){return this.textureCache[cacheKey]}const promise=this.loadImageSource(sourceIndex,loader).then(function(texture){texture.flipY=false;texture.name=textureDef.name||sourceDef.name||"";if(texture.name===""&&typeof sourceDef.uri==="string"&&sourceDef.uri.startsWith("data:image/")===false){texture.name=sourceDef.uri}const samplers=json.samplers||{};const sampler=samplers[textureDef.sampler]||{};texture.magFilter=WEBGL_FILTERS[sampler.magFilter]||LinearFilter;texture.minFilter=WEBGL_FILTERS[sampler.minFilter]||LinearMipmapLinearFilter;texture.wrapS=WEBGL_WRAPPINGS[sampler.wrapS]||RepeatWrapping;texture.wrapT=WEBGL_WRAPPINGS[sampler.wrapT]||RepeatWrapping;parser.associations.set(texture,{textures:textureIndex});return texture}).catch(function(){return null});this.textureCache[cacheKey]=promise;return promise}loadImageSource(sourceIndex,loader){const parser=this;const json=this.json;const options=this.options;if(this.sourceCache[sourceIndex]!==undefined){return this.sourceCache[sourceIndex].then(texture=>texture.clone())}const sourceDef=json.images[sourceIndex];const URL=self.URL||self.webkitURL;let sourceURI=sourceDef.uri||"";let isObjectURL=false;if(sourceDef.bufferView!==undefined){sourceURI=parser.getDependency("bufferView",sourceDef.bufferView).then(function(bufferView){isObjectURL=true;const blob=new Blob([bufferView],{type:sourceDef.mimeType});sourceURI=URL.createObjectURL(blob);return sourceURI})}else if(sourceDef.uri===undefined){throw new Error("THREE.GLTFLoader: Image "+sourceIndex+" is missing URI and bufferView")}const promise=Promise.resolve(sourceURI).then(function(sourceURI){return new Promise(function(resolve,reject){let onLoad=resolve;if(loader.isImageBitmapLoader===true){onLoad=function(imageBitmap){const texture=new Texture(imageBitmap);texture.needsUpdate=true;resolve(texture)}}loader.load(LoaderUtils.resolveURL(sourceURI,options.path),onLoad,undefined,reject)})}).then(function(texture){if(isObjectURL===true){URL.revokeObjectURL(sourceURI)}texture.userData.mimeType=sourceDef.mimeType||getImageURIMimeType(sourceDef.uri);return texture}).catch(function(error){console.error("THREE.GLTFLoader: Couldn't load texture",sourceURI);throw error});this.sourceCache[sourceIndex]=promise;return promise}assignTexture(materialParams,mapName,mapDef,encoding){const parser=this;return this.getDependency("texture",mapDef.index).then(function(texture){if(!texture)return null;if(mapDef.texCoord!==undefined&&mapDef.texCoord>0){texture=texture.clone();texture.channel=mapDef.texCoord}if(parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]){const transform=mapDef.extensions!==undefined?mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]:undefined;if(transform){const gltfReference=parser.associations.get(texture);texture=parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture,transform);parser.associations.set(texture,gltfReference)}}if(encoding!==undefined){texture.encoding=encoding}materialParams[mapName]=texture;return texture})}assignFinalMaterial(mesh){const geometry=mesh.geometry;let material=mesh.material;const useDerivativeTangents=geometry.attributes.tangent===undefined;const useVertexColors=geometry.attributes.color!==undefined;const useFlatShading=geometry.attributes.normal===undefined;if(mesh.isPoints){const cacheKey="PointsMaterial:"+material.uuid;let pointsMaterial=this.cache.get(cacheKey);if(!pointsMaterial){pointsMaterial=new PointsMaterial;Material.prototype.copy.call(pointsMaterial,material);pointsMaterial.color.copy(material.color);pointsMaterial.map=material.map;pointsMaterial.sizeAttenuation=false;this.cache.add(cacheKey,pointsMaterial)}material=pointsMaterial}else if(mesh.isLine){const cacheKey="LineBasicMaterial:"+material.uuid;let lineMaterial=this.cache.get(cacheKey);if(!lineMaterial){lineMaterial=new LineBasicMaterial;Material.prototype.copy.call(lineMaterial,material);lineMaterial.color.copy(material.color);lineMaterial.map=material.map;this.cache.add(cacheKey,lineMaterial)}material=lineMaterial}if(useDerivativeTangents||useVertexColors||useFlatShading){let cacheKey="ClonedMaterial:"+material.uuid+":";if(useDerivativeTangents)cacheKey+="derivative-tangents:";if(useVertexColors)cacheKey+="vertex-colors:";if(useFlatShading)cacheKey+="flat-shading:";let cachedMaterial=this.cache.get(cacheKey);if(!cachedMaterial){cachedMaterial=material.clone();if(useVertexColors)cachedMaterial.vertexColors=true;if(useFlatShading)cachedMaterial.flatShading=true;if(useDerivativeTangents){if(cachedMaterial.normalScale)cachedMaterial.normalScale.y*=-1;if(cachedMaterial.clearcoatNormalScale)cachedMaterial.clearcoatNormalScale.y*=-1}this.cache.add(cacheKey,cachedMaterial);this.associations.set(cachedMaterial,this.associations.get(material))}material=cachedMaterial}mesh.material=material}getMaterialType(){return MeshStandardMaterial}loadMaterial(materialIndex){const parser=this;const json=this.json;const extensions=this.extensions;const materialDef=json.materials[materialIndex];let materialType;const materialParams={};const materialExtensions=materialDef.extensions||{};const pending=[];if(materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]){const kmuExtension=extensions[EXTENSIONS.KHR_MATERIALS_UNLIT];materialType=kmuExtension.getMaterialType();pending.push(kmuExtension.extendParams(materialParams,materialDef,parser))}else{const metallicRoughness=materialDef.pbrMetallicRoughness||{};materialParams.color=new Color(1,1,1);materialParams.opacity=1;if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture,sRGBEncoding))}materialParams.metalness=metallicRoughness.metallicFactor!==undefined?metallicRoughness.metallicFactor:1;materialParams.roughness=metallicRoughness.roughnessFactor!==undefined?metallicRoughness.roughnessFactor:1;if(metallicRoughness.metallicRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"metalnessMap",metallicRoughness.metallicRoughnessTexture));pending.push(parser.assignTexture(materialParams,"roughnessMap",metallicRoughness.metallicRoughnessTexture))}materialType=this._invokeOne(function(ext){return ext.getMaterialType&&ext.getMaterialType(materialIndex)});pending.push(Promise.all(this._invokeAll(function(ext){return ext.extendMaterialParams&&ext.extendMaterialParams(materialIndex,materialParams)})))}if(materialDef.doubleSided===true){materialParams.side=DoubleSide}const alphaMode=materialDef.alphaMode||ALPHA_MODES.OPAQUE;if(alphaMode===ALPHA_MODES.BLEND){materialParams.transparent=true;materialParams.depthWrite=false}else{materialParams.transparent=false;if(alphaMode===ALPHA_MODES.MASK){materialParams.alphaTest=materialDef.alphaCutoff!==undefined?materialDef.alphaCutoff:0.5}}if(materialDef.normalTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"normalMap",materialDef.normalTexture));materialParams.normalScale=new Vector2(1,1);if(materialDef.normalTexture.scale!==undefined){const scale=materialDef.normalTexture.scale;materialParams.normalScale.set(scale,scale)}}if(materialDef.occlusionTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"aoMap",materialDef.occlusionTexture));if(materialDef.occlusionTexture.strength!==undefined){materialParams.aoMapIntensity=materialDef.occlusionTexture.strength}}if(materialDef.emissiveFactor!==undefined&&materialType!==MeshBasicMaterial){materialParams.emissive=new Color().fromArray(materialDef.emissiveFactor)}if(materialDef.emissiveTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"emissiveMap",materialDef.emissiveTexture,sRGBEncoding))}return Promise.all(pending).then(function(){const material=new materialType(materialParams);if(materialDef.name)material.name=materialDef.name;assignExtrasToUserData(material,materialDef);parser.associations.set(material,{materials:materialIndex});if(materialDef.extensions)addUnknownExtensionsToUserData(extensions,material,materialDef);return material})}createUniqueName(originalName){const sanitizedName=PropertyBinding.sanitizeNodeName(originalName||"");let name=sanitizedName;for(let i=1;this.nodeNamesUsed[name];++i){name=sanitizedName+"_"+i}this.nodeNamesUsed[name]=true;return name}loadGeometries(primitives){const parser=this;const extensions=this.extensions;const cache=this.primitiveCache;function createDracoPrimitive(primitive){return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive,parser).then(function(geometry){return addPrimitiveAttributes(geometry,primitive,parser)})}const pending=[];for(let i=0,il=primitives.length;i<il;i++){const primitive=primitives[i];const cacheKey=createPrimitiveKey(primitive);const cached=cache[cacheKey];if(cached){pending.push(cached.promise)}else{let geometryPromise;if(primitive.extensions&&primitive.extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION]){geometryPromise=createDracoPrimitive(primitive)}else{geometryPromise=addPrimitiveAttributes(new BufferGeometry,primitive,parser)}cache[cacheKey]={primitive:primitive,promise:geometryPromise};pending.push(geometryPromise)}}return Promise.all(pending)}loadMesh(meshIndex){const parser=this;const json=this.json;const extensions=this.extensions;const meshDef=json.meshes[meshIndex];const primitives=meshDef.primitives;const pending=[];for(let i=0,il=primitives.length;i<il;i++){const material=primitives[i].material===undefined?createDefaultMaterial(this.cache):this.getDependency("material",primitives[i].material);pending.push(material)}pending.push(parser.loadGeometries(primitives));return Promise.all(pending).then(function(results){const materials=results.slice(0,results.length-1);const geometries=results[results.length-1];const meshes=[];for(let i=0,il=geometries.length;i<il;i++){const geometry=geometries[i];const primitive=primitives[i];let mesh;const material=materials[i];if(primitive.mode===WEBGL_CONSTANTS.TRIANGLES||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP||primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN||primitive.mode===undefined){mesh=meshDef.isSkinnedMesh===true?new SkinnedMesh(geometry,material):new Mesh(geometry,material);if(mesh.isSkinnedMesh===true){mesh.normalizeSkinWeights()}if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_STRIP){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleStripDrawMode)}else if(primitive.mode===WEBGL_CONSTANTS.TRIANGLE_FAN){mesh.geometry=toTrianglesDrawMode(mesh.geometry,TriangleFanDrawMode)}}else if(primitive.mode===WEBGL_CONSTANTS.LINES){mesh=new LineSegments(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_STRIP){mesh=new Line(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.LINE_LOOP){mesh=new LineLoop(geometry,material)}else if(primitive.mode===WEBGL_CONSTANTS.POINTS){mesh=new Points(geometry,material)}else{throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+primitive.mode)}if(Object.keys(mesh.geometry.morphAttributes).length>0){updateMorphTargets(mesh,meshDef)}mesh.name=parser.createUniqueName(meshDef.name||"mesh_"+meshIndex);assignExtrasToUserData(mesh,meshDef);if(primitive.extensions)addUnknownExtensionsToUserData(extensions,mesh,primitive);parser.assignFinalMaterial(mesh);meshes.push(mesh)}for(let i=0,il=meshes.length;i<il;i++){parser.associations.set(meshes[i],{meshes:meshIndex,primitives:i})}if(meshes.length===1){return meshes[0]}const group=new Group;parser.associations.set(group,{meshes:meshIndex});for(let i=0,il=meshes.length;i<il;i++){group.add(meshes[i])}return group})}loadCamera(cameraIndex){let camera;const cameraDef=this.json.cameras[cameraIndex];const params=cameraDef[cameraDef.type];if(!params){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}if(cameraDef.type==="perspective"){camera=new PerspectiveCamera(MathUtils.radToDeg(params.yfov),params.aspectRatio||1,params.znear||1,params.zfar||2e6)}else if(cameraDef.type==="orthographic"){camera=new OrthographicCamera(-params.xmag,params.xmag,params.ymag,-params.ymag,params.znear,params.zfar)}if(cameraDef.name)camera.name=this.createUniqueName(cameraDef.name);assignExtrasToUserData(camera,cameraDef);return Promise.resolve(camera)}loadSkin(skinIndex){const skinDef=this.json.skins[skinIndex];const pending=[];for(let i=0,il=skinDef.joints.length;i<il;i++){pending.push(this._loadNodeShallow(skinDef.joints[i]))}if(skinDef.inverseBindMatrices!==undefined){pending.push(this.getDependency("accessor",skinDef.inverseBindMatrices))}else{pending.push(null)}return Promise.all(pending).then(function(results){const inverseBindMatrices=results.pop();const jointNodes=results;const bones=[];const boneInverses=[];for(let i=0,il=jointNodes.length;i<il;i++){const jointNode=jointNodes[i];if(jointNode){bones.push(jointNode);const mat=new Matrix4;if(inverseBindMatrices!==null){mat.fromArray(inverseBindMatrices.array,i*16)}boneInverses.push(mat)}else{console.warn("THREE.GLTFLoader: Joint \"%s\" could not be found.",skinDef.joints[i])}}return new Skeleton(bones,boneInverses)})}loadAnimation(animationIndex){const json=this.json;const animationDef=json.animations[animationIndex];const animationName=animationDef.name?animationDef.name:"animation_"+animationIndex;const pendingNodes=[];const pendingInputAccessors=[];const pendingOutputAccessors=[];const pendingSamplers=[];const pendingTargets=[];for(let i=0,il=animationDef.channels.length;i<il;i++){const channel=animationDef.channels[i];const sampler=animationDef.samplers[channel.sampler];const target=channel.target;const name=target.node;const input=animationDef.parameters!==undefined?animationDef.parameters[sampler.input]:sampler.input;const output=animationDef.parameters!==undefined?animationDef.parameters[sampler.output]:sampler.output;if(target.node===undefined)continue;pendingNodes.push(this.getDependency("node",name));pendingInputAccessors.push(this.getDependency("accessor",input));pendingOutputAccessors.push(this.getDependency("accessor",output));pendingSamplers.push(sampler);pendingTargets.push(target)}return Promise.all([Promise.all(pendingNodes),Promise.all(pendingInputAccessors),Promise.all(pendingOutputAccessors),Promise.all(pendingSamplers),Promise.all(pendingTargets)]).then(function(dependencies){const nodes=dependencies[0];const inputAccessors=dependencies[1];const outputAccessors=dependencies[2];const samplers=dependencies[3];const targets=dependencies[4];const tracks=[];for(let i=0,il=nodes.length;i<il;i++){const node=nodes[i];const inputAccessor=inputAccessors[i];const outputAccessor=outputAccessors[i];const sampler=samplers[i];const target=targets[i];if(node===undefined)continue;node.updateMatrix();let TypedKeyframeTrack;switch(PATH_PROPERTIES[target.path]){case PATH_PROPERTIES.weights:TypedKeyframeTrack=NumberKeyframeTrack;break;case PATH_PROPERTIES.rotation:TypedKeyframeTrack=QuaternionKeyframeTrack;break;case PATH_PROPERTIES.position:case PATH_PROPERTIES.scale:default:TypedKeyframeTrack=VectorKeyframeTrack;break;}const targetName=node.name?node.name:node.uuid;const interpolation=sampler.interpolation!==undefined?INTERPOLATION[sampler.interpolation]:InterpolateLinear;const targetNames=[];if(PATH_PROPERTIES[target.path]===PATH_PROPERTIES.weights){node.traverse(function(object){if(object.morphTargetInfluences){targetNames.push(object.name?object.name:object.uuid)}})}else{targetNames.push(targetName)}let outputArray=outputAccessor.array;if(outputAccessor.normalized){const scale=getNormalizedComponentScale(outputArray.constructor);const scaled=new Float32Array(outputArray.length);for(let j=0,jl=outputArray.length;j<jl;j++){scaled[j]=outputArray[j]*scale}outputArray=scaled}for(let j=0,jl=targetNames.length;j<jl;j++){const track=new TypedKeyframeTrack(targetNames[j]+"."+PATH_PROPERTIES[target.path],inputAccessor.array,outputArray,interpolation);if(sampler.interpolation==="CUBICSPLINE"){track.createInterpolant=function InterpolantFactoryMethodGLTFCubicSpline(result){const interpolantType=this instanceof QuaternionKeyframeTrack?GLTFCubicSplineQuaternionInterpolant:GLTFCubicSplineInterpolant;return new interpolantType(this.times,this.values,this.getValueSize()/3,result)};track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=true}tracks.push(track)}}return new AnimationClip(animationName,undefined,tracks)})}createNodeMesh(nodeIndex){const json=this.json;const parser=this;const nodeDef=json.nodes[nodeIndex];if(nodeDef.mesh===undefined)return null;return parser.getDependency("mesh",nodeDef.mesh).then(function(mesh){const node=parser._getNodeRef(parser.meshCache,nodeDef.mesh,mesh);if(nodeDef.weights!==undefined){node.traverse(function(o){if(!o.isMesh)return;for(let i=0,il=nodeDef.weights.length;i<il;i++){o.morphTargetInfluences[i]=nodeDef.weights[i]}})}return node})}loadNode(nodeIndex){const json=this.json;const parser=this;const nodeDef=json.nodes[nodeIndex];const nodePending=parser._loadNodeShallow(nodeIndex);const childPending=[];const childrenDef=nodeDef.children||[];for(let i=0,il=childrenDef.length;i<il;i++){childPending.push(parser.getDependency("node",childrenDef[i]))}const skeletonPending=nodeDef.skin===undefined?Promise.resolve(null):parser.getDependency("skin",nodeDef.skin);return Promise.all([nodePending,Promise.all(childPending),skeletonPending]).then(function(results){const node=results[0];const children=results[1];const skeleton=results[2];if(skeleton!==null){node.traverse(function(mesh){if(!mesh.isSkinnedMesh)return;mesh.bind(skeleton,_identityMatrix)})}for(let i=0,il=children.length;i<il;i++){node.add(children[i])}return node})}_loadNodeShallow(nodeIndex){const json=this.json;const extensions=this.extensions;const parser=this;if(this.nodeCache[nodeIndex]!==undefined){return this.nodeCache[nodeIndex]}const nodeDef=json.nodes[nodeIndex];const nodeName=nodeDef.name?parser.createUniqueName(nodeDef.name):"";const pending=[];const meshPromise=parser._invokeOne(function(ext){return ext.createNodeMesh&&ext.createNodeMesh(nodeIndex)});if(meshPromise){pending.push(meshPromise)}if(nodeDef.camera!==undefined){pending.push(parser.getDependency("camera",nodeDef.camera).then(function(camera){return parser._getNodeRef(parser.cameraCache,nodeDef.camera,camera)}))}parser._invokeAll(function(ext){return ext.createNodeAttachment&&ext.createNodeAttachment(nodeIndex)}).forEach(function(promise){pending.push(promise)});this.nodeCache[nodeIndex]=Promise.all(pending).then(function(objects){let node;if(nodeDef.isBone===true){node=new Bone}else if(objects.length>1){node=new Group}else if(objects.length===1){node=objects[0]}else{node=new Object3D}if(node!==objects[0]){for(let i=0,il=objects.length;i<il;i++){node.add(objects[i])}}if(nodeDef.name){node.userData.name=nodeDef.name;node.name=nodeName}assignExtrasToUserData(node,nodeDef);if(nodeDef.extensions)addUnknownExtensionsToUserData(extensions,node,nodeDef);if(nodeDef.matrix!==undefined){const matrix=new Matrix4;matrix.fromArray(nodeDef.matrix);node.applyMatrix4(matrix)}else{if(nodeDef.translation!==undefined){node.position.fromArray(nodeDef.translation)}if(nodeDef.rotation!==undefined){node.quaternion.fromArray(nodeDef.rotation)}if(nodeDef.scale!==undefined){node.scale.fromArray(nodeDef.scale)}}if(!parser.associations.has(node)){parser.associations.set(node,{})}parser.associations.get(node).nodes=nodeIndex;return node});return this.nodeCache[nodeIndex]}loadScene(sceneIndex){const extensions=this.extensions;const sceneDef=this.json.scenes[sceneIndex];const parser=this;const scene=new Group;if(sceneDef.name)scene.name=parser.createUniqueName(sceneDef.name);assignExtrasToUserData(scene,sceneDef);if(sceneDef.extensions)addUnknownExtensionsToUserData(extensions,scene,sceneDef);const nodeIds=sceneDef.nodes||[];const pending=[];for(let i=0,il=nodeIds.length;i<il;i++){pending.push(parser.getDependency("node",nodeIds[i]))}return Promise.all(pending).then(function(nodes){for(let i=0,il=nodes.length;i<il;i++){scene.add(nodes[i])}const reduceAssociations=node=>{const reducedAssociations=new Map;for(const[key,value]of parser.associations){if(key instanceof Material||key instanceof Texture){reducedAssociations.set(key,value)}}node.traverse(node=>{const mappings=parser.associations.get(node);if(mappings!=null){reducedAssociations.set(node,mappings)}});return reducedAssociations};parser.associations=reduceAssociations(scene);return scene})}}function computeBounds(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const box=new Box3;if(attributes.POSITION!==undefined){const accessor=parser.json.accessors[attributes.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){box.set(new Vector3(min[0],min[1],min[2]),new Vector3(max[0],max[1],max[2]));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);box.min.multiplyScalar(boxScale);box.max.multiplyScalar(boxScale)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else{return}const targets=primitiveDef.targets;if(targets!==undefined){const maxDisplacement=new Vector3;const vector=new Vector3;for(let i=0,il=targets.length;i<il;i++){const target=targets[i];if(target.POSITION!==undefined){const accessor=parser.json.accessors[target.POSITION];const min=accessor.min;const max=accessor.max;if(min!==undefined&&max!==undefined){vector.setX(Math.max(Math.abs(min[0]),Math.abs(max[0])));vector.setY(Math.max(Math.abs(min[1]),Math.abs(max[1])));vector.setZ(Math.max(Math.abs(min[2]),Math.abs(max[2])));if(accessor.normalized){const boxScale=getNormalizedComponentScale(WEBGL_COMPONENT_TYPES[accessor.componentType]);vector.multiplyScalar(boxScale)}maxDisplacement.max(vector)}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}}box.expandByVector(maxDisplacement)}geometry.boundingBox=box;const sphere=new Sphere;box.getCenter(sphere.center);sphere.radius=box.min.distanceTo(box.max)/2;geometry.boundingSphere=sphere}function addPrimitiveAttributes(geometry,primitiveDef,parser){const attributes=primitiveDef.attributes;const pending=[];function assignAttributeAccessor(accessorIndex,attributeName){return parser.getDependency("accessor",accessorIndex).then(function(accessor){geometry.setAttribute(attributeName,accessor)})}for(const gltfAttributeName in attributes){const threeAttributeName=ATTRIBUTES[gltfAttributeName]||gltfAttributeName.toLowerCase();if(threeAttributeName in geometry.attributes)continue;pending.push(assignAttributeAccessor(attributes[gltfAttributeName],threeAttributeName))}if(primitiveDef.indices!==undefined&&!geometry.index){const accessor=parser.getDependency("accessor",primitiveDef.indices).then(function(accessor){geometry.setIndex(accessor)});pending.push(accessor)}assignExtrasToUserData(geometry,primitiveDef);computeBounds(geometry,primitiveDef,parser);return Promise.all(pending).then(function(){return primitiveDef.targets!==undefined?addMorphTargets(geometry,primitiveDef.targets,parser):geometry})}THREE.GLTFLoader=GLTFLoader})()});(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Object3D=THREE.Object3D;var deviceMax=Number.POSITIVE_INFINITY;var deviceMin=Number.NEGATIVE_INFINITY;class CSS3DObject extends Object3D{constructor(element){super();this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.cameraElement=document.createElement("div");this.containerElement.appendChild(this.cameraElement);this.cameraElement.style.transformStyle="preserve-3d";this.cameraElement.style.position="absolute";this.cameraElement.style.pointerEvents="none";this.element=element||document.createElement("div");this.cameraElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none";this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.addEventListener("removed",function(){this.traverse(function(object){if(object.containerElement instanceof Element&&object.containerElement.parentNode!==null)object.containerElement.parentNode.removeChild(object.containerElement)})})}copy(source,recursive){super.copy(source,recursive);this.element=source.element.cloneNode(true);return this}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=true;pv=pv.filter(function(p){return p.z<0});var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>deviceMin}}CSS3DObject.prototype.isCSS3DObject=true;THREE.CSS3DObject=CSS3DObject;class CSS3DQuad extends Object3D{constructor(element){super();this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.element=element||document.createElement("div");this.containerElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none"}copy(source,recursive){super.copy(source,recursive);for(var i=0;i<4;i++)this.vertices[i].copy(source.vertices[i]);return this}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=pv[0].z<0&&pv[1].z<0&&pv[2].z<0&&pv[3].z<0;var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)<pv.length&&Math.abs(y)<pv.length&&max<deviceMax&&min>deviceMin}}CSS3DQuad.prototype.isCSS3DQuad=true;THREE.CSS3DQuad=CSS3DQuad;class CSS3DRectangle extends CSS3DQuad{constructor(element){super(element)}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}}CSS3DRectangle.prototype.isCSS3DRectangle=true;THREE.CSS3DRectangle=CSS3DRectangle;var _matrix=new THREE.Matrix4;class CSS3DRenderer{constructor(){var _this=this;var _width,_height;var _widthHalf,_heightHalf;var _fov;var _cameraStyle;var cache={objects:new WeakMap};var domElement=document.createElement("div");domElement.style.overflow="hidden";this.domElement=domElement;this.getSize=function(){return{width:_width,height:_height}};this.render=function(scene,camera){_fov=camera.projectionMatrix.elements[5]*_heightHalf;if(scene.matrixWorldAutoUpdate===true)scene.updateMatrixWorld();_cameraStyle="translateZ("+_fov+"px)"+getCameraCSSMatrix(camera.matrixWorldInverse)+"translate("+_widthHalf+"px,"+_heightHalf+"px)";renderObject(scene,scene,camera)};this.setSize=function(width,height){_width=width;_height=height;_widthHalf=_width/2;_heightHalf=_height/2;domElement.style.width=_width+"px";domElement.style.height=_height+"px"};function renderObject(object,scene,camera){if(object.isCSS3DObject||object.isCSS3DQuad){object.onBeforeRender(_this,scene,camera);var cachedObject=cache.objects.get(object)||{};var cacheChanged=false;if(object.isVisible){if(object.isCSS3DQuad){var pv=object.projectedVertices;var x0=(1+pv[0].x)*0.5*_width,y0=(1-pv[0].y)*0.5*_height,x1=(1+pv[1].x)*0.5*_width,y1=(1-pv[1].y)*0.5*_height,x2=(1+pv[2].x)*0.5*_width,y2=(1-pv[2].y)*0.5*_height,x3=(1+pv[3].x)*0.5*_width,y3=(1-pv[3].y)*0.5*_height;createQuadMatrix(object.contentWidth,object.contentHeight,x0,y0,x1,y1,x3,y3,x2,y2,_matrix.elements);var elementStyle=getQuadCSSMatrix(_matrix);if(cachedObject.elementStyle!=elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.containerElement.style.width=(cachedObject.width=_width)+"px";object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}}else{var elementStyle=getObjectCSSMatrix(object.matrixWorld);if(cachedObject.cameraFov!==_fov){object.containerElement.style.perspective=(cachedObject.cameraFov=_fov)+"px";cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.cameraElement.style.width=object.containerElement.style.width=(cachedObject.width=_width)+"px";object.cameraElement.style.height=object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}if(cachedObject.cameraStyle!==_cameraStyle){cachedObject.cameraStyle=object.cameraElement.style.transform=_cameraStyle;cacheChanged=true}if(cachedObject.elementStyle!==elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}}object.containerElement.style.left="0"}else{object.containerElement.style.left=_width+"px"}if(cacheChanged)cache.objects.set(object,cachedObject);object.containerElement.style.display=object.visible?"":"none";if(object.containerElement.parentNode!==domElement)domElement.appendChild(object.containerElement);object.onAfterRender(_this,scene,camera)}for(var i=0,l=object.children.length;i<l;i++)renderObject(object.children[i],scene,camera)}function epsilon(value){return value<1e-10&&value>-1e-10?0:value}function getCameraCSSMatrix(matrix){var elements=matrix.elements;return"matrix3d("+epsilon(elements[0])+","+epsilon(-elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(-elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(-elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(-elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")"}function getObjectCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(-elements[4])+","+epsilon(-elements[5])+","+epsilon(-elements[6])+","+epsilon(-elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return"translate(-50%,-50%)"+matrix3d}function getQuadCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return matrix3d}}};THREE.CSS3DRenderer=CSS3DRenderer;function projectVertices(object,camera){for(var index=0;index<object.vertices.length;index++){var vertex=object.vertices[index];var projectedVertex=object.projectedVertices[index];projectedVertex.copy(vertex);projectedVertex.applyMatrix4(object.matrixWorld);projectedVertex.applyMatrix4(camera.matrixWorldInverse);var z=projectedVertex.z;projectedVertex.applyMatrix4(camera.projectionMatrix);projectedVertex.z=z}}function setArray(){var a=arguments[0];for(var i=1;i<arguments.length;i++)a[i-1]=arguments[i];return a}function copyArray(t,s){for(var i=0;i<s.length;i++)t[i]=s[i];return t}function adjugate(m,out){setArray(out,m[4]*m[8]-m[5]*m[7],m[2]*m[7]-m[1]*m[8],m[1]*m[5]-m[2]*m[4],m[5]*m[6]-m[3]*m[8],m[0]*m[8]-m[2]*m[6],m[2]*m[3]-m[0]*m[5],m[3]*m[7]-m[4]*m[6],m[1]*m[6]-m[0]*m[7],m[0]*m[4]-m[1]*m[3])}function multmm(a,b,out){for(var i=0;i!=3;++i){for(var j=0;j!=3;++j){var cij=0;for(var k=0;k!=3;++k){cij+=a[3*i+k]*b[3*k+j]}out[3*i+j]=cij}}}function multmv(m,v,out){return setArray(out,m[0]*v[0]+m[1]*v[1]+m[2]*v[2],m[3]*v[0]+m[4]*v[1]+m[5]*v[2],m[6]*v[0]+m[7]*v[1]+m[8]*v[2])}var m=new Array(9);var m2=new Array(9);var mAdj=new Array(9);var p=new Array(3);var v=new Array(3);var s=new Array(9);var d=new Array(9);var sAdj=new Array(9);var t=new Array(9);function basisToPoints(x1,y1,x2,y2,x3,y3,x4,y4,out){setArray(m,x1,x2,x3,y1,y2,y3,1,1,1);adjugate(m,mAdj);setArray(p,x4,y4,1);multmv(mAdj,p,v);setArray(m2,v[0],0,0,0,v[1],0,0,0,v[2]);return multmm(m,m2,out)}function general2DProjection(x1s,y1s,x1d,y1d,x2s,y2s,x2d,y2d,x3s,y3s,x3d,y3d,x4s,y4s,x4d,y4d,out){basisToPoints(x1s,y1s,x2s,y2s,x3s,y3s,x4s,y4s,s);basisToPoints(x1d,y1d,x2d,y2d,x3d,y3d,x4d,y4d,d);adjugate(s,sAdj);return multmm(d,sAdj,out)}function createQuadMatrix(w,h,x1,y1,x2,y2,x3,y3,x4,y4,out){general2DProjection(0,0,x1,y1,w,0,x2,y2,0,h,x3,y3,w,h,x4,y4,t);setArray(out,t[0]/t[8],t[3]/t[8],0,t[6]/t[8],t[1]/t[8],t[4]/t[8],0,t[7]/t[8],0,0,1,0,t[2]/t[8],t[5]/t[8],0,1)}});(function(){var BackSide=THREE.BackSide,BoxGeometry=THREE.BoxGeometry,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,PointLight=THREE.PointLight,Scene=THREE.Scene;class RoomEnvironment extends Scene{constructor(renderer=null){super();const geometry=new BoxGeometry;geometry.deleteAttribute("uv");const roomMaterial=new MeshStandardMaterial({side:BackSide});const boxMaterial=new MeshStandardMaterial;let intensity=5;if(renderer!==null&&renderer._useLegacyLights===false)intensity=900;const mainLight=new PointLight(16777215,intensity,28,2);mainLight.position.set(0.418,16.199,0.3);this.add(mainLight);const room=new Mesh(geometry,roomMaterial);room.position.set(-0.757,13.219,0.717);room.scale.set(31.713,28.305,28.591);this.add(room);const box1=new Mesh(geometry,boxMaterial);box1.position.set(-10.906,2.009,1.846);box1.rotation.set(0,-0.195,0);box1.scale.set(2.328,7.905,4.651);this.add(box1);const box2=new Mesh(geometry,boxMaterial);box2.position.set(-5.607,-0.754,-0.758);box2.rotation.set(0,0.994,0);box2.scale.set(1.97,1.534,3.955);this.add(box2);const box3=new Mesh(geometry,boxMaterial);box3.position.set(6.167,0.857,7.803);box3.rotation.set(0,0.561,0);box3.scale.set(3.927,6.285,3.687);this.add(box3);const box4=new Mesh(geometry,boxMaterial);box4.position.set(-2.017,0.018,6.124);box4.rotation.set(0,0.333,0);box4.scale.set(2.002,4.566,2.064);this.add(box4);const box5=new Mesh(geometry,boxMaterial);box5.position.set(2.291,-0.756,-2.621);box5.rotation.set(0,-0.286,0);box5.scale.set(1.546,1.552,1.496);this.add(box5);const box6=new Mesh(geometry,boxMaterial);box6.position.set(-2.193,-0.369,-5.547);box6.rotation.set(0,0.516,0);box6.scale.set(3.875,3.487,2.986);this.add(box6);const light1=new Mesh(geometry,createAreaLightMaterial(50));light1.position.set(-16.116,14.37,8.208);light1.scale.set(0.1,2.428,2.739);this.add(light1);const light2=new Mesh(geometry,createAreaLightMaterial(50));light2.position.set(-16.109,18.021,-8.207);light2.scale.set(0.1,2.425,2.751);this.add(light2);const light3=new Mesh(geometry,createAreaLightMaterial(17));light3.position.set(14.904,12.198,-1.832);light3.scale.set(0.15,4.265,6.331);this.add(light3);const light4=new Mesh(geometry,createAreaLightMaterial(43));light4.position.set(-0.462,8.89,14.52);light4.scale.set(4.38,5.441,0.088);this.add(light4);const light5=new Mesh(geometry,createAreaLightMaterial(20));light5.position.set(3.235,11.486,-12.541);light5.scale.set(2.5,2,0.1);this.add(light5);const light6=new Mesh(geometry,createAreaLightMaterial(100));light6.position.set(0,20,0);light6.scale.set(1,0.1,1);this.add(light6)}dispose(){const resources=new Set;this.traverse(object=>{if(object.isMesh){resources.add(object.geometry);resources.add(object.material)}});for(const resource of resources){resource.dispose()}}}function createAreaLightMaterial(intensity){const material=new MeshBasicMaterial;material.color.setScalar(intensity);return material}THREE.RoomEnvironment=RoomEnvironment})();(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var CubeReflectionMapping=THREE.CubeReflectionMapping,CubeRefractionMapping=THREE.CubeRefractionMapping,CubeUVReflectionMapping=THREE.CubeUVReflectionMapping,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,NoToneMapping=THREE.NoToneMapping,NoBlending=THREE.NoBlending,RGBAFormat=THREE.RGBAFormat,HalfFloatType=THREE.HalfFloatType,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,Mesh=THREE.Mesh,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,ShaderMaterial=THREE.ShaderMaterial,Vector3=THREE.Vector3,Color=THREE.Color,WebGLRenderTarget=THREE.WebGLRenderTarget,MeshBasicMaterial=THREE.MeshBasicMaterial,BoxGeometry=THREE.BoxGeometry,BackSide=THREE.BackSide;const LOD_MIN=4;const EXTRA_LOD_SIGMA=[0.125,0.215,0.35,0.446,0.526,0.582];const MAX_SAMPLES=20;const _flatCamera=new OrthographicCamera;const _clearColor=new Color;let _oldTarget=null;const PHI=(1+Math.sqrt(5))/2;const INV_PHI=1/PHI;const _axisDirections=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,PHI,INV_PHI),new Vector3(0,PHI,-INV_PHI),new Vector3(INV_PHI,0,PHI),new Vector3(-INV_PHI,0,PHI),new Vector3(PHI,INV_PHI,0),new Vector3(-PHI,INV_PHI,0)];class PMREMGenerator{constructor(renderer){this._renderer=renderer;this._pingPongRenderTarget=null;this._lodMax=0;this._cubeSize=0;this._lodPlanes=[];this._sizeLods=[];this._sigmas=[];this._blurMaterial=null;this._cubemapMaterial=null;this._equirectMaterial=null;this._compileMaterial(this._blurMaterial)}fromScene(scene,sigma=0,near=0.1,far=100){_oldTarget=this._renderer.getRenderTarget();this._setSize(256);const cubeUVRenderTarget=this._allocateTargets();cubeUVRenderTarget.depthBuffer=true;this._sceneToCubeUV(scene,near,far,cubeUVRenderTarget);if(sigma>0){this._blur(cubeUVRenderTarget,0,0,sigma)}this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}fromEquirectangular(equirectangular,renderTarget=null){return this._fromTexture(equirectangular,renderTarget)}fromCubemap(cubemap,renderTarget=null){return this._fromTexture(cubemap,renderTarget)}compileCubemapShader(){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial();this._compileMaterial(this._cubemapMaterial)}}compileEquirectangularShader(){if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial();this._compileMaterial(this._equirectMaterial)}}dispose(){this._dispose();if(this._cubemapMaterial!==null)this._cubemapMaterial.dispose();if(this._equirectMaterial!==null)this._equirectMaterial.dispose()}_setSize(cubeSize){this._lodMax=Math.floor(Math.log2(cubeSize));this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){if(this._blurMaterial!==null)this._blurMaterial.dispose();if(this._pingPongRenderTarget!==null)this._pingPongRenderTarget.dispose();for(let i=0;i<this._lodPlanes.length;i++){this._lodPlanes[i].dispose()}}_cleanup(outputTarget){this._renderer.setRenderTarget(_oldTarget);outputTarget.scissorTest=false;_setViewport(outputTarget,0,0,outputTarget.width,outputTarget.height)}_fromTexture(texture,renderTarget){if(texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping){this._setSize(texture.image.length===0?16:texture.image[0].width||texture.image[0].image.width)}else{this._setSize(texture.image.width/4)}_oldTarget=this._renderer.getRenderTarget();const cubeUVRenderTarget=renderTarget||this._allocateTargets();this._textureToCubeUV(texture,cubeUVRenderTarget);this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}_allocateTargets(){const width=3*Math.max(this._cubeSize,16*7);const height=4*this._cubeSize;const params={magFilter:LinearFilter,minFilter:LinearFilter,generateMipmaps:false,type:HalfFloatType,format:RGBAFormat,encoding:LinearEncoding,depthBuffer:false};const cubeUVRenderTarget=_createRenderTarget(width,height,params);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==width){if(this._pingPongRenderTarget!==null){this._dispose()}this._pingPongRenderTarget=_createRenderTarget(width,height,params);const{_lodMax}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=_createPlanes(_lodMax));this._blurMaterial=_getBlurShader(_lodMax,width,height)}return cubeUVRenderTarget}_compileMaterial(material){const tmpMesh=new Mesh(this._lodPlanes[0],material);this._renderer.compile(tmpMesh,_flatCamera)}_sceneToCubeUV(scene,near,far,cubeUVRenderTarget){const fov=90;const aspect=1;const cubeCamera=new PerspectiveCamera(fov,aspect,near,far);const upSign=[1,-1,1,1,1,1];const forwardSign=[1,1,1,-1,-1,-1];const renderer=this._renderer;const originalAutoClear=renderer.autoClear;const toneMapping=renderer.toneMapping;renderer.getClearColor(_clearColor);renderer.toneMapping=NoToneMapping;renderer.autoClear=false;const backgroundMaterial=new MeshBasicMaterial({name:"PMREM.Background",side:BackSide,depthWrite:false,depthTest:false});const backgroundBox=new Mesh(new BoxGeometry(),backgroundMaterial);let useSolidColor=false;const background=scene.background;if(background){if(background.isColor){backgroundMaterial.color.copy(background);scene.background=null;useSolidColor=true}}else{backgroundMaterial.color.copy(_clearColor);useSolidColor=true}for(let i=0;i<6;i++){const col=i%3;if(col===0){cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(forwardSign[i],0,0)}else if(col===1){cubeCamera.up.set(0,0,upSign[i]);cubeCamera.lookAt(0,forwardSign[i],0)}else{cubeCamera.up.set(0,upSign[i],0);cubeCamera.lookAt(0,0,forwardSign[i])}const size=this._cubeSize;_setViewport(cubeUVRenderTarget,col*size,i>2?size:0,size,size);renderer.setRenderTarget(cubeUVRenderTarget);if(useSolidColor){renderer.render(backgroundBox,cubeCamera)}renderer.render(scene,cubeCamera)}backgroundBox.geometry.dispose();backgroundBox.material.dispose();renderer.toneMapping=toneMapping;renderer.autoClear=originalAutoClear;scene.background=background}_textureToCubeUV(texture,cubeUVRenderTarget){const renderer=this._renderer;const isCubeTexture=texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping;if(isCubeTexture){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial()}this._cubemapMaterial.uniforms.flipEnvMap.value=texture.isRenderTargetTexture===false?-1:1}else{if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial()}}const material=isCubeTexture?this._cubemapMaterial:this._equirectMaterial;const mesh=new Mesh(this._lodPlanes[0],material);const uniforms=material.uniforms;uniforms["envMap"].value=texture;const size=this._cubeSize;_setViewport(cubeUVRenderTarget,0,0,3*size,2*size);renderer.setRenderTarget(cubeUVRenderTarget);renderer.render(mesh,_flatCamera)}_applyPMREM(cubeUVRenderTarget){const renderer=this._renderer;const autoClear=renderer.autoClear;renderer.autoClear=false;for(let i=1;i<this._lodPlanes.length;i++){const sigma=Math.sqrt(this._sigmas[i]*this._sigmas[i]-this._sigmas[i-1]*this._sigmas[i-1]);const poleAxis=_axisDirections[(i-1)%_axisDirections.length];this._blur(cubeUVRenderTarget,i-1,i,sigma,poleAxis)}renderer.autoClear=autoClear}_blur(cubeUVRenderTarget,lodIn,lodOut,sigma,poleAxis){const pingPongRenderTarget=this._pingPongRenderTarget;this._halfBlur(cubeUVRenderTarget,pingPongRenderTarget,lodIn,lodOut,sigma,"latitudinal",poleAxis);this._halfBlur(pingPongRenderTarget,cubeUVRenderTarget,lodOut,lodOut,sigma,"longitudinal",poleAxis)}_halfBlur(targetIn,targetOut,lodIn,lodOut,sigmaRadians,direction,poleAxis){const renderer=this._renderer;const blurMaterial=this._blurMaterial;if(direction!=="latitudinal"&&direction!=="longitudinal"){console.error("blur direction must be either latitudinal or longitudinal!")}const STANDARD_DEVIATIONS=3;const blurMesh=new Mesh(this._lodPlanes[lodOut],blurMaterial);const blurUniforms=blurMaterial.uniforms;const pixels=this._sizeLods[lodIn]-1;const radiansPerPixel=isFinite(sigmaRadians)?Math.PI/(2*pixels):2*Math.PI/(2*MAX_SAMPLES-1);const sigmaPixels=sigmaRadians/radiansPerPixel;const samples=isFinite(sigmaRadians)?1+Math.floor(STANDARD_DEVIATIONS*sigmaPixels):MAX_SAMPLES;if(samples>MAX_SAMPLES){console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`)}const weights=[];let sum=0;for(let i=0;i<MAX_SAMPLES;++i){const x=i/sigmaPixels;const weight=Math.exp(-x*x/2);weights.push(weight);if(i===0){sum+=weight}else if(i<samples){sum+=2*weight}}for(let i=0;i<weights.length;i++){weights[i]=weights[i]/sum}blurUniforms["envMap"].value=targetIn.texture;blurUniforms["samples"].value=samples;blurUniforms["weights"].value=weights;blurUniforms["latitudinal"].value=direction==="latitudinal";if(poleAxis){blurUniforms["poleAxis"].value=poleAxis}const{_lodMax}=this;blurUniforms["dTheta"].value=radiansPerPixel;blurUniforms["mipInt"].value=_lodMax-lodIn;const outputSize=this._sizeLods[lodOut];const x=3*outputSize*(lodOut>_lodMax-LOD_MIN?lodOut-_lodMax+LOD_MIN:0);const y=4*(this._cubeSize-outputSize);_setViewport(targetOut,x,y,3*outputSize,2*outputSize);renderer.setRenderTarget(targetOut);renderer.render(blurMesh,_flatCamera)}}function _createPlanes(lodMax){const lodPlanes=[];const sizeLods=[];const sigmas=[];let lod=lodMax;const totalLods=lodMax-LOD_MIN+1+EXTRA_LOD_SIGMA.length;for(let i=0;i<totalLods;i++){const sizeLod=Math.pow(2,lod);sizeLods.push(sizeLod);let sigma=1/sizeLod;if(i>lodMax-LOD_MIN){sigma=EXTRA_LOD_SIGMA[i-lodMax+LOD_MIN-1]}else if(i===0){sigma=0}sigmas.push(sigma);const texelSize=1/(sizeLod-2);const min=-texelSize;const max=1+texelSize;const uv1=[min,min,max,min,max,max,min,min,max,max,min,max];const cubeFaces=6;const vertices=6;const positionSize=3;const uvSize=2;const faceIndexSize=1;const position=new Float32Array(positionSize*vertices*cubeFaces);const uv=new Float32Array(uvSize*vertices*cubeFaces);const faceIndex=new Float32Array(faceIndexSize*vertices*cubeFaces);for(let face=0;face<cubeFaces;face++){const x=face%3*2/3-1;const y=face>2?0:-1;const coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face);uv.set(uv1,uvSize*vertices*face);const fill=[face,face,face,face,face,face];faceIndex.set(fill,faceIndexSize*vertices*face)}const planes=new BufferGeometry;planes.setAttribute("position",new BufferAttribute(position,positionSize));planes.setAttribute("uv",new BufferAttribute(uv,uvSize));planes.setAttribute("faceIndex",new BufferAttribute(faceIndex,faceIndexSize));lodPlanes.push(planes);if(lod>LOD_MIN){lod--}}return{lodPlanes,sizeLods,sigmas}}function _createRenderTarget(width,height,params){const cubeUVRenderTarget=new WebGLRenderTarget(width,height,params);cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping;cubeUVRenderTarget.texture.name="PMREM.cubeUv";cubeUVRenderTarget.scissorTest=true;return cubeUVRenderTarget}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height);target.scissor.set(x,y,width,height)}function _getBlurShader(lodMax,width,height){const weights=new Float32Array(MAX_SAMPLES);const poleAxis=new Vector3(0,1,0);const shaderMaterial=new ShaderMaterial({name:"SphericalGaussianBlur",defines:{"n":MAX_SAMPLES,"CUBEUV_TEXEL_WIDTH":1/width,"CUBEUV_TEXEL_HEIGHT":1/height,"CUBEUV_MAX_MIP":`${lodMax}.0`},uniforms:{"envMap":{value:null},"samples":{value:1},"weights":{value:weights},"latitudinal":{value:false},"dTheta":{value:0},"mipInt":{value:0},"poleAxis":{value:poleAxis}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                varying vec3 vOutputDirection;

                uniform sampler2D envMap;
                uniform int samples;
                uniform float weights[ n ];
                uniform bool latitudinal;
                uniform float dTheta;
                uniform float mipInt;
                uniform vec3 poleAxis;

                #define ENVMAP_TYPE_CUBE_UV
                #include <cube_uv_reflection_fragment>

                vec3 getSample( float theta, vec3 axis ) {

                    float cosTheta = cos( theta );
                    // Rodrigues' axis-angle rotation
                    vec3 sampleDirection = vOutputDirection * cosTheta
                        + cross( axis, vOutputDirection ) * sin( theta )
                        + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );

                    return bilinearCubeUV( envMap, sampleDirection, mipInt );

                }

                void main() {

                    vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );

                    if ( all( equal( axis, vec3( 0.0 ) ) ) ) {

                        axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );

                    }

                    axis = normalize( axis );

                    gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
                    gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );

                    for ( int i = 1; i < n; i++ ) {

                        if ( i >= samples ) {

                            break;

                        }

                        float theta = dTheta * float( i );
                        gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
                        gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );

                    }

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false});return shaderMaterial}function _getEquirectMaterial(){return new ShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{"envMap":{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                varying vec3 vOutputDirection;

                uniform sampler2D envMap;

                #include <common>

                void main() {

                    vec3 outputDirection = normalize( vOutputDirection );
                    vec2 uv = equirectUv( outputDirection );

                    gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:"CubemapToCubeUV",uniforms:{"envMap":{value:null},"flipEnvMap":{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:`

                precision mediump float;
                precision mediump int;

                uniform float flipEnvMap;

                varying vec3 vOutputDirection;

                uniform samplerCube envMap;

                void main() {

                    gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );

                }
            `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return`

            precision mediump float;
            precision mediump int;

            attribute float faceIndex;

            varying vec3 vOutputDirection;

            // RH coordinate system; PMREM face-indexing convention
            vec3 getDirection( vec2 uv, float face ) {

                uv = 2.0 * uv - 1.0;

                vec3 direction = vec3( uv, 1.0 );

                if ( face == 0.0 ) {

                    direction = direction.zyx; // ( 1, v, u ) pos x

                } else if ( face == 1.0 ) {

                    direction = direction.xzy;
                    direction.xz *= -1.0; // ( -u, 1, -v ) pos y

                } else if ( face == 2.0 ) {

                    direction.x *= -1.0; // ( -u, v, 1 ) pos z

                } else if ( face == 3.0 ) {

                    direction = direction.zyx;
                    direction.xz *= -1.0; // ( -1, v, -u ) neg x

                } else if ( face == 4.0 ) {

                    direction = direction.xzy;
                    direction.xy *= -1.0; // ( -u, -1, v ) neg y

                } else if ( face == 5.0 ) {

                    direction.z *= -1.0; // ( u, v, -1 ) neg z

                }

                return direction;

            }

            void main() {

                vOutputDirection = getDirection( uv, faceIndex );
                gl_Position = vec4( position, 1.0 );

            }
        `}THREE.PMREMGenerator=PMREMGenerator});(function(t,e){e(t,t.THREE=t.THREE||{})})(this,function(globalThis,THREE){const $5OpyM$Spherical=THREE.Spherical;const $5OpyM$Vector3=THREE.Vector3;const $5OpyM$MathUtils=THREE.MathUtils;const $5OpyM$Sphere=THREE.Sphere;const $5OpyM$Group=THREE.Group;const $5OpyM$PointsMaterial=THREE.PointsMaterial;const $5OpyM$MeshStandardMaterial=THREE.MeshStandardMaterial;const $5OpyM$Box3Helper=THREE.Box3Helper;const $5OpyM$Color=THREE.Color;const $5OpyM$Matrix4=THREE.Matrix4;const $5OpyM$LoadingManager=THREE.LoadingManager;const $5OpyM$Vector2=THREE.Vector2;const $5OpyM$Frustum=THREE.Frustum;const $5OpyM$DefaultLoadingManager=THREE.DefaultLoadingManager;const $5OpyM$BufferGeometry=THREE.BufferGeometry;const $5OpyM$BufferAttribute=THREE.BufferAttribute;const $5OpyM$Points=THREE.Points;const $5OpyM$Quaternion=THREE.Quaternion;const $5OpyM$InstancedMesh=THREE.InstancedMesh;const $5OpyM$Ray=THREE.Ray;const $5OpyM$Box3=THREE.Box3;const $5OpyM$LineBasicMaterial=THREE.LineBasicMaterial;const $5OpyM$LineSegments=THREE.LineSegments;const $5OpyM$BoxGeometry=THREE.BoxGeometry;const $5OpyM$EdgesGeometry=THREE.EdgesGeometry;const $5OpyM$Mesh=THREE.Mesh;const $5OpyM$Euler=THREE.Euler;const $5OpyM$GLTFLoader=THREE.GLTFLoader;var $parcel$global=typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:{};var $parcel$modules={};var $parcel$inits={};var parcelRequire=$parcel$global["parcelRequire5fa1"];if(parcelRequire==null){parcelRequire=function(id){if(id in $parcel$modules){return $parcel$modules[id].exports}if(id in $parcel$inits){var init=$parcel$inits[id];delete $parcel$inits[id];var module={id:id,exports:{}};$parcel$modules[id]=module;init.call(module.exports,module,module.exports);return module.exports}var err=new Error("Cannot find module '"+id+"'");err.code="MODULE_NOT_FOUND";throw err};parcelRequire.register=function register(id,init){$parcel$inits[id]=init};$parcel$global["parcelRequire5fa1"]=parcelRequire}parcelRequire.register("1hGdn",function(module,exports){"use strict";Object.defineProperty(module.exports,"__esModule",{value:true});module.exports.latitudeToSphericalPhi=$0ef81fee344e2f3b$var$latitudeToSphericalPhi;module.exports.sphericalPhiToLatitude=$0ef81fee344e2f3b$var$sphericalPhiToLatitude;module.exports.swapToGeoFrame=$0ef81fee344e2f3b$var$swapToGeoFrame;module.exports.swapToThreeFrame=$0ef81fee344e2f3b$var$swapToThreeFrame;module.exports.toLatLonString=$0ef81fee344e2f3b$var$toLatLonString;const $0ef81fee344e2f3b$var$_spherical=new $5OpyM$Spherical;const $0ef81fee344e2f3b$var$_vec=new $5OpyM$Vector3;const $0ef81fee344e2f3b$var$_geoResults={};function $0ef81fee344e2f3b$var$swapToGeoFrame(target){const{x:x,y:y,z:z}=target;target.x=z;target.y=x;target.z=y}function $0ef81fee344e2f3b$var$swapToThreeFrame(target){const{x:x,y:y,z:z}=target;target.z=x;target.x=y;target.y=z}function $0ef81fee344e2f3b$var$sphericalPhiToLatitude(phi){return-(phi-Math.PI/2)}function $0ef81fee344e2f3b$var$latitudeToSphericalPhi(latitude){return-latitude+Math.PI/2}function $0ef81fee344e2f3b$var$correctGeoCoordWrap(lat,lon,target={}){$0ef81fee344e2f3b$var$_spherical.theta=lon;$0ef81fee344e2f3b$var$_spherical.phi=$0ef81fee344e2f3b$var$latitudeToSphericalPhi(lat);$0ef81fee344e2f3b$var$_vec.setFromSpherical($0ef81fee344e2f3b$var$_spherical);$0ef81fee344e2f3b$var$_spherical.setFromVector3($0ef81fee344e2f3b$var$_vec);target.lat=$0ef81fee344e2f3b$var$sphericalPhiToLatitude($0ef81fee344e2f3b$var$_spherical.phi);target.lon=$0ef81fee344e2f3b$var$_spherical.theta;return target}function $0ef81fee344e2f3b$var$toHoursMinutesSecondsString(value,pos="E",neg="W"){const direction=value<0?neg:pos;value=Math.abs(value);const hours=~~value;const minDec=(value-hours)*60;const minutes=~~minDec;const secDec=(minDec-minutes)*60;const seconds=~~secDec;return`${hours}° ${minutes}' ${seconds}" ${direction}`}function $0ef81fee344e2f3b$var$toLatLonString(lat,lon,decimalFormat=false){const result=$0ef81fee344e2f3b$var$correctGeoCoordWrap(lat,lon,$0ef81fee344e2f3b$var$_geoResults);let latString,lonString;if(decimalFormat){latString=`${($5OpyM$MathUtils.RAD2DEG*result.lat).toFixed(4)}°`;lonString=`${($5OpyM$MathUtils.RAD2DEG*result.lon).toFixed(4)}°`}else{latString=$0ef81fee344e2f3b$var$toHoursMinutesSecondsString($5OpyM$MathUtils.RAD2DEG*result.lat,"N","S");lonString=$0ef81fee344e2f3b$var$toHoursMinutesSecondsString($5OpyM$MathUtils.RAD2DEG*result.lon,"E","W")}return`${latString} ${lonString}`}});var $cf838c15c8b009ba$exports={};"use strict";Object.defineProperty($cf838c15c8b009ba$exports,"__esModule",{value:true});var $cf838c15c8b009ba$var$_exportNames={DebugTilesRenderer:true,NONE:true,SCREEN_ERROR:true,GEOMETRIC_ERROR:true,DISTANCE:true,DEPTH:true,RELATIVE_DEPTH:true,IS_LEAF:true,RANDOM_COLOR:true,RANDOM_NODE_COLOR:true,CUSTOM_COLOR:true,TilesRenderer:true,B3DMLoader:true,PNTSLoader:true,I3DMLoader:true,CMPTLoader:true,GLTFCesiumRTCExtension:true,GLTFExtensionLoader:true,EllipsoidRegionHelper:true,EllipsoidRegionLineHelper:true,SphereHelper:true,Ellipsoid:true,EllipsoidRegion:true,GeoUtils:true,TilesRendererBase:true,LoaderBase:true,B3DMLoaderBase:true,I3DMLoaderBase:true,PNTSLoaderBase:true,CMPTLoaderBase:true,LRUCache:true,PriorityQueue:true};Object.defineProperty($cf838c15c8b009ba$exports,"B3DMLoader",{enumerable:true,get:function(){return $0aa3d1def57e98b1$exports.B3DMLoader}});Object.defineProperty($cf838c15c8b009ba$exports,"B3DMLoaderBase",{enumerable:true,get:function(){return $f5d9b5dde53306bf$exports.B3DMLoaderBase}});Object.defineProperty($cf838c15c8b009ba$exports,"CMPTLoader",{enumerable:true,get:function(){return $54879e9a7dc345e0$exports.CMPTLoader}});Object.defineProperty($cf838c15c8b009ba$exports,"CMPTLoaderBase",{enumerable:true,get:function(){return $cb66a16334732244$exports.CMPTLoaderBase}});Object.defineProperty($cf838c15c8b009ba$exports,"CUSTOM_COLOR",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.CUSTOM_COLOR}});Object.defineProperty($cf838c15c8b009ba$exports,"DEPTH",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.DEPTH}});Object.defineProperty($cf838c15c8b009ba$exports,"DISTANCE",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.DISTANCE}});Object.defineProperty($cf838c15c8b009ba$exports,"DebugTilesRenderer",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.DebugTilesRenderer}});Object.defineProperty($cf838c15c8b009ba$exports,"Ellipsoid",{enumerable:true,get:function(){return $9160f8f2e0578e98$exports.Ellipsoid}});Object.defineProperty($cf838c15c8b009ba$exports,"EllipsoidRegion",{enumerable:true,get:function(){return $aa7b3b269f245cbe$exports.EllipsoidRegion}});Object.defineProperty($cf838c15c8b009ba$exports,"EllipsoidRegionHelper",{enumerable:true,get:function(){return $3b9225051b507460$exports.EllipsoidRegionHelper}});Object.defineProperty($cf838c15c8b009ba$exports,"EllipsoidRegionLineHelper",{enumerable:true,get:function(){return $3b9225051b507460$exports.EllipsoidRegionLineHelper}});Object.defineProperty($cf838c15c8b009ba$exports,"GEOMETRIC_ERROR",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.GEOMETRIC_ERROR}});Object.defineProperty($cf838c15c8b009ba$exports,"GLTFCesiumRTCExtension",{enumerable:true,get:function(){return $44c3bffa5e49f297$exports.GLTFCesiumRTCExtension}});Object.defineProperty($cf838c15c8b009ba$exports,"GLTFExtensionLoader",{enumerable:true,get:function(){return $29ced67d26e5c4e2$exports.GLTFExtensionLoader}});$cf838c15c8b009ba$exports.GeoUtils=void 0;Object.defineProperty($cf838c15c8b009ba$exports,"I3DMLoader",{enumerable:true,get:function(){return $0bc85483bdeca322$exports.I3DMLoader}});Object.defineProperty($cf838c15c8b009ba$exports,"I3DMLoaderBase",{enumerable:true,get:function(){return $bcb352fb74bed4a5$exports.I3DMLoaderBase}});Object.defineProperty($cf838c15c8b009ba$exports,"IS_LEAF",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.IS_LEAF}});Object.defineProperty($cf838c15c8b009ba$exports,"LRUCache",{enumerable:true,get:function(){return $e0d7a242557dc8e6$exports.LRUCache}});Object.defineProperty($cf838c15c8b009ba$exports,"LoaderBase",{enumerable:true,get:function(){return $e6b785bba9ea128d$exports.LoaderBase}});Object.defineProperty($cf838c15c8b009ba$exports,"NONE",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.NONE}});Object.defineProperty($cf838c15c8b009ba$exports,"PNTSLoader",{enumerable:true,get:function(){return $1ddd6ca16eb224df$exports.PNTSLoader}});Object.defineProperty($cf838c15c8b009ba$exports,"PNTSLoaderBase",{enumerable:true,get:function(){return $d408eda5a179398a$exports.PNTSLoaderBase}});Object.defineProperty($cf838c15c8b009ba$exports,"PriorityQueue",{enumerable:true,get:function(){return $096d2234d1235002$exports.PriorityQueue}});Object.defineProperty($cf838c15c8b009ba$exports,"RANDOM_COLOR",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.RANDOM_COLOR}});Object.defineProperty($cf838c15c8b009ba$exports,"RANDOM_NODE_COLOR",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.RANDOM_NODE_COLOR}});Object.defineProperty($cf838c15c8b009ba$exports,"RELATIVE_DEPTH",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.RELATIVE_DEPTH}});Object.defineProperty($cf838c15c8b009ba$exports,"SCREEN_ERROR",{enumerable:true,get:function(){return $1909f04f34bd6630$exports.SCREEN_ERROR}});Object.defineProperty($cf838c15c8b009ba$exports,"SphereHelper",{enumerable:true,get:function(){return $1cb839fa4db014d3$exports.SphereHelper}});Object.defineProperty($cf838c15c8b009ba$exports,"TilesRenderer",{enumerable:true,get:function(){return $06d26e8e9f5361d3$exports.TilesRenderer}});Object.defineProperty($cf838c15c8b009ba$exports,"TilesRendererBase",{enumerable:true,get:function(){return $5a6f7a997885dc30$exports.TilesRendererBase}});var $1909f04f34bd6630$exports={};"use strict";Object.defineProperty($1909f04f34bd6630$exports,"__esModule",{value:true});$1909f04f34bd6630$exports.SCREEN_ERROR=$1909f04f34bd6630$exports.RELATIVE_DEPTH=$1909f04f34bd6630$exports.RANDOM_NODE_COLOR=$1909f04f34bd6630$exports.RANDOM_COLOR=$1909f04f34bd6630$exports.NONE=$1909f04f34bd6630$exports.IS_LEAF=$1909f04f34bd6630$exports.GEOMETRIC_ERROR=$1909f04f34bd6630$exports.DebugTilesRenderer=$1909f04f34bd6630$exports.DISTANCE=$1909f04f34bd6630$exports.DEPTH=$1909f04f34bd6630$exports.CUSTOM_COLOR=void 0;var $3a66585ec6f85053$exports={};"use strict";Object.defineProperty($3a66585ec6f85053$exports,"__esModule",{value:true});$3a66585ec6f85053$exports.getIndexedRandomColor=$3a66585ec6f85053$var$getIndexedRandomColor;const $3a66585ec6f85053$var$colors={};function $3a66585ec6f85053$var$getIndexedRandomColor(index){if(!$3a66585ec6f85053$var$colors[index]){const h=Math.random();const s=0.5+Math.random()*0.5;const l=0.375+Math.random()*0.25;$3a66585ec6f85053$var$colors[index]=new $5OpyM$Color().setHSL(h,s,l)}return $3a66585ec6f85053$var$colors[index]}var $06d26e8e9f5361d3$exports={};"use strict";Object.defineProperty($06d26e8e9f5361d3$exports,"__esModule",{value:true});$06d26e8e9f5361d3$exports.TilesRenderer=void 0;var $5a6f7a997885dc30$exports={};"use strict";Object.defineProperty($5a6f7a997885dc30$exports,"__esModule",{value:true});$5a6f7a997885dc30$exports.TilesRendererBase=void 0;var $7ff9fb142d83939f$exports={};"use strict";Object.defineProperty($7ff9fb142d83939f$exports,"__esModule",{value:true});$7ff9fb142d83939f$exports.getUrlExtension=$7ff9fb142d83939f$var$getUrlExtension;function $7ff9fb142d83939f$var$getUrlExtension(url){let parsedUrl;try{parsedUrl=new URL(url,"http://fakehost.com/")}catch(_){return null}const filename=parsedUrl.pathname.split("/").pop();const dotIndex=filename.lastIndexOf(".");if(dotIndex===-1||dotIndex===filename.length-1)return null;const extension=filename.substring(dotIndex+1);return extension}var $e0d7a242557dc8e6$exports={};"use strict";Object.defineProperty($e0d7a242557dc8e6$exports,"__esModule",{value:true});$e0d7a242557dc8e6$exports.LRUCache=void 0;function $e0d7a242557dc8e6$var$enqueueMicrotask(callback){Promise.resolve().then(callback)}class $e0d7a242557dc8e6$var$LRUCache{constructor(){this.maxSize=800;this.minSize=600;this.unloadPercent=0.05;this.itemSet=new Map;this.itemList=[];this.usedSet=new Set;this.callbacks=new Map;this.unloadPriorityCallback=null;const itemSet=this.itemSet;this.defaultPriorityCallback=item=>itemSet.get(item)}isFull(){return this.itemSet.size>=this.maxSize}add(item,removeCb){const itemSet=this.itemSet;if(itemSet.has(item))return false;if(this.isFull())return false;const usedSet=this.usedSet;const itemList=this.itemList;const callbacks=this.callbacks;itemList.push(item);usedSet.add(item);itemSet.set(item,Date.now());callbacks.set(item,removeCb);return true}remove(item){const usedSet=this.usedSet;const itemSet=this.itemSet;const itemList=this.itemList;const callbacks=this.callbacks;if(itemSet.has(item)){callbacks.get(item)(item);const index=itemList.indexOf(item);itemList.splice(index,1);usedSet.delete(item);itemSet.delete(item);callbacks.delete(item);return true}return false}markUsed(item){const itemSet=this.itemSet;const usedSet=this.usedSet;if(itemSet.has(item)&&!usedSet.has(item)){itemSet.set(item,Date.now());usedSet.add(item)}}markAllUnused(){this.usedSet.clear()}unloadUnusedContent(){const unloadPercent=this.unloadPercent;const targetSize=this.minSize;const itemList=this.itemList;const itemSet=this.itemSet;const usedSet=this.usedSet;const callbacks=this.callbacks;const unused=itemList.length-usedSet.size;const excess=itemList.length-targetSize;const unloadPriorityCallback=this.unloadPriorityCallback||this.defaultPriorityCallback;if(excess>0&&unused>0){itemList.sort((a,b)=>{const usedA=usedSet.has(a);const usedB=usedSet.has(b);if(usedA&&usedB)return 0;else if(!usedA&&!usedB)return unloadPriorityCallback(b)-unloadPriorityCallback(a);else return usedA?1:-1});const unusedExcess=Math.min(excess,unused);const maxUnload=Math.max(targetSize*unloadPercent,unusedExcess*unloadPercent);let nodesToUnload=Math.min(maxUnload,unused);nodesToUnload=Math.ceil(nodesToUnload);const removedItems=itemList.splice(0,nodesToUnload);for(let i=0,l=removedItems.length;i<l;i++){const item=removedItems[i];callbacks.get(item)(item);itemSet.delete(item);callbacks.delete(item)}}}scheduleUnload(markAllUnused=true){if(!this.scheduled){this.scheduled=true;$e0d7a242557dc8e6$var$enqueueMicrotask(()=>{this.scheduled=false;this.unloadUnusedContent();if(markAllUnused)this.markAllUnused()})}}}$e0d7a242557dc8e6$exports.LRUCache=$e0d7a242557dc8e6$var$LRUCache;var $096d2234d1235002$exports={};"use strict";Object.defineProperty($096d2234d1235002$exports,"__esModule",{value:true});$096d2234d1235002$exports.PriorityQueue=void 0;class $096d2234d1235002$var$PriorityQueue{constructor(){this.maxJobs=6;this.items=[];this.callbacks=new Map;this.currJobs=0;this.scheduled=false;this.autoUpdate=true;this.priorityCallback=()=>{throw new Error("PriorityQueue: PriorityCallback function not defined.")};this.schedulingCallback=func=>{requestAnimationFrame(func)};this._runjobs=()=>{this.tryRunJobs();this.scheduled=false}}sort(){const priorityCallback=this.priorityCallback;const items=this.items;items.sort(priorityCallback)}add(item,callback){return new Promise((resolve,reject)=>{const prCallback=(...args)=>callback(...args).then(resolve).catch(reject);const items=this.items;const callbacks=this.callbacks;items.push(item);callbacks.set(item,prCallback);if(this.autoUpdate)this.scheduleJobRun()})}remove(item){const items=this.items;const callbacks=this.callbacks;const index=items.indexOf(item);if(index!==-1){items.splice(index,1);callbacks.delete(item)}}tryRunJobs(){this.sort();const items=this.items;const callbacks=this.callbacks;const maxJobs=this.maxJobs;let currJobs=this.currJobs;while(maxJobs>currJobs&&items.length>0){currJobs++;const item=items.pop();const callback=callbacks.get(item);callbacks.delete(item);callback(item).then(()=>{this.currJobs--;if(this.autoUpdate)this.scheduleJobRun()}).catch(()=>{this.currJobs--;if(this.autoUpdate)this.scheduleJobRun()})}this.currJobs=currJobs}scheduleJobRun(){if(!this.scheduled){this.schedulingCallback(this._runjobs);this.scheduled=true}}}$096d2234d1235002$exports.PriorityQueue=$096d2234d1235002$var$PriorityQueue;var $cd531a5f1c18e9cc$exports={};"use strict";Object.defineProperty($cd531a5f1c18e9cc$exports,"__esModule",{value:true});$cd531a5f1c18e9cc$exports.determineFrustumSet=$cd531a5f1c18e9cc$var$determineFrustumSet;$cd531a5f1c18e9cc$exports.markUsedSetLeaves=$cd531a5f1c18e9cc$var$markUsedSetLeaves;$cd531a5f1c18e9cc$exports.skipTraversal=$cd531a5f1c18e9cc$var$skipTraversal;$cd531a5f1c18e9cc$exports.toggleTiles=$cd531a5f1c18e9cc$var$toggleTiles;$cd531a5f1c18e9cc$exports.traverseSet=$cd531a5f1c18e9cc$var$traverseSet;var $002d29a772485791$exports={};"use strict";Object.defineProperty($002d29a772485791$exports,"__esModule",{value:true});$002d29a772485791$exports.WGS84_RADIUS=$002d29a772485791$exports.WGS84_HEIGHT=$002d29a772485791$exports.WGS84_FLATTENING=$002d29a772485791$exports.UNLOADED=$002d29a772485791$exports.PARSING=$002d29a772485791$exports.LOADING=$002d29a772485791$exports.LOADED=$002d29a772485791$exports.FAILED=void 0;const $002d29a772485791$var$UNLOADED=0;$002d29a772485791$exports.UNLOADED=$002d29a772485791$var$UNLOADED;const $002d29a772485791$var$LOADING=1;$002d29a772485791$exports.LOADING=$002d29a772485791$var$LOADING;const $002d29a772485791$var$PARSING=2;$002d29a772485791$exports.PARSING=$002d29a772485791$var$PARSING;const $002d29a772485791$var$LOADED=3;$002d29a772485791$exports.LOADED=$002d29a772485791$var$LOADED;const $002d29a772485791$var$FAILED=4;$002d29a772485791$exports.FAILED=$002d29a772485791$var$FAILED;const $002d29a772485791$var$WGS84_RADIUS=6378137;$002d29a772485791$exports.WGS84_RADIUS=$002d29a772485791$var$WGS84_RADIUS;const $002d29a772485791$var$WGS84_FLATTENING=1/298.257223563;$002d29a772485791$exports.WGS84_FLATTENING=$002d29a772485791$var$WGS84_FLATTENING;const $002d29a772485791$var$WGS84_HEIGHT=-($002d29a772485791$var$WGS84_FLATTENING*$002d29a772485791$var$WGS84_RADIUS-$002d29a772485791$var$WGS84_RADIUS);$002d29a772485791$exports.WGS84_HEIGHT=$002d29a772485791$var$WGS84_HEIGHT;function $cd531a5f1c18e9cc$var$isDownloadFinished(value){return value===$002d29a772485791$exports.LOADED||value===$002d29a772485791$exports.FAILED}function $cd531a5f1c18e9cc$var$isUsedThisFrame(tile,frameCount){return tile.__lastFrameVisited===frameCount&&tile.__used}function $cd531a5f1c18e9cc$var$resetFrameState(tile,frameCount){if(tile.__lastFrameVisited!==frameCount){tile.__lastFrameVisited=frameCount;tile.__used=false;tile.__inFrustum=false;tile.__isLeaf=false;tile.__visible=false;tile.__active=false;tile.__error=Infinity;tile.__distanceFromCamera=Infinity;tile.__childrenWereVisible=false;tile.__allChildrenLoaded=false}}function $cd531a5f1c18e9cc$var$recursivelyMarkUsed(tile,frameCount,lruCache,renderer){renderer.ensureChildrenArePreprocessed(tile);$cd531a5f1c18e9cc$var$resetFrameState(tile,frameCount);tile.__used=true;lruCache.markUsed(tile);if(tile.__contentEmpty){const children=tile.children;for(let i=0,l=children.length;i<l;i++)$cd531a5f1c18e9cc$var$recursivelyMarkUsed(children[i],frameCount,lruCache,renderer)}}function $cd531a5f1c18e9cc$var$recursivelyLoadTiles(tile,depthFromRenderedParent,renderer){renderer.ensureChildrenArePreprocessed(tile);const doTraverse=tile.__contentEmpty&&(!tile.__externalTileSet||$cd531a5f1c18e9cc$var$isDownloadFinished(tile.__loadingState));if(doTraverse){const children=tile.children;for(let i=0,l=children.length;i<l;i++){const child=children[i];child.__depthFromRenderedParent=depthFromRenderedParent;$cd531a5f1c18e9cc$var$recursivelyLoadTiles(child,depthFromRenderedParent,renderer)}}else renderer.requestTileContents(tile)}function $cd531a5f1c18e9cc$var$traverseSet(tile,beforeCb=null,afterCb=null,parent=null,depth=0){if(beforeCb&&beforeCb(tile,parent,depth)){if(afterCb)afterCb(tile,parent,depth);return}const children=tile.children;for(let i=0,l=children.length;i<l;i++)$cd531a5f1c18e9cc$var$traverseSet(children[i],beforeCb,afterCb,tile,depth+1);if(afterCb)afterCb(tile,parent,depth)}function $cd531a5f1c18e9cc$var$determineFrustumSet(tile,renderer){renderer.ensureChildrenArePreprocessed(tile);const stats=renderer.stats;const frameCount=renderer.frameCount;const errorTarget=renderer.errorTarget;const maxDepth=renderer.maxDepth;const loadSiblings=renderer.loadSiblings;const lruCache=renderer.lruCache;const stopAtEmptyTiles=renderer.stopAtEmptyTiles;$cd531a5f1c18e9cc$var$resetFrameState(tile,frameCount);const inFrustum=renderer.tileInView(tile);if(inFrustum===false)return false;tile.__used=true;lruCache.markUsed(tile);tile.__inFrustum=true;stats.inFrustum++;if((stopAtEmptyTiles||!tile.__contentEmpty)&&!tile.__externalTileSet){renderer.calculateError(tile);const error=tile.__error;if(error<=errorTarget)return true;if(renderer.maxDepth>0&&tile.__depth+1>=maxDepth)return true}let anyChildrenUsed=false;const children=tile.children;for(let i=0,l=children.length;i<l;i++){const c=children[i];const r=$cd531a5f1c18e9cc$var$determineFrustumSet(c,renderer);anyChildrenUsed=anyChildrenUsed||r}if(anyChildrenUsed&&loadSiblings)for(let i=0,l=children.length;i<l;i++){const c=children[i];$cd531a5f1c18e9cc$var$recursivelyMarkUsed(c,frameCount,lruCache,renderer)}return true}function $cd531a5f1c18e9cc$var$markUsedSetLeaves(tile,renderer){const stats=renderer.stats;const frameCount=renderer.frameCount;if(!$cd531a5f1c18e9cc$var$isUsedThisFrame(tile,frameCount))return;stats.used++;const children=tile.children;let anyChildrenUsed=false;for(let i=0,l=children.length;i<l;i++){const c=children[i];anyChildrenUsed=anyChildrenUsed||$cd531a5f1c18e9cc$var$isUsedThisFrame(c,frameCount)}if(!anyChildrenUsed)tile.__isLeaf=true;else{let childrenWereVisible=false;let allChildrenLoaded=true;for(let i=0,l=children.length;i<l;i++){const c=children[i];$cd531a5f1c18e9cc$var$markUsedSetLeaves(c,renderer);childrenWereVisible=childrenWereVisible||c.__wasSetVisible||c.__childrenWereVisible;if($cd531a5f1c18e9cc$var$isUsedThisFrame(c,frameCount)){const childLoaded=c.__allChildrenLoaded||!c.__contentEmpty&&$cd531a5f1c18e9cc$var$isDownloadFinished(c.__loadingState)||c.__externalTileSet&&c.__loadingState===$002d29a772485791$exports.FAILED;allChildrenLoaded=allChildrenLoaded&&childLoaded}}tile.__childrenWereVisible=childrenWereVisible;tile.__allChildrenLoaded=allChildrenLoaded}}function $cd531a5f1c18e9cc$var$skipTraversal(tile,renderer){const stats=renderer.stats;const frameCount=renderer.frameCount;if(!$cd531a5f1c18e9cc$var$isUsedThisFrame(tile,frameCount))return;const parent=tile.parent;const parentDepthToParent=parent?parent.__depthFromRenderedParent:-1;tile.__depthFromRenderedParent=parentDepthToParent;const lruCache=renderer.lruCache;if(tile.__isLeaf){tile.__depthFromRenderedParent++;if(tile.__loadingState===$002d29a772485791$exports.LOADED){if(tile.__inFrustum){tile.__visible=true;stats.visible++}tile.__active=true;stats.active++}else if(!lruCache.isFull()&&(!tile.__contentEmpty||tile.__externalTileSet))renderer.requestTileContents(tile);return}const errorRequirement=(renderer.errorTarget+1)*renderer.errorThreshold;const meetsSSE=tile.__error<=errorRequirement;const includeTile=meetsSSE||tile.refine==="ADD";const hasModel=!tile.__contentEmpty;const hasContent=hasModel||tile.__externalTileSet;const loadedContent=$cd531a5f1c18e9cc$var$isDownloadFinished(tile.__loadingState)&&hasContent;const childrenWereVisible=tile.__childrenWereVisible;const children=tile.children;const allChildrenHaveContent=tile.__allChildrenLoaded;if(includeTile&&hasModel)tile.__depthFromRenderedParent++;if(includeTile&&!loadedContent&&!lruCache.isFull()&&hasContent)renderer.requestTileContents(tile);if(meetsSSE&&!allChildrenHaveContent&&!childrenWereVisible&&loadedContent||tile.refine==="ADD"&&loadedContent){if(tile.__inFrustum){tile.__visible=true;stats.visible++}tile.__active=true;stats.active++}if(tile.refine!=="ADD"&&meetsSSE&&!allChildrenHaveContent&&loadedContent)for(let i=0,l=children.length;i<l;i++){const c=children[i];if($cd531a5f1c18e9cc$var$isUsedThisFrame(c,frameCount)&&!lruCache.isFull()){c.__depthFromRenderedParent=tile.__depthFromRenderedParent+1;$cd531a5f1c18e9cc$var$recursivelyLoadTiles(c,c.__depthFromRenderedParent,renderer)}}else for(let i=0,l=children.length;i<l;i++){const c=children[i];if($cd531a5f1c18e9cc$var$isUsedThisFrame(c,frameCount))$cd531a5f1c18e9cc$var$skipTraversal(c,renderer)}}function $cd531a5f1c18e9cc$var$toggleTiles(tile,renderer){const frameCount=renderer.frameCount;const isUsed=$cd531a5f1c18e9cc$var$isUsedThisFrame(tile,frameCount);if(isUsed||tile.__usedLastFrame){let setActive=false;let setVisible=false;if(isUsed){setActive=tile.__active;if(renderer.displayActiveTiles)setVisible=tile.__active||tile.__visible;else setVisible=tile.__visible}if(!tile.__contentEmpty&&tile.__loadingState===$002d29a772485791$exports.LOADED){if(tile.__wasSetActive!==setActive)renderer.setTileActive(tile,setActive);if(tile.__wasSetVisible!==setVisible)renderer.setTileVisible(tile,setVisible)}tile.__wasSetActive=setActive;tile.__wasSetVisible=setVisible;tile.__usedLastFrame=isUsed;const children=tile.children;for(let i=0,l=children.length;i<l;i++){const c=children[i];$cd531a5f1c18e9cc$var$toggleTiles(c,renderer)}}}const $5a6f7a997885dc30$var$priorityCallback=(a,b)=>{if(a.__depth!==b.__depth)return a.__depth>b.__depth?-1:1;else if(a.__inFrustum!==b.__inFrustum)return a.__inFrustum?1:-1;else if(a.__used!==b.__used)return a.__used?1:-1;else if(a.__error!==b.__error)return a.__error>b.__error?1:-1;else if(a.__distanceFromCamera!==b.__distanceFromCamera)return a.__distanceFromCamera>b.__distanceFromCamera?-1:1;return 0};const $5a6f7a997885dc30$var$lruPriorityCallback=tile=>1/(tile.__depthFromRenderedParent+1);class $5a6f7a997885dc30$var$TilesRendererBase{get rootTileSet(){const tileSet=this.tileSets[this.rootURL];if(!tileSet||tileSet instanceof Promise)return null;else return tileSet}get root(){const tileSet=this.rootTileSet;return tileSet?tileSet.root:null}constructor(url){this.tileSets={};this.rootURL=url;this.fetchOptions={};this.preprocessURL=null;const lruCache=new $e0d7a242557dc8e6$exports.LRUCache;lruCache.unloadPriorityCallback=$5a6f7a997885dc30$var$lruPriorityCallback;const downloadQueue=new $096d2234d1235002$exports.PriorityQueue;downloadQueue.maxJobs=4;downloadQueue.priorityCallback=$5a6f7a997885dc30$var$priorityCallback;const parseQueue=new $096d2234d1235002$exports.PriorityQueue;parseQueue.maxJobs=1;parseQueue.priorityCallback=$5a6f7a997885dc30$var$priorityCallback;this.lruCache=lruCache;this.downloadQueue=downloadQueue;this.parseQueue=parseQueue;this.stats={parsing:0,downloading:0,failed:0,inFrustum:0,used:0,active:0,visible:0};this.frameCount=0;this.errorTarget=6;this.errorThreshold=Infinity;this.loadSiblings=true;this.displayActiveTiles=false;this.maxDepth=Infinity;this.stopAtEmptyTiles=true}traverse(beforecb,aftercb){const tileSets=this.tileSets;const rootTileSet=tileSets[this.rootURL];if(!rootTileSet||!rootTileSet.root)return;(0,$cd531a5f1c18e9cc$exports.traverseSet)(rootTileSet.root,(tile,...args)=>{this.ensureChildrenArePreprocessed(tile);return beforecb?beforecb(tile,...args):false},aftercb)}update(){const stats=this.stats;const lruCache=this.lruCache;const tileSets=this.tileSets;const rootTileSet=tileSets[this.rootURL];if(!(this.rootURL in tileSets)){this.loadRootTileSet(this.rootURL);return}else if(!rootTileSet||!rootTileSet.root)return;const root=rootTileSet.root;stats.inFrustum=0,stats.used=0,stats.active=0,stats.visible=0,this.frameCount++;(0,$cd531a5f1c18e9cc$exports.determineFrustumSet)(root,this);(0,$cd531a5f1c18e9cc$exports.markUsedSetLeaves)(root,this);(0,$cd531a5f1c18e9cc$exports.skipTraversal)(root,this);(0,$cd531a5f1c18e9cc$exports.toggleTiles)(root,this);lruCache.scheduleUnload()}parseTile(buffer,tile,extension){return null}disposeTile(tile){}preprocessNode(tile,tileSetDir,parentTile=null){if(tile.content){if(!("uri"in tile.content)&&"url"in tile.content){tile.content.uri=tile.content.url;delete tile.content.url}if(tile.content.uri)tile.content.uri=new URL(tile.content.uri,tileSetDir+"/").toString();if(tile.content.boundingVolume&&!("box"in tile.content.boundingVolume||"sphere"in tile.content.boundingVolume||"region"in tile.content.boundingVolume))delete tile.content.boundingVolume}tile.parent=parentTile;tile.children=tile.children||[];const uri=tile.content&&tile.content.uri;if(uri){const extension=(0,$7ff9fb142d83939f$exports.getUrlExtension)(tile.content.uri);const isExternalTileSet=Boolean(extension&&extension.toLowerCase()==="json");tile.__externalTileSet=isExternalTileSet;tile.__contentEmpty=isExternalTileSet}else{tile.__externalTileSet=false;tile.__contentEmpty=true}tile.__distanceFromCamera=Infinity;tile.__error=Infinity;tile.__inFrustum=false;tile.__isLeaf=false;tile.__usedLastFrame=false;tile.__used=false;tile.__wasSetVisible=false;tile.__visible=false;tile.__childrenWereVisible=false;tile.__allChildrenLoaded=false;tile.__wasSetActive=false;tile.__active=false;tile.__loadingState=$002d29a772485791$exports.UNLOADED;tile.__loadIndex=0;tile.__loadAbort=null;tile.__depthFromRenderedParent=-1;if(parentTile===null){tile.__depth=0;tile.refine=tile.refine||"REPLACE"}else{tile.__depth=parentTile.__depth+1;tile.refine=tile.refine||parentTile.refine}tile.__basePath=tileSetDir}setTileActive(tile,state){}setTileVisible(tile,state){}calculateError(tile){return 0}tileInView(tile){return true}ensureChildrenArePreprocessed(tile){const children=tile.children;for(let i=0,l=children.length;i<l;i++){const child=children[i];if("__depth"in child)break;this.preprocessNode(child,tile.__basePath,tile)}}resetFailedTiles(){const stats=this.stats;if(stats.failed===0)return;this.traverse(tile=>{if(tile.__loadingState===$002d29a772485791$exports.FAILED)tile.__loadingState=$002d29a772485791$exports.UNLOADED});stats.failed=0}fetchTileSet(url,fetchOptions,parent=null){return fetch(url,fetchOptions).then(res=>{if(res.ok)return res.json();else throw new Error(`TilesRenderer: Failed to load tileset "${url}" with status ${res.status} : ${res.statusText}`)}).then(json=>{const version=json.asset.version;console.assert(version==="1.0"||version==="0.0","asset.version is expected to be a string of \"1.0\" or \"0.0\"");let basePath=url.replace(/\/[^\/]*\/?$/,"");basePath=new URL(basePath,window.location.href).toString();this.preprocessNode(json.root,basePath,parent);return json})}loadRootTileSet(url){const tileSets=this.tileSets;if(!(url in tileSets)){const pr=this.fetchTileSet(this.preprocessURL?this.preprocessURL(url):url,this.fetchOptions).then(json=>{tileSets[url]=json});pr.catch(err=>{console.error(err);tileSets[url]=err});tileSets[url]=pr;return pr}else if(tileSets[url]instanceof Error)return Promise.reject(tileSets[url]);else return Promise.resolve(tileSets[url])}requestTileContents(tile){if(tile.__loadingState!==$002d29a772485791$exports.UNLOADED)return;const stats=this.stats;const lruCache=this.lruCache;const downloadQueue=this.downloadQueue;const parseQueue=this.parseQueue;const isExternalTileSet=tile.__externalTileSet;lruCache.add(tile,t=>{if(t.__loadingState===$002d29a772485791$exports.LOADING){t.__loadAbort.abort();t.__loadAbort=null}else if(isExternalTileSet)t.children.length=0;else this.disposeTile(t);if(t.__loadingState===$002d29a772485791$exports.LOADING)stats.downloading--;else if(t.__loadingState===$002d29a772485791$exports.PARSING)stats.parsing--;t.__loadingState=$002d29a772485791$exports.UNLOADED;t.__loadIndex++;parseQueue.remove(t);downloadQueue.remove(t)});tile.__loadIndex++;const loadIndex=tile.__loadIndex;const controller=new AbortController;const signal=controller.signal;stats.downloading++;tile.__loadAbort=controller;tile.__loadingState=$002d29a772485791$exports.LOADING;const errorCallback=e=>{if(tile.__loadIndex!==loadIndex)return;if(e.name!=="AbortError"){parseQueue.remove(tile);downloadQueue.remove(tile);if(tile.__loadingState===$002d29a772485791$exports.PARSING)stats.parsing--;else if(tile.__loadingState===$002d29a772485791$exports.LOADING)stats.downloading--;stats.failed++;console.error(`TilesRenderer : Failed to load tile at url "${tile.content.uri}".`);console.error(e);tile.__loadingState=$002d29a772485791$exports.FAILED}else lruCache.remove(tile)};if(isExternalTileSet)downloadQueue.add(tile,tileCb=>{if(tileCb.__loadIndex!==loadIndex)return Promise.resolve();const uri=this.preprocessURL?this.preprocessURL(tileCb.content.uri):tileCb.content.uri;return this.fetchTileSet(uri,Object.assign({signal:signal},this.fetchOptions),tileCb)}).then(json=>{if(tile.__loadIndex!==loadIndex)return;stats.downloading--;tile.__loadAbort=null;tile.__loadingState=$002d29a772485791$exports.LOADED;tile.children.push(json.root)}).catch(errorCallback);else downloadQueue.add(tile,downloadTile=>{if(downloadTile.__loadIndex!==loadIndex)return Promise.resolve();const uri=this.preprocessURL?this.preprocessURL(downloadTile.content.uri):downloadTile.content.uri;return fetch(uri,Object.assign({signal:signal},this.fetchOptions))}).then(res=>{if(tile.__loadIndex!==loadIndex)return;if(res.ok)return res.arrayBuffer();else throw new Error(`Failed to load model with error code ${res.status}`)}).then(buffer=>{if(tile.__loadIndex!==loadIndex)return;stats.downloading--;stats.parsing++;tile.__loadAbort=null;tile.__loadingState=$002d29a772485791$exports.PARSING;return parseQueue.add(tile,parseTile=>{if(parseTile.__loadIndex!==loadIndex)return Promise.resolve();const uri=parseTile.content.uri;const extension=(0,$7ff9fb142d83939f$exports.getUrlExtension)(uri);return this.parseTile(buffer,parseTile,extension)})}).then(()=>{if(tile.__loadIndex!==loadIndex)return;stats.parsing--;tile.__loadingState=$002d29a772485791$exports.LOADED;if(tile.__wasSetVisible)this.setTileVisible(tile,true);if(tile.__wasSetActive)this.setTileActive(tile,true)}).catch(errorCallback)}dispose(){const lruCache=this.lruCache;const toRemove=[];this.traverse(t=>{toRemove.push(t);return false});for(let i=0,l=toRemove.length;i<l;i++)lruCache.remove(toRemove[i]);this.stats={parsing:0,downloading:0,failed:0,inFrustum:0,used:0,active:0,visible:0};this.frameCount=0}}$5a6f7a997885dc30$exports.TilesRendererBase=$5a6f7a997885dc30$var$TilesRendererBase;var $0aa3d1def57e98b1$exports={};"use strict";Object.defineProperty($0aa3d1def57e98b1$exports,"__esModule",{value:true});$0aa3d1def57e98b1$exports.B3DMLoader=void 0;var $f5d9b5dde53306bf$exports={};"use strict";Object.defineProperty($f5d9b5dde53306bf$exports,"__esModule",{value:true});$f5d9b5dde53306bf$exports.B3DMLoaderBase=void 0;var $5bfd2e53a5ab8bef$exports={};"use strict";Object.defineProperty($5bfd2e53a5ab8bef$exports,"__esModule",{value:true});$5bfd2e53a5ab8bef$exports.FeatureTable=$5bfd2e53a5ab8bef$exports.BatchTable=void 0;var $5d480c6739d4b949$exports={};"use strict";Object.defineProperty($5d480c6739d4b949$exports,"__esModule",{value:true});$5d480c6739d4b949$exports.arrayToString=$5d480c6739d4b949$var$arrayToString;function $5d480c6739d4b949$var$arrayToString(array){const utf8decoder=new TextDecoder;return utf8decoder.decode(array)}class $5bfd2e53a5ab8bef$var$FeatureTable{constructor(buffer,start,headerLength,binLength){this.buffer=buffer;this.binOffset=start+headerLength;this.binLength=binLength;let header=null;if(headerLength!==0){const headerData=new Uint8Array(buffer,start,headerLength);header=JSON.parse((0,$5d480c6739d4b949$exports.arrayToString)(headerData))}else header={};this.header=header}getKeys(){return Object.keys(this.header)}getData(key,count,defaultComponentType=null,defaultType=null){const header=this.header;if(!(key in header))return null;const feature=header[key];if(!(feature instanceof Object))return feature;else if(Array.isArray(feature))return feature;else{const{buffer:buffer,binOffset:binOffset,binLength:binLength}=this;const byteOffset=feature.byteOffset||0;const featureType=feature.type||defaultType;const featureComponentType=feature.componentType||defaultComponentType;if("type"in feature&&defaultType&&feature.type!==defaultType)throw new Error("FeatureTable: Specified type does not match expected type.");let stride;switch(featureType){case"SCALAR":stride=1;break;case"VEC2":stride=2;break;case"VEC3":stride=3;break;case"VEC4":stride=4;break;default:throw new Error(`FeatureTable : Feature type not provided for "${key}".`);}let data;const arrayStart=binOffset+byteOffset;const arrayLength=count*stride;switch(featureComponentType){case"BYTE":data=new Int8Array(buffer,arrayStart,arrayLength);break;case"UNSIGNED_BYTE":data=new Uint8Array(buffer,arrayStart,arrayLength);break;case"SHORT":data=new Int16Array(buffer,arrayStart,arrayLength);break;case"UNSIGNED_SHORT":data=new Uint16Array(buffer,arrayStart,arrayLength);break;case"INT":data=new Int32Array(buffer,arrayStart,arrayLength);break;case"UNSIGNED_INT":data=new Uint32Array(buffer,arrayStart,arrayLength);break;case"FLOAT":data=new Float32Array(buffer,arrayStart,arrayLength);break;case"DOUBLE":data=new Float64Array(buffer,arrayStart,arrayLength);break;default:throw new Error(`FeatureTable : Feature component type not provided for "${key}".`);}const dataEnd=arrayStart+arrayLength*data.BYTES_PER_ELEMENT;if(dataEnd>binOffset+binLength)throw new Error("FeatureTable: Feature data read outside binary body length.");return data}}getBuffer(byteOffset,byteLength){const{buffer:buffer,binOffset:binOffset}=this;return buffer.slice(binOffset+byteOffset,binOffset+byteOffset+byteLength)}}$5bfd2e53a5ab8bef$exports.FeatureTable=$5bfd2e53a5ab8bef$var$FeatureTable;class $5bfd2e53a5ab8bef$var$BatchTable extends $5bfd2e53a5ab8bef$var$FeatureTable{constructor(buffer,batchSize,start,headerLength,binLength){super(buffer,start,headerLength,binLength);this.batchSize=batchSize}getData(key,componentType=null,type=null){return super.getData(key,this.batchSize,componentType,type)}}$5bfd2e53a5ab8bef$exports.BatchTable=$5bfd2e53a5ab8bef$var$BatchTable;var $e6b785bba9ea128d$exports={};"use strict";Object.defineProperty($e6b785bba9ea128d$exports,"__esModule",{value:true});$e6b785bba9ea128d$exports.LoaderBase=void 0;class $e6b785bba9ea128d$var$LoaderBase{constructor(){this.fetchOptions={};this.workingPath=""}load(url){return fetch(url,this.fetchOptions).then(res=>{if(!res.ok)throw new Error(`Failed to load file "${url}" with status ${res.status} : ${res.statusText}`);return res.arrayBuffer()}).then(buffer=>{if(this.workingPath==="")this.workingPath=this.workingPathForURL(url);return this.parse(buffer)})}resolveExternalURL(url){if(/^[^\\/]/.test(url))return this.workingPath+"/"+url;else return url}workingPathForURL(url){const splits=url.split(/[\\/]/g);splits.pop();const workingPath=splits.join("/");return workingPath+"/"}parse(buffer){throw new Error("LoaderBase: Parse not implemented.")}}$e6b785bba9ea128d$exports.LoaderBase=$e6b785bba9ea128d$var$LoaderBase;var $9e3e194659cc5776$exports={};"use strict";Object.defineProperty($9e3e194659cc5776$exports,"__esModule",{value:true});$9e3e194659cc5776$exports.readMagicBytes=$9e3e194659cc5776$var$readMagicBytes;function $9e3e194659cc5776$var$readMagicBytes(bufferOrDataView){let view;if(bufferOrDataView instanceof DataView)view=bufferOrDataView;else view=new DataView(bufferOrDataView);if(String.fromCharCode(view.getUint8(0))==="{")return null;let magicBytes="";for(let i=0;i<4;i++)magicBytes+=String.fromCharCode(view.getUint8(i));return magicBytes}class $f5d9b5dde53306bf$var$B3DMLoaderBase extends $e6b785bba9ea128d$exports.LoaderBase{parse(buffer){const dataView=new DataView(buffer);const magic=(0,$9e3e194659cc5776$exports.readMagicBytes)(dataView);console.assert(magic==="b3dm");const version=dataView.getUint32(4,true);console.assert(version===1);const byteLength=dataView.getUint32(8,true);console.assert(byteLength===buffer.byteLength);const featureTableJSONByteLength=dataView.getUint32(12,true);const featureTableBinaryByteLength=dataView.getUint32(16,true);const batchTableJSONByteLength=dataView.getUint32(20,true);const batchTableBinaryByteLength=dataView.getUint32(24,true);const featureTableStart=28;const featureTableBuffer=buffer.slice(featureTableStart,featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength);const featureTable=new $5bfd2e53a5ab8bef$exports.FeatureTable(featureTableBuffer,0,featureTableJSONByteLength,featureTableBinaryByteLength);const batchTableStart=featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength;const batchTableBuffer=buffer.slice(batchTableStart,batchTableStart+batchTableJSONByteLength+batchTableBinaryByteLength);const batchTable=new $5bfd2e53a5ab8bef$exports.BatchTable(batchTableBuffer,featureTable.getData("BATCH_LENGTH"),0,batchTableJSONByteLength,batchTableBinaryByteLength);const glbStart=batchTableStart+batchTableJSONByteLength+batchTableBinaryByteLength;const glbBytes=new Uint8Array(buffer,glbStart,byteLength-glbStart);return{version:version,featureTable:featureTable,batchTable:batchTable,glbBytes:glbBytes}}}$f5d9b5dde53306bf$exports.B3DMLoaderBase=$f5d9b5dde53306bf$var$B3DMLoaderBase;class $0aa3d1def57e98b1$var$B3DMLoader extends $f5d9b5dde53306bf$exports.B3DMLoaderBase{constructor(manager=$5OpyM$DefaultLoadingManager){super();this.manager=manager;this.adjustmentTransform=new $5OpyM$Matrix4}parse(buffer){const b3dm=super.parse(buffer);const gltfBuffer=b3dm.glbBytes.slice().buffer;return new Promise((resolve,reject)=>{const manager=this.manager;const fetchOptions=this.fetchOptions;const loader=manager.getHandler("path.gltf")||new $5OpyM$GLTFLoader(manager);if(fetchOptions.credentials==="include"&&fetchOptions.mode==="cors")loader.setCrossOrigin("use-credentials");if("credentials"in fetchOptions)loader.setWithCredentials(fetchOptions.credentials==="include");if(fetchOptions.headers)loader.setRequestHeader(fetchOptions.headers);let workingPath=this.workingPath;if(!/[\\/]$/.test(workingPath)&&workingPath.length)workingPath+="/";const adjustmentTransform=this.adjustmentTransform;loader.parse(gltfBuffer,workingPath,model=>{const{batchTable:batchTable,featureTable:featureTable}=b3dm;const{scene:scene}=model;const rtcCenter=featureTable.getData("RTC_CENTER");if(rtcCenter){scene.position.x+=rtcCenter[0];scene.position.y+=rtcCenter[1];scene.position.z+=rtcCenter[2]}model.scene.updateMatrix();model.scene.matrix.multiply(adjustmentTransform);model.scene.matrix.decompose(model.scene.position,model.scene.quaternion,model.scene.scale);model.batchTable=batchTable;model.featureTable=featureTable;scene.batchTable=batchTable;scene.featureTable=featureTable;resolve(model)},reject)})}}$0aa3d1def57e98b1$exports.B3DMLoader=$0aa3d1def57e98b1$var$B3DMLoader;var $1ddd6ca16eb224df$exports={};"use strict";Object.defineProperty($1ddd6ca16eb224df$exports,"__esModule",{value:true});$1ddd6ca16eb224df$exports.PNTSLoader=void 0;var $d408eda5a179398a$exports={};"use strict";Object.defineProperty($d408eda5a179398a$exports,"__esModule",{value:true});$d408eda5a179398a$exports.PNTSLoaderBase=void 0;class $d408eda5a179398a$var$PNTSLoaderBase extends $e6b785bba9ea128d$exports.LoaderBase{parse(buffer){const dataView=new DataView(buffer);const magic=(0,$9e3e194659cc5776$exports.readMagicBytes)(dataView);console.assert(magic==="pnts");const version=dataView.getUint32(4,true);console.assert(version===1);const byteLength=dataView.getUint32(8,true);console.assert(byteLength===buffer.byteLength);const featureTableJSONByteLength=dataView.getUint32(12,true);const featureTableBinaryByteLength=dataView.getUint32(16,true);const batchTableJSONByteLength=dataView.getUint32(20,true);const batchTableBinaryByteLength=dataView.getUint32(24,true);const featureTableStart=28;const featureTableBuffer=buffer.slice(featureTableStart,featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength);const featureTable=new $5bfd2e53a5ab8bef$exports.FeatureTable(featureTableBuffer,0,featureTableJSONByteLength,featureTableBinaryByteLength);const batchTableStart=featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength;const batchTableBuffer=buffer.slice(batchTableStart,batchTableStart+batchTableJSONByteLength+batchTableBinaryByteLength);const batchTable=new $5bfd2e53a5ab8bef$exports.BatchTable(batchTableBuffer,featureTable.getData("BATCH_LENGTH")||featureTable.getData("POINTS_LENGTH"),0,batchTableJSONByteLength,batchTableBinaryByteLength);return Promise.resolve({version:version,featureTable:featureTable,batchTable:batchTable})}}$d408eda5a179398a$exports.PNTSLoaderBase=$d408eda5a179398a$var$PNTSLoaderBase;const $1ddd6ca16eb224df$var$DRACO_ATTRIBUTE_MAP={RGB:"color",POSITION:"position"};class $1ddd6ca16eb224df$var$PNTSLoader extends $d408eda5a179398a$exports.PNTSLoaderBase{constructor(manager=$5OpyM$DefaultLoadingManager){super();this.manager=manager}parse(buffer){return super.parse(buffer).then(async result=>{const{featureTable:featureTable}=result;const material=new $5OpyM$PointsMaterial;const extensions=featureTable.header.extensions;const translationOffset=new $5OpyM$Vector3;let geometry;if(extensions&&extensions["3DTILES_draco_point_compression"]){const{byteOffset:byteOffset,byteLength:byteLength,properties:properties}=extensions["3DTILES_draco_point_compression"];const dracoLoader=this.manager.getHandler("draco.drc");if(dracoLoader==null)throw new Error("PNTSLoader: dracoLoader not available.");const attributeIDs={};for(const key in properties)if(key in $1ddd6ca16eb224df$var$DRACO_ATTRIBUTE_MAP&&key in properties){const mappedKey=$1ddd6ca16eb224df$var$DRACO_ATTRIBUTE_MAP[key];attributeIDs[mappedKey]=properties[key]}const taskConfig={attributeIDs:attributeIDs,attributeTypes:{position:"Float32Array",color:"Uint8Array"},useUniqueIDs:true};const buffer=featureTable.getBuffer(byteOffset,byteLength);geometry=await dracoLoader.decodeGeometry(buffer,taskConfig);if(geometry.attributes.color)material.vertexColors=true}else{const POINTS_LENGTH=featureTable.getData("POINTS_LENGTH");const POSITION=featureTable.getData("POSITION",POINTS_LENGTH,"FLOAT","VEC3");const RGB=featureTable.getData("RGB",POINTS_LENGTH,"UNSIGNED_BYTE","VEC3");const POSITION_QUANTIZED=featureTable.getData("POSITION_QUANTIZED",POINTS_LENGTH,"UNSIGNED_SHORT","VEC3");const QUANTIZED_VOLUME_SCALE=featureTable.getData("QUANTIZED_VOLUME_SCALE",POINTS_LENGTH,"FLOAT","VEC3");const QUANTIZED_VOLUME_OFFSET=featureTable.getData("QUANTIZED_VOLUME_OFFSET",POINTS_LENGTH,"FLOAT","VEC3");geometry=new $5OpyM$BufferGeometry;if(POSITION_QUANTIZED){const decodedPositions=new Float32Array(POINTS_LENGTH*3);for(let i=0;i<POINTS_LENGTH;i++)for(let j=0;j<3;j++){const index=3*i+j;decodedPositions[index]=POSITION_QUANTIZED[index]/65535*QUANTIZED_VOLUME_SCALE[j]}translationOffset.x=QUANTIZED_VOLUME_OFFSET[0];translationOffset.y=QUANTIZED_VOLUME_OFFSET[1];translationOffset.z=QUANTIZED_VOLUME_OFFSET[2];geometry.setAttribute("position",new $5OpyM$BufferAttribute(decodedPositions,3,false))}else geometry.setAttribute("position",new $5OpyM$BufferAttribute(POSITION,3,false));if(RGB!==null){geometry.setAttribute("color",new $5OpyM$BufferAttribute(RGB,3,true));material.vertexColors=true}}["CONSTANT_RGBA","BATCH_LENGTH","RGBA","RGB565","NORMAL","NORMAL_OCT16P"].forEach(feature=>{if(feature in featureTable.header)console.warn(`PNTSLoader: Unsupported FeatureTable feature "${feature}" detected.`)});const object=new $5OpyM$Points(geometry,material);object.position.copy(translationOffset);result.scene=object;result.scene.featureTable=featureTable;const rtcCenter=featureTable.getData("RTC_CENTER");if(rtcCenter){result.scene.position.x+=rtcCenter[0];result.scene.position.y+=rtcCenter[1];result.scene.position.z+=rtcCenter[2]}return result})}}$1ddd6ca16eb224df$exports.PNTSLoader=$1ddd6ca16eb224df$var$PNTSLoader;var $0bc85483bdeca322$exports={};"use strict";Object.defineProperty($0bc85483bdeca322$exports,"__esModule",{value:true});$0bc85483bdeca322$exports.I3DMLoader=void 0;var $bcb352fb74bed4a5$exports={};"use strict";Object.defineProperty($bcb352fb74bed4a5$exports,"__esModule",{value:true});$bcb352fb74bed4a5$exports.I3DMLoaderBase=void 0;class $bcb352fb74bed4a5$var$I3DMLoaderBase extends $e6b785bba9ea128d$exports.LoaderBase{parse(buffer){const dataView=new DataView(buffer);const magic=(0,$9e3e194659cc5776$exports.readMagicBytes)(dataView);console.assert(magic==="i3dm");const version=dataView.getUint32(4,true);console.assert(version===1);const byteLength=dataView.getUint32(8,true);console.assert(byteLength===buffer.byteLength);const featureTableJSONByteLength=dataView.getUint32(12,true);const featureTableBinaryByteLength=dataView.getUint32(16,true);const batchTableJSONByteLength=dataView.getUint32(20,true);const batchTableBinaryByteLength=dataView.getUint32(24,true);const gltfFormat=dataView.getUint32(28,true);const featureTableStart=32;const featureTableBuffer=buffer.slice(featureTableStart,featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength);const featureTable=new $5bfd2e53a5ab8bef$exports.FeatureTable(featureTableBuffer,0,featureTableJSONByteLength,featureTableBinaryByteLength);const batchTableStart=featureTableStart+featureTableJSONByteLength+featureTableBinaryByteLength;const batchTableBuffer=buffer.slice(batchTableStart,batchTableStart+batchTableJSONByteLength+batchTableBinaryByteLength);const batchTable=new $5bfd2e53a5ab8bef$exports.BatchTable(batchTableBuffer,featureTable.getData("INSTANCES_LENGTH"),0,batchTableJSONByteLength,batchTableBinaryByteLength);const glbStart=batchTableStart+batchTableJSONByteLength+batchTableBinaryByteLength;const bodyBytes=new Uint8Array(buffer,glbStart,byteLength-glbStart);let glbBytes=null;let promise=null;if(gltfFormat){glbBytes=bodyBytes;promise=Promise.resolve()}else{const externalUri=this.resolveExternalURL((0,$5d480c6739d4b949$exports.arrayToString)(bodyBytes));promise=fetch(externalUri,this.fetchOptions).then(res=>{if(!res.ok)throw new Error(`I3DMLoaderBase : Failed to load file "${externalUri}" with status ${res.status} : ${res.statusText}`);return res.arrayBuffer()}).then(buffer=>{glbBytes=new Uint8Array(buffer)})}return promise.then(()=>{return{version:version,featureTable:featureTable,batchTable:batchTable,glbBytes:glbBytes}})}}$bcb352fb74bed4a5$exports.I3DMLoaderBase=$bcb352fb74bed4a5$var$I3DMLoaderBase;const $0bc85483bdeca322$var$tempFwd=new $5OpyM$Vector3;const $0bc85483bdeca322$var$tempUp=new $5OpyM$Vector3;const $0bc85483bdeca322$var$tempRight=new $5OpyM$Vector3;const $0bc85483bdeca322$var$tempPos=new $5OpyM$Vector3;const $0bc85483bdeca322$var$tempQuat=new $5OpyM$Quaternion;const $0bc85483bdeca322$var$tempSca=new $5OpyM$Vector3;const $0bc85483bdeca322$var$tempMat=new $5OpyM$Matrix4;class $0bc85483bdeca322$var$I3DMLoader extends $bcb352fb74bed4a5$exports.I3DMLoaderBase{constructor(manager=$5OpyM$DefaultLoadingManager){super();this.manager=manager;this.adjustmentTransform=new $5OpyM$Matrix4}resolveExternalURL(url){return this.manager.resolveURL(super.resolveExternalURL(url))}parse(buffer){return super.parse(buffer).then(i3dm=>{const{featureTable:featureTable,batchTable:batchTable}=i3dm;const gltfBuffer=i3dm.glbBytes.slice().buffer;return new Promise((resolve,reject)=>{const fetchOptions=this.fetchOptions;const manager=this.manager;const loader=manager.getHandler("path.gltf")||new $5OpyM$GLTFLoader(manager);if(fetchOptions.credentials==="include"&&fetchOptions.mode==="cors")loader.setCrossOrigin("use-credentials");if("credentials"in fetchOptions)loader.setWithCredentials(fetchOptions.credentials==="include");if(fetchOptions.headers)loader.setRequestHeader(fetchOptions.headers);let workingPath=this.workingPath;if(!/[\\/]$/.test(workingPath))workingPath+="/";const adjustmentTransform=this.adjustmentTransform;loader.parse(gltfBuffer,workingPath,model=>{const INSTANCES_LENGTH=featureTable.getData("INSTANCES_LENGTH");const POSITION=featureTable.getData("POSITION",INSTANCES_LENGTH,"FLOAT","VEC3");const NORMAL_UP=featureTable.getData("NORMAL_UP",INSTANCES_LENGTH,"FLOAT","VEC3");const NORMAL_RIGHT=featureTable.getData("NORMAL_RIGHT",INSTANCES_LENGTH,"FLOAT","VEC3");const SCALE_NON_UNIFORM=featureTable.getData("SCALE_NON_UNIFORM",INSTANCES_LENGTH,"FLOAT","VEC3");const SCALE=featureTable.getData("SCALE",INSTANCES_LENGTH,"FLOAT","SCALAR");["RTC_CENTER","QUANTIZED_VOLUME_OFFSET","QUANTIZED_VOLUME_SCALE","EAST_NORTH_UP","POSITION_QUANTIZED","NORMAL_UP_OCT32P","NORMAL_RIGHT_OCT32P"].forEach(feature=>{if(feature in featureTable.header)console.warn(`I3DMLoader: Unsupported FeatureTable feature "${feature}" detected.`)});const instanceMap=new Map;const instances=[];model.scene.traverse(child=>{if(child.isMesh){const{geometry:geometry,material:material}=child;const instancedMesh=new $5OpyM$InstancedMesh(geometry,material,INSTANCES_LENGTH);instancedMesh.position.copy(child.position);instancedMesh.rotation.copy(child.rotation);instancedMesh.scale.copy(child.scale);instances.push(instancedMesh);instanceMap.set(child,instancedMesh)}});const averageVector=new $5OpyM$Vector3;for(let i=0;i<INSTANCES_LENGTH;i++){averageVector.x+=POSITION[i*3+0]/INSTANCES_LENGTH;averageVector.y+=POSITION[i*3+1]/INSTANCES_LENGTH;averageVector.z+=POSITION[i*3+2]/INSTANCES_LENGTH}instanceMap.forEach((instancedMesh,mesh)=>{const parent=mesh.parent;if(parent){parent.remove(mesh);parent.add(instancedMesh);instancedMesh.updateMatrixWorld();instancedMesh.position.copy(averageVector).applyMatrix4(instancedMesh.matrixWorld)}});for(let i=0;i<INSTANCES_LENGTH;i++){$0bc85483bdeca322$var$tempPos.set(POSITION[i*3+0]-averageVector.x,POSITION[i*3+1]-averageVector.y,POSITION[i*3+2]-averageVector.z);if(NORMAL_UP){$0bc85483bdeca322$var$tempUp.set(NORMAL_UP[i*3+0],NORMAL_UP[i*3+1],NORMAL_UP[i*3+2]);$0bc85483bdeca322$var$tempRight.set(NORMAL_RIGHT[i*3+0],NORMAL_RIGHT[i*3+1],NORMAL_RIGHT[i*3+2]);$0bc85483bdeca322$var$tempFwd.crossVectors($0bc85483bdeca322$var$tempRight,$0bc85483bdeca322$var$tempUp).normalize();$0bc85483bdeca322$var$tempMat.makeBasis($0bc85483bdeca322$var$tempRight,$0bc85483bdeca322$var$tempUp,$0bc85483bdeca322$var$tempFwd);$0bc85483bdeca322$var$tempQuat.setFromRotationMatrix($0bc85483bdeca322$var$tempMat)}else $0bc85483bdeca322$var$tempQuat.set(0,0,0,1);if(SCALE)$0bc85483bdeca322$var$tempSca.setScalar(SCALE[i]);else if(SCALE_NON_UNIFORM)$0bc85483bdeca322$var$tempSca.set(SCALE_NON_UNIFORM[i*3+0],SCALE_NON_UNIFORM[i*3+1],SCALE_NON_UNIFORM[i*3+2]);else $0bc85483bdeca322$var$tempSca.set(1,1,1);$0bc85483bdeca322$var$tempMat.compose($0bc85483bdeca322$var$tempPos,$0bc85483bdeca322$var$tempQuat,$0bc85483bdeca322$var$tempSca).multiply(adjustmentTransform);for(let j=0,l=instances.length;j<l;j++){const instance=instances[j];instance.setMatrixAt(i,$0bc85483bdeca322$var$tempMat)}}model.batchTable=batchTable;model.featureTable=featureTable;model.scene.batchTable=batchTable;model.scene.featureTable=featureTable;resolve(model)},reject)})})}}$0bc85483bdeca322$exports.I3DMLoader=$0bc85483bdeca322$var$I3DMLoader;var $54879e9a7dc345e0$exports={};"use strict";Object.defineProperty($54879e9a7dc345e0$exports,"__esModule",{value:true});$54879e9a7dc345e0$exports.CMPTLoader=void 0;var $cb66a16334732244$exports={};"use strict";Object.defineProperty($cb66a16334732244$exports,"__esModule",{value:true});$cb66a16334732244$exports.CMPTLoaderBase=void 0;class $cb66a16334732244$var$CMPTLoaderBase extends $e6b785bba9ea128d$exports.LoaderBase{parse(buffer){const dataView=new DataView(buffer);const magic=(0,$9e3e194659cc5776$exports.readMagicBytes)(dataView);console.assert(magic==="cmpt","CMPTLoader: The magic bytes equal \"cmpt\".");const version=dataView.getUint32(4,true);console.assert(version===1,"CMPTLoader: The version listed in the header is \"1\".");const byteLength=dataView.getUint32(8,true);console.assert(byteLength===buffer.byteLength,"CMPTLoader: The contents buffer length listed in the header matches the file.");const tilesLength=dataView.getUint32(12,true);const tiles=[];let offset=16;for(let i=0;i<tilesLength;i++){const tileView=new DataView(buffer,offset,12);const tileMagic=(0,$9e3e194659cc5776$exports.readMagicBytes)(tileView);const tileVersion=tileView.getUint32(4,true);const byteLength=tileView.getUint32(8,true);const tileBuffer=new Uint8Array(buffer,offset,byteLength);tiles.push({type:tileMagic,buffer:tileBuffer,version:tileVersion});offset+=byteLength}return{version:version,tiles:tiles}}}$cb66a16334732244$exports.CMPTLoaderBase=$cb66a16334732244$var$CMPTLoaderBase;class $54879e9a7dc345e0$var$CMPTLoader extends $cb66a16334732244$exports.CMPTLoaderBase{constructor(manager=$5OpyM$DefaultLoadingManager){super();this.manager=manager;this.adjustmentTransform=new $5OpyM$Matrix4}parse(buffer){const result=super.parse(buffer);const manager=this.manager;const adjustmentTransform=this.adjustmentTransform;const promises=[];for(const i in result.tiles){const{type:type,buffer:buffer}=result.tiles[i];switch(type){case"b3dm":{const slicedBuffer=buffer.slice();const loader=new $0aa3d1def57e98b1$exports.B3DMLoader(manager);loader.workingPath=this.workingPath;loader.fetchOptions=this.fetchOptions;loader.adjustmentTransform.copy(adjustmentTransform);const promise=loader.parse(slicedBuffer.buffer);promises.push(promise);break}case"pnts":{const slicedBuffer=buffer.slice();const loader=new $1ddd6ca16eb224df$exports.PNTSLoader(manager);loader.workingPath=this.workingPath;loader.fetchOptions=this.fetchOptions;const promise=loader.parse(slicedBuffer.buffer);promises.push(promise);break}case"i3dm":{const slicedBuffer=buffer.slice();const loader=new $0bc85483bdeca322$exports.I3DMLoader(manager);loader.workingPath=this.workingPath;loader.fetchOptions=this.fetchOptions;loader.adjustmentTransform.copy(adjustmentTransform);const promise=loader.parse(slicedBuffer.buffer);promises.push(promise);break}}}return Promise.all(promises).then(results=>{const group=new $5OpyM$Group;results.forEach(result=>{group.add(result.scene)});return{tiles:results,scene:group}})}}$54879e9a7dc345e0$exports.CMPTLoader=$54879e9a7dc345e0$var$CMPTLoader;var $29ced67d26e5c4e2$exports={};"use strict";Object.defineProperty($29ced67d26e5c4e2$exports,"__esModule",{value:true});$29ced67d26e5c4e2$exports.GLTFExtensionLoader=void 0;var $44c3bffa5e49f297$exports={};"use strict";Object.defineProperty($44c3bffa5e49f297$exports,"__esModule",{value:true});$44c3bffa5e49f297$exports.GLTFCesiumRTCExtension=void 0;class $44c3bffa5e49f297$var$GLTFCesiumRTCExtension{constructor(){this.name="CESIUM_RTC"}afterRoot(res){if(res.parser.json.extensions&&res.parser.json.extensions.CESIUM_RTC){const{center:center}=res.parser.json.extensions.CESIUM_RTC;if(center){res.scene.position.x+=center[0];res.scene.position.y+=center[1];res.scene.position.z+=center[2]}}}}$44c3bffa5e49f297$exports.GLTFCesiumRTCExtension=$44c3bffa5e49f297$var$GLTFCesiumRTCExtension;class $29ced67d26e5c4e2$var$GLTFExtensionLoader extends $e6b785bba9ea128d$exports.LoaderBase{constructor(manager=$5OpyM$DefaultLoadingManager){super();this.manager=manager}parse(buffer){return new Promise((resolve,reject)=>{const manager=this.manager;const fetchOptions=this.fetchOptions;let loader=manager.getHandler("path.gltf")||manager.getHandler("path.glb");if(!loader){loader=new $5OpyM$GLTFLoader(manager);loader.register(()=>new $44c3bffa5e49f297$exports.GLTFCesiumRTCExtension);if(fetchOptions.credentials==="include"&&fetchOptions.mode==="cors")loader.setCrossOrigin("use-credentials");if("credentials"in fetchOptions)loader.setWithCredentials(fetchOptions.credentials==="include");if(fetchOptions.headers)loader.setRequestHeader(fetchOptions.headers)}let resourcePath=loader.resourcePath||loader.path||this.workingPath;if(!/[\\/]$/.test(resourcePath)&&resourcePath.length)resourcePath+="/";loader.parse(buffer,resourcePath,model=>{resolve(model)},reject)})}}$29ced67d26e5c4e2$exports.GLTFExtensionLoader=$29ced67d26e5c4e2$var$GLTFExtensionLoader;var $3fcce8a4f74b2abc$exports={};"use strict";Object.defineProperty($3fcce8a4f74b2abc$exports,"__esModule",{value:true});$3fcce8a4f74b2abc$exports.TilesGroup=void 0;const $3fcce8a4f74b2abc$var$tempMat=new $5OpyM$Matrix4;class $3fcce8a4f74b2abc$var$TilesGroup extends $5OpyM$Group{constructor(tilesRenderer){super();this.name="TilesRenderer.TilesGroup";this.tilesRenderer=tilesRenderer}raycast(raycaster,intersects){if(this.tilesRenderer.optimizeRaycast)this.tilesRenderer.raycast(raycaster,intersects)}updateMatrixWorld(force){if(this.matrixAutoUpdate)this.updateMatrix();if(this.matrixWorldNeedsUpdate||force){if(this.parent===null)$3fcce8a4f74b2abc$var$tempMat.copy(this.matrix);else $3fcce8a4f74b2abc$var$tempMat.multiplyMatrices(this.parent.matrixWorld,this.matrix);this.matrixWorldNeedsUpdate=false;const elA=$3fcce8a4f74b2abc$var$tempMat.elements;const elB=this.matrixWorld.elements;let isDifferent=false;for(let i=0;i<16;i++){const itemA=elA[i];const itemB=elB[i];const diff=Math.abs(itemA-itemB);if(diff>Number.EPSILON){isDifferent=true;break}}if(isDifferent){this.matrixWorld.copy($3fcce8a4f74b2abc$var$tempMat);const children=this.children;for(let i=0,l=children.length;i<l;i++)children[i].updateMatrixWorld()}}}}$3fcce8a4f74b2abc$exports.TilesGroup=$3fcce8a4f74b2abc$var$TilesGroup;var $c1ac95a1e8efcc86$exports={};"use strict";Object.defineProperty($c1ac95a1e8efcc86$exports,"__esModule",{value:true});$c1ac95a1e8efcc86$exports.raycastTraverse=$c1ac95a1e8efcc86$var$raycastTraverse;$c1ac95a1e8efcc86$exports.raycastTraverseFirstHit=$c1ac95a1e8efcc86$var$raycastTraverseFirstHit;const $c1ac95a1e8efcc86$var$_mat=new $5OpyM$Matrix4;const $c1ac95a1e8efcc86$var$_localRay=new $5OpyM$Ray;const $c1ac95a1e8efcc86$var$_vec=new $5OpyM$Vector3;const $c1ac95a1e8efcc86$var$_hitArray=[];function $c1ac95a1e8efcc86$var$distanceSort(a,b){return a.distance-b.distance}function $c1ac95a1e8efcc86$var$intersectTileScene(scene,raycaster,intersects){scene.traverse(c=>{Object.getPrototypeOf(c).raycast.call(c,raycaster,intersects)})}function $c1ac95a1e8efcc86$var$intersectTileSceneFirstHist(scene,raycaster){$c1ac95a1e8efcc86$var$intersectTileScene(scene,raycaster,$c1ac95a1e8efcc86$var$_hitArray);$c1ac95a1e8efcc86$var$_hitArray.sort($c1ac95a1e8efcc86$var$distanceSort);const hit=$c1ac95a1e8efcc86$var$_hitArray[0]||null;$c1ac95a1e8efcc86$var$_hitArray.length=0;return hit}function $c1ac95a1e8efcc86$var$raycastTraverseFirstHit(renderer,tile,raycaster,localRay=null){const{group:group,activeTiles:activeTiles}=renderer;renderer.ensureChildrenArePreprocessed(tile);if(localRay===null){localRay=$c1ac95a1e8efcc86$var$_localRay;$c1ac95a1e8efcc86$var$_mat.copy(group.matrixWorld).invert();localRay.copy(raycaster.ray).applyMatrix4($c1ac95a1e8efcc86$var$_mat)}const array=[];const children=tile.children;for(let i=0,l=children.length;i<l;i++){const child=children[i];if(!child.__used)continue;const boundingVolume=child.cached.boundingVolume;if(boundingVolume.intersectRay(localRay,$c1ac95a1e8efcc86$var$_vec)!==null){$c1ac95a1e8efcc86$var$_vec.applyMatrix4(group.matrixWorld);array.push({distance:$c1ac95a1e8efcc86$var$_vec.distanceToSquared(raycaster.ray.origin),tile:child})}}array.sort($c1ac95a1e8efcc86$var$distanceSort);let bestHit=null;let bestHitDistSq=Infinity;if(activeTiles.has(tile)){const hit=$c1ac95a1e8efcc86$var$intersectTileSceneFirstHist(tile.cached.scene,raycaster);if(hit){bestHit=hit;bestHitDistSq=hit.distance*hit.distance}}for(let i=0,l=array.length;i<l;i++){const data=array[i];const boundingVolumeDistSq=data.distance;const tile=data.tile;if(boundingVolumeDistSq>bestHitDistSq)break;const hit=$c1ac95a1e8efcc86$var$raycastTraverseFirstHit(renderer,tile,raycaster,localRay);if(hit){const hitDistSq=hit.distance*hit.distance;if(hitDistSq<bestHitDistSq){bestHit=hit;bestHitDistSq=hitDistSq}}}return bestHit}function $c1ac95a1e8efcc86$var$raycastTraverse(renderer,tile,raycaster,intersects,localRay=null){const{group:group,activeTiles:activeTiles}=renderer;const{scene:scene,boundingVolume:boundingVolume}=tile.cached;renderer.ensureChildrenArePreprocessed(tile);if(localRay===null){localRay=$c1ac95a1e8efcc86$var$_localRay;$c1ac95a1e8efcc86$var$_mat.copy(group.matrixWorld).invert();localRay.copy(raycaster.ray).applyMatrix4($c1ac95a1e8efcc86$var$_mat)}if(!tile.__used||!boundingVolume.intersectsRay(localRay))return;if(activeTiles.has(tile))$c1ac95a1e8efcc86$var$intersectTileScene(scene,raycaster,intersects);const children=tile.children;for(let i=0,l=children.length;i<l;i++)$c1ac95a1e8efcc86$var$raycastTraverse(renderer,children[i],raycaster,intersects,localRay)}var $163be4c04da1c269$exports={};"use strict";Object.defineProperty($163be4c04da1c269$exports,"__esModule",{value:true});$163be4c04da1c269$exports.TileBoundingVolume=void 0;var $9e13f7da58b2928b$exports={};"use strict";Object.defineProperty($9e13f7da58b2928b$exports,"__esModule",{value:true});$9e13f7da58b2928b$exports.OBB=void 0;class $9e13f7da58b2928b$var$OBB{constructor(box=new $5OpyM$Box3,transform=new $5OpyM$Matrix4){this.box=box.clone();this.transform=transform.clone();this.inverseTransform=new $5OpyM$Matrix4;this.points=new Array(8).fill().map(()=>new $5OpyM$Vector3)}update(){const{points:points,inverseTransform:inverseTransform,transform:transform,box:box}=this;inverseTransform.copy(transform).invert();const{min:min,max:max}=box;let index=0;for(let x=-1;x<=1;x+=2){for(let y=-1;y<=1;y+=2)for(let z=-1;z<=1;z+=2){points[index].set(x<0?min.x:max.x,y<0?min.y:max.y,z<0?min.z:max.z).applyMatrix4(transform);index++}}}intersectsFrustum(frustum){const{points:points}=this;const{planes:planes}=frustum;for(let i=0;i<6;i++){const plane=planes[i];let maxDistance=-Infinity;for(let j=0;j<8;j++){const v=points[j];const dist=plane.distanceToPoint(v);maxDistance=maxDistance<dist?dist:maxDistance}if(maxDistance<0)return false}return true}}$9e13f7da58b2928b$exports.OBB=$9e13f7da58b2928b$var$OBB;var $aa7b3b269f245cbe$exports={};"use strict";Object.defineProperty($aa7b3b269f245cbe$exports,"__esModule",{value:true});$aa7b3b269f245cbe$exports.EllipsoidRegion=void 0;var $9160f8f2e0578e98$exports={};"use strict";Object.defineProperty($9160f8f2e0578e98$exports,"__esModule",{value:true});$9160f8f2e0578e98$exports.Ellipsoid=void 0;var $1hGdn=parcelRequire("1hGdn");const $9160f8f2e0578e98$var$_spherical=new $5OpyM$Spherical;const $9160f8f2e0578e98$var$_norm=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vec=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vec2=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vec3=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vecX=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vecY=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_vecZ=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$_pos=new $5OpyM$Vector3;const $9160f8f2e0578e98$var$EPSILON12=1e-12;const $9160f8f2e0578e98$var$CENTER_EPS=0.1;class $9160f8f2e0578e98$var$Ellipsoid{constructor(x=1,y=1,z=1){this.radius=new $5OpyM$Vector3(x,y,z)}constructLatLonFrame(lat,lon,target){this.getCartographicToPosition(lat,lon,0,$9160f8f2e0578e98$var$_pos);this.getCartographicToNormal(lat,lon,$9160f8f2e0578e98$var$_vecZ);this.getNorthernTangent(lat,lon,$9160f8f2e0578e98$var$_vecY);$9160f8f2e0578e98$var$_vecX.crossVectors($9160f8f2e0578e98$var$_vecY,$9160f8f2e0578e98$var$_vecZ);return target.makeBasis($9160f8f2e0578e98$var$_vecX,$9160f8f2e0578e98$var$_vecY,$9160f8f2e0578e98$var$_vecZ).setPosition($9160f8f2e0578e98$var$_pos)}getNorthernTangent(lat,lon,target,westTarget=$9160f8f2e0578e98$var$_vec3){let multiplier=1;let latPrime=lat+1e-7;if(lat>Math.PI/4){multiplier=-1;latPrime=lat-1e-7}const norm=this.getCartographicToNormal(lat,lon,$9160f8f2e0578e98$var$_vec).normalize();const normPrime=this.getCartographicToNormal(latPrime,lon,$9160f8f2e0578e98$var$_vec2).normalize();westTarget.crossVectors(norm,normPrime).normalize().multiplyScalar(multiplier);return target.crossVectors(westTarget,norm).normalize()}getCartographicToPosition(lat,lon,height,target){this.getCartographicToNormal(lat,lon,$9160f8f2e0578e98$var$_norm);const radius=this.radius;$9160f8f2e0578e98$var$_vec.copy($9160f8f2e0578e98$var$_norm);$9160f8f2e0578e98$var$_vec.x*=radius.x**2;$9160f8f2e0578e98$var$_vec.y*=radius.y**2;$9160f8f2e0578e98$var$_vec.z*=radius.z**2;const gamma=Math.sqrt($9160f8f2e0578e98$var$_norm.dot($9160f8f2e0578e98$var$_vec));$9160f8f2e0578e98$var$_vec.divideScalar(gamma);return target.copy($9160f8f2e0578e98$var$_vec).addScaledVector($9160f8f2e0578e98$var$_norm,height)}getPositionToCartographic(pos,target){this.getPositionToSurfacePoint(pos,$9160f8f2e0578e98$var$_vec);this.getPositionToNormal(pos,$9160f8f2e0578e98$var$_norm);const heightDelta=$9160f8f2e0578e98$var$_vec2.subVectors(pos,$9160f8f2e0578e98$var$_vec);target.lon=Math.atan2($9160f8f2e0578e98$var$_norm.y,$9160f8f2e0578e98$var$_norm.x);target.lat=Math.asin($9160f8f2e0578e98$var$_norm.z);target.height=Math.sign(heightDelta.dot(pos))*heightDelta.length();return target}getCartographicToNormal(lat,lon,target){$9160f8f2e0578e98$var$_spherical.set(1,(0,$1hGdn.latitudeToSphericalPhi)(lat),lon);target.setFromSpherical($9160f8f2e0578e98$var$_spherical).normalize();(0,$1hGdn.swapToGeoFrame)(target);return target}getPositionToNormal(pos,target){const radius=this.radius;target.copy(pos);target.x/=radius.x**2;target.y/=radius.y**2;target.z/=radius.z**2;target.normalize();return target}getPositionToSurfacePoint(pos,target){const radius=this.radius;const invRadiusSqX=1/radius.x**2;const invRadiusSqY=1/radius.y**2;const invRadiusSqZ=1/radius.z**2;const x2=pos.x*pos.x*invRadiusSqX;const y2=pos.y*pos.y*invRadiusSqY;const z2=pos.z*pos.z*invRadiusSqZ;const squaredNorm=x2+y2+z2;const ratio=Math.sqrt(1/squaredNorm);const intersection=$9160f8f2e0578e98$var$_vec.copy(pos).multiplyScalar(ratio);if(squaredNorm<$9160f8f2e0578e98$var$CENTER_EPS)return!isFinite(ratio)?null:target.copy(intersection);const gradient=$9160f8f2e0578e98$var$_vec2.set(intersection.x*invRadiusSqX*2,intersection.y*invRadiusSqY*2,intersection.z*invRadiusSqZ*2);let lambda=(1-ratio)*pos.length()/(0.5*gradient.length());let correction=0;let func,denominator;let xMultiplier,yMultiplier,zMultiplier;let xMultiplier2,yMultiplier2,zMultiplier2;let xMultiplier3,yMultiplier3,zMultiplier3;do{lambda-=correction;xMultiplier=1/(1+lambda*invRadiusSqX);yMultiplier=1/(1+lambda*invRadiusSqY);zMultiplier=1/(1+lambda*invRadiusSqZ);xMultiplier2=xMultiplier*xMultiplier;yMultiplier2=yMultiplier*yMultiplier;zMultiplier2=zMultiplier*zMultiplier;xMultiplier3=xMultiplier2*xMultiplier;yMultiplier3=yMultiplier2*yMultiplier;zMultiplier3=zMultiplier2*zMultiplier;func=x2*xMultiplier2+y2*yMultiplier2+z2*zMultiplier2-1;denominator=x2*xMultiplier3*invRadiusSqX+y2*yMultiplier3*invRadiusSqY+z2*zMultiplier3*invRadiusSqZ;const derivative=-2*denominator;correction=func/derivative}while(Math.abs(func)>$9160f8f2e0578e98$var$EPSILON12);return target.set(pos.x*xMultiplier,pos.y*yMultiplier,pos.z*zMultiplier)}}$9160f8f2e0578e98$exports.Ellipsoid=$9160f8f2e0578e98$var$Ellipsoid;const $aa7b3b269f245cbe$var$PI=Math.PI;const $aa7b3b269f245cbe$var$HALF_PI=$aa7b3b269f245cbe$var$PI/2;const $aa7b3b269f245cbe$var$_orthoX=new $5OpyM$Vector3;const $aa7b3b269f245cbe$var$_orthoY=new $5OpyM$Vector3;const $aa7b3b269f245cbe$var$_orthoZ=new $5OpyM$Vector3;const $aa7b3b269f245cbe$var$_invMatrix=new $5OpyM$Matrix4;let $aa7b3b269f245cbe$var$_poolIndex=0;const $aa7b3b269f245cbe$var$_pointsPool=[];function $aa7b3b269f245cbe$var$getVector(usePool=false){if(!usePool)return new $5OpyM$Vector3;if(!$aa7b3b269f245cbe$var$_pointsPool[$aa7b3b269f245cbe$var$_poolIndex])$aa7b3b269f245cbe$var$_pointsPool[$aa7b3b269f245cbe$var$_poolIndex]=new $5OpyM$Vector3;$aa7b3b269f245cbe$var$_poolIndex++;return $aa7b3b269f245cbe$var$_pointsPool[$aa7b3b269f245cbe$var$_poolIndex-1]}function $aa7b3b269f245cbe$var$resetPool(){$aa7b3b269f245cbe$var$_poolIndex=0}class $aa7b3b269f245cbe$var$EllipsoidRegion extends $9160f8f2e0578e98$exports.Ellipsoid{constructor(x,y,z,latStart=-$aa7b3b269f245cbe$var$HALF_PI,latEnd=$aa7b3b269f245cbe$var$HALF_PI,lonStart=0,lonEnd=2*$aa7b3b269f245cbe$var$PI,heightStart=0,heightEnd=0){super(x,y,z);this.latStart=latStart;this.latEnd=latEnd;this.lonStart=lonStart;this.lonEnd=lonEnd;this.heightStart=heightStart;this.heightEnd=heightEnd}_getPoints(usePool=false){const{latStart:latStart,latEnd:latEnd,lonStart:lonStart,lonEnd:lonEnd,heightStart:heightStart,heightEnd:heightEnd}=this;const midLat=$5OpyM$MathUtils.mapLinear(0.5,0,1,latStart,latEnd);const midLon=$5OpyM$MathUtils.mapLinear(0.5,0,1,lonStart,lonEnd);const lonOffset=Math.floor(lonStart/$aa7b3b269f245cbe$var$HALF_PI)*$aa7b3b269f245cbe$var$HALF_PI;const latlon=[[-$aa7b3b269f245cbe$var$PI/2,0],[$aa7b3b269f245cbe$var$PI/2,0],[0,lonOffset],[0,lonOffset+$aa7b3b269f245cbe$var$PI/2],[0,lonOffset+$aa7b3b269f245cbe$var$PI],[0,lonOffset+3*$aa7b3b269f245cbe$var$PI/2],[latStart,lonEnd],[latEnd,lonEnd],[latStart,lonStart],[latEnd,lonStart],[0,lonStart],[0,lonEnd],[midLat,midLon],[latStart,midLon],[latEnd,midLon],[midLat,lonStart],[midLat,lonEnd]];const target=[];const total=latlon.length;for(let z=0;z<=1;z++){const height=$5OpyM$MathUtils.mapLinear(z,0,1,heightStart,heightEnd);for(let i=0,l=total;i<l;i++){const[lat,lon]=latlon[i];if(lat>=latStart&&lat<=latEnd&&lon>=lonStart&&lon<=lonEnd){const v=$aa7b3b269f245cbe$var$getVector(usePool);target.push(v);this.getCartographicToPosition(lat,lon,height,v)}}}return target}getBoundingBox(box,matrix){$aa7b3b269f245cbe$var$resetPool();const{latStart:latStart,latEnd:latEnd,lonStart:lonStart,lonEnd:lonEnd}=this;const latRange=latEnd-latStart;if(latRange<$aa7b3b269f245cbe$var$PI/2){const midLat=$5OpyM$MathUtils.mapLinear(0.5,0,1,latStart,latEnd);const midLon=$5OpyM$MathUtils.mapLinear(0.5,0,1,lonStart,lonEnd);this.getCartographicToNormal(midLat,midLon,$aa7b3b269f245cbe$var$_orthoZ);$aa7b3b269f245cbe$var$_orthoY.set(0,0,1);$aa7b3b269f245cbe$var$_orthoX.crossVectors($aa7b3b269f245cbe$var$_orthoY,$aa7b3b269f245cbe$var$_orthoZ);$aa7b3b269f245cbe$var$_orthoY.crossVectors($aa7b3b269f245cbe$var$_orthoX,$aa7b3b269f245cbe$var$_orthoZ);matrix.makeBasis($aa7b3b269f245cbe$var$_orthoX,$aa7b3b269f245cbe$var$_orthoY,$aa7b3b269f245cbe$var$_orthoZ)}else{$aa7b3b269f245cbe$var$_orthoX.set(1,0,0);$aa7b3b269f245cbe$var$_orthoY.set(0,1,0);$aa7b3b269f245cbe$var$_orthoZ.set(0,0,1);matrix.makeBasis($aa7b3b269f245cbe$var$_orthoX,$aa7b3b269f245cbe$var$_orthoY,$aa7b3b269f245cbe$var$_orthoZ)}$aa7b3b269f245cbe$var$_invMatrix.copy(matrix).invert();const points=this._getPoints(true);for(let i=0,l=points.length;i<l;i++)points[i].applyMatrix4($aa7b3b269f245cbe$var$_invMatrix);box.makeEmpty();box.setFromPoints(points)}getBoundingSphere(sphere,center){$aa7b3b269f245cbe$var$resetPool();const points=this._getPoints(true);sphere.makeEmpty();sphere.setFromPoints(points,center)}}$aa7b3b269f245cbe$exports.EllipsoidRegion=$aa7b3b269f245cbe$var$EllipsoidRegion;const $163be4c04da1c269$var$_vecX=new $5OpyM$Vector3;const $163be4c04da1c269$var$_vecY=new $5OpyM$Vector3;const $163be4c04da1c269$var$_vecZ=new $5OpyM$Vector3;const $163be4c04da1c269$var$_vec=new $5OpyM$Vector3;const $163be4c04da1c269$var$_sphereVec=new $5OpyM$Vector3;const $163be4c04da1c269$var$_obbVec=new $5OpyM$Vector3;const $163be4c04da1c269$var$_ray=new $5OpyM$Ray;class $163be4c04da1c269$var$TileBoundingVolume{constructor(){this.sphere=null;this.obb=null;this.region=null;this.regionObb=null}intersectsRay(ray){const sphere=this.sphere;const obb=this.obb||this.regionObb;if(sphere&&!ray.intersectsSphere(sphere))return false;if(obb){$163be4c04da1c269$var$_ray.copy(ray).applyMatrix4(obb.inverseTransform);if(!$163be4c04da1c269$var$_ray.intersectsBox(obb.box))return false}return true}intersectRay(ray,target=null){const sphere=this.sphere;const obb=this.obb||this.regionObb;let sphereDistSq=-Infinity;let obbDistSq=-Infinity;if(sphere){if(ray.intersectSphere(sphere,$163be4c04da1c269$var$_sphereVec))sphereDistSq=sphere.containsPoint(ray.origin)?0:ray.origin.distanceToSquared($163be4c04da1c269$var$_sphereVec)}if(obb){$163be4c04da1c269$var$_ray.copy(ray).applyMatrix4(obb.inverseTransform);if($163be4c04da1c269$var$_ray.intersectBox(obb.box,$163be4c04da1c269$var$_obbVec))obbDistSq=obb.box.containsPoint($163be4c04da1c269$var$_ray.origin)?0:$163be4c04da1c269$var$_ray.origin.distanceToSquared($163be4c04da1c269$var$_obbVec)}const furthestDist=Math.max(sphereDistSq,obbDistSq);if(furthestDist===-Infinity)return null;ray.at(Math.sqrt(furthestDist),target);return target}distanceToPoint(point){const sphere=this.sphere;const obb=this.obb||this.regionObb;let sphereDistance=-Infinity;let obbDistance=-Infinity;if(sphere)sphereDistance=Math.max(sphere.distanceToPoint(point),0);if(obb){$163be4c04da1c269$var$_vec.copy(point).applyMatrix4(obb.inverseTransform);obbDistance=obb.box.distanceToPoint($163be4c04da1c269$var$_vec)}return sphereDistance>obbDistance?sphereDistance:obbDistance}intersectsFrustum(frustum){const obb=this.obb||this.regionObb;const sphere=this.sphere;if(sphere&&!frustum.intersectsSphere(sphere))return false;if(obb&&!obb.intersectsFrustum(frustum))return false;return Boolean(sphere||obb)}getOBB(targetBox,targetMatrix){const obb=this.obb||this.regionObb;if(obb){targetBox.copy(obb.box);targetMatrix.copy(obb.transform)}else{this.getAABB(targetBox);targetMatrix.identity()}}getAABB(target){if(this.sphere)this.sphere.getBoundingBox(target);else{const obb=this.obb||this.regionObb;target.copy(obb.box).applyMatrix4(obb.transform)}}getSphere(target){if(this.sphere)target.copy(this.sphere);else if(this.region)this.region.getBoundingSphere(target);else{const obb=this.obb||this.regionObb;obb.box.getBoundingSphere(target);target.applyMatrix4(obb.transform)}}setObbData(data,transform){const obb=new $9e13f7da58b2928b$exports.OBB;$163be4c04da1c269$var$_vecX.set(data[3],data[4],data[5]);$163be4c04da1c269$var$_vecY.set(data[6],data[7],data[8]);$163be4c04da1c269$var$_vecZ.set(data[9],data[10],data[11]);const scaleX=$163be4c04da1c269$var$_vecX.length();const scaleY=$163be4c04da1c269$var$_vecY.length();const scaleZ=$163be4c04da1c269$var$_vecZ.length();$163be4c04da1c269$var$_vecX.normalize();$163be4c04da1c269$var$_vecY.normalize();$163be4c04da1c269$var$_vecZ.normalize();if(scaleX===0)$163be4c04da1c269$var$_vecX.crossVectors($163be4c04da1c269$var$_vecY,$163be4c04da1c269$var$_vecZ);if(scaleY===0)$163be4c04da1c269$var$_vecY.crossVectors($163be4c04da1c269$var$_vecX,$163be4c04da1c269$var$_vecZ);if(scaleZ===0)$163be4c04da1c269$var$_vecZ.crossVectors($163be4c04da1c269$var$_vecX,$163be4c04da1c269$var$_vecY);obb.transform.set($163be4c04da1c269$var$_vecX.x,$163be4c04da1c269$var$_vecY.x,$163be4c04da1c269$var$_vecZ.x,data[0],$163be4c04da1c269$var$_vecX.y,$163be4c04da1c269$var$_vecY.y,$163be4c04da1c269$var$_vecZ.y,data[1],$163be4c04da1c269$var$_vecX.z,$163be4c04da1c269$var$_vecY.z,$163be4c04da1c269$var$_vecZ.z,data[2],0,0,0,1).premultiply(transform);obb.box.min.set(-scaleX,-scaleY,-scaleZ);obb.box.max.set(scaleX,scaleY,scaleZ);obb.update();this.obb=obb}setSphereData(x,y,z,radius,transform){const sphere=new $5OpyM$Sphere;sphere.center.set(x,y,z);sphere.radius=radius;sphere.applyMatrix4(transform);this.sphere=sphere}setRegionData(west,south,east,north,minHeight,maxHeight){const region=new $aa7b3b269f245cbe$exports.EllipsoidRegion($002d29a772485791$exports.WGS84_RADIUS,$002d29a772485791$exports.WGS84_RADIUS,$002d29a772485791$exports.WGS84_HEIGHT,south,north,west,east,minHeight,maxHeight);const obb=new $9e13f7da58b2928b$exports.OBB;region.getBoundingBox(obb.box,obb.transform);obb.update();this.region=region;this.regionObb=obb}}$163be4c04da1c269$exports.TileBoundingVolume=$163be4c04da1c269$var$TileBoundingVolume;const $06d26e8e9f5361d3$var$INITIAL_FRUSTUM_CULLED=Symbol("INITIAL_FRUSTUM_CULLED");const $06d26e8e9f5361d3$var$tempMat=new $5OpyM$Matrix4;const $06d26e8e9f5361d3$var$tempMat2=new $5OpyM$Matrix4;const $06d26e8e9f5361d3$var$tempVector=new $5OpyM$Vector3;const $06d26e8e9f5361d3$var$X_AXIS=new $5OpyM$Vector3(1,0,0);const $06d26e8e9f5361d3$var$Y_AXIS=new $5OpyM$Vector3(0,1,0);function $06d26e8e9f5361d3$var$updateFrustumCulled(object,toInitialValue){object.traverse(c=>{c.frustumCulled=c[$06d26e8e9f5361d3$var$INITIAL_FRUSTUM_CULLED]&&toInitialValue})}class $06d26e8e9f5361d3$var$TilesRenderer extends $5a6f7a997885dc30$exports.TilesRendererBase{get autoDisableRendererCulling(){return this._autoDisableRendererCulling}set autoDisableRendererCulling(value){if(this._autoDisableRendererCulling!==value){super._autoDisableRendererCulling=value;this.forEachLoadedModel(scene=>{$06d26e8e9f5361d3$var$updateFrustumCulled(scene,!value)})}}constructor(...args){super(...args);this.group=new $3fcce8a4f74b2abc$exports.TilesGroup(this);this.cameras=[];this.cameraMap=new Map;this.cameraInfo=[];this.activeTiles=new Set;this.visibleTiles=new Set;this._autoDisableRendererCulling=true;this.optimizeRaycast=true;this.onLoadTileSet=null;this.onLoadModel=null;this.onDisposeModel=null;this.onTileVisibilityChange=null;const manager=new $5OpyM$LoadingManager;manager.setURLModifier(url=>{if(this.preprocessURL)return this.preprocessURL(url);else return url});this.manager=manager;const tilesRenderer=this;this._overridenRaycast=function(raycaster,intersects){if(!tilesRenderer.optimizeRaycast)Object.getPrototypeOf(this).raycast.call(this,raycaster,intersects)}}getBounds(target){if(!this.root)return false;const boundingVolume=this.root.cached.boundingVolume;if(boundingVolume){boundingVolume.getAABB(target);return true}else return true}getOrientedBounds(targetBox,targetMatrix){if(!this.root)return false;const boundingVolume=this.root.cached.boundingVolume;if(boundingVolume){boundingVolume.getOBB(targetBox,targetMatrix);return true}else return true}getBoundingSphere(target){if(!this.root)return false;const boundingVolume=this.root.cached.boundingVolume;if(boundingVolume){boundingVolume.getSphere(target);return true}else return false}forEachLoadedModel(callback){this.traverse(tile=>{const scene=tile.cached.scene;if(scene)callback(scene,tile)})}raycast(raycaster,intersects){if(!this.root)return;if(raycaster.firstHitOnly){const hit=(0,$c1ac95a1e8efcc86$exports.raycastTraverseFirstHit)(this,this.root,raycaster);if(hit)intersects.push(hit)}else(0,$c1ac95a1e8efcc86$exports.raycastTraverse)(this,this.root,raycaster,intersects)}hasCamera(camera){return this.cameraMap.has(camera)}setCamera(camera){const cameras=this.cameras;const cameraMap=this.cameraMap;if(!cameraMap.has(camera)){cameraMap.set(camera,new $5OpyM$Vector2);cameras.push(camera);return true}return false}setResolution(camera,xOrVec,y){const cameraMap=this.cameraMap;if(!cameraMap.has(camera))return false;if(xOrVec instanceof $5OpyM$Vector2)cameraMap.get(camera).copy(xOrVec);else cameraMap.get(camera).set(xOrVec,y);return true}setResolutionFromRenderer(camera,renderer){const cameraMap=this.cameraMap;if(!cameraMap.has(camera))return false;const resolution=cameraMap.get(camera);renderer.getSize(resolution);resolution.multiplyScalar(renderer.getPixelRatio());return true}deleteCamera(camera){const cameras=this.cameras;const cameraMap=this.cameraMap;if(cameraMap.has(camera)){const index=cameras.indexOf(camera);cameras.splice(index,1);cameraMap.delete(camera);return true}return false}fetchTileSet(url,...rest){const pr=super.fetchTileSet(url,...rest);pr.then(json=>{if(this.onLoadTileSet)Promise.resolve().then(()=>{this.onLoadTileSet(json,url)})});return pr}update(){const group=this.group;const cameras=this.cameras;const cameraMap=this.cameraMap;const cameraInfo=this.cameraInfo;if(cameras.length===0){console.warn("TilesRenderer: no cameras defined. Cannot update 3d tiles.");return}while(cameraInfo.length>cameras.length)cameraInfo.pop();while(cameraInfo.length<cameras.length)cameraInfo.push({frustum:new $5OpyM$Frustum,isOrthographic:false,sseDenominator:-1,position:new $5OpyM$Vector3,invScale:-1,pixelSize:0});$06d26e8e9f5361d3$var$tempMat2.copy(group.matrixWorld).invert();$06d26e8e9f5361d3$var$tempVector.setFromMatrixScale($06d26e8e9f5361d3$var$tempMat2);const invScale=$06d26e8e9f5361d3$var$tempVector.x;if(Math.abs(Math.max($06d26e8e9f5361d3$var$tempVector.x-$06d26e8e9f5361d3$var$tempVector.y,$06d26e8e9f5361d3$var$tempVector.x-$06d26e8e9f5361d3$var$tempVector.z))>1e-6)console.warn("ThreeTilesRenderer : Non uniform scale used for tile which may cause issues when calculating screen space error.");for(let i=0,l=cameraInfo.length;i<l;i++){const camera=cameras[i];const info=cameraInfo[i];const frustum=info.frustum;const position=info.position;const resolution=cameraMap.get(camera);if(resolution.width===0||resolution.height===0)console.warn("TilesRenderer: resolution for camera error calculation is not set.");const projection=camera.projectionMatrix.elements;info.isOrthographic=projection[15]===1;if(info.isOrthographic){const w=2/projection[0];const h=2/projection[5];info.pixelSize=Math.max(h/resolution.height,w/resolution.width)}else info.sseDenominator=2/projection[5]/resolution.height;info.invScale=invScale;$06d26e8e9f5361d3$var$tempMat.copy(group.matrixWorld);$06d26e8e9f5361d3$var$tempMat.premultiply(camera.matrixWorldInverse);$06d26e8e9f5361d3$var$tempMat.premultiply(camera.projectionMatrix);frustum.setFromProjectionMatrix($06d26e8e9f5361d3$var$tempMat);position.set(0,0,0);position.applyMatrix4(camera.matrixWorld);position.applyMatrix4($06d26e8e9f5361d3$var$tempMat2)}super.update()}preprocessNode(tile,tileSetDir,parentTile=null){super.preprocessNode(tile,tileSetDir,parentTile);const transform=new $5OpyM$Matrix4;if(tile.transform){const transformArr=tile.transform;for(let i=0;i<16;i++)transform.elements[i]=transformArr[i]}else transform.identity();if(parentTile)transform.premultiply(parentTile.cached.transform);const transformInverse=new $5OpyM$Matrix4().copy(transform).invert();const boundingVolume=new $163be4c04da1c269$exports.TileBoundingVolume;if("sphere"in tile.boundingVolume)boundingVolume.setSphereData(...tile.boundingVolume.sphere,transform);if("box"in tile.boundingVolume)boundingVolume.setObbData(tile.boundingVolume.box,transform);if("region"in tile.boundingVolume)boundingVolume.setRegionData(...tile.boundingVolume.region);tile.cached={loadIndex:0,transform:transform,transformInverse:transformInverse,active:false,inFrustum:[],boundingVolume:boundingVolume,scene:null,geometry:null,material:null}}parseTile(buffer,tile,extension){tile._loadIndex=tile._loadIndex||0;tile._loadIndex++;const uri=tile.content.uri;const uriSplits=uri.split(/[\\\/]/g);uriSplits.pop();const workingPath=uriSplits.join("/");const fetchOptions=this.fetchOptions;const manager=this.manager;const loadIndex=tile._loadIndex;let promise=null;const upAxis=this.rootTileSet.asset&&this.rootTileSet.asset.gltfUpAxis||"y";const cached=tile.cached;const cachedTransform=cached.transform;const upAdjustment=new $5OpyM$Matrix4;switch(upAxis.toLowerCase()){case"x":upAdjustment.makeRotationAxis($06d26e8e9f5361d3$var$Y_AXIS,-Math.PI/2);break;case"y":upAdjustment.makeRotationAxis($06d26e8e9f5361d3$var$X_AXIS,Math.PI/2);break;case"z":upAdjustment.identity();break;}const fileType=((0,$9e3e194659cc5776$exports.readMagicBytes)(buffer)||extension).toLowerCase();switch(fileType){case"b3dm":{const loader=new $0aa3d1def57e98b1$exports.B3DMLoader(manager);loader.workingPath=workingPath;loader.fetchOptions=fetchOptions;loader.adjustmentTransform.copy(upAdjustment);promise=loader.parse(buffer);break}case"pnts":{const loader=new $1ddd6ca16eb224df$exports.PNTSLoader(manager);loader.workingPath=workingPath;loader.fetchOptions=fetchOptions;promise=loader.parse(buffer);break}case"i3dm":{const loader=new $0bc85483bdeca322$exports.I3DMLoader(manager);loader.workingPath=workingPath;loader.fetchOptions=fetchOptions;loader.adjustmentTransform.copy(upAdjustment);promise=loader.parse(buffer);break}case"cmpt":{const loader=new $54879e9a7dc345e0$exports.CMPTLoader(manager);loader.workingPath=workingPath;loader.fetchOptions=fetchOptions;loader.adjustmentTransform.copy(upAdjustment);promise=loader.parse(buffer).then(res=>res.scene);break}case"gltf":case"glb":const loader=new $29ced67d26e5c4e2$exports.GLTFExtensionLoader(manager);loader.workingPath=workingPath;loader.fetchOptions=fetchOptions;promise=loader.parse(buffer);break;default:console.warn(`TilesRenderer: Content type "${fileType}" not supported.`);promise=Promise.resolve(null);break;}return promise.then(result=>{let scene;let metadata;if(result.isObject3D){scene=result;metadata=null}else{scene=result.scene;metadata=result}if(tile._loadIndex!==loadIndex)return;scene.updateMatrix();if(fileType==="glb"||fileType==="gltf")scene.matrix.multiply(upAdjustment);scene.matrix.premultiply(cachedTransform);scene.matrix.decompose(scene.position,scene.quaternion,scene.scale);scene.traverse(c=>{c[$06d26e8e9f5361d3$var$INITIAL_FRUSTUM_CULLED]=c.frustumCulled});$06d26e8e9f5361d3$var$updateFrustumCulled(scene,!this.autoDisableRendererCulling);scene.traverse(c=>{c.raycast=this._overridenRaycast});const materials=[];const geometry=[];const textures=[];scene.traverse(c=>{if(c.geometry)geometry.push(c.geometry);if(c.material){const material=c.material;materials.push(c.material);for(const key in material){const value=material[key];if(value&&value.isTexture)textures.push(value)}}});cached.materials=materials;cached.geometry=geometry;cached.textures=textures;cached.scene=scene;cached.metadata=metadata;if(this.onLoadModel)this.onLoadModel(scene,tile)})}disposeTile(tile){const cached=tile.cached;if(cached.scene){const materials=cached.materials;const geometry=cached.geometry;const textures=cached.textures;const parent=cached.scene.parent;for(let i=0,l=geometry.length;i<l;i++)geometry[i].dispose();for(let i=0,l=materials.length;i<l;i++)materials[i].dispose();for(let i=0,l=textures.length;i<l;i++){const texture=textures[i];texture.dispose()}if(parent)parent.remove(cached.scene);if(this.onDisposeModel)this.onDisposeModel(cached.scene,tile);cached.scene=null;cached.materials=null;cached.textures=null;cached.geometry=null;cached.metadata=null}this.activeTiles.delete(tile);this.visibleTiles.delete(tile);tile._loadIndex++}setTileVisible(tile,visible){const scene=tile.cached.scene;const visibleTiles=this.visibleTiles;const group=this.group;if(visible){group.add(scene);visibleTiles.add(tile);scene.updateMatrixWorld(true)}else{group.remove(scene);visibleTiles.delete(tile)}if(this.onTileVisibilityChange)this.onTileVisibilityChange(scene,tile,visible)}setTileActive(tile,active){const activeTiles=this.activeTiles;if(active)activeTiles.add(tile);else activeTiles.delete(tile)}calculateError(tile){const cached=tile.cached;const inFrustum=cached.inFrustum;const cameras=this.cameras;const cameraInfo=this.cameraInfo;const boundingVolume=cached.boundingVolume;let maxError=-Infinity;let minDistance=Infinity;for(let i=0,l=cameras.length;i<l;i++){if(!inFrustum[i])continue;const info=cameraInfo[i];const invScale=info.invScale;let error;if(info.isOrthographic){const pixelSize=info.pixelSize;error=tile.geometricError/(pixelSize*invScale)}else{const distance=boundingVolume.distanceToPoint(info.position);const scaledDistance=distance*invScale;const sseDenominator=info.sseDenominator;error=tile.geometricError/(scaledDistance*sseDenominator);minDistance=Math.min(minDistance,scaledDistance)}maxError=Math.max(maxError,error)}tile.__distanceFromCamera=minDistance;tile.__error=maxError}tileInView(tile){const cached=tile.cached;const boundingVolume=cached.boundingVolume;const inFrustum=cached.inFrustum;const cameraInfo=this.cameraInfo;let inView=false;for(let i=0,l=cameraInfo.length;i<l;i++){const frustum=cameraInfo[i].frustum;if(boundingVolume.intersectsFrustum(frustum)){inView=true;inFrustum[i]=true}else inFrustum[i]=false}return inView}}$06d26e8e9f5361d3$exports.TilesRenderer=$06d26e8e9f5361d3$var$TilesRenderer;var $1cb839fa4db014d3$exports={};"use strict";Object.defineProperty($1cb839fa4db014d3$exports,"__esModule",{value:true});$1cb839fa4db014d3$exports.SphereHelper=void 0;const $1cb839fa4db014d3$var$_vector=new $5OpyM$Vector3;const $1cb839fa4db014d3$var$axes=["x","y","z"];class $1cb839fa4db014d3$var$SphereHelper extends $5OpyM$LineSegments{constructor(sphere,color=16776960,angleSteps=40){const geometry=new $5OpyM$BufferGeometry;const positions=[];for(let i=0;i<3;i++){const axis1=$1cb839fa4db014d3$var$axes[i];const axis2=$1cb839fa4db014d3$var$axes[(i+1)%3];$1cb839fa4db014d3$var$_vector.set(0,0,0);for(let a=0;a<angleSteps;a++){let angle;angle=2*Math.PI*a/(angleSteps-1);$1cb839fa4db014d3$var$_vector[axis1]=Math.sin(angle);$1cb839fa4db014d3$var$_vector[axis2]=Math.cos(angle);positions.push($1cb839fa4db014d3$var$_vector.x,$1cb839fa4db014d3$var$_vector.y,$1cb839fa4db014d3$var$_vector.z);angle=2*Math.PI*(a+1)/(angleSteps-1);$1cb839fa4db014d3$var$_vector[axis1]=Math.sin(angle);$1cb839fa4db014d3$var$_vector[axis2]=Math.cos(angle);positions.push($1cb839fa4db014d3$var$_vector.x,$1cb839fa4db014d3$var$_vector.y,$1cb839fa4db014d3$var$_vector.z)}}geometry.setAttribute("position",new $5OpyM$BufferAttribute(new Float32Array(positions),3));geometry.computeBoundingSphere();super(geometry,new $5OpyM$LineBasicMaterial({color:color,toneMapped:false}));this.sphere=sphere;this.type="SphereHelper"}updateMatrixWorld(force){const sphere=this.sphere;this.position.copy(sphere.center);this.scale.setScalar(sphere.radius);super.updateMatrixWorld(force)}}$1cb839fa4db014d3$exports.SphereHelper=$1cb839fa4db014d3$var$SphereHelper;var $3b9225051b507460$exports={};"use strict";Object.defineProperty($3b9225051b507460$exports,"__esModule",{value:true});$3b9225051b507460$exports.EllipsoidRegionLineHelper=$3b9225051b507460$exports.EllipsoidRegionHelper=void 0;const $3b9225051b507460$var$_norm=new $5OpyM$Vector3;const $3b9225051b507460$var$_norm2=new $5OpyM$Vector3;const $3b9225051b507460$var$_pos=new $5OpyM$Vector3;const $3b9225051b507460$var$_vec1=new $5OpyM$Vector3;const $3b9225051b507460$var$_vec2=new $5OpyM$Vector3;function $3b9225051b507460$var$toGroupGeometry(geometry){geometry=geometry.toNonIndexed();const{groups:groups}=geometry;const{position:position,normal:normal}=geometry.attributes;const newNorm=[];const newPos=[];for(const group of groups){const{start:start,count:count}=group;for(let i=start,l=start+count;i<l;i++){$3b9225051b507460$var$_vec1.fromBufferAttribute(position,i);$3b9225051b507460$var$_vec2.fromBufferAttribute(normal,i);newPos.push(...$3b9225051b507460$var$_vec1);newNorm.push(...$3b9225051b507460$var$_vec2)}}const newGeometry=new $5OpyM$BufferGeometry;newGeometry.setAttribute("position",new $5OpyM$BufferAttribute(new Float32Array(newPos),3));newGeometry.setAttribute("normal",new $5OpyM$BufferAttribute(new Float32Array(newNorm),3));return newGeometry}function $3b9225051b507460$var$getRegionGeometry(ellipsoidRegion){const{latStart=-Math.PI/2,latEnd=Math.PI/2,lonStart=0,lonEnd=2*Math.PI,heightStart=0,heightEnd=0}=ellipsoidRegion;const geometry=new $5OpyM$BoxGeometry(1,1,1,32,32);const{normal:normal,position:position}=geometry.attributes;const refPosition=position.clone();for(let i=0,l=position.count;i<l;i++){$3b9225051b507460$var$_pos.fromBufferAttribute(position,i);const lat=$5OpyM$MathUtils.mapLinear($3b9225051b507460$var$_pos.x,-0.5,0.5,latStart,latEnd);const lon=$5OpyM$MathUtils.mapLinear($3b9225051b507460$var$_pos.y,-0.5,0.5,lonStart,lonEnd);let height=heightStart;ellipsoidRegion.getCartographicToNormal(lat,lon,$3b9225051b507460$var$_norm);if($3b9225051b507460$var$_pos.z<0)height=heightEnd;ellipsoidRegion.getCartographicToPosition(lat,lon,height,$3b9225051b507460$var$_pos);position.setXYZ(i,...$3b9225051b507460$var$_pos)}geometry.computeVertexNormals();for(let i=0,l=refPosition.count;i<l;i++){$3b9225051b507460$var$_pos.fromBufferAttribute(refPosition,i);const lat=$5OpyM$MathUtils.mapLinear($3b9225051b507460$var$_pos.x,-0.5,0.5,latStart,latEnd);const lon=$5OpyM$MathUtils.mapLinear($3b9225051b507460$var$_pos.y,-0.5,0.5,lonStart,lonEnd);$3b9225051b507460$var$_norm.fromBufferAttribute(normal,i);ellipsoidRegion.getCartographicToNormal(lat,lon,$3b9225051b507460$var$_norm2);if(Math.abs($3b9225051b507460$var$_norm.dot($3b9225051b507460$var$_norm2))>0.1){if($3b9225051b507460$var$_pos.z>0)$3b9225051b507460$var$_norm2.multiplyScalar(-1);normal.setXYZ(i,...$3b9225051b507460$var$_norm2)}}return geometry}class $3b9225051b507460$var$EllipsoidRegionLineHelper extends $5OpyM$LineSegments{constructor(ellipsoidRegion=new $aa7b3b269f245cbe$exports.EllipsoidRegion,color=16776960){super();this.ellipsoidRegion=ellipsoidRegion;this.material.color.set(color);this.update()}update(){const geometry=$3b9225051b507460$var$getRegionGeometry(this.ellipsoidRegion);this.geometry.dispose();this.geometry=new $5OpyM$EdgesGeometry(geometry,80)}dispose(){this.geometry.dispose();this.material.dispose()}}$3b9225051b507460$exports.EllipsoidRegionLineHelper=$3b9225051b507460$var$EllipsoidRegionLineHelper;class $3b9225051b507460$var$EllipsoidRegionHelper extends $5OpyM$Mesh{constructor(ellipsoidRegion=new $aa7b3b269f245cbe$exports.EllipsoidRegion,color=16776960){super();this.ellipsoidRegion=ellipsoidRegion;this.material.color.set(color);this.update()}update(){this.geometry.dispose();const geometry=$3b9225051b507460$var$getRegionGeometry(this.ellipsoidRegion);const{lonStart:lonStart,lonEnd:lonEnd}=this;if(lonEnd-lonStart>=2*Math.PI){geometry.groups.splice(2,2);this.geometry=$3b9225051b507460$var$toGroupGeometry(geometry)}else this.geometry=geometry}dispose(){this.geometry.dispose();this.material.dispose()}}$3b9225051b507460$exports.EllipsoidRegionHelper=$3b9225051b507460$var$EllipsoidRegionHelper;const $1909f04f34bd6630$var$ORIGINAL_MATERIAL=Symbol("ORIGINAL_MATERIAL");const $1909f04f34bd6630$var$HAS_RANDOM_COLOR=Symbol("HAS_RANDOM_COLOR");const $1909f04f34bd6630$var$HAS_RANDOM_NODE_COLOR=Symbol("HAS_RANDOM_NODE_COLOR");function $1909f04f34bd6630$var$emptyRaycast(){}const $1909f04f34bd6630$var$NONE=0;$1909f04f34bd6630$exports.NONE=$1909f04f34bd6630$var$NONE;const $1909f04f34bd6630$var$SCREEN_ERROR=1;$1909f04f34bd6630$exports.SCREEN_ERROR=$1909f04f34bd6630$var$SCREEN_ERROR;const $1909f04f34bd6630$var$GEOMETRIC_ERROR=2;$1909f04f34bd6630$exports.GEOMETRIC_ERROR=$1909f04f34bd6630$var$GEOMETRIC_ERROR;const $1909f04f34bd6630$var$DISTANCE=3;$1909f04f34bd6630$exports.DISTANCE=$1909f04f34bd6630$var$DISTANCE;const $1909f04f34bd6630$var$DEPTH=4;$1909f04f34bd6630$exports.DEPTH=$1909f04f34bd6630$var$DEPTH;const $1909f04f34bd6630$var$RELATIVE_DEPTH=5;$1909f04f34bd6630$exports.RELATIVE_DEPTH=$1909f04f34bd6630$var$RELATIVE_DEPTH;const $1909f04f34bd6630$var$IS_LEAF=6;$1909f04f34bd6630$exports.IS_LEAF=$1909f04f34bd6630$var$IS_LEAF;const $1909f04f34bd6630$var$RANDOM_COLOR=7;$1909f04f34bd6630$exports.RANDOM_COLOR=$1909f04f34bd6630$var$RANDOM_COLOR;const $1909f04f34bd6630$var$RANDOM_NODE_COLOR=8;$1909f04f34bd6630$exports.RANDOM_NODE_COLOR=$1909f04f34bd6630$var$RANDOM_NODE_COLOR;const $1909f04f34bd6630$var$CUSTOM_COLOR=9;$1909f04f34bd6630$exports.CUSTOM_COLOR=$1909f04f34bd6630$var$CUSTOM_COLOR;const $1909f04f34bd6630$var$_sphere=new $5OpyM$Sphere;class $1909f04f34bd6630$var$DebugTilesRenderer extends $06d26e8e9f5361d3$exports.TilesRenderer{constructor(...args){super(...args);const tilesGroup=this.group;const boxGroup=new $5OpyM$Group;boxGroup.name="DebugTilesRenderer.boxGroup";tilesGroup.add(boxGroup);const sphereGroup=new $5OpyM$Group;sphereGroup.name="DebugTilesRenderer.sphereGroup";tilesGroup.add(sphereGroup);const regionGroup=new $5OpyM$Group;regionGroup.name="DebugTilesRenderer.regionGroup";tilesGroup.add(regionGroup);this.displayBoxBounds=false;this.displaySphereBounds=false;this.displayRegionBounds=false;this.colorMode=$1909f04f34bd6630$var$NONE;this.customColorCallback=null;this.boxGroup=boxGroup;this.sphereGroup=sphereGroup;this.regionGroup=regionGroup;this.maxDebugDepth=-1;this.maxDebugDistance=-1;this.maxDebugError=-1;this.getDebugColor=(value,target)=>{target.setRGB(value,value,value)};this.extremeDebugDepth=-1;this.extremeDebugError=-1}initExtremes(){let maxDepth=-1;this.traverse(tile=>{maxDepth=Math.max(maxDepth,tile.__depth)});let maxError=-1;this.traverse(tile=>{maxError=Math.max(maxError,tile.geometricError)});this.extremeDebugDepth=maxDepth;this.extremeDebugError=maxError}fetchTileSet(...args){const pr=super.fetchTileSet(...args);pr.then(()=>{Promise.resolve().then(()=>{this.initExtremes()})}).catch(()=>{});return pr}getTileInformationFromActiveObject(object){let targetTile=null;const activeTiles=this.activeTiles;activeTiles.forEach(tile=>{if(targetTile)return true;const scene=tile.cached.scene;if(scene)scene.traverse(c=>{if(c===object)targetTile=tile})});if(targetTile)return{distanceToCamera:targetTile.__distanceFromCamera,geometricError:targetTile.geometricError,screenSpaceError:targetTile.__error,depth:targetTile.__depth,isLeaf:targetTile.__isLeaf};else return null}update(){super.update();if(!this.root)return;this.boxGroup.visible=this.displayBoxBounds;this.sphereGroup.visible=this.displaySphereBounds;this.regionGroup.visible=this.displayRegionBounds;let maxDepth=-1;if(this.maxDebugDepth===-1)maxDepth=this.extremeDebugDepth;else maxDepth=this.maxDebugDepth;let maxError=-1;if(this.maxDebugError===-1)maxError=this.extremeDebugError;else maxError=this.maxDebugError;let maxDistance=-1;if(this.maxDebugDistance===-1){this.root.cached.boundingVolume.getSphere($1909f04f34bd6630$var$_sphere);maxDistance=$1909f04f34bd6630$var$_sphere.radius}else maxDistance=this.maxDebugDistance;const errorTarget=this.errorTarget;const colorMode=this.colorMode;const visibleTiles=this.visibleTiles;visibleTiles.forEach(tile=>{const scene=tile.cached.scene;let h,s,l;if(colorMode===$1909f04f34bd6630$var$RANDOM_COLOR){h=Math.random();s=0.5+Math.random()*0.5;l=0.375+Math.random()*0.25}scene.traverse(c=>{if(colorMode===$1909f04f34bd6630$var$RANDOM_NODE_COLOR){h=Math.random();s=0.5+Math.random()*0.5;l=0.375+Math.random()*0.25}const currMaterial=c.material;if(currMaterial){const originalMaterial=c[$1909f04f34bd6630$var$ORIGINAL_MATERIAL];if(colorMode===$1909f04f34bd6630$var$NONE&&currMaterial!==originalMaterial){c.material.dispose();c.material=c[$1909f04f34bd6630$var$ORIGINAL_MATERIAL]}else if(colorMode!==$1909f04f34bd6630$var$NONE&&currMaterial===originalMaterial){if(c.isPoints){const pointsMaterial=new $5OpyM$PointsMaterial;pointsMaterial.size=originalMaterial.size;pointsMaterial.sizeAttenuation=originalMaterial.sizeAttenuation;c.material=pointsMaterial}else{c.material=new $5OpyM$MeshStandardMaterial;c.material.flatShading=true}}if(colorMode!==$1909f04f34bd6630$var$RANDOM_COLOR)delete c.material[$1909f04f34bd6630$var$HAS_RANDOM_COLOR];if(colorMode!==$1909f04f34bd6630$var$RANDOM_NODE_COLOR)delete c.material[$1909f04f34bd6630$var$HAS_RANDOM_NODE_COLOR];switch(colorMode){case $1909f04f34bd6630$var$DEPTH:{const val=tile.__depth/maxDepth;this.getDebugColor(val,c.material.color);break}case $1909f04f34bd6630$var$RELATIVE_DEPTH:{const val=tile.__depthFromRenderedParent/maxDepth;this.getDebugColor(val,c.material.color);break}case $1909f04f34bd6630$var$SCREEN_ERROR:{const val=tile.__error/errorTarget;if(val>1)c.material.color.setRGB(1,0,0);else this.getDebugColor(val,c.material.color);break}case $1909f04f34bd6630$var$GEOMETRIC_ERROR:{const val=Math.min(tile.geometricError/maxError,1);this.getDebugColor(val,c.material.color);break}case $1909f04f34bd6630$var$DISTANCE:{const val=Math.min(tile.__distanceFromCamera/maxDistance,1);this.getDebugColor(val,c.material.color);break}case $1909f04f34bd6630$var$IS_LEAF:if(!tile.children||tile.children.length===0)this.getDebugColor(1,c.material.color);else this.getDebugColor(0,c.material.color);break;case $1909f04f34bd6630$var$RANDOM_NODE_COLOR:if(!c.material[$1909f04f34bd6630$var$HAS_RANDOM_NODE_COLOR]){c.material.color.setHSL(h,s,l);c.material[$1909f04f34bd6630$var$HAS_RANDOM_NODE_COLOR]=true}break;case $1909f04f34bd6630$var$RANDOM_COLOR:if(!c.material[$1909f04f34bd6630$var$HAS_RANDOM_COLOR]){c.material.color.setHSL(h,s,l);c.material[$1909f04f34bd6630$var$HAS_RANDOM_COLOR]=true}break;case $1909f04f34bd6630$var$CUSTOM_COLOR:if(this.customColorCallback)this.customColorCallback(tile,c);else console.warn("DebugTilesRenderer: customColorCallback not defined");break;}}})})}setTileVisible(tile,visible){super.setTileVisible(tile,visible);const cached=tile.cached;const sphereGroup=this.sphereGroup;const boxGroup=this.boxGroup;const regionGroup=this.regionGroup;const boxHelperGroup=cached.boxHelperGroup;const sphereHelper=cached.sphereHelper;const regionHelper=cached.regionHelper;if(!visible){if(boxHelperGroup)boxGroup.remove(boxHelperGroup);if(sphereHelper)sphereGroup.remove(sphereHelper);if(regionHelper)regionGroup.remove(regionHelper)}else{if(boxHelperGroup){boxGroup.add(boxHelperGroup);boxHelperGroup.updateMatrixWorld(true)}if(sphereHelper){sphereGroup.add(sphereHelper);sphereHelper.updateMatrixWorld(true)}if(regionHelper){regionGroup.add(regionHelper);regionHelper.updateMatrixWorld(true)}}}parseTile(buffer,tile,extension){return super.parseTile(buffer,tile,extension).then(()=>{const cached=tile.cached;const scene=cached.scene;if(scene){const{sphere:sphere,obb:obb,region:region}=cached.boundingVolume;if(obb){const boxHelperGroup=new $5OpyM$Group;boxHelperGroup.name="DebugTilesRenderer.boxHelperGroup";boxHelperGroup.matrix.copy(obb.transform);boxHelperGroup.matrixAutoUpdate=false;const boxHelper=new $5OpyM$Box3Helper(obb.box,(0,$3a66585ec6f85053$exports.getIndexedRandomColor)(tile.__depth));boxHelper.raycast=$1909f04f34bd6630$var$emptyRaycast;boxHelperGroup.add(boxHelper);cached.boxHelperGroup=boxHelperGroup;if(this.visibleTiles.has(tile)&&this.displayBoxBounds){this.boxGroup.add(boxHelperGroup);boxHelperGroup.updateMatrixWorld(true)}}if(sphere){const sphereHelper=new $1cb839fa4db014d3$exports.SphereHelper(sphere,(0,$3a66585ec6f85053$exports.getIndexedRandomColor)(tile.__depth));sphereHelper.raycast=$1909f04f34bd6630$var$emptyRaycast;cached.sphereHelper=sphereHelper;if(this.visibleTiles.has(tile)&&this.displaySphereBounds){this.sphereGroup.add(sphereHelper);sphereHelper.updateMatrixWorld(true)}}if(region){const regionHelper=new $3b9225051b507460$exports.EllipsoidRegionLineHelper(region,(0,$3a66585ec6f85053$exports.getIndexedRandomColor)(tile.__depth));regionHelper.raycast=$1909f04f34bd6630$var$emptyRaycast;const sphere=new $5OpyM$Sphere;region.getBoundingSphere(sphere);regionHelper.position.copy(sphere.center);sphere.center.multiplyScalar(-1);regionHelper.geometry.translate(...sphere.center);cached.regionHelper=regionHelper;if(this.visibleTiles.has(tile)&&this.displayRegionBounds){this.regionGroup.add(regionHelper);regionHelper.updateMatrixWorld(true)}}scene.traverse(c=>{const material=c.material;if(material)c[$1909f04f34bd6630$var$ORIGINAL_MATERIAL]=material})}})}disposeTile(tile){super.disposeTile(tile);const cached=tile.cached;if(cached.boxHelperGroup){cached.boxHelperGroup.children[0].geometry.dispose();delete cached.boxHelperGroup}if(cached.sphereHelper){cached.sphereHelper.geometry.dispose();delete cached.sphereHelper}}}$1909f04f34bd6630$exports.DebugTilesRenderer=$1909f04f34bd6630$var$DebugTilesRenderer;var $cf838c15c8b009ba$var$_GeoUtils=$cf838c15c8b009ba$var$_interopRequireWildcard(parcelRequire("1hGdn"));$cf838c15c8b009ba$exports.GeoUtils=$cf838c15c8b009ba$var$_GeoUtils;var $74a95d3099be71d6$exports={};"use strict";Object.defineProperty($74a95d3099be71d6$exports,"__esModule",{value:true});$74a95d3099be71d6$exports.WGS84_ELLIPSOID=void 0;const $74a95d3099be71d6$var$WGS84_ELLIPSOID=new $9160f8f2e0578e98$exports.Ellipsoid($002d29a772485791$exports.WGS84_RADIUS,$002d29a772485791$exports.WGS84_RADIUS,$002d29a772485791$exports.WGS84_HEIGHT);$74a95d3099be71d6$exports.WGS84_ELLIPSOID=$74a95d3099be71d6$var$WGS84_ELLIPSOID;Object.keys($74a95d3099be71d6$exports).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call($cf838c15c8b009ba$var$_exportNames,key))return;if(key in $cf838c15c8b009ba$exports&&$cf838c15c8b009ba$exports[key]===$74a95d3099be71d6$exports[key])return;Object.defineProperty($cf838c15c8b009ba$exports,key,{enumerable:true,get:function(){return $74a95d3099be71d6$exports[key]}})});var $e41589f0d6e8ce27$exports={};"use strict";Object.defineProperty($e41589f0d6e8ce27$exports,"__esModule",{value:true});$e41589f0d6e8ce27$exports.GoogleTilesRenderer=$e41589f0d6e8ce27$exports.DebugGoogleTilesRenderer=void 0;var $f462b5e10a0d334c$exports={};"use strict";Object.defineProperty($f462b5e10a0d334c$exports,"__esModule",{value:true});$f462b5e10a0d334c$exports.GoogleMapsTilesCredits=void 0;class $f462b5e10a0d334c$var$GoogleMapsTilesCredits{constructor(){this.creditsCount={}}_adjustCredits(line,add){const creditsCount=this.creditsCount;const tokens=line.split(/;/g);for(let i=0,l=tokens.length;i<l;i++){const t=tokens[i];if(!(t in creditsCount))creditsCount[t]=0;creditsCount[t]+=add?1:-1;if(creditsCount[t]<=0)delete creditsCount[t]}}addCredits(line){this._adjustCredits(line,true)}removeCredits(line){this._adjustCredits(line,false)}toString(){const tokens=Object.keys(this.creditsCount).sort();return tokens.join(", ")}}$f462b5e10a0d334c$exports.GoogleMapsTilesCredits=$f462b5e10a0d334c$var$GoogleMapsTilesCredits;const $e41589f0d6e8ce27$var$API_ORIGIN="https://tile.googleapis.com";const $e41589f0d6e8ce27$var$TILE_URL=`${$e41589f0d6e8ce27$var$API_ORIGIN}/v1/3dtiles/root.json`;const $e41589f0d6e8ce27$var$_mat=new $5OpyM$Matrix4;const $e41589f0d6e8ce27$var$_euler=new $5OpyM$Euler;const $e41589f0d6e8ce27$var$GoogleTilesRendererMixin=base=>class extends base{get ellipsoid(){return $74a95d3099be71d6$exports.WGS84_ELLIPSOID}constructor(apiKey,baseUrl=$e41589f0d6e8ce27$var$TILE_URL){super(new URL(`${baseUrl}?key=${apiKey}`).toString());this._credits=new $f462b5e10a0d334c$exports.GoogleMapsTilesCredits;this.fetchOptions.mode="cors";this.parseQueue.maxJobs=10;this.downloadQueue.maxJobs=30;this.lruCache.minSize=3000;this.lruCache.maxSize=5000;this.errorTarget=20;this.onLoadTileSet=tileset=>{let session;this.traverse(tile=>{if(tile.content&&tile.content.uri){session=new URL(tile.content.uri).searchParams.get("session");return true}return false});this.preprocessURL=uri=>{uri=new URL(uri);if(/^http/.test(uri.protocol)){uri.searchParams.append("session",session);uri.searchParams.append("key",apiKey)}return uri.toString()};this.onLoadTileSet=null};this.onTileVisibilityChange=(scene,tile,visible)=>{const copyright=tile.cached.metadata.asset.copyright||"";if(visible)this._credits.addCredits(copyright);else this._credits.removeCredits(copyright)}}getCreditsString(){return this._credits.toString()}setLatLonToYUp(lat,lon){const{ellipsoid:ellipsoid,group:group}=this;$e41589f0d6e8ce27$var$_euler.set(Math.PI/2,Math.PI/2,0);$e41589f0d6e8ce27$var$_mat.makeRotationFromEuler($e41589f0d6e8ce27$var$_euler);ellipsoid.constructLatLonFrame(lat,lon,group.matrix).multiply($e41589f0d6e8ce27$var$_mat).invert().decompose(group.position,group.quaternion,group.scale)}};const $e41589f0d6e8ce27$var$GoogleTilesRenderer=$e41589f0d6e8ce27$var$GoogleTilesRendererMixin($06d26e8e9f5361d3$exports.TilesRenderer);$e41589f0d6e8ce27$exports.GoogleTilesRenderer=$e41589f0d6e8ce27$var$GoogleTilesRenderer;const $e41589f0d6e8ce27$var$DebugGoogleTilesRenderer=$e41589f0d6e8ce27$var$GoogleTilesRendererMixin($1909f04f34bd6630$exports.DebugTilesRenderer);$e41589f0d6e8ce27$exports.DebugGoogleTilesRenderer=$e41589f0d6e8ce27$var$DebugGoogleTilesRenderer;Object.keys($e41589f0d6e8ce27$exports).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call($cf838c15c8b009ba$var$_exportNames,key))return;if(key in $cf838c15c8b009ba$exports&&$cf838c15c8b009ba$exports[key]===$e41589f0d6e8ce27$exports[key])return;Object.defineProperty($cf838c15c8b009ba$exports,key,{enumerable:true,get:function(){return $e41589f0d6e8ce27$exports[key]}})});var $3b72713b91ab2ada$exports={};"use strict";Object.defineProperty($3b72713b91ab2ada$exports,"__esModule",{value:true});$3b72713b91ab2ada$exports.DebugCesiumIonTilesRenderer=$3b72713b91ab2ada$exports.CesiumIonTilesRenderer=void 0;const $3b72713b91ab2ada$var$UNLOADED=0;const $3b72713b91ab2ada$var$LOADING=1;const $3b72713b91ab2ada$var$LOADED=2;const $3b72713b91ab2ada$var$FAILED=3;const $3b72713b91ab2ada$var$CesiumIonTilesRendererMixin=base=>class extends base{constructor(ionAssetId,ionAccessToken){super();this._tokenState=$3b72713b91ab2ada$var$UNLOADED;this._ionAccessToken=ionAccessToken;this._ionAssetId=ionAssetId;this._tileSetVersion=-1;this.preprocessURL=uri=>{uri=new URL(uri);if(/^http/.test(uri.protocol)&&this._tileSetVersion!=-1)uri.searchParams.append("v",this._tileSetVersion);return uri.toString()}}update(){const state=this._tokenState;if(state===$3b72713b91ab2ada$var$UNLOADED){this._tokenState=$3b72713b91ab2ada$var$LOADING;const url=new URL(`https://api.cesium.com/v1/assets/${this._ionAssetId}/endpoint`);url.searchParams.append("access_token",this._ionAccessToken);fetch(url,{mode:"cors"}).then(res=>{if(res.ok)return res.json();else return Promise.reject(`${res.status} : ${res.statusText}`)}).then(json=>{this._tokenState=$3b72713b91ab2ada$var$LOADED;const url=new URL(json.url);this._tileSetVersion=url.searchParams.get("v");this.rootURL=url;this.fetchOptions.headers=this.fetchOptions.headers||{};this.fetchOptions.headers.Authorization=`Bearer ${json.accessToken}`}).catch(()=>{this._tokenState=$3b72713b91ab2ada$var$FAILED})}else if(state===$3b72713b91ab2ada$var$LOADED)super.update()}};const $3b72713b91ab2ada$var$CesiumIonTilesRenderer=$3b72713b91ab2ada$var$CesiumIonTilesRendererMixin($06d26e8e9f5361d3$exports.TilesRenderer);$3b72713b91ab2ada$exports.CesiumIonTilesRenderer=$3b72713b91ab2ada$var$CesiumIonTilesRenderer;const $3b72713b91ab2ada$var$DebugCesiumIonTilesRenderer=$3b72713b91ab2ada$var$CesiumIonTilesRendererMixin($1909f04f34bd6630$exports.DebugTilesRenderer);$3b72713b91ab2ada$exports.DebugCesiumIonTilesRenderer=$3b72713b91ab2ada$var$DebugCesiumIonTilesRenderer;Object.keys($3b72713b91ab2ada$exports).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call($cf838c15c8b009ba$var$_exportNames,key))return;if(key in $cf838c15c8b009ba$exports&&$cf838c15c8b009ba$exports[key]===$3b72713b91ab2ada$exports[key])return;Object.defineProperty($cf838c15c8b009ba$exports,key,{enumerable:true,get:function(){return $3b72713b91ab2ada$exports[key]}})});Object.keys($002d29a772485791$exports).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call($cf838c15c8b009ba$var$_exportNames,key))return;if(key in $cf838c15c8b009ba$exports&&$cf838c15c8b009ba$exports[key]===$002d29a772485791$exports[key])return;Object.defineProperty($cf838c15c8b009ba$exports,key,{enumerable:true,get:function(){return $002d29a772485791$exports[key]}})});function $cf838c15c8b009ba$var$_getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return($cf838c15c8b009ba$var$_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function $cf838c15c8b009ba$var$_interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(obj===null||typeof obj!=="object"&&typeof obj!=="function")return{default:obj};var cache=$cf838c15c8b009ba$var$_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set))Object.defineProperty(newObj,key,desc);else newObj[key]=obj[key]}newObj.default=obj;if(cache)cache.set(obj,newObj);return newObj}THREE.TDTiles=$cf838c15c8b009ba$exports});(function(){const Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:0.05,AxisTouchThreshold:0.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};async function fetchJsonFile(path){const response=await fetch(path);if(!response.ok){throw new Error(response.statusText)}else{return response.json()}}async function fetchProfilesList(basePath){if(!basePath){throw new Error("No basePath supplied")}const profileListFileName="profilesList.json";const profilesList=await fetchJsonFile(`${basePath}/${profileListFileName}`);return profilesList}async function fetchProfile(xrInputSource,basePath,defaultProfile=null,getAssetPath=true){if(!xrInputSource){throw new Error("No xrInputSource supplied")}if(!basePath){throw new Error("No basePath supplied")}const supportedProfilesList=await fetchProfilesList(basePath);let match;xrInputSource.profiles.some(profileId=>{const supportedProfile=supportedProfilesList[profileId];if(supportedProfile){match={profileId,profilePath:`${basePath}/${supportedProfile.path}`,deprecated:!!supportedProfile.deprecated}}return!!match});if(!match){if(!defaultProfile){throw new Error("No matching profile name found")}const supportedProfile=supportedProfilesList[defaultProfile];if(!supportedProfile){throw new Error(`No matching profile name found and default profile "${defaultProfile}" missing.`)}match={profileId:defaultProfile,profilePath:`${basePath}/${supportedProfile.path}`,deprecated:!!supportedProfile.deprecated}}const profile=await fetchJsonFile(match.profilePath);let assetPath;if(getAssetPath){let layout;if(xrInputSource.handedness==="any"){layout=profile.layouts[Object.keys(profile.layouts)[0]]}else{layout=profile.layouts[xrInputSource.handedness]}if(!layout){throw new Error(`No matching handedness, ${xrInputSource.handedness}, in profile ${match.profileId}`)}if(layout.assetPath){assetPath=match.profilePath.replace("profile.json",layout.assetPath)}}return{profile,assetPath}}const defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(x=0,y=0){let xAxis=x;let yAxis=y;const hypotenuse=Math.sqrt(x*x+y*y);if(hypotenuse>1){const theta=Math.atan2(y,x);xAxis=Math.cos(theta);yAxis=Math.sin(theta)}const result={normalizedXAxis:xAxis*0.5+0.5,normalizedYAxis:yAxis*0.5+0.5};return result}class VisualResponse{constructor(visualResponseDescription){this.componentProperty=visualResponseDescription.componentProperty;this.states=visualResponseDescription.states;this.valueNodeName=visualResponseDescription.valueNodeName;this.valueNodeProperty=visualResponseDescription.valueNodeProperty;if(this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM){this.minNodeName=visualResponseDescription.minNodeName;this.maxNodeName=visualResponseDescription.maxNodeName}this.value=0;this.updateFromComponent(defaultComponentValues)}updateFromComponent({xAxis,yAxis,button,state}){const{normalizedXAxis,normalizedYAxis}=normalizeAxes(xAxis,yAxis);switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(state)?normalizedXAxis:0.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(state)?normalizedYAxis:0.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(state)?button:0;break;case Constants.ComponentProperty.STATE:if(this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY){this.value=this.states.includes(state)}else{this.value=this.states.includes(state)?1:0}break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`);}}}class Component{constructor(componentId,componentDescription){if(!componentId||!componentDescription||!componentDescription.visualResponses||!componentDescription.gamepadIndices||Object.keys(componentDescription.gamepadIndices).length===0){throw new Error("Invalid arguments supplied")}this.id=componentId;this.type=componentDescription.type;this.rootNodeName=componentDescription.rootNodeName;this.touchPointNodeName=componentDescription.touchPointNodeName;this.visualResponses={};Object.keys(componentDescription.visualResponses).forEach(responseName=>{const visualResponse=new VisualResponse(componentDescription.visualResponses[responseName]);this.visualResponses[responseName]=visualResponse});this.gamepadIndices=Object.assign({},componentDescription.gamepadIndices);this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==undefined?0:undefined,xAxis:this.gamepadIndices.xAxis!==undefined?0:undefined,yAxis:this.gamepadIndices.yAxis!==undefined?0:undefined}}get data(){const data={id:this.id,...this.values};return data}updateFromGamepad(gamepad){this.values.state=Constants.ComponentState.DEFAULT;if(this.gamepadIndices.button!==undefined&&gamepad.buttons.length>this.gamepadIndices.button){const gamepadButton=gamepad.buttons[this.gamepadIndices.button];this.values.button=gamepadButton.value;this.values.button=this.values.button<0?0:this.values.button;this.values.button=this.values.button>1?1:this.values.button;if(gamepadButton.pressed||this.values.button===1){this.values.state=Constants.ComponentState.PRESSED}else if(gamepadButton.touched||this.values.button>Constants.ButtonTouchThreshold){this.values.state=Constants.ComponentState.TOUCHED}}if(this.gamepadIndices.xAxis!==undefined&&gamepad.axes.length>this.gamepadIndices.xAxis){this.values.xAxis=gamepad.axes[this.gamepadIndices.xAxis];this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis;this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis;if(this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold){this.values.state=Constants.ComponentState.TOUCHED}}if(this.gamepadIndices.yAxis!==undefined&&gamepad.axes.length>this.gamepadIndices.yAxis){this.values.yAxis=gamepad.axes[this.gamepadIndices.yAxis];this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis;this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis;if(this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold){this.values.state=Constants.ComponentState.TOUCHED}}Object.values(this.visualResponses).forEach(visualResponse=>{visualResponse.updateFromComponent(this.values)})}}class MotionController{constructor(xrInputSource,profile,assetUrl){if(!xrInputSource){throw new Error("No xrInputSource supplied")}if(!profile){throw new Error("No profile supplied")}this.xrInputSource=xrInputSource;this.assetUrl=assetUrl;this.id=profile.profileId;this.layoutDescription=profile.layouts[xrInputSource.handedness];this.components={};Object.keys(this.layoutDescription.components).forEach(componentId=>{const componentDescription=this.layoutDescription.components[componentId];this.components[componentId]=new Component(componentId,componentDescription)});this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const data=[];Object.values(this.components).forEach(component=>{data.push(component.data)});return data}updateFromGamepad(){Object.values(this.components).forEach(component=>{component.updateFromGamepad(this.xrInputSource.gamepad)})}}THREE.MontionControllers={};THREE.MontionControllers.Constants=Constants;THREE.MontionControllers.MotionController=MotionController;THREE.MontionControllers.fetchProfile=fetchProfile;THREE.MontionControllers.fetchProfilesList=fetchProfilesList})();(function(){var Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,Object3D=THREE.Object3D,SphereGeometry=THREE.SphereGeometry;var GLTFLoader=THREE.GLTFLoader;var MotionControllerConstants=THREE.MontionControllers.Constants,fetchProfile=THREE.MontionControllers.fetchProfile,MotionController=THREE.MontionControllers.MotionController;const DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles";const DEFAULT_PROFILE="generic-trigger";class XRControllerModel extends Object3D{constructor(){super();this.motionController=null;this.envMap=null}setEnvironmentMap(envMap){if(this.envMap==envMap){return this}this.envMap=envMap;this.traverse(child=>{if(child.isMesh){child.material.envMap=this.envMap;child.material.needsUpdate=true}});return this}updateMatrixWorld(force){super.updateMatrixWorld(force);if(!this.motionController)return;this.motionController.updateFromGamepad();Object.values(this.motionController.components).forEach(component=>{Object.values(component.visualResponses).forEach(visualResponse=>{const{valueNode,minNode,maxNode,value,valueNodeProperty}=visualResponse;if(!valueNode)return;if(valueNodeProperty===MotionControllerConstants.VisualResponseProperty.VISIBILITY){valueNode.visible=value}else if(valueNodeProperty===MotionControllerConstants.VisualResponseProperty.TRANSFORM){valueNode.quaternion.slerpQuaternions(minNode.quaternion,maxNode.quaternion,value);valueNode.position.lerpVectors(minNode.position,maxNode.position,value)}})})}}function findNodes(motionController,scene){Object.values(motionController.components).forEach(component=>{const{type,touchPointNodeName,visualResponses}=component;if(type===MotionControllerConstants.ComponentType.TOUCHPAD){component.touchPointNode=scene.getObjectByName(touchPointNodeName);if(component.touchPointNode){const sphereGeometry=new SphereGeometry(0.001);const material=new MeshBasicMaterial({color:255});const sphere=new Mesh(sphereGeometry,material);component.touchPointNode.add(sphere)}else{console.warn(`Could not find touch dot, ${component.touchPointNodeName}, in touchpad component ${component.id}`)}}Object.values(visualResponses).forEach(visualResponse=>{const{valueNodeName,minNodeName,maxNodeName,valueNodeProperty}=visualResponse;if(valueNodeProperty===MotionControllerConstants.VisualResponseProperty.TRANSFORM){visualResponse.minNode=scene.getObjectByName(minNodeName);visualResponse.maxNode=scene.getObjectByName(maxNodeName);if(!visualResponse.minNode){console.warn(`Could not find ${minNodeName} in the model`);return}if(!visualResponse.maxNode){console.warn(`Could not find ${maxNodeName} in the model`);return}}visualResponse.valueNode=scene.getObjectByName(valueNodeName);if(!visualResponse.valueNode){console.warn(`Could not find ${valueNodeName} in the model`)}})})}function addAssetSceneToControllerModel(controllerModel,scene){findNodes(controllerModel.motionController,scene);if(controllerModel.envMap){scene.traverse(child=>{if(child.isMesh){child.material.envMap=controllerModel.envMap;child.material.needsUpdate=true}})}controllerModel.add(scene)}class XRControllerModelFactory{constructor(gltfLoader=null){this.gltfLoader=gltfLoader;this.path=DEFAULT_PROFILES_PATH;this._assetCache={};if(!this.gltfLoader){this.gltfLoader=new GLTFLoader}this}createControllerModel(controller,profiles=null){const controllerModel=new XRControllerModel;let scene=null;controller.addEventListener("connected",event=>{const xrInputSource=event.data;const profileInfo={profiles:profiles&&profiles(xrInputSource)||xrInputSource.profiles,handedness:xrInputSource.handedness};if(xrInputSource.targetRayMode!=="tracked-pointer"||!xrInputSource.gamepad)return;fetchProfile(profileInfo,this.path,DEFAULT_PROFILE).then(({profile,assetPath})=>{controllerModel.motionController=new MotionController(xrInputSource,profile,assetPath);const cachedAsset=this._assetCache[controllerModel.motionController.assetUrl];if(cachedAsset){scene=cachedAsset.scene.clone();addAssetSceneToControllerModel(controllerModel,scene);setTimeout(function(){controllerModel.dispatchEvent({type:"loaded"})},0)}else{if(!this.gltfLoader){throw new Error("GLTFLoader not set.")}this.gltfLoader.setPath("");this.gltfLoader.load(controllerModel.motionController.assetUrl,asset=>{this._assetCache[controllerModel.motionController.assetUrl]=asset;scene=asset.scene.clone();addAssetSceneToControllerModel(controllerModel,scene);controllerModel.dispatchEvent({type:"loaded"})},null,()=>{throw new Error(`Asset ${controllerModel.motionController.assetUrl} missing or malformed.`)})}}).catch(err=>{console.warn(err)})});controller.addEventListener("disconnected",()=>{controllerModel.motionController=null;controllerModel.remove(scene);scene=null});return controllerModel}}THREE.XRControllerModelFactory=XRControllerModelFactory})();(function(){const DepthLimitedBlurShader={defines:{"KERNEL_RADIUS":4,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDiffuse":{value:null},"size":{value:new THREE.Vector2(512,512)},"sampleUvOffsets":{value:[new THREE.Vector2(0,0)]},"sampleWeights":{value:[1]},"tDepth":{value:null},"cameraNear":{value:10},"cameraFar":{value:1000},"depthCutoff":{value:10}},vertexShader:`

		#include <common>

		uniform vec2 size;

		varying vec2 vUv;
		varying vec2 vInvSize;

		void main() {
			vUv = uv;
			vInvSize = 1.0 / size;

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
		}`,fragmentShader:`

		#include <common>
		#include <packing>

		uniform sampler2D tDiffuse;
		uniform sampler2D tDepth;

		uniform float cameraNear;
		uniform float cameraFar;
		uniform float depthCutoff;

		uniform vec2 sampleUvOffsets[ KERNEL_RADIUS + 1 ];
		uniform float sampleWeights[ KERNEL_RADIUS + 1 ];

		varying vec2 vUv;
		varying vec2 vInvSize;

		float getDepth( const in vec2 screenPosition ) {
			#if DEPTH_PACKING == 1
			return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );
			#else
			return texture2D( tDepth, screenPosition ).x;
			#endif
		}

		float getViewZ( const in float depth ) {
			#if PERSPECTIVE_CAMERA == 1
			return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );
			#else
			return orthographicDepthToViewZ( depth, cameraNear, cameraFar );
			#endif
		}

		void main() {
			float depth = getDepth( vUv );
			if( depth >= ( 1.0 - EPSILON ) ) {
				discard;
			}

			float centerViewZ = -getViewZ( depth );
			bool rBreak = false, lBreak = false;

			float weightSum = sampleWeights[0];
			vec4 diffuseSum = texture2D( tDiffuse, vUv ) * weightSum;

			for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {

				float sampleWeight = sampleWeights[i];
				vec2 sampleUvOffset = sampleUvOffsets[i] * vInvSize;

				vec2 sampleUv = vUv + sampleUvOffset;
				float viewZ = -getViewZ( getDepth( sampleUv ) );

				if( abs( viewZ - centerViewZ ) > depthCutoff ) rBreak = true;

				if( ! rBreak ) {
					diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight;
					weightSum += sampleWeight;
				}

				sampleUv = vUv - sampleUvOffset;
				viewZ = -getViewZ( getDepth( sampleUv ) );

				if( abs( viewZ - centerViewZ ) > depthCutoff ) lBreak = true;

				if( ! lBreak ) {
					diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight;
					weightSum += sampleWeight;
				}

			}

			gl_FragColor = diffuseSum / weightSum;
		}`};const BlurShaderUtils={createSampleWeights:function(kernelRadius,stdDev){const weights=[];for(let i=0;i<=kernelRadius;i++){weights.push(gaussian(i,stdDev))}return weights},createSampleOffsets:function(kernelRadius,uvIncrement){const offsets=[];for(let i=0;i<=kernelRadius;i++){offsets.push(uvIncrement.clone().multiplyScalar(i))}return offsets},configure:function(material,kernelRadius,stdDev,uvIncrement){material.defines["KERNEL_RADIUS"]=kernelRadius;material.uniforms["sampleUvOffsets"].value=BlurShaderUtils.createSampleOffsets(kernelRadius,uvIncrement);material.uniforms["sampleWeights"].value=BlurShaderUtils.createSampleWeights(kernelRadius,stdDev);material.needsUpdate=true}};function gaussian(x,stdDev){return Math.exp(-(x*x)/(2*(stdDev*stdDev)))/(Math.sqrt(2*Math.PI)*stdDev)}THREE.BlurShaderUtils=BlurShaderUtils;THREE.DepthLimitedBlurShader=DepthLimitedBlurShader})();(function(){class EffectComposer{constructor(renderer,renderTarget){this.renderer=renderer;if(renderTarget===undefined){const size=renderer.getSize(new THREE.Vector2);this._pixelRatio=renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio);renderTarget.texture.name="EffectComposer.rt1"}else{this._pixelRatio=1;this._width=renderTarget.width;this._height=renderTarget.height}this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.renderTarget2.texture.name="EffectComposer.rt2";this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2;this.renderToScreen=true;this.passes=[];if(THREE.CopyShader===undefined){console.error("THREE.EffectComposer relies on THREE.CopyShader")}if(THREE.ShaderPass===undefined){console.error("THREE.EffectComposer relies on THREE.ShaderPass")}this.copyPass=new THREE.ShaderPass(THREE.CopyShader);this.clock=new THREE.Clock}swapBuffers(){const tmp=this.readBuffer;this.readBuffer=this.writeBuffer;this.writeBuffer=tmp}addPass(pass){this.passes.push(pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(pass,index){this.passes.splice(index,0,pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(pass){const index=this.passes.indexOf(pass);if(index!==-1){this.passes.splice(index,1)}}isLastEnabledPass(passIndex){for(let i=passIndex+1;i<this.passes.length;i++){if(this.passes[i].enabled){return false}}return true}render(deltaTime){if(deltaTime===undefined){deltaTime=this.clock.getDelta()}const currentRenderTarget=this.renderer.getRenderTarget();let maskActive=false;for(let i=0,il=this.passes.length;i<il;i++){const pass=this.passes[i];if(pass.enabled===false)continue;pass.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(i);pass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime,maskActive);if(pass.needsSwap){if(maskActive){const context=this.renderer.getContext();const stencil=this.renderer.state.buffers.stencil;stencil.setFunc(context.NOTEQUAL,1,4294967295);this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,deltaTime);stencil.setFunc(context.EQUAL,1,4294967295)}this.swapBuffers()}if(THREE.MaskPass!==undefined){if(pass instanceof THREE.MaskPass){maskActive=true}else if(pass instanceof THREE.ClearMaskPass){maskActive=false}}}this.renderer.setRenderTarget(currentRenderTarget)}reset(renderTarget){if(renderTarget===undefined){const size=this.renderer.getSize(new THREE.Vector2);this._pixelRatio=this.renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=this.renderTarget1.clone();renderTarget.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose();this.renderTarget2.dispose();this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2}setSize(width,height){this._width=width;this._height=height;const effectiveWidth=this._width*this._pixelRatio;const effectiveHeight=this._height*this._pixelRatio;this.renderTarget1.setSize(effectiveWidth,effectiveHeight);this.renderTarget2.setSize(effectiveWidth,effectiveHeight);for(let i=0;i<this.passes.length;i++){this.passes[i].setSize(effectiveWidth,effectiveHeight)}}setPixelRatio(pixelRatio){this._pixelRatio=pixelRatio;this.setSize(this._width,this._height)}}class Pass{constructor(){this.enabled=true;this.needsSwap=true;this.clear=false;this.renderToScreen=false}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}const _camera=new THREE.OrthographicCamera(-1,1,1,-1,0,1);const _geometry=new THREE.BufferGeometry;_geometry.setAttribute("position",new THREE.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3));_geometry.setAttribute("uv",new THREE.Float32BufferAttribute([0,2,0,0,2,0],2));class FullScreenQuad{constructor(material){this._mesh=new THREE.Mesh(_geometry,material)}dispose(){this._mesh.geometry.dispose()}render(renderer){renderer.render(this._mesh,_camera)}get material(){return this._mesh.material}set material(value){this._mesh.material=value}}THREE.EffectComposer=EffectComposer;THREE.FullScreenQuad=FullScreenQuad;THREE.Pass=Pass})();(function(){const BlendShader={uniforms:{"tDiffuse1":{value:null},"tDiffuse2":{value:null},"mixRatio":{value:0.5},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;
		uniform float mixRatio;

		uniform sampler2D tDiffuse1;
		uniform sampler2D tDiffuse2;

		varying vec2 vUv;

		void main() {

			vec4 texel1 = texture2D( tDiffuse1, vUv );
			vec4 texel2 = texture2D( tDiffuse2, vUv );
			gl_FragColor = mix( texel1, texel2, mixRatio );
			gl_FragColor.a *= opacity;

		}`};THREE.BlendShader=BlendShader})();(function(){const CopyShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		void main() {

			gl_FragColor = texture2D( tDiffuse, vUv );
			gl_FragColor.a *= opacity;


		}`};THREE.CopyShader=CopyShader})();(function(){const FXAAShader={uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`
	precision highp float;

	uniform sampler2D tDiffuse;

	uniform vec2 resolution;

	varying vec2 vUv;

	// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)

	//----------------------------------------------------------------------------------
	// File:        es3-kepler\FXAA\assets\shaders/FXAA_DefaultES.frag
	// SDK Version: v3.00
	// Email:       gameworks@nvidia.com
	// Site:        http://developer.nvidia.com/
	//
	// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
	//
	// Redistribution and use in source and binary forms, with or without
	// modification, are permitted provided that the following conditions
	// are met:
	//  * Redistributions of source code must retain the above copyright
	//    notice, this list of conditions and the following disclaimer.
	//  * Redistributions in binary form must reproduce the above copyright
	//    notice, this list of conditions and the following disclaimer in the
	//    documentation and/or other materials provided with the distribution.
	//  * Neither the name of NVIDIA CORPORATION nor the names of its
	//    contributors may be used to endorse or promote products derived
	//    from this software without specific prior written permission.
	//
	// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
	// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
	// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
	// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
	// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
	// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
	// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
	// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
	// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	//
	//----------------------------------------------------------------------------------

	#ifndef FXAA_DISCARD
			//
			// Only valid for PC OpenGL currently.
			// Probably will not work when FXAA_GREEN_AS_LUMA = 1.
			//
			// 1 = Use discard on pixels which don't need AA.
			//     For APIs which enable concurrent TEX+ROP from same surface.
			// 0 = Return unchanged color on pixels which don't need AA.
			//
			#define FXAA_DISCARD 0
	#endif

	/*--------------------------------------------------------------------------*/
	#define FxaaTexTop(t, p) texture2D(t, p, -100.0)
	#define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), -100.0)
	/*--------------------------------------------------------------------------*/

	#define NUM_SAMPLES 5

	// assumes colors have premultipliedAlpha, so that the calculated color contrast is scaled by alpha
	float contrast( vec4 a, vec4 b ) {
			vec4 diff = abs( a - b );
			return max( max( max( diff.r, diff.g ), diff.b ), diff.a );
	}

	/*============================================================================

									FXAA3 QUALITY - PC

	============================================================================*/

	/*--------------------------------------------------------------------------*/
	vec4 FxaaPixelShader(
			vec2 posM,
			sampler2D tex,
			vec2 fxaaQualityRcpFrame,
			float fxaaQualityEdgeThreshold,
			float fxaaQualityinvEdgeThreshold
	) {
			vec4 rgbaM = FxaaTexTop(tex, posM);
			vec4 rgbaS = FxaaTexOff(tex, posM, vec2( 0.0, 1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaE = FxaaTexOff(tex, posM, vec2( 1.0, 0.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaN = FxaaTexOff(tex, posM, vec2( 0.0,-1.0), fxaaQualityRcpFrame.xy);
			vec4 rgbaW = FxaaTexOff(tex, posM, vec2(-1.0, 0.0), fxaaQualityRcpFrame.xy);
			// . S .
			// W M E
			// . N .

			bool earlyExit = max( max( max(
					contrast( rgbaM, rgbaN ),
					contrast( rgbaM, rgbaS ) ),
					contrast( rgbaM, rgbaE ) ),
					contrast( rgbaM, rgbaW ) )
					< fxaaQualityEdgeThreshold;
			// . 0 .
			// 0 0 0
			// . 0 .

			#if (FXAA_DISCARD == 1)
					if(earlyExit) FxaaDiscard;
			#else
					if(earlyExit) return rgbaM;
			#endif

			float contrastN = contrast( rgbaM, rgbaN );
			float contrastS = contrast( rgbaM, rgbaS );
			float contrastE = contrast( rgbaM, rgbaE );
			float contrastW = contrast( rgbaM, rgbaW );

			float relativeVContrast = ( contrastN + contrastS ) - ( contrastE + contrastW );
			relativeVContrast *= fxaaQualityinvEdgeThreshold;

			bool horzSpan = relativeVContrast > 0.;
			// . 1 .
			// 0 0 0
			// . 1 .

			// 45 deg edge detection and corners of objects, aka V/H contrast is too similar
			if( abs( relativeVContrast ) < .3 ) {
					// locate the edge
					vec2 dirToEdge;
					dirToEdge.x = contrastE > contrastW ? 1. : -1.;
					dirToEdge.y = contrastS > contrastN ? 1. : -1.;
					// . 2 .      . 1 .
					// 1 0 2  ~=  0 0 1
					// . 1 .      . 0 .

					// tap 2 pixels and see which ones are "outside" the edge, to
					// determine if the edge is vertical or horizontal

					vec4 rgbaAlongH = FxaaTexOff(tex, posM, vec2( dirToEdge.x, -dirToEdge.y ), fxaaQualityRcpFrame.xy);
					float matchAlongH = contrast( rgbaM, rgbaAlongH );
					// . 1 .
					// 0 0 1
					// . 0 H

					vec4 rgbaAlongV = FxaaTexOff(tex, posM, vec2( -dirToEdge.x, dirToEdge.y ), fxaaQualityRcpFrame.xy);
					float matchAlongV = contrast( rgbaM, rgbaAlongV );
					// V 1 .
					// 0 0 1
					// . 0 .

					relativeVContrast = matchAlongV - matchAlongH;
					relativeVContrast *= fxaaQualityinvEdgeThreshold;

					if( abs( relativeVContrast ) < .3 ) { // 45 deg edge
							// 1 1 .
							// 0 0 1
							// . 0 1

							// do a simple blur
							return mix(
									rgbaM,
									(rgbaN + rgbaS + rgbaE + rgbaW) * .25,
									.4
							);
					}

					horzSpan = relativeVContrast > 0.;
			}

			if(!horzSpan) rgbaN = rgbaW;
			if(!horzSpan) rgbaS = rgbaE;
			// . 0 .      1
			// 1 0 1  ->  0
			// . 0 .      1

			bool pairN = contrast( rgbaM, rgbaN ) > contrast( rgbaM, rgbaS );
			if(!pairN) rgbaN = rgbaS;

			vec2 offNP;
			offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;
			offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;

			bool doneN = false;
			bool doneP = false;

			float nDist = 0.;
			float pDist = 0.;

			vec2 posN = posM;
			vec2 posP = posM;

			int iterationsUsed = 0;
			int iterationsUsedN = 0;
			int iterationsUsedP = 0;
			for( int i = 0; i < NUM_SAMPLES; i++ ) {
					iterationsUsed = i;

					float increment = float(i + 1);

					if(!doneN) {
							nDist += increment;
							posN = posM + offNP * nDist;
							vec4 rgbaEndN = FxaaTexTop(tex, posN.xy);
							doneN = contrast( rgbaEndN, rgbaM ) > contrast( rgbaEndN, rgbaN );
							iterationsUsedN = i;
					}

					if(!doneP) {
							pDist += increment;
							posP = posM - offNP * pDist;
							vec4 rgbaEndP = FxaaTexTop(tex, posP.xy);
							doneP = contrast( rgbaEndP, rgbaM ) > contrast( rgbaEndP, rgbaN );
							iterationsUsedP = i;
					}

					if(doneN || doneP) break;
			}


			if ( !doneP && !doneN ) return rgbaM; // failed to find end of edge

			float dist = min(
					doneN ? float( iterationsUsedN ) / float( NUM_SAMPLES - 1 ) : 1.,
					doneP ? float( iterationsUsedP ) / float( NUM_SAMPLES - 1 ) : 1.
			);

			// hacky way of reduces blurriness of mostly diagonal edges
			// but reduces AA quality
			dist = pow(dist, .5);

			dist = 1. - dist;

			return mix(
					rgbaM,
					rgbaN,
					dist * .5
			);
	}

	void main() {
			const float edgeDetectionQuality = .2;
			const float invEdgeDetectionQuality = 1. / edgeDetectionQuality;

			gl_FragColor = FxaaPixelShader(
					vUv,
					tDiffuse,
					resolution,
					edgeDetectionQuality, // [0,1] contrast needed, otherwise early discard
					invEdgeDetectionQuality
			);

	}
	`};THREE.FXAAShader=FXAAShader})();(function(){const GammaCorrectionShader={uniforms:{"tDiffuse":{value:null}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		void main() {

			vec4 tex = texture2D( tDiffuse, vUv );

			gl_FragColor = LinearTosRGB( tex );

		}`};THREE.GammaCorrectionShader=GammaCorrectionShader})();(function(require){class CustomRenderPass extends THREE.Pass{constructor(renderCallback){super();this.renderCallback=renderCallback;this.scene=null;this.camera=null;this.clear=true;this.clearDepth=false;this.needsSwap=false}render(renderer,writeBuffer,readBuffer,delta,maskActive){var oldAutoClear=renderer.autoClear;renderer.autoClear=false;this.renderCallback(renderer,this.scene,this.camera,this.renderToScreen?null:readBuffer,this.clear);renderer.autoClear=oldAutoClear}}THREE.CustomRenderPass=CustomRenderPass})();(function(){class MaskPass extends THREE.Pass{constructor(scene,camera){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.inverse=false}render(renderer,writeBuffer,readBuffer){const context=renderer.getContext();const state=renderer.state;state.buffers.color.setMask(false);state.buffers.depth.setMask(false);state.buffers.color.setLocked(true);state.buffers.depth.setLocked(true);let writeValue,clearValue;if(this.inverse){writeValue=0;clearValue=1}else{writeValue=1;clearValue=0}state.buffers.stencil.setTest(true);state.buffers.stencil.setOp(context.REPLACE,context.REPLACE,context.REPLACE);state.buffers.stencil.setFunc(context.ALWAYS,writeValue,4294967295);state.buffers.stencil.setClear(clearValue);state.buffers.stencil.setLocked(true);renderer.setRenderTarget(readBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);state.buffers.color.setLocked(false);state.buffers.depth.setLocked(false);state.buffers.stencil.setLocked(false);state.buffers.stencil.setFunc(context.EQUAL,1,4294967295);state.buffers.stencil.setOp(context.KEEP,context.KEEP,context.KEEP);state.buffers.stencil.setLocked(true)}}class ClearMaskPass extends THREE.Pass{constructor(){super();this.needsSwap=false}render(renderer){renderer.state.buffers.stencil.setLocked(false);renderer.state.buffers.stencil.setTest(false)}}THREE.ClearMaskPass=ClearMaskPass;THREE.MaskPass=MaskPass})();(function(){var vertexShader=["varying vec2 vUv;","void main() {","    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","    vUv = uv;","}"].join("\n");var fragmentShader=["varying vec2 vUv;","uniform sampler2D tDepth;","uniform sampler2D tColor;","uniform mat4 inverseProjectionMatrix;","uniform float near;","uniform float far;","uniform float depthLimit;","uniform mat4 clipToWorldMatrix;","uniform mat4 previousWorldToClipMatrix;","uniform vec3 cameraMove;    ","uniform float velocityFactor;","uniform float delta;","void main() {","    float zOverW = texture2D(tDepth, vUv).x;","    vec4 clipPosition = vec4(vUv.x * 2. - 1., vUv.y * 2. - 1., zOverW * 2. - 1., 1.);","    vec4 cameraSpacePosition = inverseProjectionMatrix * clipPosition;","    cameraSpacePosition /= cameraSpacePosition.w;","    float depth = -(cameraSpacePosition.z - near) / (far - near);","    if (depth > depthLimit)","    {","       gl_FragColor = texture2D(tColor, vUv);","       return;","    }","    vec4 worldPosition = clipToWorldMatrix * clipPosition;","    worldPosition /= worldPosition.w;","    vec4 previousClipPosition = worldPosition;","    previousClipPosition.xyz -= cameraMove * (","        1. - smoothstep(.3, 1., clamp(length(clipPosition.xy), 0., 1.))","    );","    previousClipPosition = previousWorldToClipMatrix * previousClipPosition;","    previousClipPosition /= previousClipPosition.w;","    vec2 velocity = velocityFactor * (clipPosition - previousClipPosition).xy / delta * 16.67;","    vec4 finalColor = vec4(0.);","    vec2 offset = vec2(0.);","    float weight = 0.;","    for(int i = 0; i < SAMPLE_COUNT; i++) {","            offset = velocity * (float(i) / (float(SAMPLE_COUNT) - 1.) - .5);","            vec4 c = texture2D(tColor, vUv + offset);","        finalColor += c;","    }","    finalColor /= float(SAMPLE_COUNT);","    gl_FragColor = vec4(finalColor.rgb, 1.);","}"].join("\n");var uniforms={"tDepth":{type:"t",value:null},"tColor":{type:"t",value:null},"velocityFactor":{type:"f",value:1},"delta":{type:"f",value:16.67},"inverseProjectionMatrix":{type:"m4",value:new THREE.Matrix4},"clipToWorldMatrix":{type:"m4",value:new THREE.Matrix4},"previousWorldToClipMatrix":{type:"m4",value:new THREE.Matrix4},"cameraMove":{type:"v3",value:new THREE.Vector3},"near":{type:"f",value:1},"far":{type:"f",value:1000},"depthLimit":{type:"f",value:0.99}};class MotionBlurPass extends THREE.Pass{constructor(sampleCount){super();this._sampleCount=sampleCount;this.uniforms=THREE.UniformsUtils.clone(uniforms);this.material=new THREE.ShaderMaterial({defines:{},uniforms:this.uniforms,vertexShader:vertexShader,fragmentShader:"#define SAMPLE_COUNT "+sampleCount+"\n"+fragmentShader});this.fsQuad=new THREE.FullScreenQuad(this.material)}getSampleCount(){return this._sampleCount}render(renderer,writeBuffer,readBuffer,deltaTime,maskActive){this.uniforms["tColor"].value=readBuffer.texture;this.uniforms["tDepth"].value=readBuffer.depthTexture;this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}dispose(){this.fsQuad.dispose();this.material.dispose()}};THREE.MotionBlurPass=MotionBlurPass})();(function(){class RenderPass extends THREE.Pass{constructor(scene,camera,overrideMaterial,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.overrideMaterial=overrideMaterial;this.clearColor=clearColor;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this.clear=true;this.clearDepth=false;this.needsSwap=false;this._oldClearColor=new THREE.Color}render(renderer,writeBuffer,readBuffer){const oldAutoClear=renderer.autoClear;renderer.autoClear=false;let oldClearAlpha,oldOverrideMaterial;if(this.overrideMaterial!==undefined){oldOverrideMaterial=this.scene.overrideMaterial;this.scene.overrideMaterial=this.overrideMaterial}if(this.clearColor){renderer.getClearColor(this._oldClearColor);oldClearAlpha=renderer.getClearAlpha();renderer.setClearColor(this.clearColor,this.clearAlpha)}if(this.clearDepth){renderer.clearDepth()}renderer.setRenderTarget(this.renderToScreen?null:readBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);renderer.render(this.scene,this.camera);if(this.clearColor){renderer.setClearColor(this._oldClearColor,oldClearAlpha)}if(this.overrideMaterial!==undefined){this.scene.overrideMaterial=oldOverrideMaterial}renderer.autoClear=oldAutoClear}}THREE.RenderPass=RenderPass})();(function(){class SAOPass extends THREE.Pass{constructor(scene,camera,useDepthTexture=false,useNormals=false,resolution=new THREE.Vector2(256,256)){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.supportsDepthTextureExtension=useDepthTexture;this.supportsNormalTexture=useNormals;this.originalClearColor=new THREE.Color;this._oldClearColor=new THREE.Color;this.oldClearAlpha=1;this.params={output:0,saoBias:0.5,saoIntensity:0.18,saoScale:1,saoKernelRadius:100,saoMinResolution:0,saoBlur:true,saoBlurRadius:8,saoBlurStdDev:4,saoBlurDepthCutoff:0.01};this.resolution=new THREE.Vector2(resolution.x,resolution.y);this.saoRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y);this.blurIntermediateRenderTarget=this.saoRenderTarget.clone();this.beautyRenderTarget=this.saoRenderTarget.clone();this.normalRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y,{minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter});this.depthRenderTarget=this.normalRenderTarget.clone();let depthTexture;if(this.supportsDepthTextureExtension){depthTexture=new THREE.DepthTexture;depthTexture.type=THREE.UnsignedShortType;this.beautyRenderTarget.depthTexture=depthTexture;this.beautyRenderTarget.depthBuffer=true}this.depthMaterial=new THREE.MeshDepthMaterial;this.depthMaterial.depthPacking=THREE.RGBADepthPacking;this.depthMaterial.blending=THREE.NoBlending;this.normalMaterial=new THREE.MeshNormalMaterial;this.normalMaterial.blending=THREE.NoBlending;if(THREE.SAOShader===undefined){console.error("THREE.SAOPass relies on THREE.SAOShader")}this.saoMaterial=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SAOShader.defines),fragmentShader:THREE.SAOShader.fragmentShader,vertexShader:THREE.SAOShader.vertexShader,uniforms:THREE.UniformsUtils.clone(THREE.SAOShader.uniforms)});this.saoMaterial.extensions.derivatives=true;this.saoMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.saoMaterial.defines["NORMAL_TEXTURE"]=this.supportsNormalTexture?1:0;this.saoMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.saoMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.saoMaterial.uniforms["tNormal"].value=this.normalRenderTarget.texture;this.saoMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.blending=THREE.NoBlending;if(THREE.DepthLimitedBlurShader===undefined){console.error("THREE.SAOPass relies on THREE.DepthLimitedBlurShader")}this.vBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.vBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.vBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.vBlurMaterial.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.vBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.vBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.vBlurMaterial.blending=THREE.NoBlending;this.hBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.hBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.hBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.hBlurMaterial.uniforms["tDiffuse"].value=this.blurIntermediateRenderTarget.texture;this.hBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.hBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.hBlurMaterial.blending=THREE.NoBlending;if(THREE.CopyShader===undefined){console.error("THREE.SAOPass relies on THREE.CopyShader")}this.materialCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.CopyShader.uniforms),vertexShader:THREE.CopyShader.vertexShader,fragmentShader:THREE.CopyShader.fragmentShader,blending:THREE.NoBlending});this.materialCopy.transparent=true;this.materialCopy.depthTest=false;this.materialCopy.depthWrite=false;this.materialCopy.blending=THREE.CustomBlending;this.materialCopy.blendSrc=THREE.DstColorFactor;this.materialCopy.blendDst=THREE.ZeroFactor;this.materialCopy.blendEquation=THREE.AddEquation;this.materialCopy.blendSrcAlpha=THREE.DstAlphaFactor;this.materialCopy.blendDstAlpha=THREE.ZeroFactor;this.materialCopy.blendEquationAlpha=THREE.AddEquation;if(THREE.UnpackDepthRGBAShader===undefined){console.error("THREE.SAOPass relies on THREE.UnpackDepthRGBAShader")}this.depthCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.UnpackDepthRGBAShader.uniforms),vertexShader:THREE.UnpackDepthRGBAShader.vertexShader,fragmentShader:THREE.UnpackDepthRGBAShader.fragmentShader,blending:THREE.NoBlending});this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){if(this.renderToScreen){this.materialCopy.blending=THREE.NoBlending;this.materialCopy.uniforms["tDiffuse"].value=readBuffer.texture;this.materialCopy.needsUpdate=true;this.renderPass(renderer,this.materialCopy,null)}if(this.params.output===1){return}renderer.getClearColor(this._oldClearColor);this.oldClearAlpha=renderer.getClearAlpha();const oldAutoClear=renderer.autoClear;renderer.autoClear=false;renderer.setRenderTarget(this.depthRenderTarget);renderer.clear();this.saoMaterial.uniforms["bias"].value=this.params.saoBias;this.saoMaterial.uniforms["intensity"].value=this.params.saoIntensity;this.saoMaterial.uniforms["scale"].value=this.params.saoScale;this.saoMaterial.uniforms["kernelRadius"].value=this.params.saoKernelRadius;this.saoMaterial.uniforms["minResolution"].value=this.params.saoMinResolution;this.saoMaterial.uniforms["cameraNear"].value=this.camera.near;this.saoMaterial.uniforms["cameraFar"].value=this.camera.far;const depthCutoff=this.params.saoBlurDepthCutoff*(this.camera.far-this.camera.near);this.vBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.hBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.vBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.vBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.hBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.hBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.params.saoBlurRadius=Math.floor(this.params.saoBlurRadius);if(this.prevStdDev!==this.params.saoBlurStdDev||this.prevNumSamples!==this.params.saoBlurRadius){THREE.BlurShaderUtils.configure(this.vBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(0,1));THREE.BlurShaderUtils.configure(this.hBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(1,0));this.prevStdDev=this.params.saoBlurStdDev;this.prevNumSamples=this.params.saoBlurRadius}renderer.setClearColor(0);renderer.setRenderTarget(this.beautyRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);if(!this.supportsDepthTextureExtension){this.renderOverride(renderer,this.depthMaterial,this.depthRenderTarget,0,1)}if(this.supportsNormalTexture){this.renderOverride(renderer,this.normalMaterial,this.normalRenderTarget,7829503,1)}this.renderPass(renderer,this.saoMaterial,this.saoRenderTarget,16777215,1);if(this.params.saoBlur){this.renderPass(renderer,this.vBlurMaterial,this.blurIntermediateRenderTarget,16777215,1);this.renderPass(renderer,this.hBlurMaterial,this.saoRenderTarget,16777215,1)}let outputMaterial=this.materialCopy;if(this.params.output===3){if(this.supportsDepthTextureExtension){this.materialCopy.uniforms["tDiffuse"].value=this.beautyRenderTarget.depthTexture;this.materialCopy.needsUpdate=true}else{this.depthCopy.uniforms["tDiffuse"].value=this.depthRenderTarget.texture;this.depthCopy.needsUpdate=true;outputMaterial=this.depthCopy}}else if(this.params.output===4){this.materialCopy.uniforms["tDiffuse"].value=this.normalRenderTarget.texture;this.materialCopy.needsUpdate=true}else{this.materialCopy.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.materialCopy.needsUpdate=true}if(this.params.output===0){outputMaterial.blending=THREE.CustomBlending}else{outputMaterial.blending=THREE.NoBlending}this.renderPass(renderer,outputMaterial,this.renderToScreen?null:readBuffer);renderer.setClearColor(this._oldClearColor,this.oldClearAlpha);renderer.autoClear=oldAutoClear}renderPass(renderer,passMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.fsQuad.material=passMaterial;this.fsQuad.render(renderer);renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}renderOverride(renderer,overrideMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;clearColor=overrideMaterial.clearColor||clearColor;clearAlpha=overrideMaterial.clearAlpha||clearAlpha;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.scene.overrideMaterial=overrideMaterial;renderer.render(this.scene,this.camera);this.scene.overrideMaterial=null;renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}setSize(width,height){this.beautyRenderTarget.setSize(width,height);this.saoRenderTarget.setSize(width,height);this.blurIntermediateRenderTarget.setSize(width,height);this.normalRenderTarget.setSize(width,height);this.depthRenderTarget.setSize(width,height);this.saoMaterial.uniforms["size"].value.set(width,height);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.needsUpdate=true;this.vBlurMaterial.uniforms["size"].value.set(width,height);this.vBlurMaterial.needsUpdate=true;this.hBlurMaterial.uniforms["size"].value.set(width,height);this.hBlurMaterial.needsUpdate=true}}SAOPass.OUTPUT={"Beauty":1,"Default":0,"SAO":2,"Depth":3,"Normal":4};THREE.SAOPass=SAOPass})();(function(){const SAOShader={defines:{"NUM_SAMPLES":7,"NUM_RINGS":4,"NORMAL_TEXTURE":0,"DIFFUSE_TEXTURE":0,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDepth":{value:null},"tDiffuse":{value:null},"tNormal":{value:null},"size":{value:new THREE.Vector2(512,512)},"cameraNear":{value:1},"cameraFar":{value:100},"cameraProjectionMatrix":{value:new THREE.Matrix4},"cameraInverseProjectionMatrix":{value:new THREE.Matrix4},"scale":{value:1},"intensity":{value:0.1},"bias":{value:0.5},"minResolution":{value:0},"kernelRadius":{value:100},"randomSeed":{value:0}},vertexShader:`

		varying vec2 vUv;

		void main() {
			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
		}`,fragmentShader:`

		#include <common>

		varying vec2 vUv;

		#if DIFFUSE_TEXTURE == 1
		uniform sampler2D tDiffuse;
		#endif

		uniform sampler2D tDepth;

		#if NORMAL_TEXTURE == 1
		uniform sampler2D tNormal;
		#endif

		uniform float cameraNear;
		uniform float cameraFar;
		uniform mat4 cameraProjectionMatrix;
		uniform mat4 cameraInverseProjectionMatrix;

		uniform float scale;
		uniform float intensity;
		uniform float bias;
		uniform float kernelRadius;
		uniform float minResolution;
		uniform vec2 size;
		uniform float randomSeed;

		// RGBA depth

		#include <packing>

		vec4 getDefaultColor( const in vec2 screenPosition ) {
			#if DIFFUSE_TEXTURE == 1
			return texture2D( tDiffuse, vUv );
			#else
			return vec4( 1.0 );
			#endif
		}

		float getDepth( const in vec2 screenPosition ) {
			#if DEPTH_PACKING == 1
			return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );
			#else
			return texture2D( tDepth, screenPosition ).x;
			#endif
		}

		float getViewZ( const in float depth ) {
			#if PERSPECTIVE_CAMERA == 1
			return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );
			#else
			return orthographicDepthToViewZ( depth, cameraNear, cameraFar );
			#endif
		}

		vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {
			float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];
			vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );
			clipPosition *= clipW; // unprojection.

			return ( cameraInverseProjectionMatrix * clipPosition ).xyz;
		}

		vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) {
			#if NORMAL_TEXTURE == 1
			return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );
			#else
			return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );
			#endif
		}

		float scaleDividedByCameraFar;
		float minResolutionMultipliedByCameraFar;

		float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {
			vec3 viewDelta = sampleViewPosition - centerViewPosition;
			float viewDistance = length( viewDelta );
			float scaledScreenDistance = scaleDividedByCameraFar * viewDistance;

			return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) );
		}

		// moving costly divides into consts
		const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );
		const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );

		float getAmbientOcclusion( const in vec3 centerViewPosition ) {
			// precompute some variables require in getOcclusion.
			scaleDividedByCameraFar = scale / cameraFar;
			minResolutionMultipliedByCameraFar = minResolution * cameraFar;
			vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv );

			// jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/
			float angle = rand( vUv + randomSeed ) * PI2;
			vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size;
			vec2 radiusStep = radius;

			float occlusionSum = 0.0;
			float weightSum = 0.0;

			for( int i = 0; i < NUM_SAMPLES; i ++ ) {
				vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius;
				radius += radiusStep;
				angle += ANGLE_STEP;

				float sampleDepth = getDepth( sampleUv );
				if( sampleDepth >= ( 1.0 - EPSILON ) ) {
					continue;
				}

				float sampleViewZ = getViewZ( sampleDepth );
				vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ );
				occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );
				weightSum += 1.0;
			}

			if( weightSum == 0.0 ) discard;

			return occlusionSum * ( intensity / weightSum );
		}

		void main() {
			float centerDepth = getDepth( vUv );
			if( centerDepth >= ( 1.0 - EPSILON ) ) {
				discard;
			}

			float centerViewZ = getViewZ( centerDepth );
			vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ );

			float ambientOcclusion = getAmbientOcclusion( viewPosition );

			gl_FragColor = getDefaultColor( vUv );
			gl_FragColor.xyz *=  1.0 - ambientOcclusion;
		}`};THREE.SAOShader=SAOShader})();(function(){class SavePass extends THREE.Pass{constructor(renderTarget){super();if(THREE.CopyShader===undefined)console.error("THREE.SavePass relies on THREE.CopyShader");const shader=THREE.CopyShader;this.textureID="tDiffuse";this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader});this.renderTarget=renderTarget;if(this.renderTarget===undefined){this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight);this.renderTarget.texture.name="SavePass.rt"}this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}renderer.setRenderTarget(this.renderTarget);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}THREE.SavePass=SavePass})();(function(){class ShaderPass extends THREE.Pass{constructor(shader,textureID){super();this.textureID=textureID!==undefined?textureID:"tDiffuse";if(shader instanceof THREE.ShaderMaterial){this.uniforms=shader.uniforms;this.material=shader}else if(shader){this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({defines:Object.assign({},shader.defines),uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader})}this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}}THREE.ShaderPass=ShaderPass})();(function(){class SMAAPass extends THREE.Pass{constructor(width,height){super();this.edgesRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.edgesRT.texture.name="SMAAPass.edges";this.weightsRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.weightsRT.texture.name="SMAAPass.weights";const scope=this;const areaTextureImage=new Image;areaTextureImage.src=this.getAreaTexture();areaTextureImage.onload=function(){scope.areaTexture.needsUpdate=true};this.areaTexture=new THREE.Texture;this.areaTexture.name="SMAAPass.area";this.areaTexture.image=areaTextureImage;this.areaTexture.minFilter=THREE.LinearFilter;this.areaTexture.generateMipmaps=false;this.areaTexture.flipY=false;const searchTextureImage=new Image;searchTextureImage.src=this.getSearchTexture();searchTextureImage.onload=function(){scope.searchTexture.needsUpdate=true};this.searchTexture=new THREE.Texture;this.searchTexture.name="SMAAPass.search";this.searchTexture.image=searchTextureImage;this.searchTexture.magFilter=THREE.NearestFilter;this.searchTexture.minFilter=THREE.NearestFilter;this.searchTexture.generateMipmaps=false;this.searchTexture.flipY=false;if(THREE.SMAAEdgesShader===undefined){console.error("THREE.SMAAPass relies on SMAAShader")}this.uniformsEdges=THREE.UniformsUtils.clone(THREE.SMAAEdgesShader.uniforms);this.uniformsEdges["resolution"].value.set(1/width,1/height);this.materialEdges=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAEdgesShader.defines),uniforms:this.uniformsEdges,vertexShader:THREE.SMAAEdgesShader.vertexShader,fragmentShader:THREE.SMAAEdgesShader.fragmentShader});this.uniformsWeights=THREE.UniformsUtils.clone(THREE.SMAAWeightsShader.uniforms);this.uniformsWeights["resolution"].value.set(1/width,1/height);this.uniformsWeights["tDiffuse"].value=this.edgesRT.texture;this.uniformsWeights["tArea"].value=this.areaTexture;this.uniformsWeights["tSearch"].value=this.searchTexture;this.materialWeights=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAWeightsShader.defines),uniforms:this.uniformsWeights,vertexShader:THREE.SMAAWeightsShader.vertexShader,fragmentShader:THREE.SMAAWeightsShader.fragmentShader});this.uniformsBlend=THREE.UniformsUtils.clone(THREE.SMAABlendShader.uniforms);this.uniformsBlend["resolution"].value.set(1/width,1/height);this.uniformsBlend["tDiffuse"].value=this.weightsRT.texture;this.materialBlend=new THREE.ShaderMaterial({uniforms:this.uniformsBlend,vertexShader:THREE.SMAABlendShader.vertexShader,fragmentShader:THREE.SMAABlendShader.fragmentShader});this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){this.uniformsEdges["tDiffuse"].value=readBuffer.texture;this.fsQuad.material=this.materialEdges;renderer.setRenderTarget(this.edgesRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.fsQuad.material=this.materialWeights;renderer.setRenderTarget(this.weightsRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.uniformsBlend["tColor"].value=readBuffer.texture;this.fsQuad.material=this.materialBlend;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}setSize(width,height){this.edgesRT.setSize(width,height);this.weightsRT.setSize(width,height);this.materialEdges.uniforms["resolution"].value.set(1/width,1/height);this.materialWeights.uniforms["resolution"].value.set(1/width,1/height);this.materialBlend.uniforms["resolution"].value.set(1/width,1/height)}getAreaTexture(){return"data:image/png;base64, "}getSearchTexture(){return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII="}}THREE.SMAAPass=SMAAPass})();(function(){const SMAAEdgesShader={defines:{"SMAA_THRESHOLD":"0.1"},uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		void SMAAEdgeDetectionVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0,  1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4(  1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0,  2.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAAEdgeDetectionVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];

		vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) {
			vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD );

			// Calculate color deltas:
			vec4 delta;
			vec3 C = texture2D( colorTex, texcoord ).rgb;

			vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb;
			vec3 t = abs( C - Cleft );
			delta.x = max( max( t.r, t.g ), t.b );

			vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb;
			t = abs( C - Ctop );
			delta.y = max( max( t.r, t.g ), t.b );

			// We do the usual threshold:
			vec2 edges = step( threshold, delta.xy );

			// Then discard if there is no edge:
			if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 )
				discard;

			// Calculate right and bottom deltas:
			vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb;
			t = abs( C - Cright );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Cbottom  = texture2D( colorTex, offset[1].zw ).rgb;
			t = abs( C - Cbottom );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the maximum delta in the direct neighborhood:
			float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w );

			// Calculate left-left and top-top deltas:
			vec3 Cleftleft  = texture2D( colorTex, offset[2].xy ).rgb;
			t = abs( C - Cleftleft );
			delta.z = max( max( t.r, t.g ), t.b );

			vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb;
			t = abs( C - Ctoptop );
			delta.w = max( max( t.r, t.g ), t.b );

			// Calculate the final maximum delta:
			maxDelta = max( max( maxDelta, delta.z ), delta.w );

			// Local contrast adaptation in action:
			edges.xy *= step( 0.5 * maxDelta, delta.xy );

			return vec4( edges, 0.0, 0.0 );
		}

		void main() {

			gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse );

		}`};const SMAAWeightsShader={defines:{"SMAA_MAX_SEARCH_STEPS":"8","SMAA_AREATEX_MAX_DISTANCE":"16","SMAA_AREATEX_PIXEL_SIZE":"( 1.0 / vec2( 160.0, 560.0 ) )","SMAA_AREATEX_SUBTEX_SIZE":"( 1.0 / 7.0 )"},uniforms:{"tDiffuse":{value:null},"tArea":{value:null},"tSearch":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 3 ];
		varying vec2 vPixcoord;

		void SMAABlendingWeightCalculationVS( vec2 texcoord ) {
			vPixcoord = texcoord / resolution;

			// We will use these offsets for the searches later on (see @PSEUDO_GATHER4):
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components

			// And these for the searches, they indicate the ends of the loops:
			vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS );

		}

		void main() {

			vUv = uv;

			SMAABlendingWeightCalculationVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		#define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 )

		uniform sampler2D tDiffuse;
		uniform sampler2D tArea;
		uniform sampler2D tSearch;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[3];
		varying vec2 vPixcoord;

		#if __VERSION__ == 100
		vec2 round( vec2 x ) {
			return sign( x ) * floor( abs( x ) + 0.5 );
		}
		#endif

		float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) {
			// Not required if searchTex accesses are set to point:
			// float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0);
			// e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE +
			//     e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE;
			e.r = bias + e.r * scale;
			return 255.0 * texture2D( searchTex, e, 0.0 ).r;
		}

		float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			/**
				* @PSEUDO_GATHER4
				* This texcoord has been offset by (-0.25, -0.125) in the vertex shader to
				* sample between edge, thus fetching four edges in a row.
				* Sampling with different offsets in each direction allows to disambiguate
				* which edges are active from the four fetched ones.
				*/
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			// We correct the previous (-0.25, -0.125) offset we applied:
			texcoord.x += 0.25 * resolution.x;

			// The searches are bias by 1, so adjust the coords accordingly:
			texcoord.x += resolution.x;

			// Disambiguate the length added by the last step:
			texcoord.x += 2.0 * resolution.x; // Undo last step
			texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5);

			return texcoord.x;
		}

		float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 0.0, 1.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 2.0, 0.0 ) * resolution;
				if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break;
			}

			texcoord.x -= 0.25 * resolution.x;
			texcoord.x -= resolution.x;
			texcoord.x -= 2.0 * resolution.x;
			texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 );

			return texcoord.x;
		}

		float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y; // WebGL port note: Changed sign
			texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) {
			vec2 e = vec2( 1.0, 0.0 );

			for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for
				e = texture2D( edgesTex, texcoord, 0.0 ).rg;
				texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign
				if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break;
			}

			texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign
			texcoord.y += resolution.y; // WebGL port note: Changed sign
			texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign
			texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign

			return texcoord.y;
		}

		vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) {
			// Rounding prevents precision errors of bilinear filtering:
			vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist;

			// We do a scale and bias for mapping to texel space:
			texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE );

			// Move to proper place, according to the subpixel offset:
			texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset;

			return texture2D( areaTex, texcoord, 0.0 ).rg;
		}

		vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) {
			vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 );

			vec2 e = texture2D( edgesTex, texcoord ).rg;

			if ( e.g > 0.0 ) { // Edge at north
				vec2 d;

				// Find the distance to the left:
				vec2 coords;
				coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x );
				coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET)
				d.x = coords.x;

				// Now fetch the left crossing edges, two at a time using bilinear
				// filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to
				// discern what value each edge has:
				float e1 = texture2D( edgesTex, coords, 0.0 ).r;

				// Find the distance to the right:
				coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y );
				d.y = coords.x;

				// We want the distances to be in pixel units (doing this here allow to
				// better interleave arithmetic and memory accesses):
				d = d / resolution.x - pixcoord.x;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the right crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r;

				// Ok, we know how this pattern looks like, now it is time for getting
				// the actual area:
				weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) );
			}

			if ( e.r > 0.0 ) { // Edge at west
				vec2 d;

				// Find the distance to the top:
				vec2 coords;

				coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z );
				coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x;
				d.x = coords.y;

				// Fetch the top crossing edges:
				float e1 = texture2D( edgesTex, coords, 0.0 ).g;

				// Find the distance to the bottom:
				coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w );
				d.y = coords.y;

				// We want the distances to be in pixel units:
				d = d / resolution.y - pixcoord.y;

				// SMAAArea below needs a sqrt, as the areas texture is compressed
				// quadratically:
				vec2 sqrt_d = sqrt( abs( d ) );

				// Fetch the bottom crossing edges:
				coords.y -= 1.0 * resolution.y; // WebGL port note: Added
				float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g;

				// Get the area for this direction:
				weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) );
			}

			return weights;
		}

		void main() {

			gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) );

		}`};const SMAABlendShader={uniforms:{"tDiffuse":{value:null},"tColor":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:`

		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		void SMAANeighborhoodBlendingVS( vec2 texcoord ) {
			vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component
			vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component
		}

		void main() {

			vUv = uv;

			SMAANeighborhoodBlendingVS( vUv );

			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform sampler2D tDiffuse;
		uniform sampler2D tColor;
		uniform vec2 resolution;

		varying vec2 vUv;
		varying vec4 vOffset[ 2 ];

		vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) {
			// Fetch the blending weights for current pixel:
			vec4 a;
			a.xz = texture2D( blendTex, texcoord ).xz;
			a.y = texture2D( blendTex, offset[ 1 ].zw ).g;
			a.w = texture2D( blendTex, offset[ 1 ].xy ).a;

			// Is there any blending weight with a value greater than 0.0?
			if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) {
				return texture2D( colorTex, texcoord, 0.0 );
			} else {
				// Up to 4 lines can be crossing a pixel (one through each edge). We
				// favor blending by choosing the line with the maximum weight for each
				// direction:
				vec2 offset;
				offset.x = a.a > a.b ? a.a : -a.b; // left vs. right
				offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs

				// Then we go in the direction that has the maximum weight:
				if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical
					offset.y = 0.0;
				} else {
					offset.x = 0.0;
				}

				// Fetch the opposite color and lerp by hand:
				vec4 C = texture2D( colorTex, texcoord, 0.0 );
				texcoord += sign( offset ) * resolution;
				vec4 Cop = texture2D( colorTex, texcoord, 0.0 );
				float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y );

				// WebGL port note: Added gamma correction
				C.xyz = pow(C.xyz, vec3(2.2));
				Cop.xyz = pow(Cop.xyz, vec3(2.2));
				vec4 mixed = mix(C, Cop, s);
				mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2));

				return mixed;
			}
		}

		void main() {

			gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse );

		}`};THREE.SMAABlendShader=SMAABlendShader;THREE.SMAAEdgesShader=SMAAEdgesShader;THREE.SMAAWeightsShader=SMAAWeightsShader})();(function(){class SSAARenderPass extends THREE.Pass{constructor(scene,camera,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.sampleLevel=4;this.unbiased=true;this.clearColor=clearColor!==undefined?clearColor:0;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this._oldClearColor=new THREE.Color;if(THREE.CopyShader===undefined)console.error("THREE.SSAARenderPass relies on THREE.CopyShader");const copyShader=THREE.CopyShader;this.copyUniforms=THREE.UniformsUtils.clone(copyShader.uniforms);this.copyMaterial=new THREE.ShaderMaterial({uniforms:this.copyUniforms,vertexShader:copyShader.vertexShader,fragmentShader:copyShader.fragmentShader,transparent:true,blending:THREE.AdditiveBlending,depthTest:false,depthWrite:false});this.fsQuad=new THREE.FullScreenQuad(this.copyMaterial)}dispose(){if(this.sampleRenderTarget){this.sampleRenderTarget.dispose();this.sampleRenderTarget=null}}setSize(width,height){if(this.sampleRenderTarget)this.sampleRenderTarget.setSize(width,height)}render(renderer,writeBuffer,readBuffer){if(!this.sampleRenderTarget){this.sampleRenderTarget=new THREE.WebGLRenderTarget(readBuffer.width,readBuffer.height);this.sampleRenderTarget.texture.name="SSAARenderPass.sample"}const jitterOffsets=_JitterVectors[Math.max(0,Math.min(this.sampleLevel,5))];const autoClear=renderer.autoClear;renderer.autoClear=false;renderer.getClearColor(this._oldClearColor);const oldClearAlpha=renderer.getClearAlpha();const baseSampleWeight=1/jitterOffsets.length;const roundingRange=1/32;this.copyUniforms["tDiffuse"].value=this.sampleRenderTarget.texture;const viewOffset={fullWidth:readBuffer.width,fullHeight:readBuffer.height,offsetX:0,offsetY:0,width:readBuffer.width,height:readBuffer.height};const originalViewOffset=Object.assign({},this.camera.view);if(originalViewOffset.enabled)Object.assign(viewOffset,originalViewOffset);for(let i=0;i<jitterOffsets.length;i++){const jitterOffset=jitterOffsets[i];if(this.camera.setViewOffset){this.camera.setViewOffset(viewOffset.fullWidth,viewOffset.fullHeight,viewOffset.offsetX+jitterOffset[0]*0.0625,viewOffset.offsetY+jitterOffset[1]*0.0625,viewOffset.width,viewOffset.height)}let sampleWeight=baseSampleWeight;if(this.unbiased){const uniformCenteredDistribution=-0.5+(i+0.5)/jitterOffsets.length;sampleWeight+=roundingRange*uniformCenteredDistribution}this.copyUniforms["opacity"].value=sampleWeight;renderer.setClearColor(this.clearColor,this.clearAlpha);renderer.setRenderTarget(this.sampleRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(this.renderToScreen?null:writeBuffer);if(i===0){renderer.setClearColor(0,0);renderer.clear()}this.fsQuad.render(renderer)}if(this.camera.setViewOffset&&originalViewOffset.enabled){this.camera.setViewOffset(originalViewOffset.fullWidth,originalViewOffset.fullHeight,originalViewOffset.offsetX,originalViewOffset.offsetY,originalViewOffset.width,originalViewOffset.height)}else if(this.camera.clearViewOffset){this.camera.clearViewOffset()}renderer.autoClear=autoClear;renderer.setClearColor(this._oldClearColor,oldClearAlpha)}}const _JitterVectors=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];THREE.SSAARenderPass=SSAARenderPass})();(function(){const UnpackDepthRGBAShader={uniforms:{"tDiffuse":{value:null},"opacity":{value:1}},vertexShader:`

		varying vec2 vUv;

		void main() {

			vUv = uv;
			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );

		}`,fragmentShader:`

		uniform float opacity;

		uniform sampler2D tDiffuse;

		varying vec2 vUv;

		#include <packing>

		void main() {

			float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) );
			gl_FragColor = vec4( vec3( depth ), opacity );

		}`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})();

})(); } catch (e) { console.log(e.message, e.stack); throw e; };